JP6453729B2 - 半導体記憶装置及びメモリシステム - Google Patents

半導体記憶装置及びメモリシステム Download PDF

Info

Publication number
JP6453729B2
JP6453729B2 JP2015160623A JP2015160623A JP6453729B2 JP 6453729 B2 JP6453729 B2 JP 6453729B2 JP 2015160623 A JP2015160623 A JP 2015160623A JP 2015160623 A JP2015160623 A JP 2015160623A JP 6453729 B2 JP6453729 B2 JP 6453729B2
Authority
JP
Japan
Prior art keywords
cache
data
signal
command
page
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
JP2015160623A
Other languages
English (en)
Other versions
JP2017041287A (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
Priority to JP2015160623A priority Critical patent/JP6453729B2/ja
Priority to CN201610134603.XA priority patent/CN106469569B/zh
Priority to TW105107384A priority patent/TWI655538B/zh
Priority to US15/181,227 priority patent/US10140059B2/en
Priority to EP16180324.2A priority patent/EP3133494B1/en
Priority to EP19204049.1A priority patent/EP3620929A1/en
Publication of JP2017041287A publication Critical patent/JP2017041287A/ja
Application granted granted Critical
Publication of JP6453729B2 publication Critical patent/JP6453729B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/08Address circuits; Decoders; Word-line control 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/32Timing 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/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
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)

Description

実施形態は、半導体記憶装置及びメモリシステムに関する。
半導体記憶装置としてNAND型フラッシュメモリが知られている。
特開2004−192789号公報
処理能力を向上できる半導体記憶装置及びメモリシステムを提供する。
実施形態に係るメモリシステムは、半導体記憶装置とコントローラとを備える。コントローラは、第1乃至第4ページ及び第1乃至第4ページにそれぞれ対応する第1乃至第4アドレス信号を半導体記憶装置に送信可能である。半導体記憶装置は、各々の第1及び第2ビットに第1及び第2ページを記憶可能な複数の第1メモリセルを含む第1メモリセルアレイと、各々の第1及び第2ビットに第3及び第4ページをそれぞれ記憶可能な複数の第2メモリセルを含む第2メモリセルアレイと、第1メモリセルアレイに接続された第1センスアンプと、第2メモリセルアレイに接続された第2センスアンプと、第1センスアンプに接続され、コントローラから送信される第1及び第2ページの1つを保持可能な第1キャッシュと、第1センスアンプ及び第1キャッシュに接続され、第1キャッシュから転送される第1ページを保持可能な第2キャッシュと、第1センスアンプ及び第1キャッシュに接続され、第1キャッシュから転送される第2ページを保持可能な第3キャッシュと、第2センスアンプに接続され、コントローラから送信される第3及び第4ページの1つを保持可能な第4キャッシュと、第2センスアンプ及び第4キャッシュに接続され、第4キャッシュから転送される第3ページを保持可能な第5キャッシュと、第2センスアンプ及び第4キャッシュに接続され、第4キャッシュから転送される第4ページを保持可能な第6キャッシュと、コントローラから受信した第1乃至第4アドレス信号に基づいて第1及び第2センスアンプに第1乃至第4信号を送信するアドレスバッファとを含む。アドレスバッファは、第1アドレス信号を受信した場合、第1信号を第1論理レベルとし、第2信号を第2論理レベルとし、第2アドレス信号を受信した場合、第1及び第2信号を第1論理レベルとし、第3アドレス信号を受信した場合、第3信号を第1論理レベルとし、第4信号を第2論理レベルとし、第4アドレス信号を受信した場合、第3及び第4信号を第1論理レベルとする。第1センスアンプは、第1及び第2信号に基づいて、第2キャッシュまたは第3キャッシュを選択し、第2センスアンプは、第3及び第4信号に基づいて、第5キャッシュまたは第6キャッシュを選択する。
図1は、第1実施形態に係るメモリシステムのブロック図である。 図2は、第1実施形態に係る半導体記憶装置のブロック図である。 図3は、第1実施形態に係る半導体記憶装置のコア部のブロック図である。 図4は、第1実施形態に係る半導体記憶装置におけるメモリセルトランジスタが2ビットのデータを保持可能な場合の閾値分布図である。 図5は、第1実施形態に係るメモリシステムにおけるコントローラから半導体記憶装置にデータを送信する際の各種信号のタイミングチャートである。 図6は、第1実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図7は、第1実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図8は、第2実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図9は、第2実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図10は、第3実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図11は、第3実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図12は、第4実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図13は、第4実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図14は、第5実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図15は、第5実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図16は、第6実施形態に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図17は、第6実施形態に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図18は、第1変形例に係るメモリシステムのブロック図である。 図19は、第1変形例に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図20は、第2変形例に係るメモリシステムにおけるデータ書き込み時の各種信号のタイミングチャートとセンスユニットにおけるデータの保持状態とを示す図である。 図21は、第2変形例に係る半導体記憶装置における各種制御信号の論理状態を示す図である。 図22は、第7実施形態に係る三次元積層型不揮発性半導体記憶装置の回路構成を示すブロック図である。 図23は、第7実施形態に係るメモリセルアレイのブロック図である。 図24は、ブロックBLK0の回路図である。他のブロックBLKも同様の構成を有している。 図25は、NANDストリングの断面図である。 図26(a)は、第7実施形態に係るメモリセルトランジスタMTの閾値分布の初期状態を示す。図26(b)は、下位ビット書込み完了後の第7実施形態に係るメモリセルトランジスタMTの閾値分布を示す。図26(c)は、上位ビット書込み、または2ビットプログラム完了後の第7実施形態に係るメモリセルトランジスタMTの閾値分布を示す。 図27は、第7実施形態に係る書込み動作のフローチャートである。 図28は、第7実施形態に係る書込み動作の具体例1である。 図29は、第7実施形態に係る書込み動作の具体例2である。 図30は、第8実施形態に係る書込み動作のフローチャートである。 図31は、第8実施形態に係る書込み動作の具体例である。 図32は、第9実施形態に係る書込み動作のフローチャートである。 図33は、第10実施形態に係る書込み動作のフローチャートである。 図34は、第10実施形態に係る下位ページデータの変化方法を示す図である。 図35は、第10実施形態に係る下位ページデータの変化方法を示す図である。 図36は、第10実施形態に係る書き込みデータの処理方法を示す図である。
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
1.第1実施形態
第1実施形態に係る半導体記憶装置及びメモリシステムについて説明する。以下では半導体記憶装置として、メモリセルトランジスタが半導体基板上に二次元に配置された平面型NAND型フラッシュメモリを例に挙げて説明する。
1.1 構成について
1.1.1 メモリシステムの全体構成について
まず、本実施形態に係るメモリシステムの全体構成について、図1を用いて説明する。
図示するように、メモリシステム1は、例えば複数のNAND型フラッシュメモリ100、1つのコントローラ200、及び1つのホスト機器300を備える。図および以下の説明は、NAND型フラッシュメモリ100(100_0、100_1)が2つの例に基づく。1つまたは3つ以上のNAND型フラッシュメモリ100がコントローラ200に接続されても良い。
各々のNAND型フラッシュメモリ100は、複数のメモリセルトランジスタを備え、データを不揮発に記憶することができる。NAND型フラッシュメモリ100は、NANDバスによってコントローラ200と接続され、コントローラ200からの命令に基づいて動作する。すなわち、各NAND型フラッシュメモリ100は、コントローラ200と、例えば8ビットの入出力信号IO<7:0>の送受信を行う。入出力信号IO<7:0>は、例えばコマンド、アドレス信号、データである。また、NAND型フラッシュメモリ100は、コントローラ200から、制御信号を受信し、状態コード信号を送信する。
制御信号は、チップイネーブル信号CEn0およびCEn1、ライトイネーブル信号WEn、リードイネーブル信号REn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、及びライトプロテクト信号WPn等を含む。信号WEn、REn、CLE、ALE、及びWPnは、NAND型フラッシュメモリ100_0および100_1により受け取られる。一方、信号CEn0はNAND型フラッシュメモリ100_0により受け取られ、信号CEn1はNAND型フラッシュメモリ100_1により受け取られる。
信号CEn(CEn0およびCEn1)は、この信号を受け取ったNAND型フラッシュメモリ100をイネーブル状態とするための信号であり、“L”レベルでアサートされる。ライトイネーブル信号WEnは、この信号を受け取ったNAND型フラッシュメモリ100が入出力信号IO<7:0>を取り込むための信号であり、“L”レベルでアサートされる。よって、WEnがトグルされる度に、入出力信号IO<7:0>がNAND型フラッシュメモリ100に取り込まれる。信号REnは、この信号を受け取ったNAND型フラッシュメモリ100が入出力信号IO<7:0>を出力するための信号であり、“L”レベルでアサートされる。信号CLEは、入出力信号IO<7:0>がコマンドであることを示す信号であり、“H”レベルでアサートされる。信号ALEは、入出力信号IO<7:0>がアドレス信号であることを示す信号であり、“H”レベルでアサートされる。信号WPnは、この信号を受け取ったNAND型フラッシュメモリ100に入出力信号IO<7:0>の取り込みの禁止を命令するための信号であり、“L”レベルでアサートされる。
状態コード信号は、NAND型フラッシュメモリ100の種々の状態を示し、レディ/ビジー信号RBn(RBn0およびRBn1)を含む。レディ/ビジー信号RBnは、NAND型フラッシュメモリ100がビジー状態であるか否か(コントローラ200からコマンドを受信不可能な状態か可能な状態か)を示す信号であり、ビジー状態の際に“L”レベルとなる。信号RBn0はNAND型フラッシュメモリ100_0から出力され、信号RBn1はNAND型フラッシュメモリ100_1から出力される。コントローラ200は、状態コード信号を受け取ることで、各NAND型フラッシュメモリ100の状態を知ることができる。

コントローラ200は、ホスト機器300からの命令に基づいて、NAND型フラッシュメモリ100に対して読み出し、書き込み、読み出し及び消去等を命令する。
コントローラ200は、ホストインターフェイス回路201、メモリ(RAM)202、プロセッサ(CPU)203、バッファメモリ204、NANDインターフェイス回路205、及びECC(error correction code)回路206を備える。
ホストインターフェイス回路201は、例えばSDカードバスやPCIeバスといったコントローラバスを介してホスト機器300と接続され、コントローラ200とホスト機器300との通信を司る。
NANDインターフェイス回路205は、NANDバスを介して各NAND型フラッシュメモリ100と接続され、コントローラ200とNAND型フラッシュメモリ100との通信を司る。
CPU203は、コントローラ200全体の動作を制御する。
メモリ202は、例えばDRAM(dynamic random access memory)等であり、CPU230の作業領域として使用される。
バッファメモリ204は、NAND型フラッシュメモリ100に送信されるデータ、及びNAND型フラッシュメモリ100から送信されたデータを一時的に保持する。
ECC回路206は、誤り訂正符号を用いてデータの誤りを検出および訂正する。
1.1.2 半導体記憶装置の構成について
次に半導体記憶装置の構成について図2を用いて説明する。
図示するように、NAND型フラッシュメモリ100は、コア部110と、周辺回路部120を備えている。
コア部110は、メモリセルアレイ111、ロウデコーダ112、及びセンスユニット113を含む。なおコア部110は、複数のメモリセルアレイ111を含んでも良い。
メモリセルアレイ111は、複数のメモリセルトランジスタを備え、データを不揮発に記憶する。
ロウデコーダ112は、例えばデータの書き込み、及び読み出しの際、ブロックアドレスBLKADDやページアドレスPAGADDをデコードして、対象となるワード線を選択する。
センスユニット113は、カラムアドレスCOLADDに基づき、読み出し時にはメモリセルアレイ111の選択されたカラムのデータを出力し、書き込み時には、データバッファ127から転送された書き込みデータを、メモリセルアレイ111に転送する。また、センスユニット113は、キャッシュ、及びセンスアンプを含む。キャッシュは複数個設けられ、データを一時的に保持する。センスアンプは、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたデータをセンスする。またデータの書き込み時には、書き込みデータをメモリセルトランジスタに転送する。
周辺回路部120は、入力バッファ121及び122、出力バッファ123及び124、アドレスバッファ125、コマンドデコーダ126、データバッファ127、セレクタ128、ステートマシン129、及びメモリセル制御レジスタ130を含む。
入力バッファ121は、前述した各種制御信号(チップイネーブル信号CEn、ライトイネーブル信号WEn、リードイネーブル信号REn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、及びライトプロテクト信号WPn)を受信する入力ピンに接続される。そして入力バッファ121は、受信した各種制御信号に基づいて、入力バッファ122、出力バッファ123、コマンドデコーダ126、あるいはデータバッファ127を制御する。
入力バッファ122は、入出力信号IO<7:0>を入出力する入出力ピン(端子)と接続される。入力バッファ122は、入力バッファ121の制御に基づいて、アドレス信号を信号DINとしてアドレスバッファ125に送信し、コマンドを信号DINとしてコマンドデコーダ126に送信し、データを信号DINとしてデータバッファ127に送信する。
出力バッファ123は、入出力する入出力ピン(端子)と接続される。出力バッファ123は、入力バッファ121の制御に基づいて、メモリセルアレイ111から読み出された読み出しデータ等を入出力信号IO<7:0>としてコントローラ200に出力する。
出力バッファ124は、レディ/ビジー信号RBnを出力する出力ピンと接続される。出力バッファ124は、ステートマシン129から受信したレディ/ビジー信号RBをレディ/ビジー信号RBnとしてコントローラ200に送信する。
アドレスバッファ125は、入力バッファ122を介してコントローラ200から受信したアドレス信号を一時的に保持する。そしてアドレスバッファ125は、ロウアドレス(ブロックアドレスBLKADD及び/またはページアドレスPAGADD)、カラムアドレスCOLADD、信号PLN0_PG2、信号PLN1_PG2、信号DoPLN0、及び信号DoPLN1をメモリセル制御レジスタ130に送信する。信号PLN0_PG2、信号PLN1_PG2、信号DoPLN0、及び信号DoPLN1は、アドレス信号に応じて、センスユニット113内において対象となるキャッシュを指定するための制御信号であり、詳細については後述する。
なお、ページアドレスPAGADDには、例えばワード線WL、奇数/偶数ビット線E/O、ストリングアドレス、あるいは下位ページ/中間ページ/上位ページ(L/M/U)等に関する情報が含まれていても良い。
ページアドレスの構成については、例えば、“不揮発性半導体記憶装置及びその制御方法(NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND CONTROL METHOD THEREOF)”という2013年3月4日に出願された米国特許出願13/784,753号に記載されている。本特許出願は、その全体が本願明細書において参照により援用されている。
コマンドデコーダ126は、入力バッファ121から受信した各種コマンドをデコードする。そしてコマンドデコーダ126は、デコードの結果に基づいて信号CMD_TC2をメモリセル制御レジスタ130に送信する。信号CMD_TC2は、センスユニット113において、キャッシュ間のデータの転送を命令するための制御信号である。また、コマンドデコーダ126は、デコードの結果をステートマシン129に送信する。
データバッファ127は、コントローラ200から受信したデータ(書き込みデータ)を一時的に保持する。そしてデータバッファ127は、セレクタ128を介して、センスユニット113にデータを送信する。
セレクタ128は、双方向バスYIOのデータ方向を決定し、書き込みデータをデータバッファ127からセンスユニット113にデータを転送し、読み出しデータをセンスユニット113から出力バッファ123に転送する。
ステートマシン129は、コマンドデコーダ126のデコード結果に応じて、書き込み、読み出し、消去等の動作を司る。そして、ステートマシン129は、制御信号をメモリセル制御レジスタ130に送信し、コア部110の動作状況に応じてレディ/ビジー信号RBを出力バッファ124に送信する。
メモリセル制御レジスタ130は、アドレスバッファ125から受信したロウアドレス(ブロックアドレスBLKADD及び/またはページアドレスPAGADD)及びカラムアドレスCOLADDを、ロウデコーダ112及びセンスユニット113に、それぞれ送信する。またメモリセル制御レジスタ130は、アドレスバッファ125、コマンドデコーダ126、及びステートマシン129から受信した制御信号をセンスユニット113に送信する。
なお、図2では各ブロック間の接続の一部を矢印線で示しているが、ブロック間の接続はこれに限定されない。
1.1.3 コア部の構成について
次にコア部110の構成について、図3を用いて説明する。図3の例では、コア部が2つのメモリセルアレイ111を含む場合について説明する。
図示するように、コア部110は、2つのプレーンPLN0及びPLN1を含む。プレーンPLNは、メモリセルトランジスタへのデータの書き込み、及びメモリセルトランジスタMTからのデータの読み出しを行うユニットである。プレーンPLN0及びPLN1は互いに独立して動作可能であり、また同時に動作することも可能である。なお、プレーンPLNは2つに限定されず、1つでも、3つ以上でも良い。
各プレーンPLNは、メモリセルアレイ111及びロウデコーダ112を含む。以下ではプレーンPLN0のメモリセルアレイを111_0と表記し、ロウデコーダを112_0と表記する。プレーンPLN1のメモリセルアレイを111_1と表記し、ロウデコーダを112_1と表記する。また各プレーンPLNは、センスユニット113にそれぞれ接続される。
メモリセルアレイ111は、複数の不揮発性メモリセルトランジスタの集合である複数のブロックBLKを含む。例えばメモリセルトランジスタMTが保持するデータはブロックBLK単位で消去される。以下ではプレーンPLN0のブロックBLKをBLKm_0(mは0以上の整数)と表記し、プレーンPLN1のブロックBLKをBLKm_1と表記する。なお各プレーンPLNにおけるブロックBLKは異なっていても良く、個数は限定されない。
ブロックBLKの各々は、メモリセルトランジスタが直列接続された複数のNANDストリング114を備えている。NANDストリング114の各々は、例えば16個のメモリセルトランジスタMT(MT0〜MT15)、並びに選択トランジスタST1及びST2を含んでいる。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。なお、メモリセルトランジスタMTは、電荷蓄積層に絶縁膜を用いたMONOS型であっても良いし、電荷蓄積層に導電膜を用いたFG型であっても良い。更に、メモリセルトランジスタMTの個数は16個に限られず、8個や32個、64個、128個等であってもよく、その数は限定されるものではない。
メモリセルトランジスタMT0〜MT15は、その電流経路が直列に接続される。この直列接続の一端側のメモリセルトランジスタMT0のドレインは、選択トランジスタST1のソースに接続され、他端側のメモリセルトランジスタMT15のソースは、選択トランジスタST2のドレインに接続されている。
同一のブロックBLK内にある選択トランジスタST1のゲートは、同一のセレクトゲート線SGDに共通に接続される。同様に、同一のブロックBLK内にある選択トランジスタST2のゲートは、同一のセレクトゲート線SGSに共通に接続される。
また、ブロックBLK内の各NANDストリング114のメモリセルトランジスタMTの制御ゲートは、それぞれ異なるワード線WL0〜WL15に共通に接続される。
また、各プレーンPLNにおいて、同一列にあるNANDストリング114の選択トランジスタST1のドレインは、いずれかのビット線BLに共通接続される。すなわちビット線BLは、複数のブロックBLK間でNANDストリング114を共通に接続する。以下、プレーンPLN0のビット線BLをBLk_0(kは0以上の整数)と表記し、プレーンPLN1のビット線BLをBLk_1と表記する。なお、プレーン0とプレーン1におけるビット線BLの本数は異なっていても良く、本数は限定されない。
また、プレーンPLN内の各ブロックBLK内にある選択トランジスタST2のソースは、ソース線SLに共通に接続されている。なお、プレーンPLN0及びPLN1のソース線SLは共通に接続されて、図示せぬソース線ドライバに接続されていても良く、プレーンPLN毎に異なるソース線ドライバに接続されていても良い。
なお、本例ではメモリセルトランジスタMTが半導体基板上に二次元に配置されている場合を例に説明するが、半導体基板上方に三次元に積層される場合であっても良い。
三次元積層型NAND型フラッシュメモリにおけるメモリセルアレイ111の構成については、例えば、“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
更に、データの消去範囲は、1つのブロックBLKに限定されず、複数のブロックBLKが一括して消去されても良く、1つのブロックBLK内の一部の領域が一括して消去されても良い。
データの消去については、例えば、“不揮発性半導体記憶装置”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。また、“不揮発性半導体記憶装置”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
次にセンスユニット113の構成について説明する。
センスユニット113は、各プレーンPLNに対応してセンスアンプ115(115_0及び115_1)、第1キャッシュ(XDL)116(116_0及び116_1)、第2キャッシュ(ADL)117(117_0及び117_1)、及び第3キャッシュ(BDL)118(118_0及び118_1)を備える。なお各プレーンPLNに対応したキャッシュの個数は、任意に設定可能であり、例えばメモリセルトランジスタMTが保持するデータのビット数により異なっていても良い。
センスアンプ115は対応するプレーンPLN内の各ビット線BLと、内部バス119(119_0及び119_1)とに接続される。書き込み時には、センスアンプ115は、内部バス119から入力されたデータ、より具体的には例えば第2キャッシュ117及び/または第3キャッシュ118に保持されたデータをビット線BLに出力する。またセンスアンプ115は、読み出し時にはビット線BLから読み出されたデータを内部バス119に出力する。以下、センスアンプ115が、1つのプレーンPLNから一括して読み出し及び書き込みを行うデータを「ページ」と呼ぶ。よって、書き込み及び読み出し時に選択ワード線WL及び選択ビット線BLに接続された複数のメモリセルトランジスタMTが1つのページを構成するメモリセルユニットとなる。なお本実施形態は、プレーンPLN毎にセンスアンプ115が設けられているが、各プレーンPLNに共通のセンスアンプ115が、1つ設けられても良い。
第1乃至第3キャッシュ116〜118は、センスアンプ115が一括して書き込み及び読み出しを行うのに必要なバイト数で構成されており、例えば1ページ16Kバイトのデータが保持可能である。なお16Kバイトは、正確には16384バイトである。そして、第1乃至第3キャッシュ116〜118は、16Kバイトに余剰領域、例えば512バイトを含めた構成であっても良い。
第1キャッシュ116は、内部バス119と双方向バスYIOとに接続される。そして書き込み時には、第1キャッシュ116は、双方向バスYIOを介して受信した書き込みデータを格納する。センスユニット113は、メモリセル制御レジスタ130からの制御信号に応じて、第1キャッシュ116に格納されたデータを、第2キャッシュ117あるいは第3キャッシュ118に転送する。また、読み出し時には、第1キャッシュ116は、内部バス119を介して受信した読み出しデータを格納する。そして、センスユニット113は、メモリセル制御レジスタ130からの制御信号に応じて、第1キャッシュ116に格納したデータを、双方向バスYIOを介して出力バッファ123に送信する。
第2キャッシュ117は、内部バス119に接続され、受信したデータを内部に格納する。第2キャッシュ117に格納されたデータは、メモリセル制御レジスタ130からの制御信号に応じて、センスアンプ115、第1キャッシュ116、あるいは第3キャッシュ118との間で送受信される。第3キャッシュ118も同様である。
1.2 メモリセルトランジスタの閾値分布について
次に、メモリセルトランジスタMTの取りうる閾値分布について、例えば2ビットのデータを保持可能な場合について、図4を用いて説明する。以下、本実施形態では、メモリセルトランジスタMTが2ビットのデータを保持可能な場合について説明するが、1ビットでも3ビット以上でも良く、保持可能なビット数は限定されない。
図示するように各メモリセルトランジスタMTの閾値電圧は、上位(upper)ビット(または上位データ)及び下位(lower)ビット(下位データ)による2ビットデータ、すなわち“11”、“01”、“00”、及び“10”データを保持可能である。
“11”データの閾値電圧は“E”レベルであり、電圧VAよりも低い値である。
“01”、“00”、及び“10”データの閾値電圧は、それぞれ“A”、“B”、及び“C”レベルである。そしてこれらの閾値電圧には、“E”レベル<“A”レベル<“B”レベル<“C”レベルの関係がある。“A”レベルは、電圧VA以上で、電圧VB未満の電圧であり、“B”レベルは、電圧VB以上で、電圧CV未満の電圧であり、“C”レベルは、電圧VC以上の電圧である。なお、各データと閾値レベルとの関係は上記に限定されるものでは無く、適宜変更可能である。
メモリセルトランジスタMTが2ビットのデータを保持している場合には、1つのページに、上位ビットに対応するデータと下位ビットに対応するデータが割り当てられる。以下、下位ビットのデータが一括して書き込みまたは読み出されるページを第1ページと呼び、上位ビットのデータが一括して書き込みまたは読み出されるページを第2ページと呼ぶ。
1.3 書き込み動作ついて
次に本実施形態に係る書き込み動作について、特にプレーンPLN0及びPLN1において、第1ページと第2ページを同時に書き込む(以下、「フルシーケンス」と呼ぶ)場合に着目して説明する。以下、プレーンPLN0及びPLN1にフルシーケンスで同時に書き込む場合を、「マルチプレーンプログラム」と呼ぶ。
フルシーケンスを実行する場合、コントローラ200は、例えばページ毎にデータをNAND型フラッシュメモリ100に送信する。従って、マルチプレーンプログラムでは、4ページ分(プレーンPLN0の第1及び第2ページ、並びにプレーンPLN1の第1及び第2ページ)のデータが必要なため、コントローラ200は、データを4回送信する。NAND型フラッシュメモリ100は、受信した4ページ分のデータを対象となるキャッシュに一旦格納した後、メモリセルアレイ111への書き込みを実行する。より具体的には、NAND型フラッシュメモリ100は、プレーンPLN0の第1及び第2ページのデータを第2キャッシュ117_0及び第3キャッシュ118_0に格納し、プレーンPLN1の第1及び第2ページのデータを第2キャッシュ117_1及び第3キャッシュ118_1に格納した後、プレーンPLN0及びPLN1のメモリセルアレイ111_0及び111_1への書き込みを開始する。
なお、書き込み動作は、第1ページと第2ページとが別々に実行されても良く、プレーンPLN毎に別々に実行されても良い。
1.3.1 書き込みデータ送信時のコントローラ200の動作について
まず書き込みデータの送信時におけるコントローラ200の動作について、図5を用いて説明する。図5の例は、コントローラ200が、NAND型フラッシュメモリ100に、1ページ分のデータを送信し、このデータを第2キャッシュ117あるいは第3キャッシュ118に格納するように命令する場合を示している。
図示するように、まずコントローラ200は、動作に先だってチップイネーブル信号CEnを“L”レベルにし、ライトプロテクト信号WPnを“H”レベルにする。
次に時刻t1において、コントローラ200は、コマンド“C1”をNAND型フラッシュメモリ100に出力すると共に、コマンドラッチイネーブル信号CLEをアサート(“H”レベル)する。コマンド“C1”は、アドレス信号及び/または書き込みデータを送信することを通知するコマンドである。
次に時刻t2〜t6において、コントローラ200は、アドレス信号“A1”〜“A5”を出力すると共に、アドレスラッチイネーブル信号ALEをアサート(“H”レベル)する。アドレス信号にはカラムアドレスCOLADD、ロウアドレス(BLKADD、PAGADD)、及び第1ページあるいは第2ページを示す情報が含まれる。なお図5の例では、アドレス信号を5サイクルで送信しているが、これに限定されない。アドレス信号を送信するための必要なサイクル数であれば良い。
次に時刻t7〜t9において、コントローラ200は、データ“D0”〜“Dn”(nは0以上の整数)を出力する。
次に時刻t10において、コントローラ200は、例えばコマンド“TC2”を出力すると共に、コマンドラッチイネーブル信号CLEをアサートする。コマンド“TC2”は、アドレス信号により指定されたプレーンPLNにおいて、第1キャッシュ116に格納されたデータを、第2キャッシュ117あるいは第3キャッシュ118に転送するコマンドである。 これらのコマンド、アドレス信号、及びデータは、ライトイネーブル信号WEnがトグルされる毎にNAND型フラッシュメモリ100の入力バッファ122に取り込まれる。
次に時刻t11〜t12の間、NAND型フラッシュメモリ100は、コマンド“TC2”に応答して、データを第1キャッシュ116に格納した後、アドレス信号に応じた第2キャッシュ117あるいは第3キャッシュ118に転送する。より具体的には、NAND型フラッシュメモリ100内において、アドレスバッファ125は、アドレス信号に応じて、信号PLN0_PG2、信号PLN1_PG2、信号DoPLN0、及び信号DoPLN1を、メモリセル制御レジスタ130を介してセンスユニット113に送信する。信号PLN0_PG2及び信号PLN1_PG2は、アドレス信号がプレーンPLN0あるいはプレーンPLN1の第2ページを示す場合にそれぞれ“H”レベルとされる。信号DoPLN0及び信号DoPLN1は、選択されたプレーンPLNを示す信号であり、プレーンPLN0が選択されている場合は、信号DoPLN0が“H”レベルとされ、プレーンPLN1が選択されている場合は、信号DoPLN1が“H”レベルとされる。また、コマンドデコーダ126は、コマンド“TC2”に応じて、信号CMD_TC2を、メモリセル制御レジスタ130を介してセンスユニット113に送信する。信号CMD_TC2は、コントローラ200からコマンド“TC2”を受信した場合に“H”レベルとされる。よってNAND型フラッシュメモリ100は、コマンド“TC2”を受信すると、信号CMD_TC2を“H”レベルにする。そしてセンスユニット113では、信号CMD_TC2(“H”レベル)に応じて、信号DoPLN0及び信号DoPLN1によって指定されたプレーンPLNの第1キャッシュ116のデータが、信号PLN0_PG2及び信号PLN1_PG2により指定された2キャッシュ117あるいは第3キャッシュ118に転送される。
この間、NAND型フラッシュメモリ100はビジー状態となり、ステートマシン129は、ビジー状態を示すレディ/ビジー信号RBnを“L”レベルにし、コントローラ200に送信する。以下、コマンド“TC2”に応じたビジー状態の期間を、tBUSY1とする。
第2キャッシュ117あるいは第3キャッシュ118へのデータの転送が完了すると、NAND型フラッシュメモリ100はレディ状態となり、ステートマシン129は、レディ/ビジー信号RBを“H”レベルに復帰する。
1.3.2 マルチプレーンプログラムについて
次に、マルチプレーンプログラムについて、特に第1乃至第3キャッシュ116〜118のデータ保持状態に着目して、図6及び図7を用いて説明する。図6の例では、コントローラ200が送信する信号については、入出力信号IO<7:0>(コマンド、アドレス信号、データ)のみ示す。
また、図7は、図6における4回の書き込みデータ受信時に、アドレスバッファ125及びコマンドデコーダ126からメモリセル制御レジスタ130を介してセンスユニット113に送信される制御信号の論理状態を示している。
図6に示すように、まず1回目のデータ送信(図6の参照符号(a))において、コントローラ200は、コマンド“C1”、プレーンPLN1の第1ページを示すアドレス信号“Address1_1”、プレーンPLN1の第1データ“Data1_1”、コマンド“DC3”を送信する。コマンド“DC3”は、選択されたプレーンPLNの第1キャッシュ116にデータを格納するよう命令するコマンドである。NAND型フラッシュメモリ100は、コマンド“DC3”を受信すると、直前で受信したアドレス信号で指定されたプレーンPLNに対応する第1キャッシュ116にデータを格納する。アドレス信号には第1ページあるいは第2ページを示す情報が含まれているが、コマンド“DC3”を受信した場合、NAND型フラッシュメモリ100は、第2キャッシュ117あるいは第3キャッシュ118へのデータ転送を保留する。
図7に示すように、NAND型フラッシュメモリ100では、1回目のデータ受信後(図6及び図7の参照符号(1))、保留状態を示すため、アドレス信号“Address1_1”に対応して信号DoPLN1は“H”レベルとされる。信号DoPLN1は、データが第2キャッシュ117に転送されるまで、“H”レベルが維持される。具体的には、例えばメモリセル制御レジスタ130において、“H”レベル状態が保持される。また、このとき信号DoPLN0、信号PLN0_PG2、信号PLN1_PG2、及び信号CMD_TC2は“L”レベルとされる。
この結果、センスユニット113は、プレーンPLN1の第1キャッシュ116_1に第1データ“Data1_1”を格納する。以下、コマンド“DC3”に応じたビジー状態の期間を、tBUSY2とする。期間tBUSY1と期間tBUSY2を比較すると、データの転送が無いため、期間tBUSY2の方が処理時間は短くなる。なお、期間tBUSY2は短い時間であるため、レディ/ビジー信号RBnを“L”レベルにする動作は省略されても良い。
次に2回目のデータ送信(図6の参照符号(b))において、コントローラ200は、コマンド“C1”、プレーンPLN0の第1ページを示すアドレス信号“Address1_0”、プレーンPLN0の第1データ“Data1_0”、コマンド“TC2”を送信する。
2回目のデータ受信後(図6及び図7の参照符号(2))、アドレス信号“Address1_0”に対応して信号DoPLN0が“H”レベルとされ、コマンド“TC2”に対応して信号CMD_TC2が“H”レベルとされる。また、信号DoPLN1は、1回目のデータ受信後から“H”レベルを維持している。
センスユニット113で、まずプレーンPLN0の第1キャッシュ116_0に第1データ“Data1_0”を格納する。そしてセンスユニット113は、信号DoPLN0及び信号DoPLN1が“H”レベル且つ信号PLN0_PG2及び信号PLN1_PG2が“L”レベルのため、信号CMD_TC2の“H”レベルに応じて、第1キャッシュ116_0のデータ“Data1_0”及び第1キャッシュ116_1のデータ“Data1_1”を、第2キャッシュ117_0及び117_1にそれぞれ転送する。
次に3回目のデータ送信(図6の参照符号(c))において、コントローラ200は、コマンド“C1”、プレーンPLN0の第2ページを示すアドレス信号“Address2_0”、プレーンPLN0の第2データ“Data2_0”、コマンド“DC3”を送信する。
3回目のデータ受信後(図6及び図7の参照符号(3))、アドレス信号“Address2_0”に対応して信号DoPLN0及び信号PLN0_PG2が“H”レベルとされ、データを第3キャッシュ118_0に転送するまでこの状態が維持される。
センスユニット113は、プレーンPLN0の第1キャッシュ116_0に第2データ“Data2_0”を格納する。
次に4回目のデータ送信(図6の参照符号(d))において、コントローラ200は、コマンド“C1”、プレーンPLN1の第2ページを示すアドレス信号“Address2_1”、プレーンPLN1の第2データ“Data2_1”、コマンド“C4”を送信する。コマンド“C4”は、メモリセルアレイ111への書き込みを命令するコマンドである。
4回目のデータ受信後(図6及び図7の参照符号(4))、アドレス信号“Address2_1”に応じて信号DoPLN1及び信号PLN1_PG2が“H”レベルとされる。
センスユニット113は、まずプレーンPLN1の第1キャッシュ116_1に第2データ“Data2_1”を格納する。次にセンスユニット113は、信号DoPLN0、信号DoPLN1、信号PLN0_PG2、及び信号PLN1_PG2が“H”レベルのため、第1キャッシュ116_0のデータ“Data2_0”、及び第1キャッシュ116_1のデータ“Data2_1”を、第3キャッシュ118_0及び118_1にそれぞれ転送する。その後、NAND型フラッシュメモリ100は、第2キャッシュ117及び第3キャッシュ118に格納されたデータを、メモリセルアレイ111にフルシーケンスで書き込む。以下、コマンド“C4”に応じたビジー状態の期間を、tPROGとする。期間tPROGは、メモリセルアレイ111への書き込み動作も含まれるため、期間tBUSY1よりも処理時間が長くなる。よって、期間tPROGと期間tBUSY1と期間tBUSY2とを比較すると、tPROG>tBUSY1>tBUSY2の関係となる。
なお、本実施形態では、コントローラ200は、プレーンPLN1の第1ページ、プレーンPLN0の第1ページ、プレーンPLN0の第2ページ、プレーンPLN1の第2ページの順にデータを送信したが、送信の順序は任意に変更可能である。
また、1回目及び3回目のデータ送信では、コントローラ200は、コマンド“DC3”を送信し、第2キャッシュ117、あるいは第3キャッシュ118にデータを転送しなかったが、コマンド“TC2”を送信し、データを転送しても良い。
1.4 本実施形態に係る効果について
本実施形態に係る構成では、処理能力を向上することができる。以下、本効果について説明する。
フルシーケンスで書き込み動作を行う際、コントローラ200からNAND型フラッシュメモリ100へのデータ送信順序が固定されていると、例えばコントローラ200は、ホスト機器から受信したデータを、一旦内部に保持し、保持したデータをデータ送信順序に合わせてNAND型フラッシュメモリ100に送信する必要がある。よって、コントローラ200は、データを受信してから送信を開始するまでの時間が、ページ数が増えるほど長くなる傾向がある。例えばマルチプレーンプログラムでプレーン数が増加した場合、あるいはメモリセルトランジスタMTが保持可能なビット数が増加した場合などは、ページ数が増加するため、開始時間が長くなる傾向が見られる。またコントローラ200は、書き込み対象となる全ページのデータを保持できるようにコントローラ200内にメモリ領域を確保しておく必要がある。
これに対し、本実施形態に係る構成は、コントローラ200が、データを送信する順序を任意に決めることができる。またNAND型フラッシュメモリ100は、コントローラ200からの命令に応じて、第2及び第3キャッシュ117及び118へデータを転送することができる。このため、例えばコントローラ200は、ホスト機器から受信したデータを、受信した順序でNAND型フラッシュメモリ100に送信できる。よって、コントローラ200は、データを受信してから送信を開始するまでの時間を短くすることができるため、処理能力が向上できる。
また、本実施形態に係る構成では、コントローラ200が、第1キャッシュ116から第2キャッシュ117あるいは第3キャッシュ118にデータを転送するタイミングを任意に決定することができる。このため、例えば、データの送信順序とキャッシュ間でのデータ転送のタイミングを最適化し、処理時間を短縮することができる。よって処理能力を向上することができる。具体的には、例えばプレーンPLN0の第1キャッシュ116_0とプレーンPLN1の第1キャッシュ116_1の両方にデータを格納してから、一括してデータを転送することで、別々にデータが転送する場合よりも処理時間を短くできる。
また、本実施形態に係る構成では、コントローラ200は、受信した順序でデータをNAND型フラッシュメモリ100に送信できる。よって、コントローラ200内において、書き込み対象となる全ページのデータを保持できるようにメモリ領域を確保しておく必要がないため、メモリ領域を削減することができる。従って、コントローラ200の回路面積を縮小することができる。
また、本実施形態に係る構成では、半導体記憶装置が任意の順序でセンスユニット113内にデータを格納できるため、データの取り扱いに自由度を持たせることでき、利便性を向上することができる。よってメモリシステム全体の処理の効率を改善することができる。
2. 第2実施形態
次に、第2実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、第1実施形態において、第1キャッシュ116から第2キャッシュ117あるいは第3キャッシュ118にデータを転送する際、既にキャッシュに格納されているデータに対して、上書きあるいはデータの論理和(OR)演算を行って再度データを格納する場合について示すものである。以下、第1実施形態と異なる点についてのみ説明する。
2.1 メモリシステムの全体構成について
本実施形態におけるメモリシステムの構成について説明する。第1実施形態と異なる点は、コントローラ200からNAND型フラッシュメモリ100に送信されるコマンド“TC5”と、コマンド“TC5”に対応して、コマンドデコーダ126からメモリセル制御レジスタ130を介してセンスユニット113に送信される信号CMD_TC5とが追加される点である。コマンド“TC5”は、第1キャッシュ116に格納されたデータを、第2キャッシュ117あるいは第3キャッシュ118に転送する際、先に第2キャッシュ117あるいは第3キャッシュ118に格納されているデータとのOR演算を行うコマンドである。信号CMD_TC5は、コントローラ200からコマンド“TC5”を受信した場合に“H”レベルとされる。
2.2 書き込み動作について
本実施形態における書き込み動作について、図8及び図9を用いて説明する。本実施形態では、マルチプレーンプログラムを例に、プレーンPLN0では1回目の第1ページのデータと2回目の第1ページのデータとのOR演算を行い、プレーンPLN1では1回目の第1ページのデータに対し2回目の第1ページのデータを上書きする場合について説明する。
図8に示すように、まず1回目のデータ送信(図8の参照符号(a))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_0”、プレーンPLN0の第1データ“Data1_0”、コマンド“TC2”を送信する。
1回目のデータ受信後(図8及び図9の参照符号(1))、アドレス信号“Address1_0”に対応して信号DoPLN0は“H”レベルとされる。また、コマンド“TC2”に対応して信号CMD_TC2が“H”レベルとされる。
センスユニット113は、第1キャッシュ116_0に第1データ“Data1_0”を格納する。そしてセンスユニット113は、信号DoPLN0が“H”レベル且つ信号PLN0_PG2が“L”レベルのため、信号CMD_TC2に応じて、第1キャッシュ116_0のデータ“Data1_0”を、第2キャッシュ117_0に転送する。
次に2回目のデータ送信(図8の参照符号(b))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_0”、プレーンPLN0の第1データ“Data1a_0”、コマンド“TC5”を送信する。以下、コマンド“TC5”に応じたビジー状態の期間を、tBUSY3とする。期間tBUSY1と比較すると、OR演算の影響により、処理時間は期間tBUSY1と同等かそれ以上となる。
2回目のデータ受信後(図8及び図9の参照符号(2))、アドレス信号“Address1_0”に対応して信号DoPLN0が“H”レベルとされ、コマンド“TC5”に対応して信号CMD_TC5が“H”レベルとされる。
センスユニット113は、まず第1キャッシュ116_0に第1データ“Data1a_0”を格納する。そしてセンスユニット113は、信号DoPLN0が“H”レベル且つ信号PLN0_PG2が“L”レベルのため、信号CMD_TC5に応じて、第1キャッシュ116_0のデータ“Data1a_0”と第2キャッシュ117_0のデータ“Data1_0”のOR演算を行い、演算結果(“1_0+1a_0”)を第2キャッシュ117_0に格納する。
例えばデータ“Data1_0”は、番地0から番地127までが“1”または“0”の任意の値(実データ)で、番地128以降がALL“0”であり、データ“Data1a_0”は、番地0から番地127がALL“0”で、番地128以降が“1”または“0”の任意の値であるものとする。このような場合、センスユニット113は、コントローラ200からの命令により、データ“Data1_0”とデータ“Data1a_0”のOR演算を行い、1ページのデータ“1_0+1a_0”を構成する。
次に3回目のデータ送信(図8の参照符号(c))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_1”、プレーンPLN1の第1データ“Data1_1”、コマンド“TC2”を送信する。
3回目のデータ受信後(図8及び図9の参照符号(3))、アドレス信号“Address1_1”に対応して信号DoPLN1は“H”レベルとされる。また、コマンド“TC2”に対応して信号CMD_TC2が“H”レベルとされる。
センスユニット113は、第1キャッシュ116_1に第1データ“Data1_1”を格納する。そしてセンスユニット113は、信号DoPLN1が“H”レベル且つ信号PLN1_PG2が“L”レベルのため、信号CMD_TC2に応じて、第1キャッシュ116_1のデータ“Data1_1”を、第2キャッシュ117_1に転送する。
次に4回目のデータ送信(図8の参照符号(d))において、コントローラ200は、コマンド“C1”、アドレス信号“Address2_0”、プレーンPLN0の第2データ“Data2_0”、コマンド“TC2”を送信する。
4回目のデータ受信後(図8及び図9の参照符号(4))、アドレス信号“Address2_0”に対応して信号DoPLN0及び信号PLN0_PG2は“H”レベルとされる。また、コマンド“TC2”に対応して信号CMD_TC2が“H”レベルとされる。
センスユニット113は、第1キャッシュ116_0に第2データ“Data2_0”を格納する。そしてセンスユニット113は、信号DoPLN0が“H”レベル且つ信号PLN0_PG2が“H”レベルのため、信号CMD_TC2に応じて、第1キャッシュ116_0のデータ“Data2_0”を、第3キャッシュ118_0に転送する。
次に5回目のデータ送信(図8の参照符号(e))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_1”、プレーンPLN1の第1データ“Data1a_1”、コマンド“TC2”を送信する。
5回目のデータ受信後(図8及び図9の参照符号(5))、アドレス信号“Address1_1”に対応して信号DoPLN1は“H”レベルとされる。また、コマンド“TC2”に対応して信号CMD_TC2が“H”レベルとされる。
センスユニット113は、第1キャッシュ116_1に第1データ“Data1a_1”を格納する。そしてセンスユニット113は、信号DoPLN1が“H”レベル且つ信号PLN1_PG2が“L”レベルのため、信号CMD_TC2に応じて、第1キャッシュ116_1のデータ“Data1a_1”を、第2キャッシュ117_1に転送(上書き)する。
次に6回目のデータ送信(図8の参照符号(f))において、コントローラ200は、コマンド“C1”、アドレス信号“Address2_1”、プレーンPLN1の第2データ“Data2_1”、コマンド“C4”を送信する。
6回目のデータ受信後(図8及び図9の参照符号(6))、アドレス信号“Address2_1”に応じて信号DoPLN1及び信号PLN1_PG2が“H”レベルとされる。
センスユニット113は、まずプレーンPLN1の第1キャッシュ116_1に第2データ“Data2_1”を格納する。次にセンスユニット113は、信号DoPLN1及び信号PLN1_PG2が“H”レベルのため、第1キャッシュ116_1のデータ“Data2_1”を第3キャッシュ118_1に転送する。その後、NAND型フラッシュメモリ100は、第2キャッシュ117及び第3キャッシュ118に格納されたデータを、メモリセルアレイ111にフルシーケンスで書き込む。
2.3 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様に処理能力を向上することができる。
更に本実施形態に係る構成では、第1キャッシュ116から第2キャッシュ117あるいは第3キャッシュ118にデータを転送する際、先に第2キャッシュ117あるいは第3キャッシュ118に格納されているデータとのOR演算を行うことができる。これにより更に処理能力を向上することができる。以下、本効果について具体的に説明する。
例えば既に第2キャッシュ117に格納されているデータに追加データが発生し、これに対しコントローラ200内でOR演算を行う場合、コントローラ200は、先に第2キャッシュ117に格納された既入力のデータを、一旦コントローラ200内に読み込み、追加データとOR演算した後に再度NAND型フラッシュメモリ100に送信する必要がある。より具体的には、(1)第2キャッシュ117から第1キャッシュ116へ既入力データを転送、(2)NAND型フラッシュメモリ100からコントローラ200へ既入力データを送信、(3)コントローラ200内において、既入力データと追加データのOR演算実施、(4)コントローラ200からNAND型フラッシュメモリ100へ演算後のデータ送信、(5)第1キャッシュから第2キャッシュ117への転送、という手順を必要とした。
これに対し本実施形態に係る構成では、追加データを第1キャッシュ116から第2キャッシュ117へ転送する際、OR演算を行うことで、上記手順(1)〜(5)と同等の作業を行うことができる。よってOR演算が必要となった場合の処理時間を短縮できるため、処理能力を向上することができる。
更に本実施形態に係る構成では、センスユニット113内においてデータのOR演算ができるため、1ページのデータを複数回に分割して転送することができる。例えば1ページ16Kバイトのデータ長に対して、コントローラ200は、4Kバイトのデータを4回に分けて送信する事ができる。よって、コントローラ200からNAND型フラッシュメモリ100に一度に送信できるデータ長よりも、NAND型フラッシュメモリ100の1ページあたりのデータ長を大きくすることができる。よって、コントローラ200からの送信可能なデータ量によらずNAND型フラッシュメモリ100の記憶容量を増加することができる。
更に本実施形態に係る構成では、既にデータが格納されている第2キャッシュ117あるいは第3キャッシュ118に対してデータの上書き処理をすることができる。これにより処理能力を向上することができる。以下、本効果につき具体的に説明する。
例えばフルシーケンスで書き込み動作を行う際、コントローラ200からNAND型フラッシュメモリ100へのデータ送信順序が固定されているものとする。このような場合、例えば第2キャッシュ117に格納されたデータの上書きが必要となった場合、コントローラ200は、一旦センスユニット113内に格納されたデータをコントローラ200内に全て読み込み、データの上書きを行った上で、データを最初から送信し直す必要がある。
これに対し、本実施形態に係る構成では、コントローラ200からNAND型フラッシュメモリ100へのデータ送信順序が固定されていないため、既にデータが格納されている例えば第2キャッシュ117に対して別のデータをそのまま上書き処理することができる。よって、センスユニット113内に保持されたデータをコントローラ200内に再度読み込む必要はなく、データを最初から送信し直す必要もないため、上書きが必要となった場合の処理時間を短縮でき、処理能力を向上することができる。
なお本実施形態では、OR演算を行う場合について説明したが、論理積(AND)演算、排他論理積(NAND)演算、排他論理和(NOR)演算等の他の論理演算を行っても良い。この場合、コマンド“TC5”及び信号CMD_TC5とは異なる別のコマンド及び信号を追加しても良い。
3. 第3実施形態
次に、第3実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、第1及び第2実施形態において、マルチプレーンプログラムを実行する際、第1あるいは第2ページのデータが無い場合について示すものである。以下、第1実施形態と異なる点についてのみ説明する。
3.1 メモリシステムの全体構成について
本実施形態におけるメモリシステムの構成について説明する。第1実施形態と異なる点は、コントローラ200からNAND型フラッシュメモリ100に送信されるコマンド“TC9”と、コマンド“TC9”に対応して、コマンドデコーダ126からメモリセル制御レジスタ130を介してセンスユニット113に送信される信号CMD_TC9とが追加される点である。コマンド“TC9”は、選択されていないプレーンPLNの第1キャッシュ116のデータを初期化(例えばALL“1”)して転送するコマンドである。信号CMD_TC9は、コントローラ200からコマンド“TC9”を受信した場合に“H”レベルとされる。
3.2 書き込み動作について
本実施形態における書き込み動作について、図10及び図11を用いて説明する。本実施形態では、マルチプレーンプログラムを例に、プレーンPLN1の第1ページのデータが無い場合について説明する。
図10に示すように、まず1回目のデータ送信(図10の参照符号(a))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_0”、データ“Data1_0”、コマンド“TC9”を送信する。
NAND型フラッシュメモリ100では、1回目のデータ受信後(図10及び図11の参照符号(1))、アドレス信号“Address1_0”に対応して信号DoPLN0は“H”レベルとされる。また、コマンド“TC9”に対応して信号CMD_TC9が“H”レベルとされる。
センスユニット113は、プレーンPLN0の第1キャッシュ116_0に1データ“Data1_0”を格納した後、第2キャッシュ117_0に転送する。またセンスユニット113は、信号CMD_TC9に応じて、第1キャッシュ116_1を初期化(ALL“1”)し、第2キャッシュ117_1に初期化データ(ALL“1”)を転送する。以下、コマンド“TC9”に応じたビジー状態の期間を、tBUSY4とする。期間tBUSY4は、第1キャッシュに入力あるいは初期化されたデータを転送するので、期間tBUSY1と処理時間はほとんど同じである。
次に2回目のデータ受信後(図10及び図11の参照符号(2))、センスユニット113は、第1キャッシュ116_0に第2データ“Data2_0”を格納する。
次に3回目のデータ送信(図10の参照符号(c))において、コントローラ200は、コマンド“C1”、アドレス信号“Address2_1”、データ“Data2_1”、コマンド“C4”を送信する。
3回目のデータ受信後(図10及び図11の参照符号(3))、アドレス信号“Address2_1”に応じて信号DoPLN1及び信号PLN1_PG2が“H”レベルとされる。また、信号DoPLN0及び信号PLN0_PG2は、2回目のデータ受信後の状態を維持し、“H”レベルとされる。
センスユニット113は、まず第1キャッシュ116_1にデータ“Data2_1”を格納する。次にセンスユニット113は、第1キャッシュ116_0及び第1キャッシュ116_1に格納されているデータ“Data2_0”及びデータ“Data2_1”を、第3キャッシュ118_0及び118_1に転送する。その後、NAND型フラッシュメモリ100は、第2キャッシュ117及び第3キャッシュ118のデータをメモリセルアレイ111に書き込む。
なお、コマンドTC9に応じて、選択されていないプレーンPLNでは第1キャッシュ116を初期化して転送する場合について説明したが、最初の書き込みデータ受信前に第1乃至第3キャッシュ116〜118は全て初期化されても良い。この場合、選択されていないプレーンPLNでの初期化データの転送処理は不要となるため、コマンド“TC9”を省略しても良い。また選択されていないプレーンPLNの第1キャッシュを初期化する場合を説明したが、コントローラ200からの命令により、第1キャッシュを初期化するプレーンPLNが選択されても良い。
3.3 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様に処理能力を向上することができる。
更に本実施形態に係る構成では、データが無いページが含まれている場合においても書き込み動作をおこなうことができる。これにより更に処理能力を向上することができる。以下、本効果について具体的に説明する。
例えば、フルシーケンスで書き込み動作を行う際、コントローラ200からNAND型フラッシュメモリ100へのデータ送信順序が固定されているものとする。このような場合、データの無いページが存在すると、送信順序通りのデータ転送ができないため、書き込みができなくなる。これに対し、例えばコントローラ200内においてデータが無いページに対しダミーデータを作成し、NAND型フラッシュメモリ100に送信する方法が考えられる。但し、ダミーデータを作成した場合、コントローラ200からNAND型フラッシュメモリ100へのダミーデータの送信が必要となるため、その分、コントローラ200からNAND型フラッシュメモリ100へのデータ転送回数が多くなり処理時間が長くなる。
これに対し、本実施形態に係る構成では、データが無いページに対しては、初期化された第1キャッシュ116のデータ(ALL“1”)を入力することができる。また、コントローラ200からデータを送信する順序が固定されていないため、コントローラ200からNAND型フラッシュメモリへのダミーデータの送信を省略することができる。よって処理時間を短縮でき、処理能力を向上することができる。
4. 第4実施形態
次に、第4実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、第1乃至第3実施形態において、第2キャッシュ117と第3キャッシュ118のデータを入れ替えるものである。以下、第1実施形態と異なる点についてのみ説明する。
4.1 メモリシステムの全体構成について
本実施形態におけるメモリシステムの構成について説明する。第1実施形態と異なる点は、コントローラ200からNAND型フラッシュメモリ100に送信されるコマンド“TC7”と、コマンド“TC7”に対応して、コマンドデコーダ126からメモリセル制御レジスタ130を介してセンスユニット113に送信される信号CMD_TC7とが追加される点である。コマンド“TC7”は、第2キャッシュ117と第3キャッシュ118のデータを入れ替えるコマンドである。信号CMD_TC7は、コントローラ200からコマンド“TC7”を受信した場合に“H”レベルとされる。
4.2 書き込み動作について
本実施形態における書き込み動作について、図12及び図13を用いて説明する。本実施形態では、プレーンPLN0においてフルシーケンスを実行する際、第2キャッシュ117_0と第3キャッシュ118_0とのデータを入れ替える場合を例に説明する。
図12に示すように、まず1回目のデータ受信後(図12及び図13の参照符号(1))、センスユニット113は、第2キャッシュ117_0にデータ“Data1_0”を格納する。
次に2回目のデータ受信後(図12及び図13の参照符号(2))、センスユニット113は、第3キャッシュ118_0にデータ“Data2_0”を格納する。
次に3回目のデータ送信(図12の参照符号(c))において、コントローラ200は、コマンド“TC7”を送信する。
3回目のデータ受信後(図12及び図13の参照符号(3))、プレーンPLN0に対応する信号DoPLN0が“H”レベルとされる。また、コマンド“TC7”に対応して信号CMD_TC7が“H”レベルとされる。
センスユニット113は、第2キャッシュ117_0及び第3キャッシュ118_0にそれぞれ格納されているデータ“Data1_0”及びデータ“Data2_0”を入れ替える。具体的にはセンスユニット113は、例えば第2キャッシュ117_0に格納されているデータ“Data1_0”を第1キャッシュ116_0に転送した後、第3キャッシュ118_0に格納されているデータ“Data2_0”を第2キャッシュ117_0に転送する。その後センスユニット113は、第1キャッシュ116_0に格納されているデータ“Data1_0”を第2キャッシュ117_0に転送する。なお、入れ替えの手順については、例えば最初に第3キャッシュ118に格納されているデータが第1キャッシュ116に転送されても良く、入れ替えの手順については限定しない。NAND型フラッシュメモリ100は、データを入力中、もしくは入力完了をして、メモリセルアレイ111に実際の書き込みを開始するまでの期間に、既にキャッシュ内に格納されたデータが任意に入れ替え可能な構成であれば良い。以下、コマンド“TC7”に応じたビジー状態の期間を、tBUSY5とする。期間tBUSY5は、第1乃至第3キャッシュ116〜118において、例えば複数回のデータ転送が必要なため、処理時間は期間tBUSY1よりも長くなる。
次に4回目の送信(図12の参照符号(d))において、コントローラ200は、コマンド“C1”、アドレス信号“Address2_0”、コマンド“C4”を送信する。既に第2キャッシュ117_0及び第3キャッシュ118_0にはデータが格納されているため、コントローラ200からNAND型フラッシュメモリ100に、データは送信されない。
4回目の受信後(図12及び図13の参照符号(4))、データの受信が無いため、アドレス信号“Address2_0”によらず、信号DoPLN0は“L”レベルとされる。
NAND型フラッシュメモリ100は、メモリセルアレイ111_0に、第2キャッシュ117_0に格納されているデータ“Data2_0”を第1ページとして書き込み、第3キャッシュ118_0に格納されているデータ“Data1_0”を第2ページとして書き込む。
なお、本実施形態において、コマンド“TC7”に応じて第2キャッシュ117と第3キャッシュ118のデータを入れ替えたが、第2キャッシュ117と第3キャッシュ118の役割を入れ替えても良い。すなわち、コマンド“TC7”に応じて、第2キャッシュ117が第2ページのデータを格納するキャッシュとして機能し、第3キャッシュ118が第1ページのデータを格納するキャッシュとして機能しても良い。この場合、データの入れ替えは不要となる。
更に、4回目の送信において、アドレス信号“Address2_0”が送信されたが、アドレス信号“Address2_1”でも良く、メモリセルアレイ111_0のアドレス情報が含まれていれば良い。
4.3 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様に処理能力を向上することができる。
更に本実施形態に係る構成では、第2キャッシュ117と第3キャッシュとのデータを入れ替えることができる。これにより更に処理能力を向上することができる。以下、本効果について具体的に説明する。
例えば、フルシーケンスで書き込み動作を行う際、コントローラ200からNAND型フラッシュメモリ100へのデータ送信順序が固定されているものとする。このような場合、データを書き込むページ(第1ページと第2ページ)を入れ替えようとすると、コントローラ200は、第2キャッシュ117と第3キャッシュのデータを、コントローラ200内に読み込んでデータの送信順序に合わせてデータを再度送信し直す必要がある。
これに対し、本実施形態に係る構成では、コントローラ200からNAND型フラッシュメモリ100にデータを送信する順序が固定されていないため、第2キャッシュ117と第3キャッシュ118のデータを入れ替えるだけで、書き込むページを入れ替えることができる。このため、コントローラ200がデータを一旦読み戻してから再送信する必要がなくなるため処理時間を短くすることができ、処理能力を向上することができる。
更に、本実施形態に係る構成では、データの信頼性を向上することができる。例えばメモリセルアレイ111において、第1ページよりも第2ページの方が書き込み不良の発生率が高い場合、コントローラ200は、第1ページと第2ページに書き込むデータを入れ替えて、より重要なデータを不良発生率の低い第1ページに書き込むことにより、データの信頼性を向上することができる。
5. 第5実施形態
次に、第5実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、第1乃至第4実施形態において、第2キャッシュ117と第3キャッシュ118へのデータ入力順序を入れ替えたものである。以下、第1実施形態と異なる点についてのみ説明する。
5.1 書き込み動作について
本実施形態における書き込み動作について、図14及び図15を用いて説明する。本実施形態では、プレーンPLN0においてフルシーケンスを実行する際、第3キャッシュ118_0にデータを格納した後、第2キャッシュ117_0にデータを格納する場合を例に説明する。
図14に示すように、まず1回目のデータ受信後(図14及び図15の参照符号(1))、センスユニット113は、第3キャッシュ118_0に第1データ“Data1_0”を格納する。
次に2回目のデータ送信(図14の参照符号(b))において、コントローラ200は、コマンド“C1”、アドレス信号“Address1_0”、プレーンPLN0の第2データ“Data2_0”、コマンド“C4”を送信する。
2回目のデータ受信後(図14及び図15の参照符号(2))、センスユニット113は、第2データ“Data2_0”をプレーンPLN0の第1キャッシュ116_0に格納した後、第2キャッシュ117_0に転送する。その後、NAND型フラッシュメモリ100は、プレーンPLN0の対象となるメモリセルトランジスタMTに対して、第2キャッシュ117_0に格納されているデータ“Data2_0”を第1ページに書き込み、第3キャッシュ118_0に格納されているデータ“Data1_0”を第2ページに書き込む。
5.2 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様に処理能力を向上することができる。
6. 第6実施形態
次に、第6実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、第1乃至第5実施形態において、第2キャッシュ117あるいは第3キャッシュ118に格納されているデータをコントローラ200が読み出すものである。以下、第1実施形態と異なる点についてのみ説明する。
6.1 メモリシステムの全体構成について
本実施形態におけるメモリシステムの構成について説明する。第1実施形態と異なる点は、コントローラ200からNAND型フラッシュメモリ100に送信されるコマンド“TC8”と、コマンド“TC8”に対応して、コマンドデコーダ126からメモリセル制御レジスタ130を介してセンスユニット113に送信される信号CMD_TC8とが追加される点である。コマンド“TC8”は、第2キャッシュ117あるいは第3キャッシュ118に格納されたデータを保持しつつ、第1キャッシュ116に転送して、コントローラ200が第1キャッシュ116のデータを読み込むコマンドである。信号CMD_TC8は、コントローラ200からコマンド“TC8”を受信した場合に“H”レベルとされる。
6.2 書き込み動作について
本実施形態における書き込み動作について、図16及び図17を用いて説明する。本実施形態では、プレーンPLN0においてフルシーケンスを実行する際、第2キャッシュ117_0のデータをコントローラ200が読み込む場合を例に説明する。
図16に示すように、1回目のデータ受信後(図16及び図17の参照符号(1))、センスユニット113は、第2キャッシュ117_0に第1データ“Data1_0”を格納する。
次に2回目のデータ受信後(図16及び図17の参照符号(2))、第3キャッシュ118_0に第2データ“Data2_0”を格納する。
次に3回目の送信(図16の参照符号(c))において、コントローラ200は、コマンド“TC8”を送信する。
3回目の受信後(図16及び図17の参照符号(3))、信号DoPLN0が“H”レベルとされる。また、コマンド“TC8”に対応して信号CMD_TC8が“H”レベルとされる。
センスユニット113は、信号DoPLN0が“H”レベル、信号PLN0_PG2が“L”レベルのため、第1キャッシュ116_0に第2キャッシュ117_0のデータ“Data1_0”を転送する。この際、キャッシュ117_0はデータが保持される。そしてNAND型フラッシュメモリ100は、第1キャッシュ116_0のデータ(“Data1_O_OUT”)をコントローラ200に送信する。以下、コマンド“TC8”に応じたビジー状態の期間を、tBUSY6とする。期間tBUSY6は、NAND型フラッシュメモリ100からコントローラ200へのデータ出力動作を含むため、処理時間は期間tBUSY1よりも長くなる。
次に4回目の送信(図16の参照符号(d))において、コントローラ200は、コマンド“C1”、アドレス信号“Address2_0”、コマンド“C4”を送信する。
NAND型フラッシュメモリ100は、第2キャッシュ117_0と第3キャッシュ118_0に格納されているデータをメモリセルアレイ111_0に書き込む。
なお、本実施形態では、アドレス信号(信号DoPLN0及び信号PLN0_PG2)に応じて、第2キャッシュ117_0から第1キャッシュ116_0にデータを転送する場合について説明したが、コントローラ200は、コマンドにより第2キャッシュ117あるいは第3キャッシュ118を指定しても良い。より具体的には例えばコントローラ200は、第2キャッシュ117から第1キャッシュ116にデータを転送させる場合、コマンド“TC8_1”とし、第3キャッシュ118から第1キャッシュ116にデータを転送させる場合、コマンド“TC8_2”としても良い。また、例えば図16の3回目の送信において、コントローラ200は、コマンド“TC8”を送信する前に、第2キャッシュ117あるいは第3キャッシュ118を指定するためのアドレス信号を送信しても良い。また、例えばNAND型フラッシュメモリ100は、コマンド“TC8”に応じて、第2キャッシュ117のデータを第1キャッシュ116に転送しても良い。この場合、例えば第3キャッシュのデータは、コマンド“TC7”に応じたデータの入れ替え動作と“TC8”に応じたデータの転送動作とを続けて行うことにより、第2キャッシュ117を介して第1キャッシュ116にデータを転送することができる。このようにキャッシュの指定方法については限定しない。
更に、第2キャッシュ117及び第3キャッシュ118は、データ転送後、データを保持していなくても良い。すなわち、第2キャッシュ117及び第3キャッシュ118では、第1キャッシュ116へのデータ転送後、格納されていたデータが消去されても良い。
更に、コマンド“TC8” は、データを第1キャッシュ116に転送して、コントローラ200に読み込むコマンドとしたが、コマンド“TC8”は第1キャッシュ116へのデータ転送を命令するコマンドとし、第1キャッシュ116からコントローラ200へのデータ読み出しは別のコマンドにより命令されても良い。
6.3 本実施形態に係る効果について
本実施形態に係る構成であると、第1実施形態と同様に処理能力を向上することができる。
更に本実施形態に係る構成では、コントローラ200は、第2キャッシュ117及び第3キャッシュ118からデータを読み出すことができる。よって、第2キャッシュ117及び第3キャッシュ118をコントローラ200のメモリ領域として用いることができ、コントローラ200の処理能力を向上することができる。
例えばコントローラ200は、ホスト機器から入力された書き込みデータを第2キャッシュ117あるいは第3キャッシュ118内に一旦格納し、その間、別の処理を行うことができる。これによりコントローラ200内のメモリ領域を効率良く利用し、処理能力を向上することができる。また、例えばECC回路206でECC処理用の訂正データを作る際、コントローラ200は、第2キャッシュ117あるいは第3キャッシュ118に格納したデータを読み出して、ECC処理用の訂正データを作成し、書き込みデータにECC処理用のコードを付加した後に、第2実施形態で説明したようなデータの上書きによりデータを更新することができる。このようにデータの取り扱いに自由度を持たせることでメモリシステム全体の処理の効率を改善できる。
7. 第7実施形態
次に、第7実施形態に係る半導体記憶装置及びメモリシステムについて説明する。本実施形態は、フルシーケンス動作について具体的に説明する。なお本実施形態では、NAND型フラッシュメモリの一例として、三次元積層型NAND型フラッシュメモリを例に挙げて説明する。
<不揮発性半導体記憶装置の構成>
図22を用いて、第7実施形態に係わる三次元積層型不揮発性半導体記憶装置について説明する。
本実施形態の三次元積層型不揮発性半導体記憶装置(メモリシステムとも称す)1100は、メモリコントローラ1110と、NAND型フラッシュメモリ1120と、を有する。
<メモリコントローラ>
メモリコントローラ1110は、ホストインターフェイス1111、RAM(Random Access Memory)1112、ECC(Error Correcting Code)回路1113、CPU(Central Processing unit)1114、ROM(Read Only Memory)1115、フラッシュメモリインターフェイス1116を含んでいる。
メモリコントローラ1110は、NAND型フラッシュメモリ1120の動作に必要なコマンドなどを出力し、NAND型フラッシュメモリ1120からのデータの読み出し、NAND型フラッシュメモリ1120へのデータの書込み、またはNAND型フラッシュメモリ1120のデータの消去を行う。
ホストインターフェイス1111は、データバスを介してパーソナルコンピュータ等のホストデバイス(外部機器)1200と接続されている。このホストインターフェイス1111を介して、ホストデバイス1200とメモリシステム1100との間でデータの送受信等が行われる。
RAM1112は、例えば揮発性のメモリであり、例えばCPU1114が動作するための動作プログラム等を格納している。
ECC(Error Correcting Code)回路1113は、ホストデバイス1200からデータを受け取り、データにエラー訂正符号を付加し、エラー訂正符号を付されたデータを、例えばフラッシュメモリインターフェイス1116に供給する。また、ECC回路1113は、NAND型フラッシュメモリ1120から供給されたデータをフラッシュメモリインターフェイス1116を介して受け取り、このデータに対してエラー訂正符号を用いてエラー訂正を行う。
CPU(Central Processing unit)1114は、メモリシステム1100の全体の動作を司る。CPU1114はRAM1112及びROM1115に格納されたデータに基づいてNAND型フラッシュメモリ1120を制御する。
ROM(Read Only Memory)1115は、不揮発性のメモリであり、例えばCPU1114が動作するための動作プログラム等を格納している。
フラッシュメモリインターフェイス1116には、データバスを介してNAND型フラッシュメモリ1120が接続されている。
<NAND型フラッシュメモリ>
NAND型フラッシュメモリ1120は、入出力バッファ(Input / Output buffer)1121、制御回路(Control Circuit)1122、カラムアドレスバッファ/カラムデコーダ(Column address buffer / Column decoder)1123、フェイルビットカウンタ回路(Fail bit counter circuit)1124、データラッチ回路(Data Latch Circuit)1125、センスアンプ(Sense Amplifier)1126、ロウアドレスバッファ(Row Address Buffer)1127、ロウデコーダ(Row Decoder)1128、及びメモリセルアレイ(Memory Cell Array)1130を備えている。
メモリセルアレイ1130は、複数の不揮発性のメモリセルトランジスタが半導体基板に対して垂直方向に積層された三次元積層型不揮発性半導体記憶装置である。メモリセルアレイ1130の詳細な構成については後述する。
センスアンプ1126は、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたデータを、SENノード(不図示)にてセンスする。またセンスアンプ1126は、データの書込み時には、センスアンプのSENノードに書き込みデータに応じた書き込み電圧をセットする。メモリセルアレイ1130へのデータの読み出し及び書込みは、複数のメモリセルトランジスタ単位で行われる。センスアンプ1126は、カラムアドレスバッファ/カラムデコーダ1123から入力されるビット線選択信号を受信し、ビット線選択トランジスタを介してビット線BLの何れかを選択して駆動する。
データラッチ回路1125は、それぞれSRAM等で構成される第1キャッシュ(cache)1125a、第2キャッシュ1125b、及び第3キャッシュ1125cを備えている。第1キャッシュ1125a、第2キャッシュ1125b、及び第3キャッシュ1125cは、それぞれ、メモリコントローラ1110から供給されたデータや、センスアンプ1126によって検知されたベリファイ結果等を格納する。
フェイルビットカウンタ回路1124は、データラッチ回路1125に格納されているベリファイの結果からプログラムが完了していないビット数をカウントする。
カラムアドレスバッファ/カラムデコーダ1123は、メモリコントローラ1110から入出力バッファ1121を介して入力されるカラムアドレス信号を一時的に格納する。そして、カラムアドレス信号に従ってビット線BLの何れかを選択する選択信号をセンスアンプ1126に出力する。
ロウデコーダ1128は、ロウアドレスバッファ1127を介して入力されるロウアドレス信号をデコードし、メモリセルアレイのワード線WL及びセレクトゲート線SGD、SGSを選択して駆動する。また、このロウデコーダ1128は、メモリセルアレイ1130のブロックを選択する部分とページを選択する部分を有する。
なお、本実施形態のNAND型フラッシュメモリ1120は、図示せぬ外部入出力端子I/Oを有し、この外部入出力端子I/Oを介して入出力バッファ1121とメモリコントローラ1110とのデータの授受が行われる。外部入出力端子I/Oを介して入力されるアドレス信号は、ロウアドレスバッファ1127を介してロウデコーダ1128及びカラムアドレスバッファ/カラムデコーダ1123に出力される。
制御回路1122は、メモリコントローラ1110を介して供給される各種外部制御信号(書込みイネーブル信号WEn、読み出しイネーブル信号REn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE等)とコマンドCMDに基づき、データの書込み及び消去のシーケンス制御、及び読み出し動作を制御する。また、制御回路1122は、レジスタ等を備えており、例えばフェイルビットカウンタ回路1124によってカウントされた値に関係する値や、プログラム電圧印加回数に関係した値を格納している。そして、制御回路1122は、プログラムが完了していないビット数と、設定された許容フェイルビット数とを比較して、プログラム動作がパスしたかフェイルであるかの判断を行う。また、制御回路1122は、内部にプログラムパルス印加回数をカウントするカウンタを備えている。そして、制御回路1122は、カウントしたプログラムパルス印加回数と、レジスタに格納されたプログラムパルス印加回数とを比較する。
<メモリセルアレイ>
図23に示すように、メモリセルアレイ1130は、それぞれがワード線及びビット線に関連付けられた複数の不揮発性メモリセルの集合である複数(図23の例では3個)のブロックBLK(BLK0、BLK1、BLK2、…)を備えている。
ブロックBLKの各々は、メモリセルが直列接続されたNANDストリング1131の集合である複数のストリングユニットSU(SU0、SU1、SU2、…)を備えている。もちろん、メモリセルアレイ1130内のブロック数や、1ブロックBLK内のストリングユニット数は任意である。
次に、図24を用いて、ブロックBLK0の回路図について説明する。
図24に示すように、ブロックBLK0は例えば4つのストリングユニットSU(SU0〜SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリング1131を含む。
NANDストリング1131の各々は、例えば8個のメモリセルトランジスタMT(MT0〜MT7)と、選択トランジスタST1、ST2と、バックゲートトランジスタBTとを含んでいる。
メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。
バックゲートトランジスタBTは、メモリセルトランジスタMTと同様に、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。バックゲートトランジスタBTはデータを保持するためのものでは無く、データの書込み、読み出し、及び消去時には単なる電流経路として機能する。
メモリセルトランジスタMT及びバックゲートトランジスタBTは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。なおバックゲートトランジスタBTは、メモリセルトランジスタMT3とMT4との間に設けられる。この直列接続の一端側のメモリセルトランジスタMT7の電流経路は選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトランジスタMT0の電流経路は選択トランジスタST2の電流経路の一端に接続されている。
ストリングユニットSU0〜SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に接続され、選択トランジスタST2のゲートは、それぞれセレクトゲート線SGS0〜SGS3に接続される。これに対して同一のブロックBLK0内にあるメモリセルトランジスタMT0〜MT7の制御ゲートはそれぞれワード線WL0〜WL7に共通接続される。また、ストリングユニットSU0〜SU3の各々のバックゲートトランジスタBTの制御ゲートはバックゲート線BGに共通接続される。
すなわち、ワード線WL0〜WL7及びバックゲート線BGは同一ブロックBLK0内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレクトゲート線SGD、SGSは、同一ブロックBLK0内であってもストリングユニットSU0〜SU3毎に独立している。
また、メモリセルアレイ1130内でマトリクス状に配置されたNANDストリング1131のうち、同一行にあるNANDストリング1131の選択トランジスタST1の電流経路の他端は、いずれかのビット線BL(BL0〜BL(L−1)、(L−1)は1以上の自然数)に共通接続される。すなわち、ビット線BLは、複数のブロックBLK間で、NANDストリング1131を共通に接続する。また、選択トランジスタST2の電流経路の他端は、ソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間で、NANDストリング1131を共通に接続する。
前述の通り、同一のブロックBLK内にあるメモリセルトランジスタMTのデータは、一括して消去される。これに対してデータの読み出し及び書込みは、いずれかのブロックBLKのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。このデータの書込み単位を「ページ」と呼ぶ。
図25を用いてメモリセルアレイ1130の一構成例について簡単に説明する。図25に示す構造が、図25を記載した紙面の奥行き方向(D2)に複数配列され、且つそれらがワード線WL、セレクトゲート線SGD及びSGS、並びにバックゲート線BGを共有して、1つのストリングユニットSUが形成される。
図25に示すように、半導体基板上方に、バックゲート線BGとして機能する導電層(例えば多結晶シリコン層)1021が形成される。更に導電層1021上には、ワード線WLとして機能する複数の導電層(例えば多結晶シリコン層)1023a〜1023dが形成される。更に導電層1023d上には、セレクトゲート線SGD及びSGSとして機能する導電層(例えば多結晶シリコン層)1027a及び1027bが形成される。
そして、上記導電層1027a、1027b、及び1023a〜1023dを貫通するようにしてメモリホールが形成される。このメモリホールの側面には、ブロック絶縁膜1025a、電荷蓄積層(絶縁膜)1025b、及びゲート絶縁膜1025cが順次形成され、更にメモリホール内を導電膜1026a、1026bが埋め込んでいる。導電膜1026a、1026bは、NANDストリング1131の電流経路として機能し、メモリセルトランジスタMTの動作時にチャネルが形成される領域である。
更に、導電膜1026a上には導電膜1030a及び1030bが形成され、導電膜1030a上にはソース線層1031が形成され、導電膜1030b上には導電膜1032を介してビット線層1033が形成される。
<メモリセルトランジスタの閾値分布について>
次に、図26を用いて、本実施形態に係るメモリセルトランジスタMTの取りうる閾値分布について説明する。
図26示すようにメモリセルトランジスタMTは、その閾値に応じて例えば2ビットのデータを保持可能である。この2ビットデータは、閾値の低いものから順番に、例えば“E”レベル、“A”レベル、“B”レベル、及び“C”レベルである。また、各レベルは、上位ビット及び下位ビットの2ビットのアドレスをもつ。例えば“E”は“11”と番号付けされ、“A”は“01”と番号付けされ、“B”は“00”と番号付けされ、“C”は“10”と番号付けされる。“11”、“01”、“00”、及び“10”は、左側の数字が上位ビット、右側の数字が下位ビットに割り当てられる。本実施形態では、下位ビットのデータの書込み単位を「下位ページ」と呼ぶ。また、上位ビットのデータの書込み単位を「上位ページ」と呼ぶ。
“E”レベルは、データが消去された状態における閾値であり、例えば負の値を有し(正の値を有していても良い)、ベリファイ電圧EVよりも低い。“A”〜“C”レベルは、電荷蓄積層内に電荷が注入された状態の閾値であり、“A”レベルは読み出しレベル“AR”よりも高く、且つ読み出しレベル“BR”より低い閾値を有する。“B”レベルは、読み出しレベル“BR”よりも高く、且つ読み出しレベル“CR”より低い閾値を有する。“C”レベルは、読み出しレベル“CR”よりも高い閾値を有する。
このように、4つの閾値レベルを取り得ることにより、個々のメモリセルトランジスタMTは2ビットのデータ(4-level data)を記憶出来る。
図26(a)に示すように、メモリセルトランジスタMTの消去状態の分布は、“E”レベルである。
下位ページ書込みが行われると、図26(a)に示す1値の閾値分布が、図26(b)に示す2値の閾値分布に変化する。 電圧“MR”をワード線に供給して読み出し動作を行なうことで、メモリセルの閾値電圧が電圧“MR”よりも高いか低いか判別できる。その結果、データを読み出すことができる。
上位ページ書込みが行われると、図26(b)に示す2値の閾値分布が、図26(c)に示すように、4値の閾値分布に変化する。
<第7実施形態に係るデータの書込み動作について>
次に、本実施形態に係るデータの書込み動作につき、図27を参照して説明する。書込み動作は、電荷を電荷蓄積層に注入して閾値を上昇させるプログラム動作と、プログラム動作の結果としての閾値分布の変化を確認するプログラムベリファイ動作とを含む。なお図27に示す処理は、主に制御回路1122の制御によって実行される。
[S101]
NAND型フラッシュメモリ1120は、メモリコントローラ1110から書込みコマンド、下位ページのアドレス、下位ページのデータ、及び書込み開始コマンドを順に受信する。その際、制御回路1122は、第3キャッシュ1125cに、下位ページのデータを展開する。これとともに第2キャッシュ1125bにも下位ページのデータを展開する。この利用については後述する。なお、以下では簡単のために、書込みコマンド、アドレス、データ、及び書込み開始コマンドをまとめて「コマンドシーケンス」等と称す。
次に、制御回路1122は、書込み開始コマンドを受信すると、下位ページのプログラム動作を開始する。具体的には、制御回路1122の命令に応答して、ロウデコーダ1128が選択ワード線WLにプログラム電圧VPGM(初回のプログラム印加は、電圧VPGM(initial for lower))を印加し、センスアンプ1126がビット線BLに書き込みデータに応じた電圧を印加する。これにより、第3キャッシュ1125cに展開したデータがメモリセルトランジスタMTにページ単位でプログラムされる。
[S102]
次に、制御回路1122の命令に応答して、ロウデコーダ1128は、ベリファイ電圧VPVFYを選択ワード線WLに印加して、プログラムベリファイ動作を実行する。ベリファイの結果は第3キャッシュ1125cに格納し、ここに都度上書きしていく。
[S103]
制御回路1122は、2ビットプログラム(書き込み)動作(フルシーケンス)へ移行可能か否かの判定を行う。2ビットプログラムとは、メモリセルトランジスタMTに対して下位ページのデータと上位ページのデータとを併せて書込む動作の事を意味する。
下記に、制御回路1122による当該判定方法について説明する。
{方法1}制御回路1122は、メモリコントローラ1110から、当該下位ページと同一のワード線WLに属する上位ページに関するコマンドシーケンス(書込みコマンド、上位ページのアドレス、上位ページのデータ、及び書込み開始コマンド)を受信したか否かを判定する。制御回路1122は、当該上位ページのデータを受信した場合、第1キャッシュ1125aに、当該上位ページのデータを展開する。なお、以下では、簡単のために書込み動作が行われている下位ページと同一のワード線WLに属する上位ページの事を単に「上位ページ」と称す。
{方法2}制御回路1122は、ステップS102のプログラムベリファイによってデータを読み出す。そして制御回路1122は、メモリセルトランジスタMTの閾値が所望の値まで上昇しているか否かを、読み出しデータに基づいて確認する。制御回路1122は、プログラムが完了していないビット数と、制御回路1122のレジスタ内に設定された所定のビット数とを比較する。
{方法3}制御回路1122は、ステップS101の下位ページのプログラム動作(またはプログラム動作及びプログラムベリファイ動作を含む書込み動作)の回数(パルスの印加回数、またはループ回数ともいう)をカウントし、所定の回数を超えたか否かの判定を行う。
制御回路1122は、方法1(判定方法1)、または方法1及び方法2の組み合わせ(判定方法2)、または方法1及び方法3の組み合わせ(判定方法3)、または方法1〜方法3の組み合わせ(判定方法4)を行う事により2ビットプログラム動作へ移行可能か否かの判定を行う。
{判定方法1}
制御回路1122が判定方法1を用いる場合の例について説明する。制御回路1122は、上位ページに関連するコマンドシーケンスを受信したと判定する場合(ステップS103、YES)、2ビットプログラム動作へ移行可能であるとしてステップS106に移行する。制御回路1122は、当該コマンドシーケンスを受信していないと判定する場合(ステップS103、NO)、2ビットプログラム動作へ移行可能でないとしてステップS104に移行する。
{判定方法2}
次に、制御回路1122が判定方法2を用いる場合の例について説明する。制御回路1122は、上位ページに関連するコマンドシーケンスを受信し、且つプログラムが完了していないビット数が、所定のビット数以下であると判定する場合(ステップS103、YES)、2ビットプログラム動作へ移行可能であるとしてステップS106に移行する。制御回路1122は、当該コマンドシーケンスを受信していない、若しくはプログラムが完了していないビット数が、所定のビット数よりも大きいと判定する場合(ステップS103、NO)、2ビットプログラム動作へ移行可能でないとしてステップS104に移行する。
{判定方法3}
次に、制御回路1122が判定方法3を用いる場合の例について説明する。制御回路1122は、上位ページに関連するコマンドシーケンスを受信し、且つプログラム動作の回数が所定値以上であると判定する場合(ステップS103、YES)、2ビットプログラム動作へ移行可能であるとしてステップS106に移行する。制御回路1122は、当該コマンドシーケンスを受信していない、若しくはプログラム動作の回数が所定値に達していないと判定する場合(ステップS103、NO)、2ビットプログラム動作へ移行可能でないとしてステップS104に移行する。
{判定方法4}
次に、制御回路1122が判定方法4を用いる場合の例について説明する。制御回路1122は、上位ページに関連するコマンドシーケンスを受信し、プログラムが完了していないビット数が、所定のビット数以下であり、且つプログラム動作の回数が所定値以上である場合(ステップS103、YES)、2ビットプログラム動作へ移行可能であるとしてステップS106に移行する。制御回路1122は、当該コマンドシーケンスを受信していない、若しくはプログラムが完了していないビット数が、所定のビット数よりも大きい、若しくはプログラムパルス印加回数が所定値に達していないと判定する場合(ステップS103、NO)、2ビットプログラム動作へ移行可能でないとしてステップS104に移行する。
さらに、制御回路1122は、少なくとも方法1の判定方法を含む限り、その他の判定方法を方法1に付加してもよい。
[S104]
ステップS103において、制御回路1122が、2ビットプログラム動作を行えないと判定する場合(ステップS103、NO)、制御回路1122は選択ページにおける全ビットがベリファイにパスしたか否かを判定する。
具体的には、制御回路1122は、ステップS102のプログラムベリファイによってデータを読み出す。そして制御回路1122は、メモリセルトランジスタMTの閾値が所望の値まで上昇しているか否かを、読み出しデータに基づいて確認する。以下、所望の値まで上昇していたビット、すなわちプログラムが完了していたビットと、上昇していなかったビット、すなわちプログラムが完了していなかったビットとを識別し、制御回路1122は、プログラムが完了していないビット数(フェイルビット数)と、設定された許容ビット数とを比較して、プログラム動作がパスしたかフェイルであるかを判定する。
制御回路1122は選択ページおけるプログラムベリファイがパスしていると判定する場合(ステップS104、YES)、当該ページに対する書込み動作を終了する。
なお、ステップS103において、制御回路1122が、上記方法2を行っている場合、ステップS104において方法2の判定結果を利用する。
[S105]
ステップS105において、制御回路1122は、プログラム動作がフェイルしていると判定する場合は(ステップS104、NO)、プログラムのループ回数が予め設定されている最大値であるか否かを判定する。制御回路1122は、プログラムのループ回数が最大値であると判定する場合(ステップS105、YES)、当該ページに対する書込み動作は終了する。
制御回路1122は、プログラムのループ回数が最大値でないと判定する場合(ステップS105、NO)、例えば制御回路1122は、プログラム電圧VPGM=(VPGM+ΔVx)に更新して、ステップS101に戻る。
[S106]
ステップS103において、制御回路1122が、2ビットプログラム動作を行えると判定する場合(ステップS103、YES)、制御回路1122は、下位ページ書込みを中断し、下位ページのデータ及びアドレス、並びに上位ページのデータ及びアドレスを用いて、2ビットプログラム動作を開始する。なお、2ビットプログラム動作への移行に際し、下位ページ書込みによって、図26(b)に示すような、2値の閾値分布が形成されている必要はない。
この際、下位ページ書込み動作時(ステップS101〜S105)においてステップアップしてきた下位ページプログラム用のプログラム電圧VPGMを、2ビットプログラム用の電圧に初期化する。なお、2ビットプログラム動作において初回のプログラム印加は、電圧VPGM(initial for 2bit)である。また、2ビットプログラム動作においては、前記格納した第2キャッシュ125bのデータをもとにした下位ページデータならびに第1キャッシュ125aに格納された上位ページデータをもとに書き込みを開始する。
[S107]
ステップS102と同様に、ロウデコーダ1128は、プログラムベリファイ動作を実行する。
[S108]
ステップS104と同様にして、そして制御回路1122は、プログラムベリファイ動作を行う。選択ページにおけるプログラムベリファイにパスすれば(ステップS108、YES)、当該ページに対する書込み動作は終了する。
[S109]
ステップS105と同様に、制御回路1122は、プログラム動作がフェイルしていると判定する場合は(ステップS108、NO)、プログラムのループ回数が最大値であるか否かを判定する。制御回路1122は、プログラムのループ回数が最大値であると判定する場合(ステップS109、YES)、当該ページに対する書込み動作を終了する。
制御回路1122は、プログラムのループ回数が最大値でないと判定する場合(ステップS109、NO)、例えば制御回路1122は、プログラム電圧VPGMを(VPGM+ΔVx)に更新して、ステップS106に戻る。
なお、2ビットプログラム時においても、下位ページプログラム時と同様に、プログラム電圧VPGMはΔVxずつステップアップしているが、必ずしもこれに限らない。このことは、以下の他の実施形態でも同様である。
<第7実施形態に係るデータの書込み動作の具体例1について>
次に、第7実施形態に係るデータの書込み動作の具体例1につき、図28を参照して説明する。具体例1では、ステップS103において、判定方法3を採用した場合の動作について説明する。図28に示すレディ/ビジーは、図示せぬNAND型フラッシュメモリ1120に設けられたピンの状態を示し、NAND型フラッシュメモリの内部動作でキャッシュが占有されているか否かを示す。たとえば”H”レベルであればすくなくとも1つキャッシュが解放されていて、たとえばデータ入力が可能であることを示す
[時刻T0]
時刻T0より、NAND型フラッシュメモリ1120は、メモリコントローラ1110から、下位ページに関連するコマンドシーケンス(書込みコマンド(80)、下位ページのアドレス、下位ページのデータ、及び書込み開始コマンド(15))の受信を開始する。
[時刻T1]
時刻T1より、制御回路1122は、第3キャッシュ1125cに、下位ページのデータの展開を開始する。時刻T1から時刻T2の間、NAND型フラッシュメモリ1120はビジー状態になる。
そして、ステップS101〜S105の動作が実行される。
[時刻T2]
本具体例1の場合、制御回路1122は、上位ページに関連するコマンドシーケンスを受信可能とし、且つ書込み動作の回数が所定の回数(ここでは、一例として3回)以上であると判定する場合、2ビットプログラム動作を開始するものとする。
[時刻T3]
時刻T3までに、メモリセルアレイ1130への下位ページの書込み動作が行われている間に、上位ページに関連するコマンドシーケンスがNAND型フラッシュメモリ1120に入力される。
[時刻T4]
時刻T4において、制御回路1122は、書込み動作が3回行われた後のステップS103に係る判定において、2ビットプログラム動作への移行することができると判定するため、2ビットプログラム動作を開始する。
2ビットプログラム動作の際、制御回路1122は、下位ページ書込み動作時(時刻T2〜時刻T3)においてステップアップしてきた下位ページプログラム用のプログラム電圧VPGM(VPGM(initial for lower)+ΔVx+ΔVx)を2ビットプログラム用の電圧に初期化する。なお、2ビットプログラム動作において初回のプログラム印加は、電圧VPGM(initial for 2bit)(電圧VPGM(initial for 2bit)<ステップアップしてきた下位ページプログラム用のプログラム電圧VPGM)である。
<第7実施形態に係るデータの書込み動作の具体例2について>
次に、第7実施形態に係るデータの書込み動作の具体例2につき、図29を参照して説明する。具体例2では、ステップS103において、判定方法3を採用した場合の動作について説明する。図29に示すレディ/ビジーは、NAND型フラッシュメモリ1120のレディ/ビジーを示している。 [時刻T0]〜[時刻T2]
図28で説明した時刻T0〜時刻T2の動作と同様である。
[時刻T4]
時刻T4において、書込み動作が3回行われた直後のステップS103において、未だ、上位ページに関連するコマンドシーケンスがNAND型フラッシュメモリ1120に入力されていない。そのため、制御回路1122は、2ビットプログラム動作へ移行できないと判定し、4回目の書込み動作に移行する。
[時刻T5]
時刻T5において、メモリセルアレイ1130への下位ページの書込み動作が行われている間に、上位ページに関連するコマンドシーケンスのNAND型フラッシュメモリ1120への入力が完了する。
[時刻T6]
制御回路1122は、プログラム動作が4回行われた後のステップS103に係る判定において、2ビットプログラム動作への移行することができると判定するため、2ビットプログラム動作を開始する。
<第7実施形態に係るデータの書込み動作の作用効果について>
上述した実施形態によれば、メモリセルアレイ1130への下位ページの書込み動作において、選択ページにおける全ビットがベリファイにパスしていなくても、所定の条件下で、2ビットプログラム動作を開始することができるメモリシステム1100を開示している。
より具体的には、メモリセルアレイ1130への下位ページの書込み動作が行われている間に、制御回路1122は、少なくとも当該下位ページと同一のワード線WLに属する上位ページに関連するコマンドシーケンス(書込みコマンド、アドレス、データ、及び書込み開始コマンド)を受信したか否かを判定する。
そして、制御回路1122が、少なくとも当該下位ページと同一のワード線WLに属する上位ページに関連するコマンドシーケンスを受信したと判定する場合は、下位ページのデータ及びアドレス、並びに上位ページのデータ及びアドレスを用いて、2ビットプログラム動作に移行する。
ところで、2ビット(4値)データを、書込む動作において、1ビットずつデータを書き込む方法がある。この際、図26(b)に示すように2ビットのうちのまず下位ページのデータが書き込まれ、次に図26(c)に示すように上位ページのデータが書き込まれる。しかしながら、このような書込み方法場合、下位ページのデータの書込みが終了するまでは、上位ページのデータの書込みに移行できない。
一方で、このように、上述した実施形態に係るメモリシステム1100を用いることによって、下位ページの書込みを終了する(2値の閾値分布を形成する)前に、2ビットプログラム動作を行うので、より高速に2ビット(4値)プログラムを行うことができる。これにより、より高速に書込み動作を行うことができる高品質なメモリシステム1100を提供することができる。
なお、第7実施形態によれば、制御回路1122は、ステップS102のプログラムベリファイ後に、ステップS103の判定を行っているがこれに限らない。例えば、制御回路1122は、ステップS103の判定は、ステップS101、S102と並列に実行しても良い。
また、制御回路1122は、ステップS102の下位ページに関するプログラムベリファイが終わった後に、2ビットプログラム動作に移行しているが、これに限らない。例えば、制御回路1122は、ステップS101のプログラム中、またはステップS102のプログラムベリファイ中に、2ビットプログラム動作に移行しても良い。しかしながら、ステップS102の下位ページに関するプログラムベリファイが終わった後のほうが、下位ページのプログラムベリファイ結果を把握でき、制御回路1122は、より望ましい移行タイミングを導出することができる。
8. 第8実施形態
続いて、図30及び図31を用いて、第8実施形態に係るメモリシステム1100について説明する。第8実施形態では、第7実施形態において、制御回路1122が、所定のコマンドを受信した場合、下位ページ書込み動作を行わず、一気に上位ページ書込み動作を行うものである。以下、第8実施形態において、上述した第7実施形態と略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
<第8実施形態に係るデータの書込み動作について>
次に、第8実施形態に係るデータの書込み動作につき、図30を参照して説明する。なお図30に示す処理は、主に制御回路1122の制御によって実行される。
[S201]
制御回路1122は、2ビットプログラム動作(フルシーケンス)に移行可能かを判定する。具体的には、制御回路1122は、メモリコントローラ1110から、書込み開始コマンドではなく待機コマンドを含むコマンドシーケンスを受信するか否かを判定する。
[S202]
制御回路1122は、メモリコントローラ1110から、待機コマンドを含まない、下位ページに関連するコマンドシーケンスを受信する場合(ステップS201、NO)、ステップS101と同様の動作を行う。
[S203]
次に、ロウデコーダ1128は、ステップS102と同様の動作を行う。
[S204]
続いて、制御回路1122は、ステップS104と同様の動作を行う。選択ページにおけるプログラムベリファイにパスすれば(ステップS204、YES)、当該ページに対する書込み動作は終了する。
[S205]
ステップS105と同様に、制御回路1122は、選択ページにおけるプログラムベリファイにフェイルしていると判定する場合は(ステップS204、NO)、プログラムのループ回数が最大値であるか否かを判定する。制御回路1122は、プログラムのループ回数が最大値であると判定する場合(ステップS205、YES)、当該ページに対する書込み動作を終了する。
制御回路1122は、プログラムのループ回数が最大値でないと判定する場合(ステップS205、NO)、例えば制御回路1122は、プログラム電圧VPGMを(VPGM+ΔVx)に更新して、ステップS202に戻る。
[S206]
ステップS201において、制御回路1122が、メモリコントローラ1110から、待機コマンド(1A)を含むコマンドシーケンスを受信する場合(ステップS201、YES)、下位ページの書込み動作は行わず、上位ページに関連するコマンドシーケンスを受信するまで待機する。
[S207]
制御回路1122は、メモリコントローラ1110から上位ページに関連するコマンドシーケンスを受信した場合、下位ページのデータ及びアドレス、並びに上位ページのデータ及びアドレスを用いて2ビットプログラム動作(フルシーケンス)のためのプログラム動作を開始する。なお、2ビットプログラム動作において初回のプログラム印加は、電圧VPGM(initial for 2bit)である。
[S208]
ステップS107と同様に、ロウデコーダ1128は、プログラムベリファイ動作を実行する。
[S209]
ステップS204と同様にして、そして制御回路1122は、プログラムベリファイ動作を行う。選択ページにおけるプログラムベリファイにパスすれば(ステップS209、YES)、当該ページに対する書込み動作は終了する。
[S210]
ステップS205と同様に、制御回路1122は、選択ページにおけるプログラムベリファイにフェイルしていると判定する場合は(ステップS209、NO)、プログラムのループ回数が最大値であるか否かを判定する。制御回路1122は、プログラムのループ回数が最大値であると判定する場合(ステップS210、YES)、当該ページに対する書込み動作を終了する。
制御回路1122は、プログラムのループ回数が最大値でないと判定する場合(ステップS210、NO)、例えば制御回路1122は、プログラム電圧VPGMを(VPGM+ΔVx)に更新して、ステップS207に戻る。
<第8実施形態に係るデータの書込み動作の具体例について>
次に、第8実施形態に係るデータの書込み動作の具体例につき、図31を参照して説明する。図31に示すレディ/ビジーは、NAND型フラッシュメモリ1120のレディ/ビジーを示している。
[時刻T0]
時刻T0において、NAND型フラッシュメモリ1120は、メモリコントローラ1110から、下位ページに関連するコマンドシーケンスを受信する。
[時刻T1]
時刻T1において、制御回路1122は、当該コマンドシーケンスに、待機コマンド(1A)が含まれていると判定する場合、下位ページの書込み動作は行わず、上位ページに関連するコマンドシーケンスを受信するまで待機する。
また、制御回路1122は、第3キャッシュ1125cに、下位ページのデータを展開する。この間、NAND型フラッシュメモリ1120はビジー状態になる。
[時刻T2]
時刻T2において、第3キャッシュ1125cへの、下位ページのデータの展開が完了すると、NAND型フラッシュメモリ1120はレディ状態になる。
[時刻T3]
時刻T3において、制御回路1122は、メモリコントローラ1110から上位ページに関連するコマンドシーケンスを受信すると、2ビットプログラム動作(フルシーケンス)を開始する。
<第8実施形態に係るデータの書込み動作の作用効果について>
上述した実施形態によれば、メモリコントローラ1110は、待機コマンド(1A)を用いて、NAND型フラッシュメモリ1120の下位ページ書込み動作を待機させている。そして、メモリコントローラ1110は、上位ページに係るコマンドシーケンスをNAND型フラッシュメモリ1120に入力させることにより、NAND型フラッシュメモリ1120に2ビットプログラム動作を行わせることができる。
このように、本実施形態では、下位ページ書込みを行わず、2ビットプログラムを行うので、1ビットずつ書込み動作を行う場合に比べて、より高速に書込み動作を行うことが可能となる高品質なメモリシステム1100を提供することができる。
9. 第9実施形態
続いて、図32を用いて、第9実施形態に係るメモリシステム1100ついて説明する。第9実施形態では、第7実施形態と、第8実施形態とを組み合わせた動作を説明している。なお、第9実施形態において、上述した第7実施形態及び第8実施形態と略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
<第9実施形態に係るデータの書込み動作について>
第9実施形態に係るデータの書込み動作につき、図32を参照して説明する。なお図32に示す処理は、主に制御回路1122の制御によって実行される。
[S301]
制御回路1122は、ステップS201と同様に動作する。
[S302]
制御回路1122は、ステップS202と同様に動作する(ステップS301、NO)。
[S303]
次に、ロウデコーダ1128は、ステップS203と同様に動作する。
[S304]
続いて、制御回路1122は、ステップS103と同様に動作する。
[S305]
更に、制御回路1122は、ステップS104と同様に動作する(ステップS304、NO)。
[S306]
続いて、制御回路1122は、ステップS105と同様に動作する(ステップS305、NO)。
[S307]
制御回路1122は、S206と同様に動作する。
[S308]
制御回路1122は、ステップS106、またはS207と同様に動作する(ステップS304、S301、YES)。
[S309]
ロウデコーダ1128は、ステップS107と同様に動作する。
[S310]
制御回路1122は、ステップS108と同様に動作する。
[S311]
制御回路1122は、ステップS109と同様に動作する(ステップS310、NO)。
<第9実施形態に係るデータの書込み動作の作用効果について>
上述した実施形態によれば、第7実施形態に係るデータの書込み方法と、第8実施形態に係るデータの書込み方法とを組み合わせている。そのため、第7実施形態及び第8実施形態の作用効果を享受することが可能となる。
10. 第10実施形態
続いて、図32を用いて、第10実施形態に係るメモリシステム1100ついて説明する。第10実施形態では、第7実施形態における下位ページ書込み動作時において、ベリファイがフェイルとなった場合において、下位ページデータを訂正する方法について説明する。なお、第10実施形態において、上述した第7実施形態と略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
<第10実施形態に係るデータの書込み動作について>
次に、第10実施形態に係るデータの書込み動作につき、図33を参照して説明する。なお図33に示す処理は、主に制御回路1122の制御によって実行される。
[S401]〜[S405]
ステップS101〜S105と同様に動作する。
[S406]
制御回路1122は、センスアンプ1126を介して、下位ページ書込み動作後の現在のセル状態を検査読み出しする。検査読み出しを実施せずに、第3キャッシュ1125cに残留しているプログラムベリファイの結果を用いてもよい。
図34に示すように、プログラムベリファイの結果(Lower page program result)が、第3キャッシュ1125cに格納される。図34において“P”はベリファイパスビット、“F”はベリファイフェイルビットを示している。また、下位ページデータは第2キャッシュ1125bに格納される。図34では、bit2と、bit6の下位ページがフェイルしているものとする。
[S407]
ここで、制御回路1122は、下記の3通りの方法で、下位ページのフェイルを救済する。なお、ここでは、詳細に記載しないが、例えばページ単位のデータにページECCパリティが付与され、ECC回路1113で、演算されることにより、所定のビット数のエラーを救済することが可能である。したがって、NAND型フラッシュメモリ1120においては、ECC回路1113にデータ訂正が可能な範囲で、書き込みデータの変更や書き込み未完了ビットの放置が許容できる場合がある。ここで述べる救済とは、前記データの変更、またはプログラムベリファイの判断基準の変更のことを意味している。
{救済方法1}
図34において、bit2は下位ページデータが”0”、上位ページデータが”0”で、最終的な閾値分布到達位置は”B”レベルである。しかし、下位ページ書き込みから2ビット書込みに移行する段階、具体的にはステップS406において、閾値分布のA分布を超えていることが確認できれば、制御回路1122は、bit2の下位ページデータを”0”データから”1”データに変更する処理を行う。これにより、当該2ビットプログラムでは、bit2は下位ページデータのビット不良として処理することができる。
{救済方法2}
下位ページでプログラムベリファイがフェイルとなったビットは、書き込みが困難な不良ビットである可能性があり、このビットは上位ページ書き込みでもまたプログラムベリファイがフェイルとなる可能性がある。そこで、制御回路1122は、2ビット書込みに移行する段階で、上位ページと下位ページのデータを変更する。具体的には図35において、bit6は下位ページデータが”0”、上位ページデータが”1”で最終的な閾値分布到達位置は”C”である。ここで制御回路1122は、bit6の下位ページ書き込みデータを”0”データから”1”データに変更する処理を行う。これにより、2ビット書込みではbit6に対して非書込みとなり、以降書き込みが行われない。
{救済方法3}
救済方法1、救済方法2では、2ビットプログラムに移行する段階で、上位または下位ページデータを変更する方法を開示した。救済方法3では、上位ページや下位ページデータを変更せずに、前記現在のセルの状態の検査読み出しの結果、もしくは第3キャッシュ1125cに残留しているプログラムベリファイの結果により、プログラムベリファイがパスしているか否かの判断基準を変更する。
救済方法1、救済方法2、救済方法3は、書き込みの進捗、具体的にはフェイルビットの数や、ループ回数など複数の判断基準により、制御回路1122が適切に判断してよい。
次に、具体的な書き込みデータの処理方法について述べる。図36において、第3キャッシュ1125cに格納されているLower Page program resultでPは1データを、Fは0データを示すものとする。
救済方法1では、下位ページ書き込みデータが格納されている第2キャッシュ1125bと、上位ページデータが格納されている第1キャッシュ1125aのOR演算結果を反転し、その結果にさらに第3キャッシュ1125cに格納されている下位ページのプログラムベリファイの結果の反転データをAND演算し、演算結果を第2キャッシュ1125bに格納されている下位ページ書込みデータにOR演算することで達成する。
これにより、下位ページ書き込み時のプログラムベリファイがフェイルしているビットを0から1データに変更し、この変更後のデータを用いて2ビット書き込みを開始する。
救済方法2では、第3キャッシュ1125cに格納されている下位ページプログラムベリファイの結果の反転を、下位ページの書き込みデータが格納されている第2キャッシュ1125bと上位ページ書き込みデータが格納されている第1キャッシュ1125aそれぞれにOR演算して達成する。
これにより、下位ページ書き込み時のプログラムベリファイがフェイルしているビットをそれぞれ0から1データに変更して非書込みデータとし、この変更後のデータを用いて2ビット書込みを開始する。
救済方法3では、図36を参照すると、bit6とbit2が下位ページの書き込みでプログラムベリファイがフェイルだったビットである。bit6の最終的な閾値分布到達位置は“C”であり、bit2の閾値分布到達位置は“A”である。よって、2ビット書き込みに移行後のプログラムベリファイの判断において、具体的にはステップS410の判断において、設定された許容ビット数に、下位ページの検査読み出しの結果またはプログラムベリファイのフェイルビットの数に関係した数を加算する。
より具体的には、制御回路1122は、ステップS410の判断において、閾値分布ごとに許容ビット数を設定することがある。このような場合、制御回路1122は、Aの閾値分布については設定された許容数を使用する。制御回路1122は、Bの閾値分布については、設定された許容数に下位ビットのフェイルビットの数に関係してここでは1を加算した許容数を設定する。制御回路1122は、Cの閾値分布については、設定された許容数に下位ビットのフェイルビット数に関係してここでは1を加算した許容数を設定する。
制御回路1122は、閾値分布ごとではなく、2ビット書込み全体で許容ビット数を設定することがある。このような場合、制御回路1122は、下位ページ書き込みのフェイルビット数に関係して、設定された許容数に2を加算した許容数を設定する。
上記設定された許容数とは、回路で設定された値や、既知のフューズに記録された値である。
[S408]〜[S410]
ステップS106〜S108と同様の動作を行う。
[S411]
ステップS109と同様の動作を行い、ループ回数が最大値では無い場合は、ステップS407に戻る。
<第10実施形態に係るデータの書込み動作の作用効果について>
上述した実施形態によれば、フェイルとなった下位ページに関連する上位ページの書込み状態によって、処置する方法を変えている。
ところで、このECC回路1113による救済は限度が有り、フェイルビット数がページECCパリティにより救済可能なビット数を超える場合、救済することはできない。
しかしながら、上述した実施形態によれば、救済が必要なビット数を軽減することができる。
また、予め、フェイルになる可能性のあるビットへの書込み動作を行わないため、書込み時間が長いビットへの書込み動作を、未然に回避し、システム性能、とくに書き込み性能劣化を回避することが可能となる。
または、プログラムベリファイのパス、フェイルの判断基準を下位ページの書き込み結果に応じて変更することで、当該ページに適切なベリファイのパスフェイル基準を設定することによっても、書き込み性能劣化を回避することが可能である。
更に、第7実施形態と同様の効果を得ることもできるので、より高速に書込み動作をおこなうことができる高品質なメモリシステム1100を提供することができる。
なお、第10実施形態は、第8実施形態及び第9実施形態と組み合わせて用いる事も可能である。
11.変形例等
上記実施形態のメモリシステムは、半導体記憶装置(100@図1)とコントローラ(200@図1)とを備える。半導体記憶装置は、第1及び第2ビットを記憶可能な第1メモリセル(MT@図3)と、複数の第1メモリセルを含み、第1ビットに対応した第1ページ(Data1_0 @図6)及び第2ビットに対応した第2ページ(Data2_0@図6)を記憶可能な第1メモリセルユニットを備える第1メモリセルアレイ(111_0@図3)と、第1メモリセルアレイに接続された第1センスアンプ(115_0@図2)と、コントローラから送信される第1及び第2ページの1つを保持する第1キャッシュ(116_0@図2)と、第1センスアンプに接続され、第1キャッシュから転送される第1ページを保持する第2キャッシュ(117_0@図2)と、第1センスアンプに接続され、第1キャッシュから転送される第2ページを保持する第3キャッシュ(118_0@図2)とを備え、第1コマンド(C4@図6)に応じて、第2キャッシュが保持する第1ページと、第3キャッシュが保持する第2ページとを第1メモリセルアレイに書き込む。コントローラは、第1ページに対応する第1アドレス信号(Address1_0@図6)を送信する前に、第2ページに対応する第2アドレス信号(Address2_0@図6)を半導体記憶装置に送信可能である。半導体記憶装置は、第1アドレス信号に応じて、第1ページを第2キャッシュに保持し、第2アドレス信号に応じて、第2ページを第3キャッシュに保持する。
上記実施形態を適用することにより、処理能力を向上できる半導体記憶装置及びメモリシステムを提供できる。
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
11.1 第1変形例
上記実施形態では、第1ページあるいは第2ページを示す情報がアドレス信号に含まれている場合について説明したが、第1ページあるいは第2ページを示す情報がプレフィックスコマンドとしてコントローラ200から送信されても良い。本例について、図18及び図19を用いて説明する。
図18に示すように、第1実施形態の図2と異なる点は、NAND型フラッシュメモリ100は、第1ページ及び第2ページの情報をコマンドで受信するため、コマンドデコーダ126から信号PLN0_PG2及び信号PLN1_PG2がメモリセル制御レジスタ130に送信されている点である。
また、図19に示すように、コントローラ200からNAND型フラッシュメモリ100にデータを送信する際に、コマンド“C1”の前にプレフィックスコマンドとして第1ページを示すコマンド“P1”あるいは第2ページを示す“P2”が付加されている。
11.2 第2変形例
第1実施形態において、図6に示すように、コントローラ200は1回目と3回目のデータ送信の際、コマンド“DC3”を送信したが、コマンド“TC2”を用いても良い。本例について、図20及び図21を用いて説明する。
図20及び図21に示すように、コントローラ200は、1回目と3回目のデータ送信時(図20の参照符号(a)及び(c))にコマンド“TC2”を送信している。そして信号CMD_TC2もコマンド“TC2”に対応して“H”レベルとされている。これにより1回目のデータ受信後(図20及び図21の参照符号(1))、センスユニット113では、プレーンPLN1において第1キャッシュ116_1に格納されたデータ“Data1_1”が第2キャッシュ117_1に転送されている。また3回目のデータ受信後(図20及び図21の参照符号(1))、センスユニット113では、プレーンPLN0において、第1キャッシュ116_0に格納されたデータ“Data2_0”が第2キャッシュ117_0に転送されている。
11.3 第3変形例
第1実施形態において、コントローラ200は、プレーンPLN1の第1ページ、プレーンPLN0の第1ページ、プレーンPLN0の第2ページ、プレーンPLN1の第2ページの順にデータを送信したが、データ送信順序は任意に変更可能である。データ送信順序の組み合わせについて具体的に説明する。
まず1回目のデータ送信で、4つのページ(プレーンPLN0の第1及び第2ページ、並びにプレーンPLN1の第1及び第2ページ)の1つに対応するデータが送信される。
次に2回目のデータ送信で、1回目のデータ送信で送信されなかった3つのページの1つに対応するデータが送信される。例えば、1回目のデータ送信でプレーンPLN0の第1ページのデータが送信された場合は、3つのページ(プレーンPLN0の第2ページ、並びにプレーンPLN1の第1及び第2ページ)の1つに対応するデータが送信される。
次に3回目のデータ送信で、1回目及び2回目のデータ送信で送信されなかった2つのページの1つに対応するデータが送信される。例えば、1回目のデータ送信でプレーンPLN0の第1ページのデータが送信され、2回目のデータ送信でプレーンPLN1の第2ページのデータが送信された場合は、2つのページ(プレーンPLN0の第2ページ及びプレーンPLN1の第1ページ)の1つに対応するデータが送信される。
次に4回目のデータ送信で、1回目乃至3回目のデータ送信で送信されなかったページのデータが送信される。例えば1回目のデータ送信でプレーンPLN0の第1ページのデータが送信され、2回目のデータ送信でプレーンPLN1の第2ページのデータが送信され、3回目のデータ送信でプレーンPLN1の第1ページのデータが送信された場合は、プレーンPLN0の第2ページのデータが送信される。
よって、コントローラ200が4つのページ(プレーンPLN0及びPLN1の第1及び第2ページ)のデータを送信する場合、その順序の組み合わせは4×3×2で24通りとなる。
なお、それぞれのデータ送信に対して第2実施形態で説明したようにデータの上書きあるいはOR演算を実行した場合、または第3実施形態で説明したようにページのデータが無い場合等を含めると、データ送信の順序の組み合わせは更に増える。
11.4 その他変形例
なお、上記実施形態は一例に過ぎず、各実施形態は種々の変形が可能である。更に、各実施形態は、可能な限り組み合わせることが出来る。例えば、第1実施形態に係る構成において、第2実施形態と第6実施形態を適用し、第2キャッシュ117に格納されたデータを一旦コントローラ200に読み出し、ECC等の処理を行ってから、再度第2キャッシュ117に送信し、上書きを行っても良い。
更に上記実施形態における「転送」とは、データを移動させる場合も、複写する場合も含む。具体的には、例えば第1キャッシュ116から第2キャッシュ117あるいは第3キャッシュ118にデータを転送する際、第1キャッシュ116では、転送後もデータが保持されていても良く、消去されても良い。
更に上記実施形態は、平面型NAND型フラッシュメモリあるいは三次元積層型NAND型フラッシュメモリのいずれにも適用できる。
更に第7乃至第10実施形態では、2値書込みから4値書込みへの移行、あるいは最初から4値書込みをする方法について説明した。しかし、これに限らず、超多値の場合、例えば2値書込みから8値書込み、4値書込みから8値書込み、または最初から8値書込みを行う場合なども同様の方法を使用することができる。換言すると、メモリセルトランジスタMTが2ビット以上のデータを保持可能な場合でも、上述する第7乃至第10実施形態を適用することが可能である。
更に第7乃至第10実施形態では、データラッチ回路1125は、3つのキャッシュを備えているが、これに限らず、少なくとも2つ以上のキャッシュを備えていれば良い。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、本発明に関する各実施形態において、以下の通りであっても良い。
(1)読み出し動作では、
Aレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V、0.21V〜0.31V、0.31V〜0.4V、0.4V〜0.5V、0.5V〜0.55Vいずれかの間にしても良い。
Bレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V、1.8V〜1.95V、1.95V〜2.1V、2.1V〜2.3Vいずれかの間にしても良い。
Cレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V、3.2V〜3.4V、3.4V〜3.5V、3.5V〜3.6V、3.6V〜4.0Vいずれかの間にしても良い。
読み出し動作の時間(tR)としては、例えば25μs〜38μs、38μs〜70μs、70μs〜80μsの間にしても良い。
(2)書き込み動作は、上述した通りプログラム動作とベリファイ動作を含む。書き込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V、14.0V〜14.6Vいずれかの間としても良い。
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えても良い。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としても良い。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えても良い。
書き込み動作の時間(tProg)としては、例えば1700μs〜1800μs、1800μs〜1900μs、1900μs〜2000μsの間にしても良い。
(3)消去動作では、
半導体基板上部に形成され、且つ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V、14.8V〜19.0V、19.0〜19.8V、19.8V〜21Vの間であっても良い。
消去動作の時間(tErase)としては、例えば3000μs〜4000μs、4000μs〜5000μs、4000μs〜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の仕事関数調整用の材料を介して膜厚が30nm〜70nmの制御電極が形成されている。ここで仕事関数調整用の材料はTaOなどの金属酸化膜、TaNなどの金属窒化膜である。制御電極にはWなどを用いることが出来る。
また、メモリセル間にはエアギャップを形成することが出来る。
1…メモリシステム、100…NAND型フラッシュメモリ、110…コア部、111…メモリセルアレイ、112…ロウデコーダ、113…センスユニット、114…NANDストリング、115…センスアンプ、116…第1キャッシュ、117…第2キャッシュ、118…第3キャッシュ、119…内部バス、120…周辺回路部、121、122…入力バッファ、123、124…出力バッファ、125…アドレスバッファ、126…コマンドデコーダ、127…データバッファ、128…セレクタ、129…ステートマシン、130…メモリセル制御レジスタ、200…コントローラ、201…ホストインターフェイス回路、202…メモリ、203…プロセッサ、204…バッファメモリ、205…NANDインターフェイス回路、206…ECC回路、300…ホスト機器、1100…メモリシステム、1110…メモリコントローラ、1111…ホストインターフェイス、1112…RAM、1113…ECC回路、1114…CPU、1115…ROM、1116…フラッシュメモリインターフェイス、1120…NAND型フラッシュメモリ、1121…入出力バッファ、1122…制御回路、1123…カラムデコーダ、1124…フェイルビットカウンタ回路、1125…データラッチ回路、1125a…第1キャッシュ、1125b…第2キャッシュ、1125c…第3キャッシュ、1126…センスアンプ、1127…ロウアドレスバッファ、1128…ロウデコーダ、1130…メモリセルアレイ、1131…NANDストリング、1200…ホストデバイス。

Claims (9)

  1. 半導体記憶装置とコントローラを含むメモリシステムであって、
    前記コントローラは、第1乃至第4ページ及び前記第1乃至第4ページにそれぞれ対応する第1乃至第4アドレス信号を前記半導体記憶装置に送信可能であり、
    前記半導体記憶装置は、
    各々の第1及び第2ビットに前記第1及び第2ページそれぞれ記憶可能な複数の第1メモリセルを含む第1メモリセルアレイと、
    各々の前記第1及び第2ビットに前記第3及び第4ページをそれぞれ記憶可能な複数の第2メモリセルを含む第2メモリセルアレイと、
    前記第1メモリセルアレイに接続された第1センスアンプと、
    前記第2メモリセルアレイに接続された第2センスアンプと、
    前記第1センスアンプに接続され、前記コントローラから送信される前記第1及び第2ページの1つを保持可能な第1キャッシュと、
    前記第1センスアンプ及び前記第1キャッシュに接続され、前記第1キャッシュから転送される前記第1ページを保持可能な第2キャッシュと、
    前記第1センスアンプ及び前記第1キャッシュに接続され、前記第1キャッシュから転送される前記第2ページを保持可能な第3キャッシュと
    前記第2センスアンプに接続され、前記コントローラから送信される前記第3及び第4ページの1つを保持可能な第4キャッシュと、
    前記第2センスアンプ及び前記第4キャッシュに接続され、前記第4キャッシュから転送される前記第3ページを保持可能な第5キャッシュと、
    前記第2センスアンプ及び前記第4キャッシュに接続され、前記第4キャッシュから転送される前記第4ページを保持可能な第6キャッシュと、
    前記コントローラから受信した前記第1乃至第4アドレス信号に基づいて前記第1及び第2センスアンプに第1乃至第4信号を送信するアドレスバッファと、
    を備え、
    前記アドレスバッファは、前記第1アドレス信号を受信した場合、前記第1信号を第1論理レベルとし、前記第2信号を第2論理レベルとし、前記第2アドレス信号を受信した場合、前記第1及び第2信号を第1論理レベルとし、前記第3アドレス信号を受信した場合、前記第3信号を第1論理レベルとし、前記第4信号を第2論理レベルとし、前記第4アドレス信号を受信した場合、前記第3及び第4信号を第1論理レベルとし、
    前記第1センスアンプは、前記第1及び第2信号に基づいて、前記第2キャッシュまたは前記第3キャッシュを選択し、
    前記第2センスアンプは、前記第3及び第4信号に基づいて、前記第5キャッシュまたは前記第6キャッシュを選択する
    メモリシステム。
  2. 前記コントローラは、第1コマンドを前記半導体記憶装置に送信し、
    前記半導体記憶装置は、前記第1コマンドに基づいて、前記第2及び第3キャッシュにそれぞれ保持されている前記第1及び第2ページを前記第1メモリセルアレイに書き込み、前記第5及び第6キャッシュにそれぞれ保持されている前記第3及び第4ページを前記第2メモリセルアレイに書き込む
    請求項1記載のメモリシステム。
  3. 前記コントローラは、第2コマンドを前記半導体記憶装置に送信し、
    前記第1センスアンプは、前記第1信号が前記第1論理レベルの場合、前記第2コマンド及び前記第2信号に基づいて前記第1キャッシュの保持データを前記第2及び第3キャッシュの1つに転送し、
    前記第2センスアンプは、前記第3信号が前記第1論理レベルの場合、前記第2コマンド及び前記第4信号に基づいて前記第4キャッシュの保持データを前記第5及び第6キャッシュの1つに転送する
    求項1または2記載のメモリシステム。
  4. 前記コントローラは、第3コマンドを前記半導体記憶装置に送信し、
    前記第1センスアンプは、前記第1信号が前記第1論理レベルの場合、前記第3コマンド及び前記第2信号に基づいて前記第1キャッシュの保持データと、前記第2及び第3キャッシュの1つの保持データとの論理演算し、
    前記第2センスアンプは、前記第3信号が前記第1論理レベルの場合、前記第3コマンド及び前記第4信号に基づいて前記第4キャッシュの保持データと、前記第5及び第6キャッシュの1つの保持データとの論理演算をする
    求項1乃至3のいずれか一項記載のメモリシステム。
  5. 前記コントローラは、第4コマンドを前記半導体記憶装置に送信し、
    前記第1センスアンプは、前記第1信号が前記第1論理レベルの場合、前記第4コマンドに基づいて前記第2キャッシュが保持する前記第1ページと前記第3キャッシュが保持する前記第2ページとを入れ替え、
    前記第2センスアンプは、前記第3信号が前記第1論理レベルの場合、前記第4コマンドに基づいて前記第5キャッシュが保持する前記第1ページと前記第6キャッシュが保持する前記第2ページとを入れ替える
    求項1乃至のいずれか一項記載のメモリシステム。
  6. 前記コントローラは、第5コマンドを前記半導体記憶装置に送信し、
    前記第1センスアンプは、前記第1信号が前記第1論理レベルの場合、前記第5コマンド及び前記第2信号に基づいて前記第2及び第3キャッシュの1つの保持データを前記第2及び第3キャッシュの前記1つが保持した状態で前記第1キャッシュに転送し、
    前記第2センスアンプは、前記第3信号が前記第1論理レベルの場合、前記第5コマンド及び前記第4信号に基づいて前記第5及び第6キャッシュの1つの保持データを前記第5及び第6キャッシュの前記1つが保持した状態で前記第4キャッシュに転送する
    求項1乃至のいずれか一項記載のメモリシステム。
  7. 前記コントローラは、第6コマンドを前記半導体記憶装置に送信し、
    前記半導体記憶装置は、前記第6コマンドを受信した場合、前記第1キャッシュから前記第2及び第3キャッシュの1つへのデータ転送と、前記第4キャッシュから前記第5及び第6キャッシュの1つへのデータ転送とを保留する
    求項1乃至のいずれか一項記載のメモリシステム。
  8. 前記半導体記憶装置は、前記第1及び第3信号が前記第1論理レベルの場合、前記第1キャッシュから前記第2及び第3キャッシュの前記1つへのデータ転送と、前記第4キャッシュから前記第5及び第6キャッシュの前記1つへのデータ転送とを同時に実施する
    請求項3記載のメモリシステム
  9. 各々の第1及び第2ビットに第1及び第2ページそれぞれ記憶可能な複数のメモリセルを含む第1メモリセルアレイと、
    各々の前記第1及び第2ビットに第3及び第4ページをそれぞれ記憶可能な複数の第2メモリセルを含む第2メモリセルアレイと、
    前記第1メモリセルアレイに接続された第1センスアンプと、
    前記第2メモリセルアレイに接続された第2センスアンプと、
    前記第1センスアンプに接続され、前記第1及び第2ページの1つを保持可能な第1キャッシュと、
    前記第1センスアンプ及び前記第1キャッシュに接続され、前記第1キャッシュから転送される前記第1ページを保持可能な第2キャッシュと、
    前記第1センスアンプ及び前記第1キャッシュに接続され、前記第1キャッシュから転送される前記第2ページを保持可能な第3キャッシュと
    前記第2センスアンプに接続され、前記第3及び第4ページの1つを保持可能な第4キャッシュと、
    前記第2センスアンプ及び前記第4キャッシュに接続され、前記第4キャッシュから転送される前記第3ページを保持可能な第5キャッシュと、
    前記第2センスアンプ及び前記第4キャッシュに接続され、前記第4キャッシュから転送される前記第4ページを保持可能な第6キャッシュと、
    前記第1乃至第4ページに対応する第1乃至第4アドレス信号に基づいて前記第1及び第2センスアンプに第1乃至第4信号を送信するアドレスバッファと、
    を備え、
    前記アドレスバッファは、前記第1アドレス信号を受信した場合、第1信号を第1論理レベルとし、前記第2信号を第2論理レベルとし、前記第2アドレス信号を受信した場合、前記第1及び第2信号を第論理レベルとし、前記第3アドレス信号を受信した場合、前記第3信号を第1論理レベルとし、前記第4信号を第2論理レベルとし、前記第4アドレス信号を受信した場合、前記第3及び第4信号を第1論理レベルとし、
    前記第1センスアンプは、前記第1及び第2信号に基づいて、前記第2キャッシュまたは前記第3キャッシュを選択し、
    前記第2センスアンプは、前記第3及び第4信号に基づいて、前記第5キャッシュまたは前記第6キャッシュを選択する
    導体記憶装置。
JP2015160623A 2015-08-17 2015-08-17 半導体記憶装置及びメモリシステム Active JP6453729B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2015160623A JP6453729B2 (ja) 2015-08-17 2015-08-17 半導体記憶装置及びメモリシステム
CN201610134603.XA CN106469569B (zh) 2015-08-17 2016-03-09 半导体存储装置及存储系统
TW105107384A TWI655538B (zh) 2015-08-17 2016-03-10 Semiconductor memory device and memory system
US15/181,227 US10140059B2 (en) 2015-08-17 2016-06-13 Semiconductor memory device and memory system
EP16180324.2A EP3133494B1 (en) 2015-08-17 2016-07-20 Semiconductor memory device and memory system
EP19204049.1A EP3620929A1 (en) 2015-08-17 2016-07-20 Semiconductor memory device and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015160623A JP6453729B2 (ja) 2015-08-17 2015-08-17 半導体記憶装置及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2017041287A JP2017041287A (ja) 2017-02-23
JP6453729B2 true JP6453729B2 (ja) 2019-01-16

Family

ID=56497647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015160623A Active JP6453729B2 (ja) 2015-08-17 2015-08-17 半導体記憶装置及びメモリシステム

Country Status (5)

Country Link
US (1) US10140059B2 (ja)
EP (2) EP3620929A1 (ja)
JP (1) JP6453729B2 (ja)
CN (1) CN106469569B (ja)
TW (1) TWI655538B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019057344A (ja) * 2017-09-20 2019-04-11 東芝メモリ株式会社 メモリシステム
JP2019101652A (ja) * 2017-11-30 2019-06-24 東芝メモリ株式会社 半導体メモリ
JP2019160379A (ja) 2018-03-16 2019-09-19 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR102468751B1 (ko) * 2018-05-09 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP2020009514A (ja) * 2018-07-11 2020-01-16 キオクシア株式会社 メモリデバイス
JP7195913B2 (ja) 2018-12-19 2022-12-26 キオクシア株式会社 半導体記憶装置
JP2020102289A (ja) * 2018-12-21 2020-07-02 キオクシア株式会社 半導体記憶装置
TWI700817B (zh) * 2019-10-28 2020-08-01 敦泰電子股份有限公司 靜態隨機存取記憶體系統及其資料讀寫方法
CN114171092A (zh) * 2020-04-23 2022-03-11 长江存储科技有限责任公司 存储器件及其编程方法
JP2022050018A (ja) * 2020-09-17 2022-03-30 キオクシア株式会社 電子装置及び転送方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361391A (en) * 1992-06-22 1994-11-01 Sun Microsystems, Inc. Intelligent cache memory and prefetch method based on CPU data fetching characteristics
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
US7813170B2 (en) * 2005-11-11 2010-10-12 Kabushiki Kaisha Toshiba Semiconductor memory device capable of memorizing multivalued data
JP4679490B2 (ja) * 2005-11-11 2011-04-27 株式会社東芝 半導体記憶装置
JP5142478B2 (ja) * 2006-04-13 2013-02-13 株式会社東芝 半導体記憶装置
JP5142692B2 (ja) 2007-12-11 2013-02-13 株式会社東芝 不揮発性半導体記憶装置
US20090157946A1 (en) * 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
KR100908542B1 (ko) 2007-12-24 2009-07-20 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 프로그램 방법
JP5150245B2 (ja) * 2007-12-27 2013-02-20 株式会社東芝 半導体記憶装置
US8001316B2 (en) 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
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 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2009276853A (ja) 2008-05-12 2009-11-26 Toshiba Corp フラッシュメモリ装置
JP2010199235A (ja) 2009-02-24 2010-09-09 Toshiba Corp 不揮発性半導体記憶装置
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
TWI424435B (zh) * 2009-08-31 2014-01-21 Phison Electronics Corp 對快閃記憶體下達程式化指令的方法、控制器與儲存系統
JP2011204298A (ja) * 2010-03-24 2011-10-13 Toshiba Corp 不揮発性半導体メモリ
JP2012069205A (ja) 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
JP2012014827A (ja) * 2011-09-12 2012-01-19 Toshiba Corp 半導体記憶装置
TWI430094B (zh) 2011-09-22 2014-03-11 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與溫度管理方法
KR101876574B1 (ko) 2012-02-02 2018-07-09 에스케이하이닉스 주식회사 데이터 입출력 컨트롤러 및 이를 포함하는 시스템
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US8667368B2 (en) 2012-05-04 2014-03-04 Winbond Electronics Corporation Method and apparatus for reading NAND flash memory
JP2014059930A (ja) 2012-09-18 2014-04-03 Toshiba Corp 不揮発性半導体記憶装置
JP2014063555A (ja) * 2012-09-24 2014-04-10 Toshiba Corp 不揮発性半導体記憶装置、及びその制御方法
JP5781109B2 (ja) 2013-03-01 2015-09-16 株式会社東芝 不揮発性半導体記憶装置
JP2015053098A (ja) 2013-09-09 2015-03-19 株式会社東芝 不揮発性半導体記憶装置
JP2015056199A (ja) * 2013-09-13 2015-03-23 株式会社東芝 不揮発性半導体記憶装置およびデータ転送方法
KR20170006977A (ko) * 2015-07-10 2017-01-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
TW201709066A (zh) 2017-03-01
US20170052737A1 (en) 2017-02-23
TWI655538B (zh) 2019-04-01
EP3133494A1 (en) 2017-02-22
CN106469569A (zh) 2017-03-01
CN106469569B (zh) 2020-03-17
US10140059B2 (en) 2018-11-27
EP3620929A1 (en) 2020-03-11
EP3133494B1 (en) 2019-10-23
JP2017041287A (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6453729B2 (ja) 半導体記憶装置及びメモリシステム
CN107818809B (zh) 半导体存储装置及存储器系统
TWI717568B (zh) 半導體記憶裝置及記憶體系統
US11086573B2 (en) Memory system
US11410732B2 (en) Memory system having semiconductor memory device that performs verify operations using various verify voltages
US11514986B2 (en) Memory system and semiconductor memory device
US9679651B2 (en) Semiconductor memory device capable of determining an initial program condition for different memory cells
US7978512B2 (en) Semiconductor memory system
JP2019053805A (ja) メモリシステム
JP2020123412A (ja) 半導体記憶装置
JP2015176623A (ja) 半導体記憶装置及びメモリコントローラ
TW201807710A (zh) 反及型快閃記憶體及其讀出方法
JP6226809B2 (ja) 半導体記憶装置
TWI658460B (zh) Semiconductor memory device and memory system
JP2017168155A (ja) 半導体記憶装置
CN116798490A (zh) 存储器系统

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180702

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181213

R150 Certificate of patent or registration of utility model

Ref document number: 6453729

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350