JP6297201B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP6297201B2
JP6297201B2 JP2017248313A JP2017248313A JP6297201B2 JP 6297201 B2 JP6297201 B2 JP 6297201B2 JP 2017248313 A JP2017248313 A JP 2017248313A JP 2017248313 A JP2017248313 A JP 2017248313A JP 6297201 B2 JP6297201 B2 JP 6297201B2
Authority
JP
Japan
Prior art keywords
data
memory cell
write operation
voltage
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017248313A
Other languages
English (en)
Other versions
JP2018045757A (ja
Inventor
白川 政信
政信 白川
公之 赤嶺
公之 赤嶺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Memory Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Application granted granted Critical
Publication of JP6297201B2 publication Critical patent/JP6297201B2/ja
Publication of JP2018045757A publication Critical patent/JP2018045757A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5643Multilevel memory comprising cache storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Probability & Statistics with Applications (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Detection And Correction Of Errors (AREA)

Description

実施形態は、半導体記憶装置に関する。
半導体記憶装置としてNAND型フラッシュメモリが知られている。
特開2012−048791号公報
データの信頼性を向上することが可能な半導体記憶装置を提供する。
実施形態の半導体記憶装置は、第1乃至第4メモリセルと、第1及び第2選択トランジスタと、第1及び第2ワード線と、コントローラと、を備える。第3メモリセルの一端は、第1メモリセルの一端に接続されている。第4メモリセルの一端は、第2メモリセルの一端に接続されている。第1選択トランジスタは、第3メモリセルの他端に接続されている。第2選択トランジスタは、第4メモリセルの他端に接続されている。第1ワード線は、第1及び第2メモリセルのそれぞれのゲートに接続されている。第2ワード線は、第3及び第4メモリセルのそれぞれのゲートに接続され、第1ワード線の隣に設けられている。コントローラは、第1書き込みと、第2書き込みとを実行する。コントローラは、書き込み動作の際に、第3メモリセルに対する第1書き込みと、第1メモリセルに対する第2書き込みと、第4メモリセルに対する第1書き込みとを順に実行する。
第1実施形態に従ったメモリシステムのブロック図。 第1実施形態に従った半導体記憶装置の備えるメモリセルアレイ及びセンスアンプモジュールの回路図。 第1実施形態に従ったメモリセルの取り得るデータ、閾値分布、及び読み出しレベルを示す図。 第1実施形態に従ったメモリセルの取り得るデータ、閾値分布、及び読み出しレベルを示す図。 第1実施形態に従ったメモリシステムにおける書き込み動作のフローチャート。 第1実施形態に従ったメモリシステムの書き込み動作時における各ステップでコントローラ及びセンスアンプが保持するデータを示す模式図。 第1実施形態に従ったコントローラの書き込み動作時における書き込みデータの処理方法を示すフローチャート。 第1実施形態に従ったコントローラの書き込み動作時における書き込みデータのコード変換を説明する表。 第1実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第1実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第1実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第1実施形態に従った半導体記憶装置における書き込み動作のコマンドシーケンス及び波形図。 第1実施形態に従ったメモリシステムにおける読み出し動作のフローチャート。 第1実施形態に従った半導体記憶装置の読み出し動作における波形とデータの出力タイミングとを示す図。 第2実施形態に従ったメモリシステムのブロック図。 第2実施形態に従ったメモリシステムにおける書き込み動作のフローチャート。 第2実施形態に従ったメモリシステムの書き込み動作時における各ステップでコントローラ及びセンスアンプが保持するデータを示す模式図。 第2実施形態に従ったコントローラの書き込み動作時における書き込みデータのコード変換を説明する表。 第2実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第2実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第2実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第2実施形態に従った半導体記憶装置における書き込み動作の波形図。 第3実施形態に従ったメモリシステムにおける書き込み動作のフローチャート。 第3実施形態に従ったメモリシステムの書き込み動作時における各ステップでコントローラ及びセンスアンプが保持するデータを示す模式図。 第3実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第3実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第3実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第4実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第4実施形態に従ったメモリシステムの書き込み動作時における各ステップでコントローラ及びセンスアンプが保持するデータを示す模式図。 第4実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第4実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第4実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第5実施形態に従ったコントローラの備えるRAMのブロック図。 第5実施形態に従った半導体記憶装置の備えるメモリセルアレイの回路図。 第5実施形態に従ったメモリシステムにおける書き込み動作のフローチャート。 第5実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第5実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第5実施形態に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第5実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第5実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第5実施形態に従った半導体記憶装置における書き込み動作のコマンドシーケンス及び波形図。 第5実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第5実施形態の比較例に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第5実施形態に従ったコントローラと比較例に従ったコントローラとのRAMの記憶容量を比較する図。 第5実施形態の変形例に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第6実施形態に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第6実施形態に従ったメモリシステムにおける書き込み動作のコマンドシーケンス。 第6実施形態の比較例に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第6実施形態に従ったコントローラと比較例に従ったコントローラとのRAMの記憶容量を比較する図。 第6実施形態の変形例に従ったメモリシステムの書き込み動作における書き込み順番を示す図。 第7実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。 第7実施形態に従った半導体記憶装置の書き込み動作における閾値分布の変化を示す図。
以下に、実施形態について図面を参照して説明する。図面は模式的なものである。各実施形態は、実施形態の技術的思想を具体化するための装置や方法を例示するものである。
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ文字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は文字のみを含んだ参照符号により参照される。
[1]第1実施形態
第1実施形態に係る半導体記憶装置及びメモリシステムについて説明する。
[1−1]構成
[1−1−1]メモリシステム1の構成
まず、図1を用いてメモリシステム1の構成について説明する。図1は、メモリシステム1のブロック図である。図1に示すようにメモリシステム1は、半導体記憶装置10及びコントローラ20を備え、外部のホスト機器30に接続される。
半導体記憶装置10は、データを不揮発に記憶するNAND型フラッシュメモリである。半導体記憶装置10の構成ついては後述する。
コントローラ20は、ホスト機器30からの命令に応答して、半導体記憶装置10に対して読み出し、書き込み、及び消去等を命令する。図1に示すようにコントローラ20は、ホストインターフェイス回路21、内蔵メモリ(RAM)22、プロセッサ(CPU)23、バッファメモリ24、ECC回路25、及びNANDインターフェイス回路26を備える。
ホストインターフェイス回路21は、ホストバスによってホスト機器30と接続され、ホスト機器30との通信を司る。例えばホストインターフェイス回路21は、ホスト機器30から受信した命令及びデータをそれぞれ、プロセッサ23及びバッファメモリ24に転送する。またホストインターフェイス回路21は、プロセッサ23の命令に応答して、バッファメモリ24内のデータをホスト機器30に転送する。
RAM22は、例えばDRAM等の半導体メモリであり、半導体記憶装置10を管理するためのファームウェアや、各種の管理テーブル等を保持する。またRAM22は、プロセッサ23の作業領域として使用され、例えば書き込み動作時に使用される領域PG0〜PG5を含む。領域PGは、各々が1ページのデータを保持することが可能である。この”ページ”の定義については後述する。
CPU23は、コントローラ20全体の動作を制御する。例えばCPU23は、ホスト機器30から受信した書き込み命令に応答して、NANDインターフェイス回路26に対して書き込みコマンドを発行する。この動作は、読み出し及び消去の場合についても同様である。またCPU23は、ウェアレベリング等、半導体記憶装置10のメモリ空間を管理するための様々な処理を実行する。
バッファメモリ24は、コントローラ20が半導体記憶装置10から受信した読み出しデータや、ホスト機器30から受信した書き込みデータ等を一時的に保持する。
ECC回路25は、データのエラー訂正(ECC:Error Checking and Correcting)処理を行う。具体的には、ECC回路25は、データの書き込み時に書き込みデータに基づいてパリティを生成する。そしてECC回路25は、データの読み出し時にパリティからシンドロームを生成してエラーを検出し、検出したエラーを訂正する。
NANDインターフェイス回路26は、NANDバスによって半導体記憶装置10と接続され、半導体記憶装置10との通信を司る。半導体記憶装置10とコントローラ20との間で送受信される信号は、NANDインターフェイスに従っている。例えばNANDインターフェイス回路26は、CPU23から受信した命令に基づいてコマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを半導体記憶装置10に送信し、レディビジー信号RBnを半導体記憶装置10から受信し、入出力信号I/Oを半導体記憶装置10との間で送受信する。
信号CLE及びALEは、半導体記憶装置10への入力信号I/OがそれぞれコマンドCMD及びアドレス情報ADDであることを半導体記憶装置10に通知する信号である。信号WEnは、“L”レベルでアサートされ、入力信号I/Oを半導体記憶装置10に取り込ませるための信号である。信号REnは、“L”レベルでアサートされ、半導体記憶装置10から出力信号I/Oを読み出すための信号である。
レディビジー信号RBnは、半導体記憶装置10がコントローラ20からの命令を受信することが可能かどうかを通知する信号である。レディビジー信号RBnは、例えば半導体記憶装置10がコントローラ20からの命令を受信可能なレディ状態の場合に“H”レベルとされ、受信不可能なビジー状態の場合に“L”レベルとされる。
入出力信号I/Oは、例えば8ビットの信号であり、コマンドCMD、アドレス情報ADD、及びデータDAT等に相当する。例えば書き込み動作時において、半導体記憶装置10に転送される入出力信号I/Oは、CPU23が発行した書き込みコマンドCMD、及びバッファメモリ24内の書き込みデータDATを含む。また、読み出し動作時において、半導体記憶装置10に転送される入出力信号I/Oは読み出しコマンドを含み、コントローラ20に転送される入出力信号I/Oは読み出しデータDATを含む。
以上で説明したメモリシステム1を使用するホスト機器30としては、例えばデジタルカメラやパーソナルコンピュータ等が挙げられる。
尚、半導体記憶装置10及びコントローラ20は、例えばそれらの組み合わせにより一つの半導体装置を構成しても良い。このような半導体装置としては、例えばSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
[1−1−2]半導体記憶装置10の構成
次に、引き続き図1を用いて半導体記憶装置10の構成について説明する。図1に示すように半導体記憶装置10は、メモリセルアレイ11、コマンドレジスタ12、アドレスレジスタ13、シーケンサ14、ドライバ回路15、ロウデコーダ16、及びセンスアンプモジュール17を備える。
メモリセルアレイ11は、ブロックBLK0〜BLKn(nは1以上の整数)を含む。ブロックBLKは、ビット線及びワード線に関連付けられた複数の不揮発性メモリセルの集合であり、例えばデータの消去単位となる。尚、本実施形態は、メモリセルが半導体基板上に二次元に配列している場合を例に説明する。
コマンドレジスタ12は、コントローラ20から受信したコマンドCMDを保持する。アドレスレジスタ13は、コントローラ20から受信したアドレス情報ADDを保持する。このアドレス情報ADDは、ページアドレスPA及びブロックアドレスBAを含む。
シーケンサ14は、コマンドレジスタ12に保持されたコマンドCMDに基づいて、半導体記憶装置10全体の動作を制御する。具体的には、シーケンサ14は、コマンドCMDに基づいてドライバ回路15、ロウデコーダ16、及びセンスアンプモジュール17等を制御して、データの書き込み動作や読み出し動作等を実行する。
ドライバ回路15は、シーケンサ14の指示に基づいて所望の電圧を生成する。またドライバ回路15は、アドレスレジスタ13に保持されたページアドレスPAに基づいて、
生成した電圧をロウデコーダ16に供給する。
ロウデコーダ16は、アドレスレジスタ13に保持されたブロックアドレスBAに基づいて、ブロックBLK0〜BLKnのいずれかを選択する。さらにロウデコーダ16は、選択したブロックBLKにおけるロウ方向を選択し、ドライバ回路15から供給された電圧を選択ワード線に印加する。
センスアンプモジュール17は、メモリセルアレイ11から読み出したデータDATを、コントローラ20に出力する。またセンスアンプモジュール17は、コントローラ20から受け取った書き込みデータDATを、メモリセルアレイ11に転送する。
[1−1−3]メモリセルアレイ11の構成
次に、図2を用いてメモリセルアレイ11の構成について説明する。図2は、メモリセルアレイ11及びセンスアンプモジュール17の回路図であり、メモリセルアレイ11内の1つのブロックBLKについて詳細な回路構成を示している。図2に示すようにブロックBLKは、複数のNANDストリング18を備える。
各NANDストリング18は、ビット線BL0〜BL(m−1)((m−1)は1以上の自然数)に対応して設けられ、例えば8個のメモリセルトランジスタMT(MT0〜MT7)、並びに選択トランジスタST1及びST2を含む。尚、1つのNANDストリング18が含むメモリセルトランジスタMTの数はこれに限定されず、任意の数にすることが出来る。
メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を備え、データを不揮発に保持する。また、メモリセルトランジスタMT0〜MT7は、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続される。同一ブロックBLK内の選択トランジスタST1及びST2のゲートはそれぞれ、セレクトゲート線SGD及びSGSに共通接続される。同様に、同一ブロックBLK内のメモリセルトランジスタMT0〜MT7の制御ゲートはそれぞれ、ワード線WL0〜WL7に共通接続される。
またメモリセルアレイ11内において、同一列にあるNANDストリングNSにおける選択トランジスタST1のドレインは、ビット線BLに共通接続される。つまりビット線BLは、複数のブロックBLK間で同一列にあるNANDストリングNSを共通接続する。さらに、複数の選択トランジスタST2のソースは、ソース線SLに共通接続される。
以上の構成において、共通のワード線WLに接続された複数のメモリセルトランジスタMTの保持する1ビットデータの集合を“ページ”と呼ぶ。従って、1つのメモリセルトランジスタMTに4ビットデータを記憶させる場合、1本のワード線WLに接続された複数のメモリセルの集合には、4ページ分のデータが記憶される。
本実施形態では、1つのメモリセルトランジスタMTが4ビットデータを保持することが出来る。この4ビットデータを、下位ビットから順にLowerビット、Middleビット、Upperビット、及びTopビットと呼ぶ。また、同一のワード線WLに接続されたメモリセルトランジスタMTの保持するLowerビットの集合を“Lowerページ”と呼び、Middleビットの集合を“Middleページ”と呼び、Upperビットの集合を“Upperページ”と呼び、Topビットの集合を“Topページ”と呼ぶ。つまり本例の場合、1本のワード線WLには4ページが割り当てられ、8本のワード線WLを含むブロックBLKは32ページ分の記憶容量を有することになる。
[1−1−4]センスアンプモジュール17の構成
次に、引き続き図2を用いてセンスアンプモジュール17の構成について説明する。図3に示すようにセンスアンプモジュール17は、ビット線BL毎に設けられたセンスアンプユニットSAU(SAU0〜SAU(m−1))を備える。
各センスアンプユニットSAUは、センスアンプ部SA、ラッチ回路ADL、BDL、CDL、DDL、及びXDL、並びに演算部OPを備える。これらセンスアンプ部SA、ラッチ回路ADL、BDL、CDL、DDL、及びXDL、並びに演算部OPは、互いにデータを送受信可能なように接続される。
センスアンプ部SAは、読み出し動作時には対応するビット線BLに読み出されたデータをセンスし、読み出しデータが“0”であるか“1”であるかを判定する。また書き込み動作時には、書き込みデータに基づいてビット線BLに電圧を印加する。
ラッチ回路ADL、BDL、CDL、及びDDLは、読み出しデータ及び書き込みデータを一時的に保持する。読み出し動作時にセンスアンプ部SAが確定させた読み出しデータ、及び書き込み動作時にラッチ回路XDLに転送された書き込みデータは、例えばラッチ回路ADL、BDL、CDL、及びDDLのいずれかに転送される。
演算部OPは、ラッチ回路ADL、BDL、CDL、及びDDLに保持されているデータについて、論理和(OR)演算、論理積(AND)演算、排他的論理和(XOR)演算等、種々の演算を行う。
ラッチ回路XDLは、センスアンプユニットSAUとコントローラ20との間のデータの入出力に用いられる。例えば、コントローラ20から受信したデータは、ラッチ回路XDLを介してラッチ回路ADL、BDL、CDL、若しくはDDL、又はセンスアンプ部SAに転送される。同様に、ラッチ回路ADL、BDL、CDL、若しくはDDL、又はセンスアンプ部SAが保持するデータは、ラッチ回路XDLを介してコントローラ20に転送される。
またラッチ回路XDLは、半導体記憶装置10のキャッシュメモリとして機能する。例えば半導体記憶装置10は、ラッチ回路ADL、BDL、CDL、及びDDLが使用中であったとしても、ラッチ回路XDLが空いていればレディ状態になることが出来る。
尚、センスアンプモジュール17の構成はこれに限定されず、種々変更が可能である。例えばセンスアンプユニットSAUは、6個以上のラッチ回路を備えていても良い。
[1−1−5]メモリセルトランジスタMTの閾値分布
次に、図3を用いてメモリセルトランジスタMTの閾値分布について説明する。図3は、各メモリセルトランジスタMTの取り得るデータ、閾値分布、及び読み出し動作時に用いる電圧を示している。
図3に示すように、メモリセルトランジスタMTが4ビットのデータを保持する場合、その閾値電圧の分布は16個に分けられる。この16個の閾値分布を、閾値電圧が低いものから順に“0”レベル、“1”レベル、“2”レベル、“3”レベル、“4”レベル、“5”レベル、“6”レベル、“7”レベル、“8”レベル、“9”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベルと呼ぶ。
また、図3に示す電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFはそれぞれ、書き込み動作時における“0”レベル、“1”レベル、“2”レベル、“3”レベル、“4”レベル、“5”レベル、“6”レベル、“7”レベル、“8”レベル、“9”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、及び“F”レベルのベリファイに用いられる。また電圧VREADは、読み出し動作時において非選択ワード線に印加される電圧である。メモリセルトランジスタMTは、ゲートに電圧VREADが印加されると保持するデータに依らずにオン状態になる。これらの電圧値の関係は、V1<V2<V3<V4<V5<V6<V7<V8<V9<VA<VB<VC<VD<VE<VF<VREADである。
上述した閾値分布のうち“0”レベルは、メモリセルトランジスタMTの消去状態に相当する。“0”レベルにおける閾値電圧は、電圧V1未満である。“1”レベルにおける閾値電圧は、電圧V1以上且つ電圧V2未満である。“2”レベルにおける閾値電圧は、電圧V2以上且つ電圧V3未満である。“3”レベルにおける閾値電圧は、電圧V3以上且つ電圧V4未満である。“4”レベルにおける閾値電圧は、電圧V4以上且つ電圧V5未満である。“5”レベルにおける閾値電圧は、電圧V5以上且つ電圧V6未満である。“6”レベルにおける閾値電圧は、電圧V6以上且つ電圧V7未満である。“7”レベルにおける閾値電圧は、電圧V7以上且つ電圧V8未満である。“8”レベルにおける閾値電圧は、電圧V8以上且つ電圧V9未満である。“9”レベルにおける閾値電圧は、電圧V9以上且つ電圧VA未満である。“A”レベルにおける閾値電圧は、電圧VA以上且つ電圧VB未満である。“B”レベルにおける閾値電圧は、電圧VB以上且つ電圧VC未満である。“C”レベルにおける閾値電圧は、電圧VC以上且つ電圧VD未満である。“D”レベルにおける閾値電圧は、電圧VD以上且つVE未満である。“E”レベルにおける閾値電圧は、電圧VE以上且つVF未満である。“F”レベルにおける閾値電圧は、電圧VE以上且つ電圧VREAD未満である。
本例における読み出し動作では、説明を簡略化するため、ベリファイ電圧を読み出し電圧として使用した場合を一例として説明する。以下に、電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを用いた読み出し動作のことをそれぞれ、読み出し動作1R、2R、3R、4R、5R、6R、7R、8R、9R、AR、BR、CR、DR、ER、及びFRと呼ぶ。読み出し動作1Rは、メモリセルトランジスタMTの閾値電圧が電圧V1未満か否かを判定する。読み出し動作2Rは、メモリセルトランジスタMTの閾値電圧が電圧V2未満か否かを判定する。読み出し動作3Rは、メモリセルトランジスタMTの閾値電圧が電圧V3未満か否かを判定する。以下、同様である。
また、上述した16個の閾値分布は、Lowerビット、Middleビット、Upperビット、及びTopビットからなる4ビット(4ページ)データを書き込むことで形成される。そして16個の閾値分布が、それぞれ異なる4ビットのデータに対応する。本実施形態では、各レベルに含まれるメモリセルトランジスタMTに対して、以下に示すようにデータを割り付ける。
“0”レベルに含まれるメモリセルトランジスタMTは、“1111”(“Lowerビット/Middleビット/Upperビット/Topビット”)データを保持する。“1”レベルに含まれるメモリセルトランジスタMTは、“1110”データを保持する。“2”レベルに含まれるメモリセルトランジスタMTは、“1100”データを保持する。“3”レベルに含まれるメモリセルトランジスタMTは、“1101”データを保持する。“4”レベルに含まれるメモリセルトランジスタMTは、“1001”データを保持する。“5”レベルに含まれるメモリセルトランジスタMTは、“1000”データを保持する。“6”レベルに含まれるメモリセルトランジスタMTは、“1010”データを保持する。“7”レベルに含まれるメモリセルトランジスタMTは、“1011”データを保持する。“8”レベルに含まれるメモリセルトランジスタMTは、“0011”データを保持する。“9”レベルに含まれるメモリセルトランジスタMTは、“0010”データを保持する。“A”レベルに含まれるメモリセルトランジスタMTは、“0000”データを保持する。“B”レベルに含まれるメモリセルトランジスタMTは、“0001”データを保持する。“C”レベルに含まれるメモリセルトランジスタMTは、“0101”データを保持する。“D”レベルに含まれるメモリセルトランジスタMTは、“0100”データを保持する。“E”レベルに含まれるメモリセルトランジスタMTは、“0110”データを保持する。“F”レベルに含まれるメモリセルトランジスタMTは、“0111”データを保持する。
読み出し動作において各ビットの値を確定させるためには、センスアンプモジュール17は各ビットにおいて値が変化する境界の電圧を調べる必要がある。上述したデータの割り付けでは、Lowerビットは、読み出し動作8Rによって確定する。Middleビットは、読み出し動作4R及びCRによって確定する。Upperビットは、読み出し動作2R、6R、AR、及びERによって確定する。Topビットは、読み出し動作1R、3R、5R、7R、9R、BR、DR、及びFRによって確定する。つまりLowerビット、Middleビット、Upperビット、及びTopビットの値はそれぞれ、1回、2回、4回、及び8回の読み出し動作によって確定する。以下では、このようなデータの割り付けのことを“1−2−4−8コード”と呼ぶ。
また本実施形態では、例えば図4に示すようなデータの割り付けも使用する。図4に示す例では、各レベルに含まれるメモリセルトランジスタMTに対して、以下に示すようにデータを割り付ける。
“0”レベルに含まれるメモリセルトランジスタMTは、“1111”データを保持する。“1”レベルに含まれるメモリセルトランジスタMTは、“0111”データを保持する。“2”レベルに含まれるメモリセルトランジスタMTは、“0101”データを保持する。“3”レベルに含まれるメモリセルトランジスタMTは、“0001”データを保持する。“4”レベルに含まれるメモリセルトランジスタMTは、“1001”データを保持する。“5”レベルに含まれるメモリセルトランジスタMTは、“1000”データを保持する。“6”レベルに含まれるメモリセルトランジスタMTは、“0000”データを保持する。“7”レベルに含まれるメモリセルトランジスタMTは、“0100”データを保持する。“8”レベルに含まれるメモリセルトランジスタMTは、“0110”データを保持する。“9”レベルに含まれるメモリセルトランジスタMTは、“0010”データを保持する。“A”レベルに含まれるメモリセルトランジスタMTは、“0011”データを保持する。“B”レベルに含まれるメモリセルトランジスタMTは、“1011”データを保持する。“C”レベルに含まれるメモリセルトランジスタMTは、“1010”データを保持する。“D”レベルに含まれるメモリセルトランジスタMTは、“1110”データを保持する。“E”レベルに含まれるメモリセルトランジスタMTは、“1100”データを保持する。“F”レベルに含まれるメモリセルトランジスタMTは、“1101”データを保持する。
このように割り付けられたデータを読み出す場合、Lowerビットは、読み出し動作1R、4R、6R、及びBRによって確定する。Middleビットは、読み出し動作3R、7R、9R、及びDRによって確定する。Upperビットは、読み出し動作2R、8R、及びERによって確定する。Topビットは、読み出し動作5R、AR、CR、及びFRによって確定する。つまりLowerビット、Middleビット、Upperビット、及びTopビットの値はそれぞれ、4回、4回、3回、及び4回の読み出し動作によって確定する。以下では、このデータの割り付けのことを“4−4−3−4コード”と呼ぶ。
[1−2]動作
次に、メモリシステム1の書き込み動作及び読み出し動作について説明する。
[1−2−1]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
まず、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作では、コントローラ20がホスト機器30から受け取った4ページのデータに対して各種データ処理を実行し、このデータを2回に分けて2ページずつ半導体記憶装置10に転送する。そして半導体記憶装置10がワード線WLを共有するメモリセルトランジスタMTに対して、2回の書き込み動作によって2ビットずつデータを書き込む。
以下に、図5及び図6を用いてメモリシステム1における書き込み動作の詳細について説明する。図5は、メモリシステム1における書き込み動作のフローチャートを示し、図6は、図5に示す各ステップにおいてRAM22及びセンスアンプユニットSAUが保持するデータの一例を示している。
(ステップS10)
まず、ホスト機器30がコントローラ20に書き込みデータを送信する。コントローラ20は、受信した書き込みデータをバッファメモリ24に格納する。そしてCPU23は、バッファメモリ24に格納された書き込みデータが4ページに達したら、この4ページの書き込みデータDAT0をページ単位でRAM22の各領域PGに格納する。例えば、図6に示すようにデータDAT0のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG3に保持される。
(ステップS11)
次にコントローラ20は、RAM22に保持された4ページのデータDAT0に対して、データ処理を実行する。このデータ処理の詳細を図7に示す。図7は、書き込み動作においてコントローラ20が実行するデータ処理のフローチャートを示している。
図7に示すようにまずCPU23が、RAM22に保持された4ページのデータDATを、ページ毎にランダマイズする(ステップS40)。このときランダマイズされたデータには、例えば4−4−3−4コードが適用される。次にECC回路25が、RAM22に保持された4ページのデータDATに対して、ページ毎にパリティを付与する(ステップS41)。次にCPU23が、RAM22が保持する4ページのデータDATに対して、コード変換を実行する(ステップS42)。
ステップS42におけるコード変換の詳細を図8に示す。図8に示すように本実施形態では、例えば4−4−3−4コードから1−2−4−8コードへのコード変換が実行される。本実施形態では、コード変換後のLowerページデータを第1LowerページデータML1と呼び、Middleページデータを第1UpperページデータMU1と呼び、Upperページデータを第2LowerページデータML2と呼び、Topページデータを第2UpperページデータMU2と呼ぶ。
そして図6に示すように、領域PG0にはデータDAT0の第1LowerページデータML1が保持され、領域PG1にはデータDAT0の第1UpperページデータMU1が保持され、領域PG2にはデータDAT0の第2LowerページデータML2が保持され、領域PG3にはデータDAT0の第2UpperページデータMU2が保持される。
(ステップS12)
次にコントローラ20は、第1コマンドセットを発行して、半導体記憶装置10に送信する。この第1コマンドセットは、書き込みを命令するコマンドと、ワード線WL0を指定するアドレス情報ADDと、2ページのデータDAT0とを含む。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図6に示すようにRAM22の領域PG0及びPG1に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。そしてRAM22の領域PG0及びPG1は、保持していたデータが転送されるとリリースされる。ここで“リリース”とは、ラッチ回路に保持したデータを破棄する動作に相当する。
(ステップS13)
半導体記憶装置10は、コントローラ20から第1コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第1書き込み動作を実行する。第1書き込み動作の概略を図9に示す。図9は、第1書き込み動作によるメモリセルの閾値分布の変化を示している。図9に示すように第1書き込み動作では半導体記憶装置10が、コントローラ20から入力された第1LowerページデータML1及び第1UpperページデータMU1に基づいた、2ページの書き込み動作を実行する。
第1書き込み動作を実行する前のメモリセルトランジスタMTの閾値電圧は、“ER”レベルに分布する。“ER”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。
第1書き込み動作においてシーケンサ14は、電圧VM1、VM2、及びVM3をベリファイ電圧として使用する。電圧VM1は、“10”(“Lowerビット/Upperビット”)データを書き込む場合に使用され、電圧V1以上且つ電圧V5未満である。電圧VM2は、“00”データを書き込む場合に使用されるベリファイ電圧であり、電圧V5以上且つ電圧V9未満である。電圧VM3は、“01”データを書き込む場合に使用されるベリファイ電圧であり、電圧V9以上且つ電圧VD未満である。
第1書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、4つの閾値分布が形成される。図9に示す“M0”レベルは、“11”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M1”レベルは、“10”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M2”レベルは、“00”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M3”レベルは、“01”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。
“M0”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベル及び“ER”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。つまり、第1書き込み動作において“11”データを書き込むメモリセルトランジスタMTでは、閾値電圧の上昇が抑制される。“M1”レベルにおける閾値電圧は、電圧VM1以上且つ電圧V5未満である。“M2”レベルにおける閾値電圧は、電圧VM2以上且つ電圧V9未満である。“M3”レベルにおける閾値電圧は、電圧VM3以上且つ電圧VD未満である。
このように、第1書き込み動作におけるベリファイに使用される電圧VM1、VM2、及びVM3はそれぞれ、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V5、V9、及びVDを超えないように設定される。
(ステップS14)
半導体記憶装置10がステップS13の第1書き込み動作を実行する一方で、RAM22の領域PG0及びPG1がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT1を、バッファメモリ24からRAM22に転送する。すると、例えば図6に示すようにデータDAT1のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG4に保持され、Topページデータが領域PG5に保持される。
(ステップS15)
次にコントローラ20は、RAM22に保持された4ページのデータDAT1に対して、ステップS11と同様のデータ処理を実行する。データ処理が実行されると、図6に示すように、領域PG0にはデータDAT1の第1LowerページデータML1が保持され、領域PG1にはデータDAT1の第1UpperページデータMU1が保持され、領域PG4にはデータDAT1の第2LowerページデータML2が保持され、領域PG5にはデータDAT1の第2UpperページデータMU2が保持される。
(ステップS16)
半導体記憶装置10は、ステップS13の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図6に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS17)
次にコントローラ20は、第1コマンドセットを発行し、半導体記憶装置10に送信する。この第1コマンドセットでは、ワード線WL1を指定するアドレス情報ADDと、2ページ分のデータDAT1とを含む。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT1は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図6に示すように、RAM22の領域PG0及びPG1に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。そしてRAM22の領域PG0及びPG1は、保持していたデータが転送されるとリリースされる。
(ステップS18)
半導体記憶装置10は、コントローラ20から第1コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL1を選択した第1書き込み動作を実行する。この第1書き込み動作はステップS13と同様であり、これによりデータDAT1の第1LowerページデータML1と、第1UpperページデータMU1とに基づいた2ページのデータがワード線WL1に接続されたメモリセルトランジスタMTに書き込まれる。
(ステップS19)
半導体記憶装置10は、ステップS18の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図6に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS20)
コントローラ20は、ワード線WL0に対する第1書き込み動作とワード線WL1に対する第1書き込み動作とが終了すると、第2コマンドセットを発行して半導体記憶装置10に送信する。この第2コマンドセットは、書き込みを命令するコマンドと、ワード線WL0を指定するアドレス情報ADDと、2ページのデータDAT0とを含む。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図6に示すように、RAM22の領域PG2及びPG3に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。RAM22の領域PG2及びPG3は、保持していたデータが転送されるとリリースされる。
(ステップS21)
半導体記憶装置10は、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第2書き込み動作を実行する。第2書き込み動作の概略を図10に示す。図10は、第2書き込み動作によるメモリセルの閾値分布の変化を示している。図10に示すように本実施形態における第2書き込み動作において半導体記憶装置10は、まずInternal data load(IDL)を実行する。
IDLは、書き込み電圧を印加する前に、選択ワード線WLに対応するメモリセルトランジスタMTに記憶されているデータを読み出す動作である。本実施形態ではセンスアンプモジュール17が、電圧M1R、M2R、及びM3Rを用いた読み出し動作を実行する。電圧M1Rは電圧V1以上且つ電圧VM1以下であり、センスアンプ部SAは電圧M1Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M1R未満か否かを判定する。電圧M2Rは電圧V5以上且つ電圧VM2以下であり、センスアンプ部SAは電圧M2Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M2R未満か否かを判定する。電圧M3Rは、電圧V9以上且つ電圧VM3以下であり、センスアンプ部SAは電圧M3Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M3R未満か否かを判定する。
これにより、第1書き込み動作によって書き込まれた“11”データ、“10”データ、“00”データ、及び“01”データが、センスアンプユニットSAU内のラッチ回路に復元される。具体的には、図6に示すようにデータDAT0の第1LowerページデータML1及び第1UpperページデータMU1がそれぞれ、ラッチ回路CDL及びDDLに転送される。
そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータML1及び第1UpperページデータMU1と、コントローラ20から入力された第2LowerページデータML2及び第2UpperページデータMU2とに基づいた、4ページの書き込み動作を実行する。
第2書き込み動作においてシーケンサ14は、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。第2書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、4つのレベルから16個の閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”レベル、“1”レベル、“2”レベル、及び“3”レベルの閾値分布が形成される。“M1”レベルの閾値分布から“4”レベル、“5”レベル、“6”レベル、及び“7”レベルの閾値分布が形成される。“M2”レベルの閾値分布から“8”レベル、“9”レベル、“A”レベル、及び“B”レベルの閾値分布が形成される。“M3”レベルの閾値分布から“C”レベル、“D”レベル、“E”レベル、及び“F”レベルの閾値分布が形成される。
(ステップS22)
半導体記憶装置10がステップS21の第2書き込み動作を実行する一方で、RAM22の領域PG2及びPG3がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT2を、バッファメモリ24からRAM22に転送する。すると、例えば図6に示すようにデータDAT2のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG3に保持される。
(ステップS23)
次にコントローラ20は、RAM22に保持された4ページのデータDAT2に対して、ステップS11と同様のデータ処理を実行する。データ処理が実行されると、図6に示すように領域PG0にはデータDAT2の第1LowerページデータML1が保持され、領域PG1にはデータDAT2の第1UpperページデータMU1が保持され、領域PG2にはデータDAT2の第2LowerページデータML2が保持され、領域PG3にはデータDAT2の第2UpperページデータMU2が保持される。
(ステップS24)
半導体記憶装置10は、ステップS21の第2書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第2書き込み動作が終了すると、図6に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS25)
次にコントローラ20は、第1コマンドセットを発行して、半導体記憶装置10に送信する。この第1コマンドセットでは、ワード線WL2を指定するアドレス情報ADDと、2ページのデータDAT2とを含む。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT2は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図6に示すようにRAM22の領域PG0及びPG1に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。そしてRAM22の領域PG0及びPG1は、保持していたデータが転送されるとリリースされる。
(ステップS26)
半導体記憶装置10は、コントローラ20から第1コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL2を選択した第1書き込み動作を実行する。この第1書き込み動作はステップS13と同様であり、これによりデータDAT2の第1LowerページデータML1と、第1UpperページデータMU1とに基づいた2ビットのデータがワード線WL2に接続されたメモリセルトランジスタMTに書き込まれる。
(ステップS27)
半導体記憶装置10は、ステップS26の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図6に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS28)
コントローラ20は、ワード線WL1に対する第1書き込み動作とワード線WL2に対する第1書き込み動作とが終了すると、第2コマンドセットを発行して半導体記憶装置10に送信する。この第2コマンドセットでは、ワード線WL1を指定するアドレス情報ADDと、2ページのデータDAT1とを含む。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT1は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図6に示すように、RAM22の領域PG4及びPG5に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。RAM22の領域PG4及びPG5は、保持していたデータが転送されるとリリースされる。
(ステップS29)
半導体記憶装置10は、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL1を選択した第2書き込み動作を実行する。この第2書き込み動作はステップS21と同様であり、まず始めに図6に示すようにIDLによってワード線WL1に記憶された2ページのデータが復元される。そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータML1及び第1UpperページデータMU1と、コントローラ20から入力された第2LowerページデータML2及び第2UpperページデータMU2とに基づいて4ページの書き込み動作を実行する。
(ステップS30)
半導体記憶装置10がステップS29の第2書き込み動作を実行する一方で、RAM22の領域PG4及びPG5がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT3を、バッファメモリ24からRAM22に転送する。すると、例えば図6に示すようにデータDAT2のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG4に保持され、Topページデータが領域PG5に保持される。
(ステップS31)
次にコントローラ20は、RAM22に保持された4ページのデータDAT3に対して、ステップS11と同様のデータ処理を実行する。データ処理が実行されると、図6に示すように、領域PG0にはデータDAT3の第1LowerページデータML1が保持され、領域PG1にはデータDAT3の第1UpperページデータMU1が保持され、領域PG4にはデータDAT3の第2LowerページデータML2が保持され、領域PG5にはデータDAT3の第2UpperページデータMU2が保持される。
(ステップS32)
半導体記憶装置10は、ステップS31の第2書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第2書き込み動作が終了すると、図6に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
以降の動作は、ステップS17〜S32と同様の動作が繰り返される。そして、最後の4ページのデータに対応する第2書き込み動作が終了すると、メモリシステム1は書き込み動作を終了する。
<コマンドシーケンスについて>
次に、図11及び図12を用いて、上述した書き込み動作におけるコマンドシーケンス及び波形の詳細について説明する。図11は図5に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。図12は第1及び第2書き込み動作の波形を示し、選択ワード線WLに印加される電圧を示している。尚、以下の説明において、半導体記憶装置10に入力されたコマンドCMDはコマンドレジスタ12に格納され、アドレス情報ADDはアドレスレジスタ13に格納され、データDATは図7で示したラッチ回路に格納されるものとする。
図11に示すように、ステップS12においてまずコントローラ20は、コマンド“01h”を発行して半導体記憶装置10に送信する。コマンド“01h”は、続いて受信するデータDATが1ページ目の書き込みデータであることを示すコマンドである。次にコントローラ20は、コマンド“80h”を発行して半導体記憶装置10に送信する。コマンド“80h”は、半導体記憶装置10に対して書き込み動作を命令するコマンドである。次にコントローラ20は、ワード線WL0を指定するアドレス情報ADDと、第1LowerページデータML1に対応するデータDAT0とを、続けて半導体記憶装置10に送信する。半導体記憶装置10は、受信したデータDAT0をセンスアンプモジュール17のラッチ回路XDLに保持する。次にコントローラ20は、コマンド“xyh”を発行して半導体記憶装置10に送信する。コマンド“xyh”は、コントローラ20がここまで送信した情報が、複数ページの書き込み動作における1ページ分の情報に相当することを示すコマンドである。
コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路ADLに転送させる。そしてシーケンサ14は、レディビジー信号RBnを“H”レベルにする。この動作は、図11に“Dummy busy”と表示されている。
レディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“02h”を発行して半導体記憶装置10に送信する。コマンド“02h”は、続いて受信するデータDATが2ページ目の書き込みデータであることを示すコマンドである。次にコントローラ20は、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第1UpperページデータMU1に対応するデータDAT0とを、続けて半導体記憶装置10に送信する。半導体記憶装置10は、受信したデータDAT0をセンスアンプモジュール17のラッチ回路XDLに保持する。次にコントローラ20は、コマンド“10h”を発行して半導体記憶装置10に送信する。コマンド“10h”は、半導体記憶装置10に対して書き込み動作の実行を指示するコマンドである。
上述したコマンド“01h”からコマンド“10h”までのグループが、第1コマンドセットに相当する。コマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路BDLに転送させ、第1書き込み動作を実行する(ステップS13)。図示するtProg(MLC)は、第1書き込み動作の処理期間に相当する。この第1書き込み動作における波形の一例が、図12に示されている。
図12に示すように、まずロウデコーダ16は選択ワード線WLに対して電圧Vpgm1を印加する。電圧Vpgmはプログラム電圧であり、メモリセルトランジスタMTの電荷蓄積層に電子を注入することが可能な高電圧である。選択ワード線WLに電圧Vpgm1が印加されると、選択ワード線WLに接続されたメモリセルトランジスタMTの閾値電圧が、ゲート−チャネル間の電位差により電荷蓄積層に電子が注入され、上昇する。尚、選択ワード線WLに接続されたメモリセルトランジスタMTのうち書き込み禁止のメモリセルトランジスタMTでは、例えば対応するセンスアンプユニットSAUがビット線BLを充電してゲート−チャネル間の電位差を小さくすることによって、閾値電圧の上昇が抑制される。次にロウデコーダ16は、電圧Vvfyを印加する。電圧Vvfyはベリファイ電圧であり、例えば図9に示す電圧VM1である。
上述したプログラム電圧とベリファイ電圧とを印加する動作が、1回のプログラムループに相当する。そして、このようなプログラムループが、プログラム電圧の値をΔVpgm1ずつ増加させて繰り返される。各プログラムループで印加される電圧Vvfyの値は、第1書き込み動作の進行に伴って、例えば電圧VM2又はVM3に変更される。尚、1回のプログラムループで複数種類のベリファイ電圧が使用されても良い。シーケンサ14は、例えば電圧VM3によるベリファイにパスすると、第1書き込み動作を終了して、レディビジー信号RBnを“H”レベルにする(ステップS16)。
その後、ステップS17においてコントローラ20は、第1コマンドセットを発行して半導体記憶装置10に送信する。図11に示すようにステップS17における第1コマンドセットは、ステップS12における第1コマンドセットに対して、ワード線WL0を指定するアドレス情報ADDからワード線WL1を指定するアドレス情報ADDに置き換え、且つデータDAT0に対応するページからデータDAT1に対応するページに置き換えたものと同様である。尚、以下に登場する同様のコマンドセットは、アドレス情報ADDとデータDATが異なる以外は同様の構成となるため、詳細な説明を省略する。半導体記憶装置10は、第1コマンドセットに含まれたコマンド“10h”がコマンドレジスタ12に格納されると、ワード線WL1を選択した第1書き込み動作を実行する(ステップS18)。
その後、ステップS20においてコントローラ20は、コマンド“03h”を発行して半導体記憶装置10に送信する。コマンド“03h”は、続いて受信するデータDATが3ページ目の書き込みデータであることを示すコマンドである。次にコントローラ20は、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第2LowerページデータML2に対応するデータDAT0とを、続けて半導体記憶装置10に送信する。半導体記憶装置10は、受信したデータDAT0をセンスアンプモジュール17のラッチ回路XDLに保持する。次にコントローラ20は、コマンド“xyh”を発行して半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路ADLに転送させる。そしてシーケンサ14は、レディビジー信号RBnを“H”レベルにする。
レディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“04h”を発行して半導体記憶装置10に送信する。コマンド“04h”は、続いて受信するデータDATが4ページ目の書き込みデータであることを示すコマンドである。次にコントローラ20は、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第2UpperページデータMU2に対応するデータDAT0とを、続けて半導体記憶装置10に送信する。半導体記憶装置10は、受信したデータDAT0をセンスアンプモジュール17のラッチ回路XDLに保持する。次にコントローラ20は、コマンド“10h”を発行して半導体記憶装置10に送信する。
上述したコマンド“03h”からコマンド“10h”までのグループが、第2コマンドセットに相当する。コマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路BDLに転送させ、第2書き込み動作を実行する(ステップS21)。図示するtProg(QLC)は、第2書き込み動作の処理期間に相当する。この第2書き込み動作における波形の一例が、図12に示されている。
図12に示すように、まずロウデコーダ16は選択ワード線WLに対して電圧M1R、M2R、及びM3Rを順に印加する。この動作がIDLに対応し、センスアンプモジュール17は、選択ワード線WLに接続されたメモリセルトランジスタMTに記憶された2ページのデータを読み出す。読み出された2ページのデータは、例えばラッチ回路CDL及びDDLに保持される。続けてシーケンサ14は、ラッチ回路ADL、BDL、CDL、及びDDLに保持された4ページのデータに基づいて、プログラムループを繰り返す。第2書き込み動作におけるプログラムループは、第1書き込み動作におけるプログラムループに対して、最初に印加するプログラム電圧の値と、プログラムループ毎にインクリメントするプログラム電圧の値と、使用するベリファイ電圧が異なる。
具体的には、最初に印加されるプログラム電圧の値がVpgm2であり、インクリメントするプログラム電圧の値がΔVpgm2である。また、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFのうち、値の小さい方から順にいくつかを選択して使用する。Vpgm2はVpgm1より小さく、ΔVpgm2はΔVpgm1より小さい。このように第2書き込み動作は、第1書き込み動作より小さいプログラム電圧とΔVpgmとを使用して、メモリセルトランジスタMTの閾値電圧を細かく制御する。そしてシーケンサ14は、例えば電圧VFによるベリファイにパスすると、第2書き込み動作を終了して、レディビジー信号RBnを“H”レベルにする(ステップS24)。尚、図11に示すステップS25以降の動作は、上述した動作と同様のため、説明を省略する。
[1−2−2]メモリシステム1の読み出し動作
次に、メモリシステム1の読み出し動作について説明する。本実施形態に従ったメモリシステム1の読み出し動作は、4ページ単位で実行される。すなわちコントローラ20は、半導体記憶装置10に対して4ページずつデータの読み出しを指示する。そしてコントローラ20は半導体記憶装置10から転送された読み出しデータをデコードし、デコードしたデータをホスト機器30に送信する。
以下に、図13を用いてメモリシステム1における読み出し動作の詳細について説明する。図13は、メモリシステム1における読み出し動作のフローチャートを示している。
図13に示すように、まずホスト機器30は、指定するデータの読み出し動作をコントローラ20に指示する(ステップS50)。コントローラ20は、受信した指示に基づいてコマンドCMD及びアドレス情報ADDを発行し、半導体記憶装置10に送信する(ステップS51)。そして半導体記憶装置10は、受信したコマンドCMD及びアドレス情報ADDに基づいて読み出し動作を実行する(ステップS52)。
ステップS51及びS52におけるコマンドシーケンス及び読み出し動作の詳細を、図14に示す。図14は、半導体記憶装置10に入力される入出力信号I/O、選択ワード線WLに印加される電圧、並びにラッチ回路ADL、BDL、CDL、及びXDLの様子を示している。
図14に示すように、まずコントローラ20は、コマンド“xxh”を発行して半導体記憶装置10に送信する。コマンド“xxh”は、共通のワード線WLに接続されたメモリセルトランジスタMTに対する複数ページの読み出し動作を指示するプリフィックスコマンドである。次にコントローラ20は、コマンド“00h”及びアドレス情報ADDを発行して、順に半導体記憶装置10に送信する。コマンド“00h”は、半導体記憶装置10に対して読み出し動作を命令するコマンドである。続けてコントローラ20は、コマンド“yyh”を発行して半導体記憶装置10に送信する。コマンド“yyh”は、半導体記憶装置10に読み出し動作の実行を指示するコマンドである。コマンド“yyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、読み出し動作を実行する。
読み出し動作が開始すると、ロウデコーダ16は、選択ワード線WLに印加する電圧をV1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFの順に増加させる。そしてセンスアンプモジュール17は、各電圧が印加されたタイミングで読み出し動作1R、2R、3R、4R、5R、6R、7R、8R、9R、AR、BR、CR、DR、ER、及びFRを実行する。
本実施形態では、4−4−3−4コードから1−2−4−8コードに変換されたデータを読み出すため、第1LowerページデータML1が読み出し動作8Rによって確定し、第1UpperページデータMU1が読み出し動作4R及びCRによって確定し、第2LowerページデータML2が読み出し動作2R、6R、AR、及びERによって確定し、第2UpperページデータMU2が読み出し動作1R、3R、5R、7R、9R、BR、DR、及びFRによって確定する。以下に、一例として、第1LowerページデータML1、第1UpperページデータMU1、第2LowerページデータML2、及び第2UpperページデータMU2をそれぞれ、ラッチ回路DDL、CDL、BDL、及びADLに割り当てた場合を例に説明する。
読み出し動作1Rで読み出されるデータは第2UpperページデータMU2に対応するため、このデータはラッチ回路ADLに格納される。読み出し動作2Rで読み出されるデータは第2LowerページデータML2に対応するため、このデータはラッチ回路BDLに格納される。読み出し動作3Rで読み出されるデータは第2UpperページデータMU2に対応するため、このデータは既にラッチ回路ADLに保持されているデータと併せて演算部OPによって演算処理され、その結果がラッチ回路ADLに格納される。読み出し動作4Rで読み出されるデータは第1UpperページデータMU1に対応するため、このデータはラッチ回路CDLに格納される。以下、同様に読み出し動作が進行し、必要に応じて演算処理が実行される。
読み出し動作8Rが完了した時点で、各ラッチ回路DDLに最終的な第1LowerページデータML1が格納され、このデータが各ラッチ回路XDLに転送される。するとシーケンサ14はレディビジー信号RBnを“H”レベルにする。これに応答したコントローラ20は信号REをトグルし、読み出したデータをラッチ回路XDLからコントローラ20に出力させる。そしてコントローラ20は、第1UpperページデータMU1を読み出すために、コマンド“zzh”を発行して半導体記憶装置10に送信する。コマンド“zzh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにする。
同様に、読み出し動作CRが完了した時点で各ラッチ回路CDLに最終的な第1UpperページデータMU1が格納され、読み出し動作ERが完了した時点でラッチ回路BDLに最終的な第2LowerページデータML2が格納され、読み出し動作FRが完了した時点でラッチ回路ADLに最終的な第2UpperページデータMU2が格納される。これらのデータも、順次ラッチ回路XDLに転送され、上述した第1LowerページデータML1のデータ転送と同様の方法でコントローラ20に出力される。そしてシーケンサ14は、最後に確定する第2UpperページデータMU2が出力された後のレディビジー信号RBnを“H”レベルに維持する。
以上のように4ページのデータが半導体記憶装置10から読み出され、コントローラ20はこの読み出された4ページのデータをRAM22に保持する。そして、図13に示すようにCPU23が、RAM22が保持する4ページのデータDATに対してコード変換を実行する(ステップS53)。このステップS53におけるコード変換は、書き込み動作において実行されたコード変換と逆の処理である。具体的には、1−2−4−8コードから4−4−3−4コードへのコード変換が実行される。これにより、読み出されたデータは、書き込み動作におけるコード変換前と同様の状態にデコードされる。
次にECC回路25が、RAM22に保持された4ページのデータDATに対して、エラー訂正処理を実行する。具体的には、ページ毎に付与されたパリティに基づいて、ページ毎にデータのエラーを訂正する(ステップS54)。このエラー訂正にフェイルした場合(ステップS55、No)、コントローラ20はリトライシーケンスを実行する。このエラー訂正にパスした場合(ステップS55、Yes)、コントローラ20はページ毎にランダマイズされたデータをデコードする(ステップS56)。そしてコントローラ20は、このデータをホスト機器30に送信し(ステップS57)、メモリシステム1は読み出し動作を終了する。尚、読み出すデータが5ページ以上になる場合、コントローラ20は上述したステップS51〜S57の動作を繰り返す。
[1−3]第1実施形態の効果
本実施形態に係るメモリシステム1によれば、書き込んだデータの信頼性を向上することが出来る。以下に、本効果の詳細について説明する。
半導体記憶装置は、例えばMONOS膜でメモリセルが形成される場合がある。MONOS膜を用いたメモリセルは、次のような特性が知られている。例えば、書き込み動作によってメモリセルの電荷蓄積層に電子を注入すると、書き込み動作が終了した後に、注入した電子の量に基づいて一定量の電子が抜ける初期落ちという現象が生じる。これにより、メモリセルの閾値電圧が下降し、メモリセルの閾値分布の下裾が広がる。また、データが書き込まれたメモリセルに対して隣接するメモリセルの書き込み動作が実行されると、隣接メモリセルの閾値電圧の上昇に伴いメモリセル間の寄生容量が変化する。これにより、既にデータが書き込まれたメモリセルの閾値電圧が上昇し、メモリセルの閾値分布の上裾が広がる。このように、メモリセルの閾値分布は、データが書き込まれた後に受ける影響によって、所望の値からずれてしまうことがある。
そこで本実施形態に従ったメモリシステム1は、4ビットデータを保持可能なメモリセルを備えるNAND型フラッシュメモリにおいて、書き込むデータのコーディングとして1−2−4−8コードを適用する。データの割り付けに1−2−4−8コードを用いた場合、半導体記憶装置10は、1ビットデータの書き込みでLowerページを形成することが出来、2ビットデータの書き込みでLower及びMiddleページを形成することが出来、3ビットデータの書き込みでLower、Middle、及びUpperページを形成することが出来る。つまり半導体記憶装置10は、4ビットデータをページ毎に書き込むことが出来る。
そして本実施形態に従ったメモリシステム1では、4ページのデータを2回の書き込み動作に分けてメモリセルに書き込む。具体的には、半導体記憶装置10は、1回目の書き込み動作においてLower及びMiddleビットを含む2ページを書き込み(第1書き込み動作)、その後2回目の書き込み動作においてUpper及びTopビットを含む2ページを書き込む(第2書き込み動作)。
また、本実施形態に従ったメモリシステム1では、第1書き込み動作と第2書き込み動作との間に、隣接するワード線WLに対する第1書き込み動作を実行する。具体的には、例えばワード線WL0に対する第1書き込み動作を実行した場合、次に隣接するワード線WL1に対する第1書き込み動作を実行し、その後にワード線WL0に対する第2書き込み動作を実行する。
このように、ワード線WL0に対する第1書き込み動作を実行した後に、ワード線WL1に対する第1書き込み動作を実行すると、ワード線WL1に対する第1書き込み動作を実行している間に、ワード線WL0に対応するメモリセルで初期落ちが生じる。また、ワード線WL0に対応するメモリセルは、ワード線WL1に対する第1書き込み動作による隣接メモリセルの閾値電圧の上昇に伴い、メモリセル間の寄生容量の影響を受ける。つまり、ワード線WL0に対する第2書き込み動作は、ワード線WL0に対する第1書き込み動作により生じる初期落ちと、ワード線WL1に対する第1書き込み動作により生じるメモリセル間の寄生容量の影響とを受けた状態から実行されるため、最終的に得られる閾値分布においては、これらの影響を無視することが出来る。
また、第2書き込み動作は、第1書き込み動作によってある程度閾値電圧が上昇したメモリセルトランジスタMTに対する書き込み動作となるため、第2書き込み動作による閾値電圧の変動量が小さくなる。つまり第2書き込み動作では、電荷蓄積層に注入される電子の量が4ビット一括でデータを書き込む場合と比べて少なくなるため、メモリセルトランジスタMTの閾値電圧の初期落ち量と、隣接メモリセル間の寄生容量の影響とを軽減することが出来る。
以上のように本実施形態に従ったメモリシステム1では、4ページのデータを2回に分けた書き込み動作を実行することにより、閾値電圧の初期落ちの影響とメモリセル間の寄生容量の影響とを抑制することが出来る。従ってメモリシステム1は、データを書き込んだメモリセルにおける閾値分布の広がりを抑制することが出来るため、データの信頼性を向上することが出来る。
また、本実施形態における半導体記憶装置10の書き込み動作では、第2書き込み動作で使用するLower及びMiddleビットのデータを、IDLによって当該メモリセルから読み出すことによって復元する。つまりコントローラ20は、上述した第1及び第2書き込み動作によって4ページのデータを書き込む場合において、第1書き込み動作に使用する2ページのデータを半導体記憶装置10に送信した後に破棄することが出来る。
これによりコントローラ20は、RAM22の記憶容量が最低6ページあれば、上述した書き込み動作を実行することが可能となる。つまり本実施形態に従ったメモリシステム1では、RAM22の記憶容量を抑制することが出来るため、コントローラ20の回路面積を抑制することが出来る。
さらに、本実施形態におけるメモリシステム1の書き込み動作では、コントローラ20がホスト機器30から受信した書き込みデータに対して、各種データ処理を実行する。具体的には、ホスト機器30から受信した書き込みデータに対して、CPU23が4−4−3−4コードに変換し、ECC回路25がこのデータに対してパリティを付与する。そしてCPU23が、パリティが付与されたデータに対して4−4−3−4コードから1−2−4−8コードへのコード変換を実行し、1−2−4−8コードにコード変換されたデータが半導体記憶装置10に書き込まれる。そして読み出し動作では、1−2−4−8コードから4−4−3−4コードに再変換して、4−4−3−4コードに変換されたデータがエラー訂正される。
これによりECC回路25は、1−2−4−8コードにおいて読み出し時に最もエラービットが発生し易いTopページのデータを、4ページ内で分散させた状態でエラー訂正処理を実行することが出来る。言い換えると、ECC回路25は、エラービット数をページ間で平均化してからエラー訂正処理を実行するため、エラー訂正が成功する可能性を高めることが出来る。従って本実施形態に係るメモリシステム1は、1−2−4−8コードを用いてデータを書き込んだ際の、読み出しデータの信頼性を向上することが出来る。
尚、以上の説明において、メモリセルにNOMOS膜を使用した場合を例に説明したが、これに限定されない。例えば、フローティングゲートを利用したメモリセルを使用した場合においても、本実施形態の書き込み動作を実行することで、同様の効果を得る事が出来る。
また、本実施形態で説明した第2書き込み動作において、IDLで用いる電圧M1R、M2R、及びM3Rは、読み出し動作時に使用される読み出し電圧とは異なっていても良い。例えば、電圧M1R、M2R、及びM3Rは、電圧V1、V2、…、及びVFと異なっていても良い。これにより電圧M1R、M2R、及びM3Rは、第1書き込み動作により形成された閾値分布に最適化された値に設定することが出来、IDLで発生するエラービット数を抑制することが出来る。
[2]第2実施形態
次に、第2実施形態に従ったメモリシステム1について説明する。本実施形態に従ったメモリシステム1は、第1書き込み動作で3ページの書き込みを実行し、第2書き込み動作で3ページのIDLを実行するものである。以下に、第1実施形態と異なる点を説明する。
[2−1]メモリシステム1の構成
まず、図15を用いてメモリシステム1の構成について説明する。本実施形態に従ったメモリシステム1は、第1実施形態に従ったメモリシステム1に対して、コントローラ20の備えるRAM22の記憶容量が異なる。具体的には、図15に示すようにRAM22は領域PG0〜PG4を含み、第1実施形態におけるRAM22よりも1ページ分少ない。その他の構成は、第1実施形態で説明した図1と同様である。
[2−2]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
次に、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作では、コントローラ20がホスト機器30から受け取った4ページのデータに対して各種データ処理を実行し、このデータを3ページと1ページに分けて半導体記憶装置10に転送する。そして半導体記憶装置10がワード線WLを共有するメモリセルトランジスタMTに対して、第1書き込み動作で3ビットのデータを書き込み、第2書き込み動作で1ビットのデータを書き込む。
以下に、図16及び図17を用いてメモリシステム1における書き込み動作の詳細について説明する。図16は、メモリシステム1における書き込み動作のフローチャートを示し、図17は、図16に示す各ステップにおいてRAM22及びセンスアンプユニットSAUが保持するデータの一例を示している。
(ステップS50)
まず、第1実施形態で説明したステップS10と同様に、コントローラ20は、ホスト機器30から受信した4ページの書き込みデータDAT0を、ページ単位でRAM22の各領域PGに格納する。例えば、図17に示すようにデータDAT0のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG3に保持される。
(ステップS51)
次にコントローラ20は、RAM22に保持された4ページのデータDAT0に対して、第1実施形態で説明したステップS11と同様のデータ処理を実行する。本実施形態におけるデータ処理では、図18に示すようなコード変換が実行される。図18に示すコード変換では、第1実施形態で説明した図8に対して、コード変換後の各ページに対応するデータの呼び方が異なる。
図18に示すように本実施形態では、コード変換後のLowerページデータを第1LowerページデータTL1と呼び、Middleページデータを第1MiddleページデータTM1と呼び、Upperページデータを第1UpperページデータTU1と呼び、Topページデータを第2SingleページデータSL2と呼ぶ。
そして図17に示すように、領域PG0にはデータDAT0の第1LowerページデータTL1が保持され、領域PG1にはデータDAT0の第1MiddleページデータTM1が保持され、領域PG2にはデータDAT0の第1UpperページデータTU1が保持され、領域PG3にはデータDAT0の第2SingleページデータSL2が保持される。
(ステップS52)
次にコントローラ20は、第3コマンドセットを発行して、半導体記憶装置10に送信する。この第3コマンドセットは、書き込みを命令するコマンドと、ワード線WL0を指定するアドレス情報ADDと、3ページのデータDAT0とを含む。半導体記憶装置10が受信したコマンドセットのうち3ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図17に示すようにRAM22の領域PG0、PG1、及びPG2に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL、BDL、及びCDLに転送される。そしてRAM22の領域PG0、PG1、及びPG2は、保持していたデータが転送されるとリリースされる。
(ステップS53)
半導体記憶装置10は、コントローラ20から第3コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第1書き込み動作を実行する。本実施形態における第1書き込み動作の概略を図19に示す。図19は、第1書き込み動作によるメモリセルの閾値分布の変化を示している。図19に示すように第1書き込み動作では半導体記憶装置10が、コントローラ20から入力された第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1に基づいた、3ページの書き込み動作を実行する。
第1書き込み動作を実行する前のメモリセルトランジスタMTの閾値電圧は、“ER”レベルに分布する。第1書き込み動作においてシーケンサ14は、電圧VM1、VM2、VM3、VM4、VM5、VM6、及びVM7をベリファイ電圧として使用する。
本実施形態において電圧VM1は、“110”(“コード変換後のLowerビット/Middleビット/Upperビット”)データを書き込む場合に使用され、電圧V1以上且つ電圧V3未満である。電圧VM2は、“100”データを書き込む場合に使用されるベリファイ電圧であり、電圧V3以上且つ電圧V5未満である。電圧VM3は、“101”データを書き込む場合に使用されるベリファイ電圧であり、電圧V5以上且つ電圧V7未満である。電圧VM4は、“001”データを書き込む場合に使用されるベリファイ電圧であり、電圧V7以上且つ電圧V9未満である。電圧VM5は、“000”データを書き込む場合に使用されるベリファイ電圧であり、電圧V9以上且つ電圧VB未満である。電圧VM6は、“010”データを書き込む場合に使用されるベリファイ電圧であり、電圧VB以上且つ電圧VD未満である。電圧VM7は、“011”データを書き込む場合に使用されるベリファイ電圧であり、電圧VD以上且つ電圧VF未満である。
第1書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、8つの閾値分布が形成される。図19に示す“M0”レベルは、“111”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M1”レベルは、“110”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M2”レベルは、“100”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M3”レベルは、“101”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M4”レベルは、“001”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M5”レベルは、“000”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M6”レベルは、“010”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M7”レベルは、“011”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。
“M0”レベルは電圧V1未満であり、第1実施形態と同様に、メモリセルトランジスタMTの消去状態に相当する。つまり、第1書き込み動作において“111”データを書き込むメモリセルトランジスタMTでは、閾値電圧の上昇が抑制される。“M1”レベルにおける閾値電圧は、電圧VM1以上且つ電圧V3未満である。“M2”レベルにおける閾値電圧は、電圧VM2以上且つ電圧V5未満である。“M3”レベルにおける閾値電圧は、電圧VM3以上且つ電圧V7未満である。以下、同様である。
このように、第1書き込み動作におけるベリファイに用いる電圧VM1、VM2、VM3、VM4、VM5、VM6、及びVM7はそれぞれ、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V3、V5、V7、V9、VB、VD、及びVFを超えないように設定される。
(ステップS54)
半導体記憶装置10がステップS53の第1書き込み動作を実行する一方で、RAM22の領域PG0、PG1、及びPG2がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT1を、バッファメモリ24からRAM22に転送する。すると、例えば図17に示すようにデータDAT1のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG4に保持される。
(ステップS55)
次にコントローラ20は、RAM22に保持された4ページのデータDAT1に対して、ステップS51と同様のデータ処理を実行する。データ処理が実行されると、図17に示すように、領域PG0にはデータDAT1の第1LowerページデータTL1が保持され、領域PG1にはデータDAT1の第1MiddleページデータTM1が保持され、領域PG2にはデータDAT1の第1UpperページデータTU1が保持され、領域PG4にはデータDAT1の第2SingleページデータSL2が保持される。
(ステップS56)
半導体記憶装置10は、ステップS53の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図17に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS57)
次にコントローラ20は、第3コマンドセットを発行し、半導体記憶装置10に送信する。この第3コマンドセットでは、ワード線WL1を指定するアドレス情報ADDと、3ページ分のデータDAT1とを含む。半導体記憶装置10が受信したコマンドセットのうち3ページのデータDAT1は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図17に示すように、RAM22の領域PG0、PG1、及びPG2に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL、BDL、及びCDLに転送される。そしてRAM22の領域PG0、PG1、及びPG2は、保持していたデータが転送されるとリリースされる。
(ステップS58)
半導体記憶装置10は、コントローラ20から第3コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL1を選択した第1書き込み動作を実行する。この第1書き込み動作はステップS53と同様であり、これによりデータDAT1の第1LowerページデータTL1と、第1MiddleページデータTM1と、第1UpperページデータTU1とに基づいた3ページのデータがワード線WL1に接続されたメモリセルトランジスタMTに書き込まれる。
(ステップS59)
半導体記憶装置10は、ステップS58の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図17に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS60)
コントローラ20は、ワード線WL0に対する第1書き込み動作とワード線WL1に対する第1書き込み動作とが終了すると、第4コマンドセットを発行して半導体記憶装置10に送信する。この第4コマンドセットは、書き込みを命令するコマンドと、ワード線WL0を指定するアドレス情報ADDと、1ページのデータDAT0とを含む。半導体記憶装置10が受信したコマンドセットのうち1ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図17に示すように、RAM22の領域PG3に保持されたデータが、センスアンプユニットSAUのラッチ回路ADLに転送される。RAM22の領域PG3は、保持していたデータが転送されるとリリースされる。
(ステップS61)
半導体記憶装置10は、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第2書き込み動作を実行する。本実施形態における第2書き込み動作の概略を図20に示す。図20は、第2書き込み動作によるメモリセルの閾値分布の変化を示している。図20に示すように本実施形態における第2書き込み動作において半導体記憶装置10は、まずInternal data load(IDL)を実行する。
本実施形態におけるIDLでは、シーケンサ14が、電圧M1R、M2R、M3R、M4R、M5R、M6R、及びM7Rを用いた読み出し動作を実行する。電圧M1Rは電圧V1以上且つ電圧VM1以下であり、センスアンプ部SAは電圧M1Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M1R未満か否かを判定する。電圧M2Rは電圧V3以上且つ電圧VM2以下であり、センスアンプ部SAは電圧M2Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M2R未満か否かを判定する。電圧M3Rは、電圧V5以上且つ電圧VM3以下であり、センスアンプ部SAは電圧M3Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M3R未満か否かを判定する。以下、同様である。
これにより、第1書き込み動作によって書き込まれた“111”データ、“110”データ、“100”データ、“101”データ、“001”データ、“000”データ、“010”データ、及び“011”データが、センスアンプモジュールSAU内のラッチ回路に復元される。具体的には、図17に示すようにデータDAT0の第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1がそれぞれ、ラッチ回路BDL、CDL、及びDDLに転送される。
そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1と、コントローラ20から入力された第2SingleページデータSL2とに基づいた、4ページの書き込み動作を実行する。
第2書き込み動作においてシーケンサ14は、第1実施形態と同様に、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。第2書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、8つのレベルから16個の閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”レベル、及び“1”レベルの閾値分布が形成される。“M1”レベルの閾値分布から“2”レベル、及び“3”レベルの閾値分布が形成される。“M2”レベルの閾値分布から“4”レベル、及び“5”レベルの閾値分布が形成される。“M3”レベルの閾値分布から“6”レベル、及び“7”レベルの閾値分布が形成される。以下、同様である。
(ステップS62)
半導体記憶装置10がステップS61の第2書き込み動作を実行する一方で、RAM22の領域PG3がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT2を、バッファメモリ24からRAM22に転送する。すると、例えば図17に示すようにデータDAT2のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG3に保持される。
(ステップS63)
次にコントローラ20は、RAM22に保持された4ページのデータDAT2に対して、ステップS51と同様のデータ処理を実行する。データ処理が実行されると、図17に示すように領域PG0にはデータDAT2の第1LowerページデータTL1が保持され、領域PG1にはデータDAT2の第1MiddleページデータTM1が保持され、領域PG2にはデータDAT2の第1UpperページデータTU1が保持され、領域PG3にはデータDAT2の第2SingleページデータSL2が保持される。
(ステップS64)
半導体記憶装置10は、ステップ21の第2書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第2書き込み動作が終了すると、図17に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS65)
次にコントローラ20は、第3コマンドセットを発行して、半導体記憶装置10に送信する。この第3コマンドセットでは、ワード線WL2を指定するアドレス情報ADDと、3ページのデータDAT2とを含む。半導体記憶装置10が受信したコマンドセットのうち3ページのデータDAT2は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図17に示すようにRAM22の領域PG0、PG1、及びPG2に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL、BDL、及びCDLに転送される。そしてRAM22の領域PG0、PG1、及びPG2は、保持していたデータが転送されるとリリースされる。
(ステップS66)
半導体記憶装置10は、コントローラ20から第1コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL2を選択した第1書き込み動作を実行する。この第1書き込み動作はステップS53と同様であり、これによりデータDAT2第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1に基づいた3ビットのデータが、ワード線WL2に接続されたメモリセルトランジスタMTに書き込まれる。
(ステップS67)
半導体記憶装置10は、ステップS66の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第1書き込み動作が終了すると、図17に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
(ステップS68)
コントローラ20は、ワード線WL1に対する第1書き込み動作とワード線WL2に対する第1書き込み動作とが終了すると、第4コマンドセットを発行して半導体記憶装置10に送信する。この第4コマンドセットでは、ワード線WL1を指定するアドレス情報ADDと、1ページのデータDAT1とを含む。半導体記憶装置10が受信したコマンドセットのうち1ページのデータDAT1は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図17に示すように、RAM22の領域PG4に保持されたデータが、センスアンプユニットSAUのラッチ回路ADLに転送される。RAM22の領域PG4は、保持していたデータが転送されるとリリースされる。
(ステップS69)
半導体記憶装置10は、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL1を選択した第2書き込み動作を実行する。この第2書き込み動作はステップS61と同様であり、まず始めに図17に示すようにIDLによってワード線WL1に記憶された3ページのデータが復元される。そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1と、コントローラ20から入力された第2SingleページデータSL2とに基づいて4ページの書き込み動作を実行する。
(ステップS70)
半導体記憶装置10がステップS69の第2書き込み動作を実行する一方で、RAM22の領域PG4がリリースされると、CPU23はホスト機器30から受信した4ページのデータDAT3を、バッファメモリ24からRAM22に転送する。すると、例えば図17に示すようにデータDAT2のLowerページデータが領域PG0に保持され、Middleページデータが領域PG1に保持され、Upperページデータが領域PG2に保持され、Topページデータが領域PG4に保持される。
(ステップS71)
次にコントローラ20は、RAM22に保持された4ページのデータDAT3に対して、ステップS51と同様のデータ処理を実行する。データ処理が実行されると、図17に示すように、領域PG0にはデータDAT3の第1LowerページデータTL1が保持され、領域PG1にはデータDAT3の第1MiddleページデータTM1が保持され、領域PG2にはデータDAT3の第1UpperページデータTU1が保持され、領域PG3にはデータDAT3の第2SingleページデータSL2が保持される。
(ステップS72)
半導体記憶装置10は、ステップ31の第2書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第2書き込み動作が終了すると、図17に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
以降の動作は、ステップS57〜S72と同様の動作が繰り返される。そして、最後の4ページのデータに対応する第2書き込み動作が終了すると、メモリシステム1は書き込み動作を終了する。
<コマンドシーケンスについて>
次に、図21及び図22を用いて、上述した書き込み動作におけるコマンドシーケンス及び波形の詳細について説明する。図21は図16に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。図22は第1及び第2書き込み動作の波形を示し、選択ワード線WLに印加される電圧を示している。
図21に示すように、ステップS52においてまずコントローラ20は、コマンド“01h”と、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第1LowerページデータTL1に対応するデータDAT0と、コマンド“xyh”とを、順に半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路ADLに転送させる。
そして、レディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“02h”と、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第1MiddleページデータTM1に対応するデータDAT0と、コマンド“xyh”とを、順に半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路BDLに転送させる。
そして、レディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“03h”と、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第1UpperページデータTU1に対応するデータDAT0と、コマンド“10h”とを、順に半導体記憶装置10に送信する。
上述したコマンド“01h”からコマンド“10h”までのグループが、第3コマンドセットに相当する。コマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路CDLに転送させ、第1書き込み動作を実行する(ステップS53)。図示するtProg(TLC)は、第1書き込み動作の処理期間に相当する。この第1書き込み動作における波形の一例が、図22に示されている。図22に示すように、本実施形態における第1書き込み動作の波形は、第1実施形態で説明した図12に示された第1書き込み動作の波形と同様である。
その後、ステップS57においてコントローラ20は、ワード線WL1を選択するアドレス情報ADDとデータDAT1とを含む第3コマンドセットを発行して半導体記憶装置10に送信する。半導体記憶装置10は、第3コマンドセットに含まれたコマンド“10h”がコマンドレジスタ12に格納されると、ワード線WL1を選択した第1書き込み動作を実行する(ステップS58)。
その後、ステップS60においてコントローラ20は、コマンド“04h”と、コマンド“80h”と、ワード線WL0を指定するアドレス情報ADDと、第2SingleページデータSL2に対応するデータDAT0と、コマンド“10h”とを、順に半導体記憶装置10に送信する。このコマンド“04h”からコマンド“10h”までのグループが、第4コマンドセットに相当する。コマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路ADLに転送させ、第2書き込み動作を実行する(ステップS61)。図示するtProg(QLC)は、第2書き込み動作の処理期間に相当する。この第2書き込み動作における波形の一例が、図22に示されている。
図22に示すように、まずロウデコーダ16は選択ワード線WLに対して電圧M1R、M2R、M3R、M4R、M5R、M6R、及びM7Rを順に印加する。この動作がIDLに対応し、センスアンプモジュール17は、選択ワード線WLに接続されたメモリセルトランジスタMTに記憶された3ページのデータを読み出す。読み出された3ページのデータは、例えばラッチ回路BDL、CDL、及びDDLに保持される。続けてシーケンサ14は、ラッチ回路ADL、BDL、CDL、及びDDLに保持された4ページのデータに基づいて、プログラムループを繰り返す。第2書き込み動作におけるプログラムループは、第1実施形態で図12を用いて説明した第2書き込み動作のプログラムループと同様である。また、第1及び第2書き込み動作におけるプログラム電圧及びΔVpgmの大小関係も第1実施形態と同様のため、説明を省略する。
そしてシーケンサ14は、例えば電圧VFによるベリファイにパスすると、第2書き込み動作を終了して、レディビジー信号RBnを“H”レベルにする(ステップS64)。尚、図21に示すステップS65以降の動作は、上述した動作と同様のため、説明を省略する。
[2−3]第2実施形態の効果
本実施形態に従ったメモリシステム1によれば、第1実施形態よりもデータの信頼性を向上することが出来る。以下に、本効果の詳細について説明する。
本実施形態に従ったメモリシステム1では、第1実施形態と同様に、コントローラ20がホスト機器30から受信した書き込みデータに対して、コード変換を含むデータ処理を実行する。さらに本実施形態では、第1書き込み動作においてコントローラ20が3ページデータを半導体記憶装置10に送信し、半導体記憶装置10がコード変換後のLower、Middle、及びUpperビットを含む3ページデータを書き込む。そして、第2書き込み動作においてコントローラ20がコード変換後のTopビットを含む1ページデータを半導体記憶装置10に送信し、半導体記憶装置10がIDLにより当該メモリセルから読み出したコード変換後のLower、Middle、及びUpperビットを含む3ページデータと、コントローラ20から受信したコード変換後のTopビットを含む1ページデータとに基づいて、メモリセルに計4ページのデータを書き込む。
これにより本実施形態に従ったメモリシステム1は、第1実施形態と同様に、4ページのデータを2回に分けた書き込み動作を実行することが出来る。また、本実施形態では第1書き込み動作において3ページのデータを書き込むため、その後の第2書き込み動作によって3ビット分のデータ書き込みにより発生する閾値電圧の初期落ちの影響とメモリセル間の寄生容量の影響とを、最終的に得られる閾値分布においては無視することが出来る。従って、本実施形態に従ったメモリシステム1は、第1実施形態よりもメモリセルにおける閾値分布の広がりを抑制することが出来るため、第1実施形態よりもデータの信頼性を向上することが出来る。
また、本実施形態に従ったメモリシステム1では、第2書き込み動作において、第1書き込み動作によって書き込んだコード変換後のLower、Middle、及びUpperビットのデータを、IDLによって当該メモリセルから読み出すことによって復元する。つまりコントローラ20は、第1書き込み動作に使用する3ページのデータを、半導体記憶装置10に送信した後に破棄することが出来る。
これによりコントローラ20は、RAM22の記憶容量が最低5ページあれば、上述した書き込み動作を実行することが可能となる。つまり本実施形態に従ったメモリシステム1では、RAM22の記憶容量を抑制することが出来るため、第1実施形態よりもコントローラ20の回路面積を抑制することが出来る。
[3]第3実施形態
次に、第3実施形態に従ったメモリシステム1について説明する。本実施形態に従ったメモリシステム1は、第1実施形態で説明した第1書き込み動作において、半導体記憶装置10が2ビットデータの書き込みと3ビットデータの書き込みとが混在するものである。以下に、第1及び第2実施形態と異なる点を説明する。
[3−1]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
まず、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作では、コントローラ20がホスト機器30から受け取った4ページのデータに対して各種データ処理を実行し、このデータのうち3ページをまず半導体記憶装置10に転送する。このときコントローラ20は、コード変換後の3ページデータのうち上位ページに対応するデータを、保持したままにする。そして半導体記憶装置10は、2ページの書き込みと、さらに2ページのうち最上位のレベルに対応するデータのみ、3ビットのデータを用いた第1書き込み動作を実行する。その後コントローラ20は、保持する2ページのデータを送信し、半導体記憶装置10がIDLによって読み出した2ページのデータと併せて第2書き込み動作を実行する。
以下に、図23及び図24を用いてメモリシステム1における書き込み動作の詳細について説明する。図23は、メモリシステム1における書き込み動作のフローチャートを示し、図24は、図23に示す各ステップにおいてRAM22及びセンスアンプユニットSAUが保持するデータの一例を示している。
図23に示すステップS80〜S102は、第1実施形態で説明したステップS10〜S32と同様の動作である。以下に、第1実施形態で説明した図5と異なる点のみ詳細を説明する。
(ステップS80及びS81)
第1実施形態で説明したステップS10及びS11と同様であり、コントローラ20が受信した4ページのデータDAT0に対してコード変換を実行する。
(ステップS82)
コントローラ20は、ワード線WL0を選択し、且つ3ページのデータDAT0を含む第3コマンドセットを半導体記憶装置10に送信する。半導体記憶装置10が受信したコマンドセットのうち3ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図24に示すようにRAM22の領域PG0、PG1、及びPG2に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL、BDL、及びCDLに転送される。そしてRAM22は、3ページのデータDAT0が転送されると、領域PG0及びPG1に保持されたデータをリリースし、領域PG2に保持されたデータを保持し続ける。
(ステップS83)
半導体記憶装置10は、コントローラ20から第3コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第1書き込み動作を実行する。本実施形態における第1書き込み動作の概略を図25に示す。図25は、第1書き込み動作によるメモリセルの閾値分布の変化を示している。図25に示すように第1書き込み動作では半導体記憶装置10が、コントローラ20から入力された第1LowerページデータML1、及び第1UpperページデータMU1に基づいた2ページの書き込み動作と、さらに第2LowerページデータML2の一部を使用した書き込み動作とを実行する。
第1書き込み動作を実行する前のメモリセルトランジスタMTの閾値電圧は、“ER”レベルに分布する。第1書き込み動作においてシーケンサ14は、電圧VM1、VM2、VM3、VM4をベリファイ電圧として使用する。
本実施形態において電圧VM1は、“11”(コード変換後のLowerビット/Middleビット)データを書き込む場合に使用され、電圧V1以上且つ電圧V5未満である。電圧VM2は、“10”データを書き込む場合に使用されるベリファイ電圧であり、電圧V5以上且つ電圧V9未満である。電圧VM3は、“010”(Lowerビット/Middleビット/Upperビット)データを書き込む場合に使用されるベリファイ電圧であり、電圧V9以上且つ電圧VD未満である。電圧VM4は、“011”データを書き込む場合に使用されるベリファイ電圧であり、電圧VD以上且つ電圧VF未満である。このように、低い閾値電圧に対応するデータは、2ビットのデータに基づいた書き込み動作を実行し、高い閾値電圧に対応するデータは、3ビットのデータに基づいた書き込み動作を実行する。
第1書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、5つの閾値分布が形成される。図25に示す“M0”レベルは、“11”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M1”レベルは、“10”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M2”レベルは、“00”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M3”レベルは、“010”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M4”レベルは、“011”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。
“M0”レベルは電圧V1未満であり、第1実施形態と同様に、メモリセルトランジスタMTの消去状態に相当する。つまり、第1書き込み動作において“11”データを書き込むメモリセルトランジスタMTでは、閾値電圧の上昇が抑制される。“M1”レベルにおける閾値電圧は、電圧VM1以上且つ電圧V5未満である。“M2”レベルにおける閾値電圧は、電圧VM2以上且つ電圧V9未満である。“M3”レベルにおける閾値電圧は、電圧VM3以上且つ電圧VD未満である。“M4”レベルにおける閾値電圧は、電圧VM4以上且つ電圧VF未満である。
このように、第1書き込み動作におけるベリファイに用いる電圧VM1、VM2、VM3、及びVM4はそれぞれ、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V5、V9、VD、及びVFを超えないように設定される。
尚、上記説明において、第1書き込み動作で電圧VM4によるベリファイを実行する場合を例に説明したが、これに限定されない。例えば、電圧VM4によるベリファイは実行しなくても良い。この場合に半導体記憶装置10は、電圧VM3によるベリファイにパスした後に、任意の回数のプログラムパルスを印加して、第1書き込み動作を終了する。
(ステップS84〜S86)
第1実施形態で説明したステップS14〜S16と同様であり、コントローラ20が受信した4ページのデータDAT1に対してコード変換を実行する。
(ステップS87)
コントローラ20は、ワード線WL1を選択し、且つ3ページのデータDAT1を含む第3コマンドセットを半導体記憶装置10に送信する。半導体記憶装置10が受信したコマンドセットのうち3ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図24に示すようにRAM22の領域PG0、PG1、及びPG4に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL、BDL、及びCDLに転送される。そしてRAM22は、3ページのデータDAT1が転送されると、領域PG0及びPG1に保持されたデータをリリースし、領域PG4に保持されたデータを保持し続ける。
(ステップS88及びS89)
ステップS83と同様に、ワード線WL1を選択し且つ3ページのデータDAT1を含む第3コマンドセットに基づいて、半導体記憶装置10が第1書き込み動作を実行する。
(ステップS90)
コントローラ20は、ワード線WL0を選択し、且つ2ページのデータDAT0を含む第2コマンドセットを半導体記憶装置10に送信する。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT0は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図24に示すようにRAM22の領域PG2及びPG3に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。そしてRAM22は、2ページのデータDAT0が転送されると、領域PG2及びPG3に保持されたデータをリリースする。
(ステップS91)
半導体記憶装置10は、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第2書き込み動作を実行する。本実施形態における第2書き込み動作の概略を図26に示す。図26は、第2書き込み動作によるメモリセルの閾値分布の変化を示している。図26に示すように本実施形態における第2書き込み動作において半導体記憶装置10は、まずInternal data load(IDL)を実行する。
本実施形態におけるIDLは、シーケンサ14が、電圧M1R、M2R、及びM3Rを用いた読み出し動作を実行する。本実施形態における電圧M1R、M2R、及びM3Rは、第1実施形態で図10を用いて説明した電圧M1R、M2R、及びM3Rと同様である。
これにより、第1書き込み動作によって書き込まれた“11”データ、“10”データ、“00”データ、及び“01”データが、センスアンプモジュールSAU内のラッチ回路に復元される。具体的には、図24に示すようにデータDAT0の第1LowerページデータML1、及び第1UpperページデータMU1がそれぞれ、ラッチ回路CDL及びDDLに転送される。
そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータML1、及び第1UpperページデータMU1と、コントローラ20から入力された第2LowerページデータML2、及び第2UpperページデータMU2とに基づいた、4ページの書き込み動作を実行する。
第2書き込み動作においてシーケンサ14は、第1実施形態と同様に、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。第2書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、5つのレベルから16個の閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”レベル、“1”レベル、“2”レベル、及び“3”レベルの閾値分布が形成される。“M1”レベルの閾値分布から“4”レベル、“5”レベル、“6”レベル、及び“7”レベルの閾値分布が形成される。“M2”レベルの閾値分布から“8”レベル、“9”レベル、“A”レベル、及び“B”レベルの閾値分布が形成される。“M3”レベルの閾値分布から“C”レベル及び“D”レベルの閾値分布が形成される。“M4”レベルの閾値分布から“E”レベル及び“F”レベルの閾値分布が形成される。
(ステップS92〜S94)
第1実施形態で説明したステップS22〜S24と同様に、ステップS91における第1書き込み動作を実行している間に、コントローラ20が受信した4ページのデータDAT2に対するコード変換を実行する。一方で半導体記憶装置10は、ステップS91の第1書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。
(ステップS95〜S97)
ステップS82〜S84と同様に、ワード線WL2を選択し且つ3ページのデータDAT2を含む第3コマンドセットに基づいて、半導体記憶装置10が第1書き込み動作を実行する。
(ステップS98)
コントローラ20は、ワード線WL1を選択し、且つ2ページのデータDAT1を含む第2コマンドセットを半導体記憶装置10に送信する。半導体記憶装置10が受信したコマンドセットのうち2ページのデータDAT1は、センスアンプユニットSAUのラッチ回路に転送される。具体的には、図24に示すようにRAM22の領域PG4及びPG5に保持されたデータがそれぞれ、センスアンプユニットSAUのラッチ回路ADL及びBDLに転送される。そしてRAM22は、2ページのデータDAT0が転送されると、領域PG4及びPG5に保持されたデータをリリースする。
(ステップS99)
ステップS91と同様に、ワード線WL1を選択し且つ2ページのデータDAT2を含む第3コマンドセットに基づいて、半導体記憶装置10が第1書き込み動作を実行する。具体的には、半導体記憶装置10は、IDLにより読み出された第1LowerページデータML1、及び第1UpperページデータMU1と、コントローラ20から入力された第2LowerページデータML2、及び第2UpperページデータMU2とに基づいた、4ページの書き込み動作を実行する。
(ステップS100及びS101)
第1実施形態で説明したステップS30及びS31と同様であり、コントローラ20が受信した4ページのデータDAT3に対してコード変換を実行する。
(ステップS102)
半導体記憶装置10は、ステップS99の第2書き込み動作が終了すると、レディビジー信号RBnを“H”レベルにして、コントローラ20に書き込み動作の終了を通知する。また、第2書き込み動作が終了すると、図24に示すようにセンスアンプユニットSAU内のラッチ回路がリリースされる。
以降の動作は、ステップS87〜S102と同様の動作が繰り返される。そして、最後の4ページのデータに対応する第2書き込み動作が終了すると、メモリシステム1は書き込み動作を終了する。
<コマンドシーケンスについて>
次に、図27を用いて、上述した書き込み動作におけるコマンドシーケンスについて説明する。図27は図23に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。
図27に示すように、本実施形態における第3コマンドセットは、第2実施形態で図21を用いて説明した第3コマンドセットに対して、1ページ目のデータを第1LowerページデータML1、2ページ目のデータを第1UpperページデータMU1、3ページ目のデータを第2LowerページデータML2に置き換えたものと同様である。また本実施形態における第2コマンドセットは、第1実施形態で図11を用いて説明した第2コマンドセットと同様である。図示するtProg(MLC+)は、本実施形態に係る第1書き込み動作の処理期間に相当し、第1実施形態におけるtProg(MLC)よりも長く、tProg(QLC)よりも短い。これらの詳細なコマンドシーケンスは第1及び第2実施形態で説明したものと同様のため、説明を省略する。
[3−2]第3実施形態の効果
本実施形態に従ったメモリシステム1によれば、第1実施形態よりもデータの信頼性を向上することが出来る。以下に、本効果の詳細について説明する。
本実施形態に従ったメモリシステム1では、第1実施形態と同様に、コントローラ20がホスト機器30から受信した書き込みデータに対して、コード変換を含むデータ処理を実行する。さらに本実施形態では、第1書き込み動作においてコントローラ20が3ページのデータを半導体記憶装置10に送信する。そして半導体記憶装置10は、閾値電圧が低いレベルに対応するデータでは2ビットデータを用いて書き込み、閾値電圧が高いレベルに対応するデータでは3ビットデータを用いて書き込む。
具体的には、第1書き込み動作において半導体記憶装置10が受信する3ページのデータのうち第1LowerページML1と第1UpperページMU1で構成される2ページのデータにおいて、閾値電圧の低いデータ“11”、“10”、及び“00”と、閾値電圧の高いデータ“01”とが分類される。さらに、閾値電圧の高いデータ“01”は、第2LowerページML2のデータを用いて、データ“010”及び“011”の2つに分けられる。
そして半導体記憶装置10は、データ“11”、“10”、及び“00”を用いた2ビットデータの書き込みにより3つの閾値分布を形成し、閾値電圧の高いデータ“010”及び“011”を用いた3ビットデータの書き込みにより2つの閾値分布を形成する。このように本実施形態における第1書き込み動作では、2ビットデータの書き込みと、3ビットデータの書き込みとが混在して実行される。
その後の第2書き込み動作において、コントローラ20は2ページのデータを半導体記憶装置10に送信し、半導体記憶装置10がIDLにより当該メモリセルから読み出したコード変換後のLower及びMiddleビットを含む2ページデータと、コントローラ20から受信したコード変換後のUpper及びTopビットを含む2ページデータとに基づいて、メモリセルに計4ページのデータを書き込む。
これにより本実施形態に従ったメモリシステム1は、第1実施形態と同様に、4ページのデータを2回に分けた書き込み動作を実行することが出来る。また、本実施形態では第1書き込み動作において、高いレベルの閾値分布に相当するデータを3ビットで書き込む。このような閾値電圧の変動量が最も大きいレベルは、閾値電圧の初期落ち量や、隣接メモリセルに対する寄生容量の影響も大きいため、第2書き込み動作によってこれらの影響を無視する効果が大きくなる。従って、本実施形態に従ったメモリシステム1は、第1実施形態よりもメモリセルにおける閾値分布の広がりを抑制することが出来るため、第1実施形態よりもデータの信頼性を向上することが出来る。
[4]第4実施形態
次に、第4実施形態に従ったメモリシステム1について説明する。本実施形態に従ったメモリシステム1は、第1実施形態で説明した第1書き込み動作において半導体記憶装置10が3ビットデータの書き込みを実行するものである。以下に、第1〜第3実施形態と異なる点を説明する。
[4−1]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
まず、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作では、コントローラ20がホスト機器30から受け取った4ページのデータに対して各種データ処理を実行し、このデータのうち3ページをまず半導体記憶装置10に転送する。このときコントローラ20は、3ページのうち上位ページに対応するデータを、保持したままにする。そして半導体記憶装置10は、3ビットのデータを用いた第1書き込み動作を実行する。その後コントローラ20は、保持する2ページのデータを送信し、半導体記憶装置10がIDLによって読み出した2ページのデータと併せて第2書き込み動作を実行する。
以下に、図28及び図29を用いてメモリシステム1における書き込み動作の詳細について説明する。図28は、メモリシステム1における書き込み動作のフローチャートを示し、図29は、図28に示す各ステップにおいてRAM22及びセンスアンプユニットSAUが保持するデータの一例を示している。
図28に示すステップS110〜S132は、第3実施形態で説明したステップS80〜S102と同様であり、第1及び第2書き込み動作の詳細が異なる。また、図29に示す図は、第3実施形態で説明した図24に対して、コントローラ20によるデータ処理後の4ビットのデータDATを、第1LowerページデータTL1、第1MiddleページデータTM1、第1UpperページデータTU1、及び第2SingleページデータSL2に置き換えたものと同様である。このため、以下に本実施形態における第1及び第2書き込み動作の詳細について説明する。
(第1書き込み動作)
半導体記憶装置10は、例えばステップS113において、コントローラ20から第3コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第1書き込み動作を実行する。本実施形態における第1書き込み動作の概略を図30に示す。図30は、第1書き込み動作によるメモリセルの閾値分布の変化を示している。図30に示すように第1書き込み動作では半導体記憶装置10が、コントローラ20から入力された第1LowerページデータTL1、第1MiddleページデータTM1、及び第1UpperページデータTU1に基づいた、3ページの書き込み動作を実行する。また、図30は、第2実施形態で説明した図19とベリファイ電圧の値が異なっている。
電圧VM1は、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V3を超えないように設定される。電圧VM2は電圧VM3より小さく、電圧VM2及びVM3はベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V7を超えないように設定される。電圧VM4は電圧VM5より小さく、電圧VM4及びVM5はベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧VBを超えないように設定される。電圧VM6は電圧VM7より小さく、電圧VM6及びVM7はベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧VFを超えないように設定される。その他は、第2実施形態で説明した図19と同様のため、説明を省略する。
(第2書き込み動作)
半導体記憶装置10は、例えばステップS121において、コントローラ20から第2コマンドセットを受信すると、レディビジー信号RBnを“L”レベルにして、ワード線WL0を選択した第2書き込み動作を実行する。本実施形態における第2書き込み動作の概略を図31に示す。図31は、第2書き込み動作によるメモリセルの閾値分布の変化を示している。図31に示すように本実施形態における第2書き込み動作において半導体記憶装置10は、まずInternal data load(IDL)を実行する。
本実施形態におけるIDLは、シーケンサ14が、電圧M2R、M4R、及びM6Rを用いた読み出し動作を実行する。本実施形態における電圧M2R、M4R、及びM6Rは、電圧M2Rは電圧V3以上且つ電圧VM2以下であり、センスアンプ部SAは電圧M2Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M1R未満か否かを判定する。電圧M4Rは電圧V7以上且つ電圧VM4以下であり、センスアンプ部SAは電圧M4Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M2R未満か否かを判定する。電圧M6Rは、電圧VB以上且つ電圧VM6以下であり、センスアンプ部SAは電圧M6Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M3R未満か否かを判定する。
これにより、第1書き込み動作によって書き込まれた“11”データ、“10”データ、“00”データ、及び“01”データが、センスアンプモジュールSAU内のラッチ回路に復元される。具体的には、図29に示すようにデータDAT0の第1LowerページデータTL1、及び第1MiddleページデータTM1がそれぞれ、例えばラッチ回路CDL及びDDLに転送される。
そして半導体記憶装置10は、IDLにより読み出された第1LowerページデータTL1、及び第1MiddleページデータTM1と、コントローラ20から入力された第1UpperページデータTL1、及び第2SingleページデータSL2とに基づいた、4ページの書き込み動作を実行する。
第2書き込み動作においてシーケンサ14は、第1実施形態と同様に、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。第2書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、8つのレベルから16個の閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”及び“1”レベルの閾値分布が形成される。“M1”レベルの閾値分布から“2”及び“3”レベルの閾値分布が形成される。“M2”レベルの閾値分布から“4”及び“5”レベルの閾値分布が形成される。“M3”レベルの閾値分布から“6”及び“7”レベルの閾値分布が形成される。以下、同様である。
<コマンドシーケンスについて>
次に、図32を用いて、上述した書き込み動作におけるコマンドシーケンスについて説明する。図32は図28に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。
図32に示すように、本実施形態における第3コマンドセットは、第2実施形態で図21を用いて説明した第3コマンドセットと同様である。また本実施形態における第2コマンドセットは、第1実施形態で図11を用いて説明した第2コマンドセットに対して、1ページ目のデータDATを第1UpperページデータTU1、2ページ目のデータDATを第2SingleページデータSL2に置き換えたものと同様である。これらの詳細なコマンドシーケンスは第1及び第2実施形態で説明したものと同様のため、説明を省略する。
[4−2]第4実施形態の効果
本実施形態に従ったメモリシステム1によれば、第1実施形態よりもデータの信頼性を向上することが出来る。以下に、本効果の詳細について説明する。
本実施形態に従ったメモリシステム1では、第1実施形態と同様に、コントローラ20がホスト機器30から受信した書き込みデータに対して、コード変換を含むデータ処理を実行する。さらに本実施形態では、第1書き込み動作においてコントローラ20が3ページのデータを半導体記憶装置10に送信し、半導体記憶装置10がコード変換後のLower、Middle、及びUpperビットを含む3ページデータを書き込む。そして第2書き込み動作では、コントローラ20が2ページのデータを半導体記憶装置10に送信し、半導体記憶装置10がコントローラ20から受信したコード変換後のUpper及びTopビットを含む2ページデータと、IDLによって読み出したコード変換後のLower及びMiddleビットを含む2ページデータとに基づいて、計4ビットのデータを書き込む。
このようにして本実施形態に従ったメモリシステム1は、第1実施形態と同様に、4ページのデータを2回に分けた書き込み動作を実行する。また本実施形態では、第2実施形態と同様に第1書き込み動作において3ビットのデータを書き込むため、その後の第2書き込み動作によって3ビット分のデータ書き込みにより発生する閾値電圧の初期落ちの影響とメモリセル間の寄生容量の影響とを、最終的に得られる閾値分布においては無視することが出来る。従って本実施形態に従ったメモリシステム1は、第2実施形態と同様にデータの信頼性を向上することが出来る。
また、本実施形態に従ったメモリシステム1では、第2書き込み動作において、第1書き込み動作によって書き込んだコード変換後のLower、Middle、及びUpperビットのデータのうち、Lower及びMiddleビットのデータのみIDLによって復元し、Upperビットのデータはコントローラ20からを受信することによって得る。IDLでメモリセルに記憶されたUpperビットのデータを読み出す時間よりも、コントローラ20から1ページ分のデータを再受信する時間の方が短いため、本実施形態に係るメモリシステム1は、第2実施形態よりも書き込み速度を高速化することが出来る。
尚、本実施形態におけるベリファイ電圧は、例えば“M1”及び“M2”レベル間と、“M3”及び“M4”レベル間と、“M5”及び“M6”レベル間とでそれぞれマージンが生まれるように設定しても良い。これにより、第2読み出し動作で2ビットデータのIDLを実行する際に生じるエラービット数を抑制することが出来る。
[5]第5実施形態
次に、第5実施形態に従ったメモリシステム1について説明する。本実施形態における半導体記憶装置10は、メモリセルアレイ11の各ブロックBLKが、複数のストリングユニットを備える。そしてコントローラ20が、各ストリングユニットに対する荒い書き込み動作と精密な書き込み動作とを、所定の順番で半導体記憶装置10に命令するものである。以下に、第1〜第4実施形態と異なる点を説明する。
[5−1]メモリシステム1の構成
まず、図33を用いてメモリシステム1の構成について説明する。図33は、コントローラ20の備えるRAM22のブロック図である。
図33に示すようにRAM22は、ページクラスタCL0〜CL4を備える。ページクラスタCLの各々は、領域PG0〜PG3を含む。つまりページクラスタCL0〜CL4は、各々が4ページのデータを保持することが可能である。尚、ページクラスタCLの記憶容量は4ページに限定されず、2ページ、3ページ、又は5ページ以上にしても良い。
次に、図34を用いてメモリセルアレイ11の構成について説明する。図34は、メモリセルアレイ11の回路図であり、メモリセルアレイ11内の1つのブロックBLKについて詳細な回路構成を示している。本実施形態におけるメモリセルアレイ11の回路構成は、第1実施形態で図2を用いて説明したメモリセルアレイ11の回路構成に対して、ブロックBLK毎に複数のストリングユニットSUを備える点が異なる。
図34に示すようにブロックBLKは、例えばストリングユニットSU0〜SU3を備える。ストリングユニットSUの各々は、m個のNANDストリング18を含む。NANDストリング18の構成は、第1実施形態で図2を用いて説明したものと同様である。
ストリングユニットSU0〜SU3内の選択トランジスタST1のゲートはそれぞれ、セレクトゲート線SGD0〜SGD3に共通接続される。同一ブロック内で同一列にある選択トランジスタST1のドレインは、対応するビット線BLに共通接続される。つまり同一列にある選択トランジスタST1のドレインは、複数のブロックBLK間で共通接続される。同一ブロック内のメモリセルトランジスタMT0〜MT7の制御ゲートはそれぞれ、ワード線WL0〜WL7に共通接続される。同一ブロック内の選択トランジスタST2のゲートは、セレクトゲート線SGSに共通接続される。同一ブロック内の選択トランジスタST2のソースは、ソース線SLに共通接続される。つまり選択トランジスタST2のソースは、複数のブロックBLK間で共通接続される。その他の構成は第1実施形態と同様のため、説明を省略する。
[5−2]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
次に、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作では、4ページデータの書き込みを、荒い書き込み動作と精密な書き込み動作との2回に分けて実行する。荒い書き込み動作と精密な書き込み動作とは、各々が4ページの書き込みデータに基づいて実行される。これらの書き込み動作の詳細については後述する。
以下に、図35を用いてメモリシステム1における書き込み動作の詳細について説明する。図35は、メモリシステム1における書き込み動作のフローチャートである。尚、以下に示す書き込み動作は、書き込みデータに対して4−4−3−4コードを適用した場合を例に説明する。また、以下の説明では、説明を簡便にするために変数i及びjを用いる。変数i及びjは、例えばコントローラ20が備えるカウンタによって保持される変数であり、コントローラ20の制御によってインクリメントされる。
図35に示すようにまず半導体記憶装置10は、ワード線WLi(i=0)を選択して且つストリングユニットSU0〜SU3を順に選択した、荒い書き込み動作を実行する(ステップS200)。この荒い書き込み動作の詳細が、図36に示されている。図36は、荒い書き込み動作によるメモリセルの閾値分布の変化を示している。
図36に示すように半導体記憶装置10は、コントローラ20から入力された4ページデータに基づいて荒い書き込み動作を実行する。
荒い書き込み動作を実行する前のメモリセルトランジスタMTの閾値電圧は、“ER”レベルに分布する。“ER”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。
荒い書き込み動作においてシーケンサ14は、電圧VM1、VM2、VM3、VM4、VM5、VM6、VM7、VM8、VM9、VMA、VMB、VMC、VMD、VME、及びVMFをベリファイ電圧として使用する。電圧VM1、VM2、VM3、VM4、VM5、VM6、VM7、VM8、VM9、VMA、VMB、VMC、VMD、VME、及びVMFはそれぞれ、“1111”(“Lowerビット/Middleビット/Upperビット/Topビット”)データ、“0111”データ、“0101”データ、“0001”データ、“1001”データ、“1000”データ、“0000”データ、“0100”データ、“0110”データ、“0010”データ、“0011”データ、“1011”データ、“1010”データ、“1110”データ、“1100”データ、及び“1101”データを書き込む場合に使用される。電圧VM1は、電圧V1未満である。電圧VM2は、電圧V1以上且つ電圧V2未満である。電圧VM3は、電圧V2以上且つ電圧V3未満である。以下、同様である。
荒い書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、16個の閾値分布が形成される。尚、図36に示すように16個の閾値分布は、隣り合う閾値分布と重なっていることがある。図36に示す“M0”レベルは、“1111”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M1”レベルは、“0111”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M2”レベルは、“0101”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。以下、同様である。
“M0”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベル及び“ER”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。つまり、第1書き込み動作において“1”データを書き込むメモリセルトランジスタMTでは、閾値電圧の上昇が抑制される。“M1”レベルにおける閾値電圧は、電圧VM1以上且つ電圧V2未満である。“M2”レベルにおける閾値電圧は、電圧VM2以上且つ電圧V3未満である。以下、同様である。
このように、荒い書き込み動作におけるベリファイに使用される電圧VM1、VM2、VM3、VM4、VM5、VM6、VM7、VM8、VM9、VMA、VMB、VMC、VMD、VME、及びVMFはそれぞれ、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、VF、及びVREADを超えないように設定される。
図35に戻り、ステップS200における荒い書き込み動作が終了すると、変数iがインクリメントされ、変数jはリセット(j=0)される(ステップS201)。そして半導体記憶装置10は、ワード線WLiを選択し且つストリングユニットSUjを選択した荒い書き込み動作を実行する(ステップS202)。具体的には半導体記憶装置10は、ワード線WL1を選択し且つストリングユニットSU0を選択した荒い書き込み動作を実行する。
次に半導体記憶装置10は、ワード線WL(i−1)を選択し且つストリングユニットSUjを選択した精密な書き込み動作を実行する(ステップS203)。具体的には半導体記憶装置10は、ワード線WL0を選択し且つストリングユニットSU0を選択した精密な書き込み動作を実行する。この精密な書き込み動作の詳細が、図37に示されている。図37は、精密な書き込み動作によるメモリセルの閾値分布の変化を示している。
図37に示すように半導体記憶装置10は、コントローラ20から入力された4ページデータに基づいて精密な書き込み動作を実行する。
精密な書き込み動作においてシーケンサ14は、荒い書き込み動作と同様に、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。精密な書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、16個の広い閾値分布から16個の細い閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”レベルの閾値分布が形成され、“M1”レベルの閾値分布から“1”レベルの閾値分布が形成され、“M2”レベルの閾値分布から“2”レベルの閾値分布が形成される。以下、同様である。
図35に戻り、ステップS203における精密な書き込み動作が終了した時点でj=3ではない場合(ステップS204、No)、変数jがインクリメントされ(ステップS205)、ステップS202以降の動作が繰り返される。一方でj=3である場合(ステップS204、Yes)、続けて変数iの値が確認される(ステップS206)。
i=7ではない場合(ステップS206、No)、ステップS201に戻り、変数iがインクリメントされて且つ変数jがリセットされてから、ステップS202以降の動作が繰り返される。一方でi=7である場合(ステップS206、Yes)、半導体記憶装置10は、ワード線WLi(i=7)を選択して且つストリングユニットSU0〜SU3を順に選択した、精密な書き込み動作を実行する(ステップS207)。
以上で説明した各書き込み動作の書き込み順番が、図38に示されている。図38は、あるブロックBLKにおけるワード線WL及びストリングユニットSUの組み合わせを示している。また図38は、各組み合わせにおいて、荒い書き込み動作に対応する枠(背景:白)と精密な書き込み動作に対応する枠(背景:斜線)とを示し、各枠内に動作が実行される順番を示す番号を表示している。尚、図38に示す破線の矢印は、その矢印の起点における動作に応じて、いずれかのページクラスタCLに保持された4ページの書き込みデータがコントローラ20内から破棄され、RAM22のメモリ領域がリリースされることを示している。
図38に示すように半導体記憶装置10は、ワード線WL0を選択した各ストリングユニットSUに対する荒い書き込み動作を実行した後に、ワード線WL1を選択した荒い書き込み動作と、ワード線WL0を選択した精密な書き込み動作とを交互に実行する。この動作は、ストリングユニットSU0からSU3まで順に選択して実行される。そしてメモリシステム1は、ワード線WL0とストリングユニットSU3とを選択した精密な書き込み動作を実行した後に、ワード線WL2を選択した荒い書き込み動作と、ワード線WL1を選択した精密な書き込み動作とを交互に実行する。以下、同様である。
このような書き込み動作において、例えばワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページデータは、ページクラスタCL0の領域PG0〜PG3に保持される。そしてこの4ページデータは、コントローラ20がワード線WL0及びストリングユニットSU0に対する精密な書き込み動作を指示した後にコントローラ20内から破棄され、RAM22のメモリ領域がリリースされる。つまりRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページデータを、図38に示す1番目の動作から、6番目の動作が実行されるまでページクラスタCL0に保持している。尚、この期間においてRAM22は、例えば2番目〜5番目の動作に使用される4ページデータをそれぞれ、ページクラスタCL1〜CL4に保持している。
<コマンドシーケンスについて>
次に、図39〜図41を用いて、上述した書き込み動作におけるコマンドシーケンス及び波形の詳細について説明する。図39及び図40はそれぞれ、荒い書き込み動作及び精密な書き込み動作におけるコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。図41は荒い書き込み動作と精密な書き込み動作の波形を示し、選択ワード線WLに印加される電圧を示している。
まず、荒い書き込み動作のコマンドシーケンスについて説明する。尚、以下の説明において、図39に示されたコマンドの組み合わせのことを第5コマンドセットと呼ぶ。
図39に示すように、荒い書き込み動作においてまずコントローラ20は、コマンド“xzh”を半導体記憶装置10に送信する。コマンド“xzh”は、半導体記憶装置10に対して荒い書き込み動作を指示するコマンドである。次にコントローラ20は、コマンド“01h”と、コマンド“80h”と、アドレス情報ADDと、LowerページデータDAT1と、コマンド“xyh”とを、順に半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路ADLに転送させる。
そしてレディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“xzh”と、コマンド“02h”と、コマンド“80h”と、アドレス情報ADDと、MiddleページデータDAT2と、コマンド“xyh”とを、順に半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路BDLに転送させる。
そしてレディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“xzh”と、コマンド“03h”と、コマンド“80h”と、アドレス情報ADDと、UpperページデータDAT3と、コマンド“xyh”とを、順に半導体記憶装置10に送信する。コマンド“xyh”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路CDLに転送させる。
そしてレディビジー信号RBnが“H”レベルになると、コントローラ20はコマンド“xzh”と、コマンド“04h”と、コマンド“80h”と、アドレス情報ADDと、TopページデータDAT4と、コマンド“10h”とを、順に半導体記憶装置10に送信する。
コマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、ラッチ回路XDLに保持された書き込みデータを例えばラッチ回路DDLに転送させ、荒い書き込み動作を実行する。図示するtProg(荒い)は、荒い書き込み動作の処理期間に相当する。この荒い書き込み動作における波形の一例が、図41に示されている。図41に示すように、荒い書き込み動作の波形は、第1実施形態で図12を用いて説明した第1書き込み動作の波形と同様のため、説明を省略する。
次に、精密な書き込み動作のコマンドシーケンスについて説明する。尚、以下の説明において、図40に示されたコマンドの組み合わせのことを第6コマンドセットと呼ぶ。
図40に示すように、精密な書き込み動作におけるコマンドシーケンスは、図39を用いて説明した荒い書き込み動作におけるコマンドシーケンスからコマンド“xzh”を除いたものと同様である。
図40に示す最後のコマンドであるコマンド“10h”がコマンドレジスタ12に格納されると、シーケンサ14はレディビジー信号RBnを“L”レベルにして、精密な書き込み動作を実行する。図示するtProg(精密)は、精密な書き込み動作の処理期間に相当する。tProg(精密)は、tProg(荒い)よりも長い。この精密な書き込み動作における波形の一例が、図41に示されている。図41に示すように、精密な書き込み動作の波形は、第1実施形態で図12を用いて説明した第2書き込み動作の波形に対して、internal data load(IDL)に相当する波形を除いたものと同様のため、説明を省略する。
以上のように、荒い書き込み動作及び精密な書き込み動作ではそれぞれ、第5及び第6コマンドセットが使用される。従って、図35を用いて説明した動作は、図42に示すようなコマンドシーケンスにより実現される。図42は、図35を用いて説明した動作に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。
図42に示すように、まずコントローラ20は、ワード線WL0と各ストリングユニットSUを選択した第5コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL0と各ストリングユニットSUを選択した荒い書き込み動作を順に実行させる(ステップS201)。
ワード線WL0を選択した荒い書き込み動作が終了すると、コントローラ20は、ワード線WL1とストリングユニットSU0を選択した第5コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL1とストリングユニットSU0を選択した荒い書き込み動作を実行させる(ステップS202)。
ワード線WL1とストリングユニットSU0を選択した荒い書き込み動作が終了すると、コントローラ20は、ワード線WL0とストリングユニットSU0を選択した第6コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL0とストリングユニットSU0を選択した精密な書き込み動作を実行させる(ステップS203)。
以降のコマンドシーケンスの説明は省略するが、図42に示すようにコントローラ20は、適宜適切なコマンドセットを選択して、半導体記憶装置10に対して各種書き込み動作を指示する。
[5−3]第5実施形態の効果
本実施形態に従ったメモリシステム1によれば、RAM22の記憶容量を抑制することが出来る。以下に、本効果の詳細について説明する。
荒い書き込み動作と、精密な書き込み動作との2回の書き込み動作に分けて、メモリセルに複数ビットのデータを書き込む方法が知られている。荒い書き込み動作と精密な書き込み動作には、当該メモリセルに書き込む複数ビットのデータが共に使用される。このような書き込み方法を、各ブロックBLKが複数のストリングユニットSUを備えるメモリシステムに対して適用する場合、荒い書き込み動作と精密な書き込み動作との書き込み順番としては、図43に示す順番が考えられる。
図43に示す第5実施形態の比較例(第1比較例)では、ワード線WL0と各ストリングユニットSUとを選択した荒い書き込み動作の後に、ワード線WL1と各ストリングユニットSUとを選択した荒い書き込み動作が実行される。そして、ワード線WL1と各ストリングユニットSUとを選択した荒い書き込み動作が実行された後に、ワード線WL0と各ストリングユニットSUとを選択した精密な書き込み動作が実行される。つまり第1比較例におけるメモリシステムは、荒い書き込み動作と精密な書き込み動作とを実行する順番を、ワード線WL単位で管理している。
一方で本実施形態では、図38に示すようにワード線WL0と各ストリングユニットSUとを選択した荒い書き込み動作の後に、ワード線WL1とストリングユニットSU0とを選択した荒い書き込み動作が実行される。そして、ワード線WL1とストリングユニットSU0とを選択した荒い書き込み動作を実行した後に、ワード線WL0とストリングユニットSU0とを選択した精密な書き込み動作が実行される。このように本実施形態においてメモリシステム1は、隣接するワード線WLの荒い書き込み動作が終わったストリングユニットSUから、順次精密な書き込み動作を実行する。
以上のことから、本実施形態及び第1比較例において最低限必要なRAM22の記憶容量は、図44に示すものとなる。図44は、本実施形態及び第1比較例におけるRAM22の構成の一例が示されている。
図43及び図44に示すように、第1比較例おいてRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページの書き込みデータを、9番目の動作に応じて破棄して、メモリ領域(例えば、ページクラスタCL0)をリリースする。このときRAM22が2番目〜8番目の動作における4ページの書き込みデータも保持していることを考慮すると、第1比較例において最低限必要なRAM22の記憶容量は、32ページ(ページクラスタCL8個分)である。
一方で図38及び図44に示すように、本実施形態においてRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページの書き込みデータを、6番目の動作に応じて破棄して、メモリ領域(例えば、ページクラスタCL0)をリリースする。このときRAM22が2番目〜5番目の動作における4ページの書き込みデータも保持していることを考慮すると、本実施形態において最低限必要なRAM22の記憶容量は、20ページ(ページクラスタCL5個分)である。
このように本実施形態に従ったメモリシステム1の書き込み動作は、精密な書き込み動作が実行されるまでの期間を短縮することで、RAM22が書き込みデータを保持する期間が短縮されるため、RAM22の消費量を抑制することが出来る。これにより本実施形態に従ったメモリシステム1は、RAM22の記憶容量を抑制する事が出来る。
尚、精密な書き込み動作が実行されるまでの期間を短縮した書き込み順番としては、図45に示す順番も考えられる。図45に示す第5実施形態の変形例(第1変形例)では、ワード線WL0とストリングユニットSU0とを選択した荒い書き込み動作の後に、ワード線WL1とストリングユニットSU0とを選択した荒い書き込み動作が実行される。そして、ワード線WL1とストリングユニットSU0とを選択した荒い書き込み動作が実行された後に、ワード線WL0とストリングユニットSU0とを選択した精密な書き込み動作が実行される。この書き込み順番はワード線WL0とストリングユニットSU3とを選択した精密な書き込み動作が実行されるまで続き、以降の書き込み順番は本実施形態で説明した図38と同様となる。メモリシステム1は、このような書き込み順番を適用した場合においても同様に、RAM22の記憶容量を抑制することが出来る。
[6]第6実施形態
次に、第6実施形態に従ったメモリシステム1について説明する。本実施形態は、第1実施形態で説明した書き込み方法と、第5実施形態で説明した書き込み順番とを組み合わせたものである。以下に、第1〜第5実施形態と異なる点を説明する。
[6−1]メモリシステム1の書き込み動作
<書き込み動作の流れについて>
まず、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作は、各ブロックBLKが複数のストリングユニットを備える半導体記憶装置10において、第1実施形態で説明した第1及び第2書き込み動作を、第5実施形態で説明した順番で実行するものである。尚、以下で説明する書き込み動作では、第1実施形態と同様に、例えば4−4−3−4コードから1−2−4−8コードへのコーディング変換が実行されているものとする。
本実施形態における第1及び第2書き込み動作の書き込み順番は、図46に示すものとなる。図46は、あるブロックBLKにおけるワード線WL及びストリングユニットSUの組み合わせを示している。また図46は、各組み合わせにおいて、第1書き込み動作に対応する枠(背景:白)と第2書き込み動作に対応する枠(背景:斜線)とを示し、各枠内に動作が実行される順番を示す番号を表示している。尚、図46に示す実線の矢印は、その矢印の起点における動作に応じて、RAM22に保持された2ページの書き込みデータ(Lower及びMiddleページデータ)がコントローラ20内から破棄され、RAM22のメモリ領域がリリースされることを示している。同様に破線の矢印は、その矢印の起点における動作に応じて、RAM22に保持された2ページの書き込みデータ(Upper及びTopページデータ)がコントローラ20内から破棄され、RAM22のメモリ領域がリリースされることを示している。
図46に示すように本実施形態における各種書き込み動作の書き込み順番は、第5実施形態で説明した荒い書き込み動作と精密な書き込み動作とをそれぞれ、第1実施形態で説明した第1書き込み動作と第2書き込み動作とに置き換えたものと同様である。このような書き込み動作においてRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページデータのうち、Lower及びMiddleページデータを図46に示す1番目の動作まで保持し、Upper及びTopページデータを図46に示す1番目の動作から、6番目の動作が実行されるまでに保持している。尚、6番目の動作の実行時においてRAM22は、例えば2番目〜5番目の各動作で使用される4ページデータのうち、Upper及びTopページデータを保持している。
<コマンドシーケンスについて>
次に、図47を用いて、上述した書き込み動作におけるコマンドシーケンスについて説明する。図47は、図46を用いて説明した動作に対応するコマンドシーケンスを示し、半導体記憶装置10に入力される入出力信号I/Oを示している。
図47に示すように、まずコントローラ20は、ワード線WL0と各ストリングユニットSUを選択した第1コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL0と各ストリングユニットSUを選択した第1書き込み動作を順に実行させる。
ワード線WL0を選択した第1書き込み動作が終了すると、コントローラ20は、ワード線WL1とストリングユニットSU0を選択した第1コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL1とストリングユニットSU0を選択した第1書き込み動作を実行させる。
ワード線WL1とストリングユニットSU0を選択した第1書き込み動作が終了すると、コントローラ20は、ワード線WL0とストリングユニットSU0を選択した第2コマンドセットを半導体記憶装置10に送信して、半導体記憶装置10にワード線WL0とストリングユニットSU0を選択した第2書き込み動作を実行させる。
以降のコマンドシーケンスの説明は省略するが、図47に示すようにコントローラ20は、適宜適切なコマンドセットを選択して、半導体記憶装置10に対して各種書き込み動作を指示する。
[6−2]第6実施形態の効果
本実施形態に従ったメモリシステム1によれば、第5実施形態よりもRAM22の記憶容量を抑制することが出来る。以下に、本効果の詳細について説明する。
各ブロックBLKが複数のストリングユニットSUを備えるメモリシステムにおいて、第1実施形態で説明した第1及び第2書き込み動作を適用する場合、第1及び第2書き込み動作の書き込み順番としては、図48に示す順番が考えられる。
図48に示す第6実施形態の比較例(第2比較例)の書き込み順番は、図43を用いて説明した第1比較例における荒い書き込み動作と精密な書き込み動作との書き込み順番をそれぞれ、第1実施形態で説明した第1書き込み動作と第2書き込み動作とに置き換えたものと同様である。
一方で本実施形態の書き込み順番は、図38を用いて説明した第5実施形態における荒い書き込み動作と精密な書き込み動作との書き込み順番をそれぞれ、第1書き込み動作と第2書き込み動作とに置き換えたものと同様である。
以上のことから、本実施形態及び第2比較例において最低限必要なRAM22の記憶容量は、図49に示すものとなる。図49は、本実施形態及び第2比較例におけるRAM22の構成の一例が示されている。
図48及び図49に示すように、第2比較例においてRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページの書き込みデータのうち、2ページの書き込みデータ(Lower及びMiddleページデータ)を1番目の動作に応じて破棄して、メモリ領域をリリースする。そしてRAM22は、残りの2ページの書き込みデータ(Upper及びTopページデータ)を9番目の動作に応じて破棄して、メモリ領域をリリースする。このときRAM22が2番目〜8番目の動作における4ページの書き込みデータのうち2ページの書き込みデータ(Upper及びTopページデータ)も保持していることを考慮すると、比較例2において最低限必要なRAM22の記憶容量は18ページである。
一方で図46及び図49に示すように、本実施形態においてRAM22は、ワード線WL0及びストリングユニットSU0に対応するメモリセルに書き込む4ページの書き込みデータのうち、2ページの書き込みデータ(Lower及びMiddleページデータ)を1番目の動作に応じて破棄して、メモリ領域をリリースする。そしてRAM22は、残りの2ページ(Upper及びTopページデータ)を6番目の動作に応じて破棄して、メモリ領域をリリースする。このときRAM22が2番目〜5番目の動作における2ページの書き込みデータ(Upper及びTopページデータ)も保持していることを考慮すると、本実施形態において最低限必要なRAM22の記憶容量は12ページである。
このように本実施形態に従ったメモリシステム1の書き込み動作は、第2書き込み動作が実行されるまでの期間を短縮することで、RAM22が書き込みデータを保持する期間が短縮されるため、RAM22の消費量を抑制することが出来る。これにより本実施形態に従ったメモリシステム1は、RAM22の記憶容量を抑制する事が出来る。
尚、精密な書き込み動作が実行されるまでの期間を短縮した書き込み順番としては、図50に示す順番も考えられる。図50に示す第6実施形態の変形例(第2変形例)の書き込み順番は、図45を用いて説明した第1変形例における荒い書き込み動作及び精密な書き込み動作の書き込み順番をそれぞれ、第1書き込み動作及び第2書き込み動作に置き換えたものと同様である。メモリシステム1は、このような書き込み順番を適用した場合も同様に、RAM22の記憶容量を抑制することが出来る。
[7]第7実施形態
次に、第7実施形態に従ったメモリシステム1について説明する。本実施形態に従ったメモリシステム1は、第1実施形態の変形例であり、第1書き込み動作で1ページの書き込みを実行し、第2書き込み動作で1ページのIDLを実行するものである。以下に、第1〜第6実施形態と異なる点を説明する。
[7−1]メモリシステム1の書き込み動作
まず、メモリシステム1の書き込み動作について説明する。本実施形態に従ったメモリシステム1の書き込み動作は、ホスト機器30から受信した書き込みデータに対して、第1実施形態で図7を用いて説明したデータ処理を実行する。つまり本実施形態においてコントローラ20は、ホスト機器30から受信した書き込みデータに対して、例えば4−4−3−4コードから1−2−4−8コードへのコーディング変換を実行する。これによりメモリシステム1は、4ビットデータを2回の書き込み動作に分けて書き込む場合に、IDLを使用することが可能となる。そしてメモリシステム1は、第1書き込み動作で1ページの書き込みを実行し、第2書き込み動作で1ページのIDLを実行する。
具体的には、第1書き込み動作においてメモリシステム1は、半導体記憶装置10がコントローラ20から受信した1ページデータ(Lowerページデータ)に基づいて、1ページの書き込み動作を実行する。第2書き込み動作においてメモリシステム1は、半導体記憶装置10がコントローラ20から受信した3ページデータ(Middle、Upper、及びTopページデータ)と、IDLにより読み出した1ページデータ(Lowerページデータ)に基づいて、4ページの書き込み動作を実行する。
以下に、本実施形態のメモリシステム1における第1及び第2書き込み動作の概略についてそれぞれ説明する。
まず、第1書き込み動作の概略について図51を用いて説明する。図51は、第1書き込み動作によるメモリセルの閾値分布の変化を示している。図51に示すように第1書き込み動作では半導体記憶装置10が、コントローラ20から入力されたLowerページデータに基づいた、1ページの書き込み動作を実行する。
第1書き込み動作を実行する前のメモリセルトランジスタMTの閾値電圧は、“ER”レベルに分布する。“ER”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。
第1書き込み動作においてセンスアンプモジュール17は、電圧VM1をベリファイ電圧として使用する。電圧VM1は、“0”(“Lowerビット”)データを書き込む場合に使用され、電圧V1以上且つ電圧V9未満である。
第1書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、2つの閾値分布が形成される。図51に示す“M0”レベルは、“1”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。“M1”レベルは、“0”データが書き込まれる複数のメモリセルトランジスタMTによって形成される。
“M0”レベルにおける閾値電圧は電圧V1未満であり、前述した“0”レベル及び“ER”レベルと同様に、メモリセルトランジスタMTの消去状態に相当する。つまり、第1書き込み動作において“1”データを書き込むメモリセルトランジスタMTでは、閾値電圧の上昇が抑制される。“M1”レベルにおける閾値電圧は、電圧VM1以上且つ電圧V9未満である。このように、第1書き込み動作におけるベリファイに使用される電圧VM1は、ベリファイをパスしたメモリセルトランジスタMTの閾値電圧が電圧V5を超えないように設定される。
次に、第2書き込み動作の概略について図52を用いて説明する。図52は、第2書き込み動作によるメモリセルの閾値分布の変化を示している。図52に示すように本実施形態における第2書き込み動作において半導体記憶装置10は、まずInternal data load(IDL)を実行する。
本実施形態におけるIDLでは、シーケンサ14が、電圧M1Rを用いた読み出し動作を実行する。電圧M1Rは電圧V1以上且つ電圧VM1以下であり、センスアンプ部SAは電圧M1Rを用いた読み出し動作によりメモリセルトランジスタMTの閾値電圧が電圧M1R未満か否かを判定する。
これにより、第1書き込み動作によって書き込まれた“1”データ及び“0”が、センスアンプモジュールSAU内のラッチ回路に復元される。
そして半導体記憶装置10は、IDLにより読み出されたLowerページデータと、コントローラ20から入力されたMiddleページデータ、Upperページデータ、及びTopページデータとに基づいた、4ページの書き込み動作を実行する。
第2書き込み動作においてシーケンサ14は、第1実施形態と同様に、ベリファイ電圧として電圧V1、V2、V3、V4、V5、V6、V7、V8、V9、VA、VB、VC、VD、VE、及びVFを使用する。第2書き込み動作が実行されると、書き込むデータに基づいてメモリセルトランジスタMTの閾値電圧が上昇し、2つのレベルから16個の閾値分布が形成される。例えば、“M0”レベルの閾値分布から“0”レベル、“1”レベル、“2”レベル、“3”レベル、“4”レベル、“5”レベル、“6”レベル、及び“7”レベルの閾値分布が形成される。“M1”レベルの閾値分布から“8”レベル、“9”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、及び“F”レベルの閾値分布が形成される。
[7−2]第7実施形態の効果
本実施形態に従ったメモリシステム1によれば、書き込んだデータの信頼性を向上することが出来る。以下に、本効果の詳細について説明する。
本実施形態に従ったメモリシステム1では、第1実施形態と同様に、コントローラ20がホスト機器30から受信した書き込みデータに対して、コード変換を含むデータ処理を実行する。さらに本実施形態では、第1書き込み動作においてコントローラ20が1ページデータを半導体記憶装置10に送信し、半導体記憶装置10がコード変換後のLowerビットを含む1ページデータを書き込む。そして、第2書き込み動作においてコントローラ20がコード変換後のMiddle、Upper、及びTopビットを含む3ページデータを半導体記憶装置10に送信し、半導体記憶装置10がIDLにより当該メモリセルから読み出したコード変換後のLowerビットを含む1ページデータと、コントローラ20から受信したコード変換後のMiddle、Upper、及びTopビットを含む3ページデータとに基づいて、メモリセルに計4ページのデータを書き込む。
これにより本実施形態に従ったメモリシステム1は、第1実施形態と同様に、4ページのデータを2回に分けた書き込み動作を実行することが出来る。また、本実施形態では第1書き込み動作において1ページのデータを書き込むため、その後の第2書き込み動作によって1ビット分のデータ書き込みにより発生する閾値電圧の初期落ちの影響とメモリセル間の寄生容量の影響とを、最終的に得られる閾値分布においては無視することが出来る。従って、本実施形態に従ったメモリシステム1は、閾値分布の広がりを抑制することが出来るため、データの信頼性を向上することが出来る。
また、本実施形態に従ったメモリシステム1では、第2書き込み動作において、第1書き込み動作によって書き込んだコード変換後のLowerビットのデータを、IDLによって当該メモリセルから読み出すことによって復元する。つまりコントローラ20は、第1書き込み動作に使用する1ページのデータを、半導体記憶装置10に送信した後に破棄することが出来る。
これによりコントローラ20は、RAM22の記憶容量が最低7ページあれば、上述した書き込み動作を実行することが可能となる。つまり本実施形態に従ったメモリシステム1では、RAM22の記憶容量を抑制することが出来るため、コントローラ20の回路面積を抑制することが出来る。
[8]変形例等
上記実施形態に従った半導体記憶装置10は、nビットデータ(nは4以上の自然数)を記憶可能な第1メモリセルを含む。半導体記憶装置10は、コントローラ20からnビットデータのうち第1及び第2ビット<Lower/Middle>を含む第1データを受信すると、受信した第1データを前記第1メモリセルに書き込む。半導体記憶装置は、第1データを受信した後、nビットデータのうち第3及び第4ビット<Upper/Top>を含む第2データを受信すると、第1メモリセルから第1及び第2ビットを読み出して<IDL, FIG.10>、読み出した第1及び第2ビットと受信した第2データとに基づいて、第1メモリセルにnビットデータを書き込む。
これにより、読み出しデータの信頼性を向上することが出来る。
尚、メモリシステム1の構成はこれに限定されず、様々な形態を取ることができる。例えば、上記実施形態に従ったメモリシステム1は、1つのコントローラ20と1つの半導体記憶装置10とを組み合わせたメモリシステム1を一例として説明したが、これに限定されない。例えば、1つのコントローラ20に対して、複数の半導体記憶装置10が設けられていても良い。この場合、コントローラ20のRAM22が備える記憶容量は、半導体記憶装置10の個数に基づいて変化する。例えば、2つの半導体記憶装置10を含むメモリシステム1の場合、第1実施形態における書き込み動作を実行するためには、コントローラ20のRAM22は10ページのデータを保持可能なように構成される。
また、上記実施形態で説明した書き込み動作において、RAM22や、センスアンプユニットSAUのラッチ回路に保持されるデータは、所望の動作を終えた後に破棄しなくても良い。例えば、続く動作で当該領域PGやラッチ回路を使用する場合に、データを上書きすることで使用する。このような場合においても、上記実施形態の動作を実現することが出来る。
また、上記実施形態で説明した書き込み動作において、ホスト機器30からコントローラ20に転送されるデータが4ページ毎となっている場合を例に説明したが、これに限定されない。例えば、コントローラ20が備えるバッファメモリ24の容量に余裕がある場合には、より多くの書き込みデータを保持し、順次書き込み動作を実行するにしても良い。また、バッファメモリ24に保持されたデータが4ページ一括でRAM22の領域PGに転送される場合を例に説明したが、これに限定されない。例えば、1ページのデータがバッファメモリ24に溜まったら、順次RAM22の領域PGにデータを転送するようにしても良い。
尚、上記実施形態で説明した書き込み動作において、コントローラ20が書き込みデータのコーディング変換を実行する場合に、1−2−4−8コードに変換する前のコーディングとして4−4−3−4コードを適用した場合を例に説明したが、これに限定されない。コーディング変換前に使用されるコーディングとしては、その他のあらゆるコーディングを使用することが可能である。
また、第5実施形態において、書き込みデータに対して4−4−3−4コードを適用した場合を例に説明したが、これに限定されない。第5実施形態において使用されるコーディングとしては、その他のあらゆるコーディングを使用することが可能である。
尚、第6実施形態において、第1実施形態で説明した書き込み方法と、第5実施形態で説明した書き込み順番とを組み合わせた場合を例に説明したが、これに限定されない。例えば、第2〜第4、又は第7実施形態で説明した書き込み方法と、第5実施形態で説明した書き込み順番とを組み合わせても良い。
また、第5及び第6実施形態において、各ブロックBLKが備えるストリングユニットSUの個数が4つである場合を例に説明したが、これに限定されない。例えば、ストリングユニットSUの個数は、2つ、3つ、又は5つ以上であっても良い。また、図35のフローチャートで説明に用いた、ステップS204における変数jの判定値と、ステップS206における変数iの判定値とは、あくまで一例であり、これに限定されない。これらの判定値は、例えば1つのブロックBLKに対応するストリングユニットSUの個数や、ワード線WLの本数に基づいて設定される。
例えば、ストリングユニットSUの個数を変更した場合の書き込み順番は、図35のフローチャートに対して、ステップS200及びS207における書き込み対象のストリングユニットSUの個数を変更し、ステップS204における変数jの判定値を(ストリングユニットSUの個数−1)に変更したものとなる。
尚、上記実施形態で説明した書き込み動作において、1つのメモリセルに対して4ビットのデータを記憶させる場合を例に説明したが、これに限定されない。例えば、1つのメモリセルに対して3ビット又は5ビット以上のデータを記憶させても良い。このような場合においても、適切なコーディングを選択することによって、上記実施形態で説明した動作を実現する事が可能である。
尚、本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。
尚、上記実施形態においてメモリセルアレイ11は、メモリセルトランジスタMTが半導体基板の上方に三次元に積層された構成であっても良い。このような構成については、例えば“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
また、上記実施形態において、ブロックBLKがデータの消去単位にならなくても良い。例えば他の消去動作は、“不揮発性半導体記憶装置”という2011年9月18日に出願された米国特許出願13/235,389号、“不揮発性半導体記憶装置”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
また、上記実施形態におけるトラッキングリードの詳細については、例えば“SEMICONDUCTOR MEMORY DEVICE WHICH STORES MULTIVALUED DATA”という2012年7月9日に出願された米国特許出願13/544,147に記載された方法を適用することが出来る。この特許出願の内容は、その全体が本願明細書において参照により援用されている。
尚、上記各実施形態において、
(1)読み出し動作では、“A”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0〜0.55Vの間である。これに限定されることなく、0.1〜0.24V、0.21〜0.31V、0.31〜0.4V、0.4〜0.5V、0.5〜0.55Vのいずれかの間にしてもよい。
“B”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5〜2.3Vの間である。これに限定されることなく、1.65〜1.8V、1.8〜1.95V、1.95〜2.1V、2.1〜2.3Vのいずれかの間にしてもよい。
“C”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0〜3.2V、3.2〜3.4V、3.4〜3.5V、3.5〜3.6V、3.6〜4.0Vのいずれかの間にしてもよい。
読み出し動作の時間(tRead)としては、例えば25〜38μs、38〜70μs、70〜80μsの間にしてもよい。
(2)書き込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書き込み動作では、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7〜14.3Vの間である。これに限定されることなく、例えば13.7〜14.0V、14.0〜14.6Vのいずれかの間としてもよい。
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書き込み動作の時間(tProg)としては、例えば1700〜1800μs、1800〜1900μs、1900〜2000μsの間にしてもよい。
(3)消去動作では、半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12.0〜13.6Vの間である。この場合に限定されることなく、例えば13.6〜14.8V、14.8〜19.0V、19.0〜19.8V、19.8〜21.0Vの間であってもよい。
消去動作の時間(tErase)としては、例えば3000〜4000μs、4000〜5000μs、4000〜9000μsの間にしてもよい。
(4)メモリセルの構造は、半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、又はSiON等の絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはRu等の金属が添加されていてもよい。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と膜厚が3〜10nmの上層High−k膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜はHfO等が挙げられる。また、シリコン酸化膜の膜厚はHigh−k膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの材料を介して膜厚が30〜70nmの制御電極が形成されている。ここで材料はTaO等の金属酸化膜、TaN等の金属窒化膜である。制御電極にはW等を用いることができる。
また、メモリセル間にはエアギャップを形成することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、10…半導体記憶装置、11…メモリセルアレイ、12…コマンドレジスタ、13…アドレスレジスタ、14…シーケンサ、15…ドライバ回路、16…ロウデコーダ、17…センスアンプモジュール、18…NANDストリング、20…コントローラ、21…ホストインターフェイス回路、22…内蔵メモリ、23…プロセッサ、24…バッファメモリ、25…ECC回路、26…NANDインターフェイス回路、30…ホスト機器、BL…ビット線、WL…ワード線、SGD,SGS…セレクトゲート線
MT0…メモリセルトランジスタ、ST…選択トランジスタ、SU…ストリングユニット、BLK…ブロック

Claims (14)

  1. 第1及び第2メモリセルと、
    一端が第1メモリセルの一端に接続された第3メモリセルと、
    一端が第2メモリセルの一端に接続された第4メモリセルと、
    前記第3メモリセルの他端に接続された第1選択トランジスタと、
    前記第4メモリセルの他端に接続された第2選択トランジスタと、
    前記第1及び第2メモリセルのそれぞれのゲートに接続された第1ワード線と、
    前記第3及び第4メモリセルのそれぞれのゲートに接続され、前記第1ワード線の隣に設けられた第2ワード線と、
    第1書き込みと、第2書き込みとを実行するコントローラと、
    を備え、
    前記コントローラは、書き込み動作の際に、
    前記第3メモリセルに対する前記第1書き込みと、前記第1メモリセルに対する前記第2書き込みと、前記第4メモリセルに対する前記第1書き込みとを順に実行する、半導体記憶装置。
  2. 前記第1書き込みにおいて、選択されたワード線には第1プログラムパルスが複数回印加され、前記第1プログラムパルスの電圧は、前記第1プログラムパルスの印加毎に第1電圧から第2電圧ずつ増加し、
    前記第2書き込みにおいて、選択されたワード線には第2プログラムパルスが複数回印加され、前記第2プログラムパルスの電圧は、前記第2プログラムパルスの印加毎に第3電圧から第4電圧ずつ増加し、
    前記第1電圧は前記第3電圧よりも高く、
    前記第2電圧は前記第4電圧よりも高い、
    請求項1に記載の半導体記憶装置。
  3. 前記コントローラは、前記書き込み動作の際に、
    前記第4メモリセルに対する前記第1書き込みの後に、前記第2メモリセルに対する前記第2書き込みを実行する、
    請求項1に記載の半導体記憶装置。
  4. それぞれのゲートが前記第1ワード線に接続された第5及び第6メモリセルと、
    ゲートが前記第2ワード線に接続され、一端が前記第5メモリセルの一端に接続された第7メモリセルと、
    ゲートが前記第2ワード線に接続され、一端が前記第6メモリセルの一端に接続された第8メモリセルと、
    前記第7メモリセルの他端に接続された第3選択トランジスタと、
    前記第8メモリセルの他端に接続された第4選択トランジスタと、
    をさらに備え、
    前記コントローラは、前記書き込み動作の際に、
    前記第1メモリセルに対する前記第1書き込みと、前記第2メモリセルに対する前記第1書き込みと、前記第5メモリセルに対する前記第1書き込みと、前記第6メモリセルに対する前記第1書き込みとを順に実行した後に、前記第3メモリセルに対する前記第1書き込みを実行する、
    請求項1に記載の半導体記憶装置。
  5. 前記第1書き込みにおいて、選択されたワード線には第1プログラムパルスが複数回印加され、前記第1プログラムパルスの電圧は前記第1プログラムパルスの印加毎に第1電圧から第2電圧ずつ増加し、
    前記第2書き込みにおいて、選択されたワード線には第2プログラムパルスが複数回印加され、前記第2プログラムパルスの電圧は前記第2プログラムパルスの印加毎に第3電圧から第4電圧ずつ増加し、
    前記第1電圧は前記第3電圧よりも高く、
    前記第2電圧は前記第4電圧よりも高い、
    請求項4に記載の半導体記憶装置。
  6. 前記コントローラは、前記書き込み動作の際に、
    前記第1書き込みを指示する第1コマンドと第1データとを含む第1コマンドセットを外部から受け取ると、前記第3メモリセルに対する前記第1書き込みを実行し、
    前記第2書き込みを指示する第2コマンドと第2データとを含む第2コマンドセットを外部から受け取ると、前記第1メモリセルに対する前記第2書き込みを実行する、
    請求項1に記載の半導体記憶装置。
  7. 前記コントローラは、前記書き込み動作の際に、
    前記第1コマンドセットを外部から受け取る前に、前記第1コマンドと前記第2データとを含む第3コマンドセットを外部から受け取ると、前記第1メモリセルに対する前記第1書き込みを実行する、
    請求項6に記載の半導体記憶装置。
  8. 前記第3メモリセルの他端と、前記第1選択トランジスタとの間に接続された第9メモリセルと、
    前記第4メモリセルの他端と、前記第2選択トランジスタとの間に接続された第10メモリセルと、
    前記第7メモリセルの他端と、前記第3選択トランジスタとの間に接続された第11メモリセルと、
    前記第8メモリセルの他端と、前記第4選択トランジスタとの間に接続された第12メモリセルと、
    前記第9乃至第12メモリセルのそれぞれのゲートに接続され、前記第2ワード線の隣に設けられた第3ワード線と、
    をさらに備え、
    前記コントローラは、前記書き込みの動作の際に、
    前記第6メモリセルに対する前記第2書き込みを実行した後に、前記第9メモリセルに対する前記第1書き込みを実行する、
    請求項4に記載の半導体記憶装置。
  9. 第1乃至第4メモリセルと、
    一端が前記第1メモリセルの一端に接続された第5メモリセルと、
    一端が前記第2メモリセルの一端に接続された第6メモリセルと、
    一端が前記第3メモリセルの一端に接続された第7メモリセルと、
    一端が前記第4メモリセルの一端に接続された第8メモリセルと、
    前記第5メモリセルの他端に接続された第1選択トランジスタと、
    前記第6メモリセルの他端に接続された第2選択トランジスタと、
    前記第7メモリセルの他端に接続された第3選択トランジスタと、
    前記第8メモリセルの他端に接続された第4選択トランジスタと、
    前記第1乃至第4メモリセルのそれぞれのゲートに接続された第1ワード線と、
    前記第5乃至第8メモリセルのそれぞれのゲートに接続された第2ワード線と、
    第1書き込みと、第2書き込みとを実行するコントローラと、
    を備え、
    前記コントローラは、書き込み動作の際に、
    前記第1メモリセルに対する前記第1書き込みと、前記第2メモリセルに対する前記第1書き込みと、前記第3メモリセルに対する前記第1書き込みと、前記第4メモリセルに対する前記第1書き込みと、前記第5メモリセルに対する前記第1書き込みと、前記第1メモリセルに対する前記第2書き込みとを順に実行する、半導体記憶装置。
  10. 前記第1書き込みにおいて、選択されたワード線には第1プログラムパルスが複数回印加され、前記第1プログラムパルスの電圧は前記第1プログラムパルスの印加毎に第1電圧から第2電圧ずつ増加し、
    前記第2書き込みにおいて、選択されたワード線には第2プログラムパルスが複数回印加され、前記第2プログラムパルスの電圧は前記第2プログラムパルスの印加毎に第3電圧から第4電圧ずつ増加し、
    前記第1電圧は前記第3電圧よりも高く、
    前記第2電圧は前記第4電圧よりも高い、
    請求項9に記載の半導体記憶装置。
  11. 前記コントローラは、前記書き込み動作の際に、
    前記第1メモリセルに対する前記第2書き込みの後に、前記第6メモリセルに対する前記第1書き込みを実行する、
    請求項9に記載の半導体記憶装置。
  12. 前記コントローラは、前記書き込み動作の際に、
    前記第6メモリセルに対する前記第1書き込みの後に、前記第2メモリセルに対する前記第2書き込みを実行する、
    請求項11に記載の半導体記憶装置。
  13. 前記コントローラは、前記書き込み動作の際に、
    前記第1書き込みを指示する第1コマンドと第1データとを含むコマンドセットを外部から受け取ると、前記第1メモリセルに対する前記第1書き込みを実行し、
    前記第2書き込みを指示する第2コマンドと前記第1データとを含むコマンドセットを外部から受け取ると、前記第1メモリセルに対する前記第2書き込みを実行する、
    請求項9に記載の半導体記憶装置。
  14. 前記第5メモリセルの他端と前記第1選択トランジスタとの間に接続された第9メモリセルと、
    前記第6メモリセルの他端と前記第2選択トランジスタとの間に接続された第10メモリセルと、
    前記第7メモリセルの他端と前記第3選択トランジスタとの間に接続された第11メモリセルと、
    前記第8メモリセルの他端と前記第4選択トランジスタとの間に接続された第12メモリセルと、
    前記第9乃至第12メモリセルのそれぞれのゲートに接続され、前記第2ワード線の隣に設けられた第3ワード線と、
    をさらに備え、
    前記コントローラは、前記書き込みの動作の際に、
    前記第4メモリセルに対する前記第2書き込みを実行した後に、前記第9メモリセルに対する前記第1書き込みを実行する、
    請求項9に記載の半導体記憶装置。
JP2017248313A 2016-09-13 2017-12-25 半導体記憶装置 Active JP6297201B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662393744P 2016-09-13 2016-09-13
US62/393,744 2016-09-13
US15/459,542 2017-03-15
US15/459,542 US10593398B2 (en) 2016-09-13 2017-03-15 Semiconductor storage device including a controller configured to execute a first write and a second write

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017171304A Division JP6293964B1 (ja) 2016-09-13 2017-09-06 メモリシステム

Publications (2)

Publication Number Publication Date
JP6297201B2 true JP6297201B2 (ja) 2018-03-20
JP2018045757A JP2018045757A (ja) 2018-03-22

Family

ID=61560220

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017171304A Active JP6293964B1 (ja) 2016-09-13 2017-09-06 メモリシステム
JP2017248313A Active JP6297201B2 (ja) 2016-09-13 2017-12-25 半導体記憶装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017171304A Active JP6293964B1 (ja) 2016-09-13 2017-09-06 メモリシステム

Country Status (2)

Country Link
US (5) US10593398B2 (ja)
JP (2) JP6293964B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10762955B2 (en) 2018-09-14 2020-09-01 Toshiba Memory Corporation Memory system

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10704950B2 (en) 2017-06-05 2020-07-07 Yazaki Corporation Liquid level detecting device
US10417086B2 (en) * 2017-08-11 2019-09-17 Winbond Electronics Corp. Data write method and memory storage device using the same
JP6967959B2 (ja) * 2017-12-08 2021-11-17 キオクシア株式会社 メモリシステムおよび制御方法
KR102480464B1 (ko) * 2017-12-20 2022-12-23 에스케이하이닉스 주식회사 메모리 컨트롤러, 메모리 컨트롤러를 포함하는 메모리 시스템, 및 메모리 컨트롤러의 동작 방법
JP2019139824A (ja) * 2018-02-09 2019-08-22 東芝メモリ株式会社 メモリシステム
US10515700B2 (en) * 2018-02-27 2019-12-24 Toshiba Memory Corporation Semiconductor storage device and memory system
US10943651B2 (en) 2018-08-03 2021-03-09 Toshiba Memory Corporation Semiconductor memory device, memory system, and write method
US11621039B2 (en) 2018-08-03 2023-04-04 Kioxia Corporation Semiconductor memory device, memory system, and write method
US10740188B2 (en) * 2018-12-07 2020-08-11 Winbond Electronics Corp. Volatile memory device and method for efficient bulk data movement, backup operation in the volatile memory device
JP2022510720A (ja) * 2018-12-10 2022-01-27 長江存儲科技有限責任公司 フラッシュメモリのマルチパスプログラミングのための先読み技法
JP2020095767A (ja) * 2018-12-13 2020-06-18 キオクシア株式会社 半導体記憶装置
JP7213712B2 (ja) 2019-02-14 2023-01-27 キオクシア株式会社 不揮発性半導体記憶装置
US10825526B1 (en) * 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer
JP7449179B2 (ja) 2019-09-12 2024-03-13 キオクシア株式会社 メモリシステム
JP2021044044A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
KR20210034999A (ko) * 2019-09-23 2021-03-31 에스케이하이닉스 주식회사 Aim 장치 및 aim 장치에서의 곱셈-누산 연산 방법
US20210306006A1 (en) 2019-09-23 2021-09-30 SK Hynix Inc. Processing-in-memory (pim) devices
KR20210081641A (ko) * 2019-12-24 2021-07-02 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11314427B2 (en) * 2020-08-21 2022-04-26 Micron Technology, Inc. Memory device with enhanced data reliability capabilities
US11437104B2 (en) * 2020-09-08 2022-09-06 Western Digital Technologies, Inc. Storage system and method for a hybrid quad-level cell (QLC) write scheme for reduced random access memory (RAM) footprint
US11868662B2 (en) * 2022-05-24 2024-01-09 Western Digital Technologies, Inc. Storage system and method for hybrid mapping

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263229A (ja) 1995-03-23 1996-10-11 Hitachi Ltd 半導体記憶装置
JP4113166B2 (ja) * 2004-07-20 2008-07-09 株式会社東芝 半導体記憶装置
JP4768298B2 (ja) 2005-03-28 2011-09-07 株式会社東芝 不揮発性半導体記憶装置
JP4679490B2 (ja) 2005-11-11 2011-04-27 株式会社東芝 半導体記憶装置
JP5142478B2 (ja) * 2006-04-13 2013-02-13 株式会社東芝 半導体記憶装置
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US8264884B2 (en) * 2006-09-12 2012-09-11 Spansion Israel Ltd Methods, circuits and systems for reading non-volatile memory cells
KR100856292B1 (ko) * 2006-09-29 2008-09-03 주식회사 하이닉스반도체 플래시 메모리 소자 및 프로그램 방법
JP5142692B2 (ja) 2007-12-11 2013-02-13 株式会社東芝 不揮発性半導体記憶装置
JP2009238874A (ja) 2008-03-26 2009-10-15 Toshiba Corp 半導体メモリ及びその製造方法
JP2009266944A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
JP5283960B2 (ja) 2008-04-23 2013-09-04 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2010199235A (ja) 2009-02-24 2010-09-09 Toshiba Corp 不揮発性半導体記憶装置
KR101635504B1 (ko) * 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
KR20110092090A (ko) 2010-02-08 2011-08-17 삼성전자주식회사 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
JP2011192827A (ja) * 2010-03-15 2011-09-29 Toshiba Corp Nand型不揮発性半導体記憶装置
JP2011204304A (ja) * 2010-03-25 2011-10-13 Toshiba Corp データ記憶装置、及びその書き込み方法
JP2012048791A (ja) 2010-08-27 2012-03-08 Toshiba Corp 多値不揮発性半導体メモリシステム
JP2012069205A (ja) 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
JP2013089082A (ja) * 2011-10-19 2013-05-13 Toshiba Corp メモリコントローラ、半導体記憶システムおよびメモリ制御方法
JP2013122804A (ja) 2011-12-12 2013-06-20 Toshiba Corp 半導体記憶装置
JP2013254537A (ja) * 2012-06-06 2013-12-19 Toshiba Corp 半導体記憶装置及びコントローラ
US8984369B2 (en) 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US9349489B2 (en) * 2013-01-11 2016-05-24 Sandisk Technologies Inc. Systems and methods to update reference voltages in response to data retention in non-volatile memory
US20150006784A1 (en) * 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
JP6139370B2 (ja) * 2013-10-17 2017-05-31 株式会社東芝 不揮発性半導体記憶装置
JP6262063B2 (ja) * 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
JP2015204126A (ja) * 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US9659636B2 (en) * 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
WO2016028717A1 (en) * 2014-08-17 2016-02-25 Aplus Flash Technology, Inc Vsl-based vt-compensation and analog program scheme for nand array without csl
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
US9881674B2 (en) * 2014-12-11 2018-01-30 Micron Technology, Inc. Sequential write and sequential write verify in memory device
US9595319B2 (en) * 2015-04-24 2017-03-14 Peter Wung Lee Partial/full array/block erase for 2D/3D hierarchical NAND
TWI575531B (zh) * 2015-08-10 2017-03-21 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10762955B2 (en) 2018-09-14 2020-09-01 Toshiba Memory Corporation Memory system

Also Published As

Publication number Publication date
JP2018045757A (ja) 2018-03-22
US11069403B2 (en) 2021-07-20
US20200176055A1 (en) 2020-06-04
US11557339B2 (en) 2023-01-17
US20240046985A1 (en) 2024-02-08
US11837284B2 (en) 2023-12-05
US10593398B2 (en) 2020-03-17
US20180075902A1 (en) 2018-03-15
US20230081358A1 (en) 2023-03-16
US20210295909A1 (en) 2021-09-23
JP6293964B1 (ja) 2018-03-14
JP2018045754A (ja) 2018-03-22

Similar Documents

Publication Publication Date Title
JP6297201B2 (ja) 半導体記憶装置
US11238925B2 (en) Semiconductor memory device and memory system
US11158645B2 (en) Semiconductor memory device
JP2019057352A (ja) メモリシステム
JP2019057350A (ja) 半導体メモリ
JP2020071843A (ja) メモリシステム
US20190295634A1 (en) Memory system
TWI677880B (zh) 半導體記憶裝置及記憶體系統
US11183243B2 (en) Semiconductor storage device and memory system
JP2019160379A (ja) 半導体記憶装置及びメモリシステム
US11081183B2 (en) Memory system and control method of memory system for controlling of first and second writing operations
JP2018142390A (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180111

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180111

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180117

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180220

R150 Certificate of patent or registration of utility model

Ref document number: 6297201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350