(57)【要約】【課題】各種ばらつきに対する耐性を向上させた半導体メモリ装置を提供すること。【解決手段】一つの実施形態によれば、半導体メモリ装置は、複数の第２回路と、第５回路とを備える。複数の第１のメモリセルは、第２のメモリセルおよび第３のメモリセルを含む。複数の第２回路のそれぞれは、リードレベルの印加の際に、複数の第１のメモリセルのうちの自身が接続されたビット線に接続された第１のメモリセルがオン状態であるかオフ状態であるかを、ヒット線が接続された第１ノードの電圧の変化に応じて判定する。複数の第２回路は、第３回路と、第４回路と、を含む。第５回路は、リードレベルの印加の際に、第３回路の第１ノードである第２ノードと第４回路の第１ノードである第３ノードとを電気的に接続する導通状態にし、第３回路による判定結果と第４回路による判定結果とに基づいてリードレベルを更新する。【選択図】図１４
2020047326.tif 000002
【特許請求の範囲】
【請求項１】
ワード線と、
複数のビット線と、
前記ワード線に接続された複数の第１のメモリセルであって、第２のメモリセルおよび第３のメモリセルを含む前記複数の第１のメモリセルと、
リードオペレーションの際に、前記ワード線に第１のリードレベルを印加する第１回路と、
それぞれは前記複数のビット線のうちの１つに接続された第１ノードを備え、それぞれは、前記第１のリードレベルの印加の際に、前記複数の第１のメモリセルのうちの自身が接続されたビット線に接続された第１のメモリセルがオン状態であるかオフ状態であるかを前記第１ノードの電圧の変化に応じて判定する、複数の第２回路であって、前記複数のビット線のうちの１つである第１のビット線を介して前記第２のメモリセルが接続された第３回路と、前記複数のビット線のうちの１つである第２のビット線を介して前記第３のメモリセルが接続された第４回路と、を含む前記複数の第２回路と、
前記第１のリードレベルの印加の際に、前記第３回路の前記第１ノードである第２ノードと前記第４回路の前記第１ノードである第３ノードとを電気的に接続する導通状態にし、前記第３回路による判定結果と前記第４回路による判定結果とに基づいて前記第１のリードレベルを更新する第５回路と、
を備える半導体メモリ装置。
【請求項２】
前記複数の第１のメモリセルのそれぞれのしきい値電圧は、プログラムオペレーションによって、複数ビットのそれぞれ異なる値に対応した複数のステートのうちの何れか１つに設定され、
前記第２のメモリセルのしきい値電圧は、前記複数のステートのうちの第１のステートに設定され、
前記第３のメモリセルのしきい値電圧は、前記複数のステートのうちの前記第１のステートに隣接する第２のステートに設定され、
前記第１のリードレベルは、それぞれが前記複数のステートのうちの隣接した２つのステートの境界に対応した複数の第２のリードレベルのうちの１つであり、前記第１のステートと前記第２のステートとの境界に対応する、
請求項１に記載の半導体メモリ装置。
【請求項３】
前記第２ノードと前記第３ノードとは、スイッチ素子を介して接続され、
前記第５回路は、前記スイッチ素子をオンすることによって前記第２ノードと前記第３ノードとを導通状態にする、
請求項２に記載の半導体メモリ装置。
【請求項４】
前記第５回路は、前記プログラムオペレーションの際には前記スイッチ素子をオフする、
請求項３に記載の半導体メモリ装置。
【請求項５】
前記リードオペレーションおよび前記プログラムオペレーションの動作を制御する第６回路をさらに備え、
前記第６回路は、外部からのプログラムコマンドに応じて前記プログラムオペレーションを開始し、前記プログラムオペレーションの後、前記外部からのリードコマンドに依らずに前記リードオペレーションを開始する、
請求項２に記載の半導体メモリ装置。
【請求項６】
前記第６回路は、前記外部からのリードコマンドに依らない前記リードオペレーションの後、前記外部からの前記リードコマンドに応じて前記リードオペレーションを開始することができる、
請求項５に記載の半導体メモリ装置。
【請求項７】
前記第５回路は、前記第３回路による判定結果と前記第４回路による判定結果とに基づいて前記複数の第２のリードレベルのうちの前記第１のリードレベルと異なる第３のリードレベルを更新する、
請求項２に記載の半導体メモリ装置。
【請求項８】
前記第５回路は、
オフ状態を示す判定結果の数である第１の数がオン状態を示す判定結果の数である第２の数よりも多い場合、前記第１のリードレベルを現在の設定値である第１の値から前記第１の値よりも大きい第２の値に変更し、
前記第１の数が前記第２の数よりも少ない場合、前記第１のリードレベルを前記第１の値から前記第１の値よりも小さい第３の値に変更する、
請求項１に記載の半導体メモリ装置。
【請求項９】
半導体メモリ装置と、
前記半導体メモリ装置にリードコマンドを送るメモリコントローラ回路と、
を備え、
前記半導体メモリ装置は、
前記リードコマンドに応じてリードオペレーションを実行し、
ワード線と、
複数のビット線と、
前記ワード線に接続された複数の第１のメモリセルであって、第２のメモリセルおよび第３のメモリセルを含む前記複数の第１のメモリセルと、
前記リードオペレーションの際に、前記ワード線に第１のリードレベルを印加する第１回路と、
それぞれは前記複数のビット線のうちの１つに接続された第１ノードを備え、それぞれは、前記第１のリードレベルの印加の際に、前記複数の第１のメモリセルのうちの自身が接続されたビット線に接続された第１のメモリセルがオン状態であるかオフ状態であるかを前記第１ノードの電圧の変化に応じて判定する、複数の第２回路であって、前記複数のビット線のうちの１つである第１のビット線を介して前記第２のメモリセルが接続された第３回路と、前記複数のビット線のうちの１つである第２のビット線を介して前記第３のメモリセルが接続された第４回路と、を含む前記複数の第２回路と、
前記第１のリードレベルの印加の際に、前記第３回路の前記第１ノードである第２ノードと前記第４回路の前記第１ノードである第３ノードとを電気的に接続する導通状態にし、前記第３回路による判定結果と前記第４回路による判定結果とに基づいて前記第１のリードレベルを更新する第５回路と、
を備える、
メモリシステム。
【請求項１０】
ワード線と、
複数のビット線と、
前記ワード線に接続された複数の第１のメモリセルであって、第２のメモリセルおよび第３のメモリセルを含む前記複数の第１のメモリセルと、
それぞれは前記複数のビット線のうちの１つに接続された第１ノードを備え、それぞれは、前記複数の第１のメモリセルのうちの自身が接続されたビット線に接続された第１のメモリセルがオン状態であるかオフ状態であるかを前記第１ノードの電圧の変化に応じて判定する、複数の第１回路であって、前記複数のビット線のうちの１つである第１のビット線を介して前記第２のメモリセルが接続された第２回路と、前記複数のビット線のうちの１つである第２のビット線を介して前記第３のメモリセルが接続された第３回路と、を含む前記複数の第１回路と、
を備えた半導体メモリ装置を制御する方法であって、
リードオペレーションの際に、前記ワード線に第１のリードレベルを印加することと、
前記第１のリードレベルの印加の際に、前記第２回路の前記第１ノードである第２ノードと前記第３回路の前記第１ノードである第３ノードとを電気的に接続する導通状態にすることと、
前記第２回路による判定結果と前記第３回路による判定結果とに基づいて前記第１のリードレベルを更新することと、
を備えた方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、半導体メモリ装置、メモリシステム、および方法に関する。
【背景技術】
【０００２】
メモリセルトランジスタ（メモリセル）を有する半導体メモリ装置が知られている。メモリセルのしきい値電圧は、複数のステートのうちのデータに対応したステートに設定される。
【０００３】
リードの際には、メモリセルの制御ゲートに判定電圧（リードレベル）が印加され、センスアンプにおいて、メモリセルのソース・ドレイン間の電流が流れるか否かが判定される。そして判定結果に基づいて、メモリセルのしきい値電圧が属するステートが特定される。
【０００４】
しかしながら、メモリセルやセンスアンプの製造ばらつき、センスアンプに供給される電圧のばらつき、または環境温度のばらつき、などに応じて、ステートの誤判定が発生する可能性がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１６５４００号公報
【特許文献２】特開２０１７−２１８７７号公報
【特許文献３】特開２００５−１９６８７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一つの実施形態は、各種ばらつきに対する耐性を向上させた半導体メモリ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、半導体メモリ装置は、ワード線と、複数のビット線と、複数の第１のメモリセルと、第１回路と、複数の第２回路と、第５回路とを備える。前記複数の第１のメモリセルは、複数のワード線に接続され、第２のメモリセルおよび第３のメモリセルを含む。第１回路は、リードオペレーションの際に、ワード線に第１のリードレベルを印加する。複数の第２回路のそれぞれは、複数のビット線のうちの１つに接続された第１ノードを備える。また、複数の第２回路のそれぞれは、第１のリードレベルの印加の際に、複数の第１のメモリセルのうちの自身が接続されたビット線に接続された第１のメモリセルがオン状態であるかオフ状態であるかを第１ノードの電圧の変化に応じて判定する。複数の第２回路は、複数のビット線のうちの１つである第１のビット線を介して第２のメモリセルが接続された第３回路と、複数のビット線のうちの１つである第２のビット線を介して第３のメモリセルが接続された第４回路と、を含む。第５回路は、第１のリードレベルの印加の際に、第３回路の第１ノードである第２ノードと第４回路の第１ノードである第３ノードとを電気的に接続する導通状態にし、第３回路による判定結果と第４回路による判定結果とに基づいて第１のリードレベルを更新する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のメモリシステムの構成例を示す図である。
【図２】図２は、実施形態の１つのメモリチップの構成例を示す図である。
【図３】図３は、実施形態のメモリセルアレイに含まれる１個のブロックの構成例を示す回路図である。
【図４】図４は、ＭＬＣが採用された場合の実施形態のメモリセルの取り得るしきい値電圧の一例を示す図である。
【図５】図５は、メモリセルＭＴｓｅｌのステートを特定するための実施形態の構成の一例を説明するための図である。
【図６】図６は、実施形態のセンスアンプ回路における電圧ＶＳＯの実際の変化を示す例示的かつ模式的な図である。
【図７】図７は、実施形態の参照用のセンスアンプ回路の構成の一例を示す図である。
【図８】図８は、実施形態のリードレベルＶＲ２が高電圧側のローブに寄った様子を示す図である。
【図９】図９は、リードレベルＶＲ２が高電圧側のローブに寄っている場合の実施形態のセンスアンプ回路の電圧ＶＳＯの推移を説明するための図である。
【図１０】図１０は、キャリブレーション後の実施形態のセンスアンプ回路の電圧ＶＳＯの推移を説明するための図である。
【図１１】図１１は、実施形態の第２のセンスアンプ回路および参照用のデータが格納されるメモリセルＭＴ（ＮＡＮＤストリングＮＳ）の配置の一例を示す図である。
【図１２】図１２は、実施形態のメモリチップがプログラムコマンドを処理する一連の手順の例を説明するフローチャートである。
【図１３】図１３は、実施形態のメモリチップがリードコマンドを処理する一連の手順の例を説明するフローチャートである。
【図１４】図１４は、実施形態のリードオペレーションの手順の例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、実施形態にかかる半導体メモリ装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１０】
（実施形態）
図１は、実施形態のメモリシステムの構成例を示す図である。メモリシステム１は、ホスト（Host）２と所定の通信インタフェースで接続される。ホスト２は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバなどが該当する。メモリシステム１は、ホスト２からアクセス要求（リード要求およびライト要求）を受け付けることができる。
【００１１】
メモリシステム１は、ＮＡＮＤ型のフラッシュメモリ（ＮＡＮＤメモリ）１０と、メモリコントローラ２０と、を備えている。
【００１２】
メモリコントローラ２０は、ホスト２から受信したアクセス要求に応じて、または自律的に、ＮＡＮＤメモリ１０に対して各種コマンドを送信することができる。メモリコントローラ２０は、例えば、データを書き込むためのプログラムコマンドや、データを読み出すためのリードコマンドをＮＡＮＤメモリ１０に送信することができる。
【００１３】
なお、メモリコントローラ２０は、ファームウェアプログラムを実行するプロセッサを備え得る。メモリコントローラ２０の機能は、プロセッサがファームウェアプログラムを実行することによって実現され得る。
【００１４】
または、メモリコントローラ２０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェア回路を備え、ハードウェア回路によってメモリコントローラ２０の機能が実現されてもよい。または、メモリコントローラ２０の機能は、プロセッサとハードウェア回路との協働によって実現されてもよい。つまり、メモリコントローラ２０は、半導体によって構成される装置（回路）である。
【００１５】
また、メモリコントローラ２０は、ＳｏＣ（System-on-a-Chip）として構成されてもよいし、複数のチップによって構成されてもよい。
【００１６】
ＮＡＮＤメモリ１０は、１以上のメモリチップ（Chip）１１を含む。ここでは一例として、ＮＡＮＤメモリ１０は４つのメモリチップ１１を含む。メモリチップ１１は、半導体メモリ装置の一例である。
【００１７】
図２は、実施形態の１つのメモリチップ１１の構成例を示す図である。
【００１８】
ＮＡＮＤメモリ１０は、Ｉ／Ｏ信号処理回路１０１、制御信号処理回路１０２、制御回路１０３、コマンドレジスタ１０４、アドレスレジスタ１０５、データレジスタ１０６、メモリセルアレイ１０７、カラムデコーダ１０８、センスアンプブロック１０９、ロウデコーダ１１０、メモリドライバ１１１、電圧生成回路１１２、およびキャリブレーション回路１１３を備えている。
【００１９】
なお、ロウデコーダ１１０は、第１回路の一例である。キャリブレーション回路１１３は、第５回路の一例である。制御回路１０３は、第６回路の一例である。
【００２０】
メモリセルアレイ１０７は、複数のビット線と複数のワード線とを備えている。メモリセルアレイ１０７は、複数のメモリセルトランジスタＭＴを備え、各メモリセルトランジスタＭＴは、ビット線とワード線との交点に電気的に接続されている。
【００２１】
メモリセルアレイ１０７は、それぞれが複数のメモリセルトランジスタＭＴによって構成される複数のブロックを備えている。ブロックを構成する複数のメモリセルトランジスタＭＴに格納されたデータは、一括して消去される。
【００２２】
図３は、実施形態のメモリセルアレイ１０７に含まれる１個のブロックの構成例を示す回路図である。図示するように、各ブロックは、Ｘ方向に沿って順に配列された（ｐ＋１）個のＮＡＮＤストリングＮＳを備えている（ｐ≧０）。（ｐ＋１）個のＮＡＮＤストリングＮＳにそれぞれ含まれる選択トランジスタＳＴ１は、ドレインがビット線ＢＬ０〜ＢＬｐに接続され、ゲートが選択ゲート線ＳＧＤに共通接続されている。また、選択トランジスタＳＴ２は、ソースがソース線ＳＬに共通接続され、ゲートが選択ゲート線ＳＧＳに共通接続されている。
【００２３】
センスアンプブロック１０９は、（ｐ＋１）本のビット線ＢＬ０〜ＢＬｐに対応して、（ｐ＋１）個のセンスアンプ回路１２０を備える。各センスアンプ回路１２０は、対応するビット線ＢＬに接続されている。
【００２４】
なお、センスアンプ回路１２０は、第２回路の一例である。
【００２５】
各メモリセルトランジスタＭＴは、半導体基板上に形成された積層ゲート構造を備えたＭＯＳＦＥＴ（Metal  Oxide  Semiconductor  Field  Effect  Transistor）から構成される。積層ゲート構造は、半導体基板上にトンネル酸化膜を介在して形成されたフローティングゲート、及びフローティングゲート上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。フローティングゲートに蓄えられる電子の数に応じてしきい値電圧が変化する。メモリセルトランジスタＭＴは、しきい値電圧の違いに応じてデータを記憶する。即ち、メモリセルトランジスタＭＴは、フローティングゲートに、データに応じた量の電荷を保持する。
【００２６】
各ＮＡＮＤストリングＮＳにおいて、（ｑ＋１）個のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている（ｑ≧０）。そして、最もドレイン側に位置するメモリセルトランジスタＭＴから順に、制御ゲート電極がワード線ＷＬ０〜ＷＬｑにそれぞれ接続されている。従って、ワード線ＷＬ０に接続されたメモリセルトランジスタＭＴのドレインは選択トランジスタＳＴ１のソースに接続され、ワード線ＷＬｑに接続されたメモリセルトランジスタＭＴのソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２７】
ワード線ＷＬ０〜ＷＬｑは、ブロック内の全てのＮＡＮＤストリングＮＳ間で、メモリセルトランジスタＭＴの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、同一のワード線ＷＬに接続される。同一のワード線ＷＬに接続される（ｐ＋１）個のメモリセルトランジスタＭＴに対し、一括してデータのプログラムおよびデータのリードを行うことが可能である。各メモリセルＭＴに１ビットの値を保持可能に構成される場合には、同一のワード線ＷＬに接続される（ｐ＋１）個のメモリセルＭＴは１ページとして取り扱われ、このページごとにデータのプログラムおよびデータのリードが行われる。
【００２８】
なお、メモリセルアレイ１０７に対してデータのプログラムを実行するオペレーションを、プログラムオペレーションと表記する。メモリセルアレイ１０７に対してデータのリードを実行するオペレーションを、リードオペレーションと表記する。つまり、プログラムオペレーションおよびリードオペレーションは、ワード線ＷＬ単位で実行され得る。なお、リードオペレーションは、センス、とも称され得る。
【００２９】
実施形態では、各メモリセルトランジスタＭＴは、複数ビットの値を格納可能することができる。各メモリセルトランジスタＭＴが複数ビットの値を格納する方式の一例として、各メモリセルトランジスタＭＴが２ビットの値を格納する方式について説明する。なお、以降では、メモリセルトランジスタＭＴを、単に、メモリセルＭＴと表記する。
【００３０】
各メモリセルＭＴが２ビットの値を格納する方式は、ＭＬＣ（Multi  Level  Cell）として知られている。図４は、ＭＬＣが採用された場合の実施形態のメモリセルの取り得るしきい値電圧の一例を示す図である。縦軸は、メモリセルの数を示しており、横軸は、しきい値電圧を示している。
【００３１】
図４に示されるように、しきい値電圧の取り得る範囲は、４つの範囲に区分される。この４つの範囲を、しきい値電圧が低いほうから順に、ステート＃０、ステート＃１、ステート＃２、およびステート＃３と表記することにする。各メモリセルのしきい値電圧は、プログラムオペレーションによって、ステート＃０、ステート＃１、ステート＃２、およびステート＃３の何れかに属するように、制御される。その結果、しきい値電圧を横軸としてメモリセルの数を縦軸にプロットした場合、メモリセルは、本図に示されるように、それぞれ異なるステートに属する４つのローブを形成する。
【００３２】
各ステートは、２ビットのデータ値“１１”、“１０”、“００”、および“０１”のうちの何れかと、１対１に予め対応付けられている。これによって、各メモリセルは、２ビットのデータを保持することができる。
【００３３】
なお、ステート＃０に対応付けられたデータをＤ０、ステート＃１に対応付けられたデータをＤ１、ステート＃２に対応付けられたデータをＤ２、ステート＃３に対応付けられたデータをＤ３と表記する。つまり、Ｄ０、Ｄ１、Ｄ２、およびＤ３のそれぞれは、“１１”、“１０”、“００”、および“０１”のうちの何れかである。
【００３４】
また、ステート＃０に対応したローブをローブ２００−０、ステート＃１に対応したローブをローブ２００−１、ステート＃２に対応したローブをローブ２００−２、ステート＃３に対応したローブをローブ２００−３と表記する。
【００３５】
ステートの境界には、リードレベルが設定される。ステート＃０とステート＃１との境界に設定されるリードレベルをＶＲ１と表記する。ステート＃１とステート＃２との境界に設定されるリードレベルをＶＲ２と表記する。ステート＃２とステート＃３との境界に設定されるリードレベルをＶＲ３と表記する。
【００３６】
リードオペレーションにおいては、リード対象のメモリセルＭＴのしきい値電圧が、いくつかのリードレベルと比較され、比較の結果に基づいてリード対象のメモリセルＭＴのしきい値電圧が属するステートが特定される。比較に使用されるリードレベルの数は、特定の数に制限されない。例えば、３つのリードレベル、つまり全てのリードレベル、が使用されてもよい。または、ステートの特定方法を工夫することによって、１つまたは２つのリードレベルが使用されてもよい。特定されたステートは、対応するデータにデコードされる。
【００３７】
なお、ステート＃０は、イレースされたステートに対応する。即ち、ステート＃１、ステート＃２、およびステート＃３のメモリセルＭＴは、イレースオペレーションによって、ステート＃０に遷移せしめられる。イレースオペレーションは、ブロック単位で実行され得る。
【００３８】
各オペレーションについては、後ほど説明する。なお、以降では、しきい値電圧がステート＃Ｘに設定されたメモリセルＭＴを、簡略的に、ステート＃ＸのメモリセルＭＴ、と表記する場合がある。また、メモリセルＭＴのしきい値電圧に設定されたステートを、メモリセルＭＴのステート、と表記する場合がある。
【００３９】
図２に説明を戻す。
メモリチップ１１は、メモリコントローラ２０と所定の通信路で接続される。通信路は、Ｉ／Ｏ信号線および制御信号線を含む、配線群を含んで構成される。Ｉ／Ｏ信号線は、例えば、データ、アドレス、またはコマンドを送受信するための信号線である。アドレスは、メモリセルアレイ１０７内のアクセス先の位置を示す情報である。
【００４０】
コマンドは、プログラムコマンド、リードコマンド、およびイレースコマンドなどを含む。制御信号線は、例えば、ＣＥ（チップイネーブル）信号、ＲＥ（リードイネーブル）信号、ＷＥ（ライトイネーブル）信号、ＡＬＥ（アドレスラッチイネーブル）信号、ＣＬＥ（コマンドラッチイネーブル）信号、等を送受信するための信号線である。
【００４１】
Ｉ／Ｏ信号処理回路１０１は、メモリコントローラ２０との間でＩ／Ｏ信号を送受信するためのバッファ回路を含む。Ｉ／Ｏ信号処理回路１０１は、Ｉ／Ｏ信号線を介して、メモリコントローラ２０からのコマンド、アドレス、およびデータを取り込むことができる。Ｉ／Ｏ信号処理回路１０１は、コマンドをコマンドレジスタ１０４に格納し、アドレスをアドレスレジスタ１０５に格納し、データをデータレジスタ１０６に格納する。
【００４２】
制御信号処理回路１０２は、各種制御信号の入力を受け付け、受け付けた制御信号に基づいて、Ｉ／Ｏ信号処理回路１０１が受け付けたＩ／Ｏ信号の格納先のレジスタの振り分けを実行する。
【００４３】
アドレスレジスタ１０５に格納されるアドレスは、ロウアドレスおよびカラムアドレスを含んでいる。ロウアドレスはロウデコーダ１１０、カラムアドレスはカラムデコーダ１０８にそれぞれ読み出される。
【００４４】
メモリドライバ１１１は、メモリセルアレイ１０７に対するアクセス（リードオペレーション、プログラムオペレーション、イレースオペレーション）に必要な各種電圧を、ロウデコーダ１１０、カラムデコーダ１０８、およびセンスアンプブロック１０９に供給する回路である。
【００４５】
電圧生成回路１１２は、外部から接地電圧Ｖｓｓ、電源電圧Ｖｄｄが供給される。電圧生成回路１１２は、これらの電圧と制御回路１０３からの指令とに基づいて、リードレベルを含む各種の内部電圧を生成し、生成した各種の内部電圧をメモリドライバ１１１に供給する。
【００４６】
制御回路１０３は、制御信号処理回路１０２を介して受信する各種制御信号に基づいて状態遷移する回路であって、リードオペレーションの動作やライトオペレーションの動作を含むメモリチップ１１全体の動作を制御する。例えば、制御回路１０３は、メモリドライバ１１１、ロウデコーダ１１０、カラムデコーダ１０８、センスアンプブロック１０９、および電圧生成回路１１２に、各種の内部電圧や動作タイミング等を制御するための指令を出すことで、メモリセルアレイ１０７に対するアクセスを実現する。
【００４７】
例えばプログラムオペレーションにおいては、ロウデコーダ１１０は、ロウアドレスに基づき、ワード線ＷＬを選択する。カラムデコーダ１０８は、カラムアドレスに基づき、ビット線ＢＬを選択する。ロウデコーダ１１０によって選択されたワード線ＷＬ（ワード線ＷＬｓｅｌと表記する）と、カラムデコーダ１０８によって選択されたビット線ＢＬ（ビット線ＢＬｓｅｌと表記する）と、の交点に位置するメモリセルＭＴ（メモリセルＭＴｓｅｌと表記する）の制御ゲートには、ロウデコーダ１１０を介してプログラミングパルスが印加される。プログラミングパルスの印加によって、メモリセルＭＴｓｅｌのしきい値電圧は、データレジスタ１０６に格納されたデータに応じたステートに設定される。
【００４８】
リードオペレーションにおいては、プログラムオペレーションと同様に、ロウアドレスおよびカラムアドレスに基づいてワード線ＷＬｓｅｌおよびビット線ＢＬｓｅｌが選択される。そして、センスアンプブロック１０９とロウデコーダ１１０とは、協働して、ワード線ＷＬｓｅｌとビット線ＢＬｓｅｌとの交点に位置するメモリセルＭＴｓｅｌのステートを特定し、特定されたステートに対応したデータをデータレジスタ１０６に格納する。データレジスタ１０６に格納されたデータは、データ線を通してＩ／Ｏ信号処理回路１０１に送られ、Ｉ／Ｏ信号処理回路１０１からメモリコントローラ２０へ転送される。
【００４９】
メモリセルＭＴｓｅｌのステートは、例えば、メモリセルＭＴｓｅｌの制御ゲートにステート間の境界に対応したリードレベルの電圧を印加してメモリセルＭＴｓｅｌの挙動を観察することによって特定される。
【００５０】
図５は、メモリセルＭＴｓｅｌのステートを特定するための実施形態の構成の一例を説明するための図である。ここでは一例として、ビット線ＢＬｍ（ｍは０からｐまでの整数）に接続されたメモリセルＭＴｓｅｌについて、しきい値電圧がリードレベルＶＲｘ（ｘは１、２、または３）より高いステートに設定されているかまたはしきい値電圧がリードレベルＶＲｉより低いステートに設定されているかを判定するための構成を説明する。
【００５１】
センスアンプ回路１２０は、トランジスタＴ１、Ｔ２と、ラッチ１２１とを備える。トランジスタＴ２は、ソースおよびドレインの何れか一方がビット線ＢＬｍに接続され、他方がノードＳＯに接続される。トランジスタＴ１は、ソースおよびドレインの何れか一方がノードＳＯに接続され、他方が電源電圧Ｖｄｄに接続される。ノードＳＯには、ラッチ１２１が接続される。
【００５２】
メモリセルＭＴｓｅｌのステートを特定する際には、センスアンプ回路１２０は、トランジスタＴ２のゲートに電圧ＶＢＬＣを印加し、トランジスタＴ１のゲートに電圧ＶＰＲＥを印加する。ただし、ＶＰＲＥ≧ＶＢＬＣである。トランジスタＴ２によってビット線ＢＬｍの電圧が所定電圧（プリチャージ電圧）にクランプされ、ビット線ＢＬｍは、プリチャージされた状態となる。
【００５３】
ロウデコーダ１１０は、ビット線ＢＬｍに接続された、メモリセルＭＴｓｅｌを除く全てのメモリセルＭＴの制御ゲートに電圧ＶＲＥＡＤを印加することによって、各メモリセルＭＴをしきい値電圧にかかわらずオン状態とする（不図示）。そして、ロウデコーダ１１０は、メモリセルＭＴｓｅｌのゲートにリードレベルＶＲｉを印加する。なお、電圧ＶＲＥＡＤの値は、何れのリードレベルＶＲｉよりも大きい。
【００５４】
メモリセルＭＴｓｅｌのしきい値電圧がリードレベルＶＲｉよりも低く、それによってメモリセルＭＴｓｅｌがオン状態にある場合、ＮＡＮＤストリングＮＳは導通状態となるので、ＮＡＮＤストリングＮＳにはセル電流が流れる。よって、理想的には、ノードＳＯの電圧ＶＳＯは急激に低下する。
【００５５】
これに対し、メモリセルＭＴｓｅｌのしきい値電圧がリードレベルＶＲｉよりも高く、それによってメモリセルＭＴｓｅｌがオフ状態にある場合、ＮＡＮＤストリングＮＳは非導通状態となるので、ＮＡＮＤストリングＮＳにはセル電流が流れない。よって、電圧ＶＳＯは、理想的には、プリチャージ電圧に維持され、それによって、ノードＳＯの電圧ＶＳＯは高い値に維持される。
【００５６】
ラッチ１２１は、所定のタイミングで電圧ＶＳＯと所定の電圧ＶＬＡＴＣＨとを比較する。電圧ＶＳＯが電圧ＶＬＡＴＣＨよりも高い場合には、ラッチ１２１は、ＮＡＮＤストリングＮＳにはセル電流が流れなかったと見なして、メモリセルＭＴｓｅｌがオフ状態であると決定する。ラッチ１２１は、メモリセルＭＴｓｅｌがオフ状態である旨を示す値を取得する。
【００５７】
一方、電圧ＶＳＯが電圧ＶＬＡＴＣＨよりも低い場合には、ラッチ１２１は、ＮＡＮＤストリングＮＳにはセル電流が流れたと見なして、メモリセルＭＴｓｅｌがオン状態であると決定する。ラッチ１２１は、メモリセルＭＴｓｅｌがオン状態である旨を示す値を取得する。
【００５８】
このように、ラッチ１２１は、電圧ＶＳＯの変化に基づいてメモリセルＭＴｓｅｌがオン状態であるかオフ状態であるかを判定する。
【００５９】
メモリセルＭＴｓｅｌがオン状態であることは、メモリセルＭＴｓｅｌはリードレベルＶＲｉに比べて低電圧側のステートにあることを意味する。メモリセルＭＴｓｅｌがオフ状態であることは、メモリセルＭＴｓｅｌはリードレベルＶＲｉに比べて高電圧側のステートにあることを意味する。
【００６０】
上記の判定は、リードレベルを変化させながら１回以上実行される。各判定によってラッチ１２１が取得した値は、センスアンプ回路１２０内の所定のレジスタ（不図示）に記憶される。センスアンプ回路１２０は、リードレベル毎の判定の結果に基づいて、メモリセルＭＴｓｅｌに格納されたデータを判定する。そして、センスアンプ回路１２０は、判定されたデータをデータレジスタ１０６に格納する。
【００６１】
以上では、電圧ＶＳＯが理想的に変化する場合について説明した。現実的には、メモリセルＭＴｓｅｌがオフ状態であっても、電圧ＶＳＯは、時間の経過に応じて低下し得る。また、メモリセルＭＴｓｅｌがオン状態であっても、電圧ＶＳＯが急激には低下しない場合がある。
【００６２】
図６は、実施形態のセンスアンプ回路１２０における電圧ＶＳＯの実際の変化を示す例示的かつ模式的な図である。本図において、縦軸は電圧ＶＳＯの値を示しており、横軸は時間を示している。時刻ｔ１は、センスアンプ回路１２０の動作開始のタイミングを示しており、時刻ｔ２は、ラッチ１２１が値を取得するタイミングを示している。
【００６３】
例えばリードレベルＶＲｉがＶＲ２であり、メモリセルＭＴｓｅｌがステート＃２にある場合、メモリセルＭＴｓｅｌはオフ状態になるはずである。しかしながら、メモリセルＭＴは、例えオフ状態であっても、リーク電流が流れる。そして、リーク電流の電流値は、しきい値電圧とリードレベルとの差が小さいほど大きくなる。
【００６４】
一方、図４を用いて説明したように、ステート毎のしきい値電圧の分布は、ローブの形状を有している。つまり、同じステートの複数のメモリセルＭＴのうちでも、しきい値電圧がばらついている。例えば、ステート＃２の複数のメモリセルＭＴのうちでも、しきい値電圧がリードレベルＶＲ２に近いメモリセルＭＴの場合、しきい値電圧がリードレベルＶＲ２から遠いメモリセルＭＴに比べて、電流のリーク量が大きくなる。
【００６５】
したがって、図６に示されるように、メモリセルＭＴｓｅｌがオフ状態である場合、電圧ＶＳＯの低下の速度は、メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差分の大きさに応じて例えば直線１０００，１００１，１００２のようにばらつく。メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差分が十分に大きい場合には、時間が経過しても電圧ＶＳＯはほとんど低下しない（例えば直線１０００）。これに対して、メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差分が小さい場合には、時間経過に伴って電圧ＶＳＯが早く低下する（例えば直線１００２）。
【００６６】
また、例えばリードレベルＶＲｉがＶＲ２であり、メモリセルＭＴｓｅｌのステート＃１にある場合、メモリセルＭＴｓｅｌはオン状態になるはずである。しかしながら、トランジスタは、オン状態においては、ゲートとソースとの電圧の差に対応した量の電流が流れる。メモリセルＭＴにおいても同様である。
【００６７】
したがって、図６に示されるように、メモリセルＭＴｓｅｌがオン状態である場合、電圧ＶＳＯの低下の速度は、メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差分の大きさに応じて例えば直線２０００，２００１，２００２のようにばらつく。メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差が小さい場合、セル電流の大きさが小さいので、例えば直線２０００に示すように、時間経過に応じた電圧ＶＳＯの低下の速度が小さくなる。メモリセルＭＴｓｅｌのしきい値電圧とリードレベルＶＲｉとの差が大きい場合、大きなセル電流が流れるので、例えば直線２００２に示すように、時間経過に伴って電圧ＶＳＯが急激に低下する。
【００６８】
このように、しきい値電圧のばらつきに応じて電圧ＶＳＯの低下の速度がばらつく。電圧ＶＳＯの低下の速度は、例えば、電圧ＶＳＯが低下する場合の電圧ＶＳＯの勾配の絶対値である。
【００６９】
電圧ＶＳＯの低下の速度のばらつきの要因はしきい値電圧の差のばらつきだけにとどまらない。例えば、製造ばらつきに起因して、ノードＶＳＯの寄生容量ＣＳＯがばらつき、これによって、センスアンプ回路１２０毎に電圧ＶＳＯの低下の速度が変動し得る。また、メモリチップ１１の環境温度によっても、電圧ＶＳＯの低下の速度が変動し得る。また、電源電圧Ｖｄｄのばらつきによっても、電圧ＶＳＯの挙動が変動し得る。
【００７０】
また、時刻ｔ１から時刻ｔ２までの時間は、メモリチップ１１に供給されるクロック（不図示）の周期（周波数）により定められる。当該クロックのばらつきにより、ラッチ１２１が値を取得するタイミングは、時刻ｔ２ａや時刻ｔ２ｂのように変動し得る。
【００７１】
メモリセルＭＴｓｅｌがオフ状態である場合の電圧ＶＳＯの推移が直線１０００〜１００２の範囲で変動し、メモリセルＭＴｓｅｌがオン状態である場合の電圧ＶＳＯの推移が直線２０００〜２００２の範囲で変動し、ラッチ１２１が値を取得するタイミングが時刻ｔ２ａ〜時刻ｔ２ｂの範囲で変動し得る場合において、ラッチ１２１がメモリセルＭＴｓｅｌの状態を正しく判定するためには、電圧ＶＬＡＴＣＨは、符号３００が示す範囲にある必要がある。
【００７２】
電圧ＶＬＡＴＣＨからメモリセルＭＴｓｅｌがオン状態である場合の電圧ＶＳＯの推移が分布する範囲の上限までの範囲３０００と、電圧ＶＬＡＴＣＨからメモリセルＭＴｓｅｌがオフ状態である場合の電圧ＶＳＯの推移が分布する範囲の下限までの範囲３００１と、は、時刻ｔ２のタイミングにおいてラッチ１２１がメモリセルＭＴｓｅｌの状態を正しく判定するためのマージンである。
【００７３】
実施形態では、範囲３０００と範囲３００１とができるだけ等しくなるように判定電圧ＶＲｉを調整する。これによって、例えばラッチ１２１が値を取得するタイミングが時刻ｔ２ａや時刻ｔ２ｂのように変動したとしても、電圧ＶＬＡＴＣＨができるだけ範囲３００内に含まれるようにする。
【００７４】
上記の特徴を実現するための構成として、メモリチップ１１は、参照用のセンスアンプ回路１２０（１２０−２）およびキャリブレーション回路１１３を備える。
【００７５】
図７は、実施形態の参照用のセンスアンプ回路１２０の構成の一例を示す図である。以降、図５を用いて説明したセンスアンプ回路１２０を、第１のセンスアンプ回路１２０−１と表記する。そして、図７に示される参照用のセンスアンプ回路１２０を、第２のセンスアンプ回路１２０−２と表記する。つまり、（ｐ＋１）個のセンスアンプ回路１２０は、第１のセンスアンプ回路１２０−１と第２のセンスアンプ回路１２０−２とを含む。
【００７６】
２つの第２のセンスアンプ回路１２０−２は、１つの単位（１対）を構成する。
【００７７】
なお、１対の第２のセンスアンプ回路１２０−２のうちの一方は、第３回路の一例である。１対の第２のセンスアンプ回路１２０−２のうちの他方は、第４回路の一例である。
【００７８】
１対の第２のセンスアンプ回路１２０−２のそれぞれは、ノードＳＯがスイッチ素子１１４を介して接続されている点を除き、第１のセンスアンプ回路１２０−１と同じ構成を有している。
【００７９】
１対の第２のセンスアンプ回路１２０−２のそれぞれに接続されたＮＡＮＤストリングＮＳには、キャリブレーション回路１１３が生成した参照用のデータが格納される。
【００８０】
１対の第２のセンスアンプ回路１２０−２のうちの一方に接続されたメモリセルＭＴには、互いに隣接する２つのステートのうちの一方のステートに対応したデータが格納される。また、１対の第２のセンスアンプ回路１２０−２のうちの他方に接続されたＮＡＮＤストリングＮＳのメモリセルＭＴには、互いに隣接する２つのステートのうちの他方のステートに対応したデータが格納される。
【００８１】
つまり、１対の第２のセンスアンプ回路１２０−２のうちの一方に接続されたメモリセルＭＴには、Ｄｉ−１が格納され、１対の第２のセンスアンプ回路１２０−２のうちの他方に接続されたメモリセルＭＴには、Ｄｉが格納される。
【００８２】
プログラムオペレーションの際には、スイッチ素子１１４がキャリブレーション回路１１３によってオフされて、一対の第２のセンスアンプ回路１２０−２のそれぞれに対して個別に、上記した参照用のデータの書き込みが実行される。
【００８３】
リードオペレーションの際には、１対の第２のセンスアンプ回路１２０−２のそれぞれは、スイッチ素子１１４がオンされた状態で、第１のセンスアンプ回路１２０−１と同じ処理を実行する。即ち、それぞれの第２のセンスアンプ回路１２０−２は、電圧ＶＳＯの変化に応じた判定を実施する。
【００８４】
上述した第２のセンスアンプ回路１２０−２の対は、ブロック内に多数設けられている。キャリブレーション回路１１３は、各第２のセンスアンプ回路１２０−２のラッチ１２１による判定結果を取得する。キャリブレーション回路１１３は、取得した判定結果に基づいて、リードレベルＶＲｉのキャリブレーションを実行する。
【００８５】
例えば、参照用のデータがＤ１とＤ２とであり、リードレベルがＶＲ２である場合を考える。その場合、１対の第２のセンスアンプ回路１２０−２のうちの一方に接続されたメモリセルＭＴｓｅｌは、ステート＃１にあるため、オン状態となる。これに対し、１対の第２のセンスアンプ回路１２０−２のうちの他方に接続されたメモリセルＭＴｓｅｌは、ステート＃２にあるため、オフ状態となる。そして、スイッチ素子１１４がオンされることによって、１対の第２のセンスアンプ回路１２０−２のそれぞれのノードＳＯが電気的に互いに接続されて導通状態にされる。その結果、１対の第２のセンスアンプ回路１２０−２のそれぞれの電圧ＶＳＯは、メモリセルＭＴｓｅｌがオン状態である場合の電圧値とメモリセルＭＴｓｅｌがオフ状態である場合の電圧値との平均におよそ等しくなる。
【００８６】
つまり、１対の第２のセンスアンプ回路１２０−２のそれぞれの電圧ＶＳＯの変化は、メモリセルＭＴｓｅｌがオン状態である場合の電圧ＶＳＯの推移とメモリセルＭＴｓｅｌがオフ状態である場合の電圧ＶＳＯの推移との中間的な推移を示す。
【００８７】
ここで、例えば、図８に示されるようにリードレベルＶＲ２がローブ２００−１よりもローブ２００−２に寄っている場合、リードレベルＶＲ２がローブ２００−１とローブ２００−２との真ん中に設定されている場合に比べて、ローブ２００−２に属するメモリセルＭＴのしきい値電圧とリードレベルＶＲ２との差分が小さく、ローブ２００−１に属するメモリセルＭＴのしきい値電圧とリードレベルＶＲ２との差分が大きくなる。したがって、ステート＃１のメモリセルＭＴｓｅｌおよびステート＃２のメモリセルＭＴｓｅｌのセル電流の電流値が大きくなり、各センスアンプ回路１２０の電圧ＶＳＯの低下の速度が大きくなる。これによって、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲は、低電圧側にシフトする。
【００８８】
図９は、リードレベルＶＲ２がローブ２００−１よりもローブ２００−２に寄っている場合の各センスアンプ回路１２０の電圧ＶＳＯの推移を説明するための図である。
【００８９】
領域６０００は、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲を示している。本図の例によれば、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲（領域６０００）は、比較的、低電圧側に寄った状態となっている。領域６０００よりも高電圧側の領域４０００は、メモリセルＭＴｓｅｌがステート＃１である場合に第１のセンスアンプ回路１２０−１における電圧ＶＳＯの推移が分布する範囲を示している。領域６０００よりも低電圧側の領域５０００は、メモリセルＭＴｓｅｌがステート＃２である場合に第１のセンスアンプ回路１２０−１における電圧ＶＳＯの推移が分布する範囲を示している。
【００９０】
各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲が低電圧側に寄っている場合、電圧ＶＬＡＴＣＨの低電圧側のマージン３０００−１と電圧ＶＬＡＴＣＨの高電圧側のマージン３００１−１とが均等ではないので、各種ばらつきに起因して誤判定が発生する可能性が大きくなる。
【００９１】
上記のように各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲（領域６０００）が低電圧側に寄っている状態においては、オン状態を示す値を出力する第２のセンスアンプ回路１２０−２の数が、オフ状態を示す値を出力する第２のセンスアンプ回路１２０−２の数を上回る。
【００９２】
キャリブレーション回路１１３は、各第２のセンスアンプ回路１２０−２から取得した判定結果に基づき、オン状態を示す値を出力した第２のセンスアンプ回路１２０−２の数（つまりオン状態の判定結果の数）と、オフ状態を示す値を出力した第２のセンスアンプ回路１２０−２の数（つまりオフ状態の判定結果の数）とをカウントする。
【００９３】
そして、オン状態を示す値を出力した第２のセンスアンプ回路１２０−２の数がオフ状態を示す値を出力した第２のセンスアンプ回路１２０−２の数よりも大きい場合、キャリブレーション回路１１３は、リードレベルＶＲ２を現在の設定値よりも小さい値に変更する。
【００９４】
これによって、例えば図１０に示されるように、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲（領域６０００）を図９に示した例に比べて高電圧側にシフトさせることができる。その結果、電圧ＶＬＡＴＣＨの低電圧側のマージン３０００−２と電圧ＶＬＡＴＣＨの高電圧側のマージン３００１−２とをおよそ等しくすることができ、各種ばらつきに起因する誤判定の発生の可能性を抑制することが可能となる。即ち、各種ばらつきに対する耐性が向上する。
【００９５】
上記とは逆に、リードレベルＶＲ２がローブ２００−２よりもローブ２００−１に寄っている場合、ステート＃１のメモリセルＭＴｓｅｌおよびステート＃２のメモリセルＭＴｓｅｌのセル電流の電流値が小さくなる。これによって、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの低下の速度が小さくなる。したがって、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲は、高電圧側にシフトする。
【００９６】
各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲が高電圧側に寄っている場合、電圧ＶＬＡＴＣＨの低電圧側のマージンが電圧ＶＬＡＴＣＨの高電圧側のマージンに比べて小さくなるので、各種ばらつきに起因して誤判定が発生する可能性が大きくなる。
【００９７】
オン状態を示す値を出力した第２のセンスアンプ回路１２０−２の数がオフ状態を示す値を出力した第２のセンスアンプ回路１２０−２の数よりも小さい場合、キャリブレーション回路１１３は、リードレベルＶＲ２を現在の設定値よりも大きい値に変更する。これによって、各第２のセンスアンプ回路１２０−２の電圧ＶＳＯの推移が分布する範囲を低電圧側にシフトさせることができる。
【００９８】
その結果、電圧ＶＬＡＴＣＨの高電圧側のマージンと電圧ＶＬＡＴＣＨの低電圧側のマージンとをおよそ等しくすることができ、各種ばらつきに起因する誤判定の発生の可能性を抑制することが可能となる。即ち、各種ばらつきに対する耐性が向上する。
【００９９】
図１１は、実施形態の第２のセンスアンプ回路１２０−２および参照用のデータが格納されるメモリセルＭＴ（ＮＡＮＤストリングＮＳ）の配置の一例を示す図である。
【０１００】
本図の例では、第２のセンスアンプ回路１２０−２の対が、１つのブロックにできるだけ均一に分散するように配置されている。第２のセンスアンプ回路１２０−２に接続されたＮＡＮＤストリングＮＳを構成する各メモリセルＭＴには、参照用のデータ（Ref.  Data）が格納される。第１のセンスアンプ回路１２０−１に接続されたＮＡＮＤストリングＮＳを構成する各メモリセルＭＴには、メインデータが格納される。
【０１０１】
メインデータとは、メモリコントローラ２０から受信した、プログラムの対象のデータである。メインデータは、例えば、ホスト２から送られてきたデータや、ホスト２から送られてきたデータから生成された誤り訂正符号や、メモリシステム１の各種の管理情報などを含む。
【０１０２】
なお、第２のセンスアンプ回路１２０−２の配置方法は上記の例に限定されない。１対を構成する２つの第２のセンスアンプ回路１２０−２は、本図に示されるように隣接していてもよいし、隣接していなくてもよい。
【０１０３】
また、第２のセンスアンプ回路１２０−２の対の数は、ブロック内に１つであってもよいし、複数であってもよい。なお、第２のセンスアンプ回路１２０−２の対の数が多いほど、電圧ＶＬＡＴＣＨの高電圧側のマージンと電圧ＶＬＡＴＣＨの低電圧側のマージンとをより均等にすることが可能である。
【０１０４】
また、第２のセンスアンプ回路１２０−２の対は、リードレベル毎に設けられ得る。例えば、リードレベルＶＲ１に対応した１以上の対の第２のセンスアンプ回路１２０−２と、リードレベルＶＲ２に対応した１以上の対の第２のセンスアンプ回路１２０−２と、リードレベルＶＲ３に対応した１以上の対の第２のセンスアンプ回路１２０−２と、が、１つのブロック内に設けられ得る。実施形態では、第２のセンスアンプ回路１２０−２の対は、リードレベル毎に複数対、設けられることとして説明する。
【０１０５】
リードレベルＶＲｉに対応した第２のセンスアンプ回路１２０−２の対のうちの一方に接続されたメモリセルＭＴには、参照用のデータとしてＤ（ｉ−１）が格納される。また、リードレベルＶＲｉに対応した第２のセンスアンプ回路１２０−２の対のうちの一方に接続されたメモリセルＭＴには、参照用のデータとしてＤｉが格納される。
【０１０６】
続いて、実施形態のメモリチップ１１の動作を説明する。
【０１０７】
図１２は、実施形態のメモリチップ１１がプログラムコマンドを処理する一連の手順の例を説明するフローチャートである。
【０１０８】
プログラムコマンドの処理時においては、まず、Ｉ／Ｏ信号処理回路１０１は、メモリコントローラ２０から受信したデータ（メインデータ）をデータレジスタ１０６に格納する（Ｓ１０１）。キャリブレーション回路１１３は、参照用のデータを生成し（Ｓ１０２）、生成した参照用のデータをデータレジスタ１０６に格納する（Ｓ１０３）。キャリブレーション回路１１３は、スイッチ素子１１４をオフする（Ｓ１０４）。
【０１０９】
そして、制御回路１０３は、各種構成要素を制御することによって、プログラムオペレーションを実行する（Ｓ１０５）。これによって、第１のセンスアンプ回路１２０−１に接続されたメモリセルＭＴｓｅｌには、メインデータが格納され、第２のセンスアンプ回路１２０−２に接続されたメモリセルＭＴｓｅｌには、参照用のデータが格納される。
【０１１０】
プログラムオペレーションは、各メモリセルＭＴｓｅｌのしきい値電圧がデータに対応したステートに設定されたか否かを確認するためのリードを含んでいてもよい。このようなリードは、ベリファイリードとも称され得る。
【０１１１】
プログラムオペレーションによって、プログラムコマンドの処理が完了する。
【０１１２】
図１３は、実施形態のメモリチップ１１がリードコマンドを処理する一連の手順の例を説明するフローチャートである。
【０１１３】
リードコマンドの処理時においては、まず、キャリブレーション回路１１３は、スイッチ素子１１４をオンする（Ｓ２０１）。そして、制御回路１０３は、各種構成要素を制御することによって、リードオペレーションを実行する（Ｓ２０２）。
【０１１４】
図１４は、実施形態のリードオペレーションの手順の例を示すフローチャートである。
【０１１５】
リードオペレーションでは、まず、制御回路１０３は、ループカウンタｉに１をセットする（Ｓ３０１）。なお、ｉは、１からリードレベルの数までの値を取り得る。例えばＭＬＣの場合、ｉは、１から３までの値を取り得る。
【０１１６】
Ｓ３０１の後、制御回路１０３は、リードレベルＶＲｉを用いた判定を実行する（Ｓ３０２）。即ち、Ｓ３０２では、選択されたワード線ＷＬｓｅｌにはリードレベルＶＲｉが印加され、各センスアンプ回路１２０では、ラッチ１２１は、ノードＳＯの電圧ＶＳＯの変化に基づいてメモリセルＭＴｓｅｌがオン状態であるかオフ状態であるかの判定を実行する。
【０１１７】
続いて、キャリブレーション回路１１３は、リードレベルＶＲｉに対応した第２のセンスアンプ回路１２０−２によるオン状態の判定結果とオフ状態の判定結果とをそれぞれカウントする（Ｓ３０３）。
【０１１８】
そして、キャリブレーション回路１１３は、Ｓ３０３の処理によって得られたオン状態の判定結果の数とオフ状態の判定結果の数とを比較し、オン状態の判定結果の数がオフ状態の判定結果の数よりも多いか否かを判定する（Ｓ３０４）。
【０１１９】
オン状態の判定結果の数がオフ状態の判定結果の数よりも多いと判定された場合（Ｓ３０４、Ｙｅｓ）、キャリブレーション回路１１３は、リードレベルＶＲｉの設定値を、現在の設定値から所定の刻み幅Ｖｓｔｅｐだけ小さい値で更新する（Ｓ３０５）。
【０１２０】
オン状態の判定結果の数がオフ状態の判定結果の数よりも多くないと判定された場合（Ｓ３０４、Ｎｏ）、キャリブレーション回路１１３は、リードレベルＶＲｉの設定値を、現在の設定値から所定の刻み幅Ｖｓｔｅｐだけ大きい値で更新する（Ｓ３０６）。
【０１２１】
なお、リードレベルＶＲｉの設定値は、所定の記憶領域（例えば電圧生成回路１１２内のレジスタ）に格納されている。キャリブレーション回路１１３は、Ｓ３０５やＳ３０６の処理において、この記憶領域に格納された設定値を更新する。更新された設定値は、次回にリードレベルＶＲｉが印加される際に使用される。
【０１２２】
Ｓ３０５またはＳ３０６の処理の後、制御回路１０３は、ｉの値を１だけインクリメントするとともに、インクリメント後のｉの値がｉの取り得る範囲の最大値を越えるか否かを判定する（Ｓ３０７）。
【０１２３】
インクリメント後のｉの値がｉの取り得る範囲の最大値を越えていないと判定された場合（Ｓ３０７、Ｎｏ）、制御がＳ３０２に移行する。
【０１２４】
インクリメント後のｉの値がｉの取り得る範囲の最大値を越えていると判定された場合（Ｓ３０７、Ｙｅｓ）、センスアンプブロック１０９は、第１のセンスアンプ回路１２０−１によって得られた判定結果をデータ（メインデータ）にデコードする（Ｓ３０８）。デコードによって得られたデータ（メインデータ）は、データレジスタ１０６に格納される。
【０１２５】
これによって、リードオペレーションが完了する。
【０１２６】
なお、ＭＬＣが採用される場合、３つのリードレベルＶＲ１〜ＶＲ３が使用される。図１４の説明では、リードレベルＶＲ１、リードレベルＶＲ２、およびリードレベルＶＲ３がこの順に使用された。各リードレベルの使用の順はこれに限定されない。例えば、リードレベルＶＲ２、リードレベルＶＲ１、およびリードレベルＶＲ３がこの順に使用されてもよい。
【０１２７】
また、上記の説明では、オン状態の判定結果の数がオフ状態の判定結果の数と等しい場合、Ｓ３０４の判定処理においてＮｏと判定された。オン状態の判定結果の数がオフ状態の判定結果の数と等しい場合の扱いはこれに限定されない。オン状態の判定結果の数がオフ状態の判定結果の数と等しい場合には、Ｓ３０４の判定処理においてＹｅｓと判定されてもよい。
【０１２８】
図１３に説明を戻す。
リードオペレーションが完了すると、Ｉ／Ｏ信号処理回路１０１は、メモリセルアレイ１０７から読み出されてデータレジスタ１０６に格納されたメインデータをメモリコントローラ２０に出力する（Ｓ２０３）。そして、リードコマンドの処理が完了する。
【０１２９】
このように、一回のリードオペレーションによって、各リードレベルのキャリブレーションンが実行される。リードオペレーションが繰り返し実行されることで、各リードレベルが適正な値づけることが可能となる。
【０１３０】
なお、以上では、一回のキャリブレーションにおいてリードレベルの設定値をＶｓｔｅｐずつ変更する、として説明した。一回のキャリブレーションにおける変更量はこれに限定されない。
【０１３１】
例えばキャリブレーション回路１１３は、Ｓ３０３の処理によってカウントされたオン状態の判定結果の数とオフ状態の判定結果の数との比に応じて変更量を変えてもよい。例えば、オン状態の判定結果の数とオフ状態の判定結果の数との比の１対１からの乖離の程度が大きくなるほど変更量を大きくしてもよい。
【０１３２】
また、以上では、ＭＬＣが採用された場合の例について説明した。実施形態の技術は、メモリセルＭＴに格納されるデータのビット数に依らずに適用可能である。例えば、実施形態の技術は、メモリセルＭＴに１ビットのデータが格納される、ＳＬＣ（Single  Level  Cell）と呼ばれる方式が採用されたメモリチップに適用することができる。また、実施形態の技術は、メモリセルＭＴに３ビットのデータが格納されるＴＬＣ（Triple  Level  Cell）と呼ばれる方式が採用されたメモリチップや、メモリセルＭＴに４ビットのデータが格納されるＱＬＣ（Quad  Level  Cell）と呼ばれる方式が採用されたメモリチップにも適用することができる。
【０１３３】
また、以上では、メモリセルＭＴが２次元的に配列された例を説明した。メモリセルアレイ１０７は、メモリセルＭＴが３次元的に配列された構成を有していてもよい。その場合には、例えば、導電膜と絶縁膜とが交互に積層された積層体が柱状の半導体柱で貫通され、導電膜と半導体柱とが交差する部分にメモリセルＭＴが設けられ得る。
【０１３４】
以上述べたように、実施形態によれば、ノードＳＯの電圧ＶＳＯの変化に応じてメモリセルＭＴｓｅｌがオン状態であるかオフ状態であるかを判定する複数のセンスアンプ回路１２０は、ブロック内に少なくとも１対の第２のセンスアンプ回路１２０−２を含む。キャリブレーション回路１１３は、リードオペレーションの際、つまりロウデコーダ１１０によってワード線ＷＬｓｅｌにリードレベルを印加する際、に、１対の第２のセンスアンプ回路１２０−２のそれぞれのノードＶＯを互いに電気的に接続して導通状態にする。そして、キャリブレーション回路１１３は、１対の第２のセンスアンプ回路１２０−２のそれぞれによる、対応するメモリセルＭＴｓｅｌがオン状態であるかオフ状態であるかの判定結果に基づいてリードレベルのキャリブレーションを実行する。つまり、キャリブレーション回路１１３は、リードレベルの更新を実行する。
【０１３５】
この構成により、図１０を用いて説明したように、電圧ＶＬＡＴＣＨの低電圧側のマージン３０００−２と電圧ＶＬＡＴＣＨの高電圧側のマージン３００１−２とをおよそ等しくすることができる。これによって、各種ばらつきによって電圧ＶＳＯの低下の速度やラッチ１２１が値を取得するタイミングがばらついたとしても、電圧ＶＬＡＴＣＨを、ラッチ１２１がメモリセルＭＴｓｅｌの状態を正しく判定することができる範囲（例えば図６の範囲３００）から逸脱しにくくすることができる。
【０１３６】
すなわち、各種ばらつきに対する耐性が向上する。
【０１３７】
なお、１対の第２のセンスアンプ回路１２０−２のうちの一方に接続されたメモリセルＭＴは、互いに隣接する２つのステート（ステート＃（ｉ−１）およびステート＃ｉとする）のうちのステート＃（ｉ−１）に設定される。１対の第２のセンスアンプ回路１２０−２のうちの他方に接続されたメモリセルＭＴは、ステート＃（ｉ−１）およびステート＃ｉのうちのステート＃ｉに設定される。キャリブレーション回路１１３は、ステート＃（ｉ−１）とステート＃ｉとの境界に対応したリードレベルＶＲｉを、当該１対の第２のセンスアンプ回路１２０−２の判定結果に基づいて更新する。
【０１３８】
また、１対の第２のセンスアンプ回路１２０−２のそれぞれのノードＳＯは、スイッチ素子１１４を介して接続されている。キャリブレーション回路１１３は、スイッチ素子１１４をオンすることによって１対の第２のセンスアンプ回路１２０−２のノードＳＯ間を電気的に導通状態にする。
【０１３９】
この構成により、キャリブレーション回路１１３は、リードオペレーションに１対の第２のセンスアンプ回路１２０−２のノードＳＯ間を電気的に導通状態にし、他の所望のタイミングにおいては１対の第２のセンスアンプ回路１２０−２のノードＳＯ間を電気的に非導通状態にすることが可能となる。
【０１４０】
なお、キャリブレーション回路１１３は、プログラムオペレーションの際にスイッチ素子１１４をオフする。これによって、参照用のデータのプログラムが可能になる。
【０１４１】
また、キャリブレーション回路１１３は、オフ状態を示す判定結果の数がオン状態を示す判定結果の数よりも多い場合、リードレベルを現在の設定値よりも大きい値に更新する。キャリブレーション回路１１３は、オフ状態を示す判定結果の数がオン状態を示す判定結果の数よりも少ない場合、リードレベルを現在の設定値よりも小さい値に更新する。
【０１４２】
これによって、電圧ＶＬＡＴＣＨの高電圧側のマージンと電圧ＶＬＡＴＣＨの低電圧側のマージンとをより均等にすることができるので、各種ばらつきに対する耐性が向上する。
【０１４３】
なお、以上では、リードオペレーションは、リードコマンドの処理の一環として実施されるとして説明した。これによって、初回のリードコマンドにおいてはキャリブレーションが実行されていないリードレベルが使用されることとなる。
【０１４４】
制御回路１０３は、ライトオペレーションが完了した後、リードコマンドを受信しなくても、リードレベルのキャリブレーションを目的としたリードオペレーションを開始してもよい。つまり、制御回路１０３は、ライトオペレーションの後、メモリコントローラ２０からのリードコマンドに依らずにリードオペレーションを開始してもよい。リードコマンドに依らないリードオペレーションの実行の回数は、１回であってもよいし、複数回であってもよい。
【０１４５】
この構成により、リードコマンドに依らないリードオペレーションの後、メモリコントローラ２０からのリードコマンドを処理する際には、キャリブレーションが実行済みのリードレベルを使用することが可能となる。
【０１４６】
また、第２のセンスアンプ回路１２０−２の対は、リードレベル毎に設けられるとして説明した。１つのリードレベルに対応した第２のセンスアンプ回路１２０−２の対のみが設けられてもよい。その場合には、キャリブレーション回路１１３は、例えば、第２のセンスアンプ回路１２０−２の対に対応したリードレベルの更新を実行する際に、当該リードレベルの変更量に基づいて他のリードレベルの変更量を推定して、当該他のリードレベルを推定された変更量を用いて更新してもよい。他のリードレベルの変更量は、任意の方法で推定され得る。
【０１４７】
この構成によって、第２のセンスアンプ回路１２０−２の対を、リードレベル毎に設けることが不要となる。これにより、参照用のデータを格納するメモリセルＭＴの数を少なくすることができ、その分だけメインデータを格納するメモリセルＭＴの数を多くすることが可能となる。
【０１４８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４９】
１  メモリシステム、２  ホスト、１０  ＮＡＮＤメモリ、１１  メモリチップ、２０  メモリコントローラ、１０１  Ｉ／Ｏ信号処理回路、１０２  制御信号処理回路、１０３  制御回路、１０４  コマンドレジスタ、１０５  アドレスレジスタ、１０６  データレジスタ、１０７  メモリセルアレイ、１０８  カラムデコーダ、１０９  センスアンプブロック、１１０  ロウデコーダ、１１１  メモリドライバ、１１２  電圧生成回路、１１３  キャリブレーション回路、１１４  スイッチ素子、１２０  センスアンプ回路、１２０−１  第１のセンスアンプ回路、１２０−２  第２のセンスアンプ回路、１２１  ラッチ。
【図１】
2020047326.tif 000003
【図２】
2020047326.tif 000004
【図３】
2020047326.tif 000005
【図４】
2020047326.tif 000006
【図５】
2020047326.tif 000007
【図６】
2020047326.tif 000008
【図７】
2020047326.tif 000009
【図８】
2020047326.tif 000010
【図９】
2020047326.tif 000011
【図１０】
2020047326.tif 000012
【図１１】
2020047326.tif 000013
【図１２】
2020047326.tif 000014
【図１３】
2020047326.tif 000015
【図１４】
2020047326.tif 000016