JP2019149219A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2019149219A JP2019149219A JP2018034816A JP2018034816A JP2019149219A JP 2019149219 A JP2019149219 A JP 2019149219A JP 2018034816 A JP2018034816 A JP 2018034816A JP 2018034816 A JP2018034816 A JP 2018034816A JP 2019149219 A JP2019149219 A JP 2019149219A
- Authority
- JP
- Japan
- Prior art keywords
- read
- memory
- period
- voltage
- read 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 313
- 239000004065 semiconductor Substances 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 5
- 230000007423 decrease Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 description 31
- 230000007774 longterm Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000009792 diffusion process Methods 0.000 description 4
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100186130 Arabidopsis thaliana NAC052 gene Proteins 0.000 description 1
- 101100529509 Arabidopsis thaliana RECQL4A gene Proteins 0.000 description 1
- 101000578349 Homo sapiens Nucleolar MIF4G domain-containing protein 1 Proteins 0.000 description 1
- 102100027969 Nucleolar MIF4G domain-containing protein 1 Human genes 0.000 description 1
- 101150056203 SGS3 gene Proteins 0.000 description 1
- 101100203168 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SGS1 gene Proteins 0.000 description 1
- LPQOADBMXVRBNX-UHFFFAOYSA-N ac1ldcw0 Chemical compound Cl.C1CN(C)CCN1C1=C(F)C=C2C(=O)C(C(O)=O)=CN3CCSC1=C32 LPQOADBMXVRBNX-UHFFFAOYSA-N 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 239000007787 solid Substances 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
- 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
- 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/061—Improving I/O performance
-
- 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/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
- 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/32—Timing 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
-
- 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
- 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
- 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/563—Multilevel memory reading aspects
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 Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
【課題】 読み出し性能を向上する。【解決手段】 実施形態のメモリシステムは、データを格納するメモリセルを備えた不揮発性半導体メモリ3と、不揮発性半導体メモリ3の動作を制御し、不揮発性半導体メモリ3からデータを読み出すコントローラ5とを含む。コントローラ5は、書き込み動作が終了した直後から始まる第1期間と、前記第1期間に続く第2期間とに分けて、不揮発性半導体メモリ3からデータを読み出すための読み出し電圧を決定する。コントローラ5は、第1期間の読み出し動作において、書き込み動作が終了してからの経過時間に応じて読み出し電圧を変更し、第2期間の読み出し動作において、経過時間に関わらず、読み出し電圧を決定する。【選択図】 図11
Description
本発明の実施形態は、メモリシステムに関する。
半導体記憶装置の一種として、NAND型フラッシュメモリが知られている。また、3次元に積層された複数のメモリセルを備えたNAND型フラッシュメモリが知られている。
NAND型フラッシュメモリでは、プログラム後のショートタームにおいて、閾値電圧分布が大きく負側にシフト(ダウンシフト)するという現象(STDR:short term data retention)が発生する。このため、メモリセルアレイからデータを読み出すための読み出し電圧を閾値電圧分布の変化に追随させることが困難であり、すなわち、最適な読み出し電圧を設定することが困難である。結果として、NAND型フラッシュメモリに対するリトライリードの回数が増え、読み出し性能が劣化してしまう。
実施形態は、読み出し性能を向上することが可能なメモリシステムを提供する。
実施形態に係るメモリシステムは、データを格納するメモリセルを備えた不揮発性半導体メモリと、前記不揮発性半導体メモリの動作を制御し、前記不揮発性半導体メモリからデータを読み出すコントローラとを具備する。前記コントローラは、書き込み動作が終了した直後から始まる第1期間と、前記第1期間に続く第2期間とに分けて、前記不揮発性半導体メモリからデータを読み出すための読み出し電圧を決定し、前記第1期間の読み出し動作において、前記書き込み動作が終了してからの経過時間に応じて読み出し電圧を変更し、前記第2期間の読み出し動作において、経過時間に関わらず、読み出し電圧を決定する。
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置等によって、本発明の技術思想が特定されるものではない。各機能ブロックは、ハードウェア及びソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。各機能ブロックが以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。なお、以下の説明において、同一の機能及び構成を有する要素については同一符号を付し、重複説明は必要な場合にのみ行う。
[1] 第1実施形態
[1−1] メモリシステムの構成
図1は、第1実施形態に係るメモリシステム2のブロック図である。メモリシステム2は、ホスト装置1と接続可能である。ホスト装置1は、サーバ、パーソナルコンピュータのような情報処理装置である。
[1−1] メモリシステムの構成
図1は、第1実施形態に係るメモリシステム2のブロック図である。メモリシステム2は、ホスト装置1と接続可能である。ホスト装置1は、サーバ、パーソナルコンピュータのような情報処理装置である。
メモリシステム2は、ホスト装置1が搭載されたマザーボード上にメモリシステム2を構成する複数のチップを実装して構成してもよいし、メモリシステム2を1つのモジュールで実現するシステムLSI(large-scale integrated circuit)、又はSoC(system on a chip)として構成してもよい。メモリシステム2は、SSD(solid state drive)、SDTMカードのようなメモリカード、及びeMMC(embedded multimedia card)などで構成することができる。典型的には、メモリシステム2は、SSDで構成される。
図1に示すように、メモリシステム2は、複数のNAND型フラッシュメモリ(不揮発性半導体メモリ)3、DRAM(dynamic random access memory)4、メモリコントローラ5、及び温度センサ6などを備える。
複数のNAND型フラッシュメモリ3の各々は、複数のメモリセルを備え、データを不揮発に記憶する。NAND型フラッシュメモリ3の数は、1個であってもよい。NAND型フラッシュメモリ3の具体的な構成については後述する。
DRAM4は、揮発性メモリの一種である。DRAM4は、複数のテーブル4Aを格納する。複数のテーブル4Aは、NAND型フラッシュメモリ3に不揮発に記憶されかつNAND型フラッシュメモリ3からロードされたテーブルと、各種の動作中にメモリコントローラ5が作成したテーブルとを含む。また、DRAM4の一部領域は、NAND型フラッシュメモリ3に書き込むべきデータを一時的に保持するためのライトバッファとして用いられ、また、NAND型フラッシュメモリ3から読み出されたデータを一時的に保持するためのリードバッファとして用いられる。
温度センサ6は、メモリシステム2の温度、又はメモリシステム2に含まれる素子の温度を検知する。温度センサ6による検知結果は、メモリコントローラ5に送られる。温度センサ6は、NAND型フラッシュメモリ3内に設けられてもよい。
メモリコントローラ5は、例えばホスト装置1からの命令に応答して、NAND型フラッシュメモリ3に対して書き込み(プログラムともいう)、読み出し、及び消去などを命令する。また、メモリコントローラ5は、NAND型フラッシュメモリ3のメモリ空間を管理する。メモリコントローラ5は、ホストインターフェース回路(ホストI/F)10、プロセッサ11、SRAM(static random access memory)12、ECC(error checking and correcting)回路13、NANDインターフェース回路(NAND I/F)14、DRAMインターフェース回路(DRAM I/F)15、及びタイマー16などを備える。これらのモジュールは、バス17を介して互いに接続される。メモリコントローラ5は、SoC(system on a chip)で構成してもよい。
ホストインターフェース回路10は、ホストバスを介してホスト装置1に接続される。ホストインターフェース回路10は、所定のプロトコルに従って、ホスト装置1との間でインターフェース処理を行う。また、ホストインターフェース回路10は、ホスト装置1との間で、命令、アドレス、及びデータの送受信を行う。ホストインターフェースとしては、SATA(Serial Advanced Technology Attachment)、PCIe(Peripheral Component Interconnect Express)TM、SAS(Serial Attached SCSI)、及びNVMe(Non-Volatile Memory Express)TMなどが挙げられる。
プロセッサ11は、例えばCPU(central processing unit)から構成される。プロセッサ11は、メモリコントローラ5全体の動作を制御する。例えば、プロセッサ11は、ホスト装置1から書き込み命令を受けた場合に、それに応答して、NANDインターフェースに基づく書き込み命令をNAND型フラッシュメモリ3に発行する。読み出し及び消去の場合も同様である。また、プロセッサ11は、ウェアレベリング、及びガベージコレクションなど、NAND型フラッシュメモリ3を管理するための様々な処理を実行する。
SRAM12は、揮発性メモリの一種である。SRAM12は、プロセッサ11の作業領域として使用され、NAND型フラッシュメモリ3からロードされたファームウェアなどを格納する。
ECC回路13は、データの書き込み時には、書き込みデータに対してエラー訂正符号を生成し、このエラー訂正符号を書き込みデータに付加してNANDインターフェース回路14に送る。また、ECC回路13は、データの読み出し時には、読み出しデータに対して、読み出しデータに含まれるエラー訂正符号を用いてエラー検出及び/又はエラー訂正を行う。
NANDインターフェース回路14は、NANDバスを介してNAND型フラッシュメモリ3に接続される。NANDインターフェース回路14は、所定のプロトコルに従って、NAND型フラッシュメモリ3との間でインターフェース処理を行う。また、NANDインターフェース回路14は、NAND型フラッシュメモリ3との間で命令、アドレス、及びデータの送受信を行う。
DRAMインターフェース回路15は、DRAMバスを介してDRAM4に接続される。DRAMインターフェース回路15は、所定のプロトコルに従って、DRAM4との間でインターフェース処理を行う。
タイマー16は、時刻を計測する。タイマー16による計測結果は、プロセッサ11に送られる。プロセッサ11は、タイマー16の計測結果を用いて、現在時刻及びタイムスタンプなどを管理することができる。
[1−1−1] NAND型フラッシュメモリ3の構成
図2は、図1に示したNAND型フラッシュメモリ3のブロック図である。
図2は、図1に示したNAND型フラッシュメモリ3のブロック図である。
NAND型フラッシュメモリ3は、メモリセルアレイ20、入出力回路21、ロジック制御回路22、レジスタ23、シーケンサ(制御回路)24、電圧生成回路25、ロウデコーダ26、カラムデコーダ27、センスアンプユニット28、及びデータレジスタ(データキャッシュ)29を備える。
メモリセルアレイ20は、j個のブロックBLK0〜BLK(j−1)を備える。jは、1以上の整数である。複数のブロックBLKの各々は、複数のメモリセルトランジスタを備える。メモリセルトランジスタは、電気的に書き換え可能なメモリセルから構成される。メモリセルアレイ20には、メモリセルトランジスタに電圧を印加するために、複数のビット線、複数のワード線、及びソース線などが配設される。ブロックBLKの具体的な構成については後述する。
入出力回路21及びロジック制御回路22は、NANDバスを介して、メモリコントローラ5に接続される。入出力回路21は、メモリコントローラ5との間でNANDバスを介して、信号DQ(例えばDQ0〜DQ7)を送受信する。
ロジック制御回路22は、メモリコントローラ5からNANDバスを介して、外部制御信号(例えば、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、書き込みイネーブル信号WEn、読み出しイネーブル信号REn、及びライトプロテクト信号WPn)を受信する。信号名に付記された“n”は、アクティブ・ローを示す。また、ロジック制御回路22は、NANDバスを介して、メモリコントローラ5にレディー/ビジー信号RBnを送信する。
信号CEnは、NAND型フラッシュメモリ3の選択を可能にし、当該NAND型フラッシュメモリ3を選択する際にアサートされる。信号CLEは、信号DQとして送信されるコマンドをコマンドレジスタにラッチすることを可能にする。信号ALEは、信号DQとして送信されるアドレスをアドレスレジスタにラッチすることを可能にする。信号WEnは、信号DQとしてNAND型フラッシュメモリ3にデータを入力することを可能にする。信号REnは、信号DQとしてNAND型フラッシュメモリ3からデータを出力することを可能する。信号WPnは、書き込み及び消去を禁止する際にアサートされる。信号RBnは、NAND型フラッシュメモリ3がレディー状態(外部からの命令を受け付けることが可能である状態)であるか、ビジー状態(外部からの命令を受け付けることができない状態)であるかを示す。メモリコントローラ5は、NAND型フラッシュメモリ3から信号RBnを受けることで、NAND型フラッシュメモリ3の状態を知ることができる。
レジスタ23は、コマンドレジスタ、アドレスレジスタ、及びステータスレジスタなどを備える。コマンドレジスタは、コマンドを一時的に保持する。アドレスレジスタは、アドレスを一時的に保持する。ステータスレジスタは、NAND型フラッシュメモリ3の動作に必要なデータを一時的に保持する。レジスタ23は、例えばSRAMから構成される。
制御回路24は、レジスタ23からコマンドを受け、このコマンドに基づくシーケンスに従ってNAND型フラッシュメモリ3を統括的に制御する。
電圧生成回路25は、NAND型フラッシュメモリ3の外部から電源電圧を受け、この電源電圧を用いて、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を生成する。電圧生成回路25は、生成した電圧を、メモリセルアレイ20、ロウデコーダ26、及びセンスアンプユニット28などに供給する。
ロウデコーダ26は、レジスタ23からロウアドレスを受け、このロウアドレスをデコードする。ロウデコーダ26は、デコードされたロウアドレスに基づいて、ワード線などの選択動作を行う。そして、ロウデコーダ26は、選択されたブロックBLKに、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を転送する。
カラムデコーダ27は、レジスタ23からカラムアドレスを受け、このカラムアドレスをデコードする。カラムデコーダ27は、デコードされたカラムアドレスに基づいて、ビット線の選択動作を行う。
センスアンプユニット28は、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたデータを検知及び増幅する。また、センスアンプユニット28は、データの書き込み時には、書き込みデータをビット線に転送する。
データレジスタ29は、データの読み出し時には、センスアンプユニット28から転送されたデータを一時的に保持し、これをシリアルに入出力回路21へ転送する。また、データレジスタ29は、データの書き込み時には、入出力回路21からシリアルに転送されたデータを一時的に保持し、これをセンスアンプユニット28へパラレルに転送する。データレジスタ29は、SRAMなどで構成される。
[1−1−2] ブロックBLKの構成
図3は、メモリセルアレイ20に含まれる1つのブロックBLKの回路図である。複数のブロックBLKの各々は、複数のストリングユニットSUを備える。図3には、4つのストリングユニットSU0〜SU3を例示している。1つのブロックBLKに含まれるストリングユニットSUの数は、任意に設定可能である。
図3は、メモリセルアレイ20に含まれる1つのブロックBLKの回路図である。複数のブロックBLKの各々は、複数のストリングユニットSUを備える。図3には、4つのストリングユニットSU0〜SU3を例示している。1つのブロックBLKに含まれるストリングユニットSUの数は、任意に設定可能である。
複数のストリングユニットSUの各々は、複数のNANDストリング(メモリストリング)NSを備える。1つのストリングユニットSUに含まれるNANDストリングNSの数は、任意に設定可能である。
複数のNANDストリングNSの各々は、複数のメモリセルトランジスタMT、及び2個の選択トランジスタST1、ST2を備える。複数のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続される。本明細書では、メモリセルトランジスタをメモリセル又はセルと呼ぶ場合もある。図3は、簡略化のために、NANDストリングNSが8個のメモリセルトランジスタMT(MT0〜MT7)を備える構成例を示しているが、NANDストリングNSが備えるメモリセルトランジスタMTの数は、実際にはこれよりも多く、また、任意に設定可能である。メモリセルトランジスタMTは、制御ゲート電極と電荷蓄積層とを備え、データを不揮発に記憶する。メモリセルトランジスタMTは、1ビットのデータ、又は2ビット以上のデータを記憶することが可能である。
ストリングユニットSU0に含まれる複数の選択トランジスタST1のゲートは、選択ゲート線SGD0に共通接続され、同様に、ストリングユニットSU1〜SU3にはそれぞれ、選択ゲート線SGD1〜SGD3が接続される。ストリングユニットSU0に含まれる複数の選択トランジスタST2のゲートは、選択ゲート線SGS0に共通接続され、同様に、ストリングユニットSU1〜SU3にはそれぞれ、選択ゲート線SGS1〜SGS3が接続される。なお、各ブロックBLKに含まれるストリングユニットSU0〜SU3には、共通の選択ゲート線SGSが接続されていてもよい。各ブロックBLK内にあるメモリセルトランジスタMT0〜MT7の制御ゲートはそれぞれ、ワード線WL0〜WL7に接続される。
各ブロックBLK内でマトリクス状に配置されたNANDストリングNSのうち、同一列にある複数のNANDストリングNSの選択トランジスタST1のドレインは、ビット線BL0〜BL(m−1)のいずれかに共通接続される。“m”は1以上の整数である。さらに、各ビット線BLは、複数のブロックBLKに共通接続され、複数のブロックBLKの各々に含まれる各ストリングユニットSU内にある1つのNANDストリングNSに接続される。各ブロックBLKに含まれる複数の選択トランジスタST2のソースは、ソース線SLに共通接続される。ソース線SLは、例えば複数のブロックBLKに共通接続される。
各ブロックBLK内にある複数のメモリセルトランジスタMTのデータは、例えば一括して消去される。データの読み出し及び書き込みは、1つのストリングユニットSUに配設された1本のワード線WLに共通接続された複数のメモリセルトランジスタMTに対して、一括して行われる。1つのストリングユニットSU内でワード線WLを共有するメモリセルトランジスタMTの組を、セルユニットCUと呼ぶ。セルユニットCUに含まれる複数のメモリセルトランジスタMTがそれぞれ記憶する1ビットのデータの集まりをページと呼ぶ。すなわち、セルユニットCUに対する書き込み動作及び読み出し動作は、ページを単位として実行される。
なお、NANDストリングNSは、ダミーセルトランジスタを備えていてもよい。具体的には、選択トランジスタST2とメモリセルトランジスタMT0との間には、例えば2個のダミーセルトランジスタDT0、DT1(図示せず)が直列接続される。メモリセルトランジスタMT7と選択トランジスタST1との間には、例えば2個のダミーセルトランジスタDT2、DT3(図示せず)が直列接続される。ダミーセルトランジスタDT0〜DT3のゲートにはそれぞれ、ダミーワード線DWL0〜DWL3が接続される。ダミーセルトランジスタの構造は、メモリセルトランジスタと同じである。ダミーセルトランジスタは、データを記憶するためのものではなく、書き込み動作や消去動作中に、メモリセルトランジスタや選択トランジスタが受けるディスターブを緩和する機能を有する。
[1−1−3] ブロックBLKの積層構造
図4は、ブロックBLKの一部領域の断面図である。図4において、X方向は、選択ゲート線が延びる方向であり、X方向と水平面内で交差するY方向は、ビット線が延びる方向であり、Z方向は、積層方向である。
図4は、ブロックBLKの一部領域の断面図である。図4において、X方向は、選択ゲート線が延びる方向であり、X方向と水平面内で交差するY方向は、ビット線が延びる方向であり、Z方向は、積層方向である。
半導体層内には、p型ウェル領域(p−well)30が設けられる。p型ウェル領域30上には、複数のNANDストリングNSが設けられる。すなわち、ウェル領域30上には、選択ゲート線SGSとして機能する配線層31、ワード線WL0〜WL7として機能する8層の配線層32、及び選択ゲート線SGDとして機能する配線層33がそれぞれ、この順に複数の絶縁層を介して積層される。図面が煩雑になるのを避けるために、積層された複数の配線層の間に設けられた複数の絶縁層のハッチングを省略している。
メモリホール34は、配線層31、32、33を貫通してウェル領域30に達する。メモリホール34内には、ピラー状の半導体層(半導体ピラー)35が設けられる。半導体ピラー35の側面には、ゲート絶縁膜36、電荷蓄積層(絶縁膜)37、及びブロック絶縁膜38が順に設けられる。これらによってメモリセルトランジスタMT、及び選択トランジスタST1、ST2が構成される。半導体ピラー35は、NANDストリングNSの電流経路として機能し、各トランジスタのチャネルが形成される領域である。半導体ピラー35の上端は、コンタクトプラグ39を介して、ビット線BLとして機能する金属配線層40に接続される。
ウェル領域30の表面領域には、高濃度のn型不純物が導入されたn+型拡散領域41が設けられる。拡散領域41上にはコンタクトプラグ42が設けられ、コンタクトプラグ42は、ソース線SLとして機能する金属配線層43に接続される。さらに、ウェル領域30の表面領域には、高濃度のp型不純物が導入されたp+型拡散領域44が設けられる。拡散領域44上にはコンタクトプラグ45が設けられ、コンタクトプラグ45は、ウェル配線CPWELLとして機能する金属配線層46に接続される。ウェル配線CPWELLは、ウェル領域30を介して半導体ピラー35に電圧を印加するための配線である。
以上の構成が、図4の紙面の奥行き方向(X方向)に複数配列されており、X方向に並ぶ複数のNANDストリングNSの集合によってストリングユニットSUが構成される。
[1−1−4] メモリセルトランジスタの閾値電圧分布
次に、メモリセルトランジスタMTの取り得る閾値電圧Vthの分布について説明する。図5は、メモリセルトランジスタMTの閾値電圧分布の一例を示す模式図である。メモリセルトランジスタMTは、2ビット以上のデータを記憶することが可能である。本実施形態では、メモリセルトランジスタMTが3ビットのデータを記憶する場合、いわゆるTLC(triple level cell)方式を例に説明する。
次に、メモリセルトランジスタMTの取り得る閾値電圧Vthの分布について説明する。図5は、メモリセルトランジスタMTの閾値電圧分布の一例を示す模式図である。メモリセルトランジスタMTは、2ビット以上のデータを記憶することが可能である。本実施形態では、メモリセルトランジスタMTが3ビットのデータを記憶する場合、いわゆるTLC(triple level cell)方式を例に説明する。
3ビットのデータは、下位(lower)ビット、中位(middle)ビット、及び上位(upper)ビットにより規定される。メモリセルトランジスタMTが3ビットを記憶する場合、メモリセルトランジスタMTは、閾値電圧に関する8つの状態(ステート)のうちのいずれかを取り得る。8つの状態(ステート)を、低い方から順に、ステート“Er”、“A”、“B”、“C”、“D”、“E”、“F”、及び“G”と呼ぶ。ステート“Er”、“A”、“B”、“C”、“D”、“E”、“F”、及び“G”の各々に属する複数のメモリセルトランジスタMTは、分布を形成する。
ステート“Er”、“A”、“B”、“C”、“D”、“E”、“F”、及び“G”にはそれぞれ、例えば、“111”データ、“110”データ、“100”データ、“000”データ、“010”データ、“011”データ、“001”データ、及び“101”データが割り当てられる。ビットの順番は、左から、上位ビット、中位ビット、及び下位ビットである。閾値電圧分布とデータとの割り当ては、任意に設定可能である。
読み出し対象のメモリセルトランジスタMTに記憶されたデータを読み出すために、当該メモリセルトランジスタMTの閾値電圧が属するステートが判定される。ステートの判定のために、読み出し電圧VA、VB、VC、VD、VE、VF、及びVGが用いられる。
ステート“Er”は、例えば、データが消去された状態(消去状態)に相当する。ステート“Er”に属するメモリセルトランジスタMTの閾値電圧は、電圧VAより低く、例えば負の値を有する。
ステート“A”〜“G”は、電荷蓄積層に電荷が注入されてメモリセルトランジスタMTにデータが書き込まれた状態に相当し、各ステートに属するメモリセルトランジスタMTの閾値電圧は、例えば正の値を有する。ステート“A”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VAより高く、かつ読み出し電圧VB以下である。ステート“B”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VBより高く、かつ読み出し電圧VC以下である。ステート“C”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VCより高く、かつ読み出し電圧VD以下である。ステート“D”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VDより高く、かつ読み出し電圧VE以下である。ステート“E”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VEより高く、かつ読み出し電圧VF以下である。ステート“F”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VFより高く、かつ読み出し電圧VG以下である。ステート“G”に属するメモリセルトランジスタMTの閾値電圧は、読み出し電圧VGより高く、電圧VREAD以下である。電圧VREADは、非読み出し対象のセルユニットCUのメモリセルトランジスタMTに接続されたワード線WLに印加される電圧であり、いずれのステートにあるメモリセルトランジスタMTの閾値電圧よりも高い。つまり、制御ゲートに電圧VREADが印加されたメモリセルトランジスタMTは、保持するデータに関わらずオン状態になる。
以上のように、各メモリセルトランジスタMTは、8種類の状態(ステート)を取ることができる。また、データの書き込み及び読み出しは、1つのセルユニットCU内のページ単位で行われる。メモリセルトランジスタMTが3ビットデータを記憶している場合、1つのセルユニットCU内の3つのページにそれぞれ、下位ビット、中位ビット、及び上位ビットが割当てられる。以下の説明では、下位ビットに対応するページを下位(lower)ページ、中位ビットに対応するページを中位(middle)ページ、上位ビットに対応するページを上位(upper)ページと呼ぶ。
[1−1−5] センスアンプユニット28及びデータレジスタ29の構成
図6は、図2に示したセンスアンプユニット28及びデータレジスタ29のブロック図である。
図6は、図2に示したセンスアンプユニット28及びデータレジスタ29のブロック図である。
センスアンプユニット28は、ビット線BL0〜BL(m−1)に対応したセンスアンプユニットSAU0〜SAU(m−1)を備える。各センスアンプユニットSAUは、センスアンプSA、及びデータラッチ回路SDL、ADL、BDL、CDLを備える。センスアンプSA、及びデータラッチ回路SDL、ADL、BDL、CDLは、互いにデータが転送可能なように接続される。
データラッチ回路SDL、ADL、BDL、CDLは、データを一時的に保持する。書き込み動作時には、センスアンプSAは、データラッチ回路SDLが保持するデータに応じて、ビット線BLの電圧を制御する。データラッチ回路ADL、BDL、CDLは、メモリセルトランジスタMTが2ビット以上のデータを保持する多値動作用に使用される。すなわち、データラッチ回路ADLは、下位ページを保持するために使用される。データラッチ回路BDLは、中位ページを保持するために使用される。データラッチ回路CDLは、上位ページを保持するために使用される。センスアンプユニットSAUが備えるデータラッチ回路の数は、1つのメモリセルトランジスタMTが保持するビット数に応じて任意に変更可能である。
センスアンプSAは、読み出し動作時には、対応するビット線BLに読み出されたデータを検知し、読み出されたデータが、データ“0”及びデータ“1”のいずれであるかを判定する。また、センスアンプSAは、書き込み動作時には、書き込みデータに基づいてビット線BLに電圧を印加する。
データレジスタ29は、センスアンプユニットSAU0〜SAU(m−1)に対応した数のデータラッチ回路XDLを備える。データラッチ回路XDLは、入出力回路21に接続される。データラッチ回路XDLは、入出力回路21から送られた書き込みデータを一時的に保持し、また、センスアンプユニットSAUから送られた読み出しデータを一時的に保持する。より具体的には、入出力回路21とセンスアンプユニット28との間のデータ転送は、1ページ分のデータラッチ回路XDLを介して行われる。入出力回路21が受信した書き込みデータは、データラッチ回路XDLを介して、データラッチ回路ADL、BDL、CDLのいずれかに転送される。センスアンプSAによって読み出された読み出しデータは、データラッチ回路XDLを介して、入出力回路21に転送される。
[1−2] 動作
次に、上記のように構成されたメモリシステム2の動作について説明する。
次に、上記のように構成されたメモリシステム2の動作について説明する。
図3及び図4に示すメモリセルトランジスタMTにデータを書き込む動作、及びメモリセルトランジスタMTからデータを読み出す動作について簡単に説明する。
メモリセルトランジスタMTにデータを書き込む書き込み動作は、以下のように行われる。書き込み動作には、プログラム動作と、ベリファイ動作とが含まれる。また、書き込み動作では、プログラム動作とベリファイ動作とからなるプログラムループが複数回繰り返される。
プログラム動作は、メモリセルトランジスタMTの電荷蓄積層に電荷(電子)を注入することで、メモリセルトランジスタMTの閾値電圧を上昇させる、又は、電荷蓄積層への電子の注入を禁止することで、メモリセルトランジスタMTの閾値電圧を維持させる動作である。閾値電圧を上昇させる動作を「“0”書き込み」と呼び、閾値電圧を維持させる動作を「“1”書き込み」又は「書き込み禁止」と呼ぶ。より具体的には、“0”書き込みと“1”書き込みとは、ビット線BLに印加される電圧が異なる。“0”書き込みに対応するビット線BLには、例えば接地電圧VSSが印加される。“1”書き込みに対応するビット線BLには、例えば電源電圧VDD(>VSS)が印加される。
ロウデコーダ26は、選択ワード線WLにプログラム電圧VPGMを印加し、非選択ワード線WLに電圧VPASS(<VPGM)を印加する。電圧VPASSは、メモリセルトランジスタMTの閾値電圧に関わらず、メモリセルトランジスタMTをオン状態にしつつ、非選択メモリセルトランジスタMTへの誤書き込みを防止するための電圧である。また、ロウデコーダ26は、選択ゲート線SGDに、電圧VSGDを印加し、選択ゲート線SGSに、電圧VSSを印加する。電圧VSGDは、選択ビット線BLに接続された選択トランジスタST1をオン状態とし、非選択ビット線BLに接続された選択トランジスタST1をカットオフ状態とする電圧である。ソース線SLには、例えば電源電圧VDDが印加される。
これにより、書き込み対象のメモリセルトランジスタMTでは、ワード線WLとチャネルとの間の電圧差が大きくなり、メモリセルトランジスタMTの閾値電圧が上昇する。一方、書き込み禁止のメモリセルトランジスタMTでは、セルフブーストにより、ワード線WLとチャネルとの間の電圧差が大きくならず、メモリセルトランジスタMTの閾値電圧の変動が抑制される。
ベリファイ動作は、プログラム動作の後、メモリセルトランジスタMTのデータを読み出し、メモリセルトランジスタMTの閾値電圧がターゲットレベルに達したか否かを判定する動作である。メモリセルトランジスタMTの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と呼び、ターゲットレベルに達していない場合を、「ベリファイをフェイルした」と呼ぶ。ベリファイ動作の詳細は、読み出し動作と同じである。
次に、メモリセルトランジスタMTからデータを読み出す読み出し動作について説明する。
ロウデコーダ26は、選択ワード線WLに、読み出し電圧VCGを印加し、非選択ワード線WLに、電圧VREADを印加する。また、ロウデコーダ26は、選択ゲート線SGD、SGSに、電圧VSGを印加する。電圧VSGは、選択トランジスタST1、ST2をオン状態にする電圧である。センスアンプユニット28は、全ビット線BLに、電圧VBLを印加する。電圧VBLは、電圧VSSより高い電圧である。ソース線SLには、電圧VSSが印加される。これにより、メモリセルトランジスタMTがオン、又はオフしたかが判定され、メモリセルトランジスタMTのデータが読み出される。
[1−2−1] 閾値電圧分布の変動
次に、閾値電圧分布の変動について説明する。
次に、閾値電圧分布の変動について説明する。
メモリセルトランジスタMTをプログラムした後、電荷蓄積層から電子が抜けることで、メモリセルトランジスタMTの閾値電圧が変動する場合がある。図7は、閾値電圧分布の変動の様子を説明する模式図である。図7では、ステート“A”〜“D”を抽出して示している。
NAND型フラッシュメモリ、特に3次元NAND型フラッシュメモリでは、メモリセルトランジスタをプログラムした後、閾値電圧分布は、ショートターム(プログラム直後から所定時間までの期間)内において、大幅に負側にシフト(ダウンシフト)する場合がある。閾値電圧分布のダウンシフトにより、各ステートの最適な読み出し電圧もダウンシフトする。最適な読み出し電圧は、2つのステートの閾値電圧分布の重なりが最小となる谷位置における電圧である。
図7において、実線で示した分布は、プログラム直後における閾値電圧分布(Vth分布)であり、破線で示した分布は、ショートターム経過後における閾値電圧分布である。また、図7において、実線の直線で示した読み出し電圧は、プログラム直後における最適な読み出し電圧(リードレベル)であり、破線の直線で示した読み出し電圧は、ショートターム経過後における最適な読み出し電圧である。
図8は、経過時間とともに最適な読み出し電圧が変動する様子を説明するグラフである。図8の横軸は、経過時間tを表し、縦軸は、読み出し時にワード線に印加する最適読み出し電圧を表している。なお、図8は、任意の閾値電圧に関するグラフである。
図8に示したパラメータは、以下のように定義される。
・“t=0”:時刻t=0は、プログラム直後の時刻である。
・“L0”:読み出し電圧L0は、時刻t=0における最適な読み出し電圧である。
・“Ld”:読み出し電圧Ldは、時刻Tdにおける最適な読み出し電圧である。
・“Td”:時刻Tdは、ショートタームとロングタームとの境界時刻である。最適な読み出し電圧のダウンシフト速度は、経過時間が増加するにつれて低くなるので、ダウンシフト速度が既定値(例えば0.001mV/s)以下になる時刻を、ショートタームとロングタームとが切り替わる時刻Tdと定義する。例えば、最適な読み出し電圧のダウンシフト速度は、ある既定値以下になる時刻、または温度やストレス条件によるある時間既定値を超えた時刻を“Td”とする。
・“ショートターム”:ショートタームは、プログラム直後(t=0)から時刻Tdまでの期間である。
・“ロングターム”:ロングタームは、時刻Td以降(t>Td)の期間である。
・“t=0”:時刻t=0は、プログラム直後の時刻である。
・“L0”:読み出し電圧L0は、時刻t=0における最適な読み出し電圧である。
・“Ld”:読み出し電圧Ldは、時刻Tdにおける最適な読み出し電圧である。
・“Td”:時刻Tdは、ショートタームとロングタームとの境界時刻である。最適な読み出し電圧のダウンシフト速度は、経過時間が増加するにつれて低くなるので、ダウンシフト速度が既定値(例えば0.001mV/s)以下になる時刻を、ショートタームとロングタームとが切り替わる時刻Tdと定義する。例えば、最適な読み出し電圧のダウンシフト速度は、ある既定値以下になる時刻、または温度やストレス条件によるある時間既定値を超えた時刻を“Td”とする。
・“ショートターム”:ショートタームは、プログラム直後(t=0)から時刻Tdまでの期間である。
・“ロングターム”:ロングタームは、時刻Td以降(t>Td)の期間である。
図8において、ショートターム内では、経過時間に対する最適な読み出し電圧の変化が大きいことが理解できる。このため、経過時間を考慮した読み出し電圧の調整が必要である。そこで、本実施形態では、プログラム直後からの経過時間を、時刻Tdを境界としたショートタームとロングタームとに分けて管理し、ショートタームとロングタームとで読み出し電圧の補正手法を変えるようにしている。
[1−2−2] 読み出しシーケンス
次に、読み出しシーケンスの全体の流れについて説明する。図9A乃至図9Dは、メモリシステム2の読み出しシーケンスを説明するフローチャートである。読み出しシーケンスは、書き込み動作が終了した後に行われ、NAND型フラッシュメモリ3からデータを読み出すための一連の処理である。
次に、読み出しシーケンスの全体の流れについて説明する。図9A乃至図9Dは、メモリシステム2の読み出しシーケンスを説明するフローチャートである。読み出しシーケンスは、書き込み動作が終了した後に行われ、NAND型フラッシュメモリ3からデータを読み出すための一連の処理である。
まず、前述したように、選択ページに対して書き込み動作(プログラム動作及びベリファイ動作)が行われる。
続いて、メモリコントローラ5は、プログラムの終了時刻を図示しないタイムスタンプ管理テーブル内に記録する(ステップS100)。タイムスタンプ管理テーブルは、例えば、DRAM4に格納される。例えば、タイムスタンプ管理テーブルは、ワード線ごとに、プログラムの終了時刻を記録する。あるいは、ブロックごとに、ブロックの代表プログラム終了時刻を記録してもよい。このとき、代表プログラム終了時刻は、ブロック内の最後のプログラム終了時刻、ブロック内の最初のプログラム終了時刻、ブロック内の平均プログラム終了時刻のいずれかであってもよい。時刻は、タイマー16により計測される。
続いて、メモリコントローラ5は、温度、及びライト/イレース回数(W/E回数)などのストレス条件をチェックする(ステップS101)。W/E回数は、書き込み動作と消去動作とからなるセットの回数(書き換え回数)であり、NAND型フラッシュメモリ3のブロックBLK単位で管理される。W/E回数は、DRAM4に格納された管理テーブルによって管理され、適宜情報が更新される。温度は、温度センサ6によって計測される。
続いて、メモリコントローラ5は、ステップS101でチェックしたストレス条件に基づいて、境界時刻Tdを決定する(ステップS102)。境界時刻Tdの設定手法の一例については、後述する。
続いて、メモリコントローラ5は、読み出し電圧を補正するために用いられる設定値テーブルを選択する(ステップS103)。設定値テーブルは、ショートターム用の設定値テーブルと、ロングターム用の設定値テーブルとを含む。設定値テーブルの詳細については後述する。
続いて、メモリコントローラ5は、ホスト装置1から読み出し命令を受信したか否かを監視する(ステップS104)。
ステップS104において読み出し命令を受信した場合(ステップS104=Yes)、メモリコントローラ5は、プログラム終了から読み出し命令受信までの経過時間、すなわち、“経過時間=現在時刻−プログラム終了時刻”を計算する(ステップS105)。続いて、メモリコントローラ5は、ステップS105で計算した経過時間が、境界時刻Td以下であるか否かを判定する(ステップS106)。
ステップS106において経過時間が境界時刻Td以下である場合(ステップS106=Yes)、メモリコントローラ5は、ショートターム用の読み出しシーケンスを実行する。すなわち、メモリコントローラ5は、ショートターム用の設定値テーブルを用いて、読み出し電圧を決定する(ステップS107)。メモリコントローラ5は、計算された経過時間に基づいてステップS103で選択した設定値テーブルを参照し、対応する読み出し電圧を求める。経過時間が、設定値テーブル内の各行の経過時間に含まれない場合は、最も近い値の行の値を選ぶか、最も近い2行を選び、例えば線形補間によって読み出し電圧を計算する。
続いて、メモリコントローラ5は、ステップS107で決定された読み出し電圧を用いて、NAND型フラッシュメモリ3に対して読み出し動作を実行する(ステップS108)。読み出し動作には、NAND型フラッシュメモリ3に対して、コマンドを用いて、読み出し電圧を調整する処理が含まれてもよい。読み出し動作の詳細については、後述する。
続いて、メモリコントローラ5は、ステップS108で正常にデータが読み出せた場合(ステップS109=Yes)、読み出し動作を終了する。エラービット数がECC回路13のエラー訂正可能ビット数より多い場合に、訂正に失敗し、その結果読み出しエラーと判定される。エラービット数がECC回路13のエラー訂正可能ビット数以下である場合に、訂正に成功し、その結果正常に読み出しが行われたと判定される。
一方、ステップS108で正常にデータが読み出せなかった場合(ステップS109=No)、メモリコントローラ5は、他の読み出し手法、例えば、最適な読み出し電圧を探索するための動作(Vthトラッキング動作)を実行する(ステップS110)。続いて、メモリコントローラ5は、ステップS110で得られた読み出し電圧を用いて、NAND型フラッシュメモリ3に対して読み出し動作を実行する(ステップS111)。
ステップS111で正常にデータが読み出せた場合(ステップS112=Yes)、メモリコントローラ5は、読み出し動作を終了する。ステップS111で正常にデータが読み出せなかった場合(ステップS112=No)、メモリコントローラ5は、読み出し動作が正常に行われなかったことを示すエラーステータスを、ホスト装置1に送信する(ステップS113)。
ステップS106に戻り、経過時間が境界時刻Tdを超えている場合(ステップS106=No)、メモリコントローラ5は、図9Cに示すロングターム用の読み出しシーケンスを実行する。すなわち、メモリコントローラ5は、履歴値が存在するか否かを判定する(ステップS200)。例えば、メモリコントローラ5は、「履歴値が存在するか否かを示すフラグを管理する。当該フラグは、ブロックBLKのデータが消去された場合に、リセットされる。
ステップS200において履歴値が存在しない、すなわち、プログラム後の最初の読み出し動作である場合(ステップS200=No)、メモリコントローラ5は、ロングターム用の設定値テーブルを用いて、読み出し電圧を決定する(ステップS201)。
続いて、メモリコントローラ5は、ステップS201で決定された読み出し電圧を用いて、NAND型フラッシュメモリ3に対して読み出し動作を実行する(ステップS202)。
続いて、メモリコントローラ5は、ステップS202で正常にデータが読み出せた場合(ステップS203=Yes)、設定値テーブルの読み出し電圧(設定値)を履歴値テーブルに記録する(ステップS204)。履歴値テーブルは、読み出し動作で用いた読み出し電圧を記録しておくためのテーブルである。履歴値テーブルは、ブロックBLKごと、ページごと、又は複数のページあるいは複数のワード線をまとめたグループごとに管理される。その後、メモリコントローラ5は、読み出し動作を終了する。
一方、ステップS202で正常にデータが読み出せなかった場合(ステップS203=No)、メモリコントローラ5は、例えばVthトラッキング動作を実行する(ステップS205)。続いて、メモリコントローラ5は、ステップS205で得られた読み出し電圧を用いて、NAND型フラッシュメモリ3に対して読み出し動作を実行する(ステップS206)。
ステップS206で正常にデータが読み出せた場合(ステップS207=Yes)、メモリコントローラ5は、履歴値テーブルを更新する(ステップS208)。すなわち、メモリコントローラ5は、履歴値テーブルのうち当該ブロックのエントリを、読み出しに成功したときの読み出し電圧に更新する。その後、メモリコントローラ5は、読み出し動作を終了する。
一方、ステップS206で正常にデータが読み出せなかった場合(ステップS207=No)、メモリコントローラ5は、読み出し動作が正常に行われなかったことを示すエラーステータスを、ホスト装置1に送信する(ステップS209)。
ステップS200に戻り、履歴値が存在する場合(ステップS200=Yes)、メモリコントローラ5は、履歴値テーブルを参照して、読み出し対象アドレスを含むブロックのエントリから、読み出し電圧を取得し、読み出し電圧を決定する(ステップS210)。
続いて、メモリコントローラ5は、ステップS210で決定された読み出し電圧を用いて、NAND型フラッシュメモリ3に対して読み出し動作を実行する(ステップS211)。
続いて、メモリコントローラ5は、ステップS211で正常にデータが読み出せた場合(ステップS212=Yes)、読み出し動作を終了する。
一方、ステップS211で正常にデータが読み出せなかった場合(ステップS212=No)、メモリコントローラ5は、ステップS205に移行する。ステップS205以降の動作は、前述した通りである。
[1−2−3] 境界時刻Tdの設定手法
次に、前述したステップS101及びS102に関する境界時刻Tdの設定手法について説明する。温度、及び書き込み/消去のサイクル(W/E)などのストレス条件に応じて、メモリセルの特性(データ保持特性など)が変化する可能性があり、また、最適な読み出し電圧が変化する可能性がある。そこで、本実施形態では、ストレス条件に応じて、境界時刻Tdを最適に設定するようにしている。
次に、前述したステップS101及びS102に関する境界時刻Tdの設定手法について説明する。温度、及び書き込み/消去のサイクル(W/E)などのストレス条件に応じて、メモリセルの特性(データ保持特性など)が変化する可能性があり、また、最適な読み出し電圧が変化する可能性がある。そこで、本実施形態では、ストレス条件に応じて、境界時刻Tdを最適に設定するようにしている。
図10は、境界時刻Td用テーブルの一例を説明する図である。境界時刻Td用テーブルは、複数のストレス条件iと、複数の境界時刻Td_iとの対応関係を格納する。“i”は、1以上の整数である。例えば、ストレス条件1は、温度10度(℃)、書き込み/消去のサイクル(W/E)=1000回(1k)であり、ストレス条件2は、温度10度、W/E=1kであり、ストレス条件Mは、温度80度、W/E=1500回(15k)である。ストレス条件1、ストレス条件2、及びストレス条件Mではそれぞれ、境界時刻Td_1、Td_2、及びTd_Mが選択される。図10は、ストレス条件の基準値を例示しており、例えば、温度及びW/Eがストレス条件1の基準値以下である場合に、境界時刻Td_1が選択され、温度及びW/Eがストレス条件1の基準値より大きくかつストレス条件2の基準値以下である場合に、境界時刻Td_2が選択されるようにしてもよい。
例えば、メモリシステム2の設計段階において、複数のストレス条件ごとに境界時刻Tdを計算する。そして、計算結果を境界時刻Td用テーブルとして、NAND型フラッシュメモリ3に不揮発に記憶させる。そして、動作時には、境界時刻Td用テーブルは、DRAM4に読み出される。例えば、境界時刻Td用テーブルは、メモリシステムの設計段階の時に決定し、その後、書き換えない。或いは、メモリシステムの動作中に動的に境界時刻を計測し、境界時刻Tdを更新してもよい。
[1−2−4] 読み出し電圧の補正手法
次に、読み出し電圧の補正手法について説明する。本実施形態では、ショートタームとロングタームとの境界時刻Tdを規定し、プログラム直後からの経過時間がショートタームであるか、ロングタームであるかを判定する。そして、ショートタームとロングタームとで異なる手法を用いて読み出し電圧を補正する。このために、ショートターム用の読み出し電圧と、ロングターム用の読み出し電圧とが分けて管理された設定値テーブルが用いられる。
次に、読み出し電圧の補正手法について説明する。本実施形態では、ショートタームとロングタームとの境界時刻Tdを規定し、プログラム直後からの経過時間がショートタームであるか、ロングタームであるかを判定する。そして、ショートタームとロングタームとで異なる手法を用いて読み出し電圧を補正する。このために、ショートターム用の読み出し電圧と、ロングターム用の読み出し電圧とが分けて管理された設定値テーブルが用いられる。
図11は、設定値テーブルに格納される複数の読み出し電圧と経過時間(プログラム終了から読み出し命令受信までの経過時間)との関係の一例を説明する模式図である。図11の横軸は、経過時間tを表し、縦軸は、読み出し時にワード線に印加する最適読み出し電圧を表している。メモリセルの閾値電圧の任意のステートにおいて、プログラム直後(t=0)における最適な読み出し電圧はL0、境界時刻Tdにおける最適な読み出し電圧はLdである。他のステートにおいても同様に定義される。
前述したように、ショートターム内では、経過時間に応じてメモリセルの閾値電圧が大きくダウンシフトする。そこで、ショートターム内では、複数の経過時間に対応して複数の読み出し電圧(図11の白丸に対応する電圧)が用意される。
図12は、設定値テーブルの一例を説明する図である。複数のストレス条件ごとに、設定値テーブルが用意される。図12の“・・・”は、任意の電圧である。
例えば、ストレス条件1では、境界時刻Td=25(s)である。また、経過時間t=0、5、10、15、20、25ごとに、最適な読み出し電圧が設定される。最適な読み出し電圧は、ステート“A”〜“G”ごとに設定される。具体的には、ステート“A”〜“G”の順に、読み出し電圧が高くなる。また、経過時間t=0、5、10、15、20、25の順に、読み出し電圧が低くなる。
ロングタームの最適な読み出し電圧は、境界時刻Tdから適切な時刻(経験値)における最適な読み出し電圧の平均値に設定される。
温度、及びW/E回数などのストレス条件によって最適な読み出し電圧が変化するので、設計段階で、全てのストレス条件における設定値を確認し、この設定値を設定値テーブルに格納しておく。設定値テーブルは、NAND型フラッシュメモリ3に不揮発に記憶させる。そして、動作時には、設定値テーブルは、DRAM4に読み出される。例えば、設定値テーブルの値は、メモリシステムの設計時に決定し、その後、書き換えない。或いは、メモリシステムの動作中に動的に設定値を計測し、設定値テーブルを更新してもよい。
[1−2−5] 履歴値テーブルの一例
次に、履歴値テーブルの一例について説明する。図13は、履歴値テーブルの一例を説明する図である。
次に、履歴値テーブルの一例について説明する。図13は、履歴値テーブルの一例を説明する図である。
履歴値テーブルは、正常に読み出しが行われた際に使用された読み出し電圧を履歴値として格納しておくためのテーブルである。履歴値テーブルは、ロングターム内の読み出し電圧を格納する。読み出し電圧は、ブロックBLKごとに管理される。読み出し電圧は、ブロックBLK以外の単位、例えばページ単位、又は複数のページあるいは複数のワード線をまとめたグループ単位で管理するようにしてもよい。読み出し電圧は、ステート“A”〜“G”ごとに設定される。図13では、一例として、ブロックBLK0(ブロック_0)からブロックBLK2500(ブロック_2500)の履歴値を示している。
履歴値テーブルは、ロングターム内での読み出し動作に用いられる。履歴値テーブルは、読み出しに成功した場合、今回の読み出し動作で用いられた読み出し電圧に更新される。よって、今回の読み出し動作で最初に用いられる読み出し電圧は、ロングターム内の前回の成功した読み出し動作で用いられた読み出し電圧と同じである。これにより、時間が経過するに従ってメモリセルの閾値電圧が変動(例えばダウンシフト)した場合でも、より最適な読み出し電圧を用いて読み出し動作を行うことができる。履歴値テーブルは、NAND型フラッシュメモリ3に不揮発に記憶させる。そして、動作時には、履歴値テーブルは、DRAM4に読み出される。
次に、履歴値テーブルの管理動作について説明する。図14は、履歴値テーブルの管理動作を説明するフローチャートである。
メモリコントローラ5は、例えばホスト装置1からの消去命令に応答して、又は内部処理(ガベージコレクション等)に応じて、あるブロックBLKのデータを消去する(ステップS300)。続いて、メモリコントローラ5は、前述したステップS100で記録した、プログラムの終了時間を消去する(ステップS301)。続いて、メモリコントローラ5は、履歴値テーブルのデータを消去する(ステップS302)。具体的には、メモリコントローラ5は、履歴値テーブルのうち当該ブロックに対応するエントリの履歴値を消去するとともに、前述した履歴値が存在するか否かを示すフラグを、履歴値が存在しない状態にリセットする。
このように、本実施形態では、一例として、ブロックBLKのデータが消去されるごとに、履歴値テーブルのうち当該ブロックに対応するエントリの履歴値も消去される。
[1−2−6] 読み出し電圧の設定動作
次に、読み出し動作に含まれる読み出し電圧の設定動作について説明する。図15は、メモリシステム2における読み出し電圧の設定動作を説明するタイミングチャートである。
次に、読み出し動作に含まれる読み出し電圧の設定動作について説明する。図15は、メモリシステム2における読み出し電圧の設定動作を説明するタイミングチャートである。
メモリコントローラ5は、信号線DQx(例えばDQ0〜DQ7)を介してNAND型フラッシュメモリ3にデータを送信する。メモリコントローラ5は、set featureコマンド“EFh”を用いて、NAND型フラッシュメモリ3における読み出し電圧を設定する。“h”は、16進数表記を意味する。set featureコマンド“EFh”は、NAND型フラッシュメモリ3における各種電圧、及び動作タイミングなどのパラメータを変更することが可能なコマンドである。
メモリコントローラ5は、コマンドシーケンス“<EFh><Col0><Col1><Row0><Row1><Row2><B0>〜<B5>”をNAND型フラッシュメモリ3に送信する。アドレス“<Col0><Col1><Row0><Row1><Row2>”は、featureアドレスであり、読み出し電圧の情報が格納されている記憶領域を指定する。featureアドレスは、例えばカラムアドレスCol、及びロウアドレスRowを含む。データ“<B0>〜<B5>”は、読み出し電圧用の設定データである。
NAND型フラッシュメモリ3は、メモリコントローラ5からコマンドシーケンスを受信すると、レディー/ビジー信号RBnをローレベルにする。そして、NAND型フラッシュメモリ3は、読み出し電圧用の設定データを用いて、読み出し電圧を書き換える。読み出し電圧に関する情報の記憶領域は、例えばレジスタ23に含まれる。
このようにして、メモリコントローラ5は、NAND型フラッシュメモリ3内で用いられる読み出し電圧を適宜設定することが可能となる。
[1−2−7] 読み出し動作
次に、メモリシステム2の読み出し動作について説明する。図16は、メモリシステム2の読み出し動作を説明するタイミングチャートである。
次に、メモリシステム2の読み出し動作について説明する。図16は、メモリシステム2の読み出し動作を説明するタイミングチャートである。
メモリコントローラ5は、page readコマンド“00h”、“30h”を用いて、NAND型フラッシュメモリ3からデータを読み出す。page readコマンド“00h”、“30h”は、データ、例えばページの読み出しを指示するコマンドである。メモリコントローラ5は、コマンドシーケンス“<00h><Col2><Col3><Row3><Row4><Row5><30h>”をNAND型フラッシュメモリ3に送信する。アドレス“<Col2><Col3><Row3><Row4><Row5>”は、リード対象アドレスである。
NAND型フラッシュメモリ3は、メモリコントローラ5からpage readコマンド“30h”を受信すると、レディー/ビジー信号RBnをローレベルにする。そして、NAND型フラッシュメモリ3は、リードアドレスを用いて、メモリセルアレイ20内の対応するページからデータを読み出す。メモリセルアレイ20から読み出されたページは、データレジスタ29に格納される。データの読み出しが終了すると、NAND型フラッシュメモリ3は、レディー/ビジー信号RBnをハイレベルにする。
続いて、メモリコントローラ5は、data outコマンド“05h”、“E0h”を用いて、NAND型フラッシュメモリ3からデータを出力させる。data outコマンド“05h”、“E0h”は、データの出力を指示するコマンドである。メモリコントローラ5は、コマンドシーケンス“<05h><Col2><Col3><Row3><Row4><Row5><E0h>”をNAND型フラッシュメモリ3に送信する。
NAND型フラッシュメモリ3は、data outコマンドに応答して、データレジスタ29に格納されたデータをメモリコントローラ5へ出力する。
このようにして、メモリコントローラ5は、NAND型フラッシュメモリ3からデータを読み出すことが可能となる。
読み出し動作では、例えば予め決められた読み出し電圧が用いられる。また、前述した図15のシーケンスによって設定した読み出し電圧を用いてもよい。さらに、読み出し電圧を変化させて再度読み出しを行うリトライリードを行うようにしてもよい。リトライリードでは、前述した図15のシーケンスによって読み出し電圧を設定可能である。
[1−2−8] Vthトラッキング動作
次に、前述したステップS110及びS206に関するVthトラッキング動作について説明する。
次に、前述したステップS110及びS206に関するVthトラッキング動作について説明する。
データ読み出しの際にエラービット数を最少とするためには、2つのレベルの閾値電圧分布の重なりが最小となる谷位置における電圧でリトライリード動作を行うことが望ましい。Vthトラッキング動作とは、最適な読み出し電圧を探索するための動作である。
図17は、Vthトラッキング動作を説明する模式図である。図17では、一例として、ステート“A”及びステート“B”の閾値電圧分布を抽出して示している。図17(a)は、ステート“A”及びステート“B”の閾値電圧分布を示したグラフである。図17(b)は、読み出し電圧を変化させた場合のオン状態となるメモリセル数(オンセル数)の推移を示したグラフである。図17(c)は、読み出し電圧の範囲におけるオンセル数変化量を示したヒストグラムである。なお、図17(b)及び17(c)は、図17(a)の閾値電圧分布を有するメモリセルトランジスタMT群に対応してプロットされたものである。
図17(b)に示すように、読み出し電圧を高くしていくと、ステート“A”の中央値である電圧CAよりわずかに低い電圧でオンセル数が急激に増大し、dM/dVが極大となる。ここで、中央値とは、図17(a)において最も閾値電圧の分布確率が高い電圧である。Mはオンセル数であり、Vは選択ワード線WLの電圧である。さらに読み出し電圧を高くしていくと、オンセル数の増加率は小さくなり、ある値において極小となる。この読み出し電圧における増加率は、ステート“A”の閾値電圧分布と、ステート“B”の閾値電圧の分布とが重ならない場合にはゼロとなる。他方で重なる場合には、ゼロではない極小値(>0)となる。さらに読み出し電圧を高くしていくと、再びオンセル数の増加率が大きくなり、ステート“B”の中央値である電圧CBよりわずかに低い電圧で再びdM/dVが極大となる。
上述のオンセル数の累積値の変化によって、2つのステート間の谷位置、すなわち2つのステートの閾値電圧分布の重なりが最も小さくなる読み出し電圧の位置を検出することができる。例えば、まず、読み出し電圧V1を用いて読み出し動作が行われる。この時のオンセル数をM1とする。次に、電圧V1よりΔVだけ高い電圧V2を用いて読み出し動作が行われる。この時のオンセル数をM2とする。すると、選択ワード線WLの電圧がV1からV2に上昇した際に新たにオンするメモリセルトランジスタMTの数は、(M2−M1)個である。
引き続き、電圧V2よりΔVだけ高い電圧V3を用いて読み出し動作を行う。この時のオンセル数をM3とする。すると、選択ワード線WLの電圧がV2からV3に上昇した際に新たにオンするメモリセルトランジスタMTの数は、(M3−M2)個である。そして、(M2−M1)>(M3−M2)であったとすれば、dM/dVが極小となる電圧は、少なくとも電圧V2より高いと推定される。
引き続き、電圧V3よりΔVだけ高い電圧V4を用いて読み出し動作を行う。この時のオンセル数がM4であり、(M3−M2)<(M4−M3)であったとすれば、図17(c)のようなヒストグラムが得られる。
以上の結果、オンセル数変化量によって、図17(c)における一点鎖線で示されるような閾値電圧分布を推測することができ、ステート“A”とステート“B”との間の谷位置が電圧V2と電圧V3との間にあることが推定できる。その後、推定された谷位置に対応する読み出し電圧を用いて読み出し動作が行われる。なお、トラッキング動作は、実際の閾値電圧分布に基づいて最適な読み出し電圧を正確に推定できるが、読み出し電圧を決定するまでに行うリード回数が多いため、リード性能低下を起こしやすい。
[1−3] 第1実施形態の効果
以上詳述したように第1実施形態では、メモリシステム2は、データを格納するメモリセルアレイ20を備えたNAND型フラッシュメモリ(不揮発性半導体メモリ)3と、NAND型フラッシュメモリ3の動作を制御し、NAND型フラッシュメモリ3からデータを読み出すメモリコントローラ5とを具備する。メモリコントローラ5は、書き込み動作が終了した直後から始まるショートターム(第1期間)と、ショートタームに続くロングターム(第2期間)とに分けて、NAND型フラッシュメモリ3からデータを読み出すための読み出し電圧を決定する。メモリコントローラ5は、ショートタームの読み出し動作において、経過時間に応じて読み出し電圧を変更し、ロングタームの読み出し動作において、経過時間に関わらず、読み出し電圧を決定するようにしている。
以上詳述したように第1実施形態では、メモリシステム2は、データを格納するメモリセルアレイ20を備えたNAND型フラッシュメモリ(不揮発性半導体メモリ)3と、NAND型フラッシュメモリ3の動作を制御し、NAND型フラッシュメモリ3からデータを読み出すメモリコントローラ5とを具備する。メモリコントローラ5は、書き込み動作が終了した直後から始まるショートターム(第1期間)と、ショートタームに続くロングターム(第2期間)とに分けて、NAND型フラッシュメモリ3からデータを読み出すための読み出し電圧を決定する。メモリコントローラ5は、ショートタームの読み出し動作において、経過時間に応じて読み出し電圧を変更し、ロングタームの読み出し動作において、経過時間に関わらず、読み出し電圧を決定するようにしている。
たとえば、履歴値による方法のみの場合(図9AのステップS106で常時NO、及び図9CのステップS201で固定値を適用)、履歴値がない期間において固定値を用いることにより、最適読み出し電圧を外して1回目の読み出しをしてしまい、1回目の読み出しに失敗する確率が高い。また、ショートターム内においても(リトライリード成功後の)履歴値を記録してしまう。ショートターム内では最適読み出し電圧の時間変化が大きいため、履歴値を使って読み出しても、最適読み出し電圧を外してしまう確率が高い。
また、ショートターム内において、時間に依らない読み出し電圧を用いる方法の場合(ステップS106で常時Noに相当)、最適読み出し電圧の時間変化が大きいショートターム内においても、ある一定の電圧を用いてリードしてしまうことにより、最適読み出し電圧を外してしまう。
一方、第1実施形態によれば、最適な読み出し電圧を用いて、読み出し動作を行うことができる。これにより、メモリシステム2の読み出し性能を向上させることができる。また、読み出し動作においてリトライリードを行う例では、リトライリードの回数を低減することができる。
また、ショートタームにおいて、複数の経過時間と複数の読み出し電圧との対応関係を示す情報を格納する設定値テーブルを備えている。これにより、最適な読み出し電圧の選択をより速く行うことができる。
また、設定値テーブルは、ロングターム用の読み出し電圧を、ステートごとに1種類格納している。これにより、ロングタームにおいても、最適な読み出し電圧を用いて読み出し動作を実行することができる。
また、読み出し動作で使用された読み出し電圧を履歴値として格納するための履歴値テーブルを備えている。そして、ロングターム内の2回目からの読み出し動作では、履歴値テーブルに格納された読み出し電圧を用いて読み出し動作を行うようにしている。これにより、ロングタームにおける2回目からの読み出し動作において、最適な読み出し電圧により近い読み出し電圧を用いることができる。一方、ショートターム内においては、最適な読み出し電圧が短時間で大きく変化するため、前回成功した読み出し電圧で次回も読める可能性が少ない。このため、ショートターム内では、履歴値を記録しない(更新しない)。
また、温度、及びW/E回数などのストレス条件に応じて、ショートタームとロングタームとの境界時刻Tdを変更することができる。さらに、温度、及びW/E回数などのストレス条件に応じて、ショートターム及びロングタームのそれぞれにおいて読み出し電圧を変更することができる。
[2] 第2実施形態
図18A及び図18Bは、第2実施形態に係るメモリシステム2の読み出しシーケンスを説明するフローチャートである。図18A及び図18Bは、ステップS200以降の動作について説明しており、ステップS200より前のステップ、すなわち、図9A及び図9BのステップS100〜S114の動作は、第1実施形態と同じであるため、図9A及び図9Bが援用される。
図18A及び図18Bは、第2実施形態に係るメモリシステム2の読み出しシーケンスを説明するフローチャートである。図18A及び図18Bは、ステップS200以降の動作について説明しており、ステップS200より前のステップ、すなわち、図9A及び図9BのステップS100〜S114の動作は、第1実施形態と同じであるため、図9A及び図9Bが援用される。
図18A及び図18Bに示すように、第2実施形態と第1実施形態との違いは、第1実施形態で説明した図9C及び図9Dのフローチャートに、ステップS400及びステップS401が新たに追加されたことである。
第2実施形態では、ロングタームよりさらに長いロングスタンディング時間が新たに定義される。ロングスタンディング時間は、ショートターム及びロングタームに比べて十分長い時間であり、例えば1日などの期間である。
ステップS200履歴値が存在しない場合(ステップS200=No)、メモリコントローラ5は、経過時間がロングスタンディング時間を超えたか否かを判定する(ステップS400)。
ステップS400において経過時間がロングスタンディング時間を超えた場合(ステップS400=Yes)、メモリコントローラ5は、ロングターム用の設定値テーブルを用い、かつ設定値テーブルから求めた読み出し電圧を負側に所定電圧だけシフトして得られる新たな読み出し電圧を設定する(ステップS401)。ステップS401における電圧のシフト量は、メモリセルトランジスタMTの特性に応じて任意に設計可能である。
経過時間がロングスタンディング時間を超えた場合、データリテンション特性の影響で、閾値電圧分布は、ダウンシフトする。それに合わせて、読み出し電圧は、ロングターム用の設定値テーブルよりさらに負側にシフトされる。
一方、ステップS400において経過時間がロングスタンディング時間を超えていない場合(ステップS400=No)、メモリコントローラ5は、ロングターム用の設定値テーブルを用いて、読み出し電圧を決定する(ステップS201)。その後の動作は、第1実施形態と同じである。
第2実施形態によれば、経過時間がロングスタンディング時間を超えた場合に、リトライリードの回数を低減できる。これにより、読み出し動作にかかる時間(読み出し時間)を短縮することができる。
[3] その他の変形例
ショートタームは比較的短時間のため、ずれた閾値電圧を考慮しなければならないほどのリードディスターブストレスはかからないと想定される。よって、ショートターム内の読み出し電圧は、リードディスターブストレスによる閾値ずれを考慮しないようにしてもよい。
ショートタームは比較的短時間のため、ずれた閾値電圧を考慮しなければならないほどのリードディスターブストレスはかからないと想定される。よって、ショートターム内の読み出し電圧は、リードディスターブストレスによる閾値ずれを考慮しないようにしてもよい。
上記実施形態では、1つのメモリセルトランジスタが3ビットのデータを記憶する場合を例に説明したが、これに限定されない。例えば、1つのメモリセルトランジスタは、2ビットのデータを記憶可能(MLC:Multi-level Cell)であってもよいし、4ビット以上のデータを記憶可能であってもよい。このような実施例においても、上記実施形態で説明した各種動作を実現できる。
上記実施形態では、3次元に積層された複数のメモリセルを備えたNAND型フラッシュメモリを例に挙げて説明している。しかし、これに限定されず、2次元に配置された複数のメモリセルを備えたNAND型フラッシュメモリであってもよい。
上記実施形態において、メモリセルにMONOS膜を使用した場合を例に説明したが、これに限定されない。例えば、フローティングゲート型のメモリセルを用いてもよい。
本明細書において、“接続”とは、電気的に接続されていることを示し、例えば、接続された2つの素子の間に、別の素子を介することを除外しない。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…ホスト装置、2…メモリシステム、3…NAND型フラッシュメモリ、4…DRAM、5…メモリコントローラ、6…温度センサ、10…ホストインターフェース回路、11…プロセッサ、12…SRAM、13…ECC回路、14…NANDインターフェース回路、15…DRAMインターフェース回路、16…タイマー、17…バス、20…メモリセルアレイ、21…入出力回路、22…ロジック制御回路、23…レジスタ、24…シーケンサ、25…電圧生成回路、26…ロウデコーダ、27…カラムデコーダ、28…センスアンプユニット、29…データレジスタ
Claims (15)
- データを格納するメモリセルを備えた不揮発性半導体メモリと、
前記不揮発性半導体メモリの動作を制御し、前記不揮発性半導体メモリからデータを読み出すコントローラと
を具備し、
前記コントローラは、
書き込み動作が終了した直後から始まる第1期間と、前記第1期間に続く第2期間とに分けて、前記不揮発性半導体メモリからデータを読み出すための読み出し電圧を決定し、
前記第1期間の読み出し動作において、前記書き込み動作が終了してからの経過時間に応じて読み出し電圧を変更し、
前記第2期間の読み出し動作において、経過時間に関わらず、読み出し電圧を決定する
メモリシステム。 - 前記第1期間と前記第2期間とで、メモリセルの閾値電圧が低下する速度が異なり、
前記第1期間における前記速度は、第1閾値以上であり、
前記第2期間における前記速度は、前記第1閾値より小さい
請求項1に記載のメモリシステム。 - 第1テーブルを格納する第1メモリをさらに具備し、
前記第1テーブルは、前記第1期間用の複数の読み出し電圧を格納する第1領域を含み、
前記第1領域は、複数の経過時間と前記複数の読み出し電圧との対応関係を示す情報を格納し、
前記コントローラは、前記第1テーブルを用いて、前記第1期間における読み出し電圧を決定する
請求項1又は2に記載のメモリシステム。 - 前記第1テーブルは、前記第2期間用の1つの読み出し電圧を格納する第2領域をさらに含み、
前記コントローラは、前記第1テーブルの前記第2領域を用いて、前記第2期間における読み出し電圧を決定する
請求項3に記載のメモリシステム。 - 前記第1テーブルは、メモリセルの消去回数をそれぞれが示す複数の第1情報を格納し、
前記第1領域は、前記複数の第1情報の各々に対応して設けられ、
前記第2領域は、前記複数の第1情報の各々に対応して設けられる
請求項4に記載のメモリシステム。 - 前記第1テーブルは、温度をそれぞれが示す複数の第2情報を格納し、
前記第1領域は、前記複数の第2情報の各々に対応して設けられ、
前記第2領域は、前記複数の第2情報の各々に対応して設けられる
請求項4に記載のメモリシステム。 - 前記第1メモリは、第2テーブルをさらに格納し、
前記第2テーブルは、読み出し動作ごとに、エラー訂正に成功した読み出し電圧を履歴値として格納し、
前記コントローラは、前記第2期間の2回目以降の読み出し動作において、前記第2テーブルを使用する
請求項3乃至6のいずれかに記載のメモリシステム。 - 前記コントローラは、前記第2期間の1回目の読み出し動作において、前記第1テーブルを使用する
請求項7に記載のメモリシステム。 - 前記第1期間と前記第2期間との境界時刻は、メモリセルの消去回数に応じて変更される
請求項1乃至8のいずれかに記載のメモリシステム。 - 前記第1期間と前記第2期間との境界時刻は、温度に応じて変更される
請求項1乃至8のいずれかに記載のメモリシステム。 - 前記コントローラは、前記読み出し電圧を設定するための第1コマンドを前記不揮発性半導体メモリに送信し、
前記不揮発性半導体メモリは、前記第1コマンドに応答して、読み出し電圧を変更する
請求項1乃至10のいずれかに記載のメモリシステム。 - 前記経過時間を計測するタイマーをさらに具備し、
前記コントローラは、前記タイマーの計測結果を用いて、前記読み出し動作を制御する
請求項1乃至11のいずれかに記載のメモリシステム。 - 前記メモリセルは、閾値電圧に関する複数のステートの1つを取ることが可能であり、
前記読み出し電圧は、前記閾値電圧に関する複数のステートごとに設定される
請求項1乃至12のいずれかに記載のメモリシステム。 - 前記第1期間において、読み出し電圧の履歴値は、更新されない
請求項1乃至13のいずれかに記載のメモリシステム。 - 前記第1期間内の読み出し電圧は、リードディスターブストレスによる閾値ずれが考慮されない
請求項1乃至14のいずれかに記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018034816A JP2019149219A (ja) | 2018-02-28 | 2018-02-28 | メモリシステム |
US16/210,481 US10573394B2 (en) | 2018-02-28 | 2018-12-05 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018034816A JP2019149219A (ja) | 2018-02-28 | 2018-02-28 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019149219A true JP2019149219A (ja) | 2019-09-05 |
Family
ID=67683961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018034816A Pending JP2019149219A (ja) | 2018-02-28 | 2018-02-28 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10573394B2 (ja) |
JP (1) | JP2019149219A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022164611A (ja) * | 2021-04-16 | 2022-10-27 | マイクロン テクノロジー,インク. | メモリデバイスの電圧ビンを較正するための閾値電圧決定 |
JP2023512246A (ja) * | 2020-01-30 | 2023-03-24 | マイクロン テクノロジー,インク. | 可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110246533B (zh) * | 2018-03-09 | 2020-11-13 | 建兴储存科技(广州)有限公司 | 固态储存装置的失败模式检测方法及错误更正方法 |
JP2020113351A (ja) * | 2019-01-10 | 2020-07-27 | キオクシア株式会社 | メモリチップ |
US11320322B2 (en) * | 2019-04-09 | 2022-05-03 | Winbond Electronics Corp. | Temperature sensor evaluation method |
CN110235111B (zh) * | 2019-04-30 | 2020-06-26 | 长江存储科技有限责任公司 | 电子设备和管理闪存的读取电平的方法 |
US11221911B2 (en) * | 2019-10-11 | 2022-01-11 | International Business Machines Corporation | Data recovery due to transient effects in NAND flash memories |
US11163486B2 (en) * | 2019-11-25 | 2021-11-02 | Micron Technology, Inc. | Memory sub-system-bounded memory function |
US11037638B1 (en) * | 2019-12-16 | 2021-06-15 | Micron Technology, Inc. | Write operations to mitigate write disturb |
US20210181990A1 (en) * | 2019-12-16 | 2021-06-17 | Micron Technology, Inc. | Interrupt signaling for a memory device |
KR20220003705A (ko) | 2020-07-02 | 2022-01-11 | 삼성전자주식회사 | 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
US11217320B1 (en) | 2020-08-13 | 2022-01-04 | Micron Technology, Inc. | Bin placement according to program-erase cycles |
JP2022041503A (ja) * | 2020-09-01 | 2022-03-11 | キオクシア株式会社 | メモリシステム |
KR20220056919A (ko) | 2020-10-28 | 2022-05-09 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법 |
JP2022125651A (ja) * | 2021-02-17 | 2022-08-29 | キオクシア株式会社 | 半導体記憶装置 |
US11755237B2 (en) * | 2021-08-31 | 2023-09-12 | Micron Technology, Inc. | Overwriting at a memory system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5349256B2 (ja) | 2009-11-06 | 2013-11-20 | 株式会社東芝 | メモリシステム |
US8971123B2 (en) * | 2012-01-13 | 2015-03-03 | Sandisk Il Ltd | Memory system temperature calibration |
US9535614B2 (en) * | 2013-11-21 | 2017-01-03 | Sandisk Technologies Llc | Temperature based flash memory system maintenance |
US9230663B1 (en) | 2014-08-29 | 2016-01-05 | Sandisk Technologies Inc. | Programming memory with reduced short-term charge loss |
JP6378102B2 (ja) | 2015-01-28 | 2018-08-22 | 東芝メモリ株式会社 | 半導体装置および読み出し方法 |
US10373656B2 (en) * | 2016-09-26 | 2019-08-06 | Toshiba Memory Corporation | Memory system that carries out temperature-based access to a memory chip |
-
2018
- 2018-02-28 JP JP2018034816A patent/JP2019149219A/ja active Pending
- 2018-12-05 US US16/210,481 patent/US10573394B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023512246A (ja) * | 2020-01-30 | 2023-03-24 | マイクロン テクノロジー,インク. | 可変の事前読み出し電圧レベルを使用した不揮発性メモリデバイスにおける書き込み動作の管理 |
JP2022164611A (ja) * | 2021-04-16 | 2022-10-27 | マイクロン テクノロジー,インク. | メモリデバイスの電圧ビンを較正するための閾値電圧決定 |
Also Published As
Publication number | Publication date |
---|---|
US10573394B2 (en) | 2020-02-25 |
US20190267100A1 (en) | 2019-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10573394B2 (en) | Memory system | |
US9627077B2 (en) | Semiconductor memory device storing management data redundantly in different pages | |
US10777239B2 (en) | Semiconductor storage device and memory system | |
US10580501B2 (en) | Semiconductor memory device | |
US10255979B1 (en) | Semiconductor memory device | |
TWI696181B (zh) | 半導體記憶裝置 | |
JP2022020957A (ja) | メモリシステム及び半導体記憶装置 | |
US10803955B2 (en) | Semiconductor memory device | |
US10734091B2 (en) | Memory system | |
US20190391758A1 (en) | Semiconductor memory device | |
JP2019169207A (ja) | 半導体記憶装置 | |
JP2011204298A (ja) | 不揮発性半導体メモリ | |
CN108630274B (zh) | 存储器系统和存储器系统的控制方法 | |
TWI658460B (zh) | Semiconductor memory device and memory system | |
JP2013246849A (ja) | メモリシステム | |
JP2017152066A (ja) | 不揮発性半導体記憶装置及びメモリシステム | |
US11600327B2 (en) | Semiconductor flash memory device with voltage control on completion of a program operation and subsequent to completion of the program operation | |
JP2023037448A (ja) | 半導体記憶装置及びイレーズ検証方法 | |
JP2024046271A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180831 |