JP2020071843A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP2020071843A
JP2020071843A JP2018207754A JP2018207754A JP2020071843A JP 2020071843 A JP2020071843 A JP 2020071843A JP 2018207754 A JP2018207754 A JP 2018207754A JP 2018207754 A JP2018207754 A JP 2018207754A JP 2020071843 A JP2020071843 A JP 2020071843A
Authority
JP
Japan
Prior art keywords
write
mode
memory system
memory
data
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.)
Granted
Application number
JP2018207754A
Other languages
English (en)
Other versions
JP7128088B2 (ja
Inventor
嘉和 竹山
Yoshikazu Takeyama
嘉和 竹山
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
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2018207754A priority Critical patent/JP7128088B2/ja
Priority to US16/557,886 priority patent/US10878917B2/en
Publication of JP2020071843A publication Critical patent/JP2020071843A/ja
Application granted granted Critical
Publication of JP7128088B2 publication Critical patent/JP7128088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • 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
    • 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/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】メモリシステムにおけるシーケンシャル書き込みの動作速度の低下を抑制する。【解決手段】実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロックBLKを複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックBLKは、第1ブロックBLK2を含む。第1ブロックBLK2に含まれたメモリセルトランジスタは、第1期間において第1ビット数のデータを記憶し、第1期間の後の第2期間において第1ビット数よりも多い第2ビット数のデータを記憶する。【選択図】図11

Description

実施形態は、メモリシステムに関する。
データを不揮発に記憶することが可能なNAND型フラッシュメモリが知られている。
特開2014−203467号公報
メモリシステムにおけるシーケンシャル書き込みの動作速度の低下を抑制する。
実施形態のメモリシステムは、半導体記憶装置と、メモリコントローラとを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロックを複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックは、第1ブロックを含む。第1ブロックに含まれたメモリセルトランジスタは、第1期間において第1ビット数のデータを記憶し、第1期間の後の第2期間において第1ビット数よりも多い第2ビット数のデータを記憶する。
第1実施形態に係るメモリシステムのブロック図。 第1実施形態に係るメモリシステムの備える半導体記憶装置のブロック図。 第1実施形態に係るメモリシステムの備える半導体記憶装置に含まれたメモリセルアレイの回路図。 第1実施形態に係るメモリシステムにおけるメモリセルトランジスタの閾値電圧の分布の一例を示す閾値分布図。 第1実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。 第1実施形態に係るメモリシステムの書き込み動作で使用される書き込みモードの組み合わせの一例を示すテーブル。 第1実施形態に係るメモリシステムのバッファ書き込み動作の一例を示すコマンドシーケンス及びタイミングチャート。 第1実施形態に係るメモリシステムのバッファ読み出し動作の一例を示すコマンドシーケンス及びタイミングチャート。 第1実施形態に係るメモリシステムのコンパクション書き込み動作の一例を示すコマンドシーケンス及びタイミングチャート。 第1実施形態に係るメモリシステムにおける第1期間の書き込み動作の書き込み対象ブロックの一例を示す模式図。 第1実施形態に係るメモリシステムにおける第2期間の書き込み動作の書き込み対象ブロックの一例を示す模式図。 第1実施形態の比較例におけるメモリセルアレイのブロック構成を示すブロック図。 第1実施形態の比較例におけるバッファ書き込み動作において書き込みデータの容量がバッファ容量を超えた場合の動作の一例を示す模式図。 第2実施形態に係るメモリシステムのブロック図。 第2実施形態に係るメモリシステムの書き込み動作の一例を示すフローチャート。 第2実施形態に係るメモリシステムにおける書き込みモード毎のW/E回数の一例を示すテーブル。 第2実施形態に変形例に係るメモリシステムにおける書き込みモード毎のW/E回数の一例を示すテーブル。 第3実施形態に係るメモリシステムにおける書き込みモード毎の連続書き込み回数及びW/E回数の一例を示すテーブル。 第1実施形態の変形例に係る半導体記憶装置のコンパクション書き込み動作におけるメモリセルトランジスタの閾値電圧の分布の一例を示す閾値分布図。
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。“H”レベルとは、nチャネルMOSトランジスタがオン状態になり、pチャネルMOSトランジスタがオフ状態になる電圧のことを示している。“L”レベルとは、pチャネルMOSトランジスタがオン状態になり、nチャネルMOSトランジスタがオフ状態になる電圧のことを示している。
尚、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付す。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同様に、参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために使用される。同じ文字又は数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素はそれぞれ文字又は数字のみを含んだ参照符号により参照される。
[1]第1実施形態
第1実施形態に係るメモリシステム1は、例えばSSD(Solid State Drive)であり、データを不揮発に保持することが出来る。以下に、第1実施形態に係るメモリシステム1について説明する。
[1−1]構成
[1−1−1]メモリシステム1の全体構成について
図1は、第1実施形態に係るメモリシステム1の構成例を示している。図1に示すように、第1実施形態に係るメモリシステム1は、外部のホスト機器2に接続され、ホスト機器2からの命令に応じて各種動作を実行し得る。また、第1実施形態に係るメモリシステム1は、例えば半導体記憶装置10A及び10B、DRAM(Dynamic Random Access Memory)20、並びにメモリコントローラ30を含んでいる。
半導体記憶装置10A及び10Bのそれぞれは、データを不揮発に記憶するNAND型フラッシュメモリである。メモリシステム1に含まれる半導体記憶装置10の個数は、任意の個数に設計され得る。半導体記憶装置10の詳細な構成については後述する。
DRAM20は、メモリコントローラ30の記憶領域として使用される揮発性メモリである。DRAM20は、例えばホスト機器2から受信した書き込みデータを一時的に記憶する。DRAM20は、メモリコントローラ30やホスト機器2等に内蔵されても良い。
メモリコントローラ30は、例えばSoC(System on Chip)であり、ホスト機器2からの命令に応答して半導体記憶装置10A及び10Bのそれぞれに対して読み出し、書き込み、及び消去等を命令する。また、メモリコントローラ30は、例えばCPU(Central Processing Unit)31、RAM(Random Access Memory)32、ホストインターフェイス回路33、ECC(Error Correction Code)回路34、NANDインターフェイス回路35、及びDRAMインターフェイス回路36を含んでいる。
CPU31は、メモリコントローラ30全体の動作を制御する。CPU31は、例えばホスト機器2から受信した書き込み命令に応答して、書き込みコマンドを発行する。また、CPU31は、例えばウェアレベリング等、半導体記憶装置10のメモリ空間を管理するための様々な処理を実行する。
RAM32は、例えばSRAM(Static Random Access Memory)等の揮発性メモリである。RAM32は、CPU31の作業領域として使用され、例えば半導体記憶装置10を管理するためのファームウェアや各種管理テーブル等を保持する。
ホストインターフェイス回路33は、ホストバスを介してホスト機器2と接続され、メモリコントローラ30及びホスト機器2間のデータ、コマンド、及びアドレスの転送を制御する。ホストインターフェイス回路33は、例えばSATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)(登録商標)等の通信インターフェイス規格をサポートし得る。
ECC回路34は、データのエラー訂正処理を実行する。書き込み動作時においてECC回路34は、ホスト機器2から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時においてECC回路34は、半導体記憶装置10から受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーを検出及び訂正する。
NANDインターフェイス回路35は、メモリコントローラ30及び半導体記憶装置10間におけるデータ、コマンド、及びアドレスの転送を制御し、半導体記憶装置10A及び10Bを独立に制御し得る。NANDインターフェイス回路35は、NANDインターフェイス規格をサポートしている。
DRAMインターフェイス回路36は、DRAM20に接続され、メモリコントローラ30とDRAM20との間の通信を司る。DRAMインターフェイス回路36は、DRAMインターフェイス規格をサポートしている。
[1−1−2]半導体記憶装置10の構成について
図2は、第1実施形態に係るメモリシステム1の備える半導体記憶装置10の構成例を示している。図2に示すように、半導体記憶装置10は、例えば入出力回路11、レジスタセット12、ロジックコントローラ13、シーケンサ14、レディ/ビジー制御回路15、電圧生成回路16、メモリセルアレイ17、ロウデコーダモジュール18、及びセンスアンプモジュール19を含んでいる。
入出力回路11は、例えば8ビット幅の入出力信号I/O1〜I/O8を、メモリコントローラ30との間で送受信する。入出力信号I/Oは、データDAT、ステータス情報STS、アドレス情報ADD、コマンドCMD等を含み得る。また、入出力回路11は、センスアンプモジュール19との間でデータDATを送受信する。
レジスタセット12は、ステータスレジスタ12A、アドレスレジスタ12B、及びコマンドレジスタ12Cを含んでいる。ステータスレジスタ12A、アドレスレジスタ12B、及びコマンドレジスタ12Cは、それぞれステータス情報STS、アドレス情報ADD、及びコマンドCMDを保持する。
ステータス情報STSは、例えばシーケンサ14の動作状態に基づいて更新される。また、ステータス情報STSは、メモリコントローラ30からの指示に基づいてステータスレジスタ12Aから入出力回路11に転送され、メモリコントローラ30に出力される。アドレス情報ADDは、入出力回路11からアドレスレジスタ12Bに転送され、例えばブロックアドレス、ページアドレス、カラムアドレス等を含み得る。コマンドCMDは、入出力回路11からコマンドレジスタ12Cに転送され、半導体記憶装置10の各種動作に関する命令を含んでいる。
ロジックコントローラ13は、メモリコントローラ30から受信した制御信号に基づいて、入出力回路11及びシーケンサ14のそれぞれを制御する。このような制御信号としては、例えばチップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、リードイネーブル信号REn、及びライトプロテクト信号WPnが使用される。
チップイネーブル信号CEnは、半導体記憶装置10をイネーブルにするための信号である。コマンドラッチイネーブル信号CLEは、受け取った入出力信号I/OがコマンドCMDであることを入出力回路11に通知するための信号である。アドレスラッチイネーブル信号ALEは、受け取った入出力信号I/Oがアドレス情報ADDであることを入出力回路11に通知するための信号である。ライトイネーブル信号WEnは、入出力信号I/Oの入力を入出力回路11に命令するための信号である。リードイネーブル信号REnは、入出力信号I/Oの出力を入出力回路11に命令するための信号である。ライトプロテクト信号WPnは、電源のオンオフ時に半導体記憶装置10を保護状態にするための信号である。
シーケンサ14は、半導体記憶装置10全体の動作を制御する。例えば、シーケンサ14は、コマンドレジスタ12Cに保持されたコマンドCMDと、アドレスレジスタ12Bに保持されたアドレス情報ADDとに基づいて、読み出し動作、書き込み動作、消去動作等を実行する。
レディ/ビジー制御回路15は、シーケンサ14の動作状態に基づいて、レディ/ビジー信号RBnを生成する。レディ/ビジー信号RBnは、半導体記憶装置10がレディ状態であるかビジー状態であるかを、メモリコントローラ30に通知するための信号である。尚、本明細書において“レディ状態”は、半導体記憶装置10がメモリコントローラからの命令を受け付ける状態であることを示し、“ビジー状態”は、半導体記憶装置10がメモリコントローラからの命令を受け付けない状態であることを示している。
電圧生成回路16は、読み出し動作、書き込み動作、消去動作等で使用される電圧を生成する。そして、電圧生成回路16は、生成した電圧をメモリセルアレイ17、ロウデコーダモジュール18、及びセンスアンプモジュール19に供給する。
メモリセルアレイ17は、複数のブロックBLK0〜BLKn(nは1以上の整数)を含んでいる。ブロックBLKは、データを不揮発に記憶することが可能な複数のメモリセルトランジスタの集合であり、例えばデータの消去単位として使用される。また、メモリセルアレイ17には、複数のビット線BL0〜BLm(mは1以上の整数)と、複数のワード線WLと、ソース線CELSRCと、ウェル線とが設けられる。例えば、ソース線CELSRCには、電圧生成回路16によって電圧が印加される。各メモリセルトランジスタは、1本のビット線BLと1本のワード線WLとに関連付けられている。メモリセルアレイ17の詳細な回路構成については後述する。
ロウデコーダモジュール18は、ブロックアドレスに基づいて、各種動作を実行するブロックBLKを選択する。そして、ロウデコーダモジュール18は、電圧生成回路16から供給された電圧を、選択したブロックBLK内の各種配線に転送する。また、ロウデコーダモジュール18は、例えば複数のロウデコーダRD0〜RDnを含んでいる。ロウデコーダRD0〜RDnは、それぞれブロックBLK0〜BLKnに関連付けられている。
センスアンプモジュール19は、読み出し動作において、メモリセルアレイ17からデータを読み出し、読み出したデータを入出力回路11に転送する。また、センスアンプモジュール19は、書き込み動作において、入出力回路11から受け取ったデータに基づいて、ビット線BLに所望の電圧を印加する。例えば、センスアンプモジュール19は、複数のセンスアンプユニットSAU0〜SAUmを含んでいる。センスアンプユニットSAU0〜SAUmは、それぞれビット線BL0〜BLmに関連付けられている。
センスアンプユニットSAUは、例えばセンスアンプ部SA、並びにラッチ回路SDL、ADL、BDL及びXDLを含んでいる。センスアンプ部SAは、例えば読み出し動作において、対応するビット線BLの電圧に基づいて、読み出しデータが“0”であるか“1”であるかを判定する。言い換えると、センスアンプ部SAは、対応するビット線BLに読み出されたデータをセンスして、選択されたメモリセルの記憶するデータを判定する。ラッチ回路SDL、ADL、BDL及びXDLのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。ラッチ回路XDLは、センスアンプユニットSAUと入出力回路11との間のデータDATの送受信に使用され得る。
[1−1−3]メモリセルアレイ17の回路構成について
図3は、第1実施形態に係るメモリシステムの備える半導体記憶装置10に含まれたメモリセルアレイ17の回路構成の一例であり、1つのブロックBLKを抽出して示している。図3に示すように、ブロックBLKは、例えば4つのストリングユニットSU0〜SU3を含んでいる。
各ストリングユニットSUは、ビット線BL0〜BLmにそれぞれ関連付けられた複数のNANDストリングNSを含んでいる。NANDストリングNSは、例えばメモリセルトランジスタMT0〜MT7、並びに選択トランジスタST1及びST2を含んでいる。
メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データを不揮発に記憶する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
各NANDストリングNSにおいて、メモリセルトランジスタMT0〜MT7は、直列接続される。直列接続されたメモリセルトランジスタMT0〜MT7の一端と、関連付けられたビット線BLとの間には、選択トランジスタST1が接続される。直列接続されたメモリセルトランジスタMT0〜MT7の他端には、選択トランジスタST2のドレインが接続される。選択トランジスタST2のソースには、ソース線CELSRC及びウェル線CPWELL(図示せず)のそれぞれが接続される。
同一のブロックBLKにおいて、ストリングユニットSU0〜SU3に含まれた複数の選択トランジスタST1のそれぞれのゲートは、それぞれ選択ゲート線SGD0〜SGD3に共通接続される。複数のメモリセルトランジスタMT0〜MT7のそれぞれの制御ゲートは、それぞれワード線WL0〜WL7に共通接続される。複数の選択トランジスタST2のそれぞれのゲートは、それぞれ選択ゲート線SGS0〜SGS3に共通接続される。
ビット線BL0〜BLmは、複数のブロックBLK間で共有される。同じカラムアドレスに対応するNANDストリングNSには、同じビット線BLが接続される。ワード線WL0〜WL7のそれぞれは、ブロックBLK毎に設けられる。ソース線CELSRC及びウェル線CPWELL(図示せず)のそれぞれは、例えば複数のブロックBLK間で共有される。
1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、例えばセルユニットCUと称される。例えば、それぞれが1ビットデータを記憶するメモリセルトランジスタMTを含むセルユニットCUの記憶容量が、「1ページデータ」として定義される。セルユニットCUは、メモリセルトランジスタMTが記憶するデータのビット数に応じて2ページデータ以上の記憶容量を有し得る。
尚、以上で説明したメモリセルアレイ17の回路構成はあくまで一例であり、これに限定されない。例えば、各ブロックBLKが含むストリングユニットSUの個数は、任意の個数に設計され得る。各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2のそれぞれの個数は、それぞれ任意の個数に設計され得る。
[1−1−4]データの記憶方式について
第1実施形態に係るメモリシステム1は、複数種類の書き込みモードを使用することが出来る。例えば、第1実施形態に係るメモリシステム1は、SLC(Single-Level Cell)モード、MLC(Multi-Level Cell)モード、TLC(Triple-Level Cell)モード、QLC(Quadruple-Level Cell)モードのうち、少なくとも2つの書き込みモードを使用する。SLCモード、MLCモード、TLCモード、及びQLCモードは、1つのメモリセルトランジスタMTに対して、それぞれ1ビットデータ、2ビットデータ、3ビットデータ、及び4ビットデータを記憶させる書き込みモードである。
図4は、第1実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの閾値電圧の分布の一例であり、SLCモード、MLCモード、TLCモード、及びQLCモードがそれぞれ使用された4種類の閾値分布及び読み出し電圧のグループを示している。尚、図4に示された閾値分布において、縦軸はメモリセルトランジスタMTの個数NMTsに対応し、横軸はメモリセルトランジスタMTの閾値電圧Vthに対応している。図4に示すように、複数のメモリセルトランジスタMTは、適用される書き込みモード、すなわち記憶するデータのビット数に応じて複数の閾値分布を形成する。
SLCモード(1bit/cell)が使用された場合、複数のメモリセルトランジスタMTの閾値電圧は2個の閾値分布を形成する。この2個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ER”状態、“A”状態と称される。SLCモードにおいて、“ER”状態、及び“A”状態のそれぞれの閾値分布には、それぞれ互いに異なる1ビットデータが割り当てられる。
MLCモード(2bit/cell)が使用された場合、複数のメモリセルトランジスタMTの閾値電圧は4個の閾値分布を形成する。この4個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ER”状態、“A”状態、“B”状態、“C”状態と称される。MLCモードにおいて、“ER”状態〜“C”状態のそれぞれの閾値分布には、それぞれ互いに異なる2ビットデータが割り当てられる。
TLCモード(3bit/cell)が使用された場合、複数のメモリセルトランジスタMTの閾値電圧は8個の閾値分布を形成する。この8個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ER”状態、“A”状態、“B”状態、“C”状態、“D”状態、“E”状態、“F”状態、“G”状態と称される。TLC方式において、“ER”状態〜“G”状態のそれぞれの閾値分布には、それぞれ互いに異なる3ビットデータが割り当てられる。
QLCモード(4bit/cell)が使用された場合、複数のメモリセルトランジスタMTの閾値電圧は16個の閾値分布を形成する。この16個の閾値分布は、例えば閾値電圧の低い方から順に、それぞれ“ER”状態、“A”状態、“B”状態、“C”状態、“D”状態、“E”状態、“F”状態、“G”状態、“H”状態、“I”状態、“J”状態、“K”状態、“L”状態、“M”状態、“N”状態、“O”状態と称される。TLC方式において、“ER”状態〜“O”状態のそれぞれの閾値分布には、それぞれ互いに異なる4ビットデータが割り当てられる。
各書き込みモードにおいて、隣り合う閾値分布の間にそれぞれ読み出し電圧が設定される。具体的には、“ER”状態における最大の閾値電圧と“A”状態における最小の閾値電圧との間に、読み出し電圧ARが設定される。同様に、“A”状態及び“B”状態間に読み出し電圧BRが設定され、“B”状態及び“C”状態間に読み出し電圧CRが設定され、“C”状態及び“D”状態間に読み出し電圧DRが設定され、“D”状態及び“E”状態間に読み出し電圧ERが設定され、“E”状態及び“F”状態間に読み出し電圧FRが設定され、“F”状態及び“G”状態間に読み出し電圧GRが設定され、“G”状態及び“H”状態間に読み出し電圧HRが設定され、“H”状態及び“I”状態間に読み出し電圧IRが設定され、“I”状態及び“J”状態間に読み出し電圧JRが設定され、“J”状態及び“K”状態間に読み出し電圧KRが設定され、“K”状態及び“L”状態間に読み出し電圧LRが設定され、“L”状態及び“M”状態間に読み出し電圧MRが設定され、“M”状態及び“N”状態間に読み出し電圧NRが設定され、“N”状態及び“O”状態間に読み出し電圧ORが設定される。
各書き込みモードにおいて、最も高い閾値分布における最大の閾値電圧よりも高い電圧に、読み出しパス電圧Vreadが設定される。読み出しパス電圧Vreadがゲートに印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオン状態になる。
また、各書き込みモードにおいて、隣り合う閾値分布の間には、それぞれベリファイ電圧が設定される。具体的には、書き込み動作において、“A”状態、“B”状態、“C”状態、“D”状態、“E”状態、“F”状態、“G”状態、“H”状態、“I”状態、“J”状態、“K”状態、“L”状態、“M”状態、“N”状態及び“O”状態のそれぞれのベリファイ動作には、それぞれベリファイ電圧AV、BV、CV、DV、EV、FV、GV、HV、IV、JV、KV、LV、MV、NV及びOVが使用される。例えば、ベリファイ電圧AV〜OVは、それぞれ読み出し電圧AR〜ORよりも高い電圧に設定される。
尚、以上で説明した1つのメモリセルトランジスタMTが記憶するデータのビット数は一例であり、これに限定されない。例えば、メモリセルトランジスタMTには、5ビットデータ以上のデータが記憶されても良い。また、読み出し電圧、読み出しパス電圧、ベリファイ電圧のそれぞれは、各書き込みモードで同じ電圧値に設定されても良いし、異なる電圧値に設定されても良い。
[1−2]動作
次に、第1実施形態に係るメモリシステム1の動作について説明する。尚、以下の説明では、選択されたワード線WLのことを選択ワード線WLselと称する。電圧生成回路16がワード線WLに電圧を印加することは、電圧生成回路16が信号線CG及びロウデコーダモジュール18を介してワード線WLに電圧を印加することに対応している。半導体記憶装置10が受信したアドレス情報ADDは、アドレスレジスタ12Bに転送されるものとする。半導体記憶装置10が受信したコマンドCMDは、コマンドレジスタ12Cに転送されるものとする。
[1−2−1]書き込み動作の概要について
まず、第1実施形態に係るメモリシステム1における書き込み動作の概要について説明する。第1実施形態に係るメモリシステム1は、ホスト機器2から受信した書き込みデータに対応して、少なくとも2回の書き込み動作を実行する。図5は、第1実施形態に係るメモリシステム1の書き込み動作におけるフローの一例を示している。
図5に示すように、まずメモリシステム1は、ホスト機器2から書き込み動作の命令と書き込みデータとを受信する(ステップS10)。すると、メモリシステム1は、受信した書き込みデータのバッファ書き込み動作を実行する(ステップS11)。バッファ書き込み動作は、半導体記憶装置10に一時的にデータを記憶させる高速な書き込み動作である。
ステップS11の処理が完了した後にホスト機器2からの命令に基づくタスクが終了すると、メモリシステム1はアイドル状態に遷移する(ステップS12)。メモリシステム1は、バッファ書き込み動作の後にアイドル状態に遷移すると、ホスト機器2からの命令に依らずにコンパクション動作を実行する(ステップS13)。コンパクション動作は、バッファ読み出し動作と、コンパクション書き込み動作とを含んでいる。バッファ読み出し動作は、バッファ書き込み動作によって書き込まれたデータを読み出す動作である。コンパクション書き込み動作は、バッファ読み出し動作によって読み出されたデータを、バッファ書き込み動作に適用された書き込みモードよりも記憶ビット数が多い書き込みモードを使用して半導体記憶装置10に書き込む動作である。
尚、図5では、メモリシステム1がアイドル状態に遷移したことに基づいてコンパクション動作に移行する場合について例示したが、これに限定されない。例えば、メモリシステム1は、バッファ書き込み動作から続けてコンパクション動作に移行しても良い。
図6は、第1実施形態に係るメモリシステム1の書き込み動作で使用される書き込みモードの組み合わせの一例であり、メモリシステム1が2種類の書き込みモードを使用する場合について示している。
図6に示すように、バッファ書き込み動作にSLCモードが使用される場合、コンパクション動作には例えばMLCモード、TLCモード、又はQLCモードが使用される。バッファ書き込み動作にMLCモードが使用される場合、コンパクション動作には例えばTLCモード又はQLCモードが使用される。バッファ書き込み動作にTLCモードが使用される場合、コンパクション動作には例えばQLCモードが使用される。
尚、メモリシステム1は、書き込み動作において3種類以上の書き込みモードを使用しても良い。この場合にメモリシステム1は、複数回のコンパクション動作を実行する。具体的には、3種類の書き込みモードが使用され且つバッファ書き込み動作にSLCモードが使用される場合、コンパクション動作には、MLCモード及びTLCモードが順に使用される、MLCモード及びQLCモードが順に使用される、又はTLCモード及びQLCモードが順に使用される。3種類の書き込みモードが使用され且つバッファ書き込み動作にMLCモードが使用される場合、コンパクション動作には、TLCモード及びQLCモードが順に使用される。4種類の書き込みモードが使用される場合、コンパクション動作には、MLCモード、TLCモード、及びQLCモードが順に使用される。
以下に、バッファ書き込み動作にSLCモードが使用され且つコンパクション動作にMLCモードが使用される場合における、バッファ書き込み動作及びコンパクション動作のそれぞれのコマンドシーケンス及びタイミングチャートの具体例について順に説明する。
(バッファ書き込み動作)
図7は、第1実施形態に係るメモリシステム1におけるSLCモードのバッファ書き込み動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。尚、以下で参照される同様の図面において、各動作前におけるレディ/ビジー信号RBnは“H”レベルであり、選択ワード線WLselの電圧はVssであるものとする。尚、選択ワード線WLselの電圧の初期値はVssに限定されず、任意の電圧値に設定され得る。
図7に示すように、SLCモードのバッファ書き込み動作において、メモリコントローラ30は、例えばコマンド“XXh”、コマンド“80h”、アドレス情報“ADD”、書き込みデータ“Din”、及びコマンド“10h”を順に半導体記憶装置10に送信する。コマンド“XXh”は、SLCモードの動作を指示するコマンドである。コマンド“80h”は、書き込み動作を指示するコマンドである。書き込みデータ“Din”は、センスアンプモジュール19内のセンスアンプユニットSAUのラッチ回路XDLに転送される。コマンド“10h”は、書き込み動作の実行を指示するコマンドである。
半導体記憶装置10は、コマンド“10h”を受信すると、レディ状態からビジー状態に遷移する。すると、シーケンサ14は、コマンドレジスタ12Cに保持されたコマンドとセンスアンプモジュール19に保持されたデータとに基づいて、SLCモードの書き込み動作を実行する。
書き込み動作においてシーケンサ14は、プログラムループを繰り返し実行する。各プログラムループは、プログラム動作及びベリファイ動作を含んでいる。ここで、初回のプログラムループにおける選択ワード線WLselの電圧を参照して、プログラム動作及びベリファイ動作について説明する。
プログラム動作は、メモリセルトランジスタMTの閾値電圧を上昇させる動作である。プログラム動作において、各センスアンプユニットSAUは、内部のラッチ回路に保持されたデータに基づいて、対応するビット線BLを書き込み対象又は書き込み禁止に設定する。そして、プログラム動作において選択ワード線WLselには、プログラム電圧Vpgmが印加される。プログラム電圧Vpgmは、メモリセルトランジスタMTの閾値電圧を上昇させることが可能な高電圧である。
選択ワード線WLselにプログラム電圧Vpgmが印加されると、選択ワード線WLselに接続され且つ書き込み対象のビット線BLに接続されたメモリセルトランジスタMTの閾値電圧が上昇する。一方で、選択ワード線WLselに接続され且つ書き込み禁止のビット線BLに接続されたメモリセルトランジスタMTの閾値電圧は、セルフブーストによって上昇が抑制される。これらの一連の動作がプログラム動作に対応している。シーケンサ14は、プログラム動作が終了すると、ベリファイ動作に移行する。
ベリファイ動作は、メモリセルトランジスタMTが所望の閾値電圧に達したかどうかを判定する読み出し動作である。ベリファイ動作では、各センスアンプユニットSAUが保持する書き込みデータに基づいて、センスアンプユニットSAU毎にベリファイされる書き込みレベルが設定される。SLCモードの書き込み動作では、ベリファイ電圧AVを用いた読み出し動作が実行される。
具体的には、選択ワード線WLselにベリファイ電圧AVが印加されると、各センスアンプユニットSAUは、対応するビット線BLの電圧に基づいて、選択ワード線WLselに接続されたメモリセルトランジスタMTの閾値電圧がベリファイ電圧AVを超えているかどうかを判定する。そして、センスアンプユニットSAUは、判定結果を内部のいずれかのラッチ回路に保持する。例えば、シーケンサ14は、“A”状態のデータが書き込まれるメモリセルトランジスタMTの閾値電圧が、ベリファイ電圧AVを超えていた場合にベリファイにパスしたと判定し、ベリファイ電圧AV以下である場合にベリファイにフェイルしたと判定する。これらの判定が終了すると、シーケンサ14はベリファイ動作を終了する。
以上で説明したプログラム動作及びベリファイ動作の組が、1回のプログラムループに対応している。続くプログラムループにおけるプログラム動作では、プログラム電圧Vpgmがステップアップされる。プログラム電圧Vpgmのステップアップ量DVpgmは、任意の値に設定され得る。そして、シーケンサ14は、プログラムループの繰り返しにおいて“A”状態のベリファイ動作にパスしていないメモリセルトランジスタMTの数が所定の数を下回ったことを検知すると、半導体記憶装置10をビジー状態からレディ状態に遷移させて、SLCモードの書き込み動作を終了する。
SLCモードの書き込み動作が終了すると、選択ワード線WLselに接続されたセルユニットCUには1ページデータが書き込まれる。図示されたtProg(SLC)は、SLCモードの書き込み動作が実行された時間に対応している。そして、コンパクション動作にMLCモードが使用される場合のバッファ書き込み動作では、以上で説明したSLCモードの書き込み動作が、異なるアドレスを指定して少なくとも2回実行される。
(コンパクション動作)
次に、コンパクション動作におけるバッファ読み出し動作及びコンパクション書き込み動作のそれぞれの一例について順に説明する。図8は、第1実施形態に係るメモリシステム1におけるSLCモードのバッファ読み出し動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。
図8に示すように、SLCモードのバッファ読み出し動作において、メモリコントローラ30は、例えばコマンド“XXh”、コマンド“00h”、アドレス情報“ADD”、及びコマンド“30h”を順に半導体記憶装置10に送信する。コマンド“00h”は、読み出し動作を指示するコマンドである。アドレス情報“ADD”は、バッファ書き込み動作が実行されたアドレスである。コマンド“30h”は、読み出し動作の実行を指示するコマンドである。
半導体記憶装置10は、コマンド“30h”を受信すると、レディ状態からビジー状態に遷移して、SLCモードの読み出し動作を実行する。SLCモードの読み出し動作では、選択ワード線WLselに読み出し電圧ARが印加され、読み出し電圧ARが印加されることで、センスアンプモジュール19内にデータが読み出され、読み出しデータが確定する。
読み出しデータが確定すると、シーケンサ14は、半導体記憶装置10をビジー状態からレディ状態に遷移させる。図示されたtRead(SLC)は、SLCモードの読み出し動作が実行された時間に対応している。メモリコントローラ30は、読み出し動作の実行を指示した後に、半導体記憶装置10がビジー状態からレディ状態に遷移したことを検知すると、半導体記憶装置10に対してセンスアンプモジュール19に保持された読み出しデータを出力させる(図8、“Dout”)。
メモリコントローラ30は、半導体記憶装置10から読み出しデータを受信すると、ECC回路34を用いてエラー訂正処理を実行する。そして、メモリコントローラ30は、エラー訂正された読み出しデータを例えばDRAM20に保持させる。尚、この読み出しデータは、メモリコントローラ30内に保持されても良い。
以上で説明したSLCモードのバッファ読み出し動作は、コンパクション動作にMLCモードが使用される場合、2回続けて実行される。連続で実行される1ページ目の読み出し動作と、2ページ目の読み出し動作とでは、メモリコントローラ30が指定するアドレス情報ADDが異なる。
次に、コンパクション書き込み動作の詳細について説明する。メモリコントローラ30は、バッファ読み出し動作によって2ページ分の読み出しデータを得ると、コンパクション書き込み動作を実行する。図9は、第1実施形態に係るメモリシステム1におけるMLCモードのコンパクション書き込み動作におけるコマンドシーケンス及びタイミングチャートの一例を示している。
図9に示すように、MLCモードのコンパクション書き込み動作において、まずメモリコントローラ30は、コマンド“YYh”、コマンド“80h”、アドレス情報“ADD”、下位ページの書き込みデータ“Din”、コマンド“1Ah”を順に半導体記憶装置10に送信する。コマンド“YYh”は、下位ページに対応する動作を指示するコマンドである。1ページ目のアドレス情報“ADD”は、対応するバッファ読み出し動作におけるアドレスとは異なっている。コマンド“1Ah”は、センスアンプモジュール19に保持されたデータのラッチ間の転送を指示するコマンドである。半導体記憶装置10は、コマンド“1Ah”を受信すると、一時的にレディ状態からビジー状態に遷移して、ラッチ回路XDLに保持された下位ページの書き込みデータをその他のラッチ回路に転送させる。
続けてメモリコントローラ30は、コマンド“ZZh”、コマンド“80h”、アドレス情報“ADD”、上位ページの書き込みデータ“Din”、コマンド“10h”を順に半導体記憶装置10に送信する。コマンド“ZZh”は、上位ページに対応する動作を指示するコマンドである。2ページ目のアドレス情報“ADD”は、例えば1ページ目のアドレス情報“ADD”と同じアドレスを含む。半導体記憶装置10は、コマンド“10h”を受信すると、レディ状態からビジー状態に遷移して、コマンドレジスタ12Cに保持されたコマンドとセンスアンプモジュール19に保持された2ページデータに基づいて、MLCモードの書き込み動作を実行する。
MLCモードの書き込み動作では、複数の書き込みレベルが設定され、SLCモードの書き込み動作と同様のプログラムループが実行される。そして、MLCモードの書き込み動作におけるベリファイ動作では、複数種類のベリファイ電圧が印加され得る。また、ベリファイ動作において印加されるベリファイ電圧の種類及び数は、プログラムループの進行に応じて適宜変更され得る。図9に示された一例では、シーケンサ14が、1回目及び2回目のプログラムループにおけるベリファイ動作で“A”状態のベリファイ動作を実行し、3回目及び4回目のプログラムループにおけるベリファイ動作で“A”状態及び“B”状態のそれぞれのベリファイ動作を実行している。
シーケンサ14は、各プログラムループにおいて、例えばある閾値レベルに書き込むメモリセルトランジスタMTのうち、当該閾値レベルのベリファイにパスしていないメモリセルトランジスタMTの数が所定の数を下回ったことを検知すると、当該閾値レベルのベリファイにパス、すなわち当該閾値レベルに対応するデータの書き込みが完了したものとみなす。シーケンサ14は、プログラムループの繰り返しにより、例えば全ての閾値レベルのベリファイにパスしたことを検知すると、MLCモードの書き込み動作を終了する。
MLCモードの書き込み動作が終了すると、選択ワード線WLselに接続されたセルユニットCUには2ページデータが書き込まれる。図示されたtProg(MLC)は、MLCモードの書き込み動作が実行された時間に対応している。tProg(MLC)の長さは、tProg(SLC)よりも長い。
以上で説明したコンパクション動作、すなわちバッファ読み出し動作とコンパクション書き込み動作の組が実行されると、2つのセルユニットCUに記憶された2ページデータが1つのセルユニットCUに記憶される。言い換えると、例えば2BLK分のデータのバッファ書き込みが実行された場合、バッファ書き込みによって書き込まれた2BLK分のデータが、コンパクション動作によって1BLK分のデータに圧縮されて記憶される。
尚、SLCモードの書き込み動作における初回のプログラム電圧Vpgmと、MLCモードの書き込み動作における初回のプログラム電圧Vpgmとは異なっていても良い。同様に、SLCモードの書き込み動作におけるステップアップ量DVpgmと、MLCモードの書き込み動作におけるステップアップ量DVpgmとは異なっていても良い。これは、その他の書き込みモードの書き込み動作についても同様である。
コンパクション動作において、バッファ読み出し動作とコンパクション書き込み動作とは、必ずしも最小単位で交互に実行されなくても良い。例えば、MLCモードが使用されるコンパクション動作においてメモリコントローラ30は、バッファ読み出し動作を連続で実行することにより所定量のページデータを取得してからコンパクション書き込み動作を連続で実行しても良い。
以上の説明では、バッファ読み出し動作においてECC回路34がエラー訂正処理を実行する場合について例示したが、これに限定されない。例えば、メモリコントローラ30は、半導体記憶装置10に対して複数回のバッファ読み出し動作で読み出したデータをセンスアンプモジュール19内の異なるラッチ回路に保持させ、メモリコントローラ30へのデータ出力を伴わずにコンパクション書き込み動作を実行させても良い。
[1−2−2]書き込み動作におけるブロックBLKの割り当てについて
第1実施形態に係るメモリシステム1は、全てのブロックBLKを、バッファ書き込みとコンパクション動作との両方に使用することが出来る。つまり、第1実施形態に係るメモリシステム1において、各ブロックBLKは、異なる書き込みモードが使用された書き込み動作が実行され得る。以下に、具体例として、ブロックBLK単位でバッファ書き込み動作及びコンパクション動作が実行され、バッファ書き込みにSLCモードが使用され、コンパクション書き込み動作にMLCモードが使用される場合について説明する。
図10及び図11は、第1実施形態に係るメモリシステム1の書き込み動作における書き込み対象ブロックの一例を示している。図10は、第1期間に実行される書き込み動作に対応し、図11は、第1期間よりも後の第2期間に実行される書き込み動作に対応している。尚、本例では、説明を簡単にするために、メモリセルアレイ17が8個のブロックBLK0〜BLK7を含み、各期間においてホスト機器2が4BLK分のデータのシーケンシャル書き込みをメモリシステム1に命令するものと仮定する。
まず、第1期間に実行される書き込み動作について説明する。図10に示すように、メモリシステム1は、ホスト機器2から4BLK分の書き込みデータを受信すると、バッファ書き込み動作を実行する。このバッファ書き込み動作においてメモリシステム1は、SLCモードの書き込み動作を例えばブロックBLK0〜BLK3に対して順に実行する。その結果、ブロックBLK0〜BLK3に含まれた各セルユニットCUには、1ページデータが書き込まれる。
その後、メモリシステム1がアイドル状態に移行すると、メモリシステム1はコンパクション動作を実行する。このコンパクション動作においてメモリシステム1は、バッファ読み出し動作によってブロックBLK0及びBLK1から合計2BLK分のデータを読み出し、読み出した2BLK分のデータをMLCモードのコンパクション書き込み動作によってブロックBLK4に記憶させる。同様に、メモリシステム1は、バッファ読み出し動作によってブロックBLK2及びBLK3から合計2BLK分のデータを読み出し、読み出した2BLK分のデータをMLCモードのコンパクション書き込み動作によってブロックBLK5に記憶させる。その結果、ブロックBLK4及びBLK5に含まれた各セルユニットCUには、2ページデータが書き込まれる。
次に、第2期間に実行される書き込み動作について説明する。尚、第2期間では、第1期間においてブロックBLK2〜BLK7に書き込まれたデータが予め消去されているものとする。図11に示すように、メモリシステム1は、ホスト機器2から4BLK分の書き込みデータを受信すると、バッファ書き込み動作を実行する。このバッファ書き込み動作においてメモリシステム1は、SLCモードの書き込み動作を例えばブロックBLK4〜BLK7に対して順に実行する。その結果、ブロックBLK4〜BLK7に含まれた各セルユニットCUには、1ページデータが書き込まれる。
その後、メモリシステム1がアイドル状態に移行すると、メモリシステム1はコンパクション動作を実行する。このコンパクション動作においてメモリシステム1は、バッファ読み出し動作によってブロックBLK4及びBLK5から合計2BLK分のデータを読み出し、読み出した2BLK分のデータをMLCモードのコンパクション書き込み動作によってブロックBLK2に記憶させる。同様に、メモリシステム1は、バッファ読み出し動作によってブロックBLK6及びBLK7から合計2BLK分のデータを読み出し、読み出した2BLK分のデータをMLCモードのコンパクション書き込み動作によってブロックBLK3に記憶させる。その結果、ブロックBLK2及びBLK3に含まれた各セルユニットCUには、2ページデータが書き込まれる。
以上のように、第1期間では、ブロックBLK0〜BLK3のそれぞれに対してSLCモードでデータが書き込まれ、ブロックBLK4及びBLK5のそれぞれに対してMLCモードでデータが書き込まれる。一方で、第1期間よりも後の第2期間では、ブロックBLK4〜BLK7のそれぞれに対してSLCモードでデータが書き込まれ、ブロックBLK2及びBLK3のそれぞれに対してMLCモードでデータが書き込まれる。
つまり、本例において、ブロックBLK2及びBLK3のそれぞれは、第1期間の処理によってSLCモードで書き込まれたデータを保持し、第2期間の処理によってMLCモードで書き込まれたデータを保持している。言い換えると、ブロックBLK2及びBLK3に含まれたセルユニットCUは、SLCモードで1ページデータを記憶した後に、MLCモードで2ページデータを記憶している。
尚、以上の説明では、バッファ書き込みにSLCモードが使用され、コンパクション書き込み動作にMLCモードが使用された場合について例示したが、これに限定されない。バッファ書き込み動作及びコンパクション動作は、例えば図6に示された組み合わせでも実行され得る。つまり、第1実施形態に係るメモリシステム1において、あるブロックBLK内のセルユニットCUは、異なる期間において異なる書き込みモードが使用され、異なるビット数のデータを記憶し得る。
[1−3]第1実施形態の効果
以上で説明した第1実施形態に係るメモリシステム1に依れば、メモリシステム1のシーケンシャル書き込みの動作速度の低下を抑制することが出来る。以下に、第1実施形態に係るメモリシステム1における詳細な効果について説明する。
SSD等のメモリシステムに要求される性能の一つとして、シーケンシャル書き込みの動作速度が挙げられる。シーケンシャル書き込みとは、メモリシステムがホスト機器から受け取った書き込みデータを連続で書き込む動作に相当する。シーケンシャル書き込みの動作速度を向上させる方法としては、SSDがホスト機器から受け取った書き込みデータをまず高速なSLCモードの書き込み動作でバッファ領域に書き込むことが考えられる。
図12は、第1実施形態の比較例におけるメモリセルアレイのブロック構成を示している。図12に示すように、比較例におけるメモリセルアレイは、8個のブロックBLK0〜BLK7を含んでいる。そして、比較例におけるメモリセルアレイでは、ブロックBLK0〜BLK5が記憶領域として割り当てられ、ブロックBLK6及びBLK7がバッファ領域として割り当てられている。つまり、比較例におけるメモリセルアレイでは、コンパクション動作の対象とされる記憶領域と、バッファ書き込み動作の対象とされるバッファ領域とのそれぞれが固定されて設けられている。
図13は、第1実施形態の比較例におけるメモリセルアレイに対して、図10と同様の条件でバッファ書き込み動作を実行した場合における動作の一例を示している。図13に示すように、比較例においてホスト機器から4BLK分の書き込みデータを受信すると、メモリシステムは、まずバッファ領域であるブロックBLK6及びBLK7に対するSLCモードのバッファ書き込み動作を実行する。
ブロックBLK6及びBLK7に対して2BLK分のデータを書き込んだ後、メモリコントローラには2BLK分の書き込みデータが残る。しかしながら、メモリセルアレイ内にバッファ領域が残されていないため、SSDは、残りの書き込みデータについて記憶領域を用いた書き込み動作を実行する。つまり、バッファ領域の記憶容量を超えた分のデータ、すなわちバッファ容量をオーバーフローした書き込みデータは、記憶領域に適用された書き込みモードで書き込まれる。
本例では、オーバーフローした2BLK分の書き込みデータが、MLCモードでブロックBLK0に書き込まれる。MLCモードにおける書き込み動作速度は、SLCモードにおける書き込み動作速度よりも遅い。このため、ホスト機器からは、SSDのシーケンシャル書き込みの動作速度が低下したように見える。シーケンシャル書き込みの動作速度が低下すると、メモリシステムのレイテンシが低下する等の影響も生じ得る。
そこで、第1実施形態に係るメモリシステム1は、バッファ領域と記憶領域とを固定せずに、全てのブロックBLKをバッファ領域として利用可能な構成を有している。つまり、第1実施形態に係るメモリシステム1では、全てのブロックBLKの記憶容量に基づいて、バッファとして利用可能な記憶容量が決定される。
その結果、第1実施形態に係るメモリシステム1では、大容量の書き込みデータを受信した場合においても、書き込みデータの総量がバッファ容量をオーバーフローすることが抑制され得る。従って、第1実施形態に係るメモリシステム1は、シーケンシャル書き込みの動作速度の低下を抑制することが出来、メモリシステム1のレイテンシ低下を抑制することが出来る。
また、第1実施形態に係るメモリシステム1は、仮にブロックBLKの総数が比較例におけるメモリセルアレイと同じであった場合に、記憶領域として利用可能な容量が比較例よりも大きくなる。つまり、第1実施形態に係るメモリシステム1は、シーケンシャル書き込みの動作速度の低下を抑制しつつ、メモリシステム1の記憶容量を大きくすることが出来る。
尚、第1実施形態の説明では、全てのブロックBLKがバッファ書き込みとコンパクション動作の対象となる場合について例示したが、これに限定されない。例えば、ユーザがアクセスすることが出来ない記憶領域には、複数種類の書き込みモードが使用されなくても良い。また、半導体記憶装置10には、ユーザがアクセスすることが出来る記憶領域において、バッファ書き込み動作用の記憶領域とコンパクション動作用の記憶領域とが設けられても良い。第1実施形態に係るメモリシステム1には、少なくとも複数種類の書き込みモードが使用されるブロックBLKが含まれていれば良い。
[2]第2実施形態
第2実施形態に係るメモリシステム1は、第1実施形態で説明した複数の書き込みモードに対応するW/E回数を記憶するテーブルを有し、当該テーブルに基づいてウェアレベリング制御を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
[2−1]メモリシステム1の構成について
図14は、第2実施形態に係るメモリシステム1の構成例を示している。図14に示すように、第2実施形態に係るメモリシステム1は、第1実施形態に係るメモリシステム1に対して、W/Eテーブル21が追加された構成を有する。第2実施形態に係るメモリシステム1のその他の構成は、第1実施形態と同様である。
W/Eテーブル21は、例えばメモリセルアレイ17に含まれたブロックBLK毎の、SLCモードの書き込み及び消去が実行された回数(W/E回数)と、MLCモードのW/E回数と、各書き込みモードのW/E回数の合計とを保持する。例えば対応する書き込みモードの書き込み動作が実行された際に、CPU31はW/E回数を更新する。W/Eテーブル21に保持されたW/E回数は、CPU31が書き込み動作を実行する際に参照される。本動作の詳細については後述する。
W/Eテーブル21は、例えばDRAM20に保持される。これに限定されず、W/Eテーブル21は、メモリコントローラ30内に保持されても良い。W/Eテーブル21のデータは、メモリシステム1の電源オフ時において半導体記憶装置10に待避される。そして、W/Eテーブル21のデータは、メモリシステム1の電源オン時において半導体記憶装置10から読み出され、DRAM20等に展開される。
尚、W/Eテーブル21は、半導体記憶装置10毎に設けられても良いし、1つのテーブルで複数の半導体記憶装置10に含まれたブロックBLKのW/E回数が管理されても良い。1つのテーブルで複数の半導体記憶装置10に含まれたブロックBLKのW/E回数が管理される場合、W/Eテーブル21には半導体記憶装置10のアドレスに関するパラメータが追加される。
[2−2]書き込み動作について
第2実施形態に係るメモリシステム1は、第1実施形態で説明したバッファ書き込み動作とコンパクション書き込み動作とを実行する際に、W/Eテーブル21を参照してウェアレベリング制御を実行する。ウェアレベリング制御とは、メモリコントローラ30がW/E回数が少ないブロックBLKに対して優先的に書き込みを実行する方法である。
図15は、第2実施形態に係るメモリシステム1の書き込み動作におけるフローの一例を示している。図15に示すように、メモリコントローラ30のCPU31は、書き込み動作を開始するとW/Eテーブル21を参照する(ステップS20)。そして、CPU31は、W/Eテーブル21に基づいて合計W/E回数の少ないブロックBLKを抽出し、合計W/E回数の少ないブロックBLKから書き込み先のブロックBLKを決定する(ステップS21)。それから、CPU31は、決定したブロックBLKを指定して書き込みコマンドを含むコマンドセットを発行し、半導体記憶装置10に対して書き込み動作の実行を命令する(ステップS22)。
図16は、第2実施形態に係るメモリシステム1におけるW/Eテーブル21の一例であり、2種類の書き込みモードが使用される場合について例示している。図16に示すように、W/Eテーブル21は、ブロックBLK0〜BLKnのそれぞれに対応して、SLCモードのW/E回数と、MLCモードのW/E回数と、各モードのW/E回数の合計とを保持している。
図16に示された一例では、ブロックBLK0及びBLK1のそれぞれの合計W/E回数に72回、ブロックBLK2及びBLK3のそれぞれの合計W/E回数に54回、ブロックBLKnの合計W/E回数に30回が記録されている。この場合にウェアレベリング制御が実行されると、最も合計W/E回数が少ないブロックBLKnに対して優先的に書き込みが実行される。例えば、ブロックBLKnが有効なデータを保持している場合には、次に合計W/E回数が少ないブロックBLK2及びBLK3のいずれかが選択され得る。
バッファ書き込み動作にSLCモードが使用され、コンパクション書き込み動作にMLCモードが使用された場合、2回のSLCモードの書き込み動作に対して、1回のMLCモードの書き込み動作が実行される。このため、同じブロックBLKにおけるW/E回数の関係は、SLCモードよりもMLCモードの方が少なくなることが好ましい。理想的には、CPU31は、W/E回数の比率がSLCモード:MLCモード=2:1になるようにウェアレベリング制御することが好ましい。
以上の説明では、W/Eテーブル21がSLCモードのW/E回数とMLCモードのW/E回数とを保持する場合について例示したが、これに限定されない。W/Eテーブル21が保持するW/E回数のデータは、第1実施形態で説明したバッファ書き込み動作に使用される書き込みモードと、コンパクション動作で使用される書き込み動作の種類及び数に基づいて変化する。
図17は、第2実施形態に係るメモリシステム1におけるW/Eテーブル21の一例であり、4種類の書き込みモードが使用される場合について例示している。図17に示すように、W/Eテーブル21は、ブロックBLK0〜BLKnのそれぞれに対応して、SLCモードのW/E回数と、MLCモードのW/E回数と、TLCモードのW/E回数と、QLCモードのW/E回数各モードのW/E回数の合計とを保持している。
図17に示された一例では、ブロックBLK0及びBLK1のそれぞれの合計W/E回数に100回、ブロックBLK2及びBLK3のそれぞれの合計W/E回数に75回、ブロックBLKnの合計W/E回数に50回が記録されている。この場合にウェアレベリング制御が実行されると、最も合計W/E回数が少ないブロックBLKnに対して優先的に書き込みが実行される。例えば、ブロックBLKnが有効なデータを保持している場合には、次に合計W/E回数が少ないブロックBLK2及びBLK3のいずれかが選択され得る。
バッファ書き込み動作にSLCモードが使用され、コンパクション書き込み動作にMLCモード、TLCモード、及びQLCモードのそれぞれが使用された場合、12回のSLCモードの書き込み動作に対して、6回のMLCモードの書き込み動作が実行され、4回のTLCモードの書き込み動作が実行され、3回のQLCモードの書き込み動作が実行される。このため、同じブロックBLKにおけるW/E回数の関係は、SLCモード、MLCモード、TLCモード、QLCモードの順に少なくなることが好ましく、理想的には、CPU31は、W/E回数の比率がSLCモード:MLCモード:TLCモード:QLCモード=12:6:4:3になるようにウェアレベリング制御することが好ましい。この関係は、メモリシステム1が書き込み動作に2種類又は3種類の書き込みモードを使用する場合についても同様である。
以上のように、第2実施形態に係るメモリシステム1では、バッファ書き込み動作とコンパクション動作に使用される書き込みモードの組み合わせに応じて、適宜W/Eテーブル21の構成が変化する。そして、使用される書き込みモードの組み合わせに基づいて、ウェアレべリング制御の方法が適宜変更される。ウェアレベリング制御における各書き込みモードのW/E回数の関係は、各書き込みモードを用いて所定の容量のデータを書き込む際の書き込み回数に基づいて決定される。
尚、以上で説明したウェアレベリング制御の方法はあくまで一例であり、これに限定されない。ウェアレベリング制御の方法は、少なくともメモリセルアレイ17に含まれたブロックBLK間でW/E回数が所定の誤差範囲内で一定になるように制御されていれば良く、任意の方法が適用され得る。ウェアレベリング制御は、合計W/E回数だけでなく、各書き込みモードのW/E回数に基づいて実行されても良い。
[2−3]第2実施形態の効果
以上のように、第2実施形態に係るメモリシステム1は、第1実施形態で説明したバッファ書き込み動作とコンパクション書き込み動作とのそれぞれを実行する際に、複数の書き込みモードのW/E回数が記録されたW/Eテーブル21に基づいたウェアレベリング制御を実行する。具体的には、第2実施形態に係るメモリシステム1は、例えばブロックBLK毎に記録された合計W/E回数によってウェアレベリング制御を実行する。
これにより、第2実施形態に係るメモリシステム1では、第1実施形態と同様の効果に加えて、メモリセルトランジスタMTの疲弊をブロックBLK間で略平均化することが出来る。つまり、第2実施形態に係るメモリシステム1は、シーケンシャル書き込みの動作速度の低下を抑制しつつ、記憶するデータの信頼性の低下を抑制することが出来る。
また、第1実施形態において使用される複数の書き込みモードは、メモリセルトランジスタMTに与える影響が異なることも考えられる。例えば、図7を用いて説明したSLCモードの書き込み動作と、図9を用いて説明したMLCモードの書き込み動作とでは、選択ワード線WLselに印加されるプログラム電圧Vpgmの回数や最大値が異なり、MLCモードの方がメモリセルトランジスタMTの疲弊が大きくなることが想定され得る。
つまり、バッファ書き込み動作とコンパクション書き込み動作とに適用される書き込みモードの組み合わせと、各書き込み動作に対応するW/E回数とによって、メモリセルトランジスタMTの疲弊度に差が生じ得る。このため、疲弊度のバリエーションに合わせたメモリセルトランジスタMTの信頼性の見積もりをすることが好ましい。
これに対して、第2実施形態に係るメモリシステム1は、W/Eテーブル21の合計W/E回数を参照してウェアレベリング制御するだけでなく、ブロックBLK毎の各書き込みモード間のW/E回数が一定比率に近くなるように制御することも可能である。これにより、第2実施形態に係るメモリシステム1は、メモリセルトランジスタMTの疲弊をよりブロックBLK間で略平均化することが出来る。
尚、以上で説明した第2実施形態で説明されたウェアレベリング制御によって更新されるW/Eテーブル21は、W/E回数の制限にも使用され得る。例えば、W/E回数の制限が最も厳しい書き込みモード(例えばQLCモード)に合わせてW/E回数の制限が設定される。これにより、第2実施形態に係るメモリシステム1では、メモリセルトランジスタMTの疲弊度を一定の基準で見積もることが出来、記憶するデータの信頼性を担保することが出来る。
[3]第3実施形態
第3実施形態に係るメモリシステム1は、第2実施形態に係るメモリシステム1と同様の構成を有し、第2実施形態で説明したウェアレベリング制御における書き込み順番の制御方法の具体例に関する。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
[3−1]書き込み動作について
(第1の例)
第3実施形態におけるウェアレベリング制御の第1の例において、CPU31は、同一のブロックBLKに対する同一の書き込みモードの連続使用に閾値を設ける。図18は、第3実施形態に係るメモリシステム1におけるW/Eテーブル21の一例である。図18に示すように、第3実施形態の第1の例におけるW/Eテーブル21は、図16を用いて説明したW/Eテーブル21に対して、SLCモードの連続書き込み回数と、MLCモードの連続書き込み回数とのそれぞれの情報をさらに含んでいる。
連続書き込み回数は、CPU31によって適宜更新される。例えば、同じ書き込みモードが使用された書き込み動作が実行された場合に、対応する書き込みモードの連続書き込み回数の数値がインクリメントされ、異なる書き込みモードが使用された書き込み動作が実行された場合に、各書き込みモードの連続書き込み回数の数値がリセットされる。
このように、第1の例では、例えばW/Eテーブル21にブロックBLK毎の各書き込みモードの連続書き込み回数が記録される。そして、CPU31は、書き込み動作時にW/Eテーブル21の連続書き込み回数を参照し、連続書き込み回数の数値に基づいてウェアレベリング制御を実行する。
具体的には、例えばSLCモードの連続書き込み回数が“4”以上になったブロックBLKは、次の書き込みモードで優先的にMLCモードの書き込みが実行される。尚、連続書き込み回数の閾値として使用される数値は、任意の数値に設定され得る。第1の例におけるウェアレベリング制御は、その他の書き込みモードの組み合わせにおいても適用され得る。連続書き込み回数の情報は、W/Eテーブル21と異なるテーブルによって管理されても良い。
(第2の例)
第3実施形態におけるウェアレベリング制御の第2の例において、CPU31は、各ブロックBLKに設定されたW/E回数の合計の制限値における書き込みモードの使用順番を任意の順番に設定する。例えば、同一のブロックBLKへの書き込み動作において、CPU31は、SLCモード、MLCモード、TLCモード、QLCモードの順番に使用するようにウェアレベリング制御する。
より具体的には、あるブロックBLKにおけるW/E回数の合計の制限値が1000回に設定され、4種類の書き込みモードが使用される場合、例えばCPU31は、最初にSLCモードの書き込み動作を480回実行し、次にMLCモードの書き込み動作を240回実行し、次にTLCモードの書き込み動作を160回実行し、最後にQLCモードの書き込み動作を120回実行する。
(第3の例)
第3実施形態におけるウェアレベリング制御の第3の例は第2の例の変形例であり、CPU31が、各書き込みモードの実行回数を最終的に所望の数値になるように制御する。例えば、同一のブロックBLKへの書き込み動作において、CPU31は、SLCモード、MLCモード、SLCモード、TLCモード、MLCモード、QLCモード、TLCモード、QLCモードの順番に使用するようにウェアレベリング制御する。
より具体的には、あるブロックBLKにおけるW/E回数の合計の制限値が1000回に設定され、4種類の書き込みモードが使用される場合、例えばCPU31は、最初にSLCモードの書き込み動作を384回実行し、次にMLCモードの書き込み動作を192回実行し、次にSLCモードの書き込み動作を96回実行し、次にTLCモードの書き込み動作を128回実行し、次にMLCモードの書き込み動作を48回実行し、次にQLCモードの書き込み動作を96回実行し、次にTLCモードの書き込み動作を32回実行し、最後にQLCモードの書き込み動作を24回実行する。
以上で説明した第3実施形態の第2の例と第3の例とにおける各書き込みモードの実行回数は、任意の数値に設定され得る。CPU31は、各書き込みモードの実行回数が、少なくともSLCモード、MLCモード、TLCモード、QLCモードの順番に小さくなるようにウェアレベリング制御すれば良い。また、W/E回数の合計の制限値は、任意の値に設定され得る。書き込みモードの使用順番は、使用される書き込みモードの種類及び数に応じて適宜変更され得る。
[3−2]第3実施形態の効果
メモリセルトランジスタMTの疲弊度は、各書き込みモードが使用される順番によっても異なる可能性がある。そこで、第3実施形態に係るメモリシステム1は、各書き込みモードの実行順番に偏りが生じないようにウェアレベリング制御を実行する。
第3実施形態の第1の例では、同一のブロックBLKに対して連続で同一の書き込みモードが使用されることが抑制される。その結果、メモリシステム1は、各ブロックBLKにおける各書き込みモードのW/E回数の偏りを抑制することが出来る。
第3実施形態の第2の例及び第3の例のそれぞれでは、同一のブロックBLKに対して適用される書き込みモードの順番が固定される。その結果、メモリシステム1は、各ブロックBLKにおける疲弊の進行を略平均化することが出来る。
[4]その他の変形例等
実施形態のメモリシステムは、半導体記憶装置<例えば図1中の符号10>と、メモリコントローラ<例えば図1中の符号30>とを含む。半導体記憶装置は、複数のメモリセルトランジスタを含むブロック<例えば図2におけるBLK>を複数含む。メモリコントローラは、半導体記憶装置を制御する。複数のブロックは、第1ブロックを含む。第1ブロックに含まれたメモリセルトランジスタは、第1期間において第1ビット数のデータを記憶し<例えば図12におけるBLK2>、第1期間の後の第2期間において第1ビット数よりも多い第2ビット数のデータを記憶する<例えば図13におけるBLK2>。これにより、実施形態に係るメモリシステムでは、シーケンシャル書き込みの動作速度の低下を抑制することが出来る。
上記実施形態では、W/Eテーブル21がブロックBLK単位でW/E回数を記録する場合について例示したが、W/E回数の記録単位は任意の単位に設計され得る。例えば、W/Eテーブル21には、複数の書き込みモードのそれぞれに対応するW/E回数がセルユニットCU単位で記録されても良い。
上記実施形態では、同じ半導体記憶装置10内でバッファ書き込み動作とコンパクション書き込み動作とが実行される場合について例示したが、バッファ書き込み動作が実行される半導体記憶装置10とコンパクション書き込み動作が実行される半導体記憶装置10とは異なっていても良い。
上記実施形態では、同じブロックBLK内のメモリセルトランジスタMTに対して全て同じ書き込みモードが使用される場合について例示したが、同じブロックBLK内には、異なる書き込みモードが使用されたセルユニットCUが混在していても良い。例えば、信頼性が劣ると推測される位置のメモリセルトランジスタMTに対しては、その他のメモリセルトランジスタMTよりもビット数が少ない書き込みモードが適用される。
上記実施形態におけるコンパクション書き込み動作では、2ページ以上の書き込みデータが1回の書き込み動作で1つのセルユニットCUに書き込まれる場合について例示したが、これに限定されない。コンパクション書き込み動作においてメモリシステム1は、2ページ以上の書き込みデータを2段階以上の書き込み動作によってセルユニットCUに書き込んでも良い。以下に、2段階の書き込み動作が使用され、且つ書き込みモードにTLCモードが使用される場合のコンパクション書き込み動作の一例について説明する。
メモリシステム1は、第1実施形態で図4を用いて説明した8個の閾値分布を形成する前に、例えば1ページの書き込みデータを用いて大まかな書き込み動作(第1段階の書き込み)を実行し、2個の閾値分布を形成する。その後、メモリシステム1は、3ページの書き込みデータを用いて大まかに書き込まれたセルユニットCUに対して精密な書き込み動作(第2段階の書き込み)を実行し、8個の閾値分布を形成する。第2段階の書き込みにおいて、第1段階の書き込みで使用された書き込みデータは重複している。このため、メモリコントローラ30は、第2段階の書き込みにおいて、重複する書き込みデータを再び半導体記憶装置10に送信する、又は第1段階の書き込みで書き込まれたデータの読み出しを半導体記憶装置10に指示する。
図19は、本例におけるメモリセルトランジスタMTの閾値分布の変化の一例を示している。具体的には、図19(a)は、書き込み前(消去状態)のメモリセルトランジスタMTの閾値分布を示し、図19(b)は、第1段階の書き込み後のメモリセルトランジスタMTの閾値分布を示し、図19(c)は、第2段階の書き込み後のメモリセルトランジスタMTの閾値分布を示している。
メモリシステム1は、第1段階の書き込みによって、図19(a)に示された“ER”状態の閾値分布から、図19(b)に示された“ER”状態と“LM”状態の閾値分布を形成する。その後、メモリシステム1は、第2段階の書き込みによって、図19(b)に示された“ER”状態の閾値分布から、図19(c)に示された“ER”状態、“A”状態、“B”状態、及び“C”状態の閾値分布を形成し、図19(b)に示された“LM”状態の閾値分布から、図19(c)に示された“D”状態、“E”状態、“F”状態、及び“G”状態の閾値分布を形成する。
“LM”状態に含まれたメモリセルトランジスタMTは、例えば“A”状態以上且つ“D”状態以下の閾値電圧を有している。具体的には、“LM”状態に含まれたメモリセルトランジスタMTの閾値電圧は、例えば“A”状態における最小の閾値電圧と、“D”状態における最大の閾値電圧との間に設定される。
そして、“ER”状態及び“LM”状態間に読み出し電圧LMRが設定され、“LM”状態に対応してベリファイ電圧LMVが設定される。具体的には、読み出し電圧LMRは、“Z”状態の閾値電圧と、“LM”状態における最小の閾値電圧との間に設定される。ベリファイ電圧LMVは、“ER”状態における最大の閾値電圧と“LM”状態における最小の閾値電圧との間、且つ“E”状態の近傍に設定される。第1段階の書き込み後且つ第2段階の書き込み前の読み出しパス電圧Vreadは、“LM”状態における最大の閾値電圧よりも高い電圧に設定される。尚、“LM”状態に含まれたメモリセルトランジスタMTの閾値電圧は、使用される書き込みモードに基づいて適宜変更され得る。
以上で説明した2段階の書き込み動作は、第2及び第3実施形態のそれぞれにも適用することが可能である。また、メモリシステム1は、2段階の書き込み動作にTLCモード以外の書き込みモードを使用することも可能である。
尚、2段階の書き込み動作の方法は、図19を用いて説明した方法に限定されない。例えば、メモリシステム1は、3ページの書き込みデータを用いた第1段階の書き込み動作により大まかに8個の閾値分布を形成した後に、隣接セルの書き込みを実行する。その後、メモリシステム1は、同じ3ページの書き込みデータを用いた第2段階の書き込み動作によって精密な8個の閾値分布を形成しても良い。この動作は、その他の書き込みモードについても適用可能である。
上記実施形態において、“コマンドセット”とは、ある動作に対応するコマンド及びアドレス情報のグループのことを示している。半導体記憶装置10は、メモリコントローラ30からコマンドセットを受信すると、当該コマンドセットに基づいて動作を開始する。書き込み説明に使用された各コマンドは、任意のコマンドに置き換えることが可能である。コマンドセットの構成は、任意の構成に設計され得る。例えば、コマンド“00h”や“80h”の前に挿入されるコマンドは、省略されても良い。
本明細書において、“データセット”とは、1ページ以上で構成されるデータのグループのことを示している。“ビット数”は、書き込みモードの種類を説明するために使用され得る。例えば、メモリシステム1は、第1ビット数の書き込みモードを使用してバッファ書き込み動作を実行し、第1ビット数よりも大きい第2ビット数の書き込みモードを使用してコンパクション書き込み動作を実行する。第1ビット数が1ビットである場合、当該書き込みモードはSLCモードに対応し、第2ビット数が2ビットである場合、当該書き込みモードはMLCモードに対応する。この関係は、その他のビット数と書き込みモードについても同様である。
上記実施形態におけるメモリセルアレイ17は、その他の構成であっても良い。その他のメモリセルアレイ17の構成については、例えば“三次元積層不揮発性半導体メモリ”という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号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、2…ホスト機器、10…半導体記憶装置、11…入出力回路、12…レジスタセット、12A…ステータスレジスタ、12B…アドレスレジスタ、12C…コマンドレジスタ、13…ロジックコントローラ、14…シーケンサ、15…レディ/ビジー制御回路、16…電圧生成回路、17…メモリセルアレイ、18…ロウデコーダモジュール、19…センスアンプモジュール、20…DRAM、30…メモリコントローラ
、31…CPU、32…RAM、33…ホストインターフェイス回路、34…ECC回路
、35…NANDインターフェイス回路、36…DRAMインターフェイス回路、BLK…ブロック、SU…ストリングユニット、MT…メモリセルトランジスタ、ST…選択トランジスタ、BL…ビット線、WL…ワード線、SGD…選択ゲート線、RD…ロウデコーダ、SAU…センスアンプユニット

Claims (14)

  1. 複数のメモリセルトランジスタを含むブロックを複数含む半導体記憶装置と、
    前記半導体記憶装置を制御するメモリコントローラと、を備え、
    前記複数のブロックは、第1ブロックを含み、
    前記第1ブロックに含まれたメモリセルトランジスタは、第1期間において第1ビット数のデータを記憶し、前記第1期間の後の第2期間において前記第1ビット数よりも多い第2ビット数のデータを記憶する、
    メモリシステム。
  2. 外部のホスト機器から第1データセットを受信すると、前記メモリコントローラは、
    前記第1ビット数の書き込みモードを使用した複数回の第1書き込み動作を前記半導体記憶装置に実行させ、
    前記複数回の第1書き込み動作によって書き込まれた第1データセットの読み出し動作を前記半導体記憶装置に実行させ、
    前記読み出し動作によって読み出された第1データセットを用いて、前記第2ビット数の書き込みモードを使用した第2書き込み動作を前記半導体記憶装置に実行させる、
    請求項1に記載のメモリシステム。
  3. 前記メモリコントローラは、前記第1期間に前記第1ブロックが選択された前記第1書き込み動作を実行し、前記第1期間と前記第2期間との間に前記第1ブロックが選択された消去動作を実行し、前記第2期間に前記第1ブロックが選択された前記第2書き込み動作を実行する、
    請求項2に記載のメモリシステム。
  4. 前記メモリコントローラは、前記読み出し動作と前記第2書き込み動作とのそれぞれを前記ホスト機器の指示に依らずに自発的に実行する、
    請求項2に記載のメモリシステム。
  5. 前記メモリコントローラは、前記メモリセルトランジスタに1ビットデータを記憶させる第1書き込みモードと、前記メモリセルトランジスタに2ビットデータを記憶させる第2書き込みモードと、前記メモリセルトランジスタに3ビットデータを記憶させる第3書き込みモードと、前記メモリセルトランジスタに4ビットデータを記憶させる第4書き込みモードとのうち、少なくとも2つの書き込みモードを使用可能であり、
    前記第1書き込み動作に、前記第1書き込みモード、前記第2書き込みモード、及び前記第3書き込みモードのいずれかを使用し、
    前記第2書き込み動作に、前記第2書き込みモード、前記第3書き込みモード、及び前記第4書き込みモードのいずれかを使用する、
    請求項2に記載のメモリシステム。
  6. 前記複数のブロック毎の、前記第1ビット数の書き込みモードを使用した第1書き込み動作が実行された第1の回数と、前記第2ビット数の書き込みモードを使用した第2書き込み動作が実行された第2の回数と、を記憶するテーブルをさらに備え、
    前記メモリコントローラは、前記テーブルに基づいてウェアレベリング制御を実行する、
    請求項1に記載のメモリシステム。
  7. 前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数が前記第2の回数よりも多くなるように制御する、
    請求項6に記載のメモリシステム。
  8. 前記第1ビット数は1ビットであり、前記第2ビット数は2ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略2:1になるように制御する、
    請求項7に記載のメモリシステム。
  9. 前記第1ビット数は1ビットであり、前記第2ビット数は3ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略3:1になるように制御する、
    請求項7に記載のメモリシステム。
  10. 前記第1ビット数は1ビットであり、前記第2ビット数は2ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略4:1になるように制御する、
    請求項7に記載のメモリシステム。
  11. 前記第1ビット数は2ビットであり、前記第2ビット数は3ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略3:2になるように制御する、
    請求項7に記載のメモリシステム。
  12. 前記第1ビット数は2ビットであり、前記第2ビット数は3ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略3:2になるように制御する、
    請求項7に記載のメモリシステム。
  13. 前記第1ビット数は3ビットであり、前記第2ビット数は4ビットであり、
    前記ウェアレベリング制御において、前記メモリコントローラは、前記複数のブロック毎に、前記第1の回数と前記第2の回数の比率が略4:3になるように制御する、
    請求項7に記載のメモリシステム。
  14. 前記メモリセルトランジスタは、前記第2期間の後の第3期間において前記第2ビット数よりも多い第3ビット数のデータを記憶し、前記第3期間の後の第4期間において前記第3ビット数よりも多い第4ビット数のデータを記憶する
    請求項1に記載のメモリシステム。
JP2018207754A 2018-11-02 2018-11-02 メモリシステム Active JP7128088B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018207754A JP7128088B2 (ja) 2018-11-02 2018-11-02 メモリシステム
US16/557,886 US10878917B2 (en) 2018-11-02 2019-08-30 Memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018207754A JP7128088B2 (ja) 2018-11-02 2018-11-02 メモリシステム

Publications (2)

Publication Number Publication Date
JP2020071843A true JP2020071843A (ja) 2020-05-07
JP7128088B2 JP7128088B2 (ja) 2022-08-30

Family

ID=70458899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018207754A Active JP7128088B2 (ja) 2018-11-02 2018-11-02 メモリシステム

Country Status (2)

Country Link
US (1) US10878917B2 (ja)
JP (1) JP7128088B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7220317B1 (ja) 2022-02-08 2023-02-09 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびプログラム方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102645786B1 (ko) * 2019-07-08 2024-03-12 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20210132253A (ko) * 2020-04-24 2021-11-04 삼성전자주식회사 메모리 장치
KR20220022355A (ko) 2020-08-18 2022-02-25 삼성전자주식회사 멀티 페이지 데이터를 프로그램하기 위한 불휘발성 메모리 장치의 동작 방법
US11934675B2 (en) * 2020-09-12 2024-03-19 Western Digital Technologies, Inc. Mixed mode block cycling for intermediate data
JP2022146531A (ja) * 2021-03-22 2022-10-05 キオクシア株式会社 メモリシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259797A1 (en) * 2008-04-10 2009-10-15 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
JP2010518546A (ja) * 2007-02-16 2010-05-27 モサイド・テクノロジーズ・インコーポレーテッド ダイナミックマルチモード動作を有する不揮発性メモリ
US20160260489A1 (en) * 2015-03-02 2016-09-08 Cheon An LEE Nonvolatile memory device, storage device having the same, and operation method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11176178A (ja) 1997-12-15 1999-07-02 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
KR20130060791A (ko) 2011-11-30 2013-06-10 삼성전자주식회사 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브
JP6104676B2 (ja) 2013-04-01 2017-03-29 株式会社東芝 メモリシステム、制御システムおよび寿命予測方法
KR102140512B1 (ko) * 2013-10-16 2020-08-03 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 시스템 및 불휘발성 메모리 시스템의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010518546A (ja) * 2007-02-16 2010-05-27 モサイド・テクノロジーズ・インコーポレーテッド ダイナミックマルチモード動作を有する不揮発性メモリ
US20090259797A1 (en) * 2008-04-10 2009-10-15 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
US20160260489A1 (en) * 2015-03-02 2016-09-08 Cheon An LEE Nonvolatile memory device, storage device having the same, and operation method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7220317B1 (ja) 2022-02-08 2023-02-09 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびプログラム方法
JP2023115463A (ja) * 2022-02-08 2023-08-21 ウィンボンド エレクトロニクス コーポレーション 半導体装置およびプログラム方法
TWI831357B (zh) * 2022-02-08 2024-02-01 華邦電子股份有限公司 半導體裝置及編程方法

Also Published As

Publication number Publication date
US10878917B2 (en) 2020-12-29
JP7128088B2 (ja) 2022-08-30
US20200143891A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
JP6297201B2 (ja) 半導体記憶装置
US11238925B2 (en) Semiconductor memory device and memory system
JP7128088B2 (ja) メモリシステム
US10573394B2 (en) Memory system
US11170857B2 (en) Semiconductor memory device that performs successive tracking reads during an operation to read one page
US8107287B2 (en) Method of programming nonvolatile memory device
JP6088751B2 (ja) 半導体メモリ
US10360974B2 (en) Non-volatile semiconductor memory in which data writing to cell groups is controlled using plural program pulses
CN107146639B (zh) 半导体存储装置及存储器系统
US10957405B2 (en) Memory system configured to update write voltage applied to memory cells based on number of write or erase operations
JP2019200826A (ja) 半導体記憶装置
US10726911B2 (en) Memory system
US20200013470A1 (en) Memory system and non-volatile semiconductor memory
US11967379B2 (en) Memory device
JP2020009509A (ja) 半導体記憶装置
US8363479B2 (en) Nonvolatile semiconductor memory device
JP2021044033A (ja) 半導体記憶装置
JP2019160379A (ja) 半導体記憶装置及びメモリシステム
US20210082513A1 (en) Memory system and control method of memory system
JP2014078306A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220701

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: 20220719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220818

R151 Written notification of patent or utility model registration

Ref document number: 7128088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151