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

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

Info

Publication number
JP6659494B2
JP6659494B2 JP2016161058A JP2016161058A JP6659494B2 JP 6659494 B2 JP6659494 B2 JP 6659494B2 JP 2016161058 A JP2016161058 A JP 2016161058A JP 2016161058 A JP2016161058 A JP 2016161058A JP 6659494 B2 JP6659494 B2 JP 6659494B2
Authority
JP
Japan
Prior art keywords
read
command
memory cells
data
memory device
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
JP2016161058A
Other languages
English (en)
Other versions
JP2018028956A (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
Kioxia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kioxia Corp filed Critical Kioxia Corp
Priority to JP2016161058A priority Critical patent/JP6659494B2/ja
Priority to TW106104800A priority patent/TWI626651B/zh
Priority to TW107108302A priority patent/TWI709965B/zh
Priority to US15/442,683 priority patent/US9859011B1/en
Priority to CN202110761095.9A priority patent/CN113380297B/zh
Priority to CN201710144254.4A priority patent/CN107767914B/zh
Priority to US15/822,581 priority patent/US10163517B2/en
Publication of JP2018028956A publication Critical patent/JP2018028956A/ja
Priority to US16/195,738 priority patent/US10643715B2/en
Application granted granted Critical
Publication of JP6659494B2 publication Critical patent/JP6659494B2/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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Description

実施形態は半導体記憶装置及びメモリシステムに関する。
半導体記憶装置としてNAND型フラッシュメモリが知られている。
特開2012−79403号公報
動作を高速化することが可能な半導体記憶装置及びメモリシステムを提供する。
実施形態の半導体記憶装置は、複数の第1及び第2メモリセルと、複数の第1及び第2メモリセルにそれぞれ接続された第1及び第2ワード線と、外部から受信した第1及び第2コマンドセットにそれぞれ応答して読み出し動作を実行する制御回路とを含む。複数の第1及び第2メモリセルの各々は、複数ビットデータを記憶することが可能である。制御回路は、読み出し動作時において第1及び第2読み出しシーケンスを実行することが可能である。第1読み出しシーケンスでは、第1ビットデータを読み出す場合に互いに異なる第1乃至第3電圧を用いてそれぞれデータが読み出され、第2ビットデータを読み出す場合に互いに異なる第4乃至第6電圧を用いてそれぞれデータが読み出される。第2読み出しシーケンスでは、第1読み出しシーケンスの結果に基づいた電圧を用いてデータが読み出される。第1コマンドセットに基づく複数の第1メモリセルの読み出し動作では、第1及び第2読み出しシーケンスが連続で実行される。複数の第1メモリセルの読み出し動作に続く、第2コマンドセットに基づく複数の第2メモリセルの読み出し動作では、複数の第1メモリセルの読み出し動作における第1読み出しシーケンスの結果に基づいた電圧を用いた第2読み出しシーケンスが実行される。
第1実施形態に係るメモリシステムのブロック図。 第1実施形態に係る半導体記憶装置のブロック図。 第1実施形態に係る半導体記憶装置の備えるメモリセルアレイの回路図。 第1実施形態に係る半導体記憶装置の備えるメモリセルの閾値分布。 第1実施形態に係る半導体記憶装置の備えるセンスアンプモジュールの回路図。 第1実施形態に係る半導体記憶装置における読み出し動作の説明図。 第1実施形態に係る半導体記憶装置における読み出し動作の説明図。 第1実施形態に係るメモリシステムにおける読み出し動作のフローチャート。 第1実施形態に係るメモリシステムにおける読み出し動作の波形図。 第1実施形態に係るメモリシステムにおける読み出し動作のコマンドシーケンス。 第1実施形態に係るメモリシステムにおける読み出し動作のコマンドシーケンス。 第1実施形態に係るメモリシステムにおける読み出し動作のコマンドシーケンス。 第2実施形態に係るメモリシステムにおける読み出し動作のフローチャート。 第2実施形態に係るメモリシステムにおける読み出し動作の波形図。 第3実施形態に係るメモリシステムにおける読み出し動作のフローチャート。 第3実施形態に係るメモリシステムにおける読み出し動作の波形図。 第4実施形態に係るメモリシステムにおける読み出し動作のフローチャート。 第4実施形態に係るメモリシステムにおける読み出し動作の波形図。 第5実施形態に係るメモリシステムにおける書き込み動作のフローチャート。 第5実施形態に係るメモリシステムにおける読み出し動作のフローチャート。 第5実施形態に係るメモリシステムにおける読み出し動作の波形図。 第5実施形態に係るメモリシステムにおける書き込み動作のフローチャート。 第5実施形態に係るメモリシステムにおける書き込み動作のフローチャート。 第5実施形態に係るメモリシステムにおける書き込み動作のコマンドシーケンス。 変形例に係るメモリシステムにおける書き込み動作の波形図。 変形例に係るメモリシステムにおける書き込み動作の波形図。 変形例に係るメモリシステムにおける読み出し動作のフローチャート。 変形例に係るメモリシステムにおける読み出し動作の波形図。 変形例に係るメモリシステムにおける読み出し動作のコマンドシーケンス。 変形例に係るメモリシステムにおける読み出し動作のコマンドシーケンス。 変形例に係るメモリシステムにおける読み出し動作のコマンドシーケンス。
以下に、実施形態について図面を参照して説明する。参照される図面は模式的なものである。以下の説明において、同一の機能及び構成を有する要素については、共通する参照符号を付す。参照符号を構成する数字の後のアルファベットは、同じ数字を含んだ参照符号によって参照され、且つ同様の構成を有する要素同士を区別するために用いられている。同じ数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は数字のみを含んだ参照符号により参照される。
[1]第1実施形態
以下に、第1実施形態に係る半導体記憶装置及びメモリシステムについて説明する。
[1−1]構成
[1−1−1]メモリシステム1の構成
まず、図1を用いてメモリシステムの構成について説明する。図1にはメモリシステムのブロック図が示されている。図1に示すようにメモリシステム1は、半導体記憶装置10、及びコントローラ20を備えている。
半導体記憶装置10は、データを不揮発に記憶するNAND型フラッシュメモリである。半導体記憶装置10の構成の詳細については後述する。
コントローラ20は、外部の図示せぬホスト機器からの命令に応答して、半導体記憶装置10に対して読み出し、書き込み、及び消去等を命令する。またコントローラ20は、半導体記憶装置10におけるメモリ空間を管理する。
図1に示すようにコントローラ20は、プロセッサ(CPU)21、内蔵メモリ(RAM)22、ECC回路23、NANDインターフェイス回路24、バッファメモリ25、及びホストインターフェイス回路26を備えている。
プロセッサ21は、コントローラ20全体の動作を制御する。例えばプロセッサ21は、ホスト機器から受信した書き込み命令に応答して、NANDインターフェイスに基づく書き込み命令を発行する。この動作は、読み出し及び消去の場合についても同様である。
内蔵メモリ22は、例えばDRAM等の半導体メモリであり、プロセッサ21の作業領域として使用される。内蔵メモリ22は、半導体記憶装置10を管理するためのファームウェアや、各種の管理テーブル等を保持する。
ECC回路23は、データのエラー訂正(ECC:Error Checking and Correcting)処理を行う。具体的には、ECC回路23は、データの書き込み時に書き込みデータに基づいてパリティを生成する。そしてECC回路23は、データの読み出し時にパリティからシンドロームを生成してエラーを検出し、検出したエラーを訂正する。
NANDインターフェイス回路24は、半導体記憶装置10と接続され、半導体記憶装置10との通信を司る。例えばNANDインターフェイス回路24は、半導体記憶装置10との間で入出力信号I/Oを送信及び受信する。例えば、コントローラ20が半導体記憶装置10に送信する入出力信号I/OはコマンドCMD、アドレス情報ADD、及び書き込みデータDATを含み、コントローラ20が半導体記憶装置10から受信する入出力信号I/Oはステータス情報STS、及び読み出しデータDATを含んでいる。
バッファメモリ25は、コントローラ20が半導体記憶装置10及びホスト機器から受信したデータ等を一時的に保持する。
ホストインターフェイス回路26は、図示せぬホストバスを介してホスト機器と接続され、ホスト機器との通信を司る。例えばホストインターフェイス回路26は、ホスト機器から受信した命令及びデータをそれぞれ、プロセッサ21及びバッファメモリ25に転送する。
[1−1−2]半導体記憶装置10の構成
次に、図2を用いて半導体記憶装置10の構成について説明する。図2には半導体記憶装置10のブロック図が示されている。図2に示すように半導体記憶装置10は、メモリセルアレイ11、センスアンプモジュール12、ロウデコーダ13、入出力回路14、レジスタ15、ロジック制御回路16、シーケンサ17、レディ/ビジー制御回路18、及び電圧生成回路19を備えている。
メモリセルアレイ11は、ブロックBLK0〜BLKn(nは1以上の自然数)を備えている。ブロックBLKは、ビット線及びワード線に関連付けられた複数の不揮発性メモリセルの集合であり、例えばデータの消去単位となる。各メモリセルは、MLC(Multi-Level Cell)方式を適用することにより、複数ビットのデータを記憶することが出来る。
センスアンプモジュール12は、メモリセルアレイ11から読み出したデータDATを、入出力回路14を介してコントローラ20に出力する。またセンスアンプモジュール12は、コントローラ20から入出力回路14を介して受け取った書き込みデータDATを、メモリセルアレイ11に転送する。
またセンスアンプモジュール12は、カウンタCT、及びビット線毎に設けられた複数のセンスアンプユニット(図示せず)を備えている。カウンタCTは、読み出したデータのオンセル数をカウントし、このカウント結果をシーケンサ17に転送する。センスアンプユニットについての詳細は後述する。
ロウデコーダ13は、読み出し動作及び書き込み動作を行う対象のメモリセルに対応するワード線を選択する。そしてロウデコーダ13は、選択ワード線及び非選択ワード線にそれぞれ所望の電圧を印加する。
入出力回路14は、コントローラ20との間で例えば8ビット幅の入出力信号I/O(I/O1〜I/O8)を送信及び受信する。例えば入出力回路14は、コントローラ20から受信した入出力信号I/Oに含まれた書き込みデータDATを、センスアンプモジュール12に転送する。また入出力回路14は、センスアンプモジュール12から転送された読み出しデータDATを入出力信号I/Oとしてコントローラ20に送信する。
レジスタ15は、ステータスレジスタ15A、アドレスレジスタ15B、コマンドレジスタ15Cを含む。ステータスレジスタ15Aは、ステータス情報STSを保持する。またステータスレジスタ15Aは、シーケンサ17の指示に応じてこのステータス情報STSを入出力回路14に転送する。アドレスレジスタ15Bは、入出力回路14からアドレス情報ADDを受け取り、このアドレス情報ADDを保持する。そしてアドレスレジスタ15Bは、アドレス情報ADDに含まれたカラムアドレス信号CA及びロウアドレス信号RAをそれぞれ、センスアンプモジュール12及びロウデコーダ13に転送する。コマンドレジスタ15Cは、入出力回路14からコマンドCMDを受け取り、このコマンドCMDを保持する。そしてコマンドレジスタ15Cは、コマンドCMDをシーケンサ17に転送する。
ロジック制御回路16は、コントローラ20から各種制御信号を受信し、入出力回路14及びシーケンサ17を制御する。この制御信号としては、例えばチップイネーブル信号/CE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及びライトプロテクト信号/WPが使用される。信号/CEは、半導体記憶装置10をイネーブルにするための信号である。信号CLEは、アサートされている信号CLEと並行して半導体記憶装置10に入力される信号がコマンドCMDであることを入出力回路14に通知する信号である。信号ALEは、アサートされている信号ALEと並行して半導体記憶装置10に入力される信号がアドレス情報ADDであることを入出力回路14に通知する信号である。信号/WE及び/REはそれぞれ、例えば入出力信号I/O1〜I/O8の入力及び出力を入出力回路14に指示する信号である。信号/WPは、例えば電源のオンオフ時に半導体記憶装置10を保護状態するための信号である。
シーケンサ17は、半導体記憶装置10全体の動作を制御する。具体的には、シーケンサ17は、コマンドレジスタ15Cから転送されたコマンドCMDに基づいてセンスアンプモジュール12、ロウデコーダ13、電圧生成回路19等を制御し、データの書き込み動作、読み出し動作等を実行する。さらにシーケンサ17は、異なる読み出し電圧を用いた複数回の読み出し動作の結果に基づいて、最適な読み出し電圧の補正値を算出することが出来る。この動作の詳細については後述する。
またシーケンサ17は、レジスタREGを備えている。レジスタREGには、例えば読み出し動作時にワード線に印加する電圧に関連するパラメータが保持され、シーケンサ17はこのパラメータを参照して読み出し動作を実行する。尚、レジスタREGに保持された各パラメータは、書き換えることが可能である。
レディ/ビジー制御回路18は、シーケンサ17の動作状態に基づいてレディ/ビジー信号RY/(/BY)を生成し、この信号をコントローラ20に送信する。信号RY/(/BY)は、半導体記憶装置10がレディ状態であるか、ビジー状態であるかをコントローラ20に通知する信号である。レディ状態はコントローラ20からの命令を受け付ける状態であり、ビジー状態はコントローラ20からの命令を受け付けない状態である。また信号RY/(/BY)は、レディ/ビジー制御回路18が、その出力に接続されたトランジスタTrのオンオフを制御することによって生成される。例えば信号RY/(/BY)は、半導体記憶装置10がデータの読み出し等の動作中には “L”レベルとされ(ビジー状態)、これらの動作が完了すると“H”レベルとされる(レディ状態)。
電圧生成回路19は、シーケンサ17の指示に基づいて所望の電圧を生成する。そして電圧生成回路19は、生成した電圧をメモリセルアレイ11、センスアンプモジュール12、及びロウデコーダ13に供給する。
[1−1−3]メモリセルアレイ11の構成
次に、図3を用いてメモリセルアレイ11の構成について説明する。図3はメモリセルアレイ11の回路図であり、メモリセルアレイ11内の1つのブロックBLKについての詳細な回路構成が示されている。図3に示すようにブロックBLKは、複数のNANDストリングNSを備えている。
各NANDストリングNSは、ビット線BL0〜BL(L−1)((L−1)は1以上の自然数)に対応して設けられ、例えば8個のメモリセルトランジスタMT(MT0〜MT7)、及び選択トランジスタST1、ST2を含んでいる。尚、1つのNANDストリングNSが含むメモリセルトランジスタMTの数はこれに限定されず、任意の数にすることが出来る。
メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を備え、データを不揮発に保持する。またメモリセルトランジスタMT0〜MT7は、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続されている。同一ブロックBLK内の選択トランジスタST1及びST2のゲートはそれぞれ、セレクトゲート線SGD及びSGSに共通接続されている。同様に、同一ブロックBLK内のメモリセルトランジスタMT0〜MT7の制御ゲートはそれぞれ、ワード線WL0〜WL7に共通接続されている。
またメモリセルアレイ11内において、同一列にあるNANDストリングNSにおける選択トランジスタST1のドレインは、ビット線BLに共通接続されている。つまりビット線BLは、複数のブロックBLK間で同一列にあるNANDストリングNSを共通に接続している。さらに、複数の選択トランジスタST2のソースは、ソース線SLに共通接続されている。
以上の構成において、共通のワード線WLに接続された複数のメモリセルの保持する1ビットデータの集合を「ページ」と呼ぶ。従って、1つのメモリセルに2ビットデータを記憶させる場合、1本のワード線WLに接続された複数のメモリセルの集合には2ページ分のデータが記憶される。
また「ページ」は、データ領域及び冗長領域を含んでいる。データ領域は、外部の電子機器が半導体記憶装置10に保存しようとするデータを書き込む領域である。冗長領域は、例えばデータ領域に関するメタデータ等のデータを書き込むための領域である。
尚、以上で説明したメモリセルトランジスタMTの閾値分布は、例えば図4に示すものとなる。図4には、2ビットデータを保持するメモリセルトランジスタMTの閾値分布、及び読み出し動作時に用いる電圧が示されている。図4の縦軸及び横軸はそれぞれ、メモリセルトランジスタMTの数及び閾値電圧Vthに対応している。
メモリセルトランジスタMTが2ビットのデータを保持する場合、その閾値電圧の分布は、図4に示すように4個に分かれる。この4個の閾値分布にそれぞれ対応する2ビットのデータを、閾値電圧の低いものから順に“ER”レベル、“A”レベル、“B”レベル、及び“C”レベルと呼ぶ。“ER”レベルを保持するメモリセルトランジスタMTはデータの消去状態に相当し、“A”レベル、“B”レベル、及び“C”レベルを保持するメモリセルトランジスタはデータの書き込み状態に相当する。読み出し動作の際、読み出し対象のメモリセルトランジスタMTの閾値電圧がどのレベルに含まれているのかが判定される。この判定のために、種々の読み出し電圧が定められている。
あるメモリセルトランジスタMTが“ER”レベルの閾値電圧を有するか“A”レベル以上の閾値電圧か有するかを判定するための読み出し電圧ARは、“ER”レベルの高い方の裾と“A”レベルの低い方の裾との間に設定される。あるメモリセルトランジスタMTが“A”レベル以下の閾値電圧を有するか“B”レベル以上の閾値電圧を有するかを判定するための読み出し電圧BRは、“A”レベルの高い方の裾と“B”レベルの低い方の裾との間に設定される。あるメモリセルトランジスタMTが“B”レベル以下の閾値電圧を有するか“C”レベルの閾値電圧かを判定するための読み出し電圧CRは、“B”レベルの高い方の裾と“C”レベルの低い方の裾との間に設定される。図4に示す読み出し電圧Vreadは、読み出し電圧Vreadがゲートに印加されたメモリセルトランジスタMTが、保持するデータに依らずにオンする電圧に設定される。これら電圧値の関係は、AR<BR<CR<Vreadである。
[1−1−4]センスアンプモジュール12の構成
次に、図5を用いてセンスアンプモジュール12の構成について説明する。図5は、センスアンプモジュール12の回路図である。図5に示すようにセンスアンプモジュール12は、ビット線BL毎に設けられたセンスアンプユニットSAU(SAU0〜SAU(L−1))を含む。
各センスアンプユニットSAUはそれぞれ、カウンタCTとデータを送受信可能なように接続されている。また各センスアンプユニットSAUは、センスアンプ部SA、ラッチ回路SDL、LDL、UDL、及びXDLを備えている。これらセンスアンプ部SA、ラッチ回路SDL、LDL、UDL、及びXDLは、互いにデータを送受信可能なように接続されている。
センスアンプ部SAは、読み出し動作時には対応するビット線BLに読み出されたデータをセンスし、読み出しデータが“0”であるか“1”であるかを判断する。具体的には、例えばシーケンサ17が生成する制御信号STBがアサートされるタイミングで、センスアンプユニットSAUは読み出しデータを確定する。また書き込み動作時には、書き込みデータに基づいてビット線BLに電圧を印加する。
ラッチ回路SDL、LDL、及びUDLは、読み出しデータ及び書き込みデータを一時的に保持する。読み出し動作時にセンスアンプ部SAが確定させた読み出しデータ、及び書き込み時にラッチ回路XDLに転送された書き込みデータは、例えばラッチ回路SDL、LDL、及びUDLのいずれかに転送される。
ラッチ回路XDLは、センスアンプユニットSAUとコントローラ20との間のデータの入出力に用いられる。つまりコントローラ20から受信したデータは、ラッチ回路XDLを介してラッチ回路SDL、LDL、若しくはUDL、又はセンスアンプ部SAに転送される。また、ラッチ回路SDL、LDL、若しくはUDL、又はセンスアンプ部SAのデータは、ラッチ回路XDLを介してコントローラ20に転送される。
尚、センスアンプモジュール12の構成はこれに限定されず、種々変更が可能である。例えば、センスアンプユニットSAUが備えるラッチ回路の個数は、1つのメモリセルトランジスタMTが保持するデータのビット数に基づいて設計される。
[1−2]動作
次に、メモリシステム1の動作について説明する。
[1−2−1]半導体記憶装置10の動作
まず、メモリシステム1全体の動作を説明する前に、半導体記憶装置10が実行することが可能な複数の動作について以下に説明する。
半導体記憶装置10は、ノーマルリード、トラッキングリード、及びシフトリードを実行することが出来る。メモリシステム1の読み出し動作では、これらの動作のいずれか又は複数が選択されることによりデータが読み出される。
ノーマルリードは通常の読み出しシーケンスであり、予め設定された読み出し電圧を用いてデータを読み出す。トラッキングリードは、最適な読み出し電圧を求めるための読み出しシーケンスである。シフトリードは、補正した読み出し電圧を用いた読み出しシーケンスである。
以下に、図6及び図7を用いてトラッキングリード及びシフトリードの詳細について説明する。図6及び図7には隣り合う2つのレベルの閾値分布が示され、それぞれトラッキングリード及びシフトリードで使用される読み出し電圧の一例が示されている。
メモリセルトランジスタMTは、書き込み動作後のプログラムディスターブ及びデータリテンション、並びに読み出し動作後のリードディスターブ等の影響を受ける。メモリセルの閾値分布は、メモリセルに印加される各種電圧によるプログラムディスターブ及びリードディスターブの影響で高くなり、メモリセルから電荷が抜けるデータリテンションの影響で低くなる。このような影響を受けるとメモリセルトランジスタMTの閾値分布は、例えば図6の破線に示すように広がる場合がある。トラッキングリードは、このように閾値分布が広がり、例えばノーマルリードではデータを正確に読み出すことが出来なくなった場合に実行される。
トラッキングリードでは、読み出し電圧の補正値を算出するために、例えば図6に示すような5種類の読み出し電圧(Vtr1〜Vtr5)を用いた読み出し動作が実行される。電圧Vtr1〜Vtr5の電圧値はそれぞれ異なり、その電圧値の範囲が隣り合う閾値分布の谷を含むように設定される。そしてシーケンサ17は、電圧Vtr1〜Vtr5の読み出し結果に基づいて読み出し電圧の補正値を算出する。
具体的には、トラッキングリードにおける読み出し動作毎に、カウンタCTがオンセル数をカウントして、このオンセル数の情報をシーケンサ17に転送する。そしてシーケンサ17は、オンセル数の変化量をそれぞれ計算する。例えばシーケンサ17は、電圧Vtr1で読み出した場合のオンセル数と、電圧Vtr2で読み出した場合のオンセル数との差分を計算する。同様に、電圧Vtr2及びVtr3で読み出した場合のオンセル数の差分と、電圧Vtr3及びVtr4で読み出した場合のオンセル数の差分と、電圧Vtr4及びVtr5で読み出した場合のオンセル数の差分とが計算される。そしてシーケンサ17は、これらの計算結果に基づいて読み出し電圧の補正値を算出する。
より具体的には、オンセル数の変化量に対して所定の基準値が設けられ、シーケンサ17はオンセル数の変化量が基準値を超えた場合をフェイルとし、基準値以下の場合をパスとする。このようにオンセル数の変化量をある閾値を持って確認することにより、メモリセルの閾値分布が大まかにどのような形状になっているのかを知ることが出来る。
例えば、オンセル数の変化量が電圧Vtr1及びVtr2間と電圧Vtr2及びVtr3間とでパスし、電圧Vtr3及びVtr4間と電圧Vtr4及びVtr5間とでフェイルした場合、当該ページの閾値分布の谷はオンセルの変化量が小さい電圧Vtr1及びVtr3間にあることが分かる。この場合の最適な読み出し電圧としては、例えば電圧Vtr2が選択される。そして算出された最適な読み出し電圧に対応する補正値は、読み出すレベル毎にレジスタREGに保持される。
このように算出された読み出し電圧の補正値は、例えば当該ページに対するシフトリードに適用される。具体的には、例えば図7の破線に示すように高い方の閾値分布の下裾が広がった場合、シフトリードにおける読み出し電圧には、初期設定の読み出し電圧Vdefから低い方に補正された最適な読み出し電圧Vcalが使用される。尚、この電圧Vcalは、トラッキングリード時に用いた読み出し電圧に含まれている。つまり本例の場合、電圧Vcalは電圧Vtr1〜Vtr5のいずれかとなる。
以上のように本実施形態に係る半導体記憶装置10は、トラッキングリードを実行した場合にコントローラ20を介さずに読み出し電圧の補正値を算出し、この補正値を適用したシフトリードを実行することが出来る。
尚、半導体記憶装置10のトラッキングリードにおける読み出し回数は、これに限定されない。例えば半導体記憶装置10は、6種類以上の読み出し電圧を用いてトラッキングリードを実行しても良い。
[1−2−2]メモリシステム1の読み出し動作
それでは、メモリシステム1の読み出し動作について説明する。メモリシステム1の読み出し動作において半導体記憶装置10は、コントローラ20が発行する第1〜第3コマンドセットに応答してそれぞれ第1〜第3読み出し動作を実行することが出来る。
第1読み出し動作は、トラッキングリード及びシフトリードの組である。具体的には、半導体記憶装置10がまずトラッキングリードを実行し、続けてこのトラッキングリードによって得られた読み出し電圧の補正値を用いて同一ページのシフトリードを実行する。第2読み出し動作は、直近のトラッキングリードで得られた読み出し電圧の補正値を適用したシフトリードである。第3読み出し動作は、ノーマルリードである。
以下に、図8及び図9を用いてメモリシステム1の読み出し動作の具体例について説明する。図8及び図9にはそれぞれ、読み出し動作の一例がフローチャート及びタイミングチャートで示されている。尚、図9に示すWLselは、データを読み出す対象のページに対応するワード線WL(以下、選択ワード線と呼ぶ)に対して印加される電圧を示している。つまり図9に示す選択ワード線WLselに対応するワード線は、動作の進行に伴い適宜変化する。
図8に示すように、まずコントローラ20は第1コマンドセットCS1を発行して(ステップS10)、半導体記憶装置10に送信する。この第1コマンドセットCS1は、図10に示すようなコマンドシーケンスである。
具体的には、まずコントローラ20は特殊コマンド“xxh”及びリードコマンド“00h”を続けて発行して、それぞれ半導体記憶装置10に送信する。コマンド“xxh”は、半導体記憶装置10にトラッキングリード及びシフトリードを命令するコマンドである。コマンド“00h”は、読み出しの為のアドレス入力受付コマンドに相当し、半導体記憶装置10にデータの読み出し動作を命令するコマンドである。
次にコントローラ20は、例えば5サイクルに渡ってアドレス情報ADDを発行して、半導体記憶装置10に送信する。このアドレス情報ADDは、読み出す対象のアドレスを指定するものである。続けてコントローラ20は、コマンド“30h”を発行して半導体記憶装置10に送信する。コマンド“30h”は、直前に送信されたコマンドCMD及びアドレス情報ADDに基づいて半導体記憶装置10にデータの読み出しを実行させるためのコマンドである。
このようなコマンドセットCS1(コマンドCMD及びアドレス情報ADD)を半導体記憶装置10が受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は指定されたページに対してまずトラッキングリードを実行する(ステップS11)。
具体的には、例えば図9に示すようにロウデコーダ13は、選択ワード線WLselに対して読み出し電圧Vtr1〜Vtr5を順に印加する。そして選択ワード線WLselに各読み出し電圧が印加されている間にシーケンサ17が信号STBをアサートすると、センスアンプモジュール12によってそれぞれデータが読み出される。ここで、前述したように読み出されたデータのオンセル数がカウンタCTによってそれぞれカウントされ、シーケンサ17はこのオンセル数の情報に基づいて読み出し電圧の補正値を算出する。
次にシーケンサ17は、トラッキングリードによって算出された読み出し電圧の補正値をシーケンサ17内のレジスタREGに保持する(ステップS12)。続けてシーケンサ17は、レジスタREGに保持された補正値を用いて、ステップS11でトラッキングリードを実行したページに対してシフトリードを実行する(ステップS13)。
具体的には、例えば図9に示すようにロウデコーダ13は、選択ワード線WLselに対して読み出し電圧Vcal1を印加する。電圧Vcal1は、直前に実行されたトラッキングリードで算出された補正値が適用された読み出し電圧である。そして、選択ワード線WLselに電圧Vcal1が印加されている間にシーケンサ17が信号STBをアサートすると、センスアンプモジュール12によってデータが読み出される。
以上で説明したステップS11〜S13の動作が、第1読み出し動作に対応している。
ステップS13のシフトリードによって読み出されたデータDATがコントローラ20に送信されると、レディ/ビジー信号が“L”レベルから“H”レベルになる。
次にコントローラ20は、第2コマンドセットCS2を発行して(ステップS14)、半導体記憶装置10に送信する。この第2コマンドセットCS2は、図11に示すようなコマンドシーケンスである。
具体的には、コマンドセットCS2は、図10で説明したコマンドセットCS1に対して、特殊コマンド“xxh”を特殊コマンド“yyh”に置き換えたものと同様である。コマンド“yyh”は、半導体記憶装置10に直近のトラッキングリードで得られた読み出し電圧の補正値を適用したシフトリードを命令するコマンドである。
このようなコマンドセットCS2(コマンドCMD及びアドレス情報ADD)を半導体記憶装置10が受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は次に読み出すページに対して直近のトラッキングリードで算出された補正値をフィードバックしたシフトリードを実行する(ステップS15)。
具体的には、例えば図9に示すようにロウデコーダ13は、ステップS11においてトラッキングリードが実行されたワード線と異なる選択ワード線WLselに対して、ステップS11で得られた補正値を適用した読み出し電圧Vcal1を印加する。そして、選択ワード線WLselに電圧Vcal1が印加されている間にシーケンサ17が信号STBをアサートすると、センスアンプモジュール12によってデータが読み出される。
以上で説明したステップS15の動作が、第2読み出し動作に対応している。このように第2読み出し動作では、トラッキングリードを実行すること無く、直近のトラッキングリードにより算出された読み出し電圧の補正値を適用したシフトリードが実行される。ステップS15のシフトリードによって読み出されたデータDATがコントローラ20に送信されると、レディ/ビジー信号が“L”レベルから“H”レベルになる。尚、図9に示す例では、コマンドセットCS2による第2読み出し動作が2回続けて実行されている。
次にコントローラ20は、第3コマンドセットCS3を発行して(ステップS16)、半導体記憶装置10に送信する。この第3コマンドセットCS3は、図12に示すようなコマンドシーケンスである。
具体的には、コマンドセットCS3は、図10で説明したコマンドセットCS1において、特殊コマンド“xxh”を発行しないものと同様である。
このようなコマンドセットCS3(コマンドCMD及びアドレス情報ADD)を半導体記憶装置10が受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は次に読み出すページに対してノーマルリードを実行する(ステップS17)。
具体的には、例えば図9に示すようにロウデコーダ13は、選択ワード線WLselに対して読み出し電圧Vdefを印加する。そして、選択ワード線WLselに電圧Vdefが印加されている間にシーケンサ17が信号STBをアサートすると、センスアンプモジュール12によってデータが読み出される。
以上で説明したステップS17の動作が、第3読み出し動作に対応している。ステップS17のノーマルリードによって読み出されたデータDATがコントローラ20に送信されると、レディ/ビジー信号が“L”レベルから“H”レベルになる。
次にコントローラ20は、コマンドセットCS1を発行し(ステップS19)、半導体記憶装置10に送信する。するとコマンドセットCS1を受けた半導体記憶装置10は、ステップS11〜S13と同様の第1読み出し動作を実行する。
具体的には、シーケンサ17が指定されたページに対して、まずトラッキングリードを実行する(ステップS19)。そしてシーケンサ17は、ステップS19におけるトラッキングリードによって算出された読み出し電圧の補正値をレジスタREGに上書きする(ステップS20)。続けてシーケンサ17は、レジスタREGに上書きされた補正値を適用して、ステップS19でトラッキングリードを実行したページに対してシフトリードを実行する(ステップS21)。
図9に示す例では、2回目の第1読み出し動作におけるシフトリードで、選択ワード線WLselに対して読み出し電圧Vcal2が印加されている。電圧Vcal2は、ステップS19で得られた補正値を適用した読み出し電圧である。そして、続くコマンドセットCS2による第2読み出し動作では、電圧Vcal2を用いたシフトリードが実行される。
以上のように本実施形態に係る半導体記憶装置10は、トラッキングリードによって得られた読み出し電圧の補正値を、トラッキングリードを実行していない他のページに対するシフトリードにフィードバックする。そしてこの補正値は、トラッキングリードが実行される度に更新される。
尚、上記説明において、トラッキングリードにより得られた補正値を適用した読み出し電圧Vcal1及びVcal2は、電圧Vtr1〜Vtr5のいずれかとなる。また、電圧Vcal1と電圧Vcal2とは、異なっている場合、同じである場合のいずれの場合も考えられる。
また、上記説明において、メモリシステム1の読み出し動作に第3読み出し動作が含まれているが、これに限定されない。例えば、読み出し動作において第3読み出し動作が実行されない場合もある。この場合は、2種類のコマンドセット(CS1及びCS2)を用いて読み出し動作が実行される。
[1−3]第1実施形態の効果
次に、第1実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、動作を高速化することが出来る。以下に、本効果について詳述する。
半導体記憶装置では、データを書き込んだ後の読み出し動作によるリードディスターブや、時間経過によるデータリテンション等の影響により、メモリセルの閾値分布が本来あるべき位置からシフトしたり、広がったりする。するとメモリセルから読み出したデータのエラービット数が多くなり、正しくデータを読み出せなくなってしまうことがある。
このようなメモリセルに対しては、補正した読み出し電圧を用いたシフトリードが実行される。これにより半導体記憶装置は、メモリセルから読み出したデータのエラービット数を低減することが出来、正しくデータを読み出すことが出来るようになる。このシフトリードに適用する読み出し電圧の補正値は、例えばデータを読み出す対象のページに対するトラッキングリードにより算出される。
しかし、トラッキングリードは複数の読み出し動作を含み、処理時間が長い。またトラッキングリードは、例えばエラービット数が増加してECCによるエラー訂正が出来なくなったページに対する再読み出し動作として実行される。このため半導体記憶装置は、劣化したメモリセルが増加するとトラッキングリードの発生回数が多くなり、動作が遅くなる可能性がある。
トラッキングリードの回数を減らすためには、予め適切な読み出し電圧を予測してシフトリードを実行することが有効であると考えられる。また、メモリセルがリードディスターブやデータリテンション等を受ける条件が同じであれば、トラッキングリードの結果もほぼ同じになると推測することが出来る。
そこで本実施形態に係るメモリシステム1は、トラッキングリードにより算出された読み出し電圧の補正値を、半導体記憶装置10内部で保持する。そして半導体記憶装置10は、この補正値をトラッキングリードを実行していないページに対するシフトリードに適用する。
具体的には、メモリシステム1は、トラッキングリードとこのトラッキングリードにより算出された読み出し電圧の補正値を適用したシフトリードとを実行する第1読み出し動作と、直近の第1読み出し動作で得られた読み出し電圧の補正値を適用したシフトリードを実行する第2読み出し動作とを、コントローラ20が発行するコマンドセットによって使い分ける。
より具体的には、読み出し動作の冒頭でコントローラ20が第1読み出し動作を命令するコマンドセットCS1を発行し、以降のページデータを読み出す際には第2読み出し動作を命令するコマンドセットCS2を発行する。コマンドセットCS1及びCS2は、図10及び図11に示すように特殊コマンドを含んでいる。
このようにトラッキングリードを実行していないページに対して、直近のトラッキングリードによる補正値を適用したシフトリードを実行することにより、予め設定された読み出し電圧を用いてデータを読み出す場合と比べて、エラービット数を低減することが出来る。また、コントローラ20が任意のタイミングでコマンドセットCS1を発行して、読み出し電圧の補正値を更新することにより、より適切な読み出し電圧の補正値を使用することが出来る。
例えば、同一ブロックBLKに書き込まれたデータが受けるディスターブの影響は、ほぼ同じになると考えられる。この場合コントローラ20は、各ブロックBLKにおいて最初にデータを読み出すページに対しては第1読み出し動作を指示する。そしてコントローラ20は、当該ブロックにおける残りのページのデータを読み出す際には第2読み出し動作を指示する。つまり本例では、ブロックBLK毎に一度算出された読み出し電圧の補正値が、ブロックBLK内で継続して使用される。
以上のように本実施形態に係るメモリシステム1は、読み出し動作におけるエラービット数を低減することが出来るため、メモリセルが劣化した場合においてトラッキングリードによる再読み出し動作が実行される頻度を減らすことが出来る。これにより本実施形態に係るメモリシステム1は、動作を高速化することが出来る。
また、本実施形態に係るメモリシステム1の読み出し動作では、上述したようにトラッキングリードの回数が抑制されるため、メモリセルに対するリードディスターブの影響が低減される。つまり本実施形態に係るメモリシステム1は、リードディスターブによるメモリセルの閾値分布の変化を抑制することが出来るため、書き込まれたデータの信頼性を向上することが出来る。
[2]第2実施形態
次に、第2実施形態に係るメモリシステム1について説明する。第2実施形態は、上記第1実施形態で説明した読み出し動作において、コントローラ20が特殊コマンドを発行すること無く、直近のトラッキングリードにより得られた補正値を適用したシフトリードを実行するものである。以下に、第1実施形態と異なる点を説明する。
[2−1]メモリシステム1の読み出し動作
まず、メモリシステム1の読み出し動作について説明する。本実施形態に係る半導体記憶装置10は、第1実施形態係る半導体記憶装置10では第2コマンドセットCS2に応答して第2読み出し動作を実行していたのに対して、第3コマンドセットCS3に応答して第2読み出し動作を実行する。
以下に、図13及び図14を用いてメモリシステム1の読み出し動作の具体例について説明する。図13及び図14にはそれぞれ、読み出し動作の一例がフローチャート及びタイミングチャートで示されている。尚、図14に示すWLselは選択ワード線に対して印加される電圧を示し、WLselに対応するワード線は動作の進行に伴い適宜変化する。
図13に示すように、まずコントローラ20は第1コマンドセットCS1を発行して(ステップS10)、半導体記憶装置10に送信する。図13及び図14に示すコマンドセットCS1に基づく半導体記憶装置10の動作は、第1実施形態で説明したステップS11〜S13と同様のため説明を省略する。
次にコントローラ20は、第3コマンドセットCS3を発行して(ステップS30)、半導体記憶装置10に送信する。半導体記憶装置10がコマンドセットCS3を受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は次に読み出すページに対して直近のトラッキングリードで算出された補正値をフィードバックしたシフトリードを実行する(ステップS31)。
つまり半導体記憶装置10は、第1実施形態で説明した第2コマンドセットCS2に含まれるコマンド“yyh”のような特殊コマンドを受信すること無く第2読み出し動作を実行する。ステップS31における具体的な動作は、第1実施形態で説明したステップS15と同様のため説明を省略する。尚、図14に示す例では、コマンドセットCS3による第2読み出し動作が2回続けて実行されている。
次にコントローラ20は、第1コマンドセットCS1を発行して(ステップS18)、半導体記憶装置10に送信する。図13及び図14に示すコマンドセットCS1に基づく半導体記憶装置10の動作は、第1実施形態で説明したステップS19〜S21と同様のため説明を省略する。そして図14に示すように、続くコマンドセットCS3による第2読み出し動作では、ステップS19のトラッキングリードにより算出された読み出し電圧の補正値を適用したシフトリードが実行される。
以上のように本実施形態に係る半導体記憶装置10は、特殊コマンドを使用しないコマンドセットCS3に応答して、直近で実行されたトラッキングリードによって得られた読み出し電圧の補正値をフィードバックしたシフトリードを実行することが出来る。
[2−2]第2実施形態の効果
次に、第2実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。以下に、本効果について詳述する。
第1実施形態に係るメモリシステム1では、トラッキングリードを含む第1読み出し動作と、補正値を流用したシフトリードである第2読み出し動作とをそれぞれ、特殊コマンドを含むコマンドセットCS1及びCS2を用いて実行する。一方で、本実施形態に係るメモリシステム1では、第2読み出し動作を命令するコマンドセットに、特殊コマンドを含まないコマンドセットCS3を使用する。
これにより本実施形態に係るメモリシステム1では、第2読み出し動作を実行するのに特殊コマンドを含まないコマンドセットCS3を使用するため、特殊コマンドを発行しない分だけコマンドシーケンスを短くすることが出来る。つまり本実施形態に係るメモリシステム1は、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。
[3]第3実施形態
次に、第3実施形態に係るメモリシステム1について説明する。第3実施形態は、上記第2実施形態で説明した読み出し動作において、データを読み出すブロックアドレスが変わった際に、半導体記憶装置10がトラッキングリードを実行するものである。以下に、第1及び第2実施形態と異なる点を説明する。
[3−1]メモリシステム1の読み出し動作
まず、メモリシステム1の読み出し動作について説明する。本実施形態に係るメモリシステム1の読み出し動作においてコントローラ20は、最初のページを読み出す際には第1コマンドセットCS1を発行し、それ以降のページの読み出す際には第3コマンドセットCS3を発行する。また半導体記憶装置10は、通常は第3コマンドセットCS3に応答して第2読み出し動作を実行し、受信した第3コマンドセットCS3に含まれたブロックアドレスが変化した場合には第1読み出し動作を実行する。
以下に、図15及び図16を用いてメモリシステム1の読み出し動作の具体例について説明する。図15及び図16にはそれぞれ、読み出し動作の一例がフローチャート及びタイミングチャートで示されている。尚、図16に示すWLselは選択ワード線に対して印加される電圧を示し、WLselに対応するワード線は動作の進行に伴い適宜変化する。
図15に示すように、まずコントローラ20は第1コマンドセットCS1を発行して(ステップS10)、半導体記憶装置10に送信する。図15及び図16に示すコマンドセットCS1に基づく半導体記憶装置10の動作は、第1実施形態で説明したステップS11〜S13と同様のため説明を省略する。
次にコントローラ20は、第3コマンドセットCS3を発行して(ステップS40)、半導体記憶装置10に送信する。半導体記憶装置10がコマンドセットCS3を受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は指定されたブロックアドレスが1つ前にデータを読み出したページのブロックアドレスから変わったかどうか確認する(ステップS41)。
ブロックアドレスが変わっていない場合(ステップS41、No)、シーケンサ17は第2読み出し動作を実行する。つまりシーケンサ17は、直近のトラッキングリードで算出された補正値をフィードバックしたシフトリードを実行する(ステップS42)。
一方で、ブロックアドレスが変わっていた場合(ステップS41、Yes)、半導体記憶装置10は第1読み出し動作を実行する。具体的には、シーケンサ17がまずトラッキングリードを実行する(ステップS43)。そしてシーケンサ17は、ステップS43におけるトラッキングリードによって算出された読み出し電圧の補正値をレジスタREGに上書きして(ステップS44)、この補正値を適用した同一ページのシフトリードを実行する(ステップS45)。これらステップS43〜S45の動作は、第1実施形態で説明したステップS19〜S21の動作と同様である。
つまり半導体記憶装置10は、ブロックアドレスが変わっていない場合にはそのままの補正値でシフトリードを実行し、ブロックアドレスが変わった場合にはトラッキングリードにより補正値を更新したシフトリードを実行する。続くページの読み出し動作では、上述したステップS40以降の動作が繰り返される。
尚、図16に示す例は、読み出し動作の冒頭でコマンドセットCS1による第1読み出し動作が実行され、以降の読み出し動作において3回目に発行されたコマンドセットCS3でブロックアドレスが変わった場合の動作を示している。
以上のように、本実施形態に係るメモリシステム1における半導体記憶装置10は、コントローラ20が発行するコマンドセットCS3に応答し、且つデータを書き込む先のブロックアドレスを確認することにより、第1読み出し動作及び第2読み出し動作を使い分けることが出来る。
[3−2]第3実施形態の効果
次に、第3実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。以下に、本効果について詳述する。
第1実施形態の効果の項目で述べたように、同一ブロックBLKに書き込まれたデータが受けるディスターブの影響はほぼ同じであると考えられ、同一ブロックBLKにおけるトラッキングリードの結果もほぼ同じになると推測することが出来る。
そこで、本実施形態に係るメモリシステム1における半導体記憶装置10は、読み出し動作の冒頭で特殊コマンドを含むコマンドセットCS1に応答してトラッキングリードを実行した後、続くページに対しては特殊コマンドを含まないコマンドセットCS3に応答してシフトリードを実行する。そして半導体記憶装置10は、受信したコマンドセットCS3が指定するブロックアドレスが変わったことを検知するとトラッキングリードを実行し、以降のシフトリードに適用する読み出し電圧の補正値を更新する。
このように本実施形態に係るメモリシステム1は、コントローラ20の指示によらずに、半導体記憶装置10がトラッキングリードを実行するかどうかを判断する。つまりコントローラ20は、読み出し動作の冒頭にのみ特殊コマンドを含むコマンドセットCS1を発行し、以降の読み出し動作では特殊コマンドを含まないコマンドセットCS3を発行すれば良くなる。
これにより本実施形態に係るメモリシステム1においてコントローラ20は、特殊コマンドを発行しない分だけ読み出し動作におけるコマンドシーケンスを短くすることが出来る。つまり本実施形態に係るメモリシステム1は、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。
[4]第4実施形態
次に、第4実施形態に係るメモリシステム1について説明する。第4実施形態は、上記第2実施形態で説明した読み出し動作において、半導体記憶装置10内部で特定のワード線WLが選択されたことを検知した場合にトラッキングリードを実行するものである。以下に、第1〜第3実施形態と異なる点を説明する。
[4−1]メモリシステム1の読み出し動作
まず、メモリシステム1の読み出し動作について説明する。本実施形態に係るメモリシステム1の読み出し動作においてコントローラ20は、第3実施形態と同様に、最初のページを読み出す際には第1コマンドセットCS1を発行し、それ以降のページの読み出す際には第3コマンドセットCS3を発行する。また半導体記憶装置10は、通常は第3コマンドセットCS3に応答して第2読み出し動作を実行し、受信した第3コマンドセットCS3に含まれたアドレスが特定のワード線に対応する場合には第1読み出し動作を実行する。この特定のワード線としては、例えば各ブロックBLKの端部に位置するワード線が指定され、任意に設定することが可能である。
以下に、図17及び図18を用いてメモリシステム1の読み出し動作の具体例について説明する。図17及び図18にはそれぞれ、読み出し動作の一例がフローチャート及びタイミングチャートで示されている。尚、図18に示すWLselは選択ワード線に対して印加される電圧を示し、WLselに対応するワード線は動作の進行に伴い適宜変化する。
図17に示すように、まずコントローラ20は第1コマンドセットCS1を発行して(ステップS10)、半導体記憶装置10に送信する。図17及び図18に示すコマンドセットCS1に基づく半導体記憶装置10の動作は、第1実施形態で説明したステップS11〜S13と同様のため説明を省略する。
次にコントローラ20は、第3コマンドセットCS3を発行して(ステップS50)、半導体記憶装置10に送信する。半導体記憶装置10がコマンドセットCS3を受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は受信したアドレス情報から特定のワード線が選択されたかどうかを確認する(ステップS51)。つまりステップS51においてシーケンサ17は、次に読み出すページに対応するワード線が、特定のワード線であるかどうかを確認している。
特定のワード線WLが選択されていなかった場合(ステップS51、No)、シーケンサ17は第2読み出し動作を実行する。つまりシーケンサ17は、直近のトラッキングリードで算出された補正値をフィードバックしたシフトリードを実行する(ステップS55)。
特定のワード線WLが選択された場合(ステップS51、Yes)、シーケンサ17は第1読み出し動作を実行する。具体的には、シーケンサ17がまずトラッキングリードを実行する(ステップS53)。そしてシーケンサ17は、ステップS53におけるトラッキングリードによって算出された読み出し電圧の補正値をレジスタREGに上書きして(ステップS54)、この補正値を適用した同一ページのシフトリードを実行する(ステップS55)。これらステップS52〜S54の動作は、第1実施形態で説明したステップS19〜S21の動作と同様である。
つまり半導体記憶装置10は、特定のワード線WLに対応するアドレスが選択されていない場合にはそのままの補正値でシフトリードを実行し、特定のワード線WLに対応するアドレスが選択された場合にはトラッキングリードにより補正値を更新したシフトリードを実行する。続くページの読み出し動作では、上述したステップS50以降の動作が繰り返される。
尚、図18に示す例は、読み出し動作の冒頭でコマンドセットCS1による第1読み出し動作が実行され、以降の読み出し動作において3回目に発行されたコマンドセットCS3で特定のワード線WLが選択された場合の動作を示している。
以上のように、本実施形態に係るメモリシステム1における半導体記憶装置10は、コントローラ20が発行するコマンドセットCS3に応答し、且つ特定のワード線WLが選択されたかどうかを確認することにより、第1読み出し動作及び第2読み出し動作を使い分けることが出来る。
[4−2]第4実施形態の効果
次に、第4実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、第3実施形態と同様の効果を得ることが出来、さらに第3実施形態よりも動作を高速化することが出来る。以下に、本効果について詳述する。
半導体記憶装置においてメモリセルの特性は、メモリセルが形成されている位置によって異なることがある。例えば各NANDストリングにおいて、中央部に位置するメモリセルは特性ばらつきが小さく、端部に位置するメモリセルは特性ばらつきが大きくなる。また、メモリセルの位置に基づいてメモリセルの特性に傾向が生じる場合がある。
このような特性ばらつきや位置による特性差が生じると、他のページに対するトラッキングリードにより得た補正値を適用してシフトリードを実行した場合でも再読み出しが実行される頻度が高くなることが考えられる。
そこで本実施形態に係るメモリシステム1における半導体記憶装置10は、第3実施形態と同様に、読み出し動作の冒頭で特殊コマンドを含むコマンドセットCS1に応答してトラッキングリードを実行した後、続くページに対しては特殊コマンドを含まないコマンドセットCS3に応答してシフトリードを実行する。そして半導体記憶装置10は、受信したコマンドセットCS3によって特定のワード線WLが選択されたことを検知するとトラッキングリードを実行し、以降のシフトリードに適用する読み出し電圧の補正値を更新する。
このように本実施形態に係るメモリシステム1は、第3実施形態と同様に、コントローラ20の指示によらずに、半導体記憶装置10がトラッキングリードを実行するかどうかを判断する。これによりコントローラ20は、読み出し動作の冒頭にのみ特殊コマンドを含むコマンドセットCS1を発行し、以降の読み出し動作では特殊コマンドを含まないコマンドセットCS3を発行すれば良くなる。
これにより本実施形態に係るメモリシステム1においてコントローラ20は、第3実施形態と同様に、特殊コマンドを発行しない分だけ読み出し動作におけるコマンドシーケンスを短くすることが出来る。また本実施形態に係るメモリシステム1は、再読み出しが実行される可能性が高い箇所に対して、半導体記憶装置10が常にトラッキングリードを実行するため、再読み出しの頻度を減らすことが出来る。つまり本実施形態に係るメモリシステム1は、第3実施形態と同様の効果を得ることが出来、さらに第3実施形態よりも動作を高速化することが出来る。
[5]第5実施形態
次に、第5実施形態に係るメモリシステム1について説明する。第5実施形態は、各ページの冗長領域にフラグ情報を書き込み、このフラグ情報に基づいてトラッキングリードを実行するものである。以下に、第1〜第4実施形態と異なる点を説明する。
[5−1]動作
[5−1−1]メモリシステム1の動作の概要
まず、メモリシステム1の動作の概要について説明する。本実施形態に係るメモリシステム1では、書き込み動作及び読み出し動作においてフラグ情報が使用される。
フラグ情報は、対応するページのデータが書き込まれた時期を識別することが可能な情報である。このフラグ情報としては、例えば外部のホストから書き込みデータを受信した時刻の情報や、アドレス情報の一部を引用した情報等が使用される。
書き込み動作においてフラグ情報は、コントローラ20によって生成され、コントローラ20が半導体記憶装置10に送信する入出力信号I/Oに追加される。そしてフラグ情報は、半導体記憶装置10における各ページの冗長領域に書き込まれる。
読み出し動作においてフラグ情報は、半導体記憶装置10によってデータを読み出す前に参照される。そして半導体記憶装置10は、参照したフラグ情報に基づいて、トラッキングリードを含む第1読み出し動作、又は直近のトラッキングリードで得られた補正値を適用したシフトリードである第2読み出し動作を実行する。
[5−1−2]メモリシステム1の書き込み動作
次に、図19を用いてメモリシステム1の書き込み動作の具体例について説明する。図19には、書き込み動作の一例がフローチャートで示されている。
図19に示すように、まずコントローラ20が、外部のホスト(図示せず)から書き込みデータ及びアドレス情報を受信する(ステップS60)。この書き込みデータ及びアドレス情報は、ホストI/F26を介してバッファメモリ25に一時的に保持される。
次にコントローラ20のNANDI/F24は、書き込みコマンドを発行し、書き込みデータにフラグ情報FLGを追加する(ステップS61)。このフラグ情報FLGは、書き込み対象のページの冗長領域に書き込まれるように、例えば書き込みデータの末尾に追加される。そしてNANDI/F24は、発行した書き込みコマンド、フラグ情報FLGを含む書き込みデータ、及びアドレス情報を、入出力信号I/Oとして半導体記憶装置10に送信する。
次に半導体記憶装置10は、コントローラ20から受信した書き込みデータDAT、コマンドCMD、及びアドレス情報ADDに基づいて、書き込み動作を実行する(ステップS62)。これにより、対応するページのデータ領域にはデータが格納され、冗長領域にはフラグ情報FLGが格納される。
尚、ステップS61において、書き込みコマンドを発行するのはNANDI/F24に限定されない。例えば、CPU21が書き込みコマンドを発行するようにしても良い。同様にステップS61において、フラグ情報FLGを生成するのはNANDI/F24に限定されない。例えばCPU21がフラグ情報FLGを生成し、生成したフラグ情報FLGをNANDI/F24又はバッファメモリ25に転送して書き込みデータに追加するようにしても良い。
またフラグ情報は、1ビットのデータを記憶させるSLC(Single-Level Cell)方式を適用してメモリセルに記憶させることが望ましいが、これに限定されず、MLC方式を適用してメモリセルに記憶させるようにしても良い。
[5−1−3]メモリシステム1の読み出し動作
次に、メモリシステム1の読み出し動作の詳細について説明する。本実施形態に係るメモリシステム1は、1種類のコマンドセット(例えばコマンドセットCS3)で、以下で説明する読み出し動作を実行することが出来る。読み出し動作において半導体記憶装置10は、コントローラ20から受信したコマンドセットに応答してまずフラグリードを実行し、続けて第1読み出し動作又は第2読み出し動作を実行する。
フラグリードは、各ページの冗長領域に記憶されたフラグ情報を読み出す読み出し動作である。このフラグリードにより読み出されたフラグ情報はシーケンサ17に転送され、シーケンサ17はこのフラグ情報に基づいて当該ページに対する第1読み出し動作又は第2読み出し動作を実行する。
以下に、図20及び図21を用いてメモリシステム1の読み出し動作の具体例について説明する。図20及び図21にはそれぞれ、読み出し動作の一例がフローチャート及びタイミングチャートで示されている。尚、図21に示すWLselは選択ワード線に対して印加される電圧を示し、WLselに対応するワード線は動作の進行に伴い適宜変化する。
まずコントローラ20は、第3コマンドセットCS3を発行して(ステップS70)、半導体記憶装置10に送信する。半導体記憶装置10がコマンドセットCS3を受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド及びアドレス情報をそれぞれ、コマンドレジスタ15C及びアドレスレジスタ15Bに転送する。コマンドレジスタ15Cにコマンド“30h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は指定されたページに対してまずフラグリードを実行する(ステップS71)。
具体的には、例えば図21に示すようにロウデコーダ13は、選択ワード線WLselに対して読み出し電圧Vflgを印加する。電圧Vflgは、各ページの冗長領域に格納されたフラグ情報FLGを読み出すための読み出し電圧であり、フラグ情報FLGの書き込み方式に基づいて設定される。そして、選択ワード線WLselに電圧Vflgが印加されている間にシーケンサ17が信号STBをアサートすると、センスアンプモジュール12によってデータが読み出される。
続けてセンスアンプモジュール12は、読み出した1ページデータの冗長領域に含まれるフラグ情報FLGをシーケンサ17に転送し、シーケンサ17はこのフラグ情報を例えばレジスタREGに保持する(ステップS72)。
次に半導体記憶装置10は、第1読み出し動作を実行する。具体的には、シーケンサ17がフラグリードを実行したページに対して、まずトラッキングリードを実行する(ステップS73)。そしてシーケンサ17は、トラッキングリードによって算出された読み出し電圧の補正値をレジスタREGに保存する(ステップS74)。続けてシーケンサ17は、レジスタREGに保持された補正値を適用して、同一ページのシフトリードを実行する(ステップS75)。これらの具体的な動作は、第1実施形態で説明したステップS11〜S13と同様のため説明を省略する。
次にコントローラ20は、コマンドセットCS3を発行して(ステップS76)、半導体記憶装置10に送信する。そしてシーケンサ17は、コマンドセットCS3に基づいて、次に読み出すページに対してフラグリードを実行する(ステップS77)。つまりシーケンサ17は、ステップS71においてフラグリードが実行されたワード線と異なる選択ワード線WLselに対して、フラグリードを実行する。このステップS76及びS77の動作は、ステップS70及びS71の動作と同様のため説明を省略する。
次にシーケンサ17は、読み出されたフラグ情報FLGとレジスタREG内に保持されたフラグ情報FLGとを比較し、フラグ情報FLGが前回のフラグリード結果から変わったかどうかを確認する(ステップS78)。
フラグ情報FLGが変わっていなかった場合(ステップS78、No)、シーケンサ17は第2読み出し動作を実行する。つまりシーケンサ17は、ステップS77においてフラグリードを実行したページに対して、直近のトラッキングリードで算出された補正値をフィードバックしたシフトリードを実行する(ステップS79)。
一方で、フラグ情報FLGが変わっていた場合(ステップS78、Yes)、シーケンサ17は変化したフラグ情報FLGをレジスタREGに上書きして(ステップS80)、第1書き込み動作を実行する。具体的には、シーケンサ17がステップS77においてフラグリードを実行したページに対して、まずトラッキングリードを実行する(ステップS81)。そしてシーケンサ17は、トラッキングリードによって算出された読み出し電圧の補正値をレジスタREGに上書きして(ステップS82)、この補正値を適用した同一ページのシフトリードを実行する(ステップS83)。これらステップS80〜S82の動作は、第1実施形態で説明したステップS19〜S21の動作と同様である。
つまり半導体記憶装置10は、同じフラグ情報を保持するページに対してはそのままの補正値でシフトリードを実行し、フラグ情報が変わった場合にはトラッキングリードにより補正値を更新したシフトリードを実行する。続くページの読み出し動作では、上述したステップS76以降の動作が繰り返される。
尚、図21に示す例では、コントローラ20が4回目に発行したコマンドセットCS3による半導体記憶装置10のフラグリードで、読み出されたフラグ情報がFLG1からFLG2に変わった場合の動作を示している。
以上のように、本実施形態に係る半導体記憶装置10は、読み出し動作の冒頭にフラグリード及びトラッキングリードを実行して、フラグ情報FLG及び読み出し電圧の補正値をレジスタREGに保持する。そして以降の読み出し動作で半導体記憶装置10は、同じフラグ情報を保持するページに対しては同じ補正値を適用したシフトリードを実行し、フラグ情報が変わる度にトラッキングリードを実行する。
尚、上記説明において、フラグ情報を冗長領域に書き込む際にSLC方式を適用した場合を例に説明したが、これに限定されない。例えば、フラグ情報をMLC方式で書き込む場合、読み出し動作におけるフラグリードでは、複数の読み出し電圧を用いた読み出し動作が実行される。
また、上記説明において、コマンドセットCS3を用いて読み出し動作を実行する場合を例に説明したが、これに限定されない。例えば、コマンドセットCS1のような特殊コマンドを含むコマンドセットを使用して読み出し動作を実行するようにしても良い。
[5−2]第5実施形態の効果
次に、第5実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。以下に、本効果について詳述する。
第1実施形態に係るメモリシステム1では、複数のコマンドセットによりトラッキングリードを含む第1読み出し動作と、補正値を流用したシフトリードである第2読み出し動作とを使い分ける。
一方で、本実施形態に係るメモリシステム1では、各ページデータを書き込んだ時期を示すフラグ情報をコントローラ20が生成し、半導体記憶装置10が各ページの冗長領域にこのフラグ情報を書き込む。そして半導体記憶装置10は、読み出し動作時にこのフラグ情報を参照することによって、第1読み出し動作と第2読み出し動作とを使い分ける。
具体的には、半導体記憶装置10は各ページの読み出し動作の際に、まずフラグ情報を読み出すフラグリードを実行する。ここで読み出されたフラグ情報は半導体記憶装置10内部に保持され、当該ページの前に読み出されたページに対応するフラグ情報と比較される。そして半導体記憶装置10は、比較したフラグ情報が異なる場合に第1読み出し動作を実行し、比較したフラグ情報が同じであった場合に第2読み出し動作を実行する。
このように半導体記憶装置10は、同じフラグ情報を保持するページに対しては第2読み出し動作を実行し、フラグ情報が変わる度に第1読み出し動作を実行して読み出し電圧の補正値を更新する。つまり半導体記憶装置10は、例えば画像データやドキュメントデータ等のファイル単位で、同じ読み出し電圧の補正値を適用することが出来る。
これにより本実施形態に係るメモリシステム1は、ブロックよりも大きい単位で読み出し電圧の補正値を流用する範囲を定義することが出来、トラッキングリードを実行する頻度を減らすことが出来る。つまり本実施形態に係るメモリシステム1は、第1実施形態と同様の効果を得ることが出来、さらに第1実施形態よりも動作を高速化することが出来る。
[6]第6実施形態
次に、第6実施形態に係るメモリシステム1について説明する。第6実施形態は、第5実施形態においてコントローラ20がフラグ情報を生成していたのに対して、半導体記憶装置10がフラグ情報を生成するものである。以下に、第1〜第5実施形態と異なる点を説明する。
[6−1]メモリシステム1の書き込み動作
まず、図22を用いてメモリシステム1の書き込み動作の具体例について説明する。図22には、書き込み動作の一例がフローチャートで示されている。
まずコントローラ20が、外部のホスト(図示せず)から書き込みデータ及びアドレス情報を受信する(ステップS90)。この書き込みデータ及びアドレス情報は、ホストI/F26を介してバッファメモリ25に一時的に保持される。
次にコントローラ20のNANDI/F24は、書き込みコマンドを発行する(ステップS91)。そしてNANDI/F24は、発行した書き込みコマンド、書き込みデータ、及びアドレス情報を、入出力信号I/Oとして半導体記憶装置10に送信する。
次に半導体記憶装置10の入出力回路14は、コントローラ20から受信したコマンドCMD、アドレス情報ADD、及び書き込みデータDATをそれぞれ、コマンドレジスタ15C、アドレス情報ADD、及びセンスアンプモジュール12のラッチ回路XDLに転送する。そして、シーケンサ17はフラグ情報を生成し(ステップS92)、冗長領域のメモリセルに接続されているセンスアンプユニットSAUのラッチ回路XDLに転送する。このフラグ情報としては、例えば受信したアドレス情報の一部が使用される。
次にシーケンサ17は、コマンドレジスタ15Cに転送されたコマンドCMDに基づいて書き込み動作を実行する(ステップS93)。これにより、対応するページのデータ領域にはデータが書き込まれ、冗長領域にはフラグ情報が書き込まれる。
この冗長領域に書き込まれるフラグ情報は、例えばキャッシュ書き込み動作を実行している間は同じフラグ情報FLGとされる。キャッシュ書き込み動作は、コントローラ20から半導体記憶装置10への1ページデータの転送と、半導体記憶装置10の1ページデータの書き込み動作とを平行して実行するものである。
以下に、図23を用いてキャッシュ書き込み動作の具体例について説明する。図23には、キャッシュ書き込み動作の一例がフローチャートで示されている。
図23に示すように、まずコントローラ20は第4コマンドセットCS4を発行し(ステップS100)、半導体記憶装置10に送信する。この第4コマンドセットCS4に対応するコマンドシーケンスは、図24に示されている。
具体的には、まずコントローラ20は書き込みコマンド“80h”を発行し、半導体記憶装置10に送信する。コマンド“80h”は、書き込み動作を命令するコマンドである。次にコントローラ20は、例えば5サイクルに渡ってアドレス情報ADDを発行し、半導体記憶装置10に送信する。このアドレス情報ADDは、データを書き込むアドレスを指定するものである。次にコントローラ20は、複数サイクルに渡って書き込みデータDinを半導体記憶装置10に出力する。ここで出力されたデータDinは、合計で1ページ分のデータに相当する。次にコントローラ20は、コマンド“15h”を発行し、半導体記憶装置10に送信する。コマンド“15h”は、直前に送信されたアドレス情報及びデータDinに基づいて半導体記憶装置10にデータのキャッシュ書き込み動作を実行させるためのコマンドである。
このようなコマンドセットCS4(コマンドCMD、アドレス情報ADD、及び書き込みデータDAT)を半導体記憶装置10が受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド、アドレス情報、及び書き込みデータをそれぞれ、コマンドレジスタ15C、アドレスレジスタ15B、及びセンスアンプモジュール12のラッチ回路XDLに転送する。コマンドレジスタ15Cにコマンド“15h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17はキャッシュ書き込み動作を開始する。
キャッシュ書き込み動作では、まずセンスアンプモジュール12がラッチ回路XDLに転送された書き込みデータをラッチ回路SDLに転送する(ステップS101)。そしてシーケンサ17は、ステップS101におけるデータ転送が終了したことを検知すると、レディ/ビジー制御回路18を制御してレディ/ビジー信号を“L”レベルから“H”レベルにする。
続けてシーケンサ17は、1ページデータの書き込み動作を開始する(ステップS102)。ここで半導体記憶装置10が書き込み動作を開始するのと平行して、コントローラ20は次のページの書き込みデータを含む第4コマンドセットCS4を発行し(ステップS103)、半導体記憶装置10に送信する。ここでステップS103において送信された書き込みデータは、入出力回路14を介してセンスアンプモジュール12のラッチ回路XDLに保持される。
シーケンサ17は、書き込み動作が終了するとセンスアンプモジュール12を制御し、ラッチ回路XDLに転送された書き込みデータをラッチ回路SDLに転送させる(ステップS104)。ここでシーケンサ17は、ステップS104におけるデータ転送を行っている間はレディ/ビジー信号を“L”レベルにして、データ転送が終了するとレディ/ビジー信号を“H”レベルにする。
以上のようにキャッシュ書き込み動作では、コントローラ20から半導体記憶装置10への書き込みデータの転送と、半導体記憶装置10の書き込み動作が平行して実行される。そして半導体記憶装置10に書き込むデータが残り1ページ以下になるまで、ステップS102〜S104の動作が繰り返される。
書き込みデータが残り1ページ以下になると、コントローラ20は通常の書き込み動作を命令する第5コマンドセットCS5を発行し(ステップS106)、半導体記憶装置10に送信する。この第5コマンドセットCS5に対応するコマンドシーケンスは、図24に示されている。
具体的には、コマンドセットCS5は、コマンドセットCS4におけるコマンド“15h”を、コマンド“10h”に置き換えたものと同様である。コマンド“10h”は、直前に送信されたアドレス情報及びデータDinに基づいて半導体記憶装置10に通常の書き込み動作を実行させるためのコマンドである。
このようなコマンドセットCS5(コマンドCMD、アドレス情報ADD、及び書き込みデータDAT)を半導体記憶装置10が受信すると、半導体記憶装置10の入出力回路14は、受信したコマンド、アドレス情報、及び書き込みデータをそれぞれ、コマンドレジスタ15C、アドレス情報ADD、及びセンスアンプモジュール12のラッチ回路XDLに転送する。コマンドレジスタ15Cにコマンド“10h”が格納されると、レディ/ビジー信号が“H”レベルから“L”レベルになり、シーケンサ17は通常の書き込み動作を開始する。
前のページの書き込み動作が終了するとセンスアンプモジュール12は、ラッチ回路XDLに転送された書き込みデータを、ラッチ回路SDLに転送する(ステップS107)。続けてシーケンサ17は、残りの1ページデータの書き込み動作を実行する(ステップS108)。そしてシーケンサ17は、この書き込み動作が終了すると、レディ/ビジー制御回路18を制御してレディ/ビジー信号を“H”レベルにする。
尚、図24に示すコマンドシーケンスは、図23に示すフローチャートに対応している。具体的には、図24には、3ページ分のデータを2回のキャッシュ書き込み動作と1回の通常の書き込み動作で書き込む場合のコマンドシーケンスが示されている。
図24に示すtDLtrans及びtProgはそれぞれ、キャッシュ書き込み動作においてラッチ間のデータ転送を行っている期間と、通常の書き込み動作が実行されている期間に対応し、tDLtrans<tProgである。このようにキャッシュ書き込み動作では、コントローラ20が入出力信号I/Oを送信している間に半導体記憶装置10による1ページデータの書き込み動作が終了することがある。
以上のようにキャッシュ書き込み動作では、コマンドセットCS4に基づいて連続して1ページデータの書き込みが実行される。本実施形態に係る半導体記憶装置10では、例えばこの連続して実行されるキャッシュ書き込み動作と最後の通常の書き込み動作とを1つのグループとして、同じフラグ情報FLGを共有させる。
つまり本実施形態に係る半導体記憶装置10は、コマンドセットCS4に基づいてキャッシュ書き込み動作を開始してから、コマンドセットCS5で通常の書き込み動作を実行するまで、各ページの冗長領域に同じフラグ情報FLGを書き込む。本例において、半導体記憶装置10のシーケンサ17がフラグ情報FLGを生成し、対応するセンスアンプユニットSAUにフラグ情報FLGを転送するタイミングは、各コマンドセットを受信している間、又はコマンド“15h”やコマンド“10h”を受けてラッチ間のデータ転送が開始する前であれば良い。
尚、上記説明において、コマンド“15h”及び“10h”に基づいてラッチ回路XLDからデータが転送される先のラッチ回路は、ラッチ回路SDLに限定されず、ラッチ回路LDL又はUDLであっても良い。
また、コントローラ20がステータスリードコマンドによって半導体記憶装置10の動作状態を知る構成である場合、コントローラ20が各コマンドセットを発行した後に所定の間隔でステータスリードコマンドを発行する。そしてコントローラ20は、半導体記憶装置10から出力されたステータス情報を参照することにより、ステップS102、S104、又はS107におけるデータ転送が終了したことを検知する。
尚、上述したキャッシュ読み出し動作については、例えば“SEMICONDUCTOR INTEGRATED CIRCUIT ADAPTED TO OUTPUT PASS/FAIL RESULTS OF INTERNAL OPERATIONS”という2002年12月13日に出願された米国特許出願10/318,167号に記載されている。この特許出願は、その全体が本願明細書において参照により援用されている。
[6−2]第6実施形態の効果
次に、第6実施形態の効果について説明する。本実施形態に係るメモリシステム1によれば、第5実施形態と同様の効果を得ることが出来る。以下に、本効果について詳述する。
第5実施形態に係るメモリシステム1ではコントローラ20がフラグ情報FLGを生成していたのに対して、本実施形態に係るメモリシステム1では半導体記憶装置10がフラグ情報FLGを生成する。このように、フラグ情報FLGは半導体記憶装置10内部で生成されても良く、半導体記憶装置10はコントローラ20から受信したデータと共にフラグ情報FLGの書き込みを実行する。
これにより本実施形態に係るメモリシステム1は、第5実施形態と同様の読み出し動作を実行することが可能となる。つまり本実施形態に係るメモリシステム1は、トラッキングリードを実行する頻度を減らすことが出来、第5実施形態と同様の効果を得ることが出来る。
また、本実施形態に係る半導体記憶装置10は、コントローラ20が発行するコマンドによらずにフラグ情報を生成する。つまり本実施形態に係る半導体記憶装置10は、コントローラ20に特別なコマンドシーケンスを使用させること無く、書き込み動作及び読み出し動作を実行することが出来る。
[7]変形例等
上記実施形態に係る半導体記憶装置<10、図1>は、複数の第1及び第2メモリセルと、複数の第1及び第2メモリセルにそれぞれ接続された第1及び第2ワード線と、外部から受信した第1及び第2コマンドセット<CS1,CS2、図9>にそれぞれ応答して読み出し動作を実行する制御回路<20、図1>とを含む。制御回路は、読み出し動作時において第1及び第2読み出しシーケンスを実行することが可能である。第1読み出しシーケンス<Tracking read、図9>では、互いに異なる第1乃至第3電圧を用いてそれぞれデータが読み出される。第2読み出しシーケンス<Shift read、図9>では、第1読み出しシーケンスの結果に基づいた電圧を用いてデータが読み出される。第1コマンドセットに基づく複数の第1メモリセルの読み出し動作では、第1及び第2読み出しシーケンスが連続で実行される。複数の第1メモリセルの読み出し動作に続く、第2コマンドセットに基づく複数の第2メモリセルの読み出し動作では、複数の第1メモリセルの読み出し動作における第1読み出しシーケンスの結果に基づいた電圧を用いた第2読み出しシーケンスが実行される。
また、上記実施形態に係るメモリシステム<1、図1>は、上記実施形態に係る半導体記憶装置<10、図1>と、第1及び第2コマンドセットを発行可能なコントローラ<20、図1>と、を備える。
これにより、動作を高速化することが可能な半導体記憶装置及びメモリシステムを提供することが出来る。
尚、実施形態は上記第1〜第6実施形態に限定されず、種々の変形が可能である。例えば上記実施形態について、同一のワード線WLに接続されたメモリセルから1ページのデータを読み出す場合を例に説明したが、これに限定されない。例えば、同一のワード線WLに接続されたメモリセルから2ページ以上のデータを読み出す場合や、同一のワード線WLに接続されたメモリセルから複数ページのうちの1ページのデータを読み出す場合にも、上記実施形態を適用することが出来る。
例えば、同一のワード線WLに接続されたメモリセルから2ページ以上のデータを読み出す場合、又は同一のワード線WLに接続されたメモリセルから複数ページのうちの1ページのデータを読み出す場合、読み出したいページのデータを確定させるためには複数レベルの読み出し動作が必要になることがある。この場合、各レベルに対応するトラッキングリードが連続して実行された後に、これらのトラッキングリードにより得られた補正値を適用した各レベルに対応するシフトリードが連続して実行される。
このようにメモリセルが複数ビットの情報を記憶し、複数レベルの閾値分布に対応する読み出し電圧が使用される場合、読み出し電圧の補正値は各レベルに対応する読み出し電圧毎に算出され、シーケンサ17内のレジスタREGに保持される。
尚、上記実施形態において、トラッキングリードにおける補正値の算出方法について、オンセル数の差分を使用する場合を例に説明したが、これに限定されない。例えば、半導体記憶装置10がECC回路を備える場合、トラッキングリードにおいて最もエラービット数が少なくなった読み出し電圧を最適な読み出し電圧とすれば良い。この場合、最適な読み出し電圧としては、トラッキングリードで印加された読み出し電圧と異なる読み出し電圧となる場合も考えられる。
また、上記実施形態において、半導体記憶装置10がトラッキングリードにより得られた読み出し電圧の補正値を保存する先としてシーケンサ17内のレジスタREGが使用される場合を例に説明したが、これに限定されない。例えば、レジスタ15の領域に補正値を保持する領域を作成しても良く、半導体記憶装置10の内部であれば良い。
また、上記実施形態において、半導体記憶装置10が2回目以降のトラッキングリードにより得られた読み出し電圧の補正値は、以前に得られた補正値に対して上書きする場合を例に説明したが、これに限定されない。例えば、トラッキングリードにより得られた補正値を上書きするのでは無く、異なる場所に保持させるようにしても良い。この場合でも、以降のシフトリードで新しい方の補正値を参照するように設定すれば、上記実施形態で説明したような効果を得ることが出来る。
また、上記実施形態において、第1読み出し動作におけるトラッキングリード及びシフトリード間には電圧を印加していない期間が存在していたが、これに限定されない。例えば、トラッキングリードを実行した後に連続してシフトリードを実行しても良い。この場合、トラッキングリードにおいて読み出し電圧を印加した状態で最適な読み出し電圧の補正値が算出され、続けて算出された補正値を適用した読み出し電圧が印加される。
また、上記実施形態において、シフトリードに用いる読み出し電圧をトラッキングリードにより得られた補正値により設定する場合を例に説明したが、これに限定されない。例えば、トラッキングリードにより通常の読み出し電圧からの補正値を算出するのでは無く、最適な読み出し電圧値そのものを算出し、シーケンサ17内のレジスタREGに保持させるようにしても良い。この場合のシフトリードでは、レジスタREG内の最適な読み出し電圧をそのまま適用した読み出し動作が実行される。
また、上記実施形態において、トラッキングリードにより得られた補正値を適用した最適な読み出し電圧は、トラッキングリードで印加する複数の読み出し電圧の内のいずれかでなくても良い。例えば、図6に示す電圧Vtr1〜Vtr5のいずれかでなくても良く、これらの電圧の間の電圧を最適な読み出し電圧と指定するようにしても良い。
尚、第2〜第4実施形態において、読み出し動作の冒頭にトラッキングリードを含む第1読み出し動作を実行するのに第1コマンドセットCS1を使用した場合を例に説明したが、これに限定されない。例えば、読み出し動作の冒頭に半導体記憶装置10がコントローラ20から第3コマンドセットCS3を受信した際に、第1読み出し動作を実行するように設定しても良い。この場合、特殊コマンドを含むコマンドセットCS1を使用すること無く第2〜第4実施形態の動作を実現することが出来る。
また、第2〜第4実施形態において、第1読み出し動作を第3コマンドセットに基づいて実行し、且つ直近のトラッキングリード結果をフィードバックしたシフトリードである第2読み出し動作を第1コマンドセットに基づいて実行しても良い。この場合のコマンドシーケンス及び波形の一例が、図25に示されている。図25は、第2実施形態で説明した図9に対して、第1及び第2読み出し動作を指示するコマンドセットの種類が異なっている。尚、この動作は第3及び第4実施形態に対しても同様に適用することが出来る。
尚、第5及び第6実施形態において、書き込まれるデータが1ページに満たない場合、後の書き込み動作で当該ページの未書き込み領域からデータを書き込むことがある。このように、書き込まれたタイミングが異なるメモリセルを含むページに対するフラグ情報としては、ページの始めに書き込みを行ったタイミングのフラグ情報を付加しても良いし、ページの終わりに書き込みを行ったタイミングのフラグ情報を付加しても良い。
尚、上記実施形態において、最適な読み出し電圧の補正値を算出し、その補正値に基づいた読み出し動作を実行する第1読み出し動作がトラッキングリード及びシフトリードの組である場合を例に説明したが、これに限定されない。例えば、第1読み出し動作でトラッキングリードのみを実行し、このトラッキングリードの読み出し結果から最適なデータを抽出するようにしても良い。
この場合、例えばトラッキングリードで読み出された全てのデータはセンスアンプモジュール12に保持される。そしてシーケンサ17は、最適な読み出し電圧の補正値を算出した後にセンスアンプモジュール12を制御して、この補正値に基づいた読み出しデータ、又はそれに近い読み出しデータに該当するデータをラッチ回路XDLに転送させ、入出力回路14を介してコントローラ20に出力させる。このような動作を第1実施形態に適用した場合のコマンドシーケンス及び波形の一例が、図26に示されている。図26は、第1実施形態で説明した図9に対して、第1読み出し動作におけるシフトリードが省略されている点が異なっている。このような場合でも、直近トラッキングリードの結果をフィードバックしたシフトリードを実行することが出来る。尚、この動作は第2〜第6実施形態に対しても同様に適用することが出来る。
尚、上記実施形態において、第1〜第3読み出し動作で読み出されたデータがコントローラ20のエラー訂正にフェイルする場合がある(ECCエラー)。このようなECCエラーが発生した場合に、コントローラ20はこの読み出しデータに基づいて最適な読み出し電圧の補正値を計算し、データの読み出しを失敗した箇所に対してリトライリードを実行しても良い。以下に、第1実施形態で説明したメモリシステム1の動作でリトライリードが発生した場合の一例について図27及び図28を用いて説明する。図27及び図28にはそれぞれ、リトライリードの一例がフローチャート及びタイミングチャートで示されている。
図27に示すように、まずコントローラ20は第1コマンドセットCS1を発行して(ステップS110)、半導体記憶装置10に送信する。そして半導体記憶装置10は、コマンドセットCS1に応答して第1読み出し動作を実行する。具体的には、シーケンサ17はトラッキングリードを実行し(ステップS111)、トラッキングリードにより得られた補正値を保存し(ステップS112)、この補正値に基づいたシフトリードを実行する(ステップS113)。これらステップS110〜S113の動作は、第1実施形態で図8を用いて説明したステップS10〜S13と同様である。
コントローラ20は、ステップS113のシフトリードによって読み出されたデータDATを受信すると、エラー訂正処理を実行する。本例においてコントローラ20は、この読み出しデータのエラー訂正にフェイルしている(ステップS114)。このようにECCエラーが発生した場合、コントローラ20はステップS113のシフトリードによって読み出されたデータDATに基づいて最適な読み出し電圧を算出する(ステップS115)。そしてコントローラ20は、算出した最適な読み出し電圧を用いたリトライリードを指示する第6コマンドセットCS6を発行して(ステップS116)、半導体記憶装置10に送信する。
この第6コマンドセットCS6は、例えば図29に示すようなコマンドシーケンスである。具体的には、コマンドセットCS6は、図10で説明したコマンドセットCS1に対して、特殊コマンド“xxh”を特殊コマンド“zzh”に置き換えたものと同様である。コマンド“zzh”は、半導体記憶装置10にコントローラ20が指定した読み出し電圧を用いたシフトリードを命令するコマンドである。
このようなコマンドセットCS6(コマンドCMD及びアドレス情報ADD)を受信した半導体記憶装置10は、ステップS113と同じページに対してコントローラ20が算出した最適な読み出し電圧を用いたシフトリードを実行する(ステップS117)。つまり半導体記憶装置10は、ECCエラーが発生したページに対して、コントローラ20が算出した最適な読み出し電圧を用いたリトライリードを実行する。尚、この際に半導体記憶装置10がコントローラ20から受信した最適な読み出し電圧に対応する補正値が、シーケンサ17内のレジスタREGに保持される。
ステップS117のシフトリードによって読み出されたデータDATがコントローラ20に送信されると、コントローラ20は第2コマンドセットCS2を発行する。半導体記憶装置10は、コントローラ20から第2コマンドセットCS2を受信すると続くページに対して、ステップS117で使用された読み出し電圧を用いたシフトリードを実行する。つまりECCエラーが発生してリトライリードを行った場合に続く第2読み出し動作では、直近のリトライリードでコントローラ20が算出した読み出し電圧の補正値がフィードバックされる。
図28に示す波形は、以上で説明したステップS110〜S119の動作に対応している。図28に示す一例では、冒頭の第1読み出し動作で電圧Vcal1によるシフトリードが実行されている。続くリトライリードでは、コントローラ20が算出した最適な読み出し電圧Vcal2によるシフトリードが実行されている。そしてリトライリード後の第2読み出し動作では、リトライリードで使用された読み出し電圧をフィードバックしたシフトリードが実行されている。
以上のようにメモリシステム1は、リトライリードでコントローラ20が算出した最適な読み出し電圧を、続く第2読み出し動作に対して適用することも可能である。またコントローラ20はECCエラーが発生した場合に、シフトリードで読み出したデータに基づいて最適な読み出し電圧を算出することによって、最適値の計算に要する時間を短縮することが出来る。
尚、半導体記憶装置10が保持するコントローラ20の計算に基づいた補正値は、次に第1読み出し動作又はリトライリードが実行されると更新される。また、上記説明では、第1読み出し動作においてECCエラーが発生した場合を例に説明したが、これに限定されない。例えば、第2及び第3読み出し動作においてECCエラーが発生した場合にも、上述したようなリトライリードを実行することが出来る。
また、上記説明において、コントローラ20が半導体記憶装置10に対してリトライリードを指示する際に第6コマンドセットCS6を発行する場合を例に説明したが、これに限定されない。例えば、コントローラ20が半導体記憶装置10に対して、“Set feature”と呼ばれる半導体記憶装置10の動作モードを変更する動作や、“Parameter set”と呼ばれる半導体記憶装置10の各種パラメータを変更する動作を指示することによって、コントローラ20が算出した最適な読み出し電圧を半導体記憶装置10に適用しても良い。この場合コントローラ20、Set feature等で半導体記憶装置10の動作モード又はパラメータを変更した後に、その補正値を適用したシフトリードを指示するコマンドセット(例えば、コマンドセットCS2)が発行される。コントローラ20が半導体記憶装置10に対してSet featureを指示するコマンドシーケンスは、例えば図30に示すものとなる。
図30に示すように、まずコントローラ20は、例えばSet featureコマンド“EFh”を発行して、半導体記憶装置10に送信する。コマンド“EFh”は、半導体記憶装置10に対してパラメータの変更を命令するコマンドである。次にコントローラ20は、アドレス情報ADDを発行して、半導体記憶装置10に送信する。このアドレス情報ADDは、変更したいパラメータに対応するアドレスを指定するものである。次にコントローラ2は、複数サイクルに渡って設定データDinを半導体記憶装置10に出力する。ここで出力されたデータDinは、変更するパラメータに相当するデータである。
半導体記憶装置10はこれらのコマンド等を受信すると、Set featureを開始して、半導体記憶装置10の動作モードが変更される。本例ではSet featureによって、半導体記憶装置10が保持する読み出し電圧の補正値が、コントローラ20が算出した最適な読み出し電圧に基づいて変更される。また、図示するtSetはこのSet featureが行われている期間を示し、この期間において半導体記憶装置10はビジー状態となる。つまり、Set feature等で半導体記憶装置10の動作モード又はパラメータを変更した後に、その補正値を適用したシフトリードを指示するコマンドセットを発行する場合には、半導体記憶装置10がリトライリードを実行する前に一時的に半導体記憶装置10がビジー状態になる。
尚、Set featureによって設定される読み出し電圧の補正値は、半導体記憶装置10が算出した読み出し電圧の補正値と別に保持されてもよい。この場合半導体記憶装置10は、例えばコマンドセットCS6のようなコマンドシーケンスに基づいて、指定した補正値に対してさらにSet feature等で指定された補正値を適用したシフトリードを実行する。
尚、図27及び図28を用いて説明した動作は、第6コマンドセットCS6の代わりに図31に示すような第7コマンドセットCS7を使用しても良い。図31に示すようにコマンドセットCS7は、図29で説明したコマンドセットCS6に対して、特殊コマンド“zzh”の前に特殊コマンド“yyh”を発行したものと同様である。このようにメモリシステム1は、複数の特殊コマンドを同時に使用することも可能である。この場合、例えばコマンド“yyh”によってコントローラ20が指定した読み出し電圧によるシフトリードが指示され、コマンド“zzh”によってコマンド“yyh”が指定した読み出し電圧のレベルを基準として、さらにSet feature又はParameter setで指定した補正値が適用される。図31に示す各特殊コマンドの役割は本例に限定されず、例えばコマンド“yyh”がシフトリードを指示するコマンドに対応し、コマンド“zzh”がコマンド“yyh”に基づいて実行されるシフトリードにおいて使用されるパラメータ(補正値)に相当する場合も考えられる。
尚、上記実施形態においてコントローラ20が最適な読み出し電圧を算出する方法については、例えば“半導体記憶装置”という2016年6月28日に出願された米国特許出願15/195,560号に記載されている。この特許出願は、その全体が本願明細書において参照により援用されている。
尚、上記説明に用いた図9、図14、図16、図18、図21、図25、図26、及び図28に示された入出力信号I/Oには、コントローラ20から半導体記憶装置10に送信されるコマンドセットCSのみが示され、半導体記憶装置10からコントローラ20に送信される読み出しデータDATが省略されている。
また、上記説明において、図10、図11、図12、図29、及び図31に示されたコマンド“xxh”、“yyh”、及び“zzh”はあくまで一例であり、それぞれ任意の数字を割り当てることが可能である。
尚、上記説明において「読み出し電圧」とは、データを読み出す際に印加されている電圧に対応している。つまり、例えば図9に示す波形図では、トラッキングリード時に選択ワード線に対して印加される電圧が階段状に表現されているが、この電圧を連続的に増加させても良い。この場合、信号STBをアサートするタイミングを当該読み出し電圧が印加されているタイミングに合わせることにより、データが読み出される。
また、上記説明において「接続」とは電気的に接続していることを示し、直接接続される場合だけでなく、任意の素子を介して接続される場合も含んでいる。
尚、上記実施形態においてメモリセルアレイ11は、メモリセルトランジスタMTが半導体基板の上方に三次元に積層された構成であっても良い。このような構成については、例えば“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
また、上記実施形態において、ブロックBLKがデータの消去単位にならなくても良い。例えば他の消去動作は、“不揮発性半導体記憶装置”という2011年9月18日に出願された米国特許出願13/235,389号、“不揮発性半導体記憶装置”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
また、上記実施形態におけるトラッキングリードの詳細については、例えば“SEMICONDUCTOR MEMORY DEVICE WHICH STORES MULTIVALUED DATA”という2012年7月9日に出願された米国特許出願13/544,147に記載された方法を適用することが出来る。この特許出願の内容は、その全体が本願明細書において参照により援用されている。
尚、上記各実施形態において、
(1)読み出し動作では、“A”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0〜0.55Vの間である。これに限定されることなく、0.1〜0.24V、0.21〜0.31V、0.31〜0.4V、0.4〜0.5V、0.5〜0.55Vのいずれかの間にしてもよい。
“B”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5〜2.3Vの間である。これに限定されることなく、1.65〜1.8V、1.8〜1.95V、1.95〜2.1V、2.1〜2.3Vのいずれかの間にしてもよい。
“C”レベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0〜3.2V、3.2〜3.4V、3.4〜3.5V、3.5〜3.6V、3.6〜4.0Vのいずれかの間にしてもよい。
読み出し動作の時間(tRead)としては、例えば25〜38μs、38〜70μs、70〜80μsの間にしてもよい。
(2)書き込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書き込み動作では、プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7〜14.3Vの間である。これに限定されることなく、例えば13.7〜14.0V、14.0〜14.6Vのいずれかの間としてもよい。
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書き込み動作の時間(tProg)としては、例えば1700〜1800μs、1800〜1900μs、1900〜2000μsの間にしてもよい。
(3)消去動作では、半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12.0〜13.6Vの間である。この場合に限定されることなく、例えば13.6〜14.8V、14.8〜19.0V、19.0〜19.8V、19.8〜21.0Vの間であってもよい。
消去動作の時間(tErase)としては、例えば3000〜4000μs、4000〜5000μs、4000〜9000μsの間にしてもよい。
(4)メモリセルの構造は、半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、又はSiON等の絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはRu等の金属が添加されていてもよい。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と膜厚が3〜10nmの上層High−k膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜はHfO等が挙げられる。また、シリコン酸化膜の膜厚はHigh−k膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの材料を介して膜厚が30〜70nmの制御電極が形成されている。ここで材料はTaO等の金属酸化膜、TaN等の金属窒化膜である。制御電極にはW等を用いることができる。
また、メモリセル間にはエアギャップを形成することができる。
尚、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…メモリシステム、10…半導体記憶装置、11…メモリセルアレイ、12…センスアンプモジュール、13…ロウデコーダ、14…入出力回路、15…レジスタ、16…ロジック制御回路、17…シーケンサ、18…レディ/ビジー制御回路、19…電圧生成回路、20…コントローラ、21…プロセッサ、22…内蔵メモリ、23…ECC回路、24…NANDインターフェイス回路、25…バッファメモリ、26…ホストインターフェイス回路。

Claims (12)

  1. 各々が複数ビットデータを記憶することが可能な複数の第1及び第2メモリセルと、
    前記複数の第1メモリセルに接続された第1ワード線と、
    前記複数の第2メモリセルに接続された第2ワード線と、
    外部から受信した第1及び第2コマンドセットにそれぞれ応答して読み出し動作を実行する制御回路と、
    を備え、
    前記制御回路は、読み出し動作時において第1及び第2読み出しシーケンスを実行することが可能であり、前記第1読み出しシーケンスでは、第1ビットデータを読み出す場合には互いに異なる第1乃至第3電圧を用いてそれぞれデータを読み出し、第2ビットデータを読み出す場合には互いに異なる第4乃至第6電圧を用いてそれぞれデータを読み出し、前記第2読み出しシーケンスでは前記第1読み出しシーケンスの結果に基づいた電圧を用いてデータを読み出し、
    前記第1コマンドセットに基づく前記複数の第1メモリセルの読み出し動作では、前記第1及び第2読み出しシーケンスを連続して実行し、
    前記複数の第1メモリセルの読み出し動作に続く、前記第2コマンドセットに基づく前記複数の第2メモリセルの読み出し動作では、前記複数の第1メモリセルの読み出し動作における前記第1読み出しシーケンスの結果に基づいた電圧を用いて前記第2読み出しシーケンスを実行する
    半導体記憶装置。
  2. 複数の第3メモリセルと、
    前記複数の第3メモリセルに接続された第3ワード線と、
    をさらに備え、
    前記第1乃至第3メモリセルは、同じブロックに含まれ、
    前記制御回路は、前記複数の第2メモリセルの読み出し動作に続く、前記第2コマンドセットに基づく前記複数の第3メモリセルの読み出し動作では、前記第3ワード線が選択されたことに応答して前記第1及び第2読み出しシーケンスを連続して実行する
    請求項1に記載の半導体記憶装置。
  3. 複数の第3メモリセルと、
    前記複数の第3メモリセルに接続された第3ワード線と、
    をさらに備え、
    前記第1及び第2メモリセルは、同じブロックに含まれ、
    前記第1及び第2メモリセルの組と、前記第3メモリセルとは、異なるブロックに含まれ
    前記制御回路は、前記複数の第2メモリセルの読み出し動作に続く、前記第2コマンドセットに基づく前記複数の第3メモリセルの読み出し動作では、前記第3ワード線が選択されたことに応答して前記第1及び第2読み出しシーケンスを連続して実行する、
    請求項に記載の半導体記憶装置。
  4. 前記第1コマンドセットでは、アドレス情報の前に第1コマンドと第2コマンドとが続けて発行され、
    前記第2コマンドセットでは、アドレス情報の前に前記第2コマンドが発行される
    請求項1に記載の半導体記憶装置。
  5. 前記第2コマンドセットにおいて、前記第2コマンドの前に第3コマンドが発行される
    請求項4に記載の半導体記憶装置。
  6. 前記第1コマンドセットでは、アドレス情報の前に第1コマンドが発行され、
    前記第2コマンドセットでは、アドレス情報の前に第2コマンドと前記第1コマンドとが続けて発行される
    請求項1に記載の半導体記憶装置。
  7. 前記第1読み出しシーケンスの結果に基づいた電圧は、前記第1ビットデータを読み出す場合には前記第1乃至第3電圧のいずれかであり、前記第2ビットデータを読み出す場合には前記第4乃至第6電圧のいずれかである
    請求項1に記載の半導体記憶装置。
  8. 請求項1乃至請求項7のいずれかに記載の半導体記憶装置と、
    前記第1及び第2コマンドセットを発行可能なコントローラと、
    を備えるメモリシステム。
  9. 複数の第1及び第2メモリセルと、
    前記複数の第1メモリセルに接続された第1ワード線と、
    前記複数の第2メモリセルに接続された第2ワード線と、
    外部から受信した第1コマンドセットに応答して読み出し動作を実行する制御回路と、
    を備え、
    前記制御回路は、読み出し動作時において第1乃至第3読み出しシーケンスを実行することが可能であり、前記第1読み出しシーケンスでは第1電圧を用いてデータを読み出し、前記第2読み出しシーケンスでは互いに異なる第2乃至第4電圧を用いてそれぞれデータを読み出し、前記第3読み出しシーケンスでは前記第2読み出しシーケンスの結果に基づいた電圧を用いてデータを読み出し、
    前記複数の第1メモリセルの読み出し動作では、前記第1乃至第3読み出しシーケンスを連続して実行し、複数の第1メモリセルの読み出し動作における前記第1読み出しシーケンスにおいて第1フラグ情報を含むデータを読み出し、
    前記複数の第1メモリセルの読み出し動作に続く前記複数の第2メモリセルの読み出し動作では、前記第1読み出しシーケンスを実行して第2フラグ情報を含むデータを読み出し、前記第1フラグ情報と前記第2フラグ情報とが一致した場合に、前記第2読み出しシーケンスを実行せずに前記第3読み出しシーケンスを実行し、前記第1フラグ情報と前記第2フラグ情報とが一致しない場合に、前記第2及び第3読み出しシーケンスを連続して実行する、
    半導体記憶装置。
  10. 前記第1及び第2フラグ情報はそれぞれ、前記複数の第1及び第2メモリセルがそれぞれ保持するデータの冗長領域に記憶される
    請求項に記載の半導体記憶装置。
  11. 前記制御回路は、外部から受信した第2コマンドセットに応答して書き込み動作を実行することが可能であり、
    前記第1及び第2フラグ情報はそれぞれ、前記第2コマンドセットに基づく前記複数の第1及び第2メモリセルに対する書き込み動作で書き込まれ、
    前記第1及び第2フラグ情報は前記第2コマンドセットに含まれない、
    請求項10に記載の半導体記憶装置。
  12. 前記第2コマンドセットに応答して書き込み動作を実行可能な請求項に記載の半導体記憶装置と、
    前記第1及び第2コマンドセットを発行可能なコントローラと、
    を備え、
    前記第1及び第2フラグ情報はそれぞれ、前記第2コマンドセットに基づく前記複数の第1及び第2メモリセルの書き込み動作で書き込まれ、
    前記複数の第1メモリセルに対する書き込み動作において、前記半導体記憶装置が受信する前記第2コマンドセットには前記第1フラグ情報が含まれ、
    前記複数の第2メモリセルに対する書き込み動作において、前記半導体記憶装置が受信する前記第2コマンドセットには前記第2フラグ情報が含まれる
    請求項10に記載のメモリシステム。
JP2016161058A 2016-08-19 2016-08-19 半導体記憶装置及びメモリシステム Active JP6659494B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2016161058A JP6659494B2 (ja) 2016-08-19 2016-08-19 半導体記憶装置及びメモリシステム
TW106104800A TWI626651B (zh) 2016-08-19 2017-02-14 Semiconductor memory device and memory system
TW107108302A TWI709965B (zh) 2016-08-19 2017-02-14 半導體記憶裝置、記憶體系統、及執行讀取動作之方法
US15/442,683 US9859011B1 (en) 2016-08-19 2017-02-26 Semiconductor memory device and memory system
CN202110761095.9A CN113380297B (zh) 2016-08-19 2017-03-10 半导体存储装置、存储器系统及执行读取动作的方法
CN201710144254.4A CN107767914B (zh) 2016-08-19 2017-03-10 半导体存储装置及存储器系统
US15/822,581 US10163517B2 (en) 2016-08-19 2017-11-27 Semiconductor memory device and memory system configured to perform tracking read on first memory cells followed by shift read on second memory cells using read voltage correction value determined during the tracking read
US16/195,738 US10643715B2 (en) 2016-08-19 2018-11-19 Semiconductor memory device and memory system configured to perform tracking read on first memory cells followed by shift read on second memory cells using read voltage correction value determined during the tracking read

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016161058A JP6659494B2 (ja) 2016-08-19 2016-08-19 半導体記憶装置及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2018028956A JP2018028956A (ja) 2018-02-22
JP6659494B2 true JP6659494B2 (ja) 2020-03-04

Family

ID=60788783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016161058A Active JP6659494B2 (ja) 2016-08-19 2016-08-19 半導体記憶装置及びメモリシステム

Country Status (4)

Country Link
US (3) US9859011B1 (ja)
JP (1) JP6659494B2 (ja)
CN (2) CN107767914B (ja)
TW (2) TWI626651B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6659494B2 (ja) * 2016-08-19 2020-03-04 キオクシア株式会社 半導体記憶装置及びメモリシステム
CN110246533B (zh) * 2018-03-09 2020-11-13 建兴储存科技(广州)有限公司 固态储存装置的失败模式检测方法及错误更正方法
JP2020027674A (ja) * 2018-08-10 2020-02-20 キオクシア株式会社 半導体メモリ
JP7158965B2 (ja) 2018-09-14 2022-10-24 キオクシア株式会社 メモリシステム
JP7105911B2 (ja) * 2018-11-06 2022-07-25 キオクシア株式会社 半導体記憶装置
JP2020113351A (ja) * 2019-01-10 2020-07-27 キオクシア株式会社 メモリチップ
JP2020155174A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 メモリシステム
JP2021012752A (ja) * 2019-07-08 2021-02-04 キオクシア株式会社 半導体記憶装置
JP2021047695A (ja) 2019-09-19 2021-03-25 キオクシア株式会社 メモリシステム
DE102020100541A1 (de) * 2020-01-13 2021-07-15 Infineon Technologies Ag Bestimmung eines resultierenden datenworts beim zugriff auf einen speicher
JP2021149997A (ja) 2020-03-23 2021-09-27 キオクシア株式会社 メモリシステム
US11294819B2 (en) * 2020-03-31 2022-04-05 Western Digital Technologies, Inc. Command optimization through intelligent threshold detection

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182871A (ja) * 2003-12-17 2005-07-07 Toshiba Corp 不揮発性半導体記憶装置
US8019928B2 (en) * 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
JP4660353B2 (ja) 2005-11-01 2011-03-30 株式会社東芝 記憶媒体再生装置
KR100837282B1 (ko) * 2007-06-14 2008-06-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법
KR100888842B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
KR101515122B1 (ko) 2008-02-15 2015-04-27 삼성전자주식회사 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치
KR100938092B1 (ko) * 2008-03-10 2010-01-21 주식회사 하이닉스반도체 플래시 메모리 소자의 동작 방법
KR101486980B1 (ko) * 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
US8184476B2 (en) * 2008-12-26 2012-05-22 Everspin Technologies, Inc. Random access memory architecture including midpoint reference
JP2010192049A (ja) * 2009-02-19 2010-09-02 Toshiba Corp 半導体記憶装置
KR101578511B1 (ko) * 2009-05-20 2015-12-18 삼성전자주식회사 리드 전압 설정 방법
KR101626528B1 (ko) * 2009-06-19 2016-06-01 삼성전자주식회사 플래시 메모리 장치 및 이의 데이터 독출 방법
KR101727704B1 (ko) 2010-10-04 2017-04-18 삼성전자주식회사 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들
KR101784973B1 (ko) * 2010-11-11 2017-10-13 삼성전자주식회사 메모리 소자의 동작 전압 제공 방법 및 메모리 컨트롤러
US8681564B2 (en) * 2011-05-23 2014-03-25 Marvell World Trade Ltd. Systems and methods for generating soft information in NAND flash
KR20130034919A (ko) * 2011-09-29 2013-04-08 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
JP2013122793A (ja) * 2011-12-09 2013-06-20 Toshiba Corp 不揮発性半導体記憶装置
JP2013122804A (ja) 2011-12-12 2013-06-20 Toshiba Corp 半導体記憶装置
CN103366828B (zh) * 2012-04-10 2016-05-11 旺宏电子股份有限公司 存储器装置及其检测方法
US9645177B2 (en) 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
JP2014053061A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びそのコントローラ
US8879324B2 (en) * 2013-02-01 2014-11-04 Lsi Corporation Compensation loop for read voltage adaptation
US8995195B2 (en) * 2013-02-12 2015-03-31 Sandisk Technologies Inc. Fast-reading NAND flash memory
US20140269086A1 (en) * 2013-03-14 2014-09-18 Sandisk Technologies Inc. System and method of accessing memory of a data storage device
US9190159B2 (en) * 2013-03-15 2015-11-17 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2015056190A (ja) * 2013-09-11 2015-03-23 株式会社東芝 不揮発性半導体記憶装置
WO2015037088A1 (ja) 2013-09-11 2015-03-19 株式会社 東芝 半導体記憶装置およびメモリシステム
KR20150091684A (ko) * 2014-02-03 2015-08-12 에스케이하이닉스 주식회사 반도체 장치
US20150262693A1 (en) * 2014-03-13 2015-09-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
JP2015195070A (ja) 2014-03-31 2015-11-05 株式会社東芝 不揮発性半導体記憶装置
US20160012916A1 (en) * 2014-07-10 2016-01-14 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
US9640270B2 (en) * 2014-08-12 2017-05-02 Sandisk Technologies Llc System and method of using multiple read operations
JP2016054017A (ja) * 2014-09-04 2016-04-14 株式会社東芝 半導体記憶装置
US9251892B1 (en) * 2014-09-11 2016-02-02 Kabushiki Kaisha Toshiba Memory system and method of controlling nonvolatile memory
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
US9978456B2 (en) * 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9916237B2 (en) * 2014-12-12 2018-03-13 Sandisk Technologies Llc Model based configuration parameter management
US9792995B1 (en) * 2016-04-26 2017-10-17 Sandisk Technologies Llc Independent multi-plane read and low latency hybrid read
JP6659494B2 (ja) * 2016-08-19 2020-03-04 キオクシア株式会社 半導体記憶装置及びメモリシステム

Also Published As

Publication number Publication date
TWI709965B (zh) 2020-11-11
US10163517B2 (en) 2018-12-25
CN113380297B (zh) 2023-12-29
CN107767914B (zh) 2021-07-23
CN107767914A (zh) 2018-03-06
TWI626651B (zh) 2018-06-11
US10643715B2 (en) 2020-05-05
CN113380297A (zh) 2021-09-10
JP2018028956A (ja) 2018-02-22
TW201820335A (zh) 2018-06-01
US9859011B1 (en) 2018-01-02
US20180090212A1 (en) 2018-03-29
TW201807707A (zh) 2018-03-01
US20190115085A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
JP6659494B2 (ja) 半導体記憶装置及びメモリシステム
US11688458B2 (en) Semiconductor memory device and memory system
US11170857B2 (en) Semiconductor memory device that performs successive tracking reads during an operation to read one page
US11804267B2 (en) Memory system having semiconductor memory device that performs verify operations using various verify voltages
US10860251B2 (en) Semiconductor memory device
US10978165B2 (en) Memory system and non-volatile semiconductor memory
JP2017208152A (ja) 半導体記憶装置及びメモリシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180831

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200206

R150 Certificate of patent or registration of utility model

Ref document number: 6659494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150