(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108945
(43)【公開日】2024-08-13
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
G11C 16/24 20060101AFI20240805BHJP
G11C 11/56 20060101ALI20240805BHJP
G11C 16/10 20060101ALI20240805BHJP
G11C 16/34 20060101ALI20240805BHJP
【FI】
G11C16/24 130
G11C11/56 210
G11C16/10 120
G11C16/34 140
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023013618
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(72)【発明者】
【氏名】佐貫 朋也
(72)【発明者】
【氏名】中塚 圭祐
(72)【発明者】
【氏名】饗場 悠太
(72)【発明者】
【氏名】田中 瞳
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA19
5B225CA07
5B225DB08
5B225DB29
5B225EE19
5B225FA01
(57)【要約】
【課題】1つのメモリセルに記憶するデータのビット数を増大させつつ、ラッチ回路の回路規模の増大を抑制することができる半導体記憶装置を提供する。
【解決手段】本実施形態による半導体記憶装置は、複数のメモリセルを含むメモリセルアレイを備える。リードライト回路は、複数のメモリセルから選択された選択メモリセルのデータを検出し、選択メモリセルへデータを書き込む。ラッチ回路は、リードライト回路で検出されたデータを保持可能である。ラッチ回路に保持され得るデータの最大ビット数は、選択メモリセルに記憶されるデータのビット数よりも小さい。
【選択図】
図4
【特許請求の範囲】
【請求項1】
複数のメモリセルを含むメモリセルアレイと、
前記複数のメモリセルから選択された選択メモリセルのデータを検出し、前記選択メモリセルへデータを書き込むリードライト回路と、
前記リードライト回路で検出されたデータを保持可能なラッチ回路と、を備え、
前記ラッチ回路に保持され得るデータの最大ビット数は、前記選択メモリセルに記憶されるデータのビット数よりも小さい、半導体記憶装置。
【請求項2】
前記最大ビット数は、前記選択メモリセルに書き込まれる書込みデータのビット数よりも小さい、請求項1に記載の半導体記憶装置。
【請求項3】
前記ラッチ回路に1度に保持されるデータは、前記書込みデータの一部分である、請求項2に記載の半導体記憶装置。
【請求項4】
前記ラッチ回路は、前記書込みデータを複数に分割した第1部分を保持し、
前記第1部分が前記選択メモリセルに書き込まれた後、前記ラッチ回路は、前記書込みデータの他の第2部分を保持し、
前記第2部分が前記選択メモリセルに書き込まれることによって、前記第1部分および前記第2部分は前記選択メモリセルにおいて前記書込みデータとして記憶される、請求項3に記載の半導体記憶装置。
【請求項5】
前記第1部分を前記選択メモリセルに書き込むとき、前記リードライト回路は、前記選択メモリセルの閾値電圧分布の全体を前記第1部分のデータ数で分割した複数の分割閾値分布のうち、前記第1部分に応じた第1分割閾値分布にデータを書き込み、
前記第2部分を前記選択メモリセルに書き込むとき、前記リードライト回路は、前記複数の分割閾値分布のそれぞれについて前記選択メモリセルのデータを検出して、その検出結果を前記ラッチ回路に保持し、該検出結果に基づいて前記選択メモリセルに前記第2部分に応じた閾値のデータを書き込む、請求項4に記載の半導体記憶装置。
【請求項6】
前記第2部分を前記選択メモリセルに書き込むとき、前記リードライト回路は、前記選択メモリセルからデータを検出し、該データが前記第1分割閾値分布にあるときに、前記第1分割閾値分布内において前記第2部分に応じた閾値にデータを書き込む、請求項5に記載の半導体記憶装置。
【請求項7】
前記リードライト回路は、前記第1部分または前記第2部分を前記選択メモリセルに書き込むときに、書込み動作とデータが書き込まれたことを確認するベリファイリード動作とを実行し、
前記ラッチ回路は、前記ベリファイリード動作において、或る閾値でのパスの回数を保持し、
前記パスの回数が所定値以上になったときに、前記選択メモリセルへのデータの書込みを終了する、請求項6に記載の半導体記憶装置。
【請求項8】
前記最大ビット数は、前記選択メモリセルから読み出された読出しデータのビット数よりも小さい、請求項1に記載の半導体記憶装置。
【請求項9】
前記ラッチ回路に1度に保持されるデータは、前記読出しデータの一部分である、請求項8に記載の半導体記憶装置。
【請求項10】
前記ラッチ回路は、前記読出しデータを複数に分割した第3部分を保持し、
前記第3部分が前記ラッチ回路から出力された後、前記ラッチ回路は、前記読出しデータの他の第4部分を保持し、
前記第4部分は、前記ラッチ回路から出力され、
前記第3部分および前記第4部分は合成されて前記読出しデータを生成する、請求項9に記載の半導体記憶装置。
【請求項11】
前記第3部分または前記第4部分を前記選択メモリセルから読み出すときに、前記ラッチ回路は、或る閾値でのパスの回数を保持し、
前記パスの回数が所定値以上になったときに、前記選択メモリセルからの読出し動作を終了する、請求項10に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、半導体記憶装置に関する。
【背景技術】
【0002】
NAND型フラッシュメモリ等の半導体記憶装置において、1つのメモリセルが2ビット以上のデータを記憶する場合がある。このように1つのメモリセルが2ビット以上のデータを記憶する場合、データを一時的に格納するラッチ回路は、データのビット数に合わせて設ける必要がある。このため、メモリセルに記憶するデータのビット数が増大すると、ラッチ回路の回路規模が大きくなってしまう。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許公開公報2010/0309719明細書
【特許文献2】特開2016-139446明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
1つのメモリセルに記憶するデータのビット数を増大させつつ、ラッチ回路の回路規模を抑制することができる半導体記憶装置を提供する。
【課題を解決するための手段】
【0005】
本実施形態による半導体記憶装置は、複数のメモリセルを含むメモリセルアレイを備える。リードライト回路は、複数のメモリセルから選択された選択メモリセルのデータを検出し、選択メモリセルへデータを書き込む。ラッチ回路は、リードライト回路で検出されたデータを保持可能である。ラッチ回路に保持され得るデータの最大ビット数は、選択メモリセルに記憶されるデータのビット数よりも小さい。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態による半導体記憶装置の構成例を示すブロック図。
【
図2】リードライト回路およびラッチ回路の構成例を示すブロック図。
【
図3A】第1実施形態によるメモリシステムのデータ書込み動作の一例を示す図。
【
図4】第1実施形態による半導体記憶装置のデータ書込み動作の一例を示すフロー図
【
図5A】第1実施形態によるメモリシステムのデータ読出し動作の一例を示す図。
【
図6】第1実施形態によるメモリシステムのデータ読出し動作の一例を示すフロー図。
【
図7A】第1実施形態によるメモリシステムのデータ読出し動作の他の例を示す図。
【
図8】第1実施形態によるメモリシステムのデータ読出し動作の他の例を示すフロー図。
【
図10】読出し動作またはベリファイリード動作におけるビットエラー率を示す表。
【
図11】第2実施形態によるベリファイリード動作または読出し動作のパス回数とデータ判定との関係の一例を示す表。
【
図12】メモリセルアレイの動作温度と読出し動作回数またはベリファイリード動作の回数との関係を示す表。
【発明を実施するための形態】
【0007】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。図面は模式的または概念的なものである。明細書と図面において、同一の要素には同一の符号を付す。
【0008】
(第1実施形態)
図1は、第1実施形態による半導体記憶装置の構成例を示すブロック図である。半導体記憶装置は、例えば、NAND型フラッシュメモリである。
【0009】
半導体記憶装置としてのメモリシステム1は、メモリデバイス10と、メモリコントローラ20とを備えている。メモリデバイス10およびメモリコントローラ20は、それぞれ別々の半導体チップとして構成されている。メモリデバイス10およびメモリコントローラ20は、互いに貼合され、配線同士で直接接合されていてもよい。メモリシステム1は、メモリデバイス10およびメモリコントローラ20をモジュール化して1つのパッケージとして構成されてよい。
【0010】
メモリコントローラ20は、パーソナルコンピュータ等のホスト(外部機器)2から命令を受けて、メモリデバイス10からデータを読み出したり、メモリデバイス10にデータを書き込む。メモリコントローラ20は、ホストインタフェース21と、データバッファ22と、レジスタ23と、CPU(Central Processing Unit)24と、デバイスインタフェース25と、ECC(Error Correcting Code)回路26と、を備えている。
【0011】
ホストインタフェース21は、ホスト2と接続されている。ホストインタフェース21を介して、ホスト2とメモリシステム1との間でデータの送受信等が行われる。
【0012】
データバッファ22は、ホストインタフェース21に接続される。データバッファ22は、ホストインタフェース21を介してホスト2からメモリシステム1に送信されたデータを受け取り、これを一時的に記憶する。また、データバッファ22は、メモリシステム1からホストインタフェース21を介してホスト2へ送信されるデータを一時的に記憶する。データバッファ22は、揮発性のメモリでも、不揮発性のメモリでもよい。
【0013】
レジスタ23は、例えば揮発性のメモリであり、CPU24により実行される設定情報、コマンド、及びステータスなどを記憶する。レジスタ23は、揮発性のメモリでも、不揮発性のメモリでもよい。
【0014】
CPU24は、メモリシステム1の全体の動作を司る。CPU24は、例えばホスト2から受けたコマンドに従ってメモリデバイス10に対する所定の処理を実行する。
【0015】
デバイスインタフェース25は、メモリコントローラ20と、メモリデバイス10との間で各種信号などの送受信を行う。
【0016】
ECC回路26は、データバッファ22を介して、ホスト2から受信した書き込みデータを受信する。ECC回路26は、書き込みデータにエラー訂正符号を付加する。ECC回路26は、エラー訂正符号が付された書き込みデータを、例えばデータバッファ22、またはデバイスインタフェース25に供給する。
【0017】
また、ECC回路26は、デバイスインタフェース25を介してメモリデバイス10から供給されたデータを受信する。当該データは、メモリセルアレイ11のメモリセルに記憶されているデータである。ECC回路26は、メモリデバイス10から受信したデータにエラーが存在するか否かの判定を行う。ECC回路26は、受信したデータにエラーが存在すると判定する場合、受信したデータに対してエラー訂正符号を用いてエラー訂正処理を行う。そして、ECC回路26は、エラー訂正処理したデータを、例えばデータバッファ22、デバイスインタフェース25等に供給する。
【0018】
メモリデバイス10は、メモリセルアレイ11と、リードライト回路12と、ラッチ回路DLと、カラムデコーダ13と、ワード線ドライバ14、ロウデコーダ15と、IO回路16と、コントローラ17と、コマンドアドレス入力回路18と、を備えている。
【0019】
コマンドアドレス入力回路18には、メモリコントローラ20から、各種の外部制御信号、例えば、チップセレクト信号CS、クロック信号CK、クロックイネーブル信号CKE、及びコマンドアドレス信号CA等が入力される。コマンドアドレス入力回路18は、コマンドアドレス信号CAをコントローラ17に転送する。
【0020】
コントローラ17は、コマンドとアドレスとを識別する。コントローラ17は、メモリデバイス10の各構成を制御する。
【0021】
メモリセルアレイ11は、例えば、NAND型フラッシュメモリであり、複数のメモリセルMCが二次元配置または三次元配置されている。
【0022】
ワード線ドライバ14は、少なくともメモリセルアレイ11の一辺に沿って配置される。また、ワード線ドライバ14は、データ読み出しまたはデータ書き込みの際にメモリセルアレイ11に設けられたワード線WLに電圧を印加するように構成されている。
【0023】
ロウデコーダ15は、コマンドアドレス入力回路18から供給されたコマンドアドレス信号CAのアドレスをデコードする。より具体的には、ロウデコーダ15はデコードしたロウアドレスを、ワード線ドライバ14に供給する。それにより、ワード線ドライバ14は、選択ワード線WLに電圧を印加することができる。
【0024】
カラムデコーダ13は、コマンドアドレス入力回路18から供給されたコマンドアドレス信号CAのアドレスをデコードする。カラムデコーダ13は、デコードしたカラムアドレスをリードライト回路12に供給する。
【0025】
リードライト回路12は、センスアンプSAおよびライトドライバWDを備えている。リードライト回路12は、少なくともメモリセルアレイ11の一辺に沿って配置されている。センスアンプSAは、ビット線BLに接続され、選択ワード線WLに接続された選択メモリセルMCの電流または電圧を検知することによって、選択メモリセルMCに記憶されたデータを検出する。ライトドライバWDは、選択ワード線WLに接続された選択メモリセルMCに電圧を印加することによって、選択メモリセルMCにデータを書き込む。
【0026】
ラッチ回路DLは、センスアンプSAによって読み出されたデータ、または、IO回路16を介して転送された書込みデータを一時的に記憶する。
【0027】
リードライト回路12とデータ線DQとの間のデータの授受は、IO回路16を介して行われる。
【0028】
メモリセルアレイ11は、二次元配置または三次元配置された複数のメモリセルMCを含む。メモリセルアレイ11は、複数のワード線WL、複数のビット線BLを有する。メモリセルMCは、ワード線WLとビット線BLとの交点に対応して設けられている。
【0029】
図2は、リードライト回路12およびラッチ回路DLの構成例を示すブロック図である。
【0030】
センスアンプSAは、ビット線BL、IO回路16およびラッチ回路DLに接続されている。センスアンプSAは、ビット線BLからの読出しデータを検出し、その読出しデータをラッチ回路DLに一時的に格納する。センスアンプSAは、ラッチ回路DLに保持された読出しデータを、IO回路16を介してメモリコントローラ20へ出力する。
【0031】
ライトドライバWDは、IO回路16を介してメモリコントローラ20から受け取った書込みデータをラッチ回路DLに一時的に格納する。ライトドライバWDは、ラッチ回路DLに保持された書込みデータを、ビット線BLを介してメモリセルMCへ書き込む。センスアンプSAおよびライトドライバWDの回路構成は、特に限定しない。
【0032】
ラッチ回路DLは、センスアンプSAによって読み出されたデータ、または、IO回路16を介して転送された書込みデータを一時的に記憶する。ラッチ回路DLは、ラッチ回路SDL、TDL、DL1~DL4を含む。ラッチ回路SDLは、読出しデータまたは書込みデータを最初に保持する。ラッチ回路TDLは、ラッチ回路SDLに保持されたデータを次に一時的に保持する。ラッチ回路DL1~DL4は、それぞれ1ビットずつデータを保持することができ、ラッチ回路SDL、TDLを介して4ビットデータを保持することができる。ラッチ回路SDL、TDL、DL1~DL4の回路構成は、特に限定しないが、同一構成である。
【0033】
リードライト回路12およびラッチ回路DLは、ビット線BLごとに設けられている。これにより、リードライト回路12およびラッチ回路DLは、各カラムのビット線BLに接続された選択メモリセルMCからの読出しデータを検出および保持することができる。また、リードライト回路12およびラッチ回路DLは、各カラムのビット線BLに接続された選択メモリセルMCへの書込みデータを保持し、この書込みデータを書き込むことができる。
【0034】
ラッチ回路DL1~DL4は、読出しデータまたは書込みデータとして4ビットデータを保持可能である。例えば、メモリセルMCがQLC(Quad Level Cell)である場合、ラッチ回路DL1~DL4は、1つの選択メモリセルMCからの4ビットデータを保持することができる。しかし、ラッチ回路DL1~DL4は、5ビット以上のデータを保持することはできない。従って、従来の読出し方法および書込み方法では、リードライト回路12は、5ビット以上のデータを読み出したり、書き込んだりすることができない。
【0035】
一方、メモリセルMCの構成は、QLC(4ビットメモリセル)であっても、それ以上の5ビットメモリセル、6ビットメモリセル、7ビットメモリセルであっても変わらない。つまり、QLC用のメモリセルMCであっても、7ビットデータを書き込むことはできる。
【0036】
そこで、本実施形態によるメモリシステム1は、書込み動作および読出し動作を工夫することによって、ラッチ回路DLに保持され得るデータよりも大きなビット数のデータをメモリセルMCに書き込むことを可能にする。
【0037】
次に、本実施形態によるメモリシステム1の書込み動作および読出し動作について説明する。
【0038】
(書込み動作)
図3A~
図3Fは、第1実施形態によるメモリシステム1のデータ書込み動作の一例を示す図である。
図4は、第1実施形態によるメモリシステム1のデータ書込み動作の一例を示すフロー図である。
【0039】
図3A~
図3Fでは、QLCに対応するラッチ回路DL1~DL4を備えたメモリシステム1を用いて、7ビットデータを選択メモリセルMCへ書き込む。この場合、ラッチ回路DL1~DL4に保持可能な最大ビット数は4ビットであるのに対して、選択メモリセルMCに書き込まれる書込みデータのビット数は7ビットである。従って、ラッチ回路DL1~DL4に保持可能な最大ビット数は、選択メモリセルMCに書き込まれる書込みデータのビット数よりも小さい。7ビットデータを書き込む場合、選択メモリセルMCの閾値電圧分布には、
図3Fに示すように、0~127レベルの128個の閾値電圧が書き込まれ得る。
【0040】
書込みデータをそれよりもビット数の小さいラッチ回路DL1~DL4を用いて選択メモリセルMCへ書き込むために、本実施形態では、書込みデータを複数に分割してデータ部分ごとに選択メモリセルMCへ書き込む。この場合、ラッチ回路DL1~DL4に1度に保持されるデータは書込みデータの一部分となる。
【0041】
例えば、まず、書込みデータの7ビットのうち一部分として上位4ビットをラッチ回路DL1~DL4に取り込む。ラッチ回路DL1~DL4は、それぞれこの4ビットデータの各ビットを保持する(S10)。
【0042】
図3Aに示すように、ライトドライバWDは、選択メモリセルMCの閾値電圧分布の全体をラッチ回路DL1~DL4の4ビットデータのデータ数で分割して複数の分割閾値分布とし、この複数の分割閾値分布のうち4ビットデータに応じた分割閾値分布にデータを書き込む。選択メモリセルMCの閾値電圧分布は、ほぼ等分割すればよい。例えば、4ビットデータのデータ数は、0000~1111の16個である。従って、分割閾値分布は、選択メモリセルMCの閾値電圧分布の全体(128個の閾値レベル)を16個に分割した閾値分布である。閾値レベル0~127を16個に等分割すると、0~7、8~15、16~23、・・・120~127の16個の分割閾値分布になる。
【0043】
ライトドライバWDは、選択メモリセルMCの16個の分割閾値分布のうち、ラッチ回路DL1~DL4に保持された4ビットデータに対応する分割閾値分布にデータを書き込む(S20)。例えば、ラッチ回路DL1~DL4に保持された4ビットデータが0000の場合には、閾値レベル0~7の分割閾値分布にデータを書き込む。データは、閾値レベル0~7の分割閾値分布のうち最も電圧の低い閾値レベル0のままとする。
【0044】
ラッチ回路DL1~DL4に保持された4ビットデータが0001の場合には、閾値電圧Vt8を超えるように書き込みを実行し、閾値レベル8~15の分割閾値分布にデータを書き込む。データは、それに対応するメモリセルMCの閾値電圧(あるいは閾値レベル)を示す。この例では、データは、閾値レベル8~15のうち最も電圧の低い閾値レベル8に書き込まれる。このとき、選択メモリセルMCの閾値電圧が閾値レベル8を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt8を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt8を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ0001を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の4ビットデータ(例えば、0010)の書き込みに移行する。
【0045】
ラッチ回路DL1~DL4に保持された4ビットデータが0010の場合には、閾値電圧Vt16を超えるように書き込みを実行し、閾値レベル16~23の分割閾値分布にデータを書き込む。この例では、データは、閾値レベル16~23のうち最も電圧の低い閾値レベル16に書き込まれる。このとき、選択メモリセルMCの閾値電圧が閾値レベル16を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt16を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ0010を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の4ビットデータ(例えば、0011)の書き込みに移行する。
【0046】
ラッチ回路DL1~DL4に保持された4ビットデータが0011の場合には、閾値電圧Vt24(図示せず)を超えるように書き込みを実行し、閾値レベル24~31の分割閾値分布にデータを書き込む。この例では、データは、閾値レベル24~31のうち最も電圧の低い閾値レベル24に書き込まれる。このとき、選択メモリセルMCの閾値電圧が閾値レベル24を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt24を超えた場合(パスした場合)、そのカラムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ0011を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の4ビットデータ(例えば、0100)の書き込みに移行する。
【0047】
同様に、この書込み動作を4ビットデータ0001~1111まで繰り返す。4ビットデータが1インクリメントされるごとに、閾値レベルが8レベルずつ高くなるようにデータが選択メモリセルMCに書き込まれる。例えば、4ビットデータが1インクリメントされると、閾値電圧は、Vt(8k)(k=1~14整数)からVt(8(k+1))になり、ライトドライバWDは、閾値電圧Vt(8(k+1))を超えるように書き込みを実行する。閾値レベル(8(k+1))~(8(k+1)+7)の分割閾値分布のうち最も電圧の低い閾値レベル8(k+1)にデータが書き込まれる。ベリファイリード動作において、閾値電圧が閾値電圧Vt8(k+1)を超えた場合(パスした場合)、そのカラムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。
【0048】
このように、ライトドライバWDは、ラッチ回路DL1~DL4の4ビットデータのデータ数に分割された分割閾値分布のうち、この4ビットデータに応じた分割閾値分布内で最も低い閾値レベルにデータを書き込む。
【0049】
4ビットデータの書き込みが全カラムの選択メモリセルMCにおいて終了した後、次に、書込みデータの7ビットのうち他の(残りの)部分として下位3ビットをラッチ回路DL1~DL3に取り込む。全カラムのラッチ回路DL1~DL3は、それぞれこの3ビットデータの各ビットを保持する(S30)。
【0050】
次に、
図3B~
図3Eに示すように、ライトドライバWDは、分割閾値分布ごとに選択メモリセルMCに残りの3ビットデータに応じたデータを書き込む(S40)。
【0051】
例えば、まず、ライトドライバWDは、3ビットデータに応じて、閾値レベル0~7の分割閾値分布にあるデータを書き込む。
【0052】
この場合、
図3Bに示すように、センスアンプSAは、閾値電圧Vt8を用いて、全カラムの選択メモリセルMCのデータを一旦検出する。その検出結果は、3ビットデータを保持していない余りのラッチ回路DL4に保持される。このとき、閾値電圧Vt8未満、即ち、閾値レベルが0であるカラムの検出結果のみ“1”に立ち上げ、他の閾値レベルのカラムの検出結果は、“0”のままとする。これにより、閾値レベル0~7のデータを書き込むべき選択メモリセルMCを、他の選択メモリセルMCから選択することができる。
【0053】
次に、ライトドライバWDは、ラッチ回路DL4の検出結果が“1”に立ち上がっているカラムの選択メモリセルMCに、3ビットデータに応じた閾値のデータを書き込む。ライトドライバWDは、ラッチ回路DL4の検出結果が“0”となっているカラムのビット線BLを書込み禁止状態(inhibit状態)にする。書込み禁止状態のカラムの選択メモリセルMCには書込みは実行されない。
【0054】
例えば、ラッチ回路DL1~DL3に保持された3ビットデータが000の場合には、
図3Cに示すように、閾値レベル0~7のうち最も電圧の低い閾値レベル0のままとなる。
【0055】
ラッチ回路DL1~DL3に保持された3ビットデータが001の場合には、ライトドライバWDは、閾値電圧Vt1を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル1のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt1を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt1を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt1を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ001を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、010)の書き込みに移行する。
【0056】
ラッチ回路DL1~DL3に保持された3ビットデータが010の場合には、ライトドライバWDは、閾値電圧Vt2を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル2のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt2を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt2を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt2を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ010を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、011)の書き込みに移行する。
【0057】
ラッチ回路DL1~DL3に保持された3ビットデータが011の場合には、ライトドライバWDは、閾値電圧Vt3を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル3のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt3を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt3を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt3を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ011を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、100)の書き込みに移行する。
【0058】
同様に、この書込み動作を3ビットデータ001~111まで繰り返す。3ビットデータが1インクリメントされるごとに、閾値レベルが1レベルずつ高くなるようにデータが選択メモリセルMCに書き込まれる。例えば、3ビットデータが1インクリメントされると、閾値電圧は、Vt(h)(h=0~7)からVt(h+1)になり、閾値電圧Vt(h+1)を超えるように書き込みを実行する。ベリファイリード動作において、閾値電圧が閾値電圧Vt(h+1)を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。
【0059】
このように、ライトドライバWDは、ラッチ回路DL4に保持された検出結果に基づいて、選択メモリセルMCに3ビットデータに応じた閾値のデータを書き込む。
【0060】
3ビットデータの書き込みが、閾値レベル0~7の分割閾値分布にある全カラムの選択メモリセルMCにおいて終了すると、選択メモリセルMCの閾値分布は、
図3Cに示すような状態となる。
【0061】
次に、ライトドライバWDは、3ビットデータに応じて、閾値レベル8~15の分割閾値分布にあるデータを書き込む。
【0062】
この場合、
図3Dに示すように、センスアンプSAは、閾値電圧Vt8、Vt16を用いて、全カラムの選択メモリセルMCのデータを検出する。その検出結果は、3ビットデータを保持していない余りのラッチ回路DL4に保持される。このとき、閾値電圧Vt8以上かつVt16未満、即ち、閾値レベルが8であるカラムの検出結果のみ“1”に立ち上げ、他の閾値レベルのカラムの検出結果は、“0”のままとする。これにより、閾値レベル8~15のデータを書き込むべき選択メモリセルMCを、他の選択メモリセルMCから選択することができる。
【0063】
次に、ライトドライバWDは、ラッチ回路DL4の検出結果が“1”に立ち上がっているカラムの選択メモリセルMCに、3ビットデータに応じた閾値のデータを書き込む。ラッチ回路DL4の検出結果が“0”となっているカラムのビット線BLは、書込み禁止状態(inhibit状態)にする。書込み禁止状態のカラムの選択メモリセルMCには書込みは実行されない。
【0064】
例えば、ラッチ回路DL1~DL3に保持された3ビットデータが000の場合には、
図3Eに示すように、閾値レベル8~15のうち最も電圧の低い閾値レベル8のままとなる。
【0065】
ラッチ回路DL1~DL3に保持された3ビットデータが001の場合には、ライトドライバWDは、閾値電圧Vt9を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル9のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt9を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt9を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt9を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ001を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、010)の書き込みに移行する。
【0066】
ラッチ回路DL1~DL3に保持された3ビットデータが010の場合には、ライトドライバWDは、閾値電圧Vt10を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル10のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt10を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt10を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt10を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ010を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、011)の書き込みに移行する。
【0067】
ラッチ回路DL1~DL3に保持された3ビットデータが011の場合には、ライトドライバWDは、閾値電圧Vt11を超えるように書き込みを実行し、選択メモリセルMCに閾値レベル11のデータを書き込む。このとき、選択メモリセルMCの閾値電圧が閾値電圧Vt11を超えたことを検証するベリファイリード動作を実行する。書込み動作およびベリファイリード動作は、ワード線電圧をステップアップさせながら繰り返し実行される。選択メモリセルMCの閾値電圧が閾値電圧Vt11を超えるまで書込み動作は実行される。ベリファイリード動作において、閾値電圧が閾値電圧Vt3を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。データ011を書き込む選択メモリセルMCの全てがベリファイをパスした場合、次の3ビットデータ(例えば、100)の書き込みに移行する。
【0068】
同様に、この書込み動作を3ビットデータ001~111まで繰り返す。3ビットデータが1インクリメントされるごとに、閾値レベルが1レベルずつ高くなるようにデータが選択メモリセルMCに書き込まれる。例えば、3ビットデータが1インクリメントされると、閾値電圧は、Vt(i)(i=8~15)からVt(i+1)になり、閾値電圧Vt(i+1)を超えるように書き込みを実行する。ベリファイリード動作において、閾値電圧が閾値電圧Vt(i+1)を超えた場合(パスした場合)、そのラカムの選択メモリセルMCの書込み動作は終了する。次の書込み動作では、書込みの終了した選択メモリセルMCのビット線BLは駆動されず禁止状態(inhibit状態)になる。
【0069】
このように、ライトドライバWDは、ラッチ回路DL4に保持された検出結果に基づいて、選択メモリセルMCに3ビットデータに応じた閾値のデータを書き込む。
【0070】
3ビットデータの書き込みが、閾値レベル8~15の分割閾値分布にある全カラムの選択メモリセルMCにおいて終了すると、選択メモリセルMCの閾値分布は、
図3Eに示すような状態となる。
【0071】
同様に、ライトドライバWDは、3ビットデータに応じて、閾値レベル16~23、24~31、・・・120~127の分割閾値分布にあるデータを書き込む。全ての分割閾値分布において3ビットデータが書き込まれると、
図3Fに示すように、全閾値レベル0~127が選択メモリセルMCに書き込まれる。
【0072】
このように、本実施形態では、ラッチ回路DL1~DL4に保持され得るデータの最大ビット数(4ビット)は、選択メモリセルMCに記憶されるデータのビット数(7ビット)よりも小さい。しかし、ラッチ回路DL1~DL4は、7ビットの書込みデータを複数に分割し、その一部分の4ビットデータを保持する。ライトドライバWDは、選択メモリセルMCの閾値分布を4ビットデータのデータ数で複数の分割閾値分布に分割し、4ビットデータに応じて分割閾値分布にデータを書き込む。その後、ラッチ回路DL1~DL3は、書込みデータの残りの3ビットデータを保持する。ライトドライバWDは、一旦読み出された検出結果に基づいて、分割閾値分布ごとに3ビットデータを選択メモリセルMCに書き込む。このようにして、ラッチ回路DL1~DL4のビット数よりも大きな7ビットデータを、書込みデータとして選択メモリセルMCに記憶することができる。
【0073】
(読出し動作1)
図5A~
図5Cは、第1実施形態によるメモリシステム1のデータ読出し動作の一例を示す図である。
図6は、第1実施形態によるメモリシステム1のデータ読出し動作の一例を示すフロー図である。
【0074】
図5A~
図5Cでは、ラッチ回路DL1~DL4を用いて、7ビットデータを選択メモリセルMCから読み出す。この場合、ラッチ回路DL1~DL4に保持可能な最大ビット数は4ビットであるのに対して、選択メモリセルMCからの読出しデータのビット数は7ビットである。従って、ラッチ回路DL1~DL4に保持可能な最大ビット数は、読出しデータのビット数よりも小さい。前提として選択メモリセルMCには、
図5Aに示すように、0~127レベルの128個の閾値電圧のいずれかにデータが書き込まれている。
【0075】
このように読出しデータをそれよりもビット数の小さいラッチ回路DL1~DL4を用いて選択メモリセルMCから読み出すために、本実施形態では、読出しデータを複数に分割して部分ごとに選択メモリセルMCから読み出す。この場合、ラッチ回路DL1~DL4に1度に保持されるデータは読出しデータの一部分となる。
【0076】
まず、
図5Bに示すように、センスアンプSAは、各分割閾値分布の中で最も低い閾値電圧Vt8、Vt16、Vt24・・・Vt120を用いて、選択メモリセルMCのデータを検出する(S11)。即ち、センスアンプSAは、分割閾値分布ごとに、最低閾値電圧Vt8j(j=1~15)を用いて、jを1からインクリメントしながら選択メモリセルMCのデータを検出する。これにより、選択メモリセルMCのデータが16個の分割閾値分布のうち、どの分割閾値分布に属するかが判明する。即ち、読出しデータ(7ビットデータ)のうちの一部分(4ビットデータ)が判明する。この4ビットデータは、ラッチ回路DL1~DL4に保持される(S21)。
【0077】
例えば、センスアンプSAで検出された読出しデータが閾値電圧Vt8未満である場合、選択メモリセルMCのデータは、閾値レベル0~7のいずれかであることが分かる。この場合、ラッチ回路DL1~DL4は、読出しデータに応じた4ビットデータ0000を格納する。
【0078】
センスアンプSAで検出された読出しデータが閾値電圧Vt8以上かつVt16未満である場合、選択メモリセルMCのデータは、閾値レベル8~15のいずれかであることが分かる。この場合、ラッチ回路DL1~DL4は、読出しデータに応じた4ビットデータ0001を保持する。
【0079】
センスアンプSAで検出された読出しデータが閾値電圧Vt16以上かつVt24未満である場合、選択メモリセルMCのデータは、閾値レベル16~23のいずれかであることが分かる。この場合、ラッチ回路DL1~DL4は、読出しデータに応じた4ビットデータ0010を保持する。
【0080】
同様に、この読出し動作を全ての分割閾値分布において実行する。読出しデータが閾値電圧Vt(8j)(j=1~14)以上かつVt(8(j+1))未満である場合、選択メモリセルMCのデータは、閾値レベル8j~8j+7のいずれかであることが分かる。この場合、ラッチ回路DL1~DL4は、読出しデータに応じた4ビットデータを保持する。
【0081】
全ての分割閾値分布の読出し動作または全てのカラムの読出し動作が終了すると、ラッチ回路DL1~DL4の4ビットデータは、コントローラ17に読出しデータの一部分として保持される。
【0082】
次に、
図5Cに示すように、センスアンプSAは、各閾値電圧Vt1~Vt127を用いて、選択メモリセルMCのデータを検出する(S31)。即ち、センスアンプSAは、閾値電圧Vtg(g=1~127)を用いて、gを1からインクリメントしながら選択メモリセルMCのデータを検出する。これにより、選択メモリセルMCのデータのそれぞれの閾値レベルが判明する。
【0083】
例えば、センスアンプSAで検出された読出しデータが閾値電圧Vt1未満である場合、選択メモリセルMCのデータは、閾値レベル0であることが分かる。
【0084】
センスアンプSAで検出された読出しデータが閾値電圧Vt1以上かつVt2未満である場合、選択メモリセルMCのデータは、閾値レベル1であることが分かる。
【0085】
センスアンプSAで検出された読出しデータが閾値電圧Vt2以上かつVt3未満である場合、選択メモリセルMCのデータは、閾値レベル2であることが分かる。
【0086】
同様に、この読出し動作を全ての閾値電圧Vt1~Vt127において実行する。読出しデータが閾値電圧Vtg(g=1~127)以上かつVt(g+1)未満である場合、選択メモリセルMCのデータは、閾値レベルgであることが分かる。
【0087】
次に、リードライト回路12は、読出しデータの閾値レベルgを分割閾値分布内の閾値レベル数8で割り算した余りを3ビットデータにしてラッチ回路DL1~DL4に格納する(S41)。例えば、読出しデータの閾値レベルが0、8、16、24・・・120である場合、閾値レベルを8で割ると、余りは0である。従って、リードライト回路12は、3ビットデータとして000をラッチ回路DL1~DL3に格納する。
【0088】
読出しデータの閾値レベルが1、9、17、25・・・121である場合、閾値レベルを8で割ると、余りは1である。従って、リードライト回路12は、3ビットデータとして001をラッチ回路DL1~DL3に格納する。
【0089】
読出しデータの閾値レベルが2、10、18、26・・・122である場合、閾値レベルを8で割ると、余りは2である。従って、リードライト回路12は、3ビットデータとして010をラッチ回路DL1~DL3に格納する。
【0090】
同様に、このデータ変換動作を全ての閾値レベルgにおいて実行する。これにより、分割閾値分布内における読出しデータの閾値レベルの位置を3ビットデータに変換することができる。
【0091】
全ての閾値電圧を用いた読出し動作または全てのカラムの読出し動作が終了すると、ラッチ回路DL1~DL3の3ビットデータは、コントローラ17に読出しデータの残部として保持される。
【0092】
コントローラ17は、このとき受け取った読出しデータの残部(3ビットデータ)と、すでに保持されている読出しデータの一部分(4ビットデータ)とを合成して読出しデータ(7ビットデータ)を生成する(S51)。この7ビットの読出しデータは、IO回路16を介してメモリコントローラ20へ出力される。
(読出し動作2)
図7A~
図7Cは、第1実施形態によるメモリシステム1のデータ読出し動作の他の例を示す図である。
図8は、第1実施形態によるメモリシステム1のデータ読出し動作の他の例を示すフロー図である。
【0093】
図7A~
図7Cでも、ラッチ回路DL1~DL4に保持可能な最大ビット数は、読出しデータのビット数よりも小さい。前提として選択メモリセルMCには、
図7Aに示すように、0~127レベルの128個の閾値電圧のいずれかにデータが書き込まれている。
【0094】
この例では、センスアンプSAは、3ビットデータが同一の読出しデータ(4ビットデータ)を、低い閾値レベルから順番に分割して読み出す(S12)。この4ビットデータは、ラッチ回路DL1~DL4に保持される(S22)。ラッチ回路DL1~DL4に1度に保持されるデータは、4ビットデータであるが、残りの3ビットデータは同一であるので、コントローラ17は、7ビットデータとして出力することができる(S32)。
【0095】
まず、
図7Bに示すように、センスアンプSAは、閾値電圧Vt1~Vt16を用いて、選択メモリセルMCのデータを検出する。即ち、センスアンプSAは、閾値電圧Vtf(f=1~16)を用いて、fを1からインクリメントしながら選択メモリセルMCのデータを検出する。これにより、読出しデータのうち閾値レベル0~15の読出しデータが判明する。この読出しデータは、4ビットデータとしてラッチ回路DL1~DL4に保持される。
【0096】
ラッチ回路DL1~DL4の4ビットデータは、コントローラ17に転送され、読出しデータとして保持される。閾値レベル0~15の4ビットデータの残りの3ビットデータは、同一であり、例えば、000である。従って、コントローラ17は、ラッチ回路DL1~DL4に保持された4ビットデータを7ビットデータとして保持することができる。
【0097】
次に、
図7Cに示すように、センスアンプSAは、閾値電圧Vt17~Vt32を用いて、選択メモリセルMCのデータを検出する。即ち、センスアンプSAは、閾値電圧Vtf(f=17~32)を用いて、fを1からインクリメントしながら選択メモリセルMCのデータを検出する。これにより、読出しデータのうち閾値レベル16~31の読出しデータが判明する。この読出しデータは、4ビットデータとしてラッチ回路DL1~DL4に保持される。
【0098】
ラッチ回路DL1~DL4の4ビットデータは、コントローラ17に転送され、読出しデータとして保持される。閾値レベル16~31の4ビットデータの残りの3ビットデータは、同一であり、例えば、001である。従って、コントローラ17は、ラッチ回路DL1~DL4に保持された4ビットデータを7ビットデータとして保持することができる。
【0099】
同様に、この読出し動作を全ての閾値電圧Vt1~Vt127において実行する。センスアンプSAは、閾値電圧Vt(16k+1)~Vt(16(k+1))(k=0~7)を用いて、閾値電圧のレベルをインクリメントしながら選択メモリセルMCのデータを検出する。これにより、読出しデータのうち閾値レベル16k~16(k+1)-1の読出しデータが判明する。この読出しデータは、4ビットデータとしてラッチ回路DL1~DL4に保持される。
【0100】
ラッチ回路DL1~DL4の4ビットデータは、コントローラ17に転送され、読出しデータとして保持される。閾値レベル16k~16(k+1)-1の4ビットデータの残りの3ビットデータは、同一である。従って、コントローラ17は、ラッチ回路DL1~DL4に保持された4ビットデータを7ビットデータとして保持することができる。
【0101】
全ての閾値電圧を用いた読出し動作または全てのカラムの読出し動作が終了すると、コントローラ17は、読出しデータの一部分(4ビットデータ)と残部(3ビットデータ)とを合成して読出しデータ(7ビットデータ)を生成する。この7ビットの読出しデータは、IO回路16を介してメモリコントローラ20へ出力される。
【0102】
このように、本実施形態によれば、ラッチ回路DL1~DL4に保持され得るデータの最大ビット数(4ビット)は、選択メモリセルMCに記憶されるデータのビット数(7ビット)よりも小さい。しかし、読出しデータを4ビットデータおよび3ビットデータに分割して読み出すことによって、ラッチ回路DL1~DL4は、7ビットの読出しデータを複数に分割しその一部分(4ビットデータ)と残部(3ビットデータ)を順に保持し出力することができる。または、同一の3ビットデータを有する4ビットデータを読み出すことによって、ラッチ回路DL1~DL4は、実質的に、7ビットの読出しデータを保持し出力することができる。
【0103】
(第2実施形態)
図9は、リードノイズを示すグラフである。このグラフの横軸は、読出し動作において用いられる検出用の閾値電圧Vtである。縦軸は、或る選択メモリセルMCの閾値電圧Vtcが検出用の閾値電圧Vtよりも低い確率である。このグラフから、検出用の閾値電圧Vtが2.8~2.85Vにおいて、Vt>Vtcとなる確率が0~1において遷移しており、1つの選択メモリセルMCの閾値電圧Vtcにばらつきがあることが分かる。また、同一データを記憶する複数のメモリセルMCであっても、閾値電圧Vtcはばらつく。このような、メモリセルMCの閾値電圧のばらつきは、リードノイズの原因となる。
【0104】
図10は、読出し動作またはベリファイリード動作におけるビットエラー率を示す表である。例えば、書込み動作においてベリファイリード動作を1回行い、かつ、読出し動作を1回だけ行った場合、ビットエラー率は、0.0075(0.75%)であった。書込み動作においてベリファイリード動作を1回行い、かつ、読出し動作を100回行った場合、ビットエラー率は、0.0068(0.68%)であった。書込み動作においてベリファイリード動作を10回行い、かつ、読出し動作を10回行った場合、ビットエラー率は、0.0038(0.38%)であった。書込み動作においてベリファイリード動作を100回行い、かつ、読出し動作を100回行った場合、ビットエラー率は、0.0031(0.31%)であった。
【0105】
このように、書込み動作のベリファイリード回数および読出し回数がともに多いほど、ビットエラー率は低くなる。
【0106】
そこで、第2実施形態では、ベリファイリード動作または読出し動作において、或る閾値電圧Vtでのパス回数が所定値以上になったときにベリファイリード動作または読出し動作を終了する。
【0107】
図11は、第2実施形態によるベリファイリード動作または読出し動作のパス回数とデータ判定との関係の一例を示す表である。この例では、ベリファイリード動作または読出し動作のパス回数が0~3回であっても、データを判定せず不確定とする。ベリファイリード動作または読出し動作のパス回数が4回となったときに、データを確定する。
【0108】
例えば、
図3Aにおいて、閾値レベル8を選択メモリセルMCに書き込むときに、ベリファイリード動作では、選択メモリセルMCの閾値電圧Vtcが閾値電圧Vt8を超えたときに“パス”とする。しかし、第2実施形態では、ベリファイリード動作での“パス”の回数が3回までは、閾値レベル8のデータが選択メモリセルMCに書き込まれたと判断せずに、さらに書き込み動作を実行する。即ち、ベリファイリード動作での“パス”の回数が3回までは、データ判定は“不確定”とする。そして、“パス”の回数が4回に達したときに、閾値レベル8のデータが選択メモリセルMCに書き込まれたと判断し、書き込み動作は終了する。即ち、ベリファイリード動作での“パス”の回数が4回以上になったときに、データ判定は“確定”とする。
【0109】
パス回数は、ラッチ回路SDL、TDLに保持する。ラッチ回路SDL、TDLは、2ビットデータ(00~11)を保持できるので、パス回数を0~3回まで保持できる。例えば、ラッチ回路SDL、TDLは、閾値電圧Vt8でのパス回数を保持し、パス回数が3回に達したときに(11)となる。次に、書込み動作後のベリファイリード動作においてパスした場合、パス回数が所定値4回に達するので、閾値電圧Vt8での書込み動作が終了する。即ち、選択メモリセルMCに閾値レベル8のデータが書き込まれたものと確定する。
【0110】
このデータ判定は、読出し動作においても同様である。例えば、
図5Bにおいて、閾値レベル8を用いて選択メモリセルMCのデータを読み出すときに、選択メモリセルMCの閾値電圧Vtcが閾値電圧Vt8を超えていれば “パス”とする。しかし、第2実施形態では、“パス”の回数が3回までは、閾値レベル8のデータが選択メモリセルMCに記憶されていると判断せずに、さらに読出し動作を繰り返す。即ち、“パス”の回数が3回までは、データ判定は“不確定”とする。そして、“パス”の回数が4回に達したときに、閾値レベル8以上のデータが選択メモリセルMCに記憶されていたと判断し、読出し動作は終了する。即ち、読出し動作でも、“パス”の回数が4回以上になったときに、データ判定は“確定”とする。
【0111】
パス回数は、ベリファイリード動作と同様に、ラッチ回路SDL、TDLに保持すればよい。例えば、ラッチ回路SDL、TDLは、閾値電圧Vt8でのパス回数を保持し、パス回数が3回に達したときに(11)となる。次の読出し動作においてパスした場合、パス回数が所定値4回に達するので、閾値電圧Vt8での読出し動作が終了する。即ち、選択メモリセルMCに閾値レベル8以上のデータが記憶されたことが確定する。
【0112】
尚、閾値レベル8未満のデータが記憶されていた場合、読出し動作を繰り返してもパス回数は3以下のままであり、データは確定しない。この場合、コントローラ17は、読出し動作を予め設定された回数(例えば、10回)繰り返した後、データが閾値レベル8未満であると判断する。
【0113】
第2実施形態によれば、或る閾値電圧でのベリファイリード動作または読出し動作において、パス回数が所定値になるまで選択メモリセルへのデータの書込み動作または読出し動作を繰り返す。これにより、ビットエラー率を低くし、リードノイズを低減することができる。
【0114】
(第3実施形態)
図12は、メモリセルアレイ11の動作温度と読出し動作回数またはベリファイリード動作の回数との関係を示す表である。メモリセルアレイ11の動作温度が低いほど、リードノイズが小さい。よって、メモリセルアレイ11の動作温度が低いほど、ベリファイリード動作または読出し動作において、データを確定させるパス回数は小さくすることができる。即ち、メモリセルアレイ11の動作温度に応じて、パス回数の所定値を変更する。例えば、メモリセルアレイ11の動作温度が-197度である場合、パス回数の所定値は、3回でよい。メモリセルアレイ11の動作温度が-40度である場合、パス回数の所定値は、7回でよい。一方、メモリセルアレイ11の動作温度が27度を超えると、パス回数の所定値は10回以上必要になる。
図10に示すように、ベリファイリード動作の回数および読出し動作回数が多いほど、データの書込み時間および読出し時間が長くなる。
【0115】
そこで、第3実施形態では、メモリセルアレイ11の動作温度を-40度以下にすることが好ましい。これにより、ベリファイリード動作または読出し動作において、データを確定するパス回数の所定値を小さくすることができる。その結果、データの書込み時間および読出し時間を短くすることができる。
【0116】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0117】
1 メモリシステム
10 メモリデバイス
20 メモリコントローラ
11 メモリセルアレイ
12 リードライト回路
SA センスアンプ
WD ライトドライバ
SDL,TDL,DL1~DL4 ラッチ回路
13 カラムデコーダ
14 ワード線ドライバ
15 ロウデコーダ
16 IO回路
17 コントローラ
18 コマンドアドレス入力回路