(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024097603
(43)【公開日】2024-07-19
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
G11C 16/10 20060101AFI20240711BHJP
G11C 7/10 20060101ALI20240711BHJP
【FI】
G11C16/10 170
G11C7/10 505
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023001170
(22)【出願日】2023-01-06
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100140486
【弁理士】
【氏名又は名称】鎌田 徹
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100121843
【弁理士】
【氏名又は名称】村井 賢郎
(72)【発明者】
【氏名】萩原 洋介
(72)【発明者】
【氏名】黒沢 智紀
【テーマコード(参考)】
5B225
【Fターム(参考)】
5B225BA01
5B225CA14
5B225CA21
5B225DE07
5B225EA05
5B225EF11
5B225FA02
(57)【要約】
【課題】書き込み用のデータを適切に受信することのできる半導体記憶装置を提供する。
【解決手段】半導体記憶装置2は、外部から第1トグル信号を受信するパッド311と、参照電位VREFに対する第1トグル信号の大小関係に応じて切り換わる第2トグル信号、を生成し出力する比較回路50と、比較回路50に接続された可変の電流源61と、外部から入力される制御信号に基づいて、電流源61から出力される電流を調整するシーケンサ41と、を備える。
【選択図】
図12
【特許請求の範囲】
【請求項1】
外部から第1トグル信号を受信する受信部と、
参照電位に対する前記第1トグル信号の大小関係に応じて切り換わる第2トグル信号、を生成し出力する比較回路と、
前記比較回路に接続された可変の電流源と、
外部から入力される制御信号に基づいて、前記電流源から出力される電流を調整する調整部と、を備える半導体記憶装置。
【請求項2】
前記比較回路は、前記第2トグル信号を出力する出力部を有し、
前記電流源は前記出力部に接続されている、請求項1に記載の半導体記憶装置。
【請求項3】
前記比較回路は、
前記第2トグル信号を出力する第1出力部と、
前記第2トグル信号の相補信号を出力する第2出力部と、を有し、
前記電流源は、
前記第1出力部に接続された第1電流源と、
前記第2出力部に接続された第2電流源と、を含む、請求項1に記載の半導体記憶装置。
【請求項4】
前記受信部は複数設けられており、
前記比較回路及び前記電流源も、それぞれの前記受信部に対応して複数設けられている、請求項1に記載の半導体記憶装置。
【請求項5】
前記調整部は、
それぞれの前記電流源から出力される電流を個別に調整する、請求項4に記載の半導体記憶装置。
【請求項6】
外部から入力される前記制御信号は、第1制御信号と第2制御信号とを含み、
前記調整部は、
前記第1制御信号に基づいて、前記参照電位を調整した後、
前記第2制御信号に基づいて、前記電流源から出力される電流を調整する、請求項1に記載の半導体記憶装置。
【請求項7】
前記受信部は複数設けられており、
前記比較回路及び前記電流源も、それぞれの前記受信部に対応して複数設けられており、
前記第1制御信号に基づいて調整された前記参照電位は、それぞれの前記比較回路において共通に用いられる、請求項6に記載の半導体記憶装置。
【請求項8】
前記調整部は、
それぞれの前記電流源から出力される電流を個別に調整する、請求項7に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【0002】
例えばNAND型フラッシュメモリのような半導体記憶装置は、メモリコントローラから書き込み用のデータを受信して記憶する。メモリコントローラからのデータは、HレベルとLレベルとの間で切り換わるトグル信号として半導体記憶装置に送られる。半導体記憶装置は、所定の参照電位に対するトグル信号の大小関係に基づいて、トグル信号がHレベルかLレベルかを判定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
開示された実施形態によれば、書き込み用のデータを適切に受信することのできる半導体記憶装置が提供される。
【課題を解決するための手段】
【0005】
実施形態に係る半導体記憶装置は、外部から第1トグル信号を受信する受信部と、参照電位に対する第1トグル信号の大小関係に応じて切り換わる第2トグル信号、を生成し出力する比較回路と、比較回路に接続された可変の電流源と、外部から入力される制御信号に基づいて、電流源から出力される電流を調整する調整部と、を備える。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態に係るメモリシステムの構成例を示すブロック図である。
【
図2】第1実施形態に係るメモリシステムの構成例を示すブロック図である。
【
図3】第1実施形態に係る半導体記憶装置の構成を示すブロック図である。
【
図4】メモリセルアレイの構成を示す等価回路図である。
【
図5】メモリセルアレイの構成を示す断面図である。
【
図6】センスアンプユニットの回路構成を示す図である。
【
図7】メモリセルトランジスタの閾値分布の一例を示す図である。
【
図8】書き込み動作時における、各配線の電位変化を示す図である。
【
図9】読み出し動作時における、各配線の電位変化を示す図である。
【
図10】第1実施形態に係る半導体記憶装置とメモリコントローラとの間で送受信される信号等の、時間変化の一例を示す図である。
【
図11】トグル信号について説明するための図である。
【
図12】第1実施形態に係る半導体記憶装置のうち、入出力用パッド群31及び入出力回路21の構成を示す図である。
【
図13】第1実施形態における比較回路の構成例を示す図である。
【
図14】電流源から出力される電流の補正に用いられる補正コードの一例を示す図である。
【
図17】メモリコントローラにより実行される処理の一例を示すフローチャートである。
【
図18】補正コードの設定方法について説明するための図である。
【
図19】第2実施形態に係る半導体記憶装置のうち、入出力用パッド群31及び入出力回路21の構成を示す図である。
【
図20】第2実施形態における比較回路の構成例を示す図である。
【
図21】第3実施形態に係る半導体記憶装置のうち、入出力用パッド群及び入出力回路の構成を示す図である。
【
図22】メモリコントローラにより実行される処理の一例を示すフローチャートである。
【
図23】補正コードの設定方法について説明するための図である。
【
図24】比較例に係る半導体記憶装置において、参照電位の設定に用いられる回路の一例を示す図である。
【発明を実施するための形態】
【0007】
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0008】
第1実施形態について説明する。本実施形態に係る半導体記憶装置2は、NAND型フラッシュメモリとして構成された不揮発性の記憶装置である。
図1には、半導体記憶装置2を含むメモリシステムの構成例がブロック図として示されている。このメモリシステムは、メモリコントローラ1と、半導体記憶装置2とを備える。
【0009】
尚、実際のメモリシステムにおいては、
図2に示されるように、1つのメモリコントローラ1に対し複数の半導体記憶装置2が設けられている。
図1においては、複数ある半導体記憶装置2のうちの1つのみが図示されている。半導体記憶装置2の具体的な構成については後に説明する。
【0010】
このメモリシステムは、不図示のホストと接続可能である。ホストは、例えば、パーソナルコンピュータや携帯端末等の電子機器である。メモリコントローラ1は、ホストからの書き込みリクエストに従って半導体記憶装置2へのデータの書き込みを制御する。また、メモリコントローラ1は、ホストからの読み出しリクエストに従って半導体記憶装置2からのデータの読み出しを制御する。
【0011】
メモリコントローラ1と半導体記憶装置2との間では、チップイネーブル信号/CE、レディービジー信号R/B、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号/RE、RE、ライトプロテクト信号/WP、データである信号DQ<7:0>、データストローブ信号DQS、/DQS、の各信号が送受信される。
【0012】
チップイネーブル信号/CEは、半導体記憶装置2をイネーブルにするための信号である。レディービジー信号R/Bは、半導体記憶装置2がレディ状態であるか、ビジー状態であるかを示すための信号である。「レディ状態」とは、外部からの命令を受け付ける状態である。「ビジー状態」とは、外部からの命令を受け付けない状態である。
【0013】
図2に示されるように、複数の半導体記憶装置2のそれぞれには、チップイネーブル信号/CEが個別に送信される。
図2においては、それぞれのチップイネーブル信号/CEを互いに区別し得るよう、例えば「/CE0」のように末尾に番号が付してある。
【0014】
同様に、複数の半導体記憶装置2のそれぞれからは、レディービジー信号R/Bが個別に送信される。
図2においては、それぞれのレディービジー信号R/Bを互いに区別し得るよう、例えば「R/B0」のように末尾に番号が付してある。
【0015】
チップイネーブル信号/CEやレディービジー信号R/B以外の信号(コマンドラッチイネーブル信号CLE等)については、複数の半導体記憶装置2で共通となっている信号線を介して、メモリコントローラ1と半導体記憶装置2との間で送受信される。メモリコントローラ1は、個別のチップイネーブル信号/CEを用いて、通信の対象となる半導体記憶装置2を特定する。
【0016】
コマンドラッチイネーブル信号CLEは、信号DQ<7:0>がコマンドであることを示す信号である。アドレスラッチイネーブル信号ALEは、信号DQ<7:0>がアドレスであることを示す信号である。ライトイネーブル信号/WEは、受信した信号を半導体記憶装置2に取り込むための信号であり、メモリコントローラ1によりコマンド、アドレス、及びデータを受信する都度アサートされる。メモリコントローラ1は、信号/WEが“L(Low)”レベルである間に信号DQ<7:0>を取り込むよう半導体記憶装置2に指示する。
【0017】
リードイネーブル信号/REは、メモリコントローラ1が、半導体記憶装置2からデータを読み出すための信号である。信号REは信号/REの相補信号である。これらは例えば、信号DQ<7:0>を出力する際の半導体記憶装置2の動作タイミングを制御するために使用される。ライトプロテクト信号/WPは、データ書き込み及び消去の禁止を半導体記憶装置2に指示するための信号である。信号DQ<7:0>は、半導体記憶装置2とメモリコントローラ1との間で送受信されるデータの実体であり、コマンド、アドレス、及びデータを含む。データストローブ信号DQSは、信号DQ<7:0>の入出力のタイミングを制御するための信号である。信号/DQSは信号DQSの相補信号である。
【0018】
メモリコントローラ1は、RAM11と、プロセッサ12と、ホストインターフェイス13と、ECC回路14と、メモリインターフェイス15と、を備える。RAM11、プロセッサ12、ホストインターフェイス13、ECC回路14、及びメモリインターフェイス15は、互いに内部バス16で接続されている。
【0019】
ホストインターフェイス13は、ホストから受信したリクエスト、ユーザデータ(書き込みデータ)等を内部バス16に出力する。また、ホストインターフェイス13は、半導体記憶装置2から読み出されたユーザデータ、プロセッサ12からの応答等をホストへ送信する。
【0020】
メモリインターフェイス15は、プロセッサ12の指示に基づいて、ユーザデータ等を半導体記憶装置2へ書き込む処理、及び、半導体記憶装置2から読み出す処理を制御する。
【0021】
プロセッサ12は、メモリコントローラ1を統括的に制御する。プロセッサ12は、例えばCPUやMPU等である。プロセッサ12は、ホストからホストインターフェイス13経由でリクエストを受けた場合に、そのリクエストに従った制御を行う。例えば、プロセッサ12は、ホストからのリクエストに従って、半導体記憶装置2へのユーザデータ及びパリティの書き込みをメモリインターフェイス15へ指示する。また、プロセッサ12は、ホストからのリクエストに従って、半導体記憶装置2からのユーザデータ及びパリティの読み出しをメモリインターフェイス15へ指示する。
【0022】
プロセッサ12は、RAM11に蓄積されるユーザデータに対して、半導体記憶装置2上の格納領域(メモリ領域)を決定する。ユーザデータは、内部バス16経由でRAM11に格納される。プロセッサ12は、メモリ領域の決定を、書き込み単位であるページ単位のデータ(ページデータ)に対して実施する。半導体記憶装置2の1ページに格納されるユーザデータのことを、以下では「ユニットデータ」とも称する。ユニットデータは、一般的には符号化されて、符号語として半導体記憶装置2に格納される。本実施形態では、符号化は必須ではない。メモリコントローラ1は、符号化せずにユニットデータを半導体記憶装置2に格納してもよいが、
図1では、一構成例として符号化を行う構成を示している。メモリコントローラ1が符号化を行わない場合には、ページデータはユニットデータと一致する。また、1つのユニットデータに基づいて1つの符号語が生成されてもよいし、ユニットデータが分割された分割データに基づいて1つの符号語が生成されてもよい。また、複数のユニットデータを用いて1つの符号語が生成されてもよい。
【0023】
プロセッサ12は、ユニットデータごとに書き込み先の半導体記憶装置2のメモリ領域を決定する。半導体記憶装置2のメモリ領域には物理アドレスが割当てられている。プロセッサ12は、ユニットデータの書き込み先のメモリ領域を、物理アドレスを用いて管理する。プロセッサ12は、決定したメモリ領域(物理アドレス)を指定してユーザデータを半導体記憶装置2へ書き込むようメモリインターフェイス15へ指示する。プロセッサ12は、ユーザデータの論理アドレス(ホストが管理する論理アドレス)と物理アドレスとの対応を管理する。プロセッサ12は、ホストからの論理アドレスを含む読み出しリクエストを受信した場合は、論理アドレスに対応する物理アドレスを特定し、物理アドレスを指定してユーザデータの読み出しをメモリインターフェイス15へ指示する。
【0024】
ECC回路14は、RAM11に格納されたユーザデータを符号化して、符号語を生成する。また、ECC回路14は、半導体記憶装置2から読み出された符号語を復号する。ECC回路14は、例えばユーザデータに付与されたチェックサム等を利用することで、データにおけるエラーの検出、及び当該エラーの訂正を行う。
【0025】
RAM11は、ホストから受信したユーザデータを半導体記憶装置2へ記憶するまでに一時格納したり、半導体記憶装置2から読み出したデータをホストへ送信するまでに一時格納したりする。RAM11は、例えば、SRAMやDRAM等の汎用メモリである。
【0026】
図1では、メモリコントローラ1が、ECC回路14とメモリインターフェイス15をそれぞれ備える構成例が示されている。しかしながら、ECC回路14がメモリインターフェイス15に内蔵されていてもよい。また、ECC回路14が、半導体記憶装置2に内蔵されていてもよい。
図1に示される各要素の具体的な構成や配置は、特に限定されない。
【0027】
ホストから書き込みリクエストを受信した場合、
図1のメモリシステムは次のように動作する。プロセッサ12は、書き込み動作の対象となるデータをRAM11に一時記憶させる。プロセッサ12は、RAM11にストアされたデータを読み出し、ECC回路14に入力する。ECC回路14は、入力されたデータを符号化し、符号語をメモリインターフェイス15に入力する。メモリインターフェイス15は、入力された符号語を半導体記憶装置2に書き込む。
【0028】
ホストから読み出しリクエストを受信した場合、
図1のメモリシステムは次のように動作する。メモリインターフェイス15は、半導体記憶装置2から読み出した符号語をECC回路14に入力する。ECC回路14は、入力された符号語を復号し、復号されたデータをRAM11にストアする。プロセッサ12は、RAM11にストアされたデータを、ホストインターフェイス13を介してホストに送信する。
【0029】
半導体記憶装置2の構成について説明する。
図3に示されるように、半導体記憶装置2は、2つのプレーンPL1、PL2と、入出力回路21と、ロジック制御回路22と、シーケンサ41と、レジスタ42と、電圧生成回路43と、入出力用パッド群31と、ロジック制御用パッド群32と、電源入力用端子群33と、を備えている。
【0030】
プレーンPL1は、メモリセルアレイ110と、センスアンプ120と、ロウデコーダ130と、を備えている。また、プレーンPL2は、メモリセルアレイ210と、センスアンプ220と、ロウデコーダ230と、を備えている。プレーンPL1の構成とプレーンPL2の構成とは互いに同一である。つまり、メモリセルアレイ110の構成とメモリセルアレイ210の構成とは互いに同一であり、センスアンプ120の構成とセンスアンプ220の構成とは互いに同一であり、ロウデコーダ130の構成とロウデコーダ230の構成とは互いに同一である。半導体記憶装置2に設けられているプレーンの数は、本実施形態のように2つであってもよいが、1つでもよく、3つ以上であってもよい。
【0031】
メモリセルアレイ110及びメモリセルアレイ210は、データを記憶する部分である。メモリセルアレイ110及びメモリセルアレイ210のそれぞれは、ワード線及びビット線に関連付けられた複数のメモリセルトランジスタを含んでいる。これらの具体的な構成については後に説明する。
【0032】
入出力回路21は、メモリコントローラ1との間で、信号DQ<7:0>、及び、データストローブ信号DQS、/DQSを送受信する。入出力回路21は、信号DQ<7:0>内のコマンド及びアドレスをレジスタ42に転送する。また、入出力回路21は、書き込みデータ及び読み出しデータを、センスアンプ120やセンスアンプ220との間で送受信する。入出力回路21は、メモリコントローラ1からのデータやコマンド等が入力される入力回路と、メモリコントローラ1にデータを出力する出力回路と、の両方を有している。これらのうち入力回路の具体的な構成については、
図12等を参照しながら後に説明する。
【0033】
ロジック制御回路22は、メモリコントローラ1からチップイネーブル信号/CE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号RE、/RE、及びライトプロテクト信号/WPを受信する。また、ロジック制御回路22は、レディービジー信号R/Bをメモリコントローラ1に転送して、半導体記憶装置2の状態を外部に通知する。
【0034】
入出力回路21及びロジック制御回路22は、いずれも、メモリコントローラ1との間で信号が入出力される部分として構成された回路である。つまり、入出力回路21及びロジック制御回路22は、半導体記憶装置2のインターフェイス回路として設けられている。
【0035】
シーケンサ41は、メモリコントローラ1から半導体記憶装置2へと入力された制御信号に基づいて、プレーンPL1、PL2や電圧生成回路43等の各部の動作を制御する。シーケンサ41は、ロジック制御回路22や、メモリセルアレイ110、210等の各部の動作を制御する「制御部」に該当する。
【0036】
レジスタ42は、コマンドやアドレスを一時的に保持する部分である。レジスタ42は、プレーンPL1、PL2のそれぞれの状態を示すステータス情報をも保持する部分となっている。ステータス情報は、メモリコントローラ1からの要求に応じて、状態信号として入出力回路21からメモリコントローラ1へと出力される。
【0037】
電圧生成回路43は、シーケンサ41からの指示に基づき、メモリセルアレイ110、210におけるデータの書き込み動作、読み出し動作、及び、消去動作のそれぞれに必要な電圧を生成する部分である。このような電圧には、例えば、後述のワード線WLに対し印加されるVPGMやVPASS_PGM、VPASS_READのような電圧や、後述のビット線BLに印加される電圧等が含まれる。電圧生成回路43は、プレーンPL1及びプレーンPL2が互いに並列動作し得るように、各ワード線WLやビット線BL等のそれぞれに対し個別に電圧を印加することが可能となっている。
【0038】
入出力用パッド群31は、メモリコントローラ1と入出力回路21との間で各信号の送受信を行うための、複数の端子(パッド)が設けられた部分である。それぞれの端子は、信号DQ<7:0>、及び、データストローブ信号DQS、/DQSのそれぞれに対応して個別に設けられている。
【0039】
ロジック制御用パッド群32は、メモリコントローラ1とロジック制御回路22との間で各信号の送受信を行うための、複数の端子(パッド)が設けられた部分である。それぞれの端子は、チップイネーブル信号/CE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号RE、/RE、ライトプロテクト信号/WP、及び、レディービジー信号R/Bのそれぞれに対応して個別に設けられている。
【0040】
電源入力用端子群33は、半導体記憶装置2の動作に必要な各電圧の印加を受けるための、複数の端子が設けられた部分である。それぞれの端子に印加される電圧には、電源電圧Vcc、VccQ、Vpp、及び接地電圧Vss、VssQが含まれる。
【0041】
電源電圧Vccは、メモリセルアレイ110等の動作電源として外部から与えられる回路電源電圧であり、例えば2.5V程度の電圧である。接地電圧Vssは、電源電圧Vccの基準として用いられる接地電圧である。
【0042】
電源電圧VccQは、メモリコントローラ1と半導体記憶装置2との間で信号DQ<7:0>等を送受信する際に用いられる電圧であり、例えば1.2Vの電圧である。
接地電圧VssQは、電源電圧VccQの基準として用いられる接地電圧である。
【0043】
電源電圧Vppは、電源電圧Vccよりも高圧の電源電圧であり、例えば12Vの電圧である。メモリセルアレイ110、210へデータを書き込んだり、データを消去したりする際には、20V程度の高い電圧(VPGM)が必要となる。この際に、約2.5Vの電源電圧Vccを電圧生成回路43の昇圧回路で昇圧するよりも、約12Vの電源電圧Vppを昇圧する方が、高速かつ低消費電力で所望の電圧を生成することができる。一方で、例えば、高電圧を供給することができない環境において半導体記憶装置2が用いられる場合、電源電圧Vppには電圧が供給されなくともよい。電源電圧Vppが供給されない場合であっても、半導体記憶装置2は、電源電圧Vccが供給されていれば、各種の動作を実行することができる。すなわち、電源電圧Vccは、半導体記憶装置2に標準的に供給される電源であり、電源電圧Vppは、例えば使用環境に応じて追加的・任意的に供給される電源である。
【0044】
プレーンPL1、PL2の構成について説明する。尚、先に述べたように、プレーンPL1の構成とプレーンPL2の構成とは互いに同一である。このため、以下ではプレーンPL1の構成についてのみ説明し、プレーンPL2の構成については図示及び説明を省略する。
【0045】
図4には、プレーンPL1に設けられたメモリセルアレイ110の構成が、等価回路図として示されている。メモリセルアレイ110は複数のブロックBLKにより構成されているのであるが、
図4においては、これらのうちの1つのブロックBLKのみが図示されている。メモリセルアレイ110が有する他のブロックBLKの構成も、
図4に示されるものと同じである。
【0046】
図4に示されるように、ブロックBLKは、例えば4つのストリングユニットSU(SU0~SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリングNSを含む。NANDストリングNSの各々は、例えば8個のメモリセルトランジスタMT(MT0~MT7)と、選択トランジスタST1、ST2とを含む。
【0047】
尚、メモリセルトランジスタMTの個数は8個に限られず、例えば、32個、48個、64個、96個でもよい。例えばカットオフ特性を高めるために、選択トランジスタST1、ST2のそれぞれが、単一ではなく複数のトランジスタにより構成されていてもよい。さらに、メモリセルトランジスタMTと選択トランジスタST1、ST2との間には、ダミーセルトランジスタが設けられていてもよい。
【0048】
メモリセルトランジスタMTは、選択トランジスタST1と選択トランジスタST2との間において、直列接続されるようにして配置されている。一端側のメモリセルトランジスタMT7が、選択トランジスタST1のソースに接続され、他端側のメモリセルトランジスタMT0が、選択トランジスタST2のドレインに接続されている。
【0049】
ストリングユニットSU0~SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0~SGD3に共通接続されている。選択トランジスタST2のゲートは、同一のブロックBLK内にある複数のストリングユニットSU間で同一のセレクトゲート線SGSに共通接続されている。同一のブロックBLK内にあるメモリセルトランジスタMT0~MT7のゲートは、それぞれワード線WL0~WL7に共通接続される。すなわち、ワード線WL0~WL7及びセレクトゲート線SGSは、同一ブロックBLK内の複数のストリングユニットSU0~SU3間で共通となっているのに対し、セレクトゲート線SGDは、同一ブロックBLK内であってもストリングユニットSU0~SU3毎に個別に設けられている。
【0050】
メモリセルアレイ110には、m本のビット線BL(BL0、BL1、・・・、BL(m-1))が設けられている。上記の「m」は、1つのストリングユニットSUに含まれるNANDストリングNSの本数を表す整数である。それぞれのNANDストリングNSのうち、選択トランジスタST1のドレインは、対応するビット線BLに接続されている。選択トランジスタST2のソースは、ソース線SLに接続されている。ソース線SLは、ブロックBLKが有する複数の選択トランジスタST2のソースに対し、共通接続されている。
【0051】
同一のブロックBLK内にある複数のメモリセルトランジスタMTに記憶されているデータは、一括して消去される。一方、データの読み出し及び書き込みは、1つのワード線WLに接続され、かつ1つのストリングユニットSUに属する複数のメモリセルトランジスタMTに対して一括して行われる。それぞれのメモリセルは、上位ビット、中位ビット、及び下位ビットからなる3ビットのデータを保持することができる。
【0052】
つまり、本実施形態に係る半導体記憶装置2は、メモリセルトランジスタMTへのデータの書き込み方式として、1つのメモリセルトランジスタMTに3ビットデータを記憶させるTLC方式を採用している。このような態様に換えて、メモリセルトランジスタMTへのデータの書き込み方式としては、1つのメモリセルトランジスタMTに2ビットデータを記憶させるMLC方式等を採用してもよい。1つのメモリセルトランジスタMTに記憶されるデータのビット数は特に限定されない。
【0053】
尚、以下の説明では、1つのワード線WLに接続され、かつ1つのストリングユニットSUに属する複数のメモリセルトランジスタMTが記憶する1ビットデータの集合のことを「ページ」と称する。
図4では、上記のような複数のメモリセルトランジスタMTからなる集合の一つに、符号「MG」が付してある。
【0054】
本実施形態のように、1つのメモリセルトランジスタMTに3ビットのデータが記憶される場合、1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、3ページ分のデータを記憶することができる。これらのうち、下位ビットデータの集合からなるページのことを以下では「下位ページ」とも称し、下位ページのデータのことを以下では「下位ページデータ」とも称する。同様に、中位ビットデータの集合からなるページのことを以下では「中位ページ」とも称し、中位ページのデータのことを以下では「中位ページデータ」とも称する。上位ビットデータの集合からなるページのことを以下では「上位ページ」とも称し、上位ページのデータのことを以下では「上位ページデータ」とも称する。
【0055】
図5には、メモリセルアレイ110及びその周辺の構成が、模式的な断面図として示されている。同図に示されるように、メモリセルアレイ110では、導電体層320の上に複数のNANDストリングNSが形成されている。導電体層320は、埋め込みソース線(BSL)とも称されるものであり、
図4のソース線SLに該当するものである。
【0056】
導電体層320の上方には、セレクトゲート線SGSとして機能する複数の配線層333、ワード線WLとして機能する複数の配線層332、及びセレクトゲート線SGDとして機能する複数の配線層331が積層されている。積層された配線層333、332、331のそれぞれの間には、不図示の絶縁層が配置されている。
【0057】
メモリセルアレイ110には複数のメモリホール334が形成されている。メモリホール334は、上記の配線層333、332、331、及びこれらの間にある不図示の絶縁層を上下方向に貫通しており、且つ導電体層320に達する穴である。メモリホール334の側面には、ブロック絶縁膜335、電荷蓄積層336、及びゲート絶縁膜337が順次形成され、更にその内側に導電体柱338が埋め込まれている。導電体柱338は、例えばポリシリコンからなり、NANDストリングNSに含まれるメモリセルトランジスタMT並びに選択トランジスタST1及びST2の動作時にチャネルが形成される領域として機能する。このように、メモリホール334の内側には、ブロック絶縁膜335、電荷蓄積層336、ゲート絶縁膜337、及び導電体柱338からなる柱状体が形成されている。
【0058】
メモリホール334の内側に形成された柱状体のうち、積層された配線層333、332、331のそれぞれと交差している各部分は、トランジスタとして機能する。これら複数のトランジスタのうち、配線層331と交差している部分にあるものは、選択トランジスタST1として機能する。複数のトランジスタのうち、配線層332と交差している部分にあるものは、メモリセルトランジスタMT(MT0~MT7)として機能する。複数のトランジスタのうち、配線層333と交差している部分にあるものは、選択トランジスタST2として機能する。このような構成により、各メモリホール334の内側に形成された柱状体のそれぞれは、
図4を参照しながら説明したNANDストリングNSとして機能する。柱状体の内側にある導電体柱338は、メモリセルトランジスタMTや選択トランジスタST1、ST2のチャンネルとして機能する部分である。
【0059】
導電体柱338よりも上側には、ビット線BLとして機能する配線層が形成される。導電体柱338の上端には、導電体柱338とビット線BLとを接続するコンタクトプラグ339が形成されている。
【0060】
図5に示される構成と同様の構成が、
図5の紙面の奥行き方向に沿って複数配列されている。
図5の紙面の奥行き方向に沿って一列に並ぶ複数のNANDストリングNSの集合によって、1つのストリングユニットSUが形成されている。
【0061】
本実施形態に係る半導体記憶装置2では、メモリセルアレイ110の下方側、すなわち、メモリセルアレイ110と半導体基板300との間となる位置に、周辺回路PERが設けられている。周辺回路PERは、メモリセルアレイ110におけるデータの書き込み動作や読み出し動作、及び消去動作等を実現するために設けられた回路である。
図3に示されるセンスアンプ120、ロウデコーダ130、及び電圧生成回路43等は、周辺回路PERの一部となっている。周辺回路PERは、各種のトランジスタやRC回路等を含んでいる。
図5に示される例では、半導体基板300上に形成されたトランジスタTRと、メモリセルアレイ110の上方側にあるビット線BLとの間が、コンタクト924を介して電気的に接続されている。
【0062】
尚、このような構成に換えて、半導体基板300の上に直接メモリセルアレイ110が設けられている構成としてもよい。この場合、半導体基板300のp型ウェル領域が、ソース線SLとして機能することとなる。また、周辺回路PERは、半導体基板300の表面に沿ってメモリセルアレイ110と隣り合う位置に設けられることとなる。
【0063】
図3に戻って説明を続ける。先に述べたように、プレーンPL1には、上記のメモリセルアレイ110に加えて、センスアンプ120とロウデコーダ130とが設けられている。
【0064】
センスアンプ120は、ビット線BLに印加される電圧を調整したり、ビット線BLの電圧を読み出してデータに変換したりするための回路である。センスアンプ120は、データの読み出し時には、メモリセルトランジスタMTからビット線BLに読み出された読み出しデータを取得し、取得した読み出しデータを入出力回路21に転送する。センスアンプ120は、データの書き込み時には、ビット線BLを介して書き込まれる書き込みデータをメモリセルトランジスタMTに転送する。
【0065】
ロウデコーダ130は、ワード線WLのそれぞれに電圧を印加するための、不図示のスイッチ群として構成された回路である。ロウデコーダ130は、レジスタ42からブロックアドレス及びロウアドレスを受け取り、当該ブロックアドレスに基づいて対応するブロックBLKを選択するとともに、当該ロウアドレスに基づいて対応するワード線WLを選択する。ロウデコーダ130は、選択されたワード線WLに対して電圧生成回路43からの電圧が印加されるよう、上記のスイッチ群の開閉を切り換える。
【0066】
図6には、センスアンプ120の構成例が示されている。センスアンプ120は、複数のビット線BLのそれぞれに関連付けられた複数のセンスアンプユニットSAUを含む。
図6には、これらのうちの1つのセンスアンプユニットSAUの詳細な回路構成が抽出して示されている。
【0067】
図6に示されるように、センスアンプユニットSAUは、センスアンプ部SAと、ラッチ回路SDL、ADL、BDL、CDL、XDLとを含んでいる。センスアンプ部SA、ラッチ回路SDL、ADL、BDL、CDL、XDLは、互いにデータを送受信可能なように、バスLBUSによって接続されている。
【0068】
センスアンプ部SAは、例えば読み出し動作において、対応するビット線BLに読み出されたデータをセンスして、読み出したデータが“0”であるか“1”であるかを判定する。センスアンプ部SAは、例えば、pチャネルMOSトランジスタであるトランジスタTR1と、nチャネルMOSトランジスタであるトランジスタTR2~TR9と、キャパシタC10とを含んでいる。
【0069】
トランジスタTR1の一端は電源線に接続されており、トランジスタTR1の他端はトランジスタTR2に接続されている。トランジスタTR1のゲートは、ラッチ回路SDL内のノードINVに接続されている。トランジスタTR2の一端はトランジスタTR1に接続されており、トランジスタTR2の他端はノードCOMに接続されている。トランジスタTR2のゲートには信号BLXが入力される。トランジスタTR3の一端はノードCOMに接続されており、トランジスタTR3の他端はトランジスタTR4に接続されている。トランジスタTR3のゲートには信号BLCが入力される。トランジスタTR4は、高耐圧のMOSトランジスタである。トランジスタTR4の一端はトランジスタTR3に接続されている。トランジスタTR4の他端は対応するビット線BLに接続されている。トランジスタTR4のゲートには信号BLSが入力される。
【0070】
トランジスタTR5の一端はノードCOMに接続されており、トランジスタTR5の他端はノードSRCに接続されている。トランジスタTR5のゲートはノードINVに接続されている。トランジスタTR6の一端は、トランジスタTR1とトランジスタTR2との間に接続されており、トランジスタTR6の他端はノードSENに接続されている。トランジスタTR6のゲートには信号HLLが入力される。トランジスタTR7の一端はノードSENに接続されており、トランジスタTR7の他端はノードCOMに接続されている。トランジスタTR7のゲートには信号XXLが入力される。
【0071】
トランジスタTR8の一端は接地されており、トランジスタTR8の他端はトランジスタTR9に接続されている。トランジスタTR8のゲートはノードSENに接続されている。トランジスタTR9の一端はトランジスタTR8に接続されており、トランジスタTR9の他端はバスLBUSに接続されている。トランジスタTR9のゲートには信号STBが入力される。キャパシタC10の一端はノードSENに接続されている。キャパシタC10の他端にはクロックCLKが入力される。
【0072】
信号BLX、BLC、BLS、HLL、XXL、及びSTBは、例えばシーケンサ41によって生成される。また、トランジスタTR1の一端に接続された電源線には、例えば半導体記憶装置2の内部電源電圧である電圧Vddが印加され、ノードSRCには、例えば半導体記憶装置2の接地電圧である電圧Vssが印加される。
【0073】
ラッチ回路SDL、ADL、BDL、CDL、XDLは、読み出しデータを一時的に保持する。ラッチ回路XDLは入出力回路21に接続され、センスアンプユニットSAUと入出力回路21との間のデータの入出力に使用される。読み出しデータは、ラッチ回路XDLに保持されることで、入出力回路21からメモリコントローラ1へと出力可能な状態となる。例えば、センスアンプユニットSAUによって読み出されたデータは、ラッチ回路ADL、BDL、CDLのいずれかに格納された後、ラッチ回路XDLへ転送され、ラッチ回路XDLから入出力回路21に出力される。また、例えば、メモリコントローラ1から入出力回路21に入力されたデータは、入出力回路21からラッチ回路XDLへ転送され、ラッチ回路XDLからラッチ回路ADL、BDL、CDLのいずれかに転送される。
【0074】
ラッチ回路SDLは、例えば、インバータIV11、IV12と、nチャネルMOSトランジスタであるトランジスタTR13、TR14とを含んでいる。インバータIV11の入力ノードはノードLATに接続されている。インバータIV11の出力ノードはノードINVに接続されている。インバータIV12の入力ノードはノードINVに接続されている。インバータIV12の出力ノードはノードLATに接続されている。トランジスタTR13の一端はノードINVに接続されており、トランジスタTR13の他端はバスLBUSに接続されている。トランジスタTR13のゲートには信号STIが入力される。トランジスタTR13の一端はノードLATに接続されており、トランジスタTR14の他端はバスLBUSに接続されている。トランジスタTR14のゲートには信号STLが入力される。例えば、ノードLATにおいて保持されるデータがラッチ回路SDLに保持されるデータに相当する。また、ノードINVにおいて保持されるデータは、ノードLATに保持されるデータの反転データに相当する。ラッチ回路ADL、BDL、CDL、XDLの回路構成は、例えば、ラッチ回路SDLの回路構成と同様のため、説明を省略する。
【0075】
図7は、メモリセルトランジスタMTの閾値分布等を模式的に示す図である。
図7の中段にある図は、メモリセルトランジスタMTの閾値電圧(横軸)と、メモリセルトランジスタMTの個数(縦軸)との対応関係を表している。
【0076】
本実施形態のようにTLC方式を採用した場合においては、複数のメモリセルトランジスタMTは、
図7の中段に示されるように、8つの閾値分布を形成する。この8個の閾値分布(書き込みレベル)のことを、閾値電圧の低い方から順に“ER”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、“G”レベルと称する。
【0077】
図7の上段にある表は、閾値電圧の上記各レベルのそれぞれに対応して、割り当てられるデータの例を表している。同表に示されるように、“ER”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、及び“G”レベルには、例えば以下に示すような、それぞれ異なる3ビットデータが割り当てられている。
“ER”レベル:“111”(“下位ビット/中位ビット/上位ビット”)
“A”レベル:“011”
“B”レベル:“001”
“C”レベル:“000”
“D”レベル:“010”
“E”レベル:“110”
“F”レベル:“100”
“G”レベル:“101”
【0078】
このように、本実施形態におけるメモリセルトランジスタMTの閾値電圧は、予め設定された8つの候補レベルのうちの1つをとり得るものとなっており、それぞれの候補レベルに対応して、上記のようにデータが割り当てられている。
【0079】
互いに隣り合う一対の閾値分布の間には、それぞれ書き込み動作で使用されるベリファイ電圧が設定される。具体的には、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、及び“G”レベルにそれぞれ対応して、ベリファイ電圧VfyA、VfyB、VfyC、VfyD、VfyE、VfyF、及びVfyGが設定される。
【0080】
ベリファイ電圧VfyAは、“ER”レベルにおける最大の閾値電圧と“A”レベルにおける最小の閾値電圧との間に設定される。ワード線WLにベリファイ電圧VfyAが印加されると、当該ワード線WLに繋がるメモリセルトランジスタMTのうち、閾値電圧が“ER”レベルに含まれるメモリセルトランジスタMTがオン状態になり、閾値電圧が“A”レベル以上の閾値分布に含まれるメモリセルトランジスタMTがオフ状態になる。
【0081】
その他のベリファイ電圧VfyB、VfyC、VfyD、VfyE、VfyF、及びVfyGも、上記のベリファイ電圧VfyAと同様に設定される。ベリファイ電圧VfyBは、“A”レベルと“B”レベルとの間に設定され、ベリファイ電圧VfyCは、“B”レベルと“C”レベルとの間に設定され、ベリファイ電圧VfyDは、“C”レベルと“D”レベルとの間に設定され、ベリファイ電圧VfyEは、“D”レベルと“E”レベルとの間に設定され、ベリファイ電圧VfyFは、“E”レベルと“F”レベルとの間に設定され、ベリファイ電圧VfyGは、“F”レベルと“G”レベルとの間に設定される。
【0082】
例えば、ベリファイ電圧VfyAは0.8Vに、ベリファイ電圧VfyBは1.6Vに、ベリファイ電圧VfyCは2.4Vに、ベリファイ電圧VfyDは3.1Vに、ベリファイ電圧VfyEは3.8Vに、ベリファイ電圧VfyFは4.6Vに、ベリファイ電圧VfyGは5.6Vに、それぞれ設定してもよい。しかし、これに限定されることなく、ベリファイ電圧VfyA、VfyB、VfyC、VfyD、VfyE、VfyF、及びVfyGは、例えば、0V~7.0Vの範囲で、適宜、段階的に設定してもよい。
【0083】
また、隣り合う閾値分布の間には、それぞれ読み出し動作で使用される読み出し電圧が設定される。「読み出し電圧」とは、読み出し動作時において、読み出し対象となるメモリセルトランジスタMTに繋がるワード線WL、すなわち選択ワード線に対し印加される電圧である。読み出し動作では、読み出し対象となるメモリセルトランジスタMTの閾値電圧が、印加された読み出し電圧よりも高いか否かの判定結果に基づいてデータが決定される。
【0084】
図7の下段の図において模式的に示されるように、具体的には、メモリセルトランジスタMTの閾値電圧が“ER”レベルに含まれるのか“A”レベル以上に含まれるのかを判定する読み出し電圧VrAは、“ER”レベルにおける最大の閾値電圧と“A”レベルにおける最小の閾値電圧との間に設定される。
【0085】
その他の読み出し電圧VrB、VrC、VrD、VrE、VrF、及びVrGも、上記の読み出し電圧VrAと同様に設定される。読み出し電圧VrBは、“A”レベルと“B”レベルとの間に設定され、読み出し電圧VrCは、“B”レベルと“C”レベルとの間に設定され、読み出し電圧VrDは、“C”レベルと“D”レベルとの間に設定され、読み出し電圧VrEは、“D”レベルと“E”レベルとの間に設定され、読み出し電圧VrFは、“E”レベルと“F”レベルとの間に設定され、読み出し電圧VrGは、“F”レベルと“G”レベルとの間に設定される。
【0086】
そして、最も高い閾値分布(例えば“G”レベル)の最大の閾値電圧よりも高い電圧に、読み出しパス電圧VPASS_READが設定される。読み出しパス電圧VPASS_READがゲートに印加されたメモリセルトランジスタMTは、記憶するデータに依らずにオン状態になる。
【0087】
尚、ベリファイ電圧VfyA、VfyB、VfyC、VfyD、VfyE、VfyF、及びVfyGは、例えば、読み出し電圧VrA、VrB、VrC、VrD、VrE、VrF、及びVrGよりもそれぞれ高い電圧に設定される。つまり、ベリファイ電圧VfyA、VfyB、VfyC、VfyD、VfyE、VfyF、及びVfyGは、それぞれ“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、及び“G”レベルの閾値分布の下裾近傍に設定される。
【0088】
以上に説明したようなデータの割り付けが適用された場合、読み出し動作において下位ビットの1ページデータ(下位ページデータ)は、読み出し電圧VrA及びVrEを用いた読み出し結果によって確定させることができる。中位ビットの1ページデータ(中位ページデータ)は、読み出し電圧VrB、VrD、及びVrFを用いた読み出し結果によって確定させることができる。上位ビットの1ページデータ(上位ページデータ)は、読み出し電圧VrC及びVrGを用いた読み出し結果によって確定させることができる。このように、下位ページデータ、中位ページデータ、及び上位ページデータがそれぞれ、2回、3回、及び2回の読み出し動作によって確定するため、以上のようなデータの割り付けは“2-3-2コード”と称される。
【0089】
尚、以上で説明したようなデータの割り付けはあくまで一例であり、実際のデータの割り付けはこれに限定されない。例えば、2ビット又は4ビット以上のデータが1つのメモリセルトランジスタMTに記憶されてもよい。また、データが割り付けられる閾値分布の数(つまり、上記の「候補レベル」の数)は7以下であってもよく、9以上であってもよい。例えば、“2-3-2コード”に代えて、“1-3-3コード”又は“1-2-4コード”を用いてもよい。また、例えば、下位ビット/中位ビット/上位ビットの割り当てを変更してもよい。より具体的には、例えば、“2-3-2コード”において、下位ページデータを読み出し電圧VrC及びVrBを用いた読み出し結果によって確定させ、中位ページデータを読み出し電圧VrB、VrD、及びVrFを用いた読み出し結果によって確定させ、上位ページデータを読み出し電圧VrA及びVrEを用いた読み出し結果によって確定させるようにデータを割り当ててもよい。すなわち、例えば、下位ビットと上位ビットの割り当てを入れ換えてもよい。この場合、閾値電圧の各レベルのそれぞれに対応して、以下のようにデータが割り当てられる。
“ER”レベル:“111”(“下位ビット/中位ビット/上位ビット”)
“A”レベル:“110”
“B”レベル:“100”
“C”レベル:“000”
“D”レベル:“010”
“E”レベル:“011”
“F”レベル:“001”
“G”レベル:“101”
【0090】
半導体記憶装置2において行われる書き込み動作について説明する。書き込み動作では、プログラム動作及びベリファイ動作が行われる。「プログラム動作」とは、一部のメモリセルトランジスタMTの電荷蓄積層336に電子を注入することにより、当該メモリセルトランジスタMTの閾値電圧を変化させる動作のことである。「ベリファイ動作」とは、上記のプログラム動作の後、データを読み出すことで、メモリセルトランジスタMTの閾値電圧がターゲットレベルまで達したか否かを判定し検証する動作である。閾値電圧がターゲットレベルまで達したメモリセルトランジスタMTは、その後、書き込み禁止とされる。ここでいう「ターゲットレベル」とは、先に述べた8つの候補レベルの中から、目標のレベルとして設定された特定の候補レベルのことである。
【0091】
書き込み動作では、以上のプログラム動作及びベリファイ動作が繰り返し実行される。これにより、メモリセルトランジスタMTの閾値電圧がターゲットレベルまで上昇する。
【0092】
複数のワード線WLのうち、書き込み動作の対象(つまり、閾値電圧を変化させる対象)であるメモリセルトランジスタMTに繋がっているワード線WLのことを、以下では「選択ワード線」とも称する。また、書き込み動作の対象ではないメモリセルトランジスタMTに繋がっているワード線WLのことを、以下では「非選択ワード線」とも称する。書き込み対象であるメモリセルトランジスタMTのことを、以下では「選択メモリトランジスタ」とも称する。
【0093】
複数のストリングユニットSUのうち、書き込み動作の対象となるストリングユニットSUのことを、以下では「選択ストリングユニット」とも称する。また、書き込み動作の対象とはならないストリングユニットSUのことを、以下では「非選択ストリングユニット」とも称する。
【0094】
選択ストリングユニットに含まれる各NANDストリングNSの導電体柱338、すなわち、選択ストリングユニットにおける各チャンネルのことを、以下では「選択チャンネル」とも称する。また、非選択ストリングユニットに含まれる各NANDストリングNSの導電体柱338、すなわち、非選択ストリングユニットにおける各チャンネルのことを、以下では「非選択チャンネル」とも称する。
【0095】
複数のビット線BLのうち、選択メモリトランジスタに繋がっているビット線BLのことを、以下では「選択ビット線」とも称する。また、選択メモリトランジスタに繋がっていないビット線BLのことを、以下では「非選択ビット線」とも称する。
【0096】
プログラム動作について説明する。以下では、プログラム動作の対象がプレーンPL1である場合の例について説明するが、プレーンPL2の場合も以下と同様である。
図8は、プログラム動作時における各配線の電位変化を示している。プログラム動作では、センスアンプ120が、プログラムデータに対応して各ビット線BLの電位を変化させる。プログラム対象の(閾値電圧を上昇させるべき)メモリセルトランジスタMTに繋がるビット線BLには、“L”レベルとして例えば接地電圧Vss(0V)が印加される。プログラム対象ではない(閾値電圧を維持させるべき)メモリセルトランジスタMTに繋がるビット線BLには、“H”レベルとして、例えば2.5Vが印加される。前者のビット線BLは、
図8においては「BL(0)」と表記されている。後者のビット線BLは、
図8においては「BL(1)」と表記されている。
【0097】
ロウデコーダ130は、書き込み動作の対象としていずれかのブロックBLKを選択し、更にいずれかのストリングユニットSUを選択する。より具体的には、選択されたストリングユニットSUにおけるセレクトゲート線SGD(選択セレクトゲート線SGDsel)には、電圧生成回路43からロウデコーダ130を介して例えば5Vが印加される。これにより、選択トランジスタST1はオン状態となる。他方で、セレクトゲート線SGSには、電圧生成回路43からロウデコーダ130を介して例えば電圧Vssが印加される。これにより、選択トランジスタST2はオフ状態となる。
【0098】
また、選択ブロックBLKにおける非選択ストリングユニットSUのセレクトゲート線SGD(非選択セレクトゲート線SGDusel)には、電圧生成回路43からロウデコーダ130を介して例えば電圧5Vが印加される。これにより、選択トランジスタST1がオン状態となる。なお、各ブロックBLKに含まれるストリングユニットSUにおいて、セレクトゲート線SGSは共通に接続されている。従って、非選択ストリングユニットSUにおいても、選択トランジスタST2はオフ状態となる。
【0099】
更に、非選択ブロックBLKにおけるセレクトゲート線SGD及びセレクトゲート線SGSには、電圧生成回路43からロウデコーダ130を介して例えば電圧Vssが印加される。これにより、選択トランジスタST1及び選択トランジスタST2はオフ状態となる。
【0100】
ソース線SLは、セレクトゲート線SGSの電位よりも高い電位とされる。当該電位は、例えば1Vである。
【0101】
その後、選択ブロックBLKにおける選択セレクトゲート線SGDselの電位を、例えば2.5Vとする。この電位は、上記の例で0Vが与えられたビット線BL(0)に対応する選択トランジスタST1はオンさせるが、2.5Vが与えられたビット線BL(1)に対応する選択トランジスタST1はカットオフさせる電圧である。これにより、選択ストリングユニットSUにおいては、ビット線BL(0)に対応する選択トランジスタST1はオンされ、2.5Vが与えられたビット線BL(1)に対応する選択トランジスタST1はカットオフされる。一方で、非選択セレクトゲート線SGDuselの電位を、例えば電圧Vssとする。これにより、非選択ストリングユニットSUにおいては、ビット線BL(0)及びビット線BL(1)の電位に関わらず、選択トランジスタST1はカットオフされる。
【0102】
そしてロウデコーダ130は、選択ブロックBLKにおいて、書き込み動作の対象としていずれかのワード線WLを選択する。書き込み動作の対象となるワード線WL(選択ワード線WLsel)に、電圧生成回路43からロウデコーダ130を介して例えば電圧VPGMが印加される。一方で、その他のワード線WL(非選択ワード線WLusel)に、電圧生成回路43からロウデコーダ130を介して例えば電圧VPASS_PGMが印加される。電圧VPGMは、トンネル現象により電子を電荷蓄積層336に注入するための高電圧である。電圧VPASS_PGMは、ワード線WLに繋がるメモリセルトランジスタMTをONとする一方で、閾定電圧は変化させない程度の電圧である。VPGMはVPASS_PGMよりも高い電圧である。
【0103】
プログラム対象のビット線BL(0)に対応するNANDストリングNSでは、選択トランジスタST1がオン状態となる。そのため、選択ワード線WLselに接続されたメモリセルトランジスタMTのチャネル電位は0Vとなる。制御ゲートとチャネルとの間の電位差が大きくなり、その結果、電子が電荷蓄積層336に注入されるので、メモリセルトランジスタMTの閾値電圧が上昇される。
【0104】
プログラム対象ではないビット線BL(1)に対応するNANDストリングNSでは、選択トランジスタST1がカットオフ状態となる。そのため、選択ワード線WLselに接続されたメモリセルトランジスタMTのチャネルは電気的にフローティングとなり、ワード線WL等との容量カップリングによりチャネル電位は電圧VPGM近くまで上昇される。制御ゲートとチャネルとの間の電位差が小さくなり、その結果、電子は電荷蓄積層336に注入されないので、メモリセルトランジスタMTの閾値電圧は維持される。正確にいうと、閾値分布レベルがより高い分布に遷移するほどには、閾値電圧は変動しない。
【0105】
読み出し動作について説明する。以下では、読み出し動作の対象がプレーンPL1である場合の例について説明するが、プレーンPL2の場合も以下と同様である。プログラム動作に続いて行われるベリファイ動作は、以下に説明する読み出し動作と同じである。
図9は、読み出し動作時における各配線の電位変化を示している。読み出し動作では、読み出し動作の対象となるメモリセルトランジスタMT、を含むNANDストリングNSが選択される。あるいは、読み出し動作の対象となるページを含むストリングユニットSUが選択される。
【0106】
まず、選択セレクトゲート線SGDsel、非選択セレクトゲート線SGDusel及びセレクトゲート線SGSには、電圧生成回路43からロウデコーダ130を介して例えば5Vが印加される。これにより、選択ブロックBLKに含まれる選択トランジスタST1及び選択トランジスタST2はオン状態となる。また、選択ワード線WLsel及び非選択ワード線には、電圧生成回路43からロウデコーダ130を介して例えば読み出しパス電圧VPASS_READが印加される。読み出しパス電圧VPASS_READは、メモリセルトランジスタMTの閾値電圧にかかわらず、メモリセルトランジスタMTをONとすることができ、かつ、閾定電圧は変化させない程度の電圧である。これにより、選択ストリングユニットSUであるか非選択ストリングユニットSUであるかにかかわらず、選択ブロックBLKに含まれる全てのNANDストリングNSにおいて、電流が導通する。
【0107】
次に、読み出し動作の対象となるメモリセルトランジスタMTに繋がるワード線WL(選択ワード線WLsel)に対し、電圧生成回路43からロウデコーダ130を介して例えばVrAのような読み出し電圧Vrが印加される。それ以外のワード線(非選択ワード線WLusel)に対しては、読み出しパス電圧VPASS_READが印加される。
【0108】
また、選択セレクトゲート線SGDsel及びセレクトゲート線SGSに印加する電圧は維持しつつ、非選択セレクトゲート線SGDuselには、電圧生成回路43からロウデコーダ130を介して例えば電圧Vssが印加される。これにより、選択ストリングユニットSUに含まれる選択トランジスタST1はオン状態を維持するが、非選択ストリングユニットSUに含まれる選択トランジスタST1はオフ状態となる。なお、選択ストリングユニットSUであるか非選択ストリングユニットSUであるかにかかわらず、選択ブロックBLKに含まれる選択トランジスタST2はオン状態となる。
【0109】
これにより、非選択ストリングユニットSUに含まれるNANDストリングNSは、少なくとも選択トランジスタST1がオフ状態となるため、電流パスを形成しない。一方で、選択ストリングユニットSUに含まれるNANDストリングNSは、選択ワード線WLselに印加される読み出し電圧VrとメモリセルトランジスタMTの閾値電圧との関係に応じて、電流パスが形成され、または、形成されない。
【0110】
センスアンプ120は、選択されたNANDストリングNSに繋がるビット線BLに対して電圧を印加する。この状態で、センスアンプ120は、当該ビット線BLを流れる電流の値に基づいてデータの読み出しを行う。具体的には、読み出し動作の対象となるメモリセルトランジスタMTの閾値電圧が、当該メモリセルトランジスタMTに印加された読み出し電圧よりも高いか否かを判定する。尚、データの読み出しは、ビット線BLを流れる電流の値に基づくのではなく、ビット線BLにおける電位の時間変化に基づいて行われてもよい。後者の場合、ビット線BLは、予め所定の電位となるようにプリチャージされる。
【0111】
先に述べたベリファイ動作も、上記のような読み出し動作と同様に行われる。ベリファイ動作では、ベリファイの対象となるメモリセルトランジスタMTに繋がるワード線WLに対し、例えばVfyAのようなベリファイ電圧が電圧生成回路43からロウデコーダ130を介して印加されることとなる。
【0112】
なお、先に述べたプログラム動作の初期段階における選択セレクトゲート線SGDsel及び非選択セレクトゲート線SGDuselに5Vの電圧を印加する動作は、省略される場合がある。同様に、先に述べた読み出し動作(ベリファイ動作)の初期段階における非選択セレクトゲート線SGDuselに5Vの電圧を印加し選択ワード線WLselに読み出しパス電圧VPASS_READを印加する動作は、省略される場合がある。
【0113】
書き込み作時において、半導体記憶装置2とメモリコントローラ1との間で送受信される信号の流れ等について説明する。以下では、書き込み動作の対象がプレーンPL1である場合の例について説明するが、プレーンPL2の場合も以下と同様である。
【0114】
図10には、本実施形態に係る構成において、半導体記憶装置2とメモリコントローラ1との間で送受信される各種の信号等の例が示されている。
【0115】
書き込み動作時においては、メモリコントローラ1から半導体記憶装置2に向けて、信号DQ<7:0>として、「80h」及び複数の「ADD」からなる信号が順に入力される。「80h」は、メモリセルアレイ110にデータの書き込みを実行させるためのコマンドである。「ADD」は、データの書き込み先となるアドレスを指定する信号である。
【0116】
メモリコントローラ1は、上記のように半導体記憶装置2にアドレスを送信した後、半導体記憶装置2に書き込むべきデータを送信する。メモリコントローラ1は、信号DQ<7:0>のそれぞれを、書き込みデータに対応してHレベル及びLレベルとの間で切り換えることにより、半導体記憶装置2に書き込みデータを入力する。
図10においては、信号DQ<7:0>として入力される書き込みデータのそれぞれが「D」として示されている。
【0117】
これらの書き込みデータは、メモリコントローラ1から入力されるデータストローブ信号DQSが立ち上がったタイミング、及び立ち下がったタイミングのそれぞれにおいて半導体記憶装置2により取得され、半導体記憶装置2が備えるラッチ回路に一時的に記憶される。一連の書き込みデータが半導体記憶装置2に入力された後は、メモリコントローラ1から半導体記憶装置2に向けて、信号DQ<7:0>として「10h」が入力される。以降は、先に述べたプログラム動作及びベリファイ動作が行われ、メモリセルアレイ110に対し実際にデータが書き込まれる。
【0118】
各書き込みデータに対応して、信号DQ<7:0>としてメモリコントローラ1から半導体記憶装置2に入力される各信号は、本実施形態における「第1トグル信号」に該当する。半導体記憶装置2のうち第1トグル信号を受信する部分、すなわち、入出力用パッド群31に設けられた複数のパッドのそれぞれは、本実施形態における「受信部」に該当する。
【0119】
半導体記憶装置2が、第1トグル信号に基づいてデータを取得する方法の概要について、
図11を参照しながら説明する。
図11には、メモリコントローラ1から半導体記憶装置2に入力される第1トグル信号の波形の例、すなわち、信号DQ<7:0>のうち1つのパッドに入力される信号の波形の例、が示されている。
図11の例において、第1トグル信号は、HレベルであるVccQと、LレベルであるVssQとの間で、書き込みデータに応じて切り換わる信号となっている。
【0120】
メモリコントローラ1から入力されている第1トグル信号が、現時点でHレベル及びLレベルのいずれとなっているのかを判定するために、半導体記憶装置2は、第1トグル信号を参照電位VREFと比較する。参照電位VREFは、例えば、HレベルとLレベルとの中間の電位として設定される。HレベルであるVccQが1.2Vである場合には、参照電位VREFは0.6Vに設定される。第1トグル信号が参照電位VREFよりも高いときには、半導体記憶装置2は、第1トグル信号がHレベルであると判定する。第1トグル信号が参照電位VREFよりも低いときには、半導体記憶装置2は、第1トグル信号がLレベルであると判定する。
【0121】
例えば、Hレベルの第1トグル信号が入力された場合において、半導体記憶装置2がHレベルに対応した書き込みデータを正確に取得するためには、第1トグル信号が参照電位VREFを超えてから参照電位VREFを下回るまでの期間TM0の間のいずれかのタイミングで、書き込みデータの取得を行う必要がある。換言すれば、データストローブ信号DQSが立ち上がるもしくは立ち下がるタイミングが、期間TM0の間に収まっている必要がある。
【0122】
Lレベルの第1トグル信号が入力された場合も上記と同様である。従って、参照電位VREFを、HレベルとLレベルとの丁度中間の電位として常に設定しておけば、書き込みデータの取得を行うべき期間の長さを、最大限確保できるようにも思われる。
【0123】
しかしながら、実際には、回路構成のばらつきによって参照電位VREFがずれてしまうこともある。例えば、
図11の点線DL1のように、実際の参照電位VREFがHレベル寄りとなってしまうことがある。この場合、書き込みデータの受信を、期間TM0よりも狭い期間TM1の間の、シビアなタイミングで実施する必要が生じてしまう。
【0124】
また、参照電位VREFの値が正しい場合であっても、第1トグル信号と参照電位VREFとの大小関係を比較するための回路(後述の比較回路50)のばらつきによって、例えば、参照電位VREFが
図11の点線DL1となっているときと同様の判定が行われてしまうこともある。この場合も上記と同様に、書き込みデータの受信タイミングはシビアなものとなる。
【0125】
近年では、半導体記憶装置2はその動作速度が向上しており、第1トグル信号の切り換わる周期についても高速化が求められている。このため、上記のように狭くなった期間TM1の間に、書き込みデータの受信を完了させることは、次第に困難になって行くものと考えられる。
【0126】
そこで本実施形態では、第1トグル信号を受信する入出力回路21の構成を工夫することで、上記のような問題を解決することとしている。
【0127】
本実施形態に係る入出力回路21等の構成について説明する。
図12には、本実施形態に係る入出力用パッド群31及び入出力回路21の構成の一部が、模式的な回路図として描かれている。
【0128】
先に述べたように、入出力用パッド群31には、信号DQ<7:0>を第1トグル信号として受信するための複数のパッドが設けられている。
図12では、これら複数のパッドのうち、パッド311及びパッド312の2つのみが示されている。パッド311は信号DQ<0>を受信するパッドであり、パッド312は信号DQ<1>を受信するパッドである。パッド311が受信した第1トグル信号が、
図12では「DQ0」として示されている。パッド312が受信した第1トグル信号が、
図12では「DQ1」として示されている。
【0129】
入出力回路21には、パッド311等のそれぞれに対応して複数の比較回路50が設けられている。
図12には、パッド311、312に接続される2つの比較回路50のみが図示されている。それぞれの比較回路50の構成は互いに同一である。
【0130】
比較回路50は、第1入力部51と、第2入力部52と、出力部53と、を有している。
【0131】
第1入力部51は、第1トグル信号(DQ0等)が入力される部分である。第1入力部51には、入出力用パッド群31のパッド311等から伸びる信号線が繋がっている。
【0132】
第2入力部52は、参照電位VREFが入力される部分である。参照電位VREFは、
図12において不図示の電圧生成回路43によって生成され、電圧生成回路43から第2入力部52に入力される。尚、参照電位VREFは、
図12の例のように、入出力回路21に設けられた比較回路50の全てについて共通となっている電位であってもよいが、それぞれの比較回路50について予め個別に調整された電位であってもよい。
【0133】
出力部53は、第2トグル信号を出力する部分である。「第2トグル信号」とは、参照電位VREFに対する第1トグル信号の大小関係に応じて切り換わる信号として、比較回路50により生成され出力される信号である。
図12では、パッド311に繋がる比較回路50から出力される第2トグル信号が「DQ0_C」として示されており、パッド312に繋がる比較回路50から出力される第2トグル信号が「DQ1_C」として示されている。それぞれの第2トグル信号は、メモリコントローラ1から受信した書き込みデータを示す信号として、例えばラッチ回路SDL等に送られる。
【0134】
比較回路50は、入力される第1トグル信号(DQ0等)が参照電位VREFよりも高いレベルであるときに、第2トグル信号(DQ0_C等)をLレベルとして出力部53から出力する。それ以外のときには、比較回路50は、第2トグル信号(DQ0_C等)をHレベルとして出力部53から出力する。
【0135】
このように動作する比較回路50の構成としては、例えば
図13に示されるような、公知となっている種々の構成を採用することができる。
図13に示される比較回路50は、PMOSトランジスタQP1、QP2と、NMOSトランジスタQN1、QN2、QN3と、を備えている。PMOSトランジスタQP1、QP2は、そのソースを電源電圧端子に接続されている。PMOSトランジスタQP1はダイオード接続され、さらにそのゲートはPMOSトランジスタQP2のゲートに接続されている。
【0136】
NMOSトランジスタQN1、QN2のドレインは、それぞれPMOSトランジスタQP1,QP2のドレインに接続されている。NMOSトランジスタQN1のゲートには、第2入力部52を介して参照電位VREFが入力されている。NMOSトランジスタQN2のゲートには、第1入力部51を介して第1トグル信号DQ(
図12の例におけるDQ0等)が入力されている。NMOSトランジスタQN3は、NMOSトランジスタQN1及びQN2のソースと接地端子との間に接続されており、そのゲートにはバイアス電圧Vbiasを与えられている。
【0137】
NMOSトランジスタQN2のドレインと、PMOSトランジスタQP2のドレインとの間を繋ぐ部分の電位を示す信号が、第2トグル信号DQ_C(
図12の例におけるDQ0_C等)として、出力部53から比較回路50の外へと出力される。
【0138】
図12に戻って説明を続ける。入出力回路21には、比較回路50のそれぞれに対応するように複数の電流源61が設けられている。電流源61は、出力部53に対して電気的に接続された可変の電流源である。具体的には、電流源61は、出力部53から伸びる信号線と接地線との間に接続されており、接地線側に向けて流れる電流の大きさを調整することができるように構成されている。電流源61から出力される電流の大きさは、シーケンサ41から送信される補正コード(CODE)によって調整される。
【0139】
補正コードは、例えば、
図14の各行に示されるような3ビットのデジタル信号である。シーケンサ41は、
図14のa乃至hのいずれかの行に示される補正コードを電流源61へと送信することで、電流源61により出力部53側から引き込まれる電流の大きさを調整する。
図14の例では、aの行の補正コードが送信された場合に、電流が最も小さくなり、hの行の補正コードが送信された場合に、電流が最も大きくなる。このように、補正コード(CODE)が大きくなるほど電流源61の出力電流も大きくなるよう、CODEと出力電流との対応関係が予め設定されている。
【0140】
本実施形態における電流源61は、電流値の異なる3つの電流源(不図示)が互いに並列に接続されており、補正コードの上位ビット、中位ビット、及び下位ビットのそれぞれの値に応じて、各電流源のON/OFFが個別に切り換わるように構成されている。例えば、gの行の補正コードが送信されると、上位ビット及び中位ビットに対応する電流源がONとされ、下位ビットに対応する電流源がOFFとされる。このような方法により、
図14の各行の補正コードに対応して、電流源61により出力部53側から引き込まれる電流の大きさを段階的に調整することが可能となっている。
【0141】
シーケンサ41は、電流源61により出力部53側から引き込まれる電流の大きさを調整することにより、出力部53から出力される第1トグル信号(DQ0等)の波形を、参照電位VREFを変更した場合と同様に変化させることができる。
【0142】
図15(A)に示されるのは、第1入力部51に入力される第1トグル信号DQ0の波形の例である。この例では、参照電位VREFが、HレベルとLレベルとの中間となるように設定されている。
【0143】
図15(B)に示されるのは、出力部53から出力される第2トグル信号DQ0_Cの波形の例である。この例では、第1トグル信号DQ0と参照電位VREFとの大小関係に応じて、第2トグル信号DQ0_Cが理想的なデューティで出力されている。尚、
図15(B)に示される点線DL2は、HレベルとLレベルとの間で変化する第2トグル信号DQ0_Cの中間の電位を表している。
図15(B)の例では、第1トグル信号DQ0が参照電位VREFを跨ぐタイミングと、第2トグル信号DQ0_Cが点線DL2を跨ぐタイミングとが、互いに一致している。
【0144】
図15(B)の状態から、電流源61により出力部53側から引き込まれる電流を増加させると、出力部53から出力される第2トグル信号DQ0_Cは
図15(C)のように変化する。このとき、第2トグル信号DQ0_CがLレベルから大きくなり中間の点線DL2を跨ぐタイミングは、
図15(B)のときよりも遅くなる。また、第2トグル信号DQ0_CがHレベルから小さくなり中間の点線DL2を跨ぐタイミングは、
図15(B)のときよりも早くなる。
【0145】
図15(C)に示されるような第2トグル信号DQ0_Cの変化は、
図15(A)の状態から、参照電位VREFを小さくした場合における第2トグル信号DQ0_Cの変化と実質的に同じである。従って、シーケンサ41は、電流源61から出力される電流を増加させることで、参照電位VREFを小さくした場合と実質的に同じになるように、第2トグル信号DQ0_Cの波形を調整することができる。
【0146】
図16(A)及び
図16(B)に示される波形は、それぞれ
図15(A)及び
図15(B)に示される波形と同じものである。
図16(B)の状態から、電流源61により出力部53側から引き込まれる電流を減少させると、出力部53から出力される第2トグル信号DQ0_Cは
図16(C)のように変化する。このとき、第2トグル信号DQ0_CがLレベルから大きくなり中間の点線DL2を跨ぐタイミングは、
図16(B)のときよりも早くなる。また、第2トグル信号DQ0_CがHレベルから小さくなり中間の点線DL2を跨ぐタイミングは、
図16(B)のときよりも遅くなる。
【0147】
図16(C)に示されるような第2トグル信号DQ0_Cの変化は、
図16(A)の状態から、参照電位VREFを大きくした場合における第2トグル信号DQ0_Cの変化と実質的に同じである。従って、シーケンサ41は、電流源61から出力される電流を減少させることで、参照電位VREFを大きくした場合と実質的に同じになるように、第2トグル信号DQ0_Cの波形を調整することができる。
【0148】
尚、参照電位VREFをどの程度に設定すべきか、換言すれば、電流源61により出力部53側から引き込まれる電流をどの程度に設定すべきかについては、半導体記憶装置2のシーケンサ41等が自ら判断することは難しい。このため、当該判定は、半導体記憶装置2の外部において、例えばメモリコントローラ1によって行われる。
【0149】
例えばメモリコントローラ1は、半導体記憶装置2に制御信号を送信し、電流源61の出力電流が制御信号に対応した大きさとなるよう、シーケンサ41に補正コードを生成させる。続いて、メモリコントローラ1は、所定のテストデータを半導体記憶装置2に送信し書き込み動作を行わせた後、同じテストデータについて半導体記憶装置2に読み出し動作を行わせる。このとき、半導体記憶装置2からの読み出されたデータが、先のテストデータと一致していなかった場合には、例えば
図11の例における期間TM1が短くなり過ぎていた場合のように、電流源61の出力電流が適切ではなかったと推定することができる。一方、半導体記憶装置2からの読み出されたデータがテストデータと一致していた場合には、電流源61の出力電流が適切であったと推定することができる。メモリコントローラ1は、電流源61の出力電流の設定変更と、テストデータの書き込み及び読み出しとを交互に繰り返していくことで、電流源61の出力電流を適切な値に設定させ、その後における半導体記憶装置2の書き込み動作を正確に行わせることができる。
【0150】
以上のような動作を実現するために、本実施形態に係る半導体記憶装置2のシーケンサ41は、メモリコントローラ1のような外部から入力される制御信号に応じて、電流源61から出力される電流を調整する機能を有している。制御信号は、例えばSetFeature機能により、入出力用パッド群31を通じて半導体記憶装置2に入力されることとすればよい。このような機能を有するシーケンサ41は、本実施形態における「調整部」に該当する。電流源61から出力される電流を調整する機能を、シーケンサ41とは異なる部分が有することとしてもよい。
【0151】
電流源61から出力させる電流を設定するために、メモリコントローラ1によって実行される具体的な処理の流れについて、
図17を参照しながら説明する。
図17に示される一連の処理は、例えば、メモリコントローラ1の起動時等のタイミングにおいて実行開始されるものである。
【0152】
最初のステップS01では、カウンタの値が0に設定される。この「カウンタ」は、後述のステップS05やステップS12において、連続してYesと判定された回数を記録するための内部変数である。
【0153】
ステップS01に続くステップS02では、CODEの値としてNが設定される。ここでいう「CODE」は、
図14に示されるCODE[2:0]のいずれかの値をとる変数であり、電流源61から出力される電流を調整するための制御信号として、半導体記憶装置2に送信されるものである。上記の「N」は、CODEが取り得る値の最大値である。
図14の例では、Nの値として、hの行にある「111」が設定される。ステップS02において設定されたCODEは、制御信号として直ちに半導体記憶装置2に送信される。シーケンサ41は、制御信号として受信したCODEを、電流源61の電流値を調整するための補正コードとして用いる。つまり、シーケンサ41は、電流源61から出力される電流を、制御信号に対応した電流となるように調整する。
【0154】
ステップS02に続くステップS03では、所定の書き込みデータを半導体記憶装置2に入力し、半導体記憶装置2に書き込み動作を行わせる。「所定の書き込みデータ」とは、先に述べたテストデータのことである。
【0155】
ステップS03に続くステップS04では、半導体記憶装置2に読み出し動作を行わせ、読み出されたデータをメモリコントローラ1へと出力させる。ここで読み出されるデータは、ステップS03において半導体記憶装置2に記憶させた書き込みデータである。
【0156】
ステップS04に続くステップS05では、半導体記憶装置2に送られたCODEの値が適切であったか否かが判定される。ステップS03で半導体記憶装置2に入力されたデータと、ステップS04で半導体記憶装置2から出力されたデータとが互いに一致してなかった場合には、CODEの値が不適切と判定される。この場合、ステップS06に移行する。ステップS06では、CODEの値が1だけデクリメントされる。更新されたCODEは、制御信号として直ちに半導体記憶装置2に送信される。その後、ステップS3以降の処理が再度実行される。
【0157】
ステップS05においてCODEの値が適切と判定された場合、すなわち、ステップS03で半導体記憶装置2に入力されたデータと、ステップS04で半導体記憶装置2から出力されたデータとが互いに一致していた場合には、ステップS07に移行する。ステップS07では、CODE_nの値が、現時点におけるCODEの値に設定される。「CODE_n」は、上記のようにCODEの値をNから変化させて行った場合において、ステップS05で最初にYesと判定された時点におけるCODEの値、を記憶しておくための内部変数である。
【0158】
ステップS07に続くステップS08では、カウンタの値が1だけインクリメントされる。ステップS08に続くステップS09では、ステップS06と同様に、CODEの値が1だけデクリメントされる。更新されたCODEは、制御信号として直ちに半導体記憶装置2に送信される。
【0159】
ステップS09に続くステップS10では、ステップS03と同様に、所定の書き込みデータを半導体記憶装置2に入力し、半導体記憶装置2に書き込み動作を行わせる。ステップS10に続くステップS11では、ステップS04と同様に、半導体記憶装置2に読み出し動作を行わせ、読み出されたデータをメモリコントローラ1へと出力させる。ステップS11に続くステップS12では、ステップS05と同様に、半導体記憶装置2に送られたCODEの値が適切であったか否かが判定される。
【0160】
ステップS10で半導体記憶装置2に入力されたデータと、ステップS11で半導体記憶装置2から出力されたデータとが互いに一致していた場合には、ステップS08以降の処理が再度実行される。
【0161】
ステップS09におけるCODEのデクリメントが繰り返されていくと、CODEの値は適切な範囲を外れることとなる。つまり、ステップS12の判定において、ステップS10で半導体記憶装置2に入力されたデータと、ステップS11で半導体記憶装置2から出力されたデータとが互いに一致しなくなる。この場合、ステップS13に移行する。
【0162】
ステップS13では、CODE_nの値からカウンタの1/2を差し引いて得られる値が、最終的なCODEの値として設定される。このように設定されるCODEは、ステップS05やステップS12で適切と判定された複数のCODEの中間の値となる。ステップS13において設定されたCODEは、制御信号として直ちに半導体記憶装置2に送信される。
【0163】
図18には、上記のようなCODEの設定方法が模式的に示されている。
図18の例では、CODEの値が111(上記のN)に設定された後、CODEの値がデクリメントされて行く。
図18における「Fail」や「Pass」の文字列は、それぞれのCODEの値における、ステップS05やステップS12の判定結果を表している。
図18の例では、CODEの値が100となったときに判定結果が初めてPassとなっている。CODEの値が011、010の時にも判定結果はPassとなるが、CODEの値が001まで減少すると、判定結果は再びFailとなっている。この場合、CODEの値は、Passとなる3つの場合の中間の値、である011に設定されることとなる。このような方法で、CODEとして最も適切な値を設定することができる。
【0164】
以上のように、本実施形態に係る半導体記憶装置2は、比較回路50に接続された可変の電流源61と、外部から入力される制御信号に基づいて、電流源61から出力される電流を調整するシーケンサ41と、を備えている。このような構成とすることで、例えば参照電位VREFが適切値からずれてしまったような場合であっても、比較回路50の出力部53から出力される第2トグル信号(DQ0_C等)のデューティを適切に調整し、書き込みデータを正確に取得することが可能となっている。
【0165】
尚、第2トグル信号のデューティが変化するという問題は、回路構成のばらつきによって参照電位VREFがずれてしまうことにより生じる他、比較回路50のばらつきによって生じることもある。例えば、
図13に示される比較回路50を構成する各トランジスタのばらつきがあると、参照電位VREFの値が正しい場合であっても、参照電位VREFがずれた場合と同様に、第2トグル信号のデューティは変化してしまうこととなる。いずれの場合であっても、本実施形態に係る半導体記憶装置2によれば、電流源61からの電流によって、第2トグル信号のデューティが適切となるように調整することができる。
【0166】
図12を参照しながら説明したように、本実施形態では、入出力用パッド群31に設けられたパッド311等のそれぞれに対し、比較回路50及び電流源61が個別に設けられている。調整部であるシーケンサ41は、複数ある電流源61のそれぞれから出力される電流を、個別に調整することが可能となっている。このため、メモリコントローラ1からの制御信号として、複数ある電流源61のそれぞれに対応したCODEが個別に送信されることとすれば、入出力用パッド群31のパッド毎に、電流源61の適切な電流値を個別に調整することができる。
【0167】
近年では、第1トグル信号等の高速化に対応するために、第1トグル信号のHレベルとして、
図11のVccQよりも低い電位を用いることも検討されている。つまり、第1トグル信号の振幅を狭くすることも検討されている。この場合、第2トグル信号のデューティを、入出力用パッド群31に設けられたパッドのそれぞれについて個別に調整可能とする必要性は更に大きくなるものと予想される。本実施形態に係る半導体記憶装置2によれば、このような個別調整の要請にも容易に応えることができる。
【0168】
尚、第2トグル信号のデューティを適切なものとするための対策としては、例えば、
図24に示されるようなラダー抵抗回路を半導体記憶装置2に設けておき、シーケンサ41によって参照電位VREFを調整することも考えられる。
【0169】
このラダー抵抗回路は、所定の電位V10に維持された電源線と接地線との間に、直列に並ぶように配置された複数の抵抗R10乃至R17を備えている。抵抗R10と電源線との間には可変抵抗R1が配置され、抵抗R17と接地線との間には可変抵抗R2が配置されている。抵抗R10乃至R17のうち、互いに隣り合う抵抗間の部分のそれぞれの電位が、マルチプレクサ71に入力されている。マルチプレクサ71は、シーケンサ41からの信号に応じて、入力された複数の電位のうちの1つをアンプ72に入力する。アンプ72は、当該電位を増幅して、参照電位VREFとして比較回路50の第2入力部52に入力する。上記構成を用いて参照電位VREFを調整すれば、期間TM1の長さを変化させ、第2トグル信号のデューティを適切に調整することができる。
【0170】
しかしながら、本実施形態と同様に、入出力用パッド群31に設けられたパッドのそれぞれについて、第2トグル信号のデューティを個別に調整可能とするには、
図24のラダー抵抗回路をパッドと同数だけ設けておく必要がある。
図24のラダー抵抗回路は比較的大きい。このため、
図24のラダー抵抗回路をパッドと同数だけ設けることは、半導体記憶装置2におけるラダー抵抗回路の配置スペースが大きくなり過ぎるので現実的ではない。
【0171】
これに対し、本実施形態では、ラダー抵抗回路を用いる必要が無く、比較的小さな電流源61を設けるだけで、入出力用パッド群31に設けられたパッドのそれぞれについて、第2トグル信号のデューティを個別に調整することができる。
【0172】
尚、それぞれの比較回路50に接続される電流源61は、
図12とは異なる態様で設けられていてもよい。例えば、VccQ等の所定の電位に維持された電源線と、比較回路50の出力部53から伸びる信号線との間を繋ぐ配線の途中となる位置に、電流源61が設けられていてもよい。この場合、調整部であるシーケンサ41は、出力部53から伸びる信号線に対し、電流源61から供給される電流の大きさを調整することになる。
【0173】
以上に説明した例では、メモリコントローラ1から半導体記憶装置2に送信される制御信号として、電流源61から出力される電流を直接指定するCODEが用いられる。ただし、メモリコントローラ1からの制御信号は、このような信号とは異なるものであってもよい。例えば、制御信号として、設定すべき参照電位VREFの値を示すような信号が半導体記憶装置2に送信されることとしてもよい。この場合、シーケンサ41は、予め作成されたマップを参照することで、制御信号(参照電位VREFの値)に対応した補正コードを生成し、電流源61から出力される電流を調整すればよい。
【0174】
第2実施形態について説明する。以下では、第1実施形態と異なる点について主に説明し、第1実施形態と共通する点については適宜説明を省略する。本実施形態では、入出力回路21の構成において第1実施形態と異なっている。
【0175】
図19には、本実施形態に係る入出力回路21の構成が模式的な回路図として示されている。本実施形態の比較回路50は、出力部53を2つ有している。一方の出力部53を、以下では「第1出力部53A」と表記する。他方の出力部53を、以下では「第2出力部53B」と表記する。第1出力部53Aは、第1実施形態の出力部53と同様に第2トグル信号(DQ0_C等)を出力する部分である。第2出力部53Bは、第2トグル信号の相補信号を出力する部分である。第2出力部53Bから出力される相補信号のことを、以下では「/DQ0_C」や「/DQ_C」等のように表記する。比較回路50の構成は、例えば
図20に示される通りである。この例では、NMOSトランジスタQN1のドレインと、それぞれPMOSトランジスタQP1のドレインとの接続部分(
図20で符号「a」が付されている部分)と、の間が第2出力部53Bに繋がっており、この点において第1実施形態と異なっている。
【0176】
図19に示されるように、本実施形態の入出力回路21には、比較回路50に対応して、電流源61、62が設けられている。
図19に示されていない他の入出力回路21のそれぞれにも、一対の電流源61、62が個別に設けられている。
【0177】
第1実施形態と同様に、電流源61は、第1出力部53Aに対して電気的に接続された可変の電流源である。具体的には、電流源61は、第1出力部53Aから伸びる信号線と接地線との間に接続されており、接地線側に向けて流れる電流の大きさを調整することができるように構成されている。電流源61から出力される電流の大きさは、シーケンサ41から送信される補正コード(CODE1)によって調整される。電流源61は、本実施形態における「第1電流源」に該当する。
【0178】
電流源62は、第2出力部53Bに対して電気的に接続された可変の電流源である。具体的には、電流源62は、第2出力部53Bから伸びる信号線と接地線との間に接続されており、接地線側に向けて流れる電流の大きさを調整することができるように構成されている。電流源62から出力される電流の大きさは、シーケンサ41から送信される補正コード(CODE2)によって調整される。電流源62は、本実施形態における「第2電流源」に該当する。
【0179】
それぞれの補正コード(CODE1、CODE2)はいずれも、第1実施形態のCODEと同様のものであり、例えば
図14の各行に示されるような3ビットのデジタル信号である。シーケンサ41は、CODE1、CODE2のそれぞれを個別に送信することができる。つまり、シーケンサ41は、電流源61により第1出力部53A側から引き込まれる電流の大きさと、電流源62により第2出力部53B側から引き込まれる電流の大きさと、を互いに独立に調整することができる。また、シーケンサ41は、電流源61及び電流源62から出力される電流を、それぞれの比較回路50毎に個別に(つまり互いに独立に)調整することができる。
【0180】
このような構成においても、メモリコントローラ1やシーケンサ41が第1実施形態で説明したものと同様の処理を行うことで、第2トグル信号のデューティを調整することができる。尚、電流源61から出力される電流を増加させる場合には、シーケンサ41は、電流源62から出力される電流を同程度だけ減少させることとすればよい。また、電流源61から出力される電流を減少させる場合には、シーケンサ41は、電流源62から出力される電流を同程度だけ増加させることとすればよい。
【0181】
電流源61等の数や接続位置は、本実施形態のように、第1実施形態から適宜変更することができる。例えば、第1実施形態の比較回路50(
図13)のように、第2出力部53Bが設けられていない構成において、
図20の「a」に対応する部分に、電流源62からの電流が供給されるような態様としてもよい。この場合、比較回路50に接続される電流源は、上記のような電流源62のみであってもよく、これに加えて第1実施形態と同様の電流源61を含んでいてもよい。
【0182】
本実施形態でも、それぞれの比較回路50に接続される電流源61、62は、
図19とは異なる態様で設けられていてもよい。例えば、VccQ等の所定の電位に維持された電源線と、比較回路50の第1出力部53Aから伸びる信号線との間を繋ぐ配線の途中となる位置に、電流源61が設けられていてもよい。また、VccQ等の所定の電位に維持された電源線と、比較回路50の第2出力部53Bから伸びる信号線との間を繋ぐ配線の途中となる位置に、電流源62が設けられていてもよい。
【0183】
第3実施形態について説明する。以下では、第1実施形態と異なる点について主に説明し、第1実施形態と共通する点については適宜説明を省略する。本実施形態に係る入出力回路21の構成は、
図21に示されるように、第1実施形態における構成と概ね同じである。本実施形態では、それぞれの比較回路50の第2入力部52が互いに接続されており、全ての比較回路50について共通の参照電位VREF(具体的には、後述の参照電位VREFi)が入力されている。
【0184】
本実施形態では更に、参照電位VREFを調整するためのVREF調整回路55が設けられている。VREF調整回路55は、電圧生成回路43で生成された参照電位VREFを調整した後で、それぞれの比較回路50へと入力するように構成された回路である。VREF調整回路55による参照電位VREFの調整は、シーケンサ41によって制御される。VREF調整回路55の具体的な構成は特に限定されないが、例えば、
図24に示されるようなラダー抵抗回路の構成を採用することができる。本実施形態のシーケンサ41は、メモリコントローラ1からの制御信号に応じて参照電位VREFを変更するよう、VREF調整回路55の動作を制御する。VREF調整回路55によって調整された参照電位VREF、すなわち、各比較回路50へと入力される調整後の参照電位VREFのことを、以下では「参照電位VREFi」とも表記する。
【0185】
上記のように、本実施形態では、メモリコントローラ1から半導体記憶装置2へと2種類の制御信号が送信される。一方の制御信号は、変更後の参照電位VREFiの値をシーケンサ41に設定させるための信号である。当該制御信号のことを、以下では「第1制御信号」とも称する。もう一方の制御信号は、第1実施形態のCODEと同じものであり、電流源61の出力電流をシーケンサ41に設定させるための信号である。当該制御信号のことを、以下では「第2制御信号」とも称する。
【0186】
メモリコントローラ1は、先ず半導体記憶装置2に第1制御信号を送信し、シーケンサ41に参照電位VREFを調整させる。調整後の参照電位VREFiは、先に述べたように、入出力回路21が有する全ての比較回路50において共通に用いられる参照電位VREFiである。参照電位VREFの調整により、各比較回路50から出力される第2トグル信号のデューティが大まかに調整される。
【0187】
続いて、メモリコントローラ1は、半導体記憶装置2に第2制御信号を送信し、シーケンサ41に、それぞれの電流源61から出力される電流を個別に調整させる。これにより、それぞれの比較回路50から出力される第2トグル信号のデューティが、個別に且つ細やかに微調整される。
【0188】
第2トグル信号のデューティを調整するために、メモリコントローラ1によって実行される具体的な処理の流れについて、
図22を参照しながら説明する。
図22に示される一連の処理は、メモリコントローラ1の起動時等のタイミングにおいて、
図17に示される一連の処理に換えて実行開始されるものである。
【0189】
最初のステップS21では、カウンタの値が0に設定される。この「カウンタ」は、後述のステップS25やステップS32において、連続してYesと判定された回数を記録するための内部変数である。
【0190】
ステップS21に続くステップS22では、VREF_CODEの値としてMが設定される。ここでいう「VREF_CODE」は、参照電位VREFを調整するための第1制御信号として、半導体記憶装置2に送信される信号のことである。
図14に示されるCODE[2:0]と同様に、VREF_CODEが大きくなるほど、調整後の参照電位VREFiも大きな値として設定されるよう、VREF_CODEと参照電位VREFiとの対応関係が予め設定されている。
【0191】
上記の「M」は、VREF_CODEが取り得る値の最大値である。ステップS22において設定されたVREF_CODEは、第1制御信号として直ちに半導体記憶装置2に送信される。シーケンサ41は、第1制御信号として受信したVREF_CODEを、参照電位VREFを調整するための補正コードとして用いる。つまり、シーケンサ41は、参照電位VREFを、VREF_CODEに対応した大きさの参照電位VREFiとなるように調整する。
【0192】
ステップS22に続くステップS23では、
図17のステップS02と同様に、所定の書き込みデータを半導体記憶装置2に入力し、半導体記憶装置2に書き込み動作を行わせる。ステップS23に続くステップS24では、
図17のステップS04と同様に、半導体記憶装置2に読み出し動作を行わせ、読み出されたデータをメモリコントローラ1へと出力させる。
【0193】
ステップS24に続くステップS25では、半導体記憶装置2に送られたVREF_CODEの値が適切であったか否かが判定される。ステップS23で半導体記憶装置2に入力されたデータと、ステップS24で半導体記憶装置2から出力されたデータとが互いに一致していなかった場合には、VREF_CODEの値が不適切と判定される。この場合、ステップS26に移行する。ステップS26では、VREF_CODEの値が1だけデクリメントされる。更新されたVREF_CODEは、第1制御信号として直ちに半導体記憶装置2に送信される。その後、ステップS23以降の処理が再度実行される。
【0194】
ステップS25においてVREF_CODEの値が適切と判定された場合、すなわち、ステップS23で半導体記憶装置2に入力されたデータと、ステップS24で半導体記憶装置2から出力されたデータとが互いに一致していた場合には、ステップS27に移行する。ステップS27では、VREF_CODE_mの値が、現時点におけるVREF_CODEの値に設定される。「VREF_CODE_m」は、上記のようにVREF_CODEの値をMから変化させて行った場合において、ステップS25で最初にYesと判定された時点におけるVREF_CODEの値、を記憶しておくための内部変数である。
【0195】
ステップS27に続くステップS28では、カウンタの値が1だけインクリメントされる。ステップS28に続くステップS29では、ステップS26と同様に、VREF_CODEの値が1だけデクリメントされる。更新されたVREF_CODEは、第1制御信号として直ちに半導体記憶装置2に送信される。
【0196】
ステップS29に続くステップS30では、ステップS23と同様に、所定の書き込みデータを半導体記憶装置2に入力し、半導体記憶装置2に書き込み動作を行わせる。ステップS30に続くステップS31では、ステップS24と同様に、半導体記憶装置2に読み出し動作を行わせ、読み出されたデータをメモリコントローラ1へと出力させる。ステップS31に続くステップS32では、ステップS25と同様に、半導体記憶装置2に送られたVREF_CODEの値が適切であったか否かが判定される。
【0197】
ステップS30で半導体記憶装置2に入力されたデータと、ステップS31で半導体記憶装置2から出力されたデータとが互いに一致していた場合には、ステップS28以降の処理が再度実行される。
【0198】
ステップS29におけるVREF_CODEのデクリメントが繰り返されていくとVREF_CODEの値は適切な範囲を外れることとなる。つまり、ステップS32の判定において、ステップS30で半導体記憶装置2に入力されたデータと、ステップS31で半導体記憶装置2から出力されたデータとが互いに一致しなくなる。この場合、ステップS33に移行する。
【0199】
ステップS33では、VREF_CODE_mの値からカウンタの1/2を差し引いて得られる値が、最終的なVREF_CODEの値として設定される。このように設定されるVREF_CODEは、ステップS25やステップS32で適切と判定された複数のVREF_CODEの中間の値となる。ステップS33において設定されたVREF_CODEは、第1制御信号として直ちに半導体記憶装置2に送信される。
【0200】
図23には、上記のようなVREF_CODEの設定方法が模式的に示されている。
図23の例では、VREF_CODEの値が111(上記のM)に設定された後、VREF_CODEの値がデクリメントされて行く。
図23における「Fail」や「Pass」の文字列は、それぞれのVREF_CODEの値における、ステップS25やステップS32の判定結果を表している。
図23の例では、VREF_CODEの値が100となったときに判定結果が初めてPassとなっている。VREF_CODEの値が011、010の時にも判定結果はPassとなるが、VREF_CODEの値が001まで減少すると、判定結果は再びFailとなっている。この場合、VREF_CODEの値は、Passとなる3つの場合の中間の値、である011に設定されることとなる。このような方法で、VREF_CODEとして最も適切な値を設定することができる。
【0201】
以上のように、メモリコントローラ1は、
図22に示される一連の処理を実行することで、シーケンサ41に参照電位VREFの値を調整させる。シーケンサ41は、メモリコントローラ1からの第1制御信号(VREF_CODE)に基づいて参照電位VREFの値を最適値となるように調整する。
【0202】
図22に示される一連の処理が完了した後は、メモリコントローラ1は、シーケンサ41に、それぞれの電流源61から出力される電流の値を個別に調整する。具体的には、メモリコントローラ1は、入出力回路21に設けられた複数の比較回路50のそれぞれについて、
図17に示される一連の処理を実行し、電流源61から出力される電流の値を個別に調整させる。シーケンサ41は、メモリコントローラ1からの第2制御信号(CODE)に基づいて、それぞれの電流源61から出力される電流の値を最適値となるように調整する。
【0203】
CODEと電流源61の出力電流との対応関係は、例えば
図14に示される通りである。ただし、CODEの値を1ずつ変化させて行った場合における出力電流の変動量は、多くの場合一定とはならない。つまり、CODEと出力電流との対応関係の直線性(Linearity)を確保するのは難しい場合が多い。
【0204】
そこで、本実施形態では上記のように、第1制御信号(VREF_CODE)に基づいて参照電位VREFの調整を行った後に、第2制御信号(CODE)に基づいて電流源61からの出力電流の調整を行うこととしている。このような2段階の調整を行うことで、それぞれの電流源61における、出力電流の調整幅を小さくすることができる。このため、CODEと出力電流との対応関係の直線性が十分に確保されていない場合でも、第2トグル信号のデューティを高い精度で調整することができる。
【0205】
本実施形態でも、それぞれの比較回路50に接続される電流源61は、
図21とは異なる態様で設けられていてもよい。例えば、VccQ等の所定の電位に維持された電源線と、比較回路50の出力部53から伸びる信号線との間を繋ぐ配線の途中となる位置に、電流源61が設けられていてもよい。
【0206】
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
【符号の説明】
【0207】
2:半導体記憶装置、41:シーケンサ、50:比較回路、61,62:電流源、VREF:参照電位。