JP2022036654A - メモリデバイス及びメモリシステム - Google Patents
メモリデバイス及びメモリシステム Download PDFInfo
- Publication number
- JP2022036654A JP2022036654A JP2020140967A JP2020140967A JP2022036654A JP 2022036654 A JP2022036654 A JP 2022036654A JP 2020140967 A JP2020140967 A JP 2020140967A JP 2020140967 A JP2020140967 A JP 2020140967A JP 2022036654 A JP2022036654 A JP 2022036654A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- command
- memory device
- read
- 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
Images
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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0433—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and one or more separate select transistors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0656—Data buffering 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/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/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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/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
-
- 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
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- 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
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- 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
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- 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
- G11C29/46—Test trigger logic
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50004—Marginal testing, e.g. race, voltage or current testing of threshold voltage
-
- 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
- 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
-
- 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
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
Abstract
【課題】メモリデバイスの信頼性を向上させる。【解決手段】実施形態のメモリデバイスは、メモリセルアレイと、複数のセンスアンプユニットと、コントローラと、レジスタと、を含む。レジスタは、ステータス情報を格納する。複数のセンスアンプモジュールは、データを格納可能なバッファ領域を含む。コントローラが、第1プリフィックスコマンドを受信した後に、書き込み動作を指示する第1コマンドと、前記第1アドレスと、第1データとを含む第1コマンドセットを受信すると、第1データをバッファ領域に格納して、第1記憶領域に書き込む。コントローラは、第1記憶領域に前記第1データを書き込んだ後に、第1データをバッファ領域に維持した状態で、第2データを第1記憶領域から読み出して、バッファ領域に格納する。コントローラは、バッファ領域に格納された第1データと第2データとを比較して、比較の結果に基づいて、ステータス情報を更新する。【選択図】図14
Description
実施形態は、メモリデバイス及びメモリシステムに関する。
データを不揮発に記憶することが可能なNAND型フラッシュメモリが知られている。
メモリデバイスの信頼性を向上させる。
実施形態のメモリデバイスは、メモリセルアレイと、複数のビット線と、複数のセンスアンプユニットと、コントローラと、レジスタと、を含む。メモリセルアレイは、データを不揮発に記憶するメモリセルを含む。複数のビット線は、メモリセルアレイに接続される。複数のセンスアンプユニットは、複数のビット線にそれぞれ接続される。コントローラは、書き込み動作を実行する。レジスタは、書き込み動作のステータス情報を格納する。メモリセルアレイは、第1アドレスで指定される第1記憶領域を含む。複数のセンスアンプモジュールは、データを格納可能なバッファ領域を含む。コントローラが、第1プリフィックスコマンドを受信した後に、書き込み動作を指示する第1コマンドと、前記第1アドレスと、第1データとを含む第1コマンドセットを受信すると、第1データをバッファ領域に格納し、バッファ領域に格納された第1データを第1記憶領域に書き込む。コントローラは、第1記憶領域に前記第1データを書き込んだ後に、第1データをバッファ領域に維持した状態で、第2データを第1記憶領域から読み出し、読み出した第2データをバッファ領域に格納する。コントローラは、バッファ領域に格納された第1データと第2データとを比較し、比較の結果に基づいて、ステータス情報を更新する。
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本発明の技術的思想は、構成要素の形状、構造、配置等によって特定されるものではない。
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同様に、参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。
[1]第1実施形態
以下に、第1実施形態に係るメモリシステム1について説明する。
以下に、第1実施形態に係るメモリシステム1について説明する。
[1-1]構成
[1-1-1]メモリシステムの全体構成
図1は、第1実施形態に係るメモリシステムの構成の一例を示している。図1に示すように、第1実施形態に係るメモリシステム1は、例えばメモリセット10及びメモリコントローラ20を備えている。また、メモリシステム1は、外部のホスト機器30に接続され、ホスト機器30からの命令に応じた動作を実行し得る。
[1-1-1]メモリシステムの全体構成
図1は、第1実施形態に係るメモリシステムの構成の一例を示している。図1に示すように、第1実施形態に係るメモリシステム1は、例えばメモリセット10及びメモリコントローラ20を備えている。また、メモリシステム1は、外部のホスト機器30に接続され、ホスト機器30からの命令に応じた動作を実行し得る。
メモリセット10は、複数のメモリデバイスMD0~15を含んでいる。各メモリデバイスMDは、データを不揮発に記憶するNAND型フラッシュメモリであり、互い異なる半導体チップに形成される。メモリセット10に含まれたメモリデバイスMDの個数は、任意の個数に設計され得る。メモリデバイスMDの詳細な構成については後述する。
メモリコントローラ20は、例えばSoC(System on Chip)であり、ホスト機器30からの命令に応答してメモリデバイスMD0~MD15のそれぞれに対して読み出し、書き込み、及び消去等を命令する。メモリコントローラ20は、例えばCPU(Central Processing Unit)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、ECC(Error Correction Code)回路24、ホストインターフェイス回路25、及びNANDインターフェイス回路26を含んでいる。
CPU21は、メモリコントローラ20全体の動作を制御する。CPU21は、例えばホスト機器30から受信した命令に応じたコマンドを発行して、発行したコマンドをメモリデバイスMDに送信する。また、CPU21は、例えばガベージコレクションやウェアレベリング等、メモリデバイスMDの記憶空間を管理するための様々な処理を実行する。
ROM22は、データを不揮発に保持する読み出し専用の記憶装置である。ROM22は、例えばメモリコントローラ20の制御プログラムや制御データ等を記憶する。
RAM23は、CPU21の作業領域として使用される記憶装置である。RAM23は、例えばメモリデバイスMDの記憶領域を管理するためのルックアップテーブルLUTを記憶する。RAM23としては、例えばDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリが使用される。また、RAM23は、メモリコントローラ20の一時的な記憶領域としても使用される。RAM23は、例えばホスト機器30から受信した書き込みデータや、メモリデバイスMDから受信した読み出しデータ等を一時的に記憶する。尚、メモリコントローラ20には、RAM23のような記憶装置が外部接続されても良い。
ECC回路24は、データのエラー訂正処理を実行する。例えば、書き込み動作時に、ECC回路24は、ホスト機器30から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時に、ECC回路24は、メモリデバイスMDから受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーの検出及び訂正をする。
ホストインターフェイス回路25は、ホスト機器30と接続され、メモリコントローラ20とホスト機器30との間のデータ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路25は、例えばSATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)TM等の通信インターフェイス規格をサポートし得る。
NANDインターフェイス回路26は、メモリデバイスMDと接続され、メモリデバイスMDとメモリコントローラ20との間におけるデータ、コマンド、及びアドレスの転送を制御する。NANDインターフェイス回路26とメモリデバイスMDとの間の接続は、NANDインターフェイス規格をサポートしている。例えば、NANDインターフェイス回路26は、並列に制御可能であるチャネルCH0~CH3を備えている。チャネルCH0は、メモリデバイスMD0、MD4、MD8及びMD12に接続され、チャネルCH1は、メモリデバイスMD1、MD5、MD9及びMD13に接続され、チャネルCH2は、メモリデバイスMD2、MD6、MD10及びMD14に接続され、チャネルCH3は、メモリデバイスMD3、MD7、MD11及びMD15に接続されている。
本明細書では、並列に制御される複数のメモリデバイスMDの組のことを“バンク”と呼ぶ。本例では、メモリセット10が、4つのバンクB0~B3を含んでいる。バンクB0は、メモリデバイスMD0~MD3を含み、バンクB1は、メモリデバイスMD4~MD7を含み、バンクB2は、メモリデバイスMD8~MD11を含み、バンクB3は、メモリデバイスMD12~MD15を含んでいる。共通のチャネルCHに接続された複数のメモリデバイスMDは、メモリデバイスMDとNANDインターフェイス回路26との間の通信を伴う動作を除き、並列に動作することが出来る。尚、メモリセット10が備えるメモリデバイスMDの数と、バンク及びチャネルの構成とは、任意に設計され得る。
[1-1-2]メモリデバイスMDの構成
図2は、第1実施形態に係るメモリデバイスMDの構成の一例を示している。図2に示すように、メモリデバイスMDは、例えば入出力回路101、レジスタセット102、ロジック制御回路103、シーケンサ104、レディビジー制御回路105、ドライバ回路106、メモリセルアレイ107、ロウデコーダモジュール108、センスアンプモジュール109、及びカウンタ110を含んでいる。
図2は、第1実施形態に係るメモリデバイスMDの構成の一例を示している。図2に示すように、メモリデバイスMDは、例えば入出力回路101、レジスタセット102、ロジック制御回路103、シーケンサ104、レディビジー制御回路105、ドライバ回路106、メモリセルアレイ107、ロウデコーダモジュール108、センスアンプモジュール109、及びカウンタ110を含んでいる。
入出力回路101は、例えば8ビット幅の入出力信号I/O0~I/O7を、メモリコントローラ20との間で送受信する。入出力信号I/Oは、データ、ステータス情報、アドレス情報、コマンド等を含み得る。また、入出力回路101は、センスアンプモジュール109との間でデータDATを送受信する。
レジスタセット102は、ステータスレジスタ102A、アドレスレジスタ102B、及びコマンドレジスタ102Cを含んでいる。ステータスレジスタ102A、アドレスレジスタ102B、及びコマンドレジスタ102Cは、それぞれステータス情報STS、アドレス情報ADD、及びコマンドCMDを保持する。ステータス情報STSは、メモリコントローラ20からの指示に基づいてステータスレジスタ102Aから入出力回路101に転送され、メモリコントローラ20に出力される。アドレス情報ADDは、入出力回路101からアドレスレジスタ102Bに転送され、ブロックアドレス、ページアドレス、カラムアドレス等を含み得る。コマンドCMDは、入出力回路101からコマンドレジスタ102Cに転送され、メモリデバイスMDの各種動作に関する命令を含んでいる。
ロジック制御回路103は、メモリコントローラ20から受信した制御信号に基づいて、入出力回路101及びシーケンサ104のそれぞれを制御する。このような制御信号としては、例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、及びライトプロテクト信号WPnが使用される。チップイネーブル信号CEnは、メモリデバイスMDをイネーブルにする信号である。コマンドラッチイネーブル信号CLEは、受け取った入出力信号I/OがコマンドCMDであることを入出力回路101に通知する信号である。アドレスラッチイネーブル信号ALEは、受け取った入出力信号I/Oがアドレス情報ADDであることを入出力回路101に通知する信号である。ライトイネーブル信号WEnは、入出力信号I/Oの入力を入出力回路101に命令する信号である。リードイネーブル信号REnは、入出力信号I/Oの出力を入出力回路101に命令する信号である。ライトプロテクト信号WPnは、電源のオンオフ時にメモリデバイスMDを保護状態にする信号である。
シーケンサ104は、メモリデバイスMDの全体の動作を制御する。例えば、シーケンサ104は、コマンドレジスタ102Cに保持されたコマンドCMDと、アドレスレジスタ102Bに保持されたアドレス情報ADDとに基づいて、読み出し動作、書き込み動作、消去動作等を実行する。また、シーケンサ104は、メモリデバイスMDの動作及び状態に基づいて、ステータスレジスタ102A内のステータス情報STSを更新する。
レディビジー制御回路105は、シーケンサ104の動作状態に基づいて、レディビジー信号RBnを生成する。レディビジー信号RBnは、メモリデバイスMDがレディ状態であるかビジー状態であるかを、メモリコントローラ20に通知する信号である。本明細書において“レディ状態”は、メモリデバイスMDがメモリコントローラ20からの命令を受け付ける状態であることを示し、“ビジー状態”は、メモリデバイスMDがメモリコントローラ20からの命令を受け付けない状態であることを示している。
ドライバ回路106は、読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、ドライバ回路106は、生成した電圧を、メモリセルアレイ107、ロウデコーダモジュール108、及びセンスアンプモジュール109に供給する。
メモリセルアレイ107は、複数のブロックBLK0~BLKn(nは1以上の整数)を含んでいる。ブロックBLKは、データを不揮発に記憶することが可能な複数のメモリセルトランジスタの集合である。ブロックBLKは、例えばデータの消去単位として使用される。また、メモリセルアレイ107には、複数のビット線BL0~BLm(mは1以上の整数)と、複数のワード線と、ソース線と、ウェル線とが設けられる。各メモリセルトランジスタは、1本のビット線BLと1本のワード線とに関連付けられている。
ロウデコーダモジュール108は、ブロックアドレスに基づいて、動作対象のブロックBLKを選択する。そして、ロウデコーダモジュール108は、ドライバ回路106から供給された電圧を、選択したブロックBLK内の各種配線に転送する。また、ロウデコーダモジュール108は、複数のロウデコーダRD0~RDnを含んでいる。ロウデコーダRD0~RDnは、それぞれブロックBLK0~BLKnに関連付けられている。
センスアンプモジュール109は、読み出し動作時に、メモリセルアレイ107からデータを読み出し、読み出したデータを入出力回路101に転送する。また、センスアンプモジュール109は、書き込み動作時に、入出力回路101から受け取ったデータに基づいて、ビット線BLに所望の電圧を印加する。例えば、センスアンプモジュール109は、複数のセンスアンプユニットSAU0~SAUmを含んでいる。センスアンプユニットSAU0~SAUmは、それぞれビット線BL0~BLmに関連付けられている。
カウンタ110は、例えばセンスアンプモジュール109から転送された“1”データの数、若しくは“0”データの数をカウントする。そして、カウンタ110は、カウント結果をシーケンサ104に転送する。カウンタ110は、例えば書き込み動作時におけるベリファイパスの判定に使用される。また、カウンタ110は、後述する不良検知読み出し動作に使用され、ワード線の不良の有無の判定にも使用される。
[1-1-3]メモリデバイスMDの回路構成
(メモリセルアレイ107の回路構成について)
図3は、第1実施形態に係るメモリデバイスMDの備えるメモリセルアレイ107の回路構成の一例を示し、メモリセルアレイ107に含まれた複数のブロックBLKのうち1つのブロックBLKを表示している。図3に示すように、ブロックBLKは、例えば4つのストリングユニットSU0~SU3を含んでいる。
(メモリセルアレイ107の回路構成について)
図3は、第1実施形態に係るメモリデバイスMDの備えるメモリセルアレイ107の回路構成の一例を示し、メモリセルアレイ107に含まれた複数のブロックBLKのうち1つのブロックBLKを表示している。図3に示すように、ブロックBLKは、例えば4つのストリングユニットSU0~SU3を含んでいる。
各ストリングユニットSUは、ビット線BL0~BLm(mは1以上の整数)にそれぞれ関連付けられた複数のNANDストリングNSを含んでいる。各NANDストリングNSは、例えばメモリセルトランジスタMT0~MT7、並びに選択トランジスタST1及びST2を含んでいる。メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データを不揮発に保持する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
各NANDストリングNSにおいて、メモリセルトランジスタMT0~MT7は、直列に接続される。選択トランジスタST1のドレインは、関連付けられたビット線BLに接続される。選択トランジスタST1のソースは、直列に接続されたメモリセルトランジスタMT0~MT7の一端に接続される。選択トランジスタST2のドレインは、直列に接続されたメモリセルトランジスタMT0~MT7の他端に接続される。選択トランジスタST2のソースは、ソース線CELSRCに接続される。
同一のブロックBLKにおいて、メモリセルトランジスタMT0~MT7の制御ゲートは、それぞれワード線WL0~WL7に接続される。ストリングユニットSU0内の複数の選択トランジスタST1及びST2は、それぞれ選択ゲート線SGD0及びSGS0に接続される。ストリングユニットSU1内の複数の選択トランジスタST1及びST2は、それぞれ選択ゲート線SGD1及びSGS1に接続される。ストリングユニットSU2内の複数の選択トランジスタST1及びST2は、それぞれ選択ゲート線SGD2及びSGS2に接続される。ストリングユニットSU3内の複数の選択トランジスタST1及びST2は、それぞれ選択ゲート線SGD3及びSGS3に接続される。ビット線BLは、同一のカラムアドレスが割り当てられたNANDストリングNSによって共有される。ソース線CELSRCは、例えば複数のブロックBLK間で共有される。
本明細書では、1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合ことを、“セルユニットCU”と呼ぶ。例えば、各々が1ビットデータを記憶する複数のメモリセルトランジスタMTを含むセルユニットCUの記憶容量が、“1ページデータ”として定義される。セルユニットCUは、1つのメモリセルトランジスタMTが記憶するデータのビット数に応じて、2ページデータ以上の記憶容量を有し得る。
尚、第1実施形態に係るメモリデバイスMDが備えるメモリセルアレイ107の回路構成は、以上で説明された構成に限定されない。例えば、各ブロックBLKが含むストリングユニットSUの個数や、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数は、それぞれ任意の個数でも良い。選択ゲート線SGSは、ストリングユニットSU毎に分離されていても良い。NANDストリングNSは、ダミーのメモリセルトランジスタを含んでいても良い。
(センスアンプモジュール109の回路構成について)
図4は、第1実施形態に係るメモリデバイスMDが備えるセンスアンプモジュール109に含まれたセンスアンプユニットSAUの回路構成の一例を示している。図4に示すように、センスアンプユニットSAUは、例えばビット線接続部BLHU、センスアンプ部SA、ラッチ回路SDL、ADL、BDL、CDL、DDL及びXDL、並びにバスLBUSを含んでいる。
図4は、第1実施形態に係るメモリデバイスMDが備えるセンスアンプモジュール109に含まれたセンスアンプユニットSAUの回路構成の一例を示している。図4に示すように、センスアンプユニットSAUは、例えばビット線接続部BLHU、センスアンプ部SA、ラッチ回路SDL、ADL、BDL、CDL、DDL及びXDL、並びにバスLBUSを含んでいる。
センスアンプ部SAは、トランジスタT0~T7及びキャパシタCPを含んでいる。ビット線接続部BLHUは、トランジスタT8を含んでいる。ラッチ回路SDLは、インバータIV0及びIV1、並びにトランジスタT10及びT11を含んでいる。トランジスタT0は、P型のMOSトランジスタである。トランジスタT1~T7、T10及びT11のそれぞれは、N型のMOSトランジスタである。トランジスタT8は、トランジスタT0~T7のそれぞれよりも高耐圧なN型のMOSトランジスタである。
トランジスタT0のソースは、電源線に接続される。トランジスタT0のドレインは、ノードND1に接続される。トランジスタT0のゲートは、ラッチ回路SDL内のノードSINVに接続される。トランジスタT1のドレインは、ノードND1に接続される。トランジスタT1のソースは、ノードND2に接続される。トランジスタT1のゲートには、制御信号BLXが入力される。トランジスタT2のドレインは、ノードND1に接続される。トランジスタT2のソースは、ノードSENに接続される。トランジスタT2のゲートには、制御信号HLLが入力される。
トランジスタT3のドレインは、ノードSENに接続される。トランジスタT3のソースは、ノードND2に接続される。トランジスタT3のゲートには、制御信号XXLが入力される。トランジスタT4のドレインは、ノードND2に接続される。トランジスタT4のゲートには、制御信号BLCが入力される。トランジスタT5のドレインは、ノードND2に接続される。トランジスタT5のソースは、ノードSRCに接続される。トランジスタT5のゲートは、例えばラッチ回路SDL内のノードSINVに接続される。
トランジスタT6のソースは、接地される。トランジスタT6のゲートは、ノードSENに接続される。トランジスタT7のドレインは、バスLBUSに接続される。トランジスタT7のソースは、トランジスタT6のドレインに接続される。トランジスタT7のゲートには、制御信号STBが入力される。キャパシタCPの一方電極は、ノードSENに接続される。キャパシタCPの他方電極には、クロック信号CLKが入力される。トランジスタT8のドレインは、トランジスタT4のソースに接続される。トランジスタT8のソースは、関連付けられたビット線BLに接続される。トランジスタT8のゲートには、制御信号BLSが入力される。
インバータIV0の入力ノードは、ノードSLATに接続される。インバータIV0の出力ノードは、ノードSINVに接続される。インバータIV1の入力ノードは、ノードSINVに接続される。インバータIV1の出力ノードは、ノードSLATに接続される。トランジスタT10の一端は、ノードSINVに接続される。トランジスタT10の他端は、バスLBUSに接続される。トランジスタT10のゲートには、制御信号STIが入力される。トランジスタT11の一端は、ノードSLATに接続される。トランジスタT11の他端は、バスLBUSに接続される。トランジスタT11のゲートには、制御信号STLが入力される。例えば、ノードSLATに保持されるデータが、ラッチ回路SDLに保持されるデータに相当する。一方で、ノードSINVに保持されるデータが、ノードSLATに保持されるデータの反転データに相当する。
ラッチ回路ADL、BDL、CDL、DDL及びXDLの回路構成は、例えばラッチ回路SDLと同様である。例えば、ラッチ回路ADLは、ノードALATにおいてデータを保持し、ノードAINVにおいてその反転データを保持する。そして、ラッチ回路ADLのトランジスタT10のゲートには制御信号ATIが入力され、ラッチ回路ADLのトランジスタT11のゲートには制御信号ATLが入力される。ラッチ回路BDLは、ノードBLATにおいてデータを保持し、ノードBINVにおいてその反転データを保持する。そして、ラッチ回路BDLのトランジスタT10のゲートには制御信号BTIが入力され、ラッチ回路BDLのトランジスタT11のゲートには制御信号BTLが入力される。ラッチ回路CDL、DDL及びXDLについても同様のため、説明を省略する。
以上で説明されたセンスアンプユニットSAUの回路構成において、トランジスタT0のソースに接続された電源線には、例えば電源電圧VDDが印加される。ノードSRCには、例えば接地電圧VSSが印加される。制御信号BLX、HLL、XXL、BLC、STB、BLS、STI及びSTL並びにクロック信号CLKのそれぞれは、例えばシーケンサ14によって生成される。ノードSENは、センスアンプ部SAのセンスノードと呼ばれても良い。センスアンプ部SAは、例えば読み出し動作時に制御信号STBがアサートされると、関連付けられたビット線BLの電圧に基づいて、読み出しデータが“0”であるか“1”であるかを判定する。言い換えると、センスアンプ部SAは、対応するビット線BLに読み出されたデータをセンスして、選択されたメモリセルの記憶するデータを判定する。本例において、制御信号をアサートすることは、“L”レベルの電圧を一時的に“H”レベルの電圧に変化させることに対応している。
センスアンプ部SA、並びにラッチ回路SDL、ADL、BDL、CDL、DDL及びXDLは、バスLBUSに共通に接続される。ラッチ回路SDL、ADL、BDL、CDL、DDL及びXDLは、バスLBUSを介して互いにデータを送受信することが出来る。ラッチ回路SDL、ADL、BDL及びXDLのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。ラッチ回路XDLは、センスアンプユニットSAUと入出力回路101との間のデータの入出力に使用される。また、ラッチ回路XDLは、例えばメモリデバイスのキャッシュメモリとしても使用され得る。メモリデバイスMDは、少なくともラッチ回路XDLが空いていれば、レディ状態に遷移することが出来る。また、ラッチ回路XDLは、カウンタ110にデータを転送することも出来る。
尚、第1実施形態に係るメモリデバイスMDが備えるセンスアンプモジュール109の回路構成は、以上で説明された構成に限定されない。例えば、各センスアンプユニットSAUが備えるラッチ回路の個数は、1つのセルユニットCUが記憶するページ数に基づいて適宜変更され得る。センスアンプユニットSAUは、簡単な論理演算を実行することが可能な演算回路を含んでいても良い。ゲートがセンスノードに接続されるトランジスタがP型のトランジスタである場合に、制御信号STBをアサートすることは、“H”レベルの電圧を一時的に“L”レベルの電圧に変化させることに対応し得る。
[1-1-4]データの記憶方式について
第1実施形態に係るメモリシステム1は、1つのメモリセルトランジスタMTに記憶させるデータのビット数に応じた複数種類の書き込みモードを使用することが出来る。例えば、第1実施形態に係るメモリシステム1は、SLC(Single-Level Cell)モード、MLC(Multi-Level Cell)モード、TLC(Triple-Level Cell)モード、QLC(Quadruple-Level Cell)モードのうち、少なくとも1つの書き込みモードを使用する。SLCモード、MLCモード、TLCモード、及びQLCモードは、1つのメモリセルトランジスタMTに対して、それぞれ1ビットデータ、2ビットデータ、3ビットデータ、及び4ビットデータを記憶させる書き込みモードである。
第1実施形態に係るメモリシステム1は、1つのメモリセルトランジスタMTに記憶させるデータのビット数に応じた複数種類の書き込みモードを使用することが出来る。例えば、第1実施形態に係るメモリシステム1は、SLC(Single-Level Cell)モード、MLC(Multi-Level Cell)モード、TLC(Triple-Level Cell)モード、QLC(Quadruple-Level Cell)モードのうち、少なくとも1つの書き込みモードを使用する。SLCモード、MLCモード、TLCモード、及びQLCモードは、1つのメモリセルトランジスタMTに対して、それぞれ1ビットデータ、2ビットデータ、3ビットデータ、及び4ビットデータを記憶させる書き込みモードである。
図5は、第1実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの閾値電圧の分布の一例であり、SLCモード、MLCモード、TLCモード、及びQLCモードにそれぞれ対応する4種類の閾値電圧分布及び読み出し電圧のグループを示している。縦軸の“NMTs”は、メモリセルトランジスタMTの個数を示している。横軸の“Vth”は、メモリセルトランジスタMTの閾値電圧を示している。図5に示すように、複数のメモリセルトランジスタMTは、適用される書き込みモード、すなわち記憶するデータのビット数に応じて複数の閾値電圧分布を形成する。
SLCモード(1bit/cell)が使用された場合、2つのステートが、複数のメモリセルトランジスタMTの閾値電圧によって形成される。この2つのステートは、例えば閾値電圧の低い方から順に、それぞれ“S0”ステート、“S1”ステートと呼ばれる。SLCモードでは、互いに異なる1ビットデータが、“S0”及び“S1”ステートのそれぞれに割り当てられる。
MLCモード(2bit/cell)が使用された場合、4つのステートが、複数のメモリセルトランジスタMTの閾値電圧によって形成される。この4つのステートは、例えば閾値電圧の低い方から順に、それぞれ“S0”ステート、“S1”ステート、“S2”ステート、“S3”ステートと呼ばれる。MLCモードでは、互いに異なる2ビットデータが、“S0”~“S3”ステートのそれぞれに割り当てられる。
TLCモード(3bit/cell)が使用された場合、8つのステートが、複数のメモリセルトランジスタMTの閾値電圧によって形成される。この8つのステートは、例えば閾値電圧の低い方から順に、それぞれ“S0”ステート、“S1”ステート、“S2”ステート、“S3”ステート、“S4”ステート、“S5”ステート、“S6”ステート、“S7”ステートと呼ばれる。TLC方式では、互いに異なる3ビットデータが、“S0”~“S7”ステートのそれぞれに割り当てられる。
QLCモード(4bit/cell)が使用された場合、16つのステートが、複数のメモリセルトランジスタMTの閾値電圧によって形成される。この16つのステートは、例えば閾値電圧の低い方から順に、それぞれ“S0”ステート、“S1”ステート、“S2”ステート、“S3”ステート、“S4”ステート、“S5”ステート、“S6”ステート、“S7”ステート、“S8”ステート、“S9”ステート、“S10”ステート、“S11”ステート、“S12”ステート、“S13”ステート、“S14”ステート、“S15”ステートと呼ばれる。QLC方式では、互いに異なる4ビットデータが、“S0”~“S15”ステートのそれぞれに割り当てられる。
各書き込みモードにおいて、読み出し電圧が、隣り合うステートの間のそれぞれに設定される。具体的には、読み出し電圧R1が、“S0”及び“S1”ステートの間に設定される。読み出し電圧R2が、“S1”及び“S2”ステートの間に設定される。読み出し電圧R3が、“S2”及び“S3”ステートの間に設定される。読み出し電圧R4が、“S3”及び“S4”ステートの間に設定される。読み出し電圧R5が、“S4”及び“S5”ステートの間に設定される。読み出し電圧R6が、“S5”及び“S6”ステートの間に設定される。読み出し電圧R7が、“S6”及び“S7”ステートの間に設定される。読み出し電圧R8が、“S7”及び“S8”ステートの間に設定される。読み出し電圧R9が、“S8”及び“S9”ステートの間に設定される。読み出し電圧R10が、“S9”及び“S10”ステートの間に設定される。読み出し電圧R11が、“S10”及び“S11”ステートの間に設定される。読み出し電圧R12が、“S11”及び“S12”ステートの間に設定される。読み出し電圧R13が、“S12”及び“S13”ステートの間に設定される。読み出し電圧R14が、“S13”及び“S14”ステートの間に設定される。読み出し電圧R15が、“S14”及び“S15”ステートの間に設定される。
各書き込みモードでは、読み出しパス電圧VREADが、最も閾値電圧が高いステートよりも高い電圧に設定される。読み出しパス電圧VREADがゲートに印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオン状態になる。また、各書き込みモードにおいて、隣り合う閾値分布の間には、それぞれベリファイ電圧が設定される。具体的には、書き込み動作において、“S1”~“S15”ステートのそれぞれのベリファイ動作には、それぞれベリファイ電圧V1~V15が使用される。例えば、ベリファイ電圧V1~V15は、それぞれ読み出し電圧R1~R15よりも高い電圧に設定される。
図6は、第1実施形態に係るメモリシステム1で使用されるTLCモードのデータの割り当ての一例を示している。図6に示すように、TLCモードでは、互いに異なる3ビットデータが、8つのステートのそれぞれに割り当てられる。以下に、8つのステートに対するデータの割り付けの一例を羅列する。
“S0”ステート:“111(上位ビット/中位ビット/下位ビット)”データ
“S1”ステート:“110”データ
“S2”ステート:“100”データ
“S3”ステート:“000”データ
“S4”ステート:“010”データ
“S5”ステート:“011”データ
“S6”ステート:“001”データ
“S7”ステート:“101”データ
“S1”ステート:“110”データ
“S2”ステート:“100”データ
“S3”ステート:“000”データ
“S4”ステート:“010”データ
“S5”ステート:“011”データ
“S6”ステート:“001”データ
“S7”ステート:“101”データ
TLCモードで図6に示されたデータの割り当てが適用された場合、下位ビットで構成される1ページデータ(下位ページデータ)は、読み出し電圧R1及びR5を用いた読み出し動作によって確定する。中位ビットで構成される1ページデータ(中位ページデータ)は、読み出し電圧R2、R4及びR6を用いた読み出し動作によって確定する。上位ビットで構成される1ページデータ(上位ページデータ)は、読み出し電圧R3及びR7を用いた読み出し動作によって確定する。複数の読み出し電圧が使用されるページの読み出し動作では、演算処理がセンスアンプユニットSAU内で適宜実行される。
尚、以上で説明されたメモリシステム1が使用する書き込みモードは、あくまで一例である。各メモリセルトランジスタMTには、5ビット以上のデータが記憶されても良い。また、読み出し電圧、読み出しパス電圧、ベリファイ電圧のそれぞれは、各書き込みモードで同じ電圧値に設定されても良いし、異なる電圧値に設定されても良い。また、TLCモードで使用されるデータの割り当ては、図6に示された割り当てに限定されない。各書き込みモードにおけるデータの割り当ては、任意に設計され得る。
[1-2]動作
次に、第1実施形態に係るメモリデバイスMDの動作について説明する。以下の説明では、選択されたワード線WLのことをWLselと呼び、非選択のワード線WLのことをWLuselと呼ぶ。ワード線WLに電圧が印加されることは、ドライバ回路106がロウデコーダモジュール108を介して当該ワード線WLに電圧を印加することに対応している。メモリデバイスMDが受信したアドレス情報ADD及びコマンドCMDは、それぞれアドレスレジスタ102B及びコマンドレジスタ102Cに転送される。メモリデバイスMDが受信した書き込みデータは、センスアンプモジュール109に含まれた各センスアンプユニットSAU内のラッチ回路XDLに転送される。
次に、第1実施形態に係るメモリデバイスMDの動作について説明する。以下の説明では、選択されたワード線WLのことをWLselと呼び、非選択のワード線WLのことをWLuselと呼ぶ。ワード線WLに電圧が印加されることは、ドライバ回路106がロウデコーダモジュール108を介して当該ワード線WLに電圧を印加することに対応している。メモリデバイスMDが受信したアドレス情報ADD及びコマンドCMDは、それぞれアドレスレジスタ102B及びコマンドレジスタ102Cに転送される。メモリデバイスMDが受信した書き込みデータは、センスアンプモジュール109に含まれた各センスアンプユニットSAU内のラッチ回路XDLに転送される。
[1-2-1]書き込み動作の概要
第1実施形態に係るメモリデバイスMDは、書き込み動作において、複数の書き込みモードを使い分けることが出来る。複数の書き込みモードは、少なくとも通常モードと不良検知モードとを含んでいる。不良検知モードの書き込み動作は、データを書き込んだ後に、不良検知読み出し及び比較処理を実行する。不良検知読み出し及び比較処理は、書き込まれたデータが正しく記憶されているかどうかを確認する動作である。一方で、通常モードの書き込み動作は、不良検知モードに対して、不良検知読み出し及び比較処理が省略された書き込み動作に対応している。通常モードの書き込み動作と、不良検知モードの書き込み動作とのそれぞれの詳細については後述する。
第1実施形態に係るメモリデバイスMDは、書き込み動作において、複数の書き込みモードを使い分けることが出来る。複数の書き込みモードは、少なくとも通常モードと不良検知モードとを含んでいる。不良検知モードの書き込み動作は、データを書き込んだ後に、不良検知読み出し及び比較処理を実行する。不良検知読み出し及び比較処理は、書き込まれたデータが正しく記憶されているかどうかを確認する動作である。一方で、通常モードの書き込み動作は、不良検知モードに対して、不良検知読み出し及び比較処理が省略された書き込み動作に対応している。通常モードの書き込み動作と、不良検知モードの書き込み動作とのそれぞれの詳細については後述する。
図7は、第1実施形態に係るメモリシステム1の書き込み動作の流れの一例を示している。図7に示すように、まずメモリコントローラ20が、ホスト機器30から書き込みデータを受信する(ステップS100)。すると、メモリコントローラ20は、受信した書き込みデータを、RAM23に格納する。続けて、メモリコントローラ20は、受信した書き込みデータの書き込み先を決定する(ステップS101)。書き込み先の決定には、例えばRAM23に展開された記憶領域の管理テーブルが参照される。
次に、メモリコントローラ20は、不良検知を実行するか否かを確認する(ステップS102)。不良検知を実行しない場合(ステップS102、NO)、メモリコントローラ20は、書き込みモードを通常モードに設定する(ステップS103)。一方で、不良検知を実行する場合(ステップS102、YES)、メモリコントローラ20は、書き込みモードを不良検知モードに設定する(ステップS104)。ステップS103又はS104の後に、メモリコントローラ20は、メモリデバイスMDに対して、書き込みデータを転送し、設定された書き込みモードに応じた書き込み動作の実行を指示する。
メモリデバイスMDの書き込み動作が完了すると、メモリコントローラ20は、メモリデバイスMDからステータス情報を読み出し、書き込み動作のステータスがパスになっているか否かを確認する(ステップS106)。ステータスパスでない場合(ステップS106、NO)、メモリコントローラ20は、ステップS101の処理に戻り、書き込み先を変更して書き込み動作を実行する。一方で、ステータスパスである場合(ステップS106、YES)、メモリコントローラ20は、ホスト機器30から受信した書き込みデータが書き込まれたアドレスに基づいて、ルックアップテーブルLUTを更新する(ステップS107)。その後、メモリコントローラ20は、RAM23に保持された書き込みデータを破棄して、当該書き込みデータの書き込み動作を終了する。
[1-2-2]通常モードの書き込み動作
以下に、第1実施形態に係るメモリシステム1の通常モードの書き込み動作について、データの記憶方式にTLCモード(3bit/cell)が適用された場合を例に説明する。
以下に、第1実施形態に係るメモリシステム1の通常モードの書き込み動作について、データの記憶方式にTLCモード(3bit/cell)が適用された場合を例に説明する。
(通常モードの書き込み動作のコマンドシーケンスについて)
図8は、第1実施形態に係るメモリシステム1の通常モードの書き込み動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、通常モードの書き込み動作において、以下で詳述される図8(1)~(5)の動作を順に実行する。
図8は、第1実施形態に係るメモリシステム1の通常モードの書き込み動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、通常モードの書き込み動作において、以下で詳述される図8(1)~(5)の動作を順に実行する。
まず、図8(1)に示すように、メモリコントローラ20が、書き込み先のセルユニットCUに割り当てられた3ページデータのうち1ページ目のデータ(TLCモードにおける下位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20が、コマンド“01h”、コマンド“80h”、アドレス情報“ADD”、下位ページの書き込みデータ“Din”、コマンド“1Ah”を、この順番に、メモリデバイスMDに送信する。コマンド“01h”は、1ページ目のデータに対応する動作を指示するコマンドである。コマンド“80h”は、書き込み動作を指示するコマンドである。アドレス情報“ADD”は、書き込み先のセルユニットCUに割り当てられたアドレスを含んでいる。コマンド“1Ah”は、ラッチ回路XDLに保持されたデータの、その他のラッチ回路への転送を指示するコマンドである。メモリデバイスMDは、コマンド“1Ah”を受信すると、一時的にビジー状態に遷移して、下位ページデータをラッチ回路XDLから例えばラッチ回路ADLに転送させる。
次に、図8(2)に示すように、メモリコントローラ20が、書き込み先のセルユニットCUに割り当てられた3ページデータのうち2ページ目のデータ(TLCモードにおける中位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20が、コマンド“02h”、コマンド“80h”、アドレス情報“ADD”、中位ページの書き込みデータ“Din”、コマンド“1Ah”を、この順番に、メモリデバイスMDに送信する。コマンド“02h”は、2ページ目のデータに対応する動作を指示するコマンドである。メモリデバイスMDは、コマンド“1Ah”を受信すると、一時的にビジー状態に遷移して、中位ページデータをラッチ回路XDLから例えばラッチ回路BDLに転送させる。
次に、図8(3)に示すように、メモリコントローラ20が、書き込み先のセルユニットCUに割り当てられた3ページデータのうち3ページ目のデータ(TLCモードにおける上位ページデータ)を含むコマンドセットを、メモリデバイスMDに転送する。具体的には、メモリコントローラ20が、コマンド“03h”、コマンド“80h”、アドレス情報ADD”、上位ページの書き込みデータ“Din”、コマンド“10h”を、この順番に、メモリデバイスMDに送信する。コマンド“03h”は、3ページ目のデータに対応する動作を指示するコマンドである。コマンド“10h”は、例えばラッチ回路XDLに格納された上位ページデータをラッチ回路CDLに転送させた後に書き込み動作を開始することを指示するコマンドである。
メモリデバイスMDは、コマンド“10h”を受信すると、図8(4)に示すように、レディ状態(RBn=“H”レベル)からビジー状態(RBn=“L”レベル)に遷移する。すると、メモリデバイスMDが、例えばラッチ回路ADL、BDL及びCDLに格納された3ビットデータを用いて、通常モードの書き込み動作を実行する。書き込み動作が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、書き込み動作の完了をメモリコントローラ20に通知する。図示された“tProg”は、メモリデバイスMDが書き込み動作を実行している時間に対応している。
書き込み動作が完了して、メモリデバイスMDがビジー状態からレディ状態に遷移すると、図8(5)に示すように、メモリコントローラ20が、ステータスリードを実行する。具体的には、メモリコントローラ20が、コマンド“70h”を、メモリデバイスMDに送信する。コマンド“70h”を受信したメモリデバイスMDは、ステータスレジスタ102Aに格納されたステータス情報“Sout”を、メモリコントローラ20に送信する。このステータス情報“Sout”は、直前に実行された書き込み動作のステータス情報STSを含んでいる。そして、メモリコントローラ20が、ステータス情報“Sout”を参照して、書き込み動作のステータスを確認する(図7のステップS106)。
(通常モードの書き込み動作におけるステータス情報STSについて)
図9は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作におけるステータス情報STSの一例を示している。図9に示すように、通常モードの書き込み動作の後に読み出されるステータス情報STSは、例えば、プログラムフェイル(Loop Max)を示すデータを含んでいる。プログラムフェイル(Loop Max)を示すデータは、例えばI/O0に格納される。例えば、I/O0のデータ“0”は、書き込み動作が正常に完了したことを示している。I/O0のデータ“1”は、所定の回数のプログラムループで書き込みが完了しなかったことを示している。
図9は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作におけるステータス情報STSの一例を示している。図9に示すように、通常モードの書き込み動作の後に読み出されるステータス情報STSは、例えば、プログラムフェイル(Loop Max)を示すデータを含んでいる。プログラムフェイル(Loop Max)を示すデータは、例えばI/O0に格納される。例えば、I/O0のデータ“0”は、書き込み動作が正常に完了したことを示している。I/O0のデータ“1”は、所定の回数のプログラムループで書き込みが完了しなかったことを示している。
また、ステータス情報STSは、例えば、メモリデバイスMDが動作を実行中であるか否かを示すデータ(True busyn)と、キャッシュが空いたか否かを示すデータ(Cache busyn)と、ライトプロテクト信号WPnとを含んでいる。例えば、True busyn、Cache busyn、及びWPnは、それぞれI/O5、I/O6及びI/O7に格納される。尚、通常モードの書き込み動作の後に読み出されるステータス情報STSは、少なくともプログラムフェイル(Loop Max)を示すデータを含んでいれば良い。
通常モードの書き込み動作において、メモリコントローラ20は、ステータス情報STSに含まれたI/O0(プログラムフェイル(Loop Max))にデータ“0”が格納されている場合に、書き込み動作をステータスパスと判定する(図7のステップS106:YES)。一方で、メモリコントローラ20は、ステータス情報STSに含まれたI/O0にデータ“1”が格納されている場合に、書き込み動作をステータスパスでない、すなわちステータスフェイルと判定する(図7のステップS106:NO)。
(通常モードの書き込み動作の流れについて)
図10は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作の流れの一例を示している。以下に、図10を参照して、メモリデバイスMDの通常モードの書き込み動作の流れについて説明する。
図10は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作の流れの一例を示している。以下に、図10を参照して、メモリデバイスMDの通常モードの書き込み動作の流れについて説明する。
まずシーケンサ104は、プログラム動作を実行する(ステップS110)。プログラム動作は、書き込み対象のメモリセルトランジスタMTにプログラム電圧を印加する動作である。プログラム動作では、選択されたセルユニットCU内のメモリセルトランジスタMTが、センスアンプユニットSAU内に保持された書き込みデータに基づいて、プログラム対象又はプログラム禁止に設定される。プログラム対象のメモリセルトランジスタMTでは、プログラム動作によって閾値電圧が上昇する。一方で、プログラム禁止のメモリセルトランジスタMTでは、プログラム動作による閾値電圧の上昇が抑制される。
次に、シーケンサ104は、ベリファイ動作を実行する(ステップS111)。ベリファイ動作は、書き込み対象のメモリセルトランジスタMTの閾値電圧が所望のステートに達したかどうかを判定する読み出し動作である。書き込み動作では、プログラム動作とベリファイ動作との組が複数回実行される。以下では、1回のプログラム動作と1回のベリファイ動作との組のことを、“プログラムループ”と呼ぶ。ベリファイ動作が完了すると、ベリファイ動作の結果が、カウンタ110に転送される。カウンタ110は、例えばステート毎に、ベリファイにパスしていないメモリセルトランジスタMTの数をカウントする。
次に、シーケンサ104が、カウンタ110のカウント結果に基づいて、ベリファイ対象のステートの書き込みが完了しているか否か、すなわちプログラムパスであるか否かを判定する(ステップS112)。プログラムパスでない場合(ステップS112、NO)、シーケンサ104は、現在のプログラムループの回数Nloopが、所定のループ数NloopMAXを超えているか否かを確認する(ステップS113)。“Nloop>NloopMAX”を満たしていない場合(ステップS113、NO)、シーケンサ104は、プログラム電圧VPGMをステップアップさせて(ステップS114)、ステップS110の処理に戻る、すなわち次のプログラムループを実行する。
プログラムループが繰り返し実行されると、未書き込みのステートのデータの区別に必要なラッチ回路の数が少なくなる。そこで、通常モードの書き込み動作では、シーケンサ104が、例えば書き込みの進行に応じてラッチ回路のデータを適宜破棄する。シーケンサ104は、プログラムループを繰り返し実行し、ステップS112の処理で全てのステートのプログラムパスを検知すると(ステップS112、YES)、ステータスパスの情報をステータスレジスタ102Aに格納して、書き込み動作を終了する。一方で、シーケンサ104は、プログラムループの繰り返しによってステップS112の条件が満たされず、ステップS113の処理で“loop>NloopMAX”を満たしたことを検知すると(ステップS113、YES)、ステータスフェイルの情報をステータスレジスタ102Aに格納して、書き込み動作を終了する。
(通常モードの書き込み動作の詳細について)
図11は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作のタイミングチャートの一例を示し、レディビジー信号RBnと、選択されたワード線WLselに印加される電圧とを表示している。尚、書き込み動作を開始する前の初期状態において、選択されたワード線WLselの電圧は、例えばVSSである。図11において、時刻t0は、書き込み開始時の時刻に対応し、時刻t1は、書き込み終了時の時刻に対応している。図11に示すように、シーケンサ104は、通常モードの書き込み動作が開始すると、プログラム動作とベリファイ動作とを含むプログラムループを実行する。
図11は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作のタイミングチャートの一例を示し、レディビジー信号RBnと、選択されたワード線WLselに印加される電圧とを表示している。尚、書き込み動作を開始する前の初期状態において、選択されたワード線WLselの電圧は、例えばVSSである。図11において、時刻t0は、書き込み開始時の時刻に対応し、時刻t1は、書き込み終了時の時刻に対応している。図11に示すように、シーケンサ104は、通常モードの書き込み動作が開始すると、プログラム動作とベリファイ動作とを含むプログラムループを実行する。
プログラム動作では、選択されたワード線WLselにプログラム電圧VPGMが印加される。プログラム電圧VPGMは、メモリセルトランジスタMTの閾値電圧を上昇させることが可能な高電圧である。選択されたワード線WLselにプログラム電圧VPGMが印加されると、プログラム対象のメモリセルトランジスタMTの閾値電圧が上昇する。一方で、プログラム禁止のメモリセルトランジスタMTの閾値電圧の上昇は、例えばセルフブースト技術によって抑制される。
ベリファイ動作では、ベリファイ電圧を用いた読み出し動作が実行される。ベリファイ動作において、選択されたワード線WLselに印加されるベリファイ電圧の種類及び数は、プログラムループの進行に応じて適宜変更される。例えば、初回のプログラムループでは、ベリファイ電圧V1を用いた読み出し動作が実行される。各センスアンプユニットSAUには、保持する書き込みデータに応じて、ベリファイパスの判定に使用するベリファイ電圧が設定される。そして、設定されたベリファイ電圧を超えたメモリセルトランジスタMTが、ベリファイパスと判定される。
以上で説明された動作が、1回のプログラムループに対応している。プログラム電圧VPGMは、プログラムループが繰り返される度にステップアップされ、実行されたプログラムループの回数に応じて高くなる。プログラム電圧VPGMのステップアップ量は、任意の値に設定され得る。そして、シーケンサ104は、プログラムループを繰り返し実行し、全てのステートのプログラムパスを検知する、又はプログラムループの回数が所定の回数を超えたことを検知すると書き込み動作を終了して、メモリデバイスMDをビジー状態からレディ状態に遷移させる。
図12は、第1実施形態に係るメモリデバイスMDの通常モードの書き込み動作におけるラッチ回路の使用方法の一例を示し、図11に対応する書き込み動作中にラッチ回路が保持するデータの推移を表示している。図12に示すように、時刻t0には、例えば、ラッチ回路ADL、BDL及びCDLが、それぞれ下位、中位及び上位ビットの書き込みデータを保持している。そして、時刻t1には、ラッチ回路ADL、BDL及びCDLが、無効なデータを保持している。すなわち、通常モードの書き込み動作では、センスアンプユニットSAU内のラッチ回路に保持された書き込みデータが、例えばデータの書き込みが終了した時点で破棄されている。
[1-2-3]不良検知モードの書き込み動作
以下に、第1実施形態に係るメモリシステム1の不良検知モードの書き込み動作について、データの記憶方式にTLCモード(3bit/cell)が適用された場合を例に、通常モードの書き込み動作と異なる点を説明する。
以下に、第1実施形態に係るメモリシステム1の不良検知モードの書き込み動作について、データの記憶方式にTLCモード(3bit/cell)が適用された場合を例に、通常モードの書き込み動作と異なる点を説明する。
(不良検知モードの書き込み動作のコマンドシーケンスについて)
図13は、第1実施形態に係るメモリシステム1の不良検知モードの書き込み動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、不良検知モードの書き込み動作において、図13(1)~(5)の動作を順に実行する。
図13は、第1実施形態に係るメモリシステム1の不良検知モードの書き込み動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、不良検知モードの書き込み動作において、図13(1)~(5)の動作を順に実行する。
まず、図13(1)に示すように、メモリコントローラ20が、下位ページデータをメモリデバイスMDに転送する。具体的には、メモリコントローラ20が、プリフィックスコマンド“XYh”をメモリデバイスMDに送信する。プリフィックスコマンド“XYh”は、不良検知モードに対応する動作を指示するコマンドである。それから、メモリコントローラ20が、通常モードの書き込み動作における図8(1)と同様に、コマンド、アドレス情報、及び書き込みデータを含むコマンドセットを、メモリデバイスMDに送信する。
次に、図13(2)及び(3)に示すように、メモリコントローラ20が、通常モードの書き込み動作における図8(2)及び(3)と同様に、中位ページデータの転送と、上位ページデータの転送とを、この順番に実行する。上位ページデータの転送では、メモリデバイスMDが、最後にコマンド“10h”を受信する。
メモリデバイスMDは、コマンド“10h”を受信すると、図13(4)に示すように、レディ状態からビジー状態に遷移する。すると、メモリデバイスMDが、例えばラッチ回路ADL、BDL及びCDLに格納された3ビットデータを用いて、不良検知モードの書き込み動作を実行する。書き込み動作が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、書き込み動作の完了をメモリコントローラ20に通知する。不良検知モードの書き込み動作の処理時間は、データの書き込み時間に対応する“tProg”と、不良検知読み出し及び比較処理の時間に対応する“tR”とを含んでいる。
書き込み動作が完了して、メモリデバイスMDがビジー状態からレディ状態に遷移すると、図13(5)に示すように、メモリコントローラ20が、通常モードの書き込み動作における図8(5)の動作と同様のステータスリードを実行する。不良検知モードにおけるステータス情報“Sout”は、不良検知読み出し及び比較処理の結果をさらに含んでいる。そして、メモリコントローラ20が、ステータス情報“Sout”を参照して、書き込み動作のステータスを確認する(図7のステップS106)。
(不良検知モードの書き込み動作におけるステータス情報STSについて)
図14は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作におけるステータス情報STSの一例を示している。図14に示すように、不良検知モードの書き込み動作の後に読み出されるステータス情報STSは、例えば、下位ページ、中位ページ及び上位ページのそれぞれの不良検知結果を含んでいる。例えば、下位ページ、中位ページ及び上位ページの不良検知結果は、それぞれI/O1、I/O2及びI/O3に格納される。例えば、I/O1、I/O2及びI/O3のデータ“0”は、それぞれ下位ページ、中位ページ及び上位ページで不良が検知されなかったことを示している。I/O1、I/O2及びI/O3のデータ“1”は、それぞれ下位ページ、中位ページ及び上位ページで不良が検知されたことを示している。
図14は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作におけるステータス情報STSの一例を示している。図14に示すように、不良検知モードの書き込み動作の後に読み出されるステータス情報STSは、例えば、下位ページ、中位ページ及び上位ページのそれぞれの不良検知結果を含んでいる。例えば、下位ページ、中位ページ及び上位ページの不良検知結果は、それぞれI/O1、I/O2及びI/O3に格納される。例えば、I/O1、I/O2及びI/O3のデータ“0”は、それぞれ下位ページ、中位ページ及び上位ページで不良が検知されなかったことを示している。I/O1、I/O2及びI/O3のデータ“1”は、それぞれ下位ページ、中位ページ及び上位ページで不良が検知されたことを示している。
不良検知モードに対応するステータス情報STSのその他の構成は、通常モードと同様である。尚、不良検知モードに対応するステータス情報STSは、少なくとも不良検知対象のページの不良検知結果を含んでいれば良い。不良検知結果を示すデータは、任意のI/Oに格納され得る。また、不良検知モードに対応するステータス情報STSの構成は、不良検知対象のページの種類や数に応じて変化し得る。
不良検知モードの書き込み動作において、メモリコントローラ20は、例えば、I/O0(プログラムフェイル(Loop Max))と、I/O1(下位ページの不良検知結果)と、I/O2(中位ページの不良検知結果)と、I/O3(上位ページの不良検知結果)との全てにデータ“0”が格納されている場合に、書き込み動作をステータスパスと判定する(図7のステップS106:YES)。一方で、メモリコントローラ20は、I/O0、I/O1、I/O2及びI/O3の少なくともいずれかにデータ“1”が格納されている場合に、書き込み動作をステータスフェイルと判定する(図7のステップS106:NO)。
(不良検知モードの書き込み動作の流れについて)
図15は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作の流れの一例を示している。図15に示すように、まずシーケンサ104は、通常モードの書き込み動作と同様に、ステップS110~S114の処理、すなわちプログラムループを実行する。シーケンサ104は、不良検知モードの書き込み動作におけるプログラムループの繰り返しにおいて、少なくとも不良検知対象のページに対応するラッチ回路のデータを維持する。その他のページの書き込みデータは、書き込み動作の進行に応じて破棄されても良いし、維持されても良い。
図15は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作の流れの一例を示している。図15に示すように、まずシーケンサ104は、通常モードの書き込み動作と同様に、ステップS110~S114の処理、すなわちプログラムループを実行する。シーケンサ104は、不良検知モードの書き込み動作におけるプログラムループの繰り返しにおいて、少なくとも不良検知対象のページに対応するラッチ回路のデータを維持する。その他のページの書き込みデータは、書き込み動作の進行に応じて破棄されても良いし、維持されても良い。
プログラムループが繰り返され、ステップS112の処理で全てのステートのプログラムパスを検知すると(ステップS112、YES)、シーケンサ104は、不良検知読み出しを実行し(ステップS120)、不良検知読み出しの結果に基づいた比較処理を実行する(ステップS121)。そして、シーケンサ104は、比較処理によって得られたエラービット数が所定の基準値N1を超えているか否かを判定する(ステップS122)。基準値N1は、メモリデバイスMDの特性に応じて、任意の値に設定され得る。エラービット数>N1でない場合(ステップS122、NO)、シーケンサ104は、ステップS115の処理に移行して、ステータスパスの情報をステータスレジスタ102Aに格納して、書き込み動作を終了する。エラービット数>N1である場合(ステップS122、YES)、シーケンサ104は、ステップS116の処理に移行して、ステータスフェイルの情報をステータスレジスタ102Aに格納して、書き込み動作を終了する。
(不良検知モードの書き込み動作の詳細について)
図16は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作のタイミングチャートの一例を示し、レディビジー信号RBnと、選択されたワード線WLselに印加される電圧とを表示している。尚、本例では、不良検知対象が下位ページである場合について説明する。図16に示すように、シーケンサ104は、不良検知モードの書き込み動作が開始すると、プログラムループを実行する。不良検知モードの書き込み動作のプログラムループにおいて選択されたワード線WLselに印加される電圧は、通常モードの書き込み動作と同様である。
図16は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作のタイミングチャートの一例を示し、レディビジー信号RBnと、選択されたワード線WLselに印加される電圧とを表示している。尚、本例では、不良検知対象が下位ページである場合について説明する。図16に示すように、シーケンサ104は、不良検知モードの書き込み動作が開始すると、プログラムループを実行する。不良検知モードの書き込み動作のプログラムループにおいて選択されたワード線WLselに印加される電圧は、通常モードの書き込み動作と同様である。
シーケンサ104は、プログラムループを繰り返し実行し、全てのステートのプログラムパスを検知する、又はプログラムループの回数が所定の回数を超えたことを検知すると、不良検知読み出しを実行する。不良検知読み出しにおいて、シーケンサ104は、不良検知対象のページの読み出し動作を実行する。具体的には、下位ページが不良検知対象である場合、選択されたワード線WLselには、読み出し電圧R1及びR5が印加される。そして、シーケンサ104は、不良検知読み出しの読み出し結果を用いて比較処理を実行する。比較処理が完了すると、シーケンサ104は、メモリデバイスMDをビジー状態からレディ状態に遷移させる。
尚、図16において、時刻t0は、書き込み(プログラムループ)開始時の時刻に対応している。時刻t1は、書き込み(プログラムループ)終了時の時刻に対応している。時刻t2及びt3は、不良検知読み出しで読み出し電圧R1に対応する動作の時刻に対応している。時刻t4及びt5は、不良検知読み出しで読み出し電圧R1に対応する動作の時刻に対応している。時刻t6は、比較処理の時刻に対応している。時刻t7は、比較処理が完了した時刻に対応している。
図17は、第1実施形態に係るメモリデバイスMDの不良検知モードの書き込み動作におけるラッチ回路の使用方法の一例を示し、図16に対応する書き込み動作中にラッチ回路が保持するデータの推移を表示している。
時刻t0には、例えば、ラッチ回路ADL、BDL及びCDLが、それぞれ下位、中位及び上位ビットの書き込みデータを保持している。そして、時刻t1には、ラッチ回路ADLが下位ビットの書き込みデータを保持し、ラッチ回路BDL及びCDLが無効なデータを保持している。すなわち、不良検知モードの書き込み動作では、不良検知対象である下位ビットの書き込みデータが維持され、その他の書き込みデータが破棄されている。
時刻t2には、読み出し電圧R1による読み出し結果が、ラッチ回路SDLに格納される。時刻t3には、読み出し電圧R1による読み出し結果が、ラッチ回路SDLからラッチ回路DDLに転送される。時刻t4には、読み出し電圧R5による読み出し結果が、ラッチ回路SDLに格納される。時刻t5には、ラッチ回路SDLに格納された読み出し電圧R1による読み出し結果と、ラッチ回路DDLに格納された読み出し電圧R5による読み出し結果とに基づいて、下位ビットの読み出しデータが算出される。そして、算出された下位ビットの読み出しデータが、ラッチ回路DDLに格納される。
時刻t6には、ラッチ回路ADLに格納された下位ビットの書き込みデータと、ラッチ回路DDLに格納された下位ビットの読み出しデータとの排他的論理和(EXOR)演算が実行される。そして、排他的論理和演算の結果が、期待値比較結果として、ラッチ回路XDLに格納される。ラッチ回路XDLに格納された期待値比較結果は、カウンタ110に転送され、カウンタ110は、例えば期待値比較結果の“1”をカウントする。期待値比較結果の“1”は、下位ビットの書き込みデータと下位ビットの読み出しデータとが異なっていることを示している。つまり、カウンタ110による期待値比較結果のカウント結果は、書き込みに失敗したメモリセルトランジスタMTの数(エラービット数)に対応している。その後、ステップS122の処理によって、エラービット数と基準値との比較が実行され、ステータスレジスタ102A内のステータス情報STSの値が更新される。
以上の説明では、不良検知対象のページとして下位ページが利用されたが、他のページに対しても同様に演算が実行される。また、不良検知の対象が1ページである場合について例示したが、不良検知の対象としては、複数ページが選択されても良い。この場合、不良検知読み出しの期間において、不良検知の対象であるページ毎に、不良検知読み出し及び比較処理が実行される。そして、シーケンサ104は、複数ページの読み出し結果と、複数ページの書き込みデータとの比較処理を実行する。具体的には、下位ページ及び中位ページが不良検知の対象である場合、下位ビットの書き込みデータ及び読み出しデータの排他的論理和演算と、中位ビットの書き込みデータ及び読み出しデータの排他的論理和演算とのそれぞれが実行される。尚、不良検知読み出し及び比較処理におけるラッチ回路の使用方法は、これに限定されない。例えば、不良検知読み出しで使用されるラッチ回路としては、書き込みデータが破棄されたラッチ回路が使用されても良い。
[1-3]第1実施形態の効果
以上で説明された第1実施形態に係るメモリシステム1に依れば、メモリシステム1の記憶するデータの信頼性を向上させることが出来る。以下に、第1実施形態に係るメモリシステム1の効果の詳細について、比較例を用いて説明する。
以上で説明された第1実施形態に係るメモリシステム1に依れば、メモリシステム1の記憶するデータの信頼性を向上させることが出来る。以下に、第1実施形態に係るメモリシステム1の効果の詳細について、比較例を用いて説明する。
図18は、メモリデバイスMDにおいてワード線WLの不良が発生した場合のメモリセルトランジスタMTの閾値電圧の分布の一例を示している。尚、本例におけるデータの書き込み方式は、TLCモードに対応している。図18(1)は、ワード線WLの不良が無い場合、すなわち正常時の書き込みによって形成されたメモリセルトランジスタMTの閾値分布を表示している。図18(2)は、ワード線WLにオープン不良が発生している場合、すなわち異常時の書き込みによって形成されたメモリセルトランジスタMTの閾値分布を表示している。
図18(1)に示すように、ワード線WLに不良が発生していない状態で書き込み動作が完了すると、8つのステートが形成される。この8つのステートは、ベリファイ電圧V1~V7をそれぞれ用いたベリファイ動作をパスすることによって形成される。一方で、例えばワード線WLのオープン不良が発生している場合、当該ワード線WLには所望の電圧を印加することが困難になる。すると、図18(2)に示すように、各ステートのベリファイ動作において、メモリセルトランジスタMTの制御ゲートには、例えば、所望のベリファイ電圧ではなく電圧VX(例えば0V)が印加される。
メモリデバイスMDのシーケンサ104は、メモリセルトランジスタMTの制御ゲートに印加される電圧が所望のベリファイ電圧と異なっているか否かを区別することが出来ない。また、シーケンサ104は、メモリセルトランジスタMTのオンオフに基づいてベリファイパスの判定をするため、ベリファイ動作において誤判定し得る。例えば、シーケンサ104は、電圧VXによるベリファイ動作を全てのステートの書き込みで実行し、誤判定のベリファイパスに基づいて書き込み動作を正常に完了する。このように、物理故障が発生した場合には、書き込み動作が正常に完了したとしても、実際に書き込まれたデータが、所望の閾値電圧の分布を形成できていない場合がある。
このような物理不良は、製品出荷後にも発生し得る。メモリコントローラ20は、ステータスリードの結果を信じるため、物理不良が発生したセルユニットCUに、正常にデータが書き込まれていると認識している。そして、メモリコントローラ20は、当該セルユニットCUのデータが読み出せない場合に、複数種類の読み出し電圧を用いたトラッキング読み出し等、データの救済を目的とした読み出し動作を実行する。しかしながら、セルユニットCUには正しく書き込まれたデータが存在しないため、当該セルユニットCUに割り当てられた書き込みデータが消失してしまう。このため、メモリシステム1は、データの書き込み時に、後天的な物理不良を検知する方法を有していることが好ましい。
後天的な物理不良を検知する方法としては、メモリコントローラ20が保持した書き込みデータと、セルユニットCUから読み出されたデータとを比較することが考えられる。メモリコントローラ20は、この比較結果に基づいたエラービット数をカウントし、エラービット数が基準値を超えたことを検知することによって、物理不良が発生したワード線WLを検出することが出来る。その結果、メモリシステム1は、書き込みデータを破棄する前に物理不良を検知し、物理不良が発生していないワード線WLを選択した書き込み動作を実行することが出来る。従って、メモリシステム1は、物理不良に基づく書き込みデータの消失を回避することが出来る。
図19は、第1実施形態の比較例における不良検知動作のコマンドシーケンスの一例を示している。図19に示すように、第1実施形態の比較例において、メモリコントローラ20は、3ページデータの書き込み動作を実行した後に、ステータスリードによって書き込みが成功したか否かを確認している。そして、メモリコントローラ20は、書き込みが完了した後に、不良検知対象のページ(例えば下位ページ)を選択した読み出し動作を実行している。それから、読み出しデータ“Dout”がメモリコントローラ20に出力され、不良検知処理が実行される。このように、第1実施形態の比較例における不良検知動作は、書き込み動作を実行した後に、読み出しデータの出力を含んでいる。
しかしながら、不良検知動作における読み出しデータの出力等は、チャネルCHを共有するメモリデバイスMD間の動作の衝突の発生の原因となり得る。図20は、第1実施形態の比較例においてチャネルCH0を用いた書き込みシーケンスの一例を示している。尚、“FW”は、メモリコントローラ20によるメモリデバイスMDに対するコマンドセットの送信期間に対応している。“ECC”は、ECC回路24によるエラー訂正処理の期間に対応している。ステータスリードに関する動作の図示は、省略されている。
図20に示すように、メモリコントローラ20は、バンクB0~B3の順番に、書き込み動作の実行を指示する。そして、“FW”を受信したメモリデバイスMDが、書き込み動作を実行する(“tProg”)。書き込み動作が終了すると、メモリコントローラ20は、不良検知読み出しに関するコマンドセットをメモリデバイスMDに送信し、メモリデバイスMDが不良検知読み出しを実行する(“tR”)。不良検知読み出しが完了すると、読み出されたデータがメモリコントローラ20に出力され(“Dout”)、ECC回路24が、受信した読み出しデータに対するエラー訂正処理を実行する(“ECC”)。尚、ECC回路24がエラー訂正処理を実行する代わりに、メモリコントローラ20が、書き込み動作の実行を指示するデータをRAM23に保存しておき、読み出されたデータがメモリコントローラ20に出力された(“Dout”)後に、RAM23に保存されたデータと読み出されたデータとの比較処理を実行しても良い。
チャネルCH0は、例えば、メモリコントローラ20によるコマンドセットの送信と、読み出しデータの受信とに使用される。メモリコントローラ20は、メモリデバイスMDが何らかの動作を実行している場合には、これらの動作を並列に処理することが出来る。一方で、本例では、バンクB3に対応する不良検知読み出しのコマンドセットの送信と、バンクB0に対応する不良検知読み出しによる読み出しデータの出力とが衝突している。このような衝突が発生すると、衝突したうち動作の一方の処理が後回しにされ、書き込み動作全体の処理が長くなる。
これに対して、第1実施形態に係るメモリシステム1は、不良検知モードの書き込み動作において、データの書き込みと、不良検知読み出しとを連続で実行する。そして、不良検知のための比較処理が、メモリデバイスMDによって実行される。
簡潔に述べると、メモリデバイスMDは、書き込み動作のコマンドセットに追加されたプリフィックスコマンドに基づいて、不良検知モードの書き込み動作を実行する。不良検知モードの書き込み動作では、センスアンプユニットSAU内のラッチ回路が、書き込み完了後も、不良検知対象のページの書き込みデータを保持する。そして、メモリデバイスMDは、書き込み完了後に、続けてプリフィックスコマンドによって指定されたページの読み出し動作(不良検知読み出し)を実行する。
それから、当該読み出し動作の結果とラッチ回路内の書き込みデータとに基づいて、期待値比較結果が算出される。シーケンサ104は、期待値比較結果のカウント結果と基準値とを比較することによって、セルユニットCUの物理不良の発生を検知し、ステータスレジスタ102A内のステータス情報STSを更新する。メモリコントローラ20は、書き込み後のステータス情報STSを参照することによって、第1実施形態の比較例と同様に、ワード線WL(セルユニットCU)の物理不良を検知することが出来る。
図21は、第1実施形態においてチャネルCH0を用いた書き込みシーケンスの一例を示している。図21に示すように、第1実施形態に係るメモリシステム1では、第1実施形態の比較例に対して、書き込みの期間と不良検知読み出しの期間との間のコマンドセットの送信と、読み出しデータの出力と、エラー訂正処理とが省略されている。このため、第1実施形態に係るメモリシステム1における不良検知動作は、チャネルCHを共有するバンク間における動作の衝突の発生を抑制することが出来る。言い換えると、第1実施形態に係るメモリシステム1における不良検知動作では、データアウトが必要なくなるため、各チャネルCHにおける衝突の懸念が軽減される。
以上のように、第1実施形態に係るメモリシステム1は、不良検知モードの読み出し動作を活用することによって、第1実施形態の比較例と同様に、データの信頼性を向上させることが出来る。また、第1実施形態に係るメモリシステム1は、不良検知モードの読み出し動作においてデータアウトとエラー訂正処理とが省略されるため、第1実施形態の比較例よりも消費電力を抑制することが出来、さらにレイテンシを改善することが出来る。
[1-4]第1実施形態の変形例
第1実施形態に係るメモリシステム1は、種々の変形が可能である。以下に、第1実施形態の第1変形例、第2変形例、第3変形例及び第4変形例について順に説明する。
第1実施形態に係るメモリシステム1は、種々の変形が可能である。以下に、第1実施形態の第1変形例、第2変形例、第3変形例及び第4変形例について順に説明する。
(第1実施形態の第1変形例)
第1実施形態では、不良検知モードの書き込み動作がTLCモード(3bit/cell)で実行される場合について例示したが、これに限定されない。不良検知モードの書き込み動作は、その他の記憶方式と組み合わされても良い。以下に、第1実施形態の第1変形例として、SLCモード、MLCモード、及びQLCモードのそれぞれと、不良検知モードの書き込み動作とを組み合わせた場合のコマンドシーケンスについて説明する。
第1実施形態では、不良検知モードの書き込み動作がTLCモード(3bit/cell)で実行される場合について例示したが、これに限定されない。不良検知モードの書き込み動作は、その他の記憶方式と組み合わされても良い。以下に、第1実施形態の第1変形例として、SLCモード、MLCモード、及びQLCモードのそれぞれと、不良検知モードの書き込み動作とを組み合わせた場合のコマンドシーケンスについて説明する。
図22は、SLCモードで不良検知モードの書き込み動作が実行される場合のコマンドシーケンスの一例を示している。図22に示すように、メモリコントローラ20は、書き込み先のセルユニットCUに割り当てられた1ページデータを含むコマンドセットを、メモリデバイスMDに送信する。具体的には、メモリコントローラ20が、プリフィックスコマンド“XYh”、コマンド“A2h”、コマンド“80h”、アドレス情報“ADD”、1ページの書き込みデータ“Din”、コマンド“10h”を、この順番に、メモリデバイスMDに送信する。コマンド“A2h”は、SLCモードに対応する動作を指示するコマンドである。メモリデバイスMDは、コマンド“10h”を受信すると、レディ状態からビジー状態に遷移して、SLCモードで不良検知読み出し及び比較処理を含む書き込み動作を実行する。
図23は、MLCモードで不良検知モードの書き込み動作が実行される場合のコマンドシーケンスの一例を示している。図23に示すように、メモリコントローラ20は、まずプリフィックスコマンド“XYh”をメモリデバイスMDに送信する。そして、メモリコントローラ20は、通常モードの書き込み動作と同様のコマンドセットを用いて、下位ページデータと、上位ページデータとをメモリデバイスMDに送信する。上位ページデータの転送では、最後にマンド“10h”が送信される。メモリデバイスMDは、コマンド“10h”を受信すると、レディ状態からビジー状態に遷移して、MLCモードで不良検知読み出し及び比較処理を含む書き込み動作を実行する。
図24は、QLCモードで不良検知モードの書き込み動作が実行される場合のコマンドシーケンスの一例を示している。図24に示すように、メモリコントローラ20は、まずプリフィックスコマンド“XYh”をメモリデバイスMDに送信する。そして、メモリコントローラ20は、通常モードの書き込み動作と同様のコマンドセットを用いて、下位ページデータと、中位ページデータと、上位ページデータと、最上位ページデータとをメモリデバイスMDに送信する。最上位ページデータの転送では、最初にコマンド“04h”が送信され、最後にコマンド“10h”が送信される。コマンド“04h”は、4ページ目のデータに対応する動作を指示するコマンドである。メモリデバイスMDは、コマンド“10h”を受信すると、レディ状態からビジー状態に遷移して、QLCモードで不良検知読み出し及び比較処理を含む書き込み動作を実行する。
第1実施形態の第1変形例における各書き込み動作では、不良検知読み出し及び比較処理を含む書き込み動作が実行された後に、第1実施形態と同様のステータスリードが実行される。ステータスリードによってメモリコントローラ20に転送されるステータス情報STSは、各記憶方式で不良検知の対象に設定されたページの不良検知結果を少なくとも含んでいれば良い。尚、1つのメモリセルトランジスタMTには、5ビット以上のデータが記憶されても良い。このような記憶方式(5bit/cell)が適用され且つ不良検知モードの書き込み動作を実行する場合に、メモリコントローラ20は、不良検知モードの利用を指示するプリフィックスコマンド(“XYh”)を最初に送信するコマンドセットに付加して、メモリデバイスMDに送信する。その結果、メモリデバイスMDは、使用するデータの記憶方式に依らずに、不良検知モードの書き込み動作を実行することが出来る。
(第1実施形態の第2変形例)
第1実施形態では、不良検知モードを指示するプリフィックスコマンドとして“XYh”を使用する場合について例示したが、これに限定されない。メモリシステム1は、不良検知対象のページの組み合わせ毎に、複数種類のプリフィックスコマンドを使い分けても良い。以下に、第1実施形態の第2変形例として、プリフィックスコマンドと不良検知対象のページとの組み合わせについて説明する。
第1実施形態では、不良検知モードを指示するプリフィックスコマンドとして“XYh”を使用する場合について例示したが、これに限定されない。メモリシステム1は、不良検知対象のページの組み合わせ毎に、複数種類のプリフィックスコマンドを使い分けても良い。以下に、第1実施形態の第2変形例として、プリフィックスコマンドと不良検知対象のページとの組み合わせについて説明する。
図25は、第1実施形態の第2変形例におけるプリフィックスコマンドと不良検出対象のページとの組み合わせの一例を示している。図25に示された“L”、“M”、“U”及び“T”は、それぞれ下位、中位、上位及び最上位ページデータに対応している。SLCモードでは、1つのセルユニットCUが“L”を含む1ページデータを記憶する。MLCモードでは、1つのセルユニットCUが“L”及び“U”を含む2ページデータを記憶する。TLCモードでは、1つのセルユニットCUが“L”、“M”及び“U”を含む3ページデータを記憶する。QLCモードでは、1つのセルユニットCUが“L”、“M”、“U”及び“T”を含む4ページデータを記憶する。
SLCモードと不良検知モードとが組み合わされる場合、メモリシステム1は、不良検知モードのプリフィックスコマンドとして、例えば1種類のコマンド“X1h”を使用する。コマンド“X1h”は、SLCモードの“L”に関連付けられている。
MLCモードと不良検知モードとが組み合わされる場合、メモリシステム1は、不良検知モードのプリフィックスコマンドとして、例えば3種類のコマンド“X1h”、“X2h”及び“X3h”を使い分ける。コマンド“X1h”、“X2h”及び“X3h”は、それぞれMLCモードの“L”、“U”及び“L/U”に関連付けられている。
TLCモードと不良検知モードとが組み合わされる場合、メモリシステム1は、不良検知モードのプリフィックスコマンドとして、例えば7種類のコマンド“X1h”、“X2h”、“X3h”、“X4h”、“X5h”、“X6h”及び“X7h”を使用する。コマンド“X1h”、“X2h”、“X3h”、“X4h”、“X5h”、“X6h”及び“X7h”は、それぞれTLCモードの“L”、“M”、“U”、“L/M”、“L/U”、“M/U”及び“L/M/U”に関連付けられている。
QLCモードと不良検知モードとが組み合わされる場合、メモリシステム1は、不良検知モードのプリフィックスコマンドとして、例えば13種類のコマンド“X1h”、“X2h”、“X3h”、“X4h”、“X5h”、“X6h”、“X7h”、“X8h”、“X9h”、“XAh”、“XBh”、“XCh”及び“XDh”を使い分ける。コマンド“X1h”、“X2h”、“X3h”、“X4h”、“X5h”、“X6h”、“X7h”、“X8h”、“X9h”、“XAh”、“XBh”、“XCh”及び“XDh”は、それぞれQLCモードの“L”、“M”、“U”、“T”、“L/M”、“L/U”、“L/T”、“M/U”、“M/T”、“U/T”、“L/M/U”、“M/U/T”及び“L/M/U/T”に関連付けられている。
メモリデバイスMDは、以上で説明された不良検知モードのプリフィックスコマンドを受信すると、関連付けられたページを不良検知対象として、不良検知モードの書き込み動作を実行する。尚、不良検知モードのプリフィックスコマンドと、不良検知対象のページとの組み合わせは、以上で説明された組み合わせに限定されない。不良検知モードに割り当てられるプリフィックスコマンドは、任意のコマンドに設定され得る。
(第1実施形態の第3変形例)
第1実施形態で説明された不良検知モードの書き込み動作において、ステップS122の処理で使用される基準値N1は、メモリコントローラ20の指示に基づいて変更され得る。以下に、第1実施形態の第3変形例として、基準値N1を変更する設定変更動作について説明する。尚、設定変更動作は、“Set Feature”と呼ばれても良い。
第1実施形態で説明された不良検知モードの書き込み動作において、ステップS122の処理で使用される基準値N1は、メモリコントローラ20の指示に基づいて変更され得る。以下に、第1実施形態の第3変形例として、基準値N1を変更する設定変更動作について説明する。尚、設定変更動作は、“Set Feature”と呼ばれても良い。
図26は、第1実施形態の第3変形例における設定変更動作のコマンドシーケンスの一例を示している。図26に示すように、設定変更動作において、メモリコントローラ20は、コマンド“EFh”、アドレス情報“ADD1”、設定データ“D0h”、“D1h”、“D2h”及び“D3h”を、この順番に、メモリデバイスMDに送信する。コマンド“EFh”は、設定変更動作を指示するコマンドである。アドレス情報“ADD1”は、基準値N1に対応するパラメータが格納されているアドレス(閾値設定アドレス)を示している。第1実施形態の第3変形例における設定データ“D0h”~“D3h”は、基準値N1に適用するパラメータを含んでいる。
メモリデバイスMDは、コマンド“EFh”を受信した後にアドレス情報“ADD1”及び設定データ“D0h”~“D3h”を受信すると、レディ状態からビジー状態に遷移する。そして、メモリデバイスMDは、基準値N1に対応するパラメータを、設定データ“D0h”~“D3h”に含まれたパラメータに変更する。設定変更が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、設定変更動作を終了する。尚、設定データは、少なくとも1サイクル以上で送信されていれば良く、コマンド“EFh”に関連付けられたサイクル数と同じであれば良い。
以上のように、メモリシステム1は、ステップS122の処理で使用される基準値N1を変更しても良い。基準値N1が高い数値に設定される場合、不良検知の感度が低くなり、メモリシステム1のパフォーマンスが向上する。一方で、基準値N1が低い数値に設定される場合、不良検知の感度が高くなり、メモリシステム1の信頼性が向上する。また、メモリシステム1は、ユーザの要望に応じて不良検知の感度を変更することによって、メモリシステム1のパフォーマンスと信頼性とのバランスを調整することが出来る。
(第1実施形態の第4変形例)
第1実施形態で説明された不良検知モードの書き込み動作において、不良検知読み出しで使用される読み出し電圧は、通常の読み出し動作で使用される読み出し電圧と異なっていても良い。以下に、第1実施形態の第4変形例として、不良検知読み出しで使用される読み出し電圧の設定変更動作について説明する。
第1実施形態で説明された不良検知モードの書き込み動作において、不良検知読み出しで使用される読み出し電圧は、通常の読み出し動作で使用される読み出し電圧と異なっていても良い。以下に、第1実施形態の第4変形例として、不良検知読み出しで使用される読み出し電圧の設定変更動作について説明する。
図27は、第1実施形態の第4変形例における設定変更動作のコマンドシーケンスの一例を示している。図27に示すように、設定変更動作において、メモリコントローラ20は、コマンド“EFh”、アドレス情報“ADD2”、設定データ“D0h”、“D1h”、“D2h”及び“D3h”を、この順番に、メモリデバイスMDに送信する。アドレス情報“ADD2”は、不良検知読み出しで使用される読み出し電圧に対応するパラメータが格納されているアドレス(読み出し電圧設定アドレス)を示している。第1実施形態の第4変形例における設定データ“D0h”~“D3h”は、不良検知読み出しで使用される読み出し電圧に適用するパラメータを含んでいる。このようなパラメータとしては、例えば基準とされる読み出し電圧からのシフト値が使用される。
メモリデバイスMDは、コマンド“EFh”を受信した後にアドレス情報“ADD2”及び設定データ“D0h”~“D3h”を受信すると、レディ状態からビジー状態に遷移する。そして、メモリデバイスMDは、不良検知読み出しで使用される読み出し電圧に対応するパラメータを、設定データ“D0h”~“D3h”に含まれたパラメータに変更する。設定変更が完了すると、メモリデバイスMDは、ビジー状態からレディ状態に遷移して、設定変更動作を終了する。尚、設定データは、少なくとも1サイクル以上で送信されていれば良く、コマンド“EFh”に関連付けられたサイクル数と同じであれば良い。
以上のように、メモリシステム1は、不良検知読み出しで使用される読み出し電圧を変更することが出来る。以下に、図28を用いて、第1実施形態の第4変形例の効果について説明する。図28は、メモリセルトランジスタMTの閾値電圧の分布の変化の一例を示している。図28(1)は、データの書き込み直後のメモリセルトランジスタMTの閾値電圧の分布を表示している。図28(2)は、データの書き込みから所定の時間が経過した後のメモリセルトランジスタMTの閾値電圧の分布を表示している。
図28に示すように、メモリセルトランジスタMTの閾値電圧の分布は、時間経過に伴い変化する。メモリセルトランジスタMTの閾値電圧は、データが書き込まれた直後において特に不安定であり、所定の時間が経過すると安定する傾向を有している。例えば、メモリセルトランジスタMTの閾値電圧の分布は、図28(2)に示すように下降してから安定する(Vthシフト)。
このため、メモリデバイスMDは、読み出し動作の際に、図28(2)の状態に最適化した読み出し電圧を設定することによって、読み出しエラーの発生を抑制する。一方で、不良検知読み出しは、データが書き込まれた直後に実行される読み出し動作である。このため、不良検知読み出しにおける読み出し電圧の最適値と、通常の読み出し動作における読み出し電圧の最適値とは異なることが考えられる。
そこで、第1実施形態の第4変形例に係るメモリシステム1は、設定変更動作によって、不良検知読み出しで使用される読み出し電圧を、書き込み直後のメモリセルトランジスタMTの閾値電圧の分布に合わせて変更する。例えば、不良検知読み出しで使用される読み出し電圧R1’~R7’が、それぞれ通常の読み出し動作で使用される読み出し電圧R1~R7よりも高く設定される。
これにより、第1実施形態の第4変形例に係るメモリシステム1は、不良検知読み出しにおける誤読み出しを抑制することが出来る。その結果、第1実施形態の第4変形例に係るメモリシステム1は、不良検知モードの読み出し動作におけるステータスフェイルの判定精度を向上させることが出来、不要な再書き込みの発生を抑制することが出来る。
[2]第2実施形態
第2実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第2実施形態に係るメモリシステム1は、少なくとも2種類の書き込みモードを使用し、2段階の書き込み動作を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
第2実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第2実施形態に係るメモリシステム1は、少なくとも2種類の書き込みモードを使用し、2段階の書き込み動作を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
[2-1]書き込み動作
[2-1-1]書き込み動作の概要
図29は、第2実施形態に係るメモリシステム1の書き込み動作の流れの一例を示している。図29に示すように、まずメモリシステム1は、ホスト機器30から書き込みデータを受信する(ステップS200)。すると、メモリシステム1は、受信した書き込みデータを用いてバッファ書き込み動作を実行する(ステップS201)。
[2-1-1]書き込み動作の概要
図29は、第2実施形態に係るメモリシステム1の書き込み動作の流れの一例を示している。図29に示すように、まずメモリシステム1は、ホスト機器30から書き込みデータを受信する(ステップS200)。すると、メモリシステム1は、受信した書き込みデータを用いてバッファ書き込み動作を実行する(ステップS201)。
バッファ書き込み動作は、メモリデバイスMDのバッファ領域にデータを記憶させる高速な書き込み動作である。バッファ領域は、メモリセルアレイ107内にバッファ書き込み動作用に割り当てられた記憶領域である。バッファ書き込み動作では、例えば、SLCモードと不良検知モードとが使用される。バッファ書き込み動作のコマンドシーケンス及びタイミングチャートは、第1実施形態で説明された不良検知モードの書き込み動作と同様である。
ステップS201の処理が完了した後に、ホスト機器30からの命令に基づくタスクが終了すると、メモリシステム1はアイドル状態に遷移する(ステップS202)。メモリシステム1は、バッファ書き込み動作の後にアイドル状態に遷移すると、ホスト機器30からの命令に依らずに、コンパクション動作を実行する(ステップS203)。尚、コンパクション動作は、少なくともバッファ書き込み動作の後に実行されていれば良い。
コンパクション動作は、バッファ読み出し動作と、コンパクション書き込み動作とを含んでいる。バッファ読み出し動作は、バッファ書き込み動作によって書き込まれたデータを読み出す動作である。コンパクション書き込み動作は、バッファ読み出し動作によって読み出されたデータを、1つのメモリセルトランジスタMTが記憶するビット数がバッファ書き込み動作よりも多い記憶方式を用いてメモリデバイスMDに書き込む動作である。コンパクション書き込み動作では、例えば、TLCモードと不良検知モードとが使用される。
[2-1-2]コンパクション動作
図30は、第2実施形態に係るメモリシステム1のコンパクション動作の流れの一例を示している。図30に示すように、まずメモリコントローラ20が、バッファ領域の読み出し動作を実行し、バッファ書き込み動作によって書き込まれたデータ(有効データ)を読み出して、RAM23に格納する(ステップS210)。続けて、メモリコントローラ20が、バッファ領域から有効データの収集が完了したかどうかを確認する(ステップS211)。有効データの収集が完了していない場合(ステップS211、NO)、ステップS210の処理に戻る。一方で、有効データの収集が完了している場合(ステップS211、YES)、ステップS212の処理に移行する。
図30は、第2実施形態に係るメモリシステム1のコンパクション動作の流れの一例を示している。図30に示すように、まずメモリコントローラ20が、バッファ領域の読み出し動作を実行し、バッファ書き込み動作によって書き込まれたデータ(有効データ)を読み出して、RAM23に格納する(ステップS210)。続けて、メモリコントローラ20が、バッファ領域から有効データの収集が完了したかどうかを確認する(ステップS211)。有効データの収集が完了していない場合(ステップS211、NO)、ステップS210の処理に戻る。一方で、有効データの収集が完了している場合(ステップS211、YES)、ステップS212の処理に移行する。
ステップS212の処理では、メモリコントローラ20が、不良検知モードの動作パラメータを設定する。例えば、メモリコントローラ20は、ステップS212の処理において、不良検知対象のページ等を設定する。そして、メモリコントローラ20は、TLCモードと不良検知モードとを使用した書き込み動作を、メモリデバイスMDに指示する(ステップS213)。
メモリデバイスMDの書き込み動作が完了すると、メモリコントローラ20は、メモリデバイスMDからステータス情報を読み出し、書き込み動作のステータスがパスになっているか否かを確認する(ステップS214)。ステータスパスでない場合(ステップS214、NO)、メモリコントローラ20は、書き込み先を変更して(ステップS215)、ステップS212の処理に戻る。一方で、ステータスパスである場合(ステップS214、YES)、メモリコントローラ20は、書き込み動作によってデータが書き込まれたアドレスに基づいて、ルックアップテーブルLUTを更新する(ステップS216)。そして、書き込まれた有効データが、RAM23から破棄される。
その後、メモリコントローラ20は、コンパクション動作が完了したか否かを確認する(ステップS217)。具体的には、メモリコントローラ20が、RAM23に格納されている全ての有効データの書き込み動作が完了したか否かを確認する。RAM23に格納されている全ての有効データの書き込み動作が完了していない場合(ステップS217、NO)、メモリコントローラ20は、ステップS212の処理に戻る。一方で、RAM23に格納されている全ての有効データの書き込み動作が完了している場合、コンパクション動作を終了する(ステップS217、YES)。
(コンパクション動作のコマンドシーケンスについて)
図31は、第2実施形態に係るメモリシステム1のコンパクション動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、コンパクション動作において、以下で詳述される図31(1)~(8)の動作を順に実行する。図31(1)~(3)が、バッファ読み出し動作に対応している。図31(4)~(8)が、コンパクション書き込み動作に対応している。
図31は、第2実施形態に係るメモリシステム1のコンパクション動作のコマンドシーケンスの一例を示し、メモリコントローラ20とメモリデバイスMDとの間の入出力信号I/Oのやりとりを表示している。メモリシステム1は、コンパクション動作において、以下で詳述される図31(1)~(8)の動作を順に実行する。図31(1)~(3)が、バッファ読み出し動作に対応している。図31(4)~(8)が、コンパクション書き込み動作に対応している。
図31(1)に示すように、まずメモリシステム1は、バッファ領域を選択した1ページデータの読み出し及びエラー訂正処理を実行する。具体的には、メモリコントローラ20が、コマンド“A2h”、コマンド“00h”、アドレス情報“ADD”、コマンド“30h”を、この順番に、メモリデバイスMDに送信する。コマンド“00h”は、読み出し動作を指示するコマンドである。アドレス情報“ADD”は、バッファ領域に割り当てられたアドレスを含んでいる。コマンド“30h”は、読み出し動作の開始を指示するコマンドである。メモリデバイスMDは、コマンド“30h”を受信すると、レディ状態からビジー状態に遷移して、読み出し動作を実行する。読み出し動作が完了すると、メモリデバイスMDがビジー状態からレディ状態に遷移する。
メモリコントローラ20は、読み出し動作の実行を指示した後に、メモリデバイスMDがビジー状態からレディ状態に遷移したことを検知すると、メモリデバイスMDに対して読み出しデータ“Dout”を出力させる。メモリコントローラ20は、読み出しデータ“Dout”を受信すると、受信した読み出しデータに対してエラー訂正処理を実行する。訂正された読み出しデータは、例えばRAM23に格納される。
続けて、図31(2)及び(3)に示すように、メモリシステム1が、バッファ領域を選択した1ページデータの読み出し及びエラー訂正処理を2回続けて実行する。図31(2)に対応する動作と、図31(3)に対応する動作とのそれぞれは、図31(1)に対応する動作と同様である。これにより、RAM23には、メモリデバイスMD内の一時的な高速書き込み領域(バッファ領域)から読み出された3ページデータが格納される。この3ページデータは、TLCモードの書き込み動作における下位、中位及び上位ページデータにそれぞれ対応している。
メモリコントローラ20は、RAM23に少なくとも3ページデータが格納されると、コンパクション書き込み動作を実行する。コンパクション書き込み動作のコマンドシーケンスは、第1実施形態で説明された不良検知モードの書き込み動作と同様である。図31(4)~(8)に対応する動作は、それぞれ図13(1)~(5)に対応する動作と同様である。これにより、バッファ領域の3つのセルユニットCUから読み出された3ページデータが、1つのセルユニットCUに記憶される。
尚、コンパクション動作において、バッファ読み出し動作とコンパクション書き込み動作とは、交互に実行されなくても良い。言い換えると、メモリシステム1は、まず複数回のバッファ読み出し動作によって、所定量のページデータをRAM23に格納する。その後に、メモリシステム1が、コンパクション書き込み動作を連続で実行しても良い。また、メモリシステム1は、バッファ読み出し動作におけるメモリコントローラ20への読み出しデータの出力を省略して、コンパクション書き込み動作を実行しても良い。この場合、複数回のバッファ読み出し動作の読み出し結果が、各センスアンプユニットSAUの複数のラッチ回路に保持される。
[2-2]第2実施形態の効果
以上で説明された第2実施形態に係るメモリシステム1に依れば、データの信頼性を向上させ、且つシーケンシャル書き込みの動作速度を向上させることが出来る。以下に、第1実施形態に係るメモリシステム1の効果の詳細について説明する。
以上で説明された第2実施形態に係るメモリシステム1に依れば、データの信頼性を向上させ、且つシーケンシャル書き込みの動作速度を向上させることが出来る。以下に、第1実施形態に係るメモリシステム1の効果の詳細について説明する。
SSD等のメモリシステムに要求される性能の一つとして、シーケンシャル書き込みの動作速度が挙げられる。シーケンシャル書き込みは、メモリシステムがホスト機器から受け取った書き込みデータを連続で書き込む動作に相当する。シーケンシャル書き込みの動作速度を向上させる方法としては、SSDがホスト機器から受け取った書き込みデータを、高速な書き込みモード(例えばSLCモード)で書き込むことが考えられる。しかしながら、高速な書き込みモードは、データの記録密度が小さい。
そこで、第2実施形態に係るメモリシステム1は、まず高速な書き込みモードを用いてデータを書き込む(バッファ書き込み動作)。その後に、メモリシステム1は、バッファ領域に書き込まれたデータを読み出して、高記録密度の書き込みモードを用いた書き込み動作を実行する(コンパクション動作)。これにより、第2実施形態に係るメモリシステム1は、シーケンシャル書き込みの動作速度の低下を抑制することが出来、且つメモリシステム1の記憶容量を大きくすることが出来る。
また、第2実施形態に係るメモリシステム1は、不良検知モードを、バッファ書き込み動作と、コンパクション動作とのそれぞれに適用する。これにより、第2実施形態に係るメモリシステム1は、セルユニットCUの物理不良を検知することが出来、書き込みデータの消失を回避することが出来る。従って、第2実施形態に係るメモリシステム1は、第1実施形態と同様に、データの信頼性を向上させることが出来る。
[2-3]第2実施形態の変形例
第2実施形態に係るメモリシステム1は、種々の変形が可能である。以下に、第2実施形態の第1変形例及び第2変形例について順に説明する。
第2実施形態に係るメモリシステム1は、種々の変形が可能である。以下に、第2実施形態の第1変形例及び第2変形例について順に説明する。
(第2実施形態の第1変形例)
第2実施形態では、バッファ書き込み動作でSLCモードが使用され、コンパクション書き込み動作でTLCモードが使用される場合について説明したが、これに限定されない。バッファ書き込み動作で使用されるデータの記憶方式と、コンパクション書き込み動作で使用されるデータの記憶方式とは、その他の組み合わせでも良い。
第2実施形態では、バッファ書き込み動作でSLCモードが使用され、コンパクション書き込み動作でTLCモードが使用される場合について説明したが、これに限定されない。バッファ書き込み動作で使用されるデータの記憶方式と、コンパクション書き込み動作で使用されるデータの記憶方式とは、その他の組み合わせでも良い。
図32は、第2実施形態の第1変形例におけるバッファ書き込み動作とコンパクション書き込み動作との間のデータの記憶方式の組み合わせの一例を示している。図32に示すように、バッファ書き込み動作にSLCモードが使用される場合、コンパクション書き込み動作にはMLCモード、TLCモード、又はQLCモードが使用される。バッファ書き込み動作にMLCモードが使用される場合、コンパクション書き込み動作にはTLCモード又はQLCモードが使用される。バッファ書き込み動作にTLCモードが使用される場合、コンパクション書き込み動作には例えばQLCモードが使用される。尚、コンパクション書き込み動作には、5bit/cell以上のデータの記憶方式が使用されても良い。
(第2実施形態の第2変形例)
第2実施形態では、バッファ書き込み動作とコンパクション書き込み動作との両方で不良検知モードが使用される場合について説明したが、これに限定されない。バッファ書き込み動作における不良検知モードは、省略されても良い。
第2実施形態では、バッファ書き込み動作とコンパクション書き込み動作との両方で不良検知モードが使用される場合について説明したが、これに限定されない。バッファ書き込み動作における不良検知モードは、省略されても良い。
図33は、第2実施形態の第2変形例における書き込み動作の一例を示している。図33に示すように、第2実施形態の第2変形例における書き込み動作は、図29に示されたフローチャートにおいて、ステップS201がステップS220に置き換えられた構成を有している。
ステップS220のバッファ書き込み動作では、SLCモードと通常モードとが使用される。そして、ステップS203のコンパクション書き込み動作では、TLCモードと不良検知モードが使用される。これにより、第2実施形態の第2変形例に係るメモリシステム1は、バッファ書き込み動作のパフォーマンスを向上させることが出来る。
[3]第3実施形態
第3実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第3実施形態に係るメモリシステム1は、ガベージコレクション動作に対して、第1実施形態で説明された不良検知モードを適用する。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
第3実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第3実施形態に係るメモリシステム1は、ガベージコレクション動作に対して、第1実施形態で説明された不良検知モードを適用する。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
[3-1]ガベージコレクション動作
ガベージコレクション動作は、メモリセルアレイ107に確保されたメモリ領域のうち、不要になった領域を自動的に開放する機能である。簡潔に述べると、メモリシステム1は、ガベージコレクション動作において、削除対象の無効データを集めて、断片化している有効データを新しいブロックBLKに書き込む。そして、メモリシステム1は、無効データが集められたブロックBLKの消去動作を実行し、空きブロックBLKを形成する。
ガベージコレクション動作は、メモリセルアレイ107に確保されたメモリ領域のうち、不要になった領域を自動的に開放する機能である。簡潔に述べると、メモリシステム1は、ガベージコレクション動作において、削除対象の無効データを集めて、断片化している有効データを新しいブロックBLKに書き込む。そして、メモリシステム1は、無効データが集められたブロックBLKの消去動作を実行し、空きブロックBLKを形成する。
図34は、第3実施形態に係るメモリシステム1のガベージコレクション動作の流れの一例を示している。図34に示すように、まずメモリコントローラ20が、有効データを読み出して、RAM23に格納する(ステップS300)。続けて、メモリコントローラ20が、有効データの収集が完了したかどうかを確認する(ステップS301)。有効データの収集が完了していない場合(ステップS301、NO)、ステップS300の処理に戻る。一方で、有効データの収集が完了している場合(ステップS301、YES)、ステップS302の処理に移行する。
ステップS302の処理では、メモリコントローラ20が、不良検知モードの動作パラメータを設定する。例えば、メモリコントローラ20は、ステップS302の処理において、不良検知対象のページ等を設定する。そして、メモリコントローラ20は、不良検知モードを使用した書き込み動作をメモリデバイスMDに指示する(ステップS303)。
メモリデバイスMDの書き込み動作が完了すると、メモリコントローラ20は、メモリデバイスMDからステータス情報を読み出し、書き込み動作のステータスがパスになっているか否かを確認する(ステップS304)。ステータスパスでない場合(ステップS304、NO)、メモリコントローラ20は、書き込み先を変更して(ステップS305)、ステップS302の処理に戻る。一方で、ステータスパスである場合(ステップS304、YES)、メモリコントローラ20は、書き込み動作によってデータが書き込まれたアドレスに基づいて、ルックアップテーブルLUTを更新する(ステップS306)。そして、書き込まれた有効データが、RAM23から破棄される。
その後、メモリコントローラ20は、ガベージコレクション動作が完了したか否かを確認する(ステップS307)。具体的には、メモリコントローラ20が、RAM23に格納されている全ての有効データの書き込み動作が完了したか否かを確認する。RAM23に格納されている全ての有効データの書き込み動作が完了していない場合(ステップS307、NO)、メモリコントローラ20は、ステップS302の処理に戻る。一方で、RAM23に格納されている全ての有効データの書き込み動作が完了している場合、ガベージコレクション動作を終了する(ステップS307、YES)。
[3-2]第3実施形態の効果
以上で説明されたように、不良検知モードの書き込み動作は、ガベージコレクション動作で使用されても良い。これにより、第3実施形態に係るメモリシステム1は、ガベージコレクション動作において、セルユニットCUの物理不良を検知することが出来、有効データの消失を回避することが出来る。従って、第3実施形態に係るメモリシステム1は、第1実施形態と同様に、データの信頼性を向上させることが出来る。
以上で説明されたように、不良検知モードの書き込み動作は、ガベージコレクション動作で使用されても良い。これにより、第3実施形態に係るメモリシステム1は、ガベージコレクション動作において、セルユニットCUの物理不良を検知することが出来、有効データの消失を回避することが出来る。従って、第3実施形態に係るメモリシステム1は、第1実施形態と同様に、データの信頼性を向上させることが出来る。
[4]第4実施形態
第4実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第4実施形態に係るメモリシステム1は、書き込み対象のブロックBLKのW/E回数に基づいて、第1実施形態で説明された不良検知モードを適用する。以下に、第4実施形態に係るメモリシステム1について、第1~第3実施形態と異なる点を説明する。
第4実施形態に係るメモリシステム1は、第1実施形態と同様の構成を有する。そして、第4実施形態に係るメモリシステム1は、書き込み対象のブロックBLKのW/E回数に基づいて、第1実施形態で説明された不良検知モードを適用する。以下に、第4実施形態に係るメモリシステム1について、第1~第3実施形態と異なる点を説明する。
[4-1]動作
図35は、第4実施形態の第2変形例における書き込み動作の一例を示している。図35に示すように、第4実施形態の第2変形例における書き込み動作は、図7に示されたフローチャートにおいて、ステップS102がステップS400に置き換えられた構成を有している。
図35は、第4実施形態の第2変形例における書き込み動作の一例を示している。図35に示すように、第4実施形態の第2変形例における書き込み動作は、図7に示されたフローチャートにおいて、ステップS102がステップS400に置き換えられた構成を有している。
ステップS400の処理において、メモリコントローラ20は、書き込み対象のブロックBLKの書き込み/消去回数(W/E回数)が基準値を超えているか否かを確認する。W/E回数>基準値でない場合(ステップS400、NO)、メモリコントローラ20は、書き込みモードを通常モードに設定する(ステップS103)。一方で、W/E回数>基準値である場合(ステップS400、YES)、メモリコントローラ20は、書き込みモードを不良検知モードに設定する(ステップS104)。ステップS103又はS104の後に、メモリコントローラ20は、メモリデバイスMDに対して、書き込みデータを転送し、設定された書き込みモードに応じた書き込み動作の実行を指示する。第4実施形態に係るメモリデバイスMDのその他の動作は、図7を用いて説明した動作と同様である。
[4-2]第4実施形態の効果
メモリデバイスMDにおけるワード線WL等の物理不良は、W/E回数が多くなるほど発生する可能性が高くなる。そこで、第4実施形態に係るメモリシステム1は、ブロックBLKのW/E回数に基づいて、不良検知モードを使用するか否かを判断する。そして、第4実施形態に係るメモリシステム1は、物理不良の発生リスクが小さいブロックBLKに不良検知モードを使用しないことによって、メモリシステム1のパフォーマンス及びレイテンシを改善することが出来る。また、第4実施形態に係るメモリシステム1は、物理不良の発生リスクが大きいブロックBLKに不良検知モードを使用することによって、第1実施形態と同様に、データの信頼性を向上させることが出来る。
メモリデバイスMDにおけるワード線WL等の物理不良は、W/E回数が多くなるほど発生する可能性が高くなる。そこで、第4実施形態に係るメモリシステム1は、ブロックBLKのW/E回数に基づいて、不良検知モードを使用するか否かを判断する。そして、第4実施形態に係るメモリシステム1は、物理不良の発生リスクが小さいブロックBLKに不良検知モードを使用しないことによって、メモリシステム1のパフォーマンス及びレイテンシを改善することが出来る。また、第4実施形態に係るメモリシステム1は、物理不良の発生リスクが大きいブロックBLKに不良検知モードを使用することによって、第1実施形態と同様に、データの信頼性を向上させることが出来る。
尚、第4実施形態では、不良検知モードの使用の有無を決定する基準値がW/E回数である場合について例示したが、これに限定されない。例えば、メモリシステム1の温度状態を、不良検知モードの使用の有無の基準値として使用しても良い。不良検知モードの使用の有無を決定する基準値としては、あらゆるパラメータが活用され得る。
[5]その他
上記実施形態において、説明に使用されたコマンド“01h”~“04h”、“XYh”、及び“X1h”~“XDh”のそれぞれは、任意のコマンドに置き換えることが可能である。下位ページ、中位ページ、上位ページ、及び最上位ページに対応する動作を指示するコマンドとして、それぞれコマンド“01h”、“02h”、“03h”及び“04h”が使用された場合を例に説明したが、コマンド“01h”~“04h”はその他のコマンドに置き換えられても良い。読み出しページを指定するコマンドは、アドレス情報ADDにページの情報を含ませることによって省略されても良い。ステータスリードに対応するコマンドは、複数種類使い分けられても良い。例えば、コマンド“70h”が、通常モードの書き込み動作に対応するステータスリードコマンドとして使用され、コマンド“7Xh”が、不良検知モードの書き込み動作に対応するステータスリードコマンドとして使用されても良い。本明細書では、送信されるアドレス情報ADDが1サイクルである場合が例示されているが、読み出し動作及び書き込み動作で送信されるアドレス情報は、複数サイクル(例えば5サイクル)であっても良い。
上記実施形態において、説明に使用されたコマンド“01h”~“04h”、“XYh”、及び“X1h”~“XDh”のそれぞれは、任意のコマンドに置き換えることが可能である。下位ページ、中位ページ、上位ページ、及び最上位ページに対応する動作を指示するコマンドとして、それぞれコマンド“01h”、“02h”、“03h”及び“04h”が使用された場合を例に説明したが、コマンド“01h”~“04h”はその他のコマンドに置き換えられても良い。読み出しページを指定するコマンドは、アドレス情報ADDにページの情報を含ませることによって省略されても良い。ステータスリードに対応するコマンドは、複数種類使い分けられても良い。例えば、コマンド“70h”が、通常モードの書き込み動作に対応するステータスリードコマンドとして使用され、コマンド“7Xh”が、不良検知モードの書き込み動作に対応するステータスリードコマンドとして使用されても良い。本明細書では、送信されるアドレス情報ADDが1サイクルである場合が例示されているが、読み出し動作及び書き込み動作で送信されるアドレス情報は、複数サイクル(例えば5サイクル)であっても良い。
上記実施形態における読み出し動作において、選択されたワード線WLに印加される電圧は、例えばドライバ回路106がロウデコーダモジュール108に電圧を供給する信号線の電圧と同様の電圧となる。つまり、各種配線に印加される電圧や電圧が印加されている期間は、対応する信号線の電圧を調べることにより大まかに知ることが出来る。ドライバ回路106に接続された各信号線の電圧から選択ゲート線及びワード線等の電圧を見積もる場合には、ロウデコーダRDに含まれたトランジスタによる電圧降下が考慮されても良い。この場合、選択ゲート線及びワード線のそれぞれの電圧は、対応する信号線に印加されている電圧よりもトランジスタの電圧降下の分だけ低くなる。
上記実施形態における読み出し動作において、メモリデバイスMDは、選択されたワード線WLに印加される読み出し電圧を、低いレベルから高いレベルに変化させても良いし、高いレベルから低いレベルに変化させても良い。読み出し電圧が印加される順序は、適宜変更され得る。メモリデバイスMDは、何れの場合においても、メモリセルトランジスタMTからデータを読み出すことが出来る。また、上記実施形態で説明されたコーディングはあくまで一例である。どのようなコーディングに対しても、上述された構成及び動作が応用され得る。
本明細書において、入出力回路101、ロジック制御回路103、シーケンサ104、レディビジー制御回路105、及びドライバ回路106を含んだ要素が、“コントローラ”または“制御回路”と呼ばれても良い。つまり、メモリデバイスMDのコントローラが、外部のメモリコントローラ20からの指示に基づいて、メモリセルトランジスタMTへの書き込み動作を実行し得る。
本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。また、本明細書において“オフ状態”とは、対応するトランジスタのゲートに当該トランジスタの閾値電圧未満の電圧が印加されていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。“バッファ領域”は、センスアンプモジュール109に含まれた複数のラッチ回路によって形成される記憶領域のことを示していても良い。つまり、書き込みデータや読み出しデータは、センスアンプモジュール109のバッファ領域に格納され得る。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、10…メモリセット、14…シーケンサ、17…メモリセルアレイ、18…ロウデコーダモジュール、19…センスアンプモジュール、20…メモリコントローラ、21…CPU、22…ROM、23…RAM、24…ECC回路、25…ホストインターフェイス回路、26…NANDインターフェイス回路、30…ホスト機器、101…入出力回路、102…レジスタセット、102A…ステータスレジスタ、102B…アドレスレジスタ、102C…コマンドレジスタ、103…ロジック制御回路、104…シーケンサ、105…レディビジー制御回路、106…ドライバ回路、107…メモリセルアレイ、108…ロウデコーダモジュール、109…センスアンプモジュール、110…カウンタ、T0~T7,T10,T11…トランジスタ、IV…インバータ、MD…メモリデバイス、RD…ロウデコーダ、SAU…センスアンプユニット、BLK…ブロック、SU…ストリングユニット、BL…ビット線、WL…ワード線、SGD,SGS…選択ゲート線、MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ
Claims (11)
- データを不揮発に記憶するメモリセルを含むメモリセルアレイと、
前記メモリセルアレイに接続された複数のビット線と、
前記複数のビット線にそれぞれ接続された複数のセンスアンプユニットと、
前記メモリセルへの書き込み動作を実行するコントローラと、
前記書き込み動作のステータス情報を格納するレジスタと、を備え、
前記メモリセルアレイは、第1アドレスで指定される第1記憶領域を含み、
前記複数のセンスアンプユニットは、データを格納可能なバッファ領域を含み、
前記コントローラが、第1プリフィックスコマンドを受信した後に、前記書き込み動作を指示する第1コマンドと、前記第1アドレスと、第1データとを含む第1コマンドセットを受信すると、
前記第1データを前記バッファ領域に格納し、前記バッファ領域に格納された前記第1データを前記第1記憶領域に書き込み、
前記第1記憶領域に前記第1データを書き込んだ後に、前記第1データを前記バッファ領域に維持した状態で、第2データを前記第1記憶領域から読み出し、読み出した前記第2データを前記バッファ領域に格納し、
前記バッファ領域に格納された前記第1データと前記第2データとを比較し、前記比較の結果に基づいて、前記ステータス情報を更新する、
メモリデバイス。 - 前記比較は、前記第1データと前記第2データとの排他的論理和演算であり、
前記コントローラは、前記排他的論理和演算によって得られた第3データのうち第1値である数をカウントし、前記カウントの結果が、第1基準値よりも大きい場合に、ステータスフェイルの情報を前記ステータス情報に書き込み、第1基準値以下である場合に、ステータスパスの情報を前記ステータス情報に書き込む、
請求項1に記載のメモリデバイス。 - 前記コントローラは、第2コマンドと、第2アドレスと、第1設定データとを含む第2コマンドセットを受信すると、前記第1設定データに含まれた数値を前記第1基準値として使用する、
請求項2に記載のメモリデバイス。 - 前記コントローラは、前記書き込み動作の後にステータスリードコマンドを受信すると、前記ステータス情報を外部のメモリコントローラに出力する、
請求項1乃至請求項3のいずれか一項に記載のメモリデバイス。 - 前記コントローラが、前記第1プリフィックスコマンドを受信することなく、前記第1コマンドセットを受信すると、
前記第1データを前記バッファ領域に格納し、前記バッファ領域に格納された前記第1データを前記第1記憶領域に書き込み、
前記第1記憶領域に前記第1データを書き込んだ後に、前記バッファ領域に格納された前記第1データを破棄する、
請求項1乃至請求項4のいずれか一項に記載のメモリデバイス。 - 前記コントローラは、第3コマンドと、第3アドレスと、第2設定データとを含む第3コマンドセットを受信すると、前記第2設定データに含まれた数値を、前記書き込み動作における前記第2データの読み出しで、前記第1記憶領域のメモリセルに印加する読み出し電圧の補正値として使用する、
請求項1乃至請求項5のいずれか一項に記載のメモリデバイス。 - 請求項1に記載のメモリデバイスと、
前記第1プリフィックスコマンド及び前記第1コマンドセットを前記メモリデバイスに送信するメモリコントローラと、を備える、
メモリシステム。 - 前記メモリセルアレイは、第2アドレスで指定される第2記憶領域をさらに含み、
前記メモリコントローラが、前記第1プリフィックスコマンドと前記第1コマンドセットとに基づいた書き込み動作の後に、前記メモリデバイスから前記ステータス情報を読み出し、前記ステータス情報がステータスフェイルの情報を含む場合に、前記第1プリフィックスコマンドと、前記第1コマンドと、前記第2アドレスと、前記第1データとを含む第4コマンドセットを前記メモリデバイスに送信する、
請求項7に記載のメモリシステム。 - 前記メモリセルアレイは、第3アドレスで指定される第3記憶領域と、第4アドレスで指定される第4記憶領域と、をさらに含み、
前記メモリコントローラが、前記第1プリフィックスコマンドと前記第1コマンドセットとに基づいた書き込み動作の後に、前記第1プリフィックスコマンドと、前記第1コマンドと、前記第3アドレスと、第4データとを含む第4コマンドセットを前記メモリデバイスに送信し、
前記メモリデバイスが、前記第4コマンドセットに基づいた書き込み動作を実行し、
前記メモリコントローラが、前記第4コマンドセットに基づいた書き込み動作の後に、前記第1アドレスの読み出し動作と前記第3アドレスの読み出し動作とを前記メモリデバイスに指示し、前記第1アドレスの前記読み出し動作によって得られた第5データと、前記第3アドレスの前記読み出し動作によって得られた第6データとを用いた前記第4アドレスの書き込み動作を前記メモリデバイスに指示する、
請求項7又は請求項8に記載のメモリシステム。 - 前記メモリコントローラは、前記メモリセルアレイに含まれた複数の記憶領域に対するガベージコレクションにおいて、前記第1プリフィックスコマンドに基づいた書き込み動作を前記メモリデバイスに指示する、
請求項7乃至請求項9のいずれか一項に記載のメモリシステム。 - 前記メモリコントローラは、前記メモリセルアレイに含まれた複数の記憶領域のうち、
書き込み/消去の回数が第2基準値よりも大きい記憶領域に対して、前記第1プリフィックスコマンドに基づいた書き込み動作を前記メモリデバイスに指示し、
書き込み/消去の回数が前記第2基準値以下である記憶領域に対して、前記第1プリフィックスコマンドに基づかない書き込み動作を前記メモリデバイスに指示する、
請求項7乃至請求項10のいずれか一項に記載のメモリシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020140967A JP2022036654A (ja) | 2020-08-24 | 2020-08-24 | メモリデバイス及びメモリシステム |
US17/188,046 US11551756B2 (en) | 2020-08-24 | 2021-03-01 | Memory device |
US17/985,224 US11967379B2 (en) | 2020-08-24 | 2022-11-11 | Memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020140967A JP2022036654A (ja) | 2020-08-24 | 2020-08-24 | メモリデバイス及びメモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022036654A true JP2022036654A (ja) | 2022-03-08 |
Family
ID=80270238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020140967A Pending JP2022036654A (ja) | 2020-08-24 | 2020-08-24 | メモリデバイス及びメモリシステム |
Country Status (2)
Country | Link |
---|---|
US (2) | US11551756B2 (ja) |
JP (1) | JP2022036654A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017838B2 (en) | 2016-08-04 | 2021-05-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices |
JP2022036654A (ja) * | 2020-08-24 | 2022-03-08 | キオクシア株式会社 | メモリデバイス及びメモリシステム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100255957B1 (ko) * | 1997-07-29 | 2000-05-01 | 윤종용 | 전기적으로 소거 및 프로그램 가능한 메모리 셀들을 구비한반도체 메모리 장치 |
US6732306B2 (en) * | 2000-12-26 | 2004-05-04 | Intel Corporation | Special programming mode with hashing |
US6834323B2 (en) * | 2000-12-26 | 2004-12-21 | Intel Corporation | Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory |
US6870770B2 (en) * | 2001-12-12 | 2005-03-22 | Micron Technology, Inc. | Method and architecture to calibrate read operations in synchronous flash memory |
US7664987B2 (en) * | 2003-05-25 | 2010-02-16 | Sandisk Il Ltd. | Flash memory device with fast reading rate |
JP2006048783A (ja) * | 2004-08-02 | 2006-02-16 | Renesas Technology Corp | 不揮発性メモリおよびメモリカード |
US7342830B1 (en) * | 2006-01-17 | 2008-03-11 | Spansion Llc | Program and program verify operations for flash memory |
KR100923810B1 (ko) * | 2007-02-22 | 2009-10-27 | 주식회사 하이닉스반도체 | 메모리 소자와 그 동작 방법 |
KR101662309B1 (ko) * | 2010-02-08 | 2016-10-04 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 |
US9047955B2 (en) * | 2011-03-30 | 2015-06-02 | Stec, Inc. | Adjusting operating parameters for memory cells based on wordline address and cycle information |
US9195586B2 (en) * | 2012-02-23 | 2015-11-24 | Hgst Technologies Santa Ana, Inc. | Determining bias information for offsetting operating variations in memory cells based on wordline address |
US9026757B2 (en) * | 2013-01-25 | 2015-05-05 | Sandisk Technologies Inc. | Non-volatile memory programming data preservation |
JP2018147543A (ja) * | 2017-03-09 | 2018-09-20 | 東芝メモリ株式会社 | 不揮発性半導体記憶装置 |
KR102347184B1 (ko) * | 2017-05-23 | 2022-01-04 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
KR102477267B1 (ko) | 2017-11-14 | 2022-12-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이의 동작 방법 |
JP2019161059A (ja) | 2018-03-14 | 2019-09-19 | 東芝メモリ株式会社 | 半導体記憶装置 |
KR102619626B1 (ko) | 2018-06-12 | 2023-12-29 | 삼성전자주식회사 | 3차원 반도체 메모리 소자 |
JP2020009511A (ja) * | 2018-07-05 | 2020-01-16 | キオクシア株式会社 | メモリシステム及び不揮発性半導体メモリ |
JP6439896B1 (ja) * | 2018-08-21 | 2018-12-19 | 富士通株式会社 | メモリ書き込み制御装置及び不揮発性メモリの不良判定方法 |
JP2022036654A (ja) * | 2020-08-24 | 2022-03-08 | キオクシア株式会社 | メモリデバイス及びメモリシステム |
-
2020
- 2020-08-24 JP JP2020140967A patent/JP2022036654A/ja active Pending
-
2021
- 2021-03-01 US US17/188,046 patent/US11551756B2/en active Active
-
2022
- 2022-11-11 US US17/985,224 patent/US11967379B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11967379B2 (en) | 2024-04-23 |
US20220059164A1 (en) | 2022-02-24 |
US20230069906A1 (en) | 2023-03-09 |
US11551756B2 (en) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8159882B2 (en) | Nonvolatile semiconductor memory device and memory system | |
US11609814B2 (en) | Memory system | |
JP6238378B2 (ja) | 半導体記憶装置 | |
TWI602187B (zh) | Semiconductor memory devices and memory systems | |
US8565022B2 (en) | Memory system and method of operating the same | |
US10360974B2 (en) | Non-volatile semiconductor memory in which data writing to cell groups is controlled using plural program pulses | |
US11967379B2 (en) | Memory device | |
JP7128088B2 (ja) | メモリシステム | |
US8804391B2 (en) | Semiconductor memory device and method of operating the same | |
US10803954B2 (en) | Memory system | |
US10957405B2 (en) | Memory system configured to update write voltage applied to memory cells based on number of write or erase operations | |
JP2019200826A (ja) | 半導体記憶装置 | |
US10726911B2 (en) | Memory system | |
JP2020047322A (ja) | メモリシステム | |
KR20110078727A (ko) | 불휘발성 메모리 소자의 동작 방법 | |
JP2021044033A (ja) | 半導体記憶装置 | |
KR20140021909A (ko) | 반도체 메모리 장치 및 이의 동작 방법 | |
CN108572786B (zh) | 避免读取扰动的数据搬移方法以及使用该方法的装置 | |
CN113555052B (zh) | 半导体存储装置 | |
US20150194220A1 (en) | Semiconductor device and memory system including the same | |
JP2021047954A (ja) | 半導体記憶装置 | |
US20240086077A1 (en) | Memory system | |
JP2017142875A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |