JP2022081399A - 半導体メモリ及び不揮発性メモリ - Google Patents
半導体メモリ及び不揮発性メモリ Download PDFInfo
- Publication number
- JP2022081399A JP2022081399A JP2021138120A JP2021138120A JP2022081399A JP 2022081399 A JP2022081399 A JP 2022081399A JP 2021138120 A JP2021138120 A JP 2021138120A JP 2021138120 A JP2021138120 A JP 2021138120A JP 2022081399 A JP2022081399 A JP 2022081399A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- state
- memory
- latch circuit
- 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.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
- Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)
Abstract
【課題】チップ面積の増加を抑制できる。【解決手段】実施形態によれば、半導体メモリ100は、3つ以上の複数ステートにて複数ビットのデータを保持可能な複数のメモリセルMCを含むメモリグループMGと、複数のメモリセルに接続されたワード線WLと、外部コントローラ200から受信した1つの外部アドレスを複数の内部アドレスに変換する第1回路121と、を含む。メモリグループが保持可能なページデータの第1ページサイズは、外部アドレスに対応する入力データの第2ページサイズよりも小さい。【選択図】図8
Description
本発明の実施形態は、半導体メモリ及び不揮発性メモリに関する。
メモリシステムに搭載されるメモリチップとして、NAND型フラッシュメモリを用いた半導体メモリが知られている。
チップ面積の増加を抑制できる半導体メモリを提供できる。
実施形態に係る半導体メモリは、3つ以上の複数ステートにて複数ビットのデータを保持可能な複数のメモリセルを含むメモリグループと、複数のメモリセルに接続されたワード線と、外部コントローラから受信した1つの外部アドレスを複数の内部アドレスに変換する第1回路と、を含む。メモリグループが保持可能なページデータの第1ページサイズは、外部アドレスに対応する入力データの第2ページサイズよりも小さい。
以下、実施形態につき図面を参照して説明する。この説明に際し、略同一の機能及び構成を有する構成要素については、同一符号を付す。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
1.第1実施形態
第1実施形態に係るメモリシステムについて説明する。以下では、メモリシステムに含まれる半導体メモリとして、NAND型フラッシュメモリを例に挙げて説明する。
第1実施形態に係るメモリシステムについて説明する。以下では、メモリシステムに含まれる半導体メモリとして、NAND型フラッシュメモリを例に挙げて説明する。
1.1 構成
1.1.1 メモリシステムの全体構成
まず、本実施形態に係る半導体メモリを備えるメモリシステムの全体構成について、図1を用いて説明する。図1は、メモリシステムの全体構成の一例を示すブロック図である。なお、図1に示すメモリコントローラの構成は一例であり、内部バスが分割構造や階層構造になる、あるいは付加的な機能ブロックが接続されるなど、他にも様々な派生的な形態をとり得る。メモリシステム1は、ホストデバイス2と通信し、ホストデバイス2からの指示(命令)に基づいて、ホストデバイス2からのデータを保持し、また、ホストデバイス2にデータを出力する。ホストデバイス2は、例えば、サーバコンピュータまたはパーソナルコンピュータなどであり、情報処理を実行し、メモリシステム1を用いてデータを記憶する。メモリシステム1は、情報処理装置として機能するホストデバイス2のストレージとして機能し得る。メモリシステム1は、ホストデバイス2に内蔵されてもよいし、ホストデバイス2にケーブルまたはネットワークを介して接続されてもよい。また、メモリシステム1とホストデバイス2とを備えた情報処理システムが構成されてもよい。
1.1.1 メモリシステムの全体構成
まず、本実施形態に係る半導体メモリを備えるメモリシステムの全体構成について、図1を用いて説明する。図1は、メモリシステムの全体構成の一例を示すブロック図である。なお、図1に示すメモリコントローラの構成は一例であり、内部バスが分割構造や階層構造になる、あるいは付加的な機能ブロックが接続されるなど、他にも様々な派生的な形態をとり得る。メモリシステム1は、ホストデバイス2と通信し、ホストデバイス2からの指示(命令)に基づいて、ホストデバイス2からのデータを保持し、また、ホストデバイス2にデータを出力する。ホストデバイス2は、例えば、サーバコンピュータまたはパーソナルコンピュータなどであり、情報処理を実行し、メモリシステム1を用いてデータを記憶する。メモリシステム1は、情報処理装置として機能するホストデバイス2のストレージとして機能し得る。メモリシステム1は、ホストデバイス2に内蔵されてもよいし、ホストデバイス2にケーブルまたはネットワークを介して接続されてもよい。また、メモリシステム1とホストデバイス2とを備えた情報処理システムが構成されてもよい。
図1に示すように、メモリシステム1は、半導体メモリとして用いられるNAND型フラッシュメモリ100(以下、単に「メモリ100」とも表記する)と、メモリコントローラ(「外部コントローラ」とも表記する)200とを備えている。メモリコントローラ200とメモリ100とは、例えばそれらの組み合わせにより1つの半導体記憶装置を構成してもよく、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
メモリ100は、複数のメモリセルトランジスタ(以下、「メモリセル」または単に「セル」とも表記する)を備え、データを不揮発に記憶するように構成される不揮発性メモリである。なお、メモリ100は、複数のNAND型フラッシュメモリにより構成されていてもよい。この場合、メモリ100内の複数のNAND型フラッシュメモリと、メモリコントローラ200とは、貫通ビア(TSV:Through Silicon Via)を介して接続されてもよい。また、NAND型フラッシュメモリは、メモリセルトランジスタが半導体基板上方に三次元に積層された三次元積層型NAND型フラッシュメモリであってもよいし、メモリセルトランジスタが半導体基板上に二次元に配置された平面型NAND型フラッシュメモリであってもよい。
メモリ100は、メモリバスによってメモリコントローラ200と接続され、メモリコントローラ200からの命令に基づいて動作する。より具体的には、メモリ100は、メモリコントローラ200と、例えば8ビットの信号DQ[7:0]並びにクロック信号DQS及びDQSnの送受信を行う。信号DQ[7:0]は、例えばデータ、アドレス、及びコマンドである。クロック信号DQS及びDQSnは、信号DQの入出力の際に用いられるクロック信号であり、クロック信号DQSnは、クロック信号DQSの反転信号である。
また、メモリ100は、メモリコントローラ200から、例えば、チップイネーブル信号CEn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号WEn、及びリードイネーブル信号REnを受信する。そして、メモリ100は、メモリコントローラ200に、レディ/ビジー信号RBnを送信する。
チップイネーブル信号CEnは、メモリ100をイネーブルにするための信号であり、例えばLow(“L”)レベルでアサートされる。コマンドラッチイネーブル信号CLEは、信号DQがコマンドであることを示す信号であり、例えばHigh(“H”)レベルでアサートされる。
アドレスラッチイネーブル信号ALEは、信号DQがアドレスであることを示す信号であり、例えば“H”レベルでアサートされる。
ライトイネーブル信号WEnは、受信した信号をメモリ100内へ取り込むための信号であり、メモリコントローラ200よりコマンド、アドレス、及びデータ等を受信する度に、例えば“L”レベルでアサートされる。よって、WEnがトグルされる度に、信号DQがメモリ100に取り込まれる。
リードイネーブル信号REnは、メモリコントローラ200が、メモリ100からデータを読み出すための信号である。リードイネーブル信号REnは、例えば“L”レベルでアサートされる。
レディ/ビジー信号RBnは、メモリ100がメモリコントローラ200から信号DQを受信不可能な状態か可能な状態かを示す信号であり、例えばメモリ100がビジー状態の際に“L”レベルとされる。
メモリコントローラ200は、ホストデバイス2からの要求(命令)に応答して、メモリ100に対してデータの読み出し動作、書き込み動作、及び消去動作等を命令する。また、メモリコントローラ200は、メモリ100のメモリ空間(メモリ領域)を管理する。
メモリコントローラ200は、ホストインターフェイス回路210、内蔵メモリ(RAM;Random Access Memory)220、プロセッサ230、バッファメモリ240、メモリインターフェイス回路250、及びECC回路260を含む。なお、メモリコントローラ200の各機能は専用回路で実現されてもよいし、プロセッサがファームウェアを実行することにより実現されてもよい。
ホストインターフェイス回路210は、ホストバスを介してホストデバイス2と接続され、ホストデバイス2との通信を司る。ホストインターフェイス回路210は、プロセッサ230及びバッファメモリ240に、ホストデバイス2から受信した要求及びデータを転送する。以下では、ホストデバイス2から受信したデータを「ユーザデータ」と表記する。ホストインターフェイス回路210は、プロセッサ230の命令に応答して、バッファメモリ240内のユーザデータをホストデバイス2へ転送する。
RAM220は、例えばDRAM等の揮発性メモリであり、プロセッサ230の作業領域として使用される。RAM220は、メモリ100を管理するためのファームウェアや、各種の管理テーブル等を保持する。また、RAM220は、後述するルックアップテーブルを一時的に記憶する。
プロセッサ230は、メモリコントローラ200全体の動作を制御する。例えば、プロセッサは、CPU(Central Processing Unit)またはMPU(Micro Processing Unit)である。プロセッサ230は、ホストデバイス2から要求を受けた場合に、その要求に従った制御を行う。例えば、プロセッサ230は、ホストデバイス2から書き込み要求(コマンド、論理アドレス、及びユーザデータを含む)を受信した際には、メモリインターフェイス回路250を介して、メモリ100に書き込み動作を実行させる。また、プロセッサ230は、ホストデバイス2からの読み出し要求(コマンド及び論理アドレスを含む)を受信した際には、メモリインターフェイス回路250を介して、メモリ100に読み出し動作を実行させる。
プロセッサ230は、ウェアレベリング等、メモリ100を管理するための様々な処理を実行する。更に、プロセッサ230は、各種の演算を実行する。例えば、プロセッサ230は、データの暗号化処理やランダマイズ処理等を実行する。
また、プロセッサ230は、ホストデバイス2から受信した論理アドレス及びユーザデータに対してメモリ100における格納領域(メモリ領域)を決定する。
より具体的には、例えば、プロセッサ230は、ホストデバイス2から書き込み要求を受信した場合、メモリ100から、論理アドレスと論理ページアドレス(外部アドレスとも表記する)とを関連付けたデータ(以下、「ルックアップテーブル」と呼ぶ)を読み出す。論理アドレスは、ホストデバイス2からのアクセス要求に付される。論理ページは、プロセッサ230がメモリ100における書き込み動作及び読み出し動作等を制御する際に、メモリ100に送信される1つのアドレスに付されるデータ(メモリ100への入力データ)の単位である。論理ページのページサイズ(「データ長」、「データ量」とも表記する)は、1つの論理アドレスに付されたユーザデータのサイズに対応する。以下、論理ページが付されるアドレスを「論理ページアドレス」と表記する(あるいは、メモリ100においては外部から入力されるアドレスなので「外部アドレス」とも表記する)。本実施形態では、論理ページは、メモリ100において一括して書き込まれるページ(以下、「物理ページ」と表記する)の単位とは異なる。論理ページと物理ページとの関係については、後述する。論理ページアドレスは、1つの論理ページに対応し、メモリ100のメモリ領域のある一部を指定する。従って、複数の論理ページにより構成される論理メモリ領域のサイズは、物理ページにより構成されるメモリ100のメモリ領域のサイズと同じである。
プロセッサ230は、ホストデバイス2から書き込み要求を受信すると、メモリコントローラ200内のルックアップテーブルを更新して、1つの論理アドレスに対して、1つの論理ページアドレスを割り付ける。論理ページアドレスを新規に割り付けた後、プロセッサ230は、メモリ100に書き込み動作を実行させる。また、プロセッサ230は、任意のタイミングでメモリ100内のルックアップテーブルを更新する。
また、プロセッサ230は、例えば、ホストデバイス2から読み出し要求を受信すると、ルックアップテーブルを用いて、論理アドレスを論理ページアドレスに変換した後、メモリ100に読み出し動作を実行させる。
バッファメモリ240は、ホストデバイス2から受信したユーザデータ及びメモリコントローラ200がメモリ100から受信した読み出しデータ等を一時的に記憶する。
メモリインターフェイス回路250は、メモリバスを介してメモリ100と接続され、メモリ100との通信を司る。メモリインターフェイス回路250は、プロセッサ230の制御に基づいて、メモリ100における書き込み動作、読み出し動作、及び消去動作等を制御する。
ECC回路260は、ユーザデータを符号化して、符号語を生成する。ユーザデータは、符号化された符号語としてメモリ100に格納される。また、ECC回路260は、メモリ100から読み出された符号語を復号する。
なお、メモリコントローラ200は、ユーザデータを符号化しなくてもよい。メモリコントローラ200が符号化を行わない場合、メモリ100に書き込むデータは、ユーザデータと一致する。また、ECC回路260は、1つの論理ページに対応するユーザデータに基づいて1つの符号語を生成してもよいし、ユーザデータが分割された分割データに基づいて1つの符号語を生成してもよい。更に、ECC回路260は、複数の論理ページに対応するユーザデータを用いて1つの符号語を生成してもよい。
更に、ECC回路260は、メモリインターフェイス回路250に内蔵されていてもよいし、メモリ100に内蔵されていてもよい。
1.1.2 NAND型フラッシュメモリの構成
次に、メモリ100の構成について、図2を用いて説明する。図2は、本実施形態のメモリ100の内部構成の一例を示すブロック図である。なお、図2では、各ブロック間の接続の一部を矢印線により示しているが、各ブロック間の接続はこれに限定されない。
次に、メモリ100の構成について、図2を用いて説明する。図2は、本実施形態のメモリ100の内部構成の一例を示すブロック図である。なお、図2では、各ブロック間の接続の一部を矢印線により示しているが、各ブロック間の接続はこれに限定されない。
図2に示すように、メモリ100は、入出力回路110、制御部120、メモリセルアレイ130、ロウデコーダ131、センスアンプ132、及びページバッファ133を含む。メモリ100は、例えば、半導体基板(シリコン基板)上に形成されてチップ化される。
入出力回路110は、メモリコントローラ200との信号の入出力を制御する。より具体的には、入出力回路110は、例えば制御部120に、メモリコントローラ200から受信した信号DQ(データDAT、論理ページアドレス、コマンドCMD)、並びに各種制御信号(信号CEn、CLE、ALE、WEn、及びREn)を送信する。また、入出力回路110は、メモリコントローラ200に、制御部120から受信したデータDATを送信する。
制御部120は、入出力回路110経由でメモリコントローラ200から受信したコマンドCMD等に基づいて、メモリ100の動作を制御する。具体的には、制御部120は、書き込み命令を受信した場合、受信した書き込みデータDATをメモリセルアレイ130の物理ページに書き込むよう制御する。また、制御部120は、読み出し命令を受信した場合、メモリセルアレイ130からデータDATを読み出して、入出力回路110経由でメモリコントローラ200へ出力するよう制御する。
制御部120は、コマンドユーザインターフェイス回路121、発振器122、シーケンサ123、電圧発生回路124、カラムカウンタ125、及びシリアルアクセスコントローラ126を含む。
コマンドユーザインターフェイス回路121は、入出力回路110からコマンドCMD及び論理ページアドレスを受信する。コマンドユーザインターフェイス回路121は、受信したコマンドCMDをシーケンサ123に送信する。また、コマンドユーザインターフェイス回路121は、受信した論理ページアドレスを、物理ページに対応したアドレスADD(以下、「物理ページアドレス」または「内部アドレス」とも表記する)に変換して、シーケンサ123に送信する。本実施形態では、論理ページのページサイズが物理ページのページサイズよりも大きいため、1ページの論理ページのデータに対して、複数の物理ページが割り付けられている。このため、コマンドユーザインターフェイス回路121は、1つの論理ページアドレスを対応する複数の物理ページアドレスADDに変換し、シーケンサ123に送信する。なお、シーケンサ123が、論理ページアドレスを物理ページアドレスADDに変換してもよい。
発振器122は、クロック信号を生成する回路である。発振器122によって生成されたクロック信号は、シーケンサ123を含む各構成要素に供給される。シーケンサ123は、発振器122から供給されるクロック信号によって駆動されるステートマシンである。
シーケンサ123は、メモリ100の全体の動作を制御する。例えば、シーケンサ123は、コマンドユーザインターフェイス回路121、発振器122、電圧発生回路124、カラムカウンタ125、及びシリアルアクセスコントローラ126、並びにロウデコーダ131、センスアンプ132、及びページバッファ133を制御する。シーケンサ123は、メモリセルアレイ130へのアクセス(書き込み動作、読み出し動作、及び消去動作等)を制御する。シーケンサ123は、例えば、コマンドユーザインターフェイス回路121から受信したコマンドCMDに応じて、電圧発生回路124及びカラムカウンタ125に、動作タイミング等を制御するための制御信号を送信する。また、シーケンサ123は、コマンドユーザインターフェイス回路121から受信した物理ページアドレスADDに含まれるロウアドレスRAをロウデコーダ131に供給する。ロウアドレスRAは、メモリセルアレイ130においてロウ方向に配列された配線(ワード線等)を選択するためのアドレスである。更に、シーケンサ123は、コマンドユーザインターフェイス回路121から受信した物理ページアドレスADDに含まれるカラムアドレスCAをカラムカウンタ125に供給する。カラムアドレスCAは、メモリセルアレイ130においてカラム方向に配列された配線(ビット線等)を選択するためのアドレスである。
電圧発生回路124は、シーケンサ123の制御に基づいて電圧を生成し、ロウデコーダ131及びセンスアンプ132等に供給する。
カラムカウンタ125は、書き込み動作または読み出し動作の際に、カラムアドレスCAをページバッファ133に送信する。カラムカウンタ125は、シーケンサ123から供給されたカラムアドレスCAを先頭として、シリアルアクセスコントローラ126から供給される制御信号に従ってカラムアドレスCAを順次進める(カウントアップする)。
シリアルアクセスコントローラ126は、ページバッファ133とのデータDATの送受信を制御する。より具体的には、シリアルアクセスコントローラ126は、データバスを介してページバッファ133に接続されている。シリアルアクセスコントローラ126は、書き込み動作の際には、入出力回路110から受信したデータDAT(例えば8ビットの信号DQに対応した8ビットのシリアルデータ)をページバッファ133に送信する。また、シリアルアクセスコントローラ126は、読み出し動作の際にはページバッファ133から受信したデータDAT(シリアルデータ)を入出力回路110に送信する。
メモリセルアレイ130は、ロウ及びカラムに対応付けられた不揮発性のメモリセルトランジスタ(以下、「メモリセル」とも表記する)を含む複数のブロックBLK(BLK0、BLK1、…)を備えている。各々のブロックBLKは、複数のストリングユニットSUを含む。図2の例では、ブロックBLKは、4つのストリングユニットSU0、SU1、SU2、及びSU3を含む。そして各々のストリングユニットSUは、複数のNANDストリングNSを含む。なお、メモリセルアレイ130内のブロックBLKの個数及びブロックBLK内のストリングユニットSUの個数は任意に設計可能である。メモリセルアレイ130の詳細については後述する。
ロウデコーダ131は、各ブロックBLKにおいて、ロウ方向に沿って配置された配線(例えば、ワード線及び選択ゲート線)に接続される。ロウデコーダ131は、書き込み動作、読み出し動作、及び消去動作の際に、ロウアドレスRAをデコードして、選択したブロックBLKの配線に電圧を印加する。
センスアンプ132は、書きこみ動作の際には、ページバッファ133に格納されたデータをメモリセルトランジスタに転送する。また、センスアンプ132は、読み出し動作の際には、メモリセルアレイ130から読み出したデータが“0”であるか“1”であるかを判定する。センスアンプ132は、得られたデータを、ページバッファ133に転送する。ページバッファ133に格納されたデータは、シリアルアクセスコントローラ126及び入出力回路110を介してメモリコントローラ200に出力される。
ページバッファ133は、メモリコントローラ200から受信したデータDATを一時的に記憶したり、メモリセルアレイ130から読み出したデータを一時的に記憶したりするバッファである。ページバッファ133ページは、複数のラッチ回路を含む。ページバッファ133は、書き込み動作の際に、シリアルアクセスコントローラ126から受信したデータDATを、カラムカウンタ125から受信したカラムアドレスCAに対応するラッチ回路に順次格納する。また、ページバッファ133は、読み出し動作の際には、カラムカウンタ125から受信したカラムアドレスCAに対応するラッチ回路に格納されているデータを順次、シリアルアクセスコントローラ126に送信する。
以下では、メモリセルアレイ130以外の回路(制御部120、ロウデコーダ131、センスアンプ132、及びページバッファ133等)をまとめて「周辺回路」とも表記する。
1.1.3 メモリセルアレイの回路構成
次に、メモリセルアレイ130の回路構成の一例について、図3を用いて説明する。図3の例は、メモリセルアレイ130に含まれた複数のブロックBLKのうち1つのブロックBLKを抽出して示している。
次に、メモリセルアレイ130の回路構成の一例について、図3を用いて説明する。図3の例は、メモリセルアレイ130に含まれた複数のブロックBLKのうち1つのブロックBLKを抽出して示している。
図3に示すように、ブロックBLKは、例えば、4つのストリングユニットSU0~SU3を含んでいる。各ストリングユニットSUは、複数のNANDストリングNSを含んでいる。
複数のNANDストリングNSは、それぞれビット線BL0~BL(k-1)(kは2以上の整数)に関連付けられている。各NANDストリングNSは、例えば、メモリセルトランジスタMC0~MC7、並びに選択トランジスタST1及びST2を含んでいる。以下、ビット線BL0~BL(k-1)のいずれかを限定しない場合は、単にビット線BLと表記する。メモリセルトランジスタMC0~MC7のいずれかを限定しない場合は、単にメモリセルトランジスタMCと表記する。
メモリセルトランジスタMCは、制御ゲート及び電荷蓄積層を含み、データを不揮発に記憶する。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
なお、メモリセルトランジスタMCは、電荷蓄積層に絶縁層を用いたMONOS(Metal-Oxide-Nitride-Oxide-Silicon)型であってもよいし、電荷蓄積層に導電層を用いたFG(Floating Gate)型であってもよい。以下、本実施形態では、MONOS型を例として説明する。
各NANDストリングNSにおいて、選択トランジスタST1のドレインは、関連付けられたビット線BLに接続され、選択トランジスタST1のソースは、直列接続されたメモリセルトランジスタMC0~MC7の一端に接続される。同一のブロックBLKにおいて、ストリングユニットSU0~SU3内の選択トランジスタST1のゲートは、それぞれ選択ゲート線SGD0~SGD3に共通接続される。選択ゲート線SGD0~SGD3は、ロウデコーダ131に接続される。
各NANDストリングNSにおいて、選択トランジスタST2のドレインは、直列接続されたメモリセルトランジスタMC0~MC7の他端に接続される。同一のブロックBLKにおいて、選択トランジスタST2のソースは、ソース線SLに共通接続され、選択トランジスタST2のゲートは、選択ゲート線SGSに共通接続される。選択ゲート線SGSは、ロウデコーダ131に接続される。
ビット線BLは、各ブロックBLKにあるストリングユニットSU0~SU3にそれぞれ含まれる1つのNANDストリングNSを共通に接続する。ソース線SLは、例えば複数のブロックBLK間で共通接続される。
以下では、1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMCの集合を、「メモリグループMG」と表記する。1つのメモリグループMGに含まれるメモリセルトランジスタMCは、ビット線BL0~BL(k-1)にそれぞれ関連付けられる。従って、1つのメモリグループMGに含まれるメモリセルトランジスタMCの個数は、k個である。例えば、それぞれが1ビットデータを記憶するk個のメモリセルトランジスタMCを含むメモリグループMGの記憶容量が、物理ページにおける1ページデータ(ページサイズ)として定義される。メモリグループMGは、メモリセルトランジスタMCが記憶するデータのビット数に応じて、物理ページにおける2ページデータ以上の記憶容量を有し得る。以下、本実施形態では、メモリセルトランジスタMCが、3ビットのデータを記憶可能な場合、すなわち、メモリグループMGが、物理ページにおける3ページデータの記憶容量を有している場合について説明する。
なお、メモリセルアレイ130の回路構成は、以上で説明した構成に限定されない。例えば、各NANDストリングNSが含むメモリセルトランジスタMC並びに選択トランジスタST1及びST2の個数は、それぞれ任意の個数に設計され得る。各ブロックBLKが含むストリングユニットSUの個数は、任意の個数に設計され得る。
1.1.4 メモリセルアレイの断面構成
次に、メモリセルアレイ130の断面構成について、図4を用いて説明する。図4の例は、1つのNANDストリングNSの断面を示している。なお、図4の例では、説明を簡略化するために、半導体基板30上に、センスアンプ132に用いられる1つのトランジスタが示されている。また、図4の例では、一部の層間絶縁膜が省略されている。
次に、メモリセルアレイ130の断面構成について、図4を用いて説明する。図4の例は、1つのNANDストリングNSの断面を示している。なお、図4の例では、説明を簡略化するために、半導体基板30上に、センスアンプ132に用いられる1つのトランジスタが示されている。また、図4の例では、一部の層間絶縁膜が省略されている。
図4に示すように、半導体基板30上に、センスアンプ132に用いられるトランジスタが設けられている。すなわち、半導体基板30とメモリセルアレイ130との間に、センスアンプ132が設けられている。なお、半導体基板30とメモリセルアレイ130との間に、ロウデコーダ131またはページバッファ133等の他の周辺回路が設けられていてもよい。メモリセルアレイ130の下方に周辺回路が設けられている構成を、CUA(CMOS Under Allay)構造とも表記する。本実施形態では、CUA構造において、半導体基板30とメモリセルアレイ130との間に、センスアンプ132とページバッファ133とが設けられている場合について説明する。なお、メモリ100は、メモリセルアレイ130が設けられたアレイチップと、周辺回路が設けられた回路チップとを貼り合わせた構造であってもよい。
まず、メモリセルアレイ130の構成について説明する。半導体基板30にほぼ平行なX方向、及びX方向に交差するY方向にそれぞれ延伸し、ソース線SLとして機能する配線層32が形成されている。配線層32は導電材料により構成され、例えば不純物を添加された半導体材料、または金属材料が用いられる。
配線層32の上方には、選択ゲート線SGS、ワード線WL0~WL7、及び選択ゲート線SGDとして機能し、X方向に延伸する例えば10層の配線層33が、それぞれ図示せぬ層間絶縁膜を介して、半導体基板30にほぼ垂直なZ方向に離間して順次設けられている。
配線層33は導電材料により構成され、例えば不純物を添加された半導体材料または金属材料が用いられる。例えば、配線層33として、窒化チタン(TiN)/タングステン(W)の積層構造が用いられる。TiNは、例えばCVD(chemical vapor deposition)によりWを成膜する際、WとSiO2との反応を防止するためのバリア層、あるいはWの密着性を向上させるための密着層としての機能を有する。
そして、10層の配線層33を貫通して、底面が配線層32に達するメモリピラーMPが形成されている。1つのメモリピラーMPが1つのNANDストリングNSに対応する。メモリピラーMPは、ブロック絶縁膜34、電荷蓄積層35、トンネル絶縁膜36、半導体層37、コア層38、及びキャップ層39を含む。
より具体的には、配線層33を貫通して、底面が配線層32に達するように、メモリピラーMPに対応するホールが形成されている。ホールの側面にはブロック絶縁膜34、電荷蓄積層35、及びトンネル絶縁膜36が順次積層されている。そして側面がトンネル絶縁膜36に接し、底面が配線層32に接するように半導体層37が形成されている。半導体層37は、メモリセルトランジスタMC並びに選択トランジスタST1及びST2のチャネルが形成される領域である。よって、半導体層37は、選択トランジスタST2、メモリセルトランジスタMC0~MC7、及び選択トランジスタST1の電流経路を接続する信号線として機能する。半導体層37内にはコア層38が設けられている。そして半導体層37及びコア層38上には、側面がトンネル絶縁膜36に接するキャップ層39が形成されている。
ブロック絶縁膜34、トンネル絶縁膜36、及びコア層38には、例えばSiO2が用いられる。電荷蓄積層35には、例えばシリコン窒化膜(SiN)が用いられる。半導体層37及びキャップ層39には、例えばポリシリコンが用いられる。
キャップ層39上には、コンタクトプラグ40が形成されている。コンタクトプラグ40上には、ビット線BLとして機能し、Y方向に延伸する配線層41が形成されている。コンタクトプラグ40及び配線層41は、導電材料により構成され、例えば、チタン(Ti)/TiN/Wの積層構造、または銅(Cu)等が用いられる。
なお、図4の例では、選択ゲート線SGD及びSGSとして機能する配線層33は、それぞれ1層設けられているが、複数層設けられてもよい。
メモリピラーMPと、ワード線WL0~WL7としてそれぞれ機能する8層の配線層33とにより、メモリセルトランジスタMC0~MC7がそれぞれ構成される。同様に、メモリピラーMPと、選択ゲート線SGD及びSGSとしてそれぞれ機能する2層の配線層33とにより、選択トランジスタST1及びST2がそれぞれ構成される。
次に、センスアンプ132に含まれるトランジスタについて、簡略に説明する。
半導体基板30上には、例えば、センスアンプ132に含まれるトランジスタが設けられる。例えば、トランジスタのソース及びドレイン上には、コンタクトプラグ51及び54を介して、2つの配線層53及び55が接続されている。トランジスタのゲート電極52には、コンタクトプラグ51を介して、配線層53が接続されている。
半導体基板30上には、例えば、センスアンプ132に含まれるトランジスタが設けられる。例えば、トランジスタのソース及びドレイン上には、コンタクトプラグ51及び54を介して、2つの配線層53及び55が接続されている。トランジスタのゲート電極52には、コンタクトプラグ51を介して、配線層53が接続されている。
トランジスタのソースまたはドレインの一方に対応する配線層55上には、上面の高さ位置が、最上層の配線層33の上方に位置するコンタクトプラグ56が形成されている。コンタクトプラグ56は、配線層32及び33には、電気的に接続されていない。コンタクトプラグ56の上には、コンタクトプラグ57が形成されている。コンタクトプラグ56は、コンタクトプラグ57を介して配線層41と接続されている。コンタクトプラグ51、54、56、及び57、ゲート電極52、並びに配線層53及び55は、導電材料により構成されている。
1.1.5 センスアンプ及びページバッファの構成
次に、センスアンプ132及びページバッファ133の構成の一例について、図5及び図6を用いて説明する。図5は、センスアンプ132及びページバッファ133のブロック図である。図6は、CUA構造を示す斜視図である。
次に、センスアンプ132及びページバッファ133の構成の一例について、図5及び図6を用いて説明する。図5は、センスアンプ132及びページバッファ133のブロック図である。図6は、CUA構造を示す斜視図である。
図5に示すように、本実施形態では、シーケンサ123は、1つのメモリグループMG内の複数のメモリセルトランジスタMCを、第1セル領域と第2セル領域との2つに分けて制御する。同様に、シーケンサ123は、第1セル領域及び第2セル領域に対応して、センスアンプ132及びページバッファ133を、2つに分けて制御する。例えば、第1セル領域に含まれるメモリセルトランジスタMCは、ビット線BL0~BL(i-1)(iは1以上k未満の整数)に関連付けられている。第2セル領域に含まれるメモリセルトランジスタMCは、ビット線BL(i)~BL(k-1)に関連付けられている。なお、第1セル領域に含まれるメモリセルトランジスタMCの個数と、第2セル領域に含まれるメモリセルトランジスタMCの個数とは同じであることが好ましい。例えば、第1セル領域に含まれるメモリセルトランジスタMCの個数と、第2セル領域に含まれるメモリセルトランジスタMCの個数とが同じである場合、iとkは、i=k/2の関係にある。
センスアンプ132は、ビット線BL毎に設けられた複数のセンス回路SAを含む。センス回路SAは、読み出し動作時には対応するビット線BLに接続されたメモリセルトランジスタMCからデータを読み出し、データが“0”であるか“1”であるかを判定する。また、センス回路SAは、書き込み動作時には、書き込みデータに基づいてビット線BLに電圧を印加する。センス回路SAは、読み出しデータまたは書き込みデータを一時的に記憶するためのラッチ回路を含んでいてもよい。以下では、第1セル領域に含まれるメモリセルトランジスタMCに対応するビット線BLに接続されたセンス回路を「センス回路SA1」と表記する。また、第2セル領域に含まれるメモリセルトランジスタMCに対応するビット線BLに接続されたセンス回路を「センス回路SA2」と表記する。
ページバッファ133は、1つのセンス回路SAに対応して、ラッチ回路ADL、BDL、及びXDLを含む。センス回路SA、並びにラッチ回路ADL、BDL、及びXDLは、互いに接続されている。換言すれば、センス回路SA、並びにラッチ回路ADL、BDL、及びXDLは、互いにデータを送受信可能なように接続されている。ラッチ回路ADL、BDL、及びXDLは、データDATを一時的に記憶する。例えば、読み出し動作時にセンス回路SAが確定させた読み出しデータは、センス回路SAからラッチ回路ADL、BDL、及びXDLのいずれかに転送される。
ラッチ回路XDLは、データバスを介して、シリアルアクセスコントローラ126に接続され、シリアルアクセスコントローラ126とセンスアンプ132との間のデータの送受信に用いられる。
なお、ページバッファ133の構成はこれに限定されず、種々変更が可能である。例えば、ページバッファ133が備えるラッチ回路の個数は、1つのメモリセルトランジスタMCが保持するデータのビット数に基づいて設計され得る。
以下では、センス回路SA1に対応するラッチ回路ADL、BDL、及びXDLを「ラッチ回路ADL1」、「ラッチ回路BDL1」、及び「ラッチ回路XDL1」と表記する。また、センス回路SA2に対応するラッチ回路ADL、BDL、及びXDLを「ラッチ回路ADL2」、「ラッチ回路BDL2」、及び「ラッチ回路XDL2」と表記する。また、1つのビット線BLに対応するセンス回路SA、ラッチ回路ADL、BDL、及びXDLの組を、「センスアンプユニットSAU」と表記する。更に、センス回路SA1、ラッチ回路ADL1、BDL1、及びXDL1の組を、「センスアンプユニットSAU1」と表記し、センス回路SA2、ラッチ回路ADL2、BDL2、及びXDL2の組を、「センスアンプユニットSAU2」と表記する。
本実施形態では、第1セル領域に対応する複数のセンスアンプユニットSAU1が1つの領域に集まって配置され、第2セル領域に対応する複数のセンスアンプユニットSAU2が別の領域に集まって配置されている。
次に、メモリグループMGの配置とセンスアンプユニットSAUの配置との関係について説明する。
図6に示すように、CUA構造の場合、Z方向において、センスアンプ132及びページバッファ133の上方に、メモリセルアレイ130が配置されている。例えば、メモリセルアレイ130において、メモリグループMGに含まれる複数のメモリセルトランジスタMCがX方向に並んで配置されている。また、複数のブロックBLKが、Y方向に並んで配置されている。センスアンプ132及びページバッファ133において、1つのメモリセルトランジスタMCに対応するセンスアンプユニットSAU内では、センス回路SA、並びにラッチ回路ADL、BDL、及びXDLがY方向に並んで配置されている。なお、センス回路SA、並びにラッチ回路ADL、BDL、及びXDLを一段で配置することが難しい場合は複数段にして配置してもよい。
1.2 メモリセルトランジスタの閾値電圧分布
次に、メモリセルトランジスタMCの取り得る閾値電圧分布について、図7を用いて説明する。図7は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが8値(3ビット)のデータを保持可能なTLC(Triple Level Cell)(または「3bit/Cell」とも表記する)である場合について説明する。但し、メモリセルトランジスタMCが、保持可能なデータは8値に限定されない。
次に、メモリセルトランジスタMCの取り得る閾値電圧分布について、図7を用いて説明する。図7は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが8値(3ビット)のデータを保持可能なTLC(Triple Level Cell)(または「3bit/Cell」とも表記する)である場合について説明する。但し、メモリセルトランジスタMCが、保持可能なデータは8値に限定されない。
図7に示すように、各々のメモリセルトランジスタMCの閾値電圧は、離散的な例えば8個の分布のいずれかに含まれる値を取る。以下、8個の分布を閾値電圧の低い順にそれぞれ、“S0”ステート(または閾値領域とも表記する)、“S1”ステート、“S2”ステート、“S3”ステート、“S4”ステート、“S5”ステート、“S6”ステート、及び“S7”ステートと表記する。
“S0”ステートは、例えば、データの消去状態に相当する。そして“S1”~“S7”ステートは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値電圧分布に対応するベリファイ電圧をV1~V7とする。すると、これらの電圧値は、V1<V2<V3<V4<V5<V6<V7<Vreadの関係にある。電圧V1~V7は、読み出し動作時において、読み出し対象のメモリセルトランジスタMCに接続されたワード線WL(以下、「選択ワード線WL」とも表記する)に印加される電圧である。電圧Vreadは、読み出し動作時において、読み出し対象ではないメモリセルトランジスタMCに接続されたワード線WL(以下、「非選択ワード線WL」とも表記する)に印加される電圧である。メモリセルトランジスタMCは、ゲートに電圧Vreadが印加されると保持するデータによらずにオン状態とされる。
より具体的には、“S0”ステートに含まれる閾値電圧は、電圧V1未満である。“S1”ステートに含まれる閾値電圧は、電圧V1以上であり、且つ電圧V2未満である。“S2”ステートに含まれる閾値電圧は、電圧V2以上であり、且つ電圧V3未満である。“S3”ステートに含まれる閾値電圧は、電圧V3以上であり、且つ電圧V4未満である。“S4”ステートに含まれる閾値電圧は、電圧V4以上であり、且つ電圧V5未満である。“S5”ステートに含まれる閾値電圧は、電圧V5以上であり、且つ電圧V6未満である。“S6”ステートに含まれる閾値電圧は、電圧V6以上であり、且つ電圧V7未満である。そして、“S7”ステートに含まれる閾値電圧は、電圧V7以上であり、且つ電圧Vread未満である。
なお、各ステートに対応するベリファイ電圧の設定値と読み出し電圧の設定値とは、同じであってもよく、異なっていてもよい。以下では、説明を簡略化するため、ベリファイ電圧と読み出し電圧とが同じ設定値である場合について説明する。
以下、“S1”~“S7”ステートの読み出し動作に対応する読み出し動作のことをそれぞれ、読み出し動作R1、R2、R3、R4、R5、R6、及びR7と表記する。読み出し動作R1は、メモリセルトランジスタMCの閾値電圧が電圧V1未満か否かを判定する。読み出し動作R2は、メモリセルトランジスタMCの閾値電圧が電圧V2未満か否かを判定する。以下、同様である。読み出し動作R3~R7は、メモリセルトランジスタMCの閾値電圧が電圧V3~V7未満か否かをそれぞれ判定する。
各メモリセルトランジスタMCは、8個の閾値電圧分布のいずれかを有することで、8種類の状態を取ることができる。これらの状態を、2進数表記で“000”~“111”に割り付けることで、各メモリセルトランジスタMCは3ビットのデータを保持できる。以下、3ビットのデータをそれぞれ、Lowerビット、Middleビット、及びUpperビットと表記する。また、メモリグループMGに一括して書き込まれる(または読み出される)Lowerビットの集合をLowerページと表記し、Middleビットの集合をMiddleページと表記し、Upperビットの集合をUpperページと表記する。
図7の例では、各閾値電圧分布に含まれるメモリセルトランジスタMCに対して、“Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“001”データ
“S3”ステート:“011”データ
“S4”ステート:“010”データ
“S5”ステート:“110”データ
“S6”ステート:“100”データ
“S7”ステート:“000”データ
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“001”データ
“S3”ステート:“011”データ
“S4”ステート:“010”データ
“S5”ステート:“110”データ
“S6”ステート:“100”データ
“S7”ステート:“000”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R1、R3、及びR6によって確定する。Upperページは、読み出し動作R2、R5、及びR7によって確定する。つまり、Lowerビット、Middleビット、及びUpperビットの値はそれぞれ、1回、3回、及び3回の読み出し動作によって確定する。換言すれば、ビット値を判定するための境界となる電圧の数(以下、「境界数」と表記する)は、Lowerビット、Middleビット、及びUpperビットに対して1個、3個、及び3個である。以下では、このデータの割り付けのことを、境界数を用いて「1-3-3コーディング」と表記する。
本実施形態では、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。例えば、TLC、すなわち3bit/Cellの場合、全境界数が7であるので、残りの境界数6個を残りの2ビットで分担するとき、境界数の最大値が最小になるのは、それぞれのビットの境界数を3とする場合である。
なお、“S0”~“S7”ステートへのデータの割り付けは、1-3-3コーディングに限定されない。
1.3 論理ページアドレスと物理ページアドレスとの変換動作
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図8及び図9を用いて説明する。図8は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図9は、物理ページに対する論理ページデータの割り付けを示す図である。
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図8及び図9を用いて説明する。図8は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図9は、物理ページに対する論理ページデータの割り付けを示す図である。
本実施形態では、2ページの論理ページの入力データを3ページの物理ページ(すなわち3ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
図8に示すように、例えば、メモリコントローラ200は、ホストデバイス2から書き込み要求を受信すると、受信した2つの論理アドレス“00001”及び“00002”に対応して、2つの論理ページアドレス“90001”及び“90002”を割り付ける。以下では、割り付けられた2つの論理ページを「論理第1ページ」及び「論理第2ページ」と表記する。図8の例では、論理第1ページが論理ページアドレス“90001”に対応し、論理第2ページが論理ページアドレス“90002”に対応する。
コマンドユーザインターフェイス回路121は、メモリコントローラ200から2ページ分の論理ページアドレス及び論理ページを含む書き込み命令を受信すると、予め設定されたマッピングに従って、2ページ分の論理ページアドレスを3ページ分の物理ページアドレスに変換する。本実施形態では、コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを、Lowerページの第1セル領域及びMiddleページの物理ページアドレスに変換する。また、コマンドユーザインターフェイス回路121は、論理第2ページの論理ページアドレスを、Lowerページの第2セル領域及びUpperページの物理ページアドレスに変換する。
1ページの論理ページのページサイズは、1ページの物理ページのページサイズよりも大きい。しかし、2ページ分の論理ページのデータ量(データ長)と、3ページ分の物理ページのデータ量(データ長)とは同じである。
本実施形態では、1ページの論理ページのページサイズをm(mは1以上の数)とし、書き込む論理ページ数(すなわち、命令に含まれる論理ページアドレスの個数)をa(aは1以上の整数)とする。また、1ページの物理ページのページサイズをn(nはmより小さい数)とし、書き込む物理ページ数(すなわち、メモリセルトランジスタMCが記憶可能なデータのビット数)をb(bはaより大きい整数)とする。すると、1ページの物理ページ、すなわち1つのメモリグループMGのページサイズnは、n=m×a/bで表せる。また、第1セル領域及び第2セル領域のページサイズは、それぞれn/2で表せる。本実施形態では、a=2且つb=3であるため、物理ページのページサイズは、n=m×2/3である。例えば、論理ページのページサイズが16[kB]である場合、物理ページのページサイズは、n=16×2/3=10.67[kB]である。この場合、1ページの物理ページのページサイズn=10.67kBを実現できるメモリセルトランジスタMCの個数は、10.67×1024の小数点以下を切り上げた整数値と同じかそれよりも大きい整数値となる。すなわち、メモリセルトランジスタMCの個数は、1ページの物理ページのページサイズの小数点以下を切り上げた整数値と同じかそれよりも大きい整数値となる。本実施形態では、物理ページのページサイズは、論理ページのページサイズよりも小さい。このような場合、論理ページにより構成される論理ブロックBLK内のストリングユニットSUの個数と、物理ページにより構成される物理ブロックBLK(すなわち、メモリセルアレイ130のブロックBLK)内のストリングユニットSUの個数とが同じであると、物理ブロックBLKのブロックサイズ(メモリ容量)は、論理ブロックBLKのブロックサイズ(メモリ容量)よりも小さくなる。このため、論理ブロックBLKのメモリ容量と物理ブロックBLKのメモリ容量とが同じになるように、物理ブロックBLK内のストリングユニットSUの個数を、例えば4つから6つに増やしてもよい。または、物理ブロックBLKの個数を、論理ブロックBLKの個数よりも多くしてもよい。
例えば、シーケンサ123は、コマンドユーザインターフェイス回路121において変換された物理ページアドレスに基づいて、1つのメモリグループMGのLowerページの第1セル領域とMiddleページの第1及び第2セル領域とに論理第1ページのデータを書き込み、Lowerページの第2セル領域とUpperページの第1及び第2セル領域とに論理第2ページのデータを書き込む。
次に、1つのメモリグループMGにおける論理ページデータの配置について詳述する。
図9に示すように、論理第1ページ及び論理第2ページのデータをそれぞれ3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、シーケンサ123は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第1ページの第2クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第3クラスタを書き込む。また、シーケンサ123は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Upperページの第1セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第3クラスタを書き込む。
図9に示すように、論理第1ページ及び論理第2ページのデータをそれぞれ3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、シーケンサ123は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第1ページの第2クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第3クラスタを書き込む。また、シーケンサ123は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Upperページの第1セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第3クラスタを書き込む。
1.4 読み出し動作
次に、読み出し動作について説明する。本実施形態の読み出し動作では、メモリ100は、メモリコントローラ200から論理ページに基づく読み出し命令を受信すると、対応する複数の物理ページからデータを読み出し、読み出したデータを合成して論理ページのデータとして出力する。
次に、読み出し動作について説明する。本実施形態の読み出し動作では、メモリ100は、メモリコントローラ200から論理ページに基づく読み出し命令を受信すると、対応する複数の物理ページからデータを読み出し、読み出したデータを合成して論理ページのデータとして出力する。
本実施形態では、読み出し対象となる論理ページが論理第1ページである場合と論理第2ページである場合とで、読み出し動作が異なる。論理ページが論理第1ページである場合、読み出しの対象となる物理ページは、Lowerページ(第1セル領域)及びMiddleページ(第1セル領域及び第2セル領域)である。この場合、メモリ100は、Lowerページの第1セル領域のデータ、並びにMiddleページの第1セル領域及び第2セル領域のデータをメモリコントローラ200に送信(出力)する。他方で、論理ページが論理第2ページである場合、読み出しの対象となる物理ページは、Lowerページ(第2セル領域)及びUpperページ(第1セル領域及び第2セル領域)である。この場合、メモリ100は、Lowerページの第2セル領域のデータ、並びにUpperページの第1セル領域及び第2セル領域のデータをメモリコントローラ200に送信(出力)する。
1.4.1 読み出し動作の流れ
まず、メモリ100における読み出し動作の流れについて、図10及び図11を用いて説明する。図10及び図11は、読み出し動作のフローチャートである。
まず、メモリ100における読み出し動作の流れについて、図10及び図11を用いて説明する。図10及び図11は、読み出し動作のフローチャートである。
図10及び図11に示すように、メモリ100は、メモリコントローラ200から論理第1ページまたは論理第2ページの読み出し命令を受信する(ステップS1)。コマンドユーザインターフェイス回路121は、論理ページアドレスを物理ページアドレスに変換した後、シーケンサ123に、受信したコマンド及び変換した物理ページアドレスを送信する。
論理ページアドレスが、論理第1ページの論理ページアドレスである場合(ステップS2_Yes)、シーケンサ123は、まず、Lowerページの読み出し動作を実行する(ステップS3)。より具体的には、シーケンサ123は、読み出し電圧V4に対応する読み出し動作R4を実行する。
シーケンサ123は、読み出し動作R4の結果に基づいて、Lowerページのデータを決定する(ステップS4)。
シーケンサ123は、センス回路SA1及びSA2が読み出したLowerページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS5)。
シーケンサ123は、ラッチ回路ADL1のデータ(論理第1ページの第1クラスタのデータ)をラッチ回路XDL1に転送する(ステップS6)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS7)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1のデータの送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL1のデータの出力と並行して、Middleページの読み出し動作を実行する(ステップS8)。より具体的には、シーケンサ123は、読み出し電圧V1に対応する読み出し動作R1と、読み出し電圧V3に対応する読み出し動作R3と、読み出し電圧V6に対応する読み出し動作R6とを実行する。なお、読み出し動作R1、R3、及びR6の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R1、R3、及びR6の結果に基づいて、Middleページのデータを決定する(ステップS9)。
シーケンサ123は、センス回路SA1及びSA2が読み出したMiddleページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS10)。
シーケンサ123は、ラッチ回路ADL2のデータ(論理第1ページの第2クラスタのデータ)をラッチ回路XDL2に転送する(ステップS11)。
シーケンサ123は、ラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)の出力が終了していない場合(ステップS12_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL1のデータの出力が終了すると(ステップS12_Yes)、シーケンサ123は、ラッチ回路ADL1のデータ(論理第1ページの第3クラスタのデータ)をラッチ回路XDL1に転送する(ステップS13)。シーケンサ123は、ラッチ回路XDL2のデータ(論理第1ページの第2クラスタのデータ)及びラッチ回路XDL1のデータ(論理第1ページの第3クラスタのデータ)の出力が終了すると、論理第1ページの読み出し動作を終了する。
論理ページアドレスが、論理第1ページの論理ページアドレスではない場合(ステップS2_No)、すなわち、論理ページアドレスが、論理第2ページの論理ページアドレスである場合、シーケンサ123は、ステップS3と同様に、まず、Lowerページの読み出し動作を実行する(ステップS14)。
シーケンサ123は、読み出し動作R4の結果に基づいて、Lowerページのデータを決定する(ステップS15)。
シーケンサ123は、センス回路SA1及びSA2が読み出したLowerページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS16)。
シーケンサ123は、ラッチ回路ADL2のデータ(論理第2ページの第1クラスタのデータ)をラッチ回路XDL2に転送する(ステップS17)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL2の先頭アドレスを設定する(ステップS18)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL2の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL2のデータの送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL2のデータの出力と並行して、Upperページの読み出し動作を実行する(ステップS19)。より具体的には、シーケンサ123は、読み出し電圧V2に対応する読み出し動作R2と、読み出し電圧V5に対応する読み出し動作R5と、読み出し電圧V7に対応する読み出し動作R7とを実行する。なお、読み出し動作R2、R5、及びR7の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R2、R5、及びR7の結果に基づいて、Upperページのデータを決定する(ステップS20)。
シーケンサ123は、センス回路SA1及びSA2が読み出したUpperページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS21)。
シーケンサ123は、ラッチ回路ADL1のデータ(論理第2ページの第2クラスタのデータ)をラッチ回路XDL1に転送する(ステップS22)。
シーケンサ123は、ラッチ回路XDL2のデータ(論理第2ページの第1クラスタのデータ)の出力が終了していない場合(ステップS23_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL2のデータの出力が終了すると(ステップS23_Yes)、シーケンサ123は、ラッチ回路ADL2のデータ(論理第2ページの第3クラスタのデータ)をラッチ回路XDL2に転送する(ステップS24)。また、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1のデータの送信(出力)を開始する。シーケンサ123は、ラッチ回路XDL1のデータ(論理第2ページの第2クラスタのデータ)及びラッチ回路XDL2のデータ(論理第2ページの第3クラスタのデータ)の出力が終了すると、論理第2ページの読み出し動作を終了する。
1.4.2 読み出し動作時の選択ワード線の電圧
次に、読み出し動作時における選択ワード線の電圧について、図12及び図13を用いて説明する。図12は、論理第1ページの読み出し動作における選択ワード線WLの電圧を示すタイミングチャートである。図13は、論理第2ページの読み出し動作における選択ワード線WLの電圧を示すタイミングチャートである。
次に、読み出し動作時における選択ワード線の電圧について、図12及び図13を用いて説明する。図12は、論理第1ページの読み出し動作における選択ワード線WLの電圧を示すタイミングチャートである。図13は、論理第2ページの読み出し動作における選択ワード線WLの電圧を示すタイミングチャートである。
図12に示すように、論理第1ページのデータを読み出すため、シーケンサ123は、LowerページのデータとMiddleページのデータを読み出す。すなわち、シーケンサ123は、Lowerページに対応する読み出し動作R4と、Middleページに対応する読み出し動作R1、R3、及びR6を順次実行する。
より具体的には、時刻t0において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R4に対応する読み出し電圧V4を印加する。
時刻t1において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R1に対応する読み出し電圧V1を印加する。
時刻t2において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R3に対応する読み出し電圧V3を印加する。
時刻t3において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R6に対応する読み出し電圧V6を印加する。
時刻t4において、ロウデコーダ131は、選択ワード線WLに、接地電圧VSSを印加し、読み出し電圧の印加を終了する。
なお、ロウデコーダ131が選択ワード線WLに電圧V1、V3、V4、及びV6を印加する順序は、入れ替え可能である。例えば、ロウデコーダ131は、選択ワード線WLに、電圧V4、V6、V3、及びV1を順に印加してもよいし、電圧V1、V3、V4、及びV6を順に印加してもよい。また、ロウデコーダ131は、電圧V6、V4、V3、及びV1を順に印加してもよい。
図13に示すように、論理第2ページのデータを読み出すため、シーケンサ123は、LowerページのデータとUpperページのデータを読み出す。すなわち、シーケンサ123は、Lowerページに対応する読み出し動作R4と、Upperページに対応する読み出し動作R2、R5、及びR7を順次実行する。
より具体的には、時刻t0において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R4に対応する読み出し電圧V4を印加する。
時刻t1において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R2に対応する読み出し電圧V2を印加する。
時刻t2において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R5に対応する読み出し電圧V5を印加する。
時刻t3において、ロウデコーダ131は、選択ワード線WLに、読み出し動作R7に対応する読み出し電圧V7を印加する。
時刻t4において、ロウデコーダ131は、選択ワード線WLに、接地電圧VSSを印加し、読み出し電圧の印加を終了する。
なお、ロウデコーダ131が選択ワード線WLに電圧V2、V4、V5、V7を印加する順序は、入れ替え可能である。例えば、ロウデコーダ131は、選択ワード線WLに、電圧V4、V7、V5、及びV2を順に印加してもよいし、電圧V2、V4、V5、及びV7を順に印加してもよい。また、ロウデコーダ131は、電圧V7、V5、V4、及びV2を順に印加してもよい。
1.4.3 読み出し動作のコマンドシーケンス
次に、読み出し動作のコマンドシーケンスの一例について、図14及び図15を用いて説明する。図14は、論理第1ページの読み出し動作のコマンドシーケンスを示す。図15は、論理第2ページの読み出し動作のコマンドシーケンスを示す。図14及び図15の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。以下の説明では、メモリ100からメモリコントローラ200に送信されるレディ/ビジー信号RBnを「外部RBn信号」と表記する。また、メモリ100内においてメモリ100がビジー状態であるか否かを示す内部信号を「内部RBn信号」と表記する。信号DQにおいて、コマンドは丸枠内に表記し、アドレスは四角枠内に表記し、データは六角枠内に表記する。また、ページバッファ133のいずれのラッチ回路に有効データが記憶されている場合、ラッチ回路は、角が丸い四角枠で表記する。更に、図14及び図15の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、読み出し動作のコマンドシーケンスの一例について、図14及び図15を用いて説明する。図14は、論理第1ページの読み出し動作のコマンドシーケンスを示す。図15は、論理第2ページの読み出し動作のコマンドシーケンスを示す。図14及び図15の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。以下の説明では、メモリ100からメモリコントローラ200に送信されるレディ/ビジー信号RBnを「外部RBn信号」と表記する。また、メモリ100内においてメモリ100がビジー状態であるか否かを示す内部信号を「内部RBn信号」と表記する。信号DQにおいて、コマンドは丸枠内に表記し、アドレスは四角枠内に表記し、データは六角枠内に表記する。また、ページバッファ133のいずれのラッチ回路に有効データが記憶されている場合、ラッチ回路は、角が丸い四角枠で表記する。更に、図14及び図15の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、論理第1ページの読み出し動作におけるコマンドシーケンスを説明する。
図14に示すように、例えば、読み出し対象が論理第1ページである場合、メモリコントローラ200は、メモリ100に、読み出し動作を実行することを通知するコマンド“00h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、読み出し動作の実行を命令するコマンド“30h”を送信する。コマンドユーザインターフェイス回路121は、受信したコマンドと、変換した物理ページアドレスとを、シーケンサ123に順に送信する。
図14に示すように、例えば、読み出し対象が論理第1ページである場合、メモリコントローラ200は、メモリ100に、読み出し動作を実行することを通知するコマンド“00h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、読み出し動作の実行を命令するコマンド“30h”を送信する。コマンドユーザインターフェイス回路121は、受信したコマンドと、変換した物理ページアドレスとを、シーケンサ123に順に送信する。
シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R4)を実行する。すなわち、選択ワード線WLに読み出し電圧V4が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。そして、ラッチ回路ADL1のデータは、ラッチ回路XDL1に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Middleページの読み出し動作(読み出し動作R1、R3、及びR6)を開始する。すなわち、選択ワード線WLに読み出し電圧V1、V3、及びV6が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL1のデータを出力する。ラッチ回路XDL1のデータが出力されている間にMiddleページの読み出し動作が終了すると、シーケンサ123は、内部RBn信号を“H”レベルにする。Middleページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、Middleページの読み出し動作終了よりもラッチ回路XDL1のデータの出力が先に終了した場合、シーケンサ123は、一旦、外部RBn信号を“L”レベル(ビジー状態)とし、メモリコントローラ200へのデータの出力を中断させてもよい。これにより、Lowerページの第1セル領域のデータを出力した後に、Middleページの第2セル領域のデータを連続して出力できる。
次に、ラッチ回路ADL2のデータが、ラッチ回路XDL2に転送される。入出力回路110は、ラッチ回路XDL1のデータの出力が終了すると、続いてラッチ回路XDL2のデータの出力を開始する。ラッチ回路XDL2のデータが出力されている間に、ラッチ回路ADL1のデータがラッチ回路XDL1に転送される。入出力回路110は、ラッチ回路XDL2のデータの出力が終了すると、続いてラッチ回路XDL1のデータの出力を実行する。ラッチ回路XDL1のデータの出力が終了すると、論理第1ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第1ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
次に、論理第2ページの読み出し動作におけるコマンドシーケンスを説明する。
図15に示すように、例えば、読み出し対象が論理第2ページである場合、メモリコントローラ200は、メモリ100に、読み出し動作を実行することを通知するコマンド“00h”を送信する。次に、メモリコントローラ200は、論理第2ページの論理ページアドレス“AD-P2”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P2”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、読み出し動作の実行を命令するコマンド“30h”を送信する。コマンドユーザインターフェイス回路121は、受信したコマンドと、変換した物理ページアドレスとを、シーケンサ123に順に送信する。
図15に示すように、例えば、読み出し対象が論理第2ページである場合、メモリコントローラ200は、メモリ100に、読み出し動作を実行することを通知するコマンド“00h”を送信する。次に、メモリコントローラ200は、論理第2ページの論理ページアドレス“AD-P2”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P2”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、読み出し動作の実行を命令するコマンド“30h”を送信する。コマンドユーザインターフェイス回路121は、受信したコマンドと、変換した物理ページアドレスとを、シーケンサ123に順に送信する。
シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R4)を実行する。すなわち、選択ワード線WLに読み出し電圧V4が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。そして、ラッチ回路ADL2のデータは、ラッチ回路XDL2に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Upperページの読み出し動作(読み出し動作R2、R5、及びR7)を開始する。すなわち、選択ワード線WLに読み出し電圧V2、V5、及びV7が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL2のデータを出力する。ラッチ回路XDL2のデータが出力されている間にUpperページの読み出し動作が終了すると、シーケンサ123は、内部RBn信号を“H”レベルにする。Upperページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、Upperページの読み出し動作終了よりもラッチ回路XDL2のデータの出力が先に終了した場合、シーケンサ123は、一旦、外部RBn信号を“L”レベル(ビジー状態)とし、メモリコントローラ200へのデータの出力を中断させてもよい。これにより、Lowerページの第2セル領域のデータを出力した後に、Upperページの第1セル領域のデータを連続して出力できる。
次に、ラッチ回路ADL1のデータが、ラッチ回路XDL1に転送される。入出力回路110は、ラッチ回路XDL2のデータの出力が終了すると、続いてラッチ回路XDL1のデータの出力を開始する。ラッチ回路XDL1のデータが出力されている間に、ラッチ回路ADL2のデータがラッチ回路XDL2に転送される。入出力回路110は、ラッチ回路XDL1のデータの出力が終了すると、続いてラッチ回路XDL2のデータの出力を実行する。ラッチ回路XDL2のデータの出力が終了すると、論理第2ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第2ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
1.5 書き込み動作
次に、書き込み動作について説明する。書き込み動作は、大まかにはプログラム動作とプログラムベリファイ動作とを含む。プログラム動作は、電荷蓄積層に電子を注入することにより閾値電圧を上昇させる(または、電荷蓄積層に電子をほとんど注入させないことで閾値電圧を維持させる)動作のことである。プログラムベリファイ動作は、プログラム動作の後、データを読み出し、メモリセルトランジスタMCの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。以下、メモリセルトランジスタMCの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と表記し、ターゲットレベルまで達していない場合を、「ベリファイをフェイルした」と表記する。より具体的には、例えば、プログラムベリファイ動作において、読み出されたデータのフェイルビット数が予め設定された基準値以上である場合、「ベリファイをフェイルした」と判定される。そして、プログラム動作とプログラムベリファイ動作との組み合わせ(以下、「プログラムループ」と呼ぶ)を繰り返すことで、メモリセルトランジスタMCの閾値電圧がターゲットレベルまで上昇される。
次に、書き込み動作について説明する。書き込み動作は、大まかにはプログラム動作とプログラムベリファイ動作とを含む。プログラム動作は、電荷蓄積層に電子を注入することにより閾値電圧を上昇させる(または、電荷蓄積層に電子をほとんど注入させないことで閾値電圧を維持させる)動作のことである。プログラムベリファイ動作は、プログラム動作の後、データを読み出し、メモリセルトランジスタMCの閾値電圧が目標とするターゲットレベルに達したか否かを判定する動作である。以下、メモリセルトランジスタMCの閾値電圧がターゲットレベルに達している場合を、「ベリファイをパスした」と表記し、ターゲットレベルまで達していない場合を、「ベリファイをフェイルした」と表記する。より具体的には、例えば、プログラムベリファイ動作において、読み出されたデータのフェイルビット数が予め設定された基準値以上である場合、「ベリファイをフェイルした」と判定される。そして、プログラム動作とプログラムベリファイ動作との組み合わせ(以下、「プログラムループ」と呼ぶ)を繰り返すことで、メモリセルトランジスタMCの閾値電圧がターゲットレベルまで上昇される。
本実施形態では、論理第1ページ及び論理第2ページのデータが、Lowerページ、Middleページ、及びUppwerページを有するメモリグループMGに一括して書き込まれる。すなわち、1つのメモリセルトランジスタMCに3ビットのデータが、一括して書き込まれる。以下、複数の物理ページのデータを一括して書き込む動作を「フルシーケンス書き込み動作」と表記する。本実施形態のフルシーケンス書き込み動作では、“S1”ステート~“S7”ステートの書き込みが実行される。例えば、フルシーケンス書き込み動作では、閾値電圧が低いステートから順に書き込まれる。例えば、論理ページのページサイズと物理ページのページサイズとが同じである場合、メモリセルアレイ130に“S1”~“S3”ステートが書き込まれると、ラッチ回路XDLは、“S1”~“S3”ステートの書き込み動作には不要となる。このため、ラッチ回路XDLは、次の書き込みデータのためのキャッシュメモリとして使われる。しかし、本実施形態の場合、物理的なラッチ回路XDLの数が論理ページのページサイズ(例えば、16kB)の2/3(例えば、10.67kB)であるため、ラッチ回路XDLに、論理ページの1ページデータを全て格納することができない。このため、まず空いているラッチ回路XDLに論理ページの2/3のページデータを入力後、一旦、信号RBnをビジー状態とする。そして、メモリセルアレイ130に“S1”~“S5”ステートまで書き込まれ、ラッチ回路ADLまたはラッチ回路BDLが書き込み動作に不要となったときに、信号RBnをレディ状態として、ラッチ回路XDLに論理ページの残りのページデータを入力してもよい。または、各センスアンプユニットSAUにラッチ回路を1つ追加してもよい。
本実施形態では、メモリ100は、ラッチ回路XDL1とXDL2とに交互に入力データを転送することにより、論理ページのデータ入力が連続的に行えるように制御する。
1.5.1 書き込み動作の流れ
次に、メモリ100における書き込み動作の流れについて、図16及び図17を用いて説明する。図16及び図17は、書き込み動作のフローチャートである。
次に、メモリ100における書き込み動作の流れについて、図16及び図17を用いて説明する。図16及び図17は、書き込み動作のフローチャートである。
図16及び図17に示すように、メモリ100は、書き込み命令の受信において、メモリコントローラ200から論理第1ページの論理ページアドレスを受信する(ステップS201)。コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS202)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第1クラスタのデータ入力が開始される(ステップS203)。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第1クラスタのデータ入力が終了していない場合(ステップS204_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS204_Yes)、シーケンサ123は、ラッチ回路XDL1のデータをラッチ回路ADL1に転送する(ステップS205)。また、ラッチ回路XDL1へのデータ入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力が開始される。なお、ステップS205は、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力中に実行されてもよい。
シーケンサ123は、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力が終了していない場合(ステップS206_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2へのデータ入力が終了すると(ステップS206_Yes)、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS207)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第3クラスタのデータ入力が開始される。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第3クラスタのデータ入力が終了していない場合(ステップS208_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS208_Yes)、ラッチ回路XDL1及びXDL2への論理第1ページのデータ入力が終了する。
シーケンサ123は、ラッチ回路XDL1及びXDL2のデータをラッチ回路BDL1及びBDL2にそれぞれ転送する(ステップS209)。
次に、メモリ100は、メモリコントローラ200から論理第2ページの論理ページアドレスを受信する(ステップS210)。コマンドユーザインターフェイス回路121は、論理第2ページの論理ページアドレスを物理ページアドレスに変換する。なお、ラッチ回路XDL1への論理第1ページの第3クラスタのデータ入力中に、シーケンサ123は、ラッチ回路XDL2のデータをラッチ回路BDL2に転送してもよい。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL2の先頭アドレスを設定する(ステップS211)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力が開始される(ステップS212)。なお、ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力中に、シーケンサ123は、ラッチ回路XDL1のデータをラッチ回路BDL1に転送してもよい。
シーケンサ123は、ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力が終了していない場合(ステップS213_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2へのデータ入力が終了すると(ステップS213_Yes)、シーケンサ123は、ラッチ回路XDL2のデータをラッチ回路ADL2に転送する(ステップS214)。また、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS215)。ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第2ページの第2クラスタのデータ入力と、ラッチ回路XDL2への論理第2ページの第3クラスタのデータ入力が順に実行される。なお、ステップS213_Yesの場合、続いてラッチ回路XDL1への論理第2ページの第2クラスタのデータ入力が開始され、その間にシーケンサ123は、ステップS214を実行してもよい。
シーケンサ123は、ラッチ回路XDL2への論理第2ページの第3クラスタのデータ入力が終了していない場合(ステップS216_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2へのデータ入力が終了すると(ステップS216_Yes)、ラッチ回路XDL1及びXDL2への論理第2ページのデータ入力は終了する。シーケンサ123は、外部RBn信号及び内部RBn信号を“L”レベルにする。そして、シーケンサ123は、入力された論理第1ページのデータと論理第2ページのデータ、すなわち、LowerページとMiddleページとUpperページとのデータの組み合わせに基づいて、各メモリセルトランジスタMCのステートを決定する。
シーケンサ123は、決定されたステートに基づいて、プログラム動作を実行する(ステップS217)。
プログラム動作終了後、シーケンサ123は、プログラムベリファイ動作を実行する(ステップS218)。
ベリファイをパスしていない場合(ステップS219_No)、シーケンサ123は、プログラムループ回数が予め設定された上限回数に達したか確認する(ステップS220)。
プログラムループ回数が上限回数に達していない場合(ステップS220_No)、シーケンサ123は、プログラム動作を実行する(ステップS217)。すなわち、シーケンサ123は、プログラムループを繰り返す。
プログラムループ回数が上限回数に達している場合(ステップS220_Yes)、シーケンサ123は、書き込み動作を終了し、書き込み動作が正常に終了しなかった旨を、メモリコントローラ200に報告する。
ベリファイをパスした場合(ステップS219_Yes)、すなわち、“S1”ステート~“S7”ステートの書き込みが終了すると、シーケンサ123は、外部RBn信号を“H”レベルにして、フルシーケンス書き込み動作を終了する。
1.5.2 書き込み動作のコマンドシーケンス
次に、書き込み動作のコマンドシーケンスの一例について、図18を用いて説明する。図18は、フルシーケンス書き込み動作のコマンドシーケンスを示す。図18の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
次に、書き込み動作のコマンドシーケンスの一例について、図18を用いて説明する。図18は、フルシーケンス書き込み動作のコマンドシーケンスを示す。図18の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
図18に示すように、まず、メモリコントローラ200は、メモリ100に、書き込み動作を通知するコマンド“80h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、論理第1ページのデータを送信する。論理第1ページの第1クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路ADL1に転送される。論理第1ページの第2クラスタは、ラッチ回路XDL2に格納された後、ラッチ回路BDL2に転送される。論理第1ページの第3クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路BDL1に転送される。
次に、メモリコントローラ200は、メモリ100に、次の論理ページのデータ入力を通知するコマンド“1Ah”を送信する。次に、メモリコントローラ200は、メモリ100に、コマンド“80h”と、論理第2ページの論理ページアドレス“AD-P2”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P2”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、論理第2ページのデータを送信する。論理第2ページの第1クラスタは、ラッチ回路XDL2に格納された後、ラッチ回路ADL2に転送される。論理第2ページの第2クラスタは、ラッチ回路XDL1に格納される。論理第2ページの第3クラスタは、ラッチ回路XDL2に格納される。次に、メモリコントローラ200は、メモリ100に、書き込み動作の実行を指示するコマンド“10h”を送信する。
シーケンサ123は、コマンド“10h”を受信すると、内部RBn信号及び外部RBn信号を“L”レベルにする。そして、シーケンサ123は、ラッチ回路ADL1、ADL2、BDL1、BDL2、XDL1、及びXDL2に格納されたデータに基づいて、各メモリセルトランジスタMCのステートを決定し、書き込み動作を実行する。シーケンサ123は、書き込み動作終了後、内部RBn信号及び外部RBn信号を“H”レベルにする。なお、論理第1ページの第1クラスタは、ラッチ回路XDL1に格納された後、論理第1ページの第2クラスタのデータがラッチ回路XDL2に格納されている間に、ラッチ回路ADL1に転送される。論理第1ページの第2クラスタは、ラッチ回路XDL2に格納された後、論理第1ページの第3クラスタのデータがラッチ回路XDL1に格納されている間に、ラッチ回路BDL2に転送される。論理第1ページの第3クラスタは、ラッチ回路XDL1に格納された後、論理第2ページの第1クラスタのデータがラッチ回路XDL2に格納されている間に、ラッチ回路BDL1に転送される。論理第2ページの第1クラスタは、ラッチ回路XDL2に格納された後、論理第2ページの第2クラスタのデータがラッチ回路XDL1に格納されている間に、ラッチ回路ADL2に転送される。論理第2ページの第2クラスタは、ラッチ回路XDL1に格納される。論理第2ページの第3クラスタは、ラッチ回路XDL2に格納される。上記のようにすることで、ラッチ回路XDL1またはラッチ回路XDL2から、ラッチ回路ADL1またはラッチ回路ADL2、あるいはラッチ回路BDL1またはラッチ回路BDL2にデータを転送する時間を外部(メモリコントローラ200)から見えなくすることが可能である。また、論理第1ページ内の第2クラスタまたは第3クラスタのアドレスからデータ入力があったときは、ラッチ回路XDL2及びXDL1またはラッチ回路XDL1にデータを入力し、この後ラッチ回路BDL2及びBDL1またはラッチ回路BDL1に転送する。また、論理第2ページ内の第2クラスタまたは第3クラスタのアドレスからデータ入力があったときは、ラッチ回路XDL1及びXDL2またはラッチ回路XDL2にデータを入力し、この後書込み動作を開始する。この場合、データ入力が無いラッチ回路XDLは“1”(非書込みデータ)に設定されている。
1.6 本実施形態に係る効果
本実施形態に係る構成であれば、半導体メモリのチップ面積の増加を抑制できる。本効果につき詳述する。
本実施形態に係る構成であれば、半導体メモリのチップ面積の増加を抑制できる。本効果につき詳述する。
フラッシュメモリの記憶容量を上げるために、メモリセルトランジスタの微細化が進められている。メモリセルトランジスタの微細化と併せて、センスアンプ、ページバッファ等の周辺回路も微細化すればチップ面積が縮小され、チップ面積当たりの容量密度を上げることができる。しかし、周辺回路の微細化速度は、メモリセルトランジスタの微細化速度と比較して緩やかである。これは、動作電圧が下がらないのに周辺回路のトランジスタサイズを縮小してしまうと、リーク電流の増大やメモリ寿命の低下を引き起こすためである。
チップ面積当たりの容量密度を上げるために、メモリセルアレイの下方、すなわち、メモリセルアレイと半導体基板との間に周辺回路を設けた構成、または、周辺回路を別の半導体基板上に形成し、メモリセルアレイと張り合わせた構成等が提案されている。このような構成の場合、メモリセルアレイの微細化・高集積化(高積層化)が進行すると、メモリセルアレイの面積は小さくなるが、周辺回路の面積はあまり小さくはならず、メモリセルアレイの面積よりも周辺回路の面積の方が大きくなってしまう場合がある。その結果、チップサイズは周辺回路のサイズで決定されることになり、メモリセルアレイの微細化・高積層化がチップ面積の縮小に反映されにくくなる場合がある。
これに対し、本実施形態に係る構成であれば、論理ページより物理ページのページサイズを小さくできる。より具体的には、論理ページのページサイズで構成された書き込みデータを分割して、複数の物理ページに書き込むことができる。また、複数の物理ページから読み出されたデータを合成して、論理ページのデータとして出力できる。物理ページのページサイズを小さくできるため、物理ページに対応するセンスアンプユニットSAUの個数を低減できる。すなわち、センスアンプ132内のセンス回路の個数及びページバッファ133内のラッチ回路の個数を低減できる。よって、半導体メモリのチップ面積増加を抑制できる。
更に、本実施形態に係る構成であれば、論理ページより物理ページのページサイズを小さくすることにより、センスアンプ132及びページバッファ133の面積(センス回路及びラッチ回路の個数)を低減できる。このため、メモリセルアレイ130の微細化・高積層化により、メモリセルアレイ130の面積が低減した場合においても、周辺回路の面積を低減できる。すなわち、メモリセルアレイ130の面積と、メモリセルアレイ130の下方に設けられた周辺回路の面積とのミスマッチを低減できる。よって、メモリセルアレイ130の微細化・高積層化が、チップ面積の縮小に反映されやすくなる。
更に、本実施形態に係る構成であれば、複数の物理ページから読み出されたデータを合成して、論理ページのデータとして出力できる。このため、メモリコントローラ200の仕様を変更することなく、本実施形態の半導体メモリを適用できる。すなわち、本実施形態の半導体メモリを搭載したメモリシステムにおけるデータ管理方法をそのまま流用できるため、システム設計を容易にできる。
更に、本実施形態に係る構成であれば、物理ページのページサイズを小さくできる。すなわち、ワード線WLに共通に接続された1つのメモリグループMGに含まれるメモリセルトランジスタMCの個数を低減できる。これにより、ワード線WLの配線長を短くできる。よって、ワード線WLの配線抵抗及び配線容量を低減できる。このため、読み出し動作及び書き込み動作において、ワード線WLに印加する電圧の充放電時間を短縮できる。従って、読み出し動作及び書き込み動作における処理時間の増加を抑制できる。
更に、本実施形態に係る構成であれば、物理ページに適用するデータコーディングにおいて、境界数が1個であるビットが1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。これにより、1つの論理ページに対応して複数の物理ページを読み出す場合に、境界数(読み出し動作の回数)の増加による読み出し時間の増加を抑制できる。
2.第2実施形態
次に、第2実施形態について、説明する。第2実施形態では、第1実施形態と異なるTLCのコーディングについて、7つの例を示す。以下、第1実施形態と異なる点を中心に説明する。
次に、第2実施形態について、説明する。第2実施形態では、第1実施形態と異なるTLCのコーディングについて、7つの例を示す。以下、第1実施形態と異なる点を中心に説明する。
2.1 第1例
まず、第1例のコーディングについて、図19を用いて説明する。図19は、各ステートへのデータの割り付けを示すテーブルである。
まず、第1例のコーディングについて、図19を用いて説明する。図19は、各ステートへのデータの割り付けを示すテーブルである。
図19に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“110”データ
“S6”ステート:“010”データ
“S7”ステート:“000”データ
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“110”データ
“S6”ステート:“010”データ
“S7”ステート:“000”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R2、R5、及びR7によって確定する。Upperページは、読み出し動作R1、R3、及びR6によって確定する。従って、本例のデータの割り付けは、第1実施形態と同様に、1-3-3コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。
2.2 第2例
次に、第2例のコーディングについて、図20を用いて説明する。図20は、各ステートへのデータの割り付けを示すテーブルである。
次に、第2例のコーディングについて、図20を用いて説明する。図20は、各ステートへのデータの割り付けを示すテーブルである。
図20に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“110”データ
“S1”ステート:“100”データ
“S2”ステート:“000”データ
“S3”ステート:“010”データ
“S4”ステート:“011”データ
“S5”ステート:“111”データ
“S6”ステート:“101”データ
“S7”ステート:“001”データ
“S0”ステート:“110”データ
“S1”ステート:“100”データ
“S2”ステート:“000”データ
“S3”ステート:“010”データ
“S4”ステート:“011”データ
“S5”ステート:“111”データ
“S6”ステート:“101”データ
“S7”ステート:“001”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R1、R3、及びR6によって確定する。Upperページは、読み出し動作R2、R5、及びR7によって確定する。従って、本例のデータの割り付けは、第1実施形態と同様に、1-3-3コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。
2.3 第3例
次に、第3例のコーディングについて、図21を用いて説明する。図21は、各ステートへのデータの割り付けを示すテーブルである。
次に、第3例のコーディングについて、図21を用いて説明する。図21は、各ステートへのデータの割り付けを示すテーブルである。
図21に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“110”データ
“S1”ステート:“010”データ
“S2”ステート:“000”データ
“S3”ステート:“100”データ
“S4”ステート:“101”データ
“S5”ステート:“111”データ
“S6”ステート:“011”データ
“S7”ステート:“001”データ
“S0”ステート:“110”データ
“S1”ステート:“010”データ
“S2”ステート:“000”データ
“S3”ステート:“100”データ
“S4”ステート:“101”データ
“S5”ステート:“111”データ
“S6”ステート:“011”データ
“S7”ステート:“001”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R2、R5、及びR7によって確定する。Upperページは、読み出し動作R1、R3、及びR6によって確定する。従って、本例のデータの割り付けは、第1実施形態と同様に、1-3-3コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。
2.4 第4例
次に、第4例のコーディングについて、図22を用いて説明する。図22は、各ステートへのデータの割り付けを示すテーブルである。
次に、第4例のコーディングについて、図22を用いて説明する。図22は、各ステートへのデータの割り付けを示すテーブルである。
図22に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“001”データ
“S3”ステート:“011”データ
“S4”ステート:“010”データ
“S5”ステート:“000”データ
“S6”ステート:“100”データ
“S7”ステート:“110”データ
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“001”データ
“S3”ステート:“011”データ
“S4”ステート:“010”データ
“S5”ステート:“000”データ
“S6”ステート:“100”データ
“S7”ステート:“110”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R1、R3、R5、及びR7によって確定する。Upperページは、読み出し動作R2及びR6によって確定する。従って、本例のデータの割り付けは、1-4-2コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。しかし、本例では、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされてはいない。
2.5 第5例
次に、第5例のコーディングについて、図23を用いて説明する。図23は、各ステートへのデータの割り付けを示すテーブルである。
次に、第5例のコーディングについて、図23を用いて説明する。図23は、各ステートへのデータの割り付けを示すテーブルである。
図23に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“000”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“000”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R2及びR6によって確定する。Upperページは、読み出し動作R1、R3、R5、及びR7によって確定する。従って、本例のデータの割り付けは、1-2-4コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。しかし、本例では、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされてはいない。
2.6 第6例
次に、第6例のコーディングについて、図24を用いて説明する。図24は、各ステートへのデータの割り付けを示すテーブルである。
次に、第6例のコーディングについて、図24を用いて説明する。図24は、各ステートへのデータの割り付けを示すテーブルである。
図24に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“110”データ
“S1”ステート:“100”データ
“S2”ステート:“000”データ
“S3”ステート:“010”データ
“S4”ステート:“011”データ
“S5”ステート:“001”データ
“S6”ステート:“101”データ
“S7”ステート:“111”データ
“S0”ステート:“110”データ
“S1”ステート:“100”データ
“S2”ステート:“000”データ
“S3”ステート:“010”データ
“S4”ステート:“011”データ
“S5”ステート:“001”データ
“S6”ステート:“101”データ
“S7”ステート:“111”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R1、R3、R5、及びR7によって確定する。Upperページは、読み出し動作R2及びR6によって確定する。従って、本例のデータの割り付けは、1-4-2コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。しかし、本例では、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされてはいない。
2.7 第7例
次に、第7例のコーディングについて、図25を用いて説明する。図25は、各ステートへのデータの割り付けを示すテーブルである。
次に、第7例のコーディングについて、図25を用いて説明する。図25は、各ステートへのデータの割り付けを示すテーブルである。
図25に示すように、本例では、第1実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“110”データ
“S1”ステート:“010”データ
“S2”ステート:“000”データ
“S3”ステート:“100”データ
“S4”ステート:“101”データ
“S5”ステート:“001”データ
“S6”ステート:“011”データ
“S7”ステート:“111”データ
“S0”ステート:“110”データ
“S1”ステート:“010”データ
“S2”ステート:“000”データ
“S3”ステート:“100”データ
“S4”ステート:“101”データ
“S5”ステート:“001”データ
“S6”ステート:“011”データ
“S7”ステート:“111”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R2及びR6によって確定する。Upperページは、読み出し動作R1、R3、R5、及びR7によって確定する。従って、本例のデータの割り付けは、1-2-4コーディングである。
本例では、第1実施形態と同様に、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。しかし、本例では、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされてはいない。
2.8 本実施形態に係る効果
本実施形態のコーディングを第1実施形態に適用できる。
本実施形態のコーディングを第1実施形態に適用できる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
3.第3実施形態
次に、第3実施形態について説明する。第3実施形態では、第1実施形態とは異なる読み出し動作について、2つの例を説明する。以下、第1実施形態と異なる点を中心に説明する。
次に、第3実施形態について説明する。第3実施形態では、第1実施形態とは異なる読み出し動作について、2つの例を説明する。以下、第1実施形態と異なる点を中心に説明する。
3.1 第1例
まず、第1例の読み出し動作について説明する。第1例では、論理第1ページ及び論理第2ページの読み出し動作において、選択ワード線WLに印加する読み出し電圧の順序が、第1実施形態と異なる場合について、図26及び図27を用いて説明する。図26は、論理第1ページの読み出し動作のコマンドシーケンスを示す。図27は、論理第2ページの読み出し動作のコマンドシーケンスを示す。図26及び図27の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図26及び図27の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、第1例の読み出し動作について説明する。第1例では、論理第1ページ及び論理第2ページの読み出し動作において、選択ワード線WLに印加する読み出し電圧の順序が、第1実施形態と異なる場合について、図26及び図27を用いて説明する。図26は、論理第1ページの読み出し動作のコマンドシーケンスを示す。図27は、論理第2ページの読み出し動作のコマンドシーケンスを示す。図26及び図27の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図26及び図27の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、論理第1ページの読み出し動作におけるコマンドシーケンスを説明する。
図26に示すように、論理第1ページに対応するLowerページの読み出し動作(読み出し動作R4)及びMiddleページの読み出し動作(読み出し動作R1、R3、及びR6)において、シーケンサ123は、読み出し動作をR6、R4、R3、及びR1の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V6、V4、V3、及びV1が順に印加される。この場合、第1実施形態と同様に、Lowerページに対応する読み出し動作R4が終了した後、外部RBn信号は、“H”レベルとされる。そして、Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第1ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
図26に示すように、論理第1ページに対応するLowerページの読み出し動作(読み出し動作R4)及びMiddleページの読み出し動作(読み出し動作R1、R3、及びR6)において、シーケンサ123は、読み出し動作をR6、R4、R3、及びR1の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V6、V4、V3、及びV1が順に印加される。この場合、第1実施形態と同様に、Lowerページに対応する読み出し動作R4が終了した後、外部RBn信号は、“H”レベルとされる。そして、Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第1ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
なお、シーケンサ123は、読み出し動作をR1、R3、R4、及びR6の順に実行してもよい。すなわち、選択ワード線WLに、読み出し電圧V1、V3、V4、及びV6が順に印加されてもよい。
次に、論理第2ページの読み出し動作におけるコマンドシーケンスを説明する。
図27に示すように、論理第2ページに対応するLowerページの読み出し動作(読み出し動作R4)及びUpperページの読み出し動作(読み出し動作R2、R5、及びR7)において、シーケンサ123は、読み出し動作をR7、R5、R4、及びR2の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V7、V5、V4、及びV2が順に印加される。この場合、第1実施形態と同様に、Lowerページに対応する読み出し動作R4が終了した後、外部RBn信号は、“H”レベルとされる。そして、Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第2ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
図27に示すように、論理第2ページに対応するLowerページの読み出し動作(読み出し動作R4)及びUpperページの読み出し動作(読み出し動作R2、R5、及びR7)において、シーケンサ123は、読み出し動作をR7、R5、R4、及びR2の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V7、V5、V4、及びV2が順に印加される。この場合、第1実施形態と同様に、Lowerページに対応する読み出し動作R4が終了した後、外部RBn信号は、“H”レベルとされる。そして、Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、論理第2ページの全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
なお、シーケンサ123は、読み出し動作をR2、R4、R5、及びR7の順に実行してもよい。すなわち、選択ワード線WLに、読み出し電圧V2、V4、V5、及びV7が順に印加されてもよい。
3.2 第2例
次に、第2例の読み出し動作について説明する。本例では、Lowerページ、Middleページ、及びUpperページのデータが一括して読み出される場合について、図28を用いて説明する。以下、このような読み出し動作を「シーケンシャル読み出し動作」と表記する。本例のシーケンシャル読み出し動作では、“S0”ステート~“S7”ステートが一括して読み出される。図28は、シーケンシャル読み出し動作のコマンドシーケンスを示す。図28の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図28の例では、コマンドの一部及びアドレスも省略されている。更に、図28の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、第2例の読み出し動作について説明する。本例では、Lowerページ、Middleページ、及びUpperページのデータが一括して読み出される場合について、図28を用いて説明する。以下、このような読み出し動作を「シーケンシャル読み出し動作」と表記する。本例のシーケンシャル読み出し動作では、“S0”ステート~“S7”ステートが一括して読み出される。図28は、シーケンシャル読み出し動作のコマンドシーケンスを示す。図28の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図28の例では、コマンドの一部及びアドレスも省略されている。更に、図28の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
図28に示すように、シーケンサ123は、コマンド“30h”を受信すると、これに応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、シーケンシャル読み出し動作を実行する。より具体的には、シーケンサ123は、読み出し動作R1~R7を順次実行する。このとき、選択ワード線WLには、読み出し電圧V1~V7が順次印加される。シーケンサ123は、読み出し動作R4が終了すると、Lowerページのデータを決定し、外部RBn信号を“H”レベルにする。Lowerページのデータは、ラッチ回路ADL1及びADL2に格納される。そして、ラッチ回路ADL1のデータ(論理第1ページの第1クラスタのデータ)は、ラッチ回路XDL1に転送される。メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)を出力する。
シーケンサ123は、読み出し動作R6が終了すると、次に、Middleページのデータを決定する。Middleページのデータは、ラッチ回路BDL1及びBDL2に格納される。ラッチ回路BDL2のデータ(論理第1ページの第2クラスタのデータ)は、ラッチ回路XDL2に転送される。ラッチ回路BDL1のデータ(論理第1ページの第3クラスタのデータ)は、ラッチ回路XDL1に格納されているLowerページのデータ(論理第1ページの第1クラスタのデータ)出力終了後に、ラッチ回路XDL1に転送される。
ラッチ回路XDL1またはXDL2のデータが出力されている間にシーケンシャル読み出し動作が終了すると、シーケンサ123は、内部RBn信号を“H”レベルにする。
ラッチ回路XDL2に格納されているMiddleページのデータ(論理第1ページの第2クラスタのデータ)出力が終了すると、ラッチ回路ADL2のデータ(論理第2ページの第1クラスタのデータ)が、ラッチ回路XDL2に転送される。
ラッチ回路XDL1に格納されているMiddleページのデータ(論理第1ページの第3クラスタのデータ)出力が終了すると、論理第1ページのデータ出力が終了し、続けて論理第2ページのデータ出力が開始される。まず、ラッチ回路XDL2に格納されているLowerページのデータ(論理第2ページの第1クラスタのデータ)が出力される。また、ラッチ回路XDL1に格納されているMiddleページのデータ(論理第1ページの第3クラスタのデータ)出力が終了すると、センス回路SA1からラッチ回路XDL1に、Upperページのデータ(論理第2ページの第2クラスタのデータ)が転送される。
ラッチ回路XDL2に格納されているUpperページのデータ(論理第2ページの第1クラスタのデータ)出力が終了すると、センス回路SA2のデータ(論理第2ページの第3クラスタのデータ)が、ラッチ回路XDL2に転送される。ラッチ回路XDL2のデータ(論理第2ページの第3クラスタのデータ)出力が終了すると、シーケンシャル読み出し動作は終了する。
なお、シーケンサ123は、読み出し動作をR7~R1の順に実行してもよい。すなわち、選択ワード線WLに、電圧V7~V1の順に読み出し電圧が印加されてもよい。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
3.3 本実施形態に係る効果
本実施形態のコーディングを第1実施形態に適用できる。
本実施形態のコーディングを第1実施形態に適用できる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
更に、本実施形態に係る構成であれば、読み出し動作において、読み出し電圧を昇順または降順に印加できる。これにより、選択ワード線WLに印加する電圧の変化幅の増加を抑制できる。よって、選択ワード線WLに印加された電圧の遷移にかかる時間を短縮でき、読み出し動作の処理時間を低減できる。
4.第4実施形態
次に、第4実施形態について説明する。第4実施形態では、1ページの論理ページのデータを2ページの物理ページ(すなわち2ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。以下、第1~第3実施形態と異なる点を中心に説明する。
次に、第4実施形態について説明する。第4実施形態では、1ページの論理ページのデータを2ページの物理ページ(すなわち2ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。以下、第1~第3実施形態と異なる点を中心に説明する。
4.1 メモリセルトランジスタの閾値電圧分布
まず、メモリセルトランジスタMCの取り得る閾値電圧分布について、図29を用いて説明する。図29は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが4値(2ビット)のデータを保持可能なMLC(Multi Level Cell)(または「2bit/Cell」とも表記する)である場合について説明する。
まず、メモリセルトランジスタMCの取り得る閾値電圧分布について、図29を用いて説明する。図29は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが4値(2ビット)のデータを保持可能なMLC(Multi Level Cell)(または「2bit/Cell」とも表記する)である場合について説明する。
図29に示すように、各々のメモリセルトランジスタMCの閾値電圧は、離散的な例えば4個の分布のいずれかに含まれる値を取る。以下、4個の分布を閾値電圧の低い順にそれぞれ、“S0”ステート、“S1”ステート、“S2”ステート、及び“S3”ステートと表記する。
“S0”ステートは、例えば、データの消去状態に相当する。そして“S1”~“S3”ステートは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値電圧分布に対応するベリファイ電圧をV1~V3とする。すると、これらの電圧値は、V1<V2<V3<Vreadの関係にある。
なお、各ステートに対応するベリファイ電圧の設定値と読み出し電圧の設定値とは、同じであってもよく、異なっていてもよい。以下では、説明を簡略化するため、ベリファイ電圧と読み出し電圧とが同じ設定値である場合について説明する。
以下、“S1”~“S3”ステートの読み出し動作に対応する読み出し動作のことをそれぞれ、読み出し動作R1、R2、及びR3と表記する。読み出し動作R1は、メモリセルトランジスタMCの閾値電圧が電圧V1未満か否かを判定する。読み出し動作R2は、メモリセルトランジスタMCの閾値電圧が電圧V2未満か否かを判定する。読み出し動作R3は、メモリセルトランジスタMCの閾値電圧が電圧V3未満か否かを判定する。
以上のように、各メモリセルトランジスタMCは、4個の閾値電圧分布のいずれかを有することで、4種類の状態を取ることができる。これらの状態を、2進数表記で“00”~“11”に割り付けることで、各メモリセルトランジスタMCは2ビットのデータを保持できる。以下、2ビットのデータをそれぞれ、Lowerビット及びUpperビットと表記する。また、メモリグループMGに一括して書き込まれる(または読み出される)Lowerビットの集合をLowerページと表記し、Upperビットの集合をUpperページと表記する。
図29の例では、各閾値電圧分布に含まれるメモリセルトランジスタMCに対して、“Upperビット/Lowerビット”に以下に示すようにデータが割り付けられる。各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“11”データ
“S1”ステート:“01”データ
“S2”ステート:“00”データ
“S3”ステート:“10”データ
“S0”ステート:“11”データ
“S1”ステート:“01”データ
“S2”ステート:“00”データ
“S3”ステート:“10”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R2によって確定する。Upperページは、読み出し動作R1及びR3によって確定する。つまり、Lowerビット及びUpperビットの値は、それぞれ、1回及び2回の読み出し動作によって確定する。従って、本例のデータの割り付けは、1-2コーディングである。
なお、“S0”~“S3”ステートへのデータの割り付けは、1-2コーディングに限定されない。
4.2 論理ページアドレスと物理ページアドレスとの変換動作
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図30及び図31を用いて説明する。図30は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図31は、物理ページに対する論理ページデータの割り付けを示す図である。
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図30及び図31を用いて説明する。図30は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図31は、物理ページに対する論理ページデータの割り付けを示す図である。
図30に示すように、例えば、メモリコントローラ200は、ホストデバイス2から書き込み要求を受信すると、受信した1つの論理アドレス“00001”に対応して、1つの論理ページアドレス“90001”を割り付ける。以下では、割り付けられた論理ページを「論理第1ページ」と表記する。図30の例では、論理第1ページが論理ページアドレス“90001”に対応する。
コマンドユーザインターフェイス回路121は、メモリコントローラ200から1ページ分の論理ページアドレス及び論理ページを含む書き込み命令を受信すると、1ページ分の論理ページアドレスを2ページ分の物理ページアドレスに変換する。本実施形態では、コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを、Lowerページ及びUpperページの物理ページアドレスに変換する。
このとき、1ページ分の論理ページのデータ長と、2ページ分の物理ページのデータ長は、同じである。本実施形態では、書き込む論理ページ数は、a=“1”であり、書き込む物理ページ数は、b=“2”であるため、1ページの物理ページ、すなわち1つのメモリグループMGのページサイズnは、n=m/2で表せる。例えば、論理ページのページサイズが16[kB]である場合、物理ページのページサイズは、n=16/2=8[kB]である。
例えば、シーケンサ123は、コマンドユーザインターフェイス回路121において変換された物理ページアドレスに基づいて、1つのメモリグループMGのLowerページとUpperページとに論理第1ページのデータを書き込む。
次に、1つのメモリグループMGにおける論理ページデータの配置について詳述する。
図31に示すように、本実施形態では、論理第1ページのデータを2分割して、先頭データから第1クラスタ及び第2クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に論理第1ページの第1クラスタの前半部分のデータを書き込み、第2セル領域に、論理第1ページの第1クラスタの後半部分のデータを書き込む。また、メモリ100は、Upperページの第1セル領域に論理第1ページの第2クラスタの前半部分のデータを書き込み、第2セル領域に、論理第1ページの第2クラスタの後半部分のデータを書き込む。
図31に示すように、本実施形態では、論理第1ページのデータを2分割して、先頭データから第1クラスタ及び第2クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に論理第1ページの第1クラスタの前半部分のデータを書き込み、第2セル領域に、論理第1ページの第1クラスタの後半部分のデータを書き込む。また、メモリ100は、Upperページの第1セル領域に論理第1ページの第2クラスタの前半部分のデータを書き込み、第2セル領域に、論理第1ページの第2クラスタの後半部分のデータを書き込む。
4.3 読み出し動作
次に、読み出し動作について説明する。本実施形態では、論理第1ページに対して読み出しの対象となる物理ページは、Lowerページ(第1セル領域及び第2セル領域)とUpperページ(第1セル領域及び第2セル領域)とである。この場合、メモリ100は、Lowerページ(第1セル領域及び第2セル領域)のデータ及びUpperページ(第1セル領域及び第2セル領域)のデータをメモリコントローラ200に送信(出力)する。
次に、読み出し動作について説明する。本実施形態では、論理第1ページに対して読み出しの対象となる物理ページは、Lowerページ(第1セル領域及び第2セル領域)とUpperページ(第1セル領域及び第2セル領域)とである。この場合、メモリ100は、Lowerページ(第1セル領域及び第2セル領域)のデータ及びUpperページ(第1セル領域及び第2セル領域)のデータをメモリコントローラ200に送信(出力)する。
4.3.1 読み出し動作の流れ
まず、メモリ100における読み出し動作の流れについて、図32を用いて説明する。図32は、読み出し動作のフローチャートである。
まず、メモリ100における読み出し動作の流れについて、図32を用いて説明する。図32は、読み出し動作のフローチャートである。
図32に示すように、メモリ100は、メモリコントローラ200から読み出し命令を受信する(ステップS1)。コマンドユーザインターフェイス回路121は、論理ページアドレスを物理ページアドレスに変換した後、受信したコマンド及び変換した物理ページアドレスをシーケンサ123に送信する。
シーケンサ123は、まず、Lowerページの読み出し動作を実行する(ステップS30)。より具体的には、シーケンサ123は、読み出し電圧V2に対応する読み出し動作R2を実行する。
シーケンサ123は、読み出し動作R2の結果に基づいて、Lowerページのデータ(論理第1ページの第1クラスタのデータ)を決定する(ステップS31)。
シーケンサ123は、センス回路SA1及びSA2が読み出したLowerページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS32)。
シーケンサ123は、ラッチ回路ADL1及びADL2のデータ(論理第1ページの第1クラスタのデータ)をラッチ回路XDL1及びXDL2にそれぞれ転送する(ステップS33)。なお、シーケンサ123は、センス回路SA1及びSA2が読み出したLowerページのデータを直接ラッチ回路XDL1及びXDL2にそれぞれ転送してもよい。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS34)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1及びXDL2のデータの送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL1及びXDL2のデータの出力と並行して、Upperページの読み出し動作を実行する(ステップS35)。より具体的には、シーケンサ123は、読み出し電圧V1に対応する読み出し動作R1と、読み出し電圧V3に対応する読み出し動作R3とを実行する。なお、読み出し動作R1及びR3の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R1及びR3の結果に基づいて、Upperページのデータ(論理第1ページの第2クラスタのデータ)を決定する(ステップS36)。
シーケンサ123は、センス回路SA1及びSA2が読み出したUpperページのデータをラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS37)。
シーケンサ123は、ラッチ回路XDL1のデータの出力が終了していない場合(ステップS38_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL1のデータの出力が終了すると(ステップS38_Yes)、シーケンサ123は、ラッチ回路ADL1のデータをラッチ回路XDL1に転送する(ステップS39)。なお、ステップS38_Yesの場合、続いてラッチ回路XDL2のデータ出力が開始され、ラッチ回路XDL2のデータ出力の間に、シーケンサ123は、ステップS39を実行してもよい。
シーケンサ123は、ラッチ回路XDL2のデータの出力が終了していない場合(ステップS40_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL2のデータの出力が終了すると(ステップS40_Yes)、シーケンサ123は、ラッチ回路ADL2のデータをラッチ回路XDL2に転送する(ステップS41)。シーケンサ123は、ラッチ回路XDL1及びXDL2のデータ(論理第1ページの第2クラスタのデータ)出力が終了すると、論理第1ページの読み出し動作を終了する。なお、ステップS40_Yesの場合、続いてラッチ回路XDL1のデータ出力が開始され、ラッチ回路XDL1のデータ出力の間に、シーケンサ123は、ステップS41を実行してもよい。
4.3.2 読み出し動作のコマンドシーケンス
次に、読み出し動作のコマンドシーケンスの一例について、図33を用いて説明する。図33は、論理第1ページの読み出し動作のコマンドシーケンスである。図33の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。更に、図33の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、読み出し動作のコマンドシーケンスの一例について、図33を用いて説明する。図33は、論理第1ページの読み出し動作のコマンドシーケンスである。図33の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。更に、図33の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
図33に示すように、メモリコントローラ200は、まず、コマンド“00h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、コマンド“30h”を送信する。コマンドユーザインターフェイス回路121は、受信したコマンドと、変換した物理ページアドレスとを、シーケンサ123に順に送信する。
シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R2)を実行する。すなわち、選択ワード線WLに読み出し電圧V2が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。ラッチ回路ADL1のデータは、ラッチ回路XDL1に転送される。ラッチ回路ADL2のデータは、ラッチ回路XDL2に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Upperページの読み出し動作(読み出し動作R1及びR3)を開始する。すなわち、選択ワード線WLに読み出し電圧V1及びV3が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL1のデータを出力する。ラッチ回路XDL1のデータが出力されている間にUpperページの読み出し動作が終了すると、シーケンサ123は、内部RBn信号を“H”レベルにする。Upperページの読み出し結果は、ラッチ回路ADL1及びADL2に格納される。なお、Upperページの読み出し動作終了よりもラッチ回路XDL1及びXDL2のデータ出力が先に終了した場合、シーケンサ123は、一旦、外部RBn信号を“L”レベル(ビジー状態)とし、メモリコントローラ200へのデータの出力を中断させてもよい。これにより、Lowerページのデータを出力した後に、Upperページのデータを連続して出力できる。
入出力回路110は、ラッチ回路XDL1のデータ出力が終了すると、続いてラッチ回路XDL2のデータ出力を開始する。ラッチ回路XDL2のデータが出力されている間に、ラッチ回路ADL1のデータがラッチ回路XDL1に転送される。入出力回路110は、ラッチ回路XDL2のデータ出力が終了すると、続いてラッチ回路XDL1のデータの出力を実行する。ラッチ回路XDL1のデータが出力されている間に、ラッチ回路ADL2のデータがラッチ回路XDL2に転送される。ラッチ回路XDL2のデータの出力が終了すると、論理第1ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
4.4 書き込み動作
次に、書き込み動作について説明する。本実施形態では、論理第1ページのデータが、Lowerページ及びUppwerページを有するメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、1つのメモリセルトランジスタMCに2ビットのデータが、一括して書き込まれる。本実施形態のフルシーケンス書き込み動作では、“S1”ステート~“S3”ステートの書き込みが実行される。
次に、書き込み動作について説明する。本実施形態では、論理第1ページのデータが、Lowerページ及びUppwerページを有するメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、1つのメモリセルトランジスタMCに2ビットのデータが、一括して書き込まれる。本実施形態のフルシーケンス書き込み動作では、“S1”ステート~“S3”ステートの書き込みが実行される。
4.4.1 書き込み動作の流れ
次に、メモリ100における書き込み動作の流れについて、図34及び図35を用いて説明する。図34及び図35は、書き込み動作のフローチャートである。
次に、メモリ100における書き込み動作の流れについて、図34及び図35を用いて説明する。図34及び図35は、書き込み動作のフローチャートである。
図34及び図35に示すように、メモリ100は、書き込み命令の受信において、メモリコントローラ200から論理第1ページの書き込み命令を受信する(ステップS230)。このとき、コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS231)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第1クラスタ前半部分のデータ入力が開始される(ステップS232)。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第1クラスタ前半部分のデータ入力が終了していない場合(ステップS233_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1への論理第1ページの第1クラスタ前半部分のデータ入力が終了すると(ステップS233_Yes)、シーケンサ123は、ラッチ回路XDL1のデータをラッチ回路ADL1に転送する(ステップS234)。また、ラッチ回路XDL1への論理第1ページの第1クラスタ前半部分のデータ入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータ入力が開始される。なお、ステップS233_Yesの場合、続いてラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータ入力が開始され、ラッチ回路XDL2のデータ入力の間に、シーケンサ123は、ステップS234を実行してもよい。
シーケンサ123は、ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータ入力が終了していない場合(ステップS235_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータ入力が終了すると(ステップS235_Yes)、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS236)。ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータ入力が開始される。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータ入力の間に、ラッチ回路XDL2の論理第1ページの第1クラスタ後半部分のデータをラッチ回路ADL2に転送する(ステップS237)。
ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータ入力終了後、ラッチ回路XDL2への論理第1ページの第2クラスタ後半部分のデータ入力が開始される。そして、シーケンサ123は、ラッチ回路XDL2への論理第1ページの第2クラスタ後半部分のデータ入力が終了していない場合(ステップS238_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2への論理第1ページの第2クラスタ後半部分のデータ入力が終了すると(ステップS238_Yes)、ラッチ回路XDL1及びXDL2への論理第1ページのデータ入力は終了する。シーケンサ123は、外部RBn信号及び内部RBn信号を“L”レベルにする。シーケンサ123は、LowerページとUpperページとのデータの組み合わせに基づいて、各メモリセルトランジスタMCのステートを決定する。
シーケンサ123は、決定されたステートに基づいて、プログラム動作を実行する(ステップS239)。
プログラム動作終了後、シーケンサ123は、プログラムベリファイ動作を実行する(ステップS240)。
ベリファイをパスしていない場合(ステップS241_No)、シーケンサ123は、プログラムループ回数が予め設定された上限回数に達したか確認する(ステップS242)。
プログラムループ回数が上限回数に達していない場合(ステップS242_No)、シーケンサ123は、プログラム動作を実行する(ステップS239)。すなわち、シーケンサ123は、プログラムループを繰り返す。
プログラムループ回数が上限回数に達している場合(ステップS242_Yes)、シーケンサ123は、書き込み動作を終了し、書き込み動作が正常に終了しなかった旨を、メモリコントローラ200に報告する。
ベリファイをパスした場合(ステップS241_Yes)、すなわち、“S1”ステート~“S3”ステートの書き込みが終了すると、シーケンサ123は、外部RBn信号を“H”レベルにして、フルシーケンス書き込み動作を終了する。
4.4.2 書き込み動作のコマンドシーケンス
次に、書き込み動作のコマンドシーケンスの一例について、図36を用いて説明する。図36は、フルシーケンス書き込み動作のコマンドシーケンスである。図36の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
次に、書き込み動作のコマンドシーケンスの一例について、図36を用いて説明する。図36は、フルシーケンス書き込み動作のコマンドシーケンスである。図36の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
図36に示すように、まず、メモリコントローラ200は、メモリ100に、コマンド“80h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、論理第1ページのデータを送信する。ラッチ回路XDL1への論理第1ページの第1クラスタ前半部分のデータの入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータの入力が開始される。ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータの入力の間に、ラッチ回路XDL1に格納されたデータは、ラッチ回路ADL1に転送される。ラッチ回路XDL2への論理第1ページの第1クラスタ後半部分のデータの入力が終了すると、続いて、ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータの入力が開始される。ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータの入力の間に、ラッチ回路XDL2に格納されたデータは、ラッチ回路ADL2に転送される。ラッチ回路XDL1への論理第1ページの第2クラスタ前半部分のデータの入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第2クラスタ後半部分のデータの入力が開始される。論理第1ページの第2クラスタは、ラッチ回路XDL1及びXDL2に格納される。
次に、メモリコントローラ200は、メモリ100に、書き込み動作の実行を指示するコマンド“10h”を送信する。
シーケンサ123は、コマンド“10h”を受信すると、内部RBn信号及び外部RBn信号を“L”レベルにする。そして、シーケンサ123は、ラッチ回路ADL1、ADL2、XDL1、及びXDL2に格納されたデータに基づいて、各メモリセルトランジスタMCのステートを決定し、書き込み動作を実行する。シーケンサ123は、書き込み動作終了後、内部RBn信号及び外部RBn信号を“H”レベルにする。
4.5 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
5.第5実施形態
次に、第5実施形態について説明する。第5実施形態では、3ページの論理ページのデータを4ページの物理ページ(すなわち4ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。以下、第1~第4実施形態と異なる点を中心に説明する。
次に、第5実施形態について説明する。第5実施形態では、3ページの論理ページのデータを4ページの物理ページ(すなわち4ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。以下、第1~第4実施形態と異なる点を中心に説明する。
5.1 センスアンプ及びページバッファの構成
まず、センスアンプ132及びページバッファ133の構成の一例について、図37を用いて説明する。図37は、センスアンプ132及びページバッファ133のブロック図である。
まず、センスアンプ132及びページバッファ133の構成の一例について、図37を用いて説明する。図37は、センスアンプ132及びページバッファ133のブロック図である。
図37に示すように、本実施形態では、シーケンサ123は、1つのメモリグループMGの複数のメモリセルトランジスタMCを、第1セル領域と、第2セル領域と、第3セル領域との3つに分けて制御する。同様に、シーケンサ123は、第1~第3セル領域に対応して、センスアンプ132及びページバッファ133を、3つに分けて制御する。例えば、第1セル領域に含まれるメモリセルトランジスタMCは、ビット線BL0~BL(i-1)に関連付けられている。第2セル領域に含まれるメモリセルトランジスタMCは、ビット線BL(i)~BL(j-1)(jはiより大きくkより小さい整数)に関連付けられている。第3セル領域に含まれるメモリセルトランジスタMCは、ビット線BL(j)~BL(k-1)に関連付けられている。なお、第1セル領域に含まれるメモリセルトランジスタMCの個数と、第2セル領域に含まれるメモリセルトランジスタMCの個数と、第3セル領域に含まれるメモリセルトランジスタMCの個数とは、同じであることが好ましい。例えば、第1セル領域に含まれるメモリセルトランジスタMCの個数と、第2セル領域に含まれるメモリセルトランジスタMCの個数と、第3セル領域に含まれるメモリセルトランジスタMCとが同じである場合、i、j、及びkは、i=j/2=k/3の関係にある。
本実施形態のページバッファ133は、1つのセンス回路SAに対応して、ラッチ回路ADL、BDL、CDL及びXDLを含む。センス回路SA、並びにラッチ回路ADL、BDL、CDL、及びXDLは、互いに接続されている。換言すれば、センス回路SA、並びにラッチ回路ADL、BDL、CDL、及びXDLは、互いにデータを送受信可能なように接続されている。ラッチ回路ADL、BDL、CDL、及びXDLは、データDATを一時的に記憶する。例えば、読み出し動作時にセンス回路SAが確定させた読み出しデータは、センス回路SAからラッチ回路ADL、BDL、CDL、及びXDLのいずれかに転送される。以下では、第3セル領域に含まれるメモリセルトランジスタMCに対応するビット線BLに接続されたセンス回路を「センス回路SA3」と表記する。センス回路SA1に対応するラッチ回路CDLを「ラッチ回路CDL1」と表記する。センス回路SA2に対応するラッチ回路CDLを「ラッチ回路CDL2」と表記する。センス回路SA3に対応するラッチ回路ADL、BDL、CDL、及びXDLを「ラッチ回路ADL3」、「ラッチ回路BDL3」、「ラッチ回路CDL3」、及び「ラッチ回路XDL3」と表記する。また、本実施形態では、センス回路SA1、ラッチ回路ADL1、BDL1、CDL1、及びXDL1の組を、「センスアンプユニットSAU1」と表記する。センス回路SA2、ラッチ回路ADL2、BDL2、CDL2、及びXDL2の組を、「センスアンプユニットSAU2」と表記する。センス回路SA3、ラッチ回路ADL3、BDL3、CDL3、及びXDL3の組を、「センスアンプユニットSAU3」と表記する。
本実施形態では、複数のセンスアンプユニットSAU1及び複数のセンスアンプユニットSAU2と同様に、複数のセンスアンプユニットSAU3が1つの領域に集まって配置されている。
5.2 メモリセルトランジスタの閾値電圧分布
次に、メモリセルトランジスタMCの取り得る閾値電圧分布について、図38を用いて説明する。図38は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが16値(4ビット)のデータを保持可能なQLC(Quad Level Cell)(または「4bit/Cell」とも表記する)である場合について説明する。
次に、メモリセルトランジスタMCの取り得る閾値電圧分布について、図38を用いて説明する。図38は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。以下、本実施形態では、メモリセルトランジスタMCが16値(4ビット)のデータを保持可能なQLC(Quad Level Cell)(または「4bit/Cell」とも表記する)である場合について説明する。
図38に示すように、各々のメモリセルトランジスタMCの閾値電圧は、離散的な例えば16個の分布のいずれかに含まれる値を取る。以下、16個の分布を閾値電圧の低い順にそれぞれ、“S0”ステート、“S1”ステート、“S2”ステート、“S3”ステート、“S4”ステート、“S5”ステート、“S6”ステート、“S7”ステート、“S8”ステート、“S9”ステート、“S10”ステート、“S11”ステート、“S12”ステート、“S13”ステート、“S14”ステート、及び“S15”ステートと表記する。
“S0”ステートは、例えば、データの消去状態に相当する。そして“S1”~“S15”ステートは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値電圧分布に対応するベリファイ電圧をV1~V15とする。すると、これらの電圧値は、V1<V2<V3<V4<V5<V6<V7<V8<V9<V10<V11<V12<V13<V14<V15<Vreadの関係にある。電圧V1~V15は、読み出し動作時において、選択ワード線WLに印加される電圧である。
より具体的には、“S0”ステートに含まれる閾値電圧は、電圧V1未満である。“S1”ステートに含まれる閾値電圧は、電圧V1以上であり、且つ電圧V2未満である。“S2”ステートに含まれる閾値電圧は、電圧V2以上であり、且つ電圧V3未満である。“S3”ステートに含まれる閾値電圧は、電圧V3以上であり、且つ電圧V4未満である。“S4”ステートに含まれる閾値電圧は、電圧V4以上であり、且つ電圧V5未満である。“S5”ステートに含まれる閾値電圧は、電圧V5以上であり、且つ電圧V6未満である。“S6”ステートに含まれる閾値電圧は、電圧V6以上であり、且つ電圧V7未満である。“S7”ステートに含まれる閾値電圧は、電圧V7以上であり、且つ電圧V8未満である。“S8”ステートに含まれる閾値電圧は、電圧V8以上であり、且つ電圧V9未満である。“S9”ステートに含まれる閾値電圧は、電圧V9以上であり、且つ電圧V10未満である。“S10”ステートに含まれる閾値電圧は、電圧V10以上であり、且つ電圧V11未満である。“S11”ステートに含まれる閾値電圧は、電圧V11以上であり、且つ電圧V12未満である。“S12”ステートに含まれる閾値電圧は、電圧V12以上であり、且つ電圧V13未満である。“S13”ステートに含まれる閾値電圧は、電圧V13以上であり、且つV14未満である。“S14”ステートに含まれる閾値電圧は、電圧V14以上であり、且つV15未満である。“S15”ステートに含まれる閾値電圧は、電圧V15以上であり、且つ電圧Vread未満である。
なお、各ステートに対応するベリファイ電圧の設定値と読み出し電圧の設定値とは、同じであってもよく、異なっていてもよい。以下では、説明を簡略化するため、ベリファイ電圧と読み出し電圧とが同じ設定値である場合について説明する。
以下、“S1”~“S15”ステートの読み出し動作に対応する読み出し動作のことをそれぞれ、読み出し動作R1~R15と表記する。読み出し動作R1は、メモリセルトランジスタMCの閾値電圧が電圧V1未満か否かを判定する。読み出し動作R2は、メモリセルトランジスタMCの閾値電圧が電圧V2未満か否かを判定する。以下、同様である。読み出し動作R3~R15は、メモリセルトランジスタMCの閾値電圧が電圧V3~V15未満か否かをそれぞれ判定する。
以上のように、各メモリセルトランジスタMCは、16個の閾値電圧分布のいずれかを有することで、16種類の状態を取ることができる。これらの状態を、2進数表記で“0000”~“1111”に割り付けることで、各メモリセルトランジスタMCは4ビットのデータを保持できる。以下、4ビットのデータをそれぞれ、Lowerビット、Middleビット、Upperビット、及びTopビットと表記する。また、メモリグループMGに一括して書き込まれる(または読み出される)Lowerビットの集合をLowerページと表記し、Middleビットの集合をMiddleページと表記し、Upperビットの集合をUpperページと表記し、Topビットの集合をTopページと表記する。
図38の例では、各閾値電圧分布に含まれるメモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1110”データ
“S10”ステート:“0110”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1000”データ
“S14”ステート:“0000”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1110”データ
“S10”ステート:“0110”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1000”データ
“S14”ステート:“0000”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R11、及びR15によって確定する。Upperページは、読み出し動作R2、R4、R6、R9、及びR13によって確定する。Topページは、読み出し動作R1、R5、R10、R12、及びR14によって確定する。つまり、Lowerビット、Middleビット、Upperビット、及びTopビットの値はそれぞれ、1回、4回、5回、及び5回の読み出し動作によって確定する。すなわち、境界数は、Lowerビット、Middleビット、Upperビット、及びTopビットに対して1個、4個、5個、及び5個である。従って、本実施形態のデータの割り付けは、1-4-5-5コーディングである。
本実施形態では、Topビット、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。例えば、QLC、すなわち4bit/Cellの場合、全境界数が15であるので、残りの境界数14個を残りの3ビットで分担するとき、境界数の最大値が最小になるのは、ビットの境界数を4個、5個、及び5個とする場合である。
なお、“S0”~“S15”ステートへのデータの割り付けは、1-4-5-5コーディングに限定されない。
5.3 論理ページアドレスと物理ページアドレスとの変換動作
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図39及び図40を用いて説明する。図39は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図40は、物理ページに対する論理ページデータの割り付けを示す図である。
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図39及び図40を用いて説明する。図39は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図40は、物理ページに対する論理ページデータの割り付けを示す図である。
図39に示すように、例えば、メモリコントローラ200は、ホストデバイス2から書き込み要求を受信すると、受信した3つの論理アドレス“00001”、“00002”、及び“00003”に対応して、3つの論理ページアドレス“90001”、“90002”、及び“90003”を割り付ける。以下では、割り付けられた3つの論理ページを「論理第1ページ」、「論理第2ページ」、及び「論理第3ページ」と表記する。図39の例では、論理第1ページが論理ページアドレス“90001”に対応し、論理第2ページが論理ページアドレス“90002”に対応し、論理第3ページが論理ページアドレス“90003”に対応する。
コマンドユーザインターフェイス回路121は、メモリコントローラ200から3ページ分の論理ページアドレス及び論理ページの書き込み命令を受信すると、3ページ分の論理ページアドレスを4ページ分の物理ページアドレスに変換する。本実施形態では、コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを、Lowerページの第1セル領域及びMiddleページの物理ページアドレスに変換する。コマンドユーザインターフェイス回路121は、論理第2ページの論理ページアドレスを、Lowerページの第2セル領域及びUpperページの物理ページアドレスに変換する。更に、コマンドユーザインターフェイス回路121は、論理第3ページの論理ページアドレスを、Lowerページの第3セル領域及びTopページの物理ページアドレスに変換する。
このとき、3ページ分の論理ページのデータ長と、4ページ分の物理ページのデータ長は、同じである。本実施形態では、書き込む論理ページ数が、a=“3”であり、書き込む物理ページ数が、b=“4”であるため、1ページの物理ページ、すなわち1つのメモリグループMGのページサイズnは、n=m×3/4で表せる。また、第1~第3セル領域のページサイズは、それぞれn/3で表せる。例えば、論理ページのページサイズが16[kB]である場合、物理ページのページサイズは、n=16×3/4=12[kB]である。
例えば、シーケンサ123は、コマンドユーザインターフェイス回路121において変換された物理ページアドレスに基づいて、1つのメモリグループMGのLowerページの第1セル領域とMiddleページの第1~第3セル領域とに、論理第1ページのデータを書き込む。シーケンサ123は、Lowerページの第2セル領域とUpperページの第1~第3セル領域とに、論理第2ページのデータを書き込む。シーケンサ123は、Lowerページの第3セル領域とTopページの第1~第3セル領域とに、論理第3ページのデータを書き込む。
次に、1つのメモリグループMGにおける論理ページデータの配置について詳述する。
図40に示すように、本実施形態では、論理第1ページ、論理第2ページ、及び論理第3ページのデータをそれぞれ4分割して、先頭データから第1クラスタ~第4クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第1ページの第2クラスタを書き込み、Middleページの第3セル領域に論理第1ページの第3クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第4クラスタを書き込む。メモリ100は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Upperページの第3セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第1セル領域に論理第2ページの第3クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第4クラスタを書き込む。メモリ100は、Lowerページの第3セル領域に、論理第3ページの第1クラスタを書き込み、Topページの第1セル領域に論理第3ページの第2クラスタを書き込み、Topページの第2セル領域に論理第3ページの第3クラスタを書き込み、Topページの第3セル領域に論理第3ページの第4クラスタを書き込む。
図40に示すように、本実施形態では、論理第1ページ、論理第2ページ、及び論理第3ページのデータをそれぞれ4分割して、先頭データから第1クラスタ~第4クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第1ページの第2クラスタを書き込み、Middleページの第3セル領域に論理第1ページの第3クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第4クラスタを書き込む。メモリ100は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Upperページの第3セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第1セル領域に論理第2ページの第3クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第4クラスタを書き込む。メモリ100は、Lowerページの第3セル領域に、論理第3ページの第1クラスタを書き込み、Topページの第1セル領域に論理第3ページの第2クラスタを書き込み、Topページの第2セル領域に論理第3ページの第3クラスタを書き込み、Topページの第3セル領域に論理第3ページの第4クラスタを書き込む。
5.4 読み出し動作
次に、読み出し動作について説明する。本実施形態では、読み出し対象となる論理ページが論理第1ページである場合と、論理第2ページである場合と、論理第3ページである場合とで、読み出し動作が異なる。論理ページが論理第1ページである場合、読み出しの対象となる物理ページは、Lowerページ(第1セル領域)とMiddleページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第1セル領域のデータ及びMiddleページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。論理ページが論理第2ページである場合、読み出しの対象となる物理ページは、Lowerページ(第2セル領域)とUpperページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第2セル領域のデータ及びUpperページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。また、論理ページが論理第3ページである場合、読み出しの対象となる物理ページは、Lowerページ(第3セル領域)とTopページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第3セル領域のデータ及びTopページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。
次に、読み出し動作について説明する。本実施形態では、読み出し対象となる論理ページが論理第1ページである場合と、論理第2ページである場合と、論理第3ページである場合とで、読み出し動作が異なる。論理ページが論理第1ページである場合、読み出しの対象となる物理ページは、Lowerページ(第1セル領域)とMiddleページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第1セル領域のデータ及びMiddleページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。論理ページが論理第2ページである場合、読み出しの対象となる物理ページは、Lowerページ(第2セル領域)とUpperページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第2セル領域のデータ及びUpperページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。また、論理ページが論理第3ページである場合、読み出しの対象となる物理ページは、Lowerページ(第3セル領域)とTopページ(第1セル領域~第3セル領域)とである。この場合、メモリ100は、Lowerページの第3セル領域のデータ及びTopページの第1セル領域~第3セル領域のデータをメモリコントローラ200に送信(出力)する。
5.4.1 読み出し動作の流れ
まず、メモリ100における読み出し動作の流れについて、図41~図43を用いて説明する。図41~図43は、読み出し動作のフローチャートである。
まず、メモリ100における読み出し動作の流れについて、図41~図43を用いて説明する。図41~図43は、読み出し動作のフローチャートである。
図41~図43に示すように、メモリ100は、メモリコントローラ200から論理第1ページ、論理第2ページ、または論理第3ページの読み出し命令を受信する(ステップS1)。コマンドユーザインターフェイス回路121は、論理ページアドレスを物理ページアドレスに変換した後、受信したコマンド及び変換した物理ページアドレスをシーケンサ123に送信する。
論理ページアドレスが、論理第1ページの論理ページアドレスである場合(ステップS50_Yes)、シーケンサ123は、まず、Lowerページの読み出し動作を実行する(ステップS51)。より具体的には、シーケンサ123は、読み出し電圧V8に対応する読み出し動作R8を実行する。
シーケンサ123は、読み出し動作R8の結果に基づいて、Lowerページのデータを決定する(ステップS52)。
シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS53)。
シーケンサ123は、ラッチ回路ADL1のデータ(論理第1ページの第1クラスタのデータ)をラッチ回路XDL1に転送する(ステップS54)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS55)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1のデータの送信(出力)を開始する。なお、シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3に転送後、ラッチ回路ADL1のデータをラッチ回路XDL1に転送させたが、センス回路SA1のデータをラッチ回路XDL1に直接転送させてもよい。
シーケンサ123は、ラッチ回路XDL1のデータの出力と並行して、Middleページの読み出し動作を実行する(ステップS56)。より具体的には、シーケンサ123は、読み出し電圧V3に対応する読み出し動作R3と、読み出し電圧V7に対応する読み出し動作R7と、読み出し電圧V11に対応する読み出し動作R11と、読み出し電圧V15に対応する読み出し動作R15とを実行する。なお、読み出し動作R3、R7、R11、及びR15の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R3、R7、R11、及びR15の結果に基づいて、Middleページのデータを決定する(ステップS57)。
シーケンサ123は、センス回路SA1~SA3が読み出したMiddleページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS58)。
シーケンサ123は、ラッチ回路ADL2及びADL3のデータ(論理第1ページの第2及び第3クラスタのデータ)をラッチ回路XDL2及びXDL3にそれぞれ転送する(ステップS59)。
シーケンサ123は、ラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)の出力が終了していない場合(ステップS60_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL1のデータの出力が終了すると(ステップS60_Yes)、シーケンサ123は、ラッチ回路ADL1のデータ(論理第1ページの第4クラスタのデータ)をラッチ回路XDL1に転送する(ステップS61)。シーケンサ123は、ラッチ回路XDL2及びXDL3のデータ出力が終了すると、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する。そして、シーケンサ123は、ラッチ回路XDL1のデータの出力が終了すると、論理第1ページの読み出し動作を終了する。
論理ページアドレスが、論理第2ページの論理ページアドレスである場合(ステップS50_No且つステップS62_Yes)、シーケンサ123は、ステップS51と同様に、Lowerページの読み出し動作を実行する(ステップS63)。
シーケンサ123は、読み出し動作R8の結果に基づいて、Lowerページのデータを決定する(ステップS64)。
シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS65)。
シーケンサ123は、ラッチ回路ADL2のデータ(論理第2ページの第1クラスタのデータ)をラッチ回路XDL2に転送する(ステップS66)。なお、シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3に転送後、ラッチ回路ADL2のデータをラッチ回路XDL2に転送させたが、センス回路SA2のデータをラッチ回路XDL2に直接転送させてもよい。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL2の先頭アドレスを設定する(ステップS67)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL2の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL2のデータの送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL2のデータの出力と並行して、Upperページの読み出し動作を実行する(ステップS68)。より具体的には、シーケンサ123は、読み出し電圧V2に対応する読み出し動作R2と、読み出し電圧V4に対応する読み出し動作R4と、読み出し電圧V6に対応する読み出し動作R6と、読み出し電圧V9に対応する読み出し動作R9と、読み出し電圧V13に対応する読み出し動作R13とを実行する。なお、読み出し動作R2、R4、R6、R9、及びR13の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R2、R4、R6、R9、及びR13の結果に基づいて、Upperページのデータを決定する(ステップS69)。
シーケンサ123は、センス回路SA1~SA3が読み出したUpperページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS70)。
シーケンサ123は、ラッチ回路ADL1及びADL3のデータ(論理第2ページの第2及び第3クラスタのデータ)をラッチ回路XDL1及びXDL3にそれぞれ転送する(ステップS71)。
シーケンサ123は、ラッチ回路XDL2のデータ(論理第2ページの第1クラスタのデータ)の出力が終了していない場合(ステップS72_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL2のデータの出力が終了すると(ステップS72_Yes)、シーケンサ123は、ラッチ回路ADL2のデータ(論理第2ページの第4クラスタのデータ)をラッチ回路XDL2に転送する(ステップS73)。シーケンサ123は、ラッチ回路XDL3のデータ(論理第2ページの第2クラスタのデータ)出力が終了すると、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する。そして、シーケンサ123は、ラッチ回路XDL1のデータ(論理第2ページの第3クラスタのデータ)及びラッチ回路XDL2のデータ(論理第2ページの第4クラスタのデータ)の出力が終了すると、論理第2ページの読み出し動作を終了する。
論理ページアドレスが、論理第3ページの論理ページアドレスである場合(ステップS50_No且つステップS62_No)、シーケンサ123は、ステップS51と同様に、Lowerページの読み出し動作を実行する(ステップS74)。
シーケンサ123は、読み出し動作R8の結果に基づいて、Lowerページのデータを決定する(ステップS74)。
シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS76)。
シーケンサ123は、ラッチ回路ADL3のデータ(論理第3ページの第1クラスタのデータ)をラッチ回路XDL3に転送する(ステップS77)。なお、シーケンサ123は、センス回路SA1~SA3が読み出したLowerページのデータをラッチ回路ADL1~ADL3に転送後、ラッチ回路ADL3のデータをラッチ回路XDL3に転送したが、センス回路SA3のデータをラッチ回路XDL3に直接転送させてもよい。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL3の先頭アドレスを設定する(ステップS78)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL3の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL3のデータの送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL3のデータの出力と並行して、Topページの読み出し動作を実行する(ステップS79)。より具体的には、シーケンサ123は、読み出し電圧V1に対応する読み出し動作R1と、読み出し電圧V5に対応する読み出し動作R5と、読み出し電圧V10に対応する読み出し動作R10と、読み出し電圧V12に対応する読み出し動作R12と、読み出し電圧V14に対応する読み出し動作R14とを実行する。なお、読み出し動作R1、R5、R10、R12、及びR14の順序は、任意に設定し得る。
シーケンサ123は、読み出し動作R1、R5、R10、R12、及びR14の結果に基づいて、Topページのデータを決定する(ステップS80)。
シーケンサ123は、センス回路SA1~SA3が読み出したTopページのデータをラッチ回路ADL1~ADL3にそれぞれ転送する(ステップS81)。
シーケンサ123は、ラッチ回路ADL1及びADL2のデータ(論理第3ページの第2及び第3クラスタのデータ)をラッチ回路XDL1及びXDL2にそれぞれ転送する(ステップS82)。
シーケンサ123は、ラッチ回路XDL3のデータ(論理第3ページの第1クラスタのデータ)の出力が終了していない場合(ステップS83_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL3のデータの出力が終了すると(ステップS83_Yes)、シーケンサ123は、ラッチ回路ADL3のデータ(論理第2ページの第4クラスタのデータ)をラッチ回路XDL3に転送する(ステップS84)。また、シーケンサ123は、ラッチ回路XDL3のデータ(論理第3ページの第1クラスタのデータ)出力が終了すると、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する。そして、シーケンサ123は、ラッチ回路XDL1のデータ(論理第3ページの第2クラスタのデータ)、ラッチ回路XDL2のデータ(論理第3ページの第3クラスタのデータ)、及びラッチ回路XDL3のデータ(論理第3ページの第4クラスタのデータ)の出力が終了すると、論理第3ページの読み出し動作を終了する。
5.4.2 読み出し動作のコマンドシーケンス
次に、読み出し動作のコマンドシーケンスの一例について、図44~図46を用いて説明する。図44は、論理第1ページの読み出し動作のコマンドシーケンスである。図45は、論理第2ページの読み出し動作のコマンドシーケンスである。図46は、論理第3ページの読み出し動作のコマンドシーケンスである。
図44~図46の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図44~図46の例では、コマンドの一部及びアドレスも省略されている。更に、図44~図46の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、読み出し動作のコマンドシーケンスの一例について、図44~図46を用いて説明する。図44は、論理第1ページの読み出し動作のコマンドシーケンスである。図45は、論理第2ページの読み出し動作のコマンドシーケンスである。図46は、論理第3ページの読み出し動作のコマンドシーケンスである。
図44~図46の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図44~図46の例では、コマンドの一部及びアドレスも省略されている。更に、図44~図46の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、論理第1ページの読み出し動作におけるコマンドシーケンスを説明する。
図44に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL1のデータは、ラッチ回路XDL1に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Middleページの読み出し動作(読み出し動作R3、R7、R11、及びR15)を開始する。すなわち、選択ワード線WLに、読み出し電圧V3、V7、V11、及びV15が順に印加される。
図44に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL1のデータは、ラッチ回路XDL1に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Middleページの読み出し動作(読み出し動作R3、R7、R11、及びR15)を開始する。すなわち、選択ワード線WLに、読み出し電圧V3、V7、V11、及びV15が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL1のデータを出力する。シーケンサ123は、Middleページの読み出し動作を実行している間にラッチ回路XDL1のデータ出力が終了すると、Middleページの読み出しが終了するまで外部RBn信号を一旦“L”レベルにする。
Middleページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL1~ADL3のデータは、ラッチ回路XDL1~XDL3に転送される。Middleページの読み出し動作が終了すると、シーケンサ123は、外部RBn信号及び内部RBn信号を“H”レベルにする。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)の送信を再開する。入出力回路110は、信号REnに応じて、ラッチ回路XDL2、XDL3、及びXDL1の順にデータを出力する。ラッチ回路XDL1のデータの出力が終了すると、論理第1ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
次に、論理第2ページの読み出し動作におけるコマンドシーケンスを説明する。
図45に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL2のデータは、ラッチ回路XDL2に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Upperページの読み出し動作(読み出し動作R2、R4、R6、R9、及びR13)を開始する。すなわち、選択ワード線WLに、読み出し電圧V2、V4、V6、V9、及びV13が順に印加される。
図45に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL2のデータは、ラッチ回路XDL2に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Upperページの読み出し動作(読み出し動作R2、R4、R6、R9、及びR13)を開始する。すなわち、選択ワード線WLに、読み出し電圧V2、V4、V6、V9、及びV13が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL2のデータを出力する。シーケンサ123は、Upperページの読み出し動作を実行している間にラッチ回路XDL2のデータ出力が終了すると、Upperページの読み出しが終了するまで外部RBnを一旦“L”レベルにする。
Upperページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL1~ADL3のデータは、ラッチ回路XDL1~XDL3に転送される。Upperページの読み出し動作が終了すると、シーケンサ123は、外部RBn及び内部RBnを“H”レベルにする。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)の送信を再開する。入出力回路110は、信号REnに応じて、ラッチ回路XDL3、XDL1、XDL2の順にデータを出力する。ラッチ回路XDL2のデータの出力が終了すると、論理第2ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
次に、論理第3ページの読み出し動作におけるコマンドシーケンスを説明する。
図46に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL3のデータは、ラッチ回路XDL3に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Topページの読み出し動作(読み出し動作R1、R5、R10、R12、及びR14)を開始する。すなわち、選択ワード線WLに、読み出し電圧V1、V5、V10、V12、及びV14が順に印加される。
図46に示すように、シーケンサ123は、コマンド“30h”に応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、Lowerページの読み出し動作(読み出し動作R8)を実行する。すなわち、選択ワード線WLに、読み出し電圧V8が印加される。Lowerページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL3のデータは、ラッチ回路XDL3に転送される。シーケンサ123は、Lowerページの読み出し動作が終了すると、外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、Lowerページの読み出し動作が終了すると、次に、Topページの読み出し動作(読み出し動作R1、R5、R10、R12、及びR14)を開始する。すなわち、選択ワード線WLに、読み出し電圧V1、V5、V10、V12、及びV14が順に印加される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL3のデータを出力する。シーケンサ123は、Topページの読み出し動作を実行している間に、ラッチ回路XDL3のデータ出力が終了すると、Topページの読み出しが終了するまで外部RBnを一旦“L”レベルにする。
Topページの読み出し結果は、ラッチ回路ADL1~ADL3に格納される。そして、ラッチ回路ADL1~ADL3のデータは、ラッチ回路XDL1~XDL3に転送される。Topページの読み出し動作が終了すると、シーケンサ123は、外部RBn及び内部RBnを“H”レベルにする。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)の送信を再開する。入出力回路110は、信号REnに応じて、ラッチ回路XDL1、XDL2、XDL3の順にデータを出力する。ラッチ回路XDL3のデータの出力が終了すると、論理第3ページの読み出し動作は終了する。なお、メモリ100は、外部RBn信号を内部RBn信号と同じにし、全てのデータを読み出した後に、外部RBn信号(内部RBn信号)を“H”レベルにして、データを出力してもよい。
5.5 書き込み動作
次に、書き込み動作について説明する。本実施形態では、論理第1~第3ページのデータが、Lowerページ、Middleページ、Uppwerページ、及びTopページを有するメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、1つのメモリセルトランジスタMCに4ビットのデータが、一括して書き込まれる。本実施形態のフルシーケンス書き込み動作では、“S1”ステート~“S15”ステートの書き込みが実行される。
次に、書き込み動作について説明する。本実施形態では、論理第1~第3ページのデータが、Lowerページ、Middleページ、Uppwerページ、及びTopページを有するメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、1つのメモリセルトランジスタMCに4ビットのデータが、一括して書き込まれる。本実施形態のフルシーケンス書き込み動作では、“S1”ステート~“S15”ステートの書き込みが実行される。
5.5.1 書き込み動作の流れ
次に、メモリ100における書き込み動作の流れについて、図47~図49を用いて説明する。図47~図49は、書き込み動作のフローチャートである。
次に、メモリ100における書き込み動作の流れについて、図47~図49を用いて説明する。図47~図49は、書き込み動作のフローチャートである。
図47~図49に示すように、メモリ100は、書き込み命令の受信において、メモリコントローラ200から論理第1ページの論理ページアドレスを受信する(ステップS251)。コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS252)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第1クラスタのデータ入力が開始される(ステップS253)。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第1クラスタのデータ入力が終了していない場合(ステップS254_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS254_Yes)、シーケンサ123は、ラッチ回路XDL1のデータをラッチ回路ADL1に転送する(ステップS255)。また、ラッチ回路XDL1へのデータ入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力及びラッチ回路XDL3への論理第1ページの第3クラスタのデータ入力が順次実行される。
シーケンサ123は、ラッチ回路XDL3への論理第1ページの第3クラスタのデータ入力が終了していない場合(ステップS256_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL3へのデータ入力が終了すると(ステップS256_Yes)、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS257)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第4クラスタのデータ入力が開始される。
シーケンサ123は、ラッチ回路XDL1への論理第1ページの第4クラスタのデータ入力が終了していない場合(ステップS258_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS258_Yes)、ラッチ回路XDL1~XDL3への論理第1ページのデータ入力が終了する。
シーケンサ123は、ラッチ回路XDL1~XDL3のデータをラッチ回路BDL1~BDL3にそれぞれ転送する(ステップS259)。これにより、論理第1ページのデータ入力は終了する。なお、シーケンサ123は、ラッチ回路XDL2へのデータ入力の間に、ラッチ回路XDL1からラッチ回路ADL1にデータを転送してもよいし、ラッチ回路XDL3へのデータ入力の間に、ラッチ回路XDL2からラッチ回路BDL2にデータを転送してもよいし、ラッチ回路XDL1へのデータ入力の間に、ラッチ回路XDL3からラッチ回路BDL3にデータを転送してもよいし、ラッチ回路XDL2へのデータ入力の間に、ラッチ回路XDL1からラッチ回路BDL1にデータを転送してもよい。
次に、メモリ100は、メモリコントローラ200から論理第2ページの論理ページアドレスを受信する(ステップS260)。このとき、コマンドユーザインターフェイス回路121は、論理第2ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL2の先頭アドレスを設定する(ステップS261)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力が開始される(ステップS262)。
シーケンサ123は、ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力が終了していない場合(ステップS263_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2への論理第2ページの第1クラスタのデータ入力が終了すると(ステップS263_Yes)、シーケンサ123は、ラッチ回路XDL2のデータをラッチ回路ADL2に転送する(ステップS264)。また、ラッチ回路XDL2へのデータ入力が終了すると、続いて、ラッチ回路XDL3への論理第2ページの第2クラスタのデータ入力が実行される。
シーケンサ123は、ラッチ回路XDL3への論理第2ページの第2クラスタのデータ入力が終了していない場合(ステップS265_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL3への論理第2ページの第2クラスタのデータ入力が終了すると(ステップS265_Yes)、シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS266)。ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第2ページの第3クラスタのデータ入力と、ラッチ回路XDL2への論理第2ページの第4クラスタのデータ入力が順に実行される。
シーケンサ123は、ラッチ回路XDL2への論理第2ページの第4クラスタのデータ入力が終了していない場合(ステップS267_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2への論理第2ページの第4クラスタデータ入力が終了すると(ステップS267_Yes)、ラッチ回路XDL1~XDL3への論理第2ページのデータ入力が終了する。
シーケンサ123は、ラッチ回路XDL1~XDL3のデータをラッチ回路CDL1~CDL3にそれぞれ転送する(ステップS268)。なお、シーケンサ123は、ラッチ回路XDL3へのデータ入力の間に、ラッチ回路XDL2からラッチ回路ADL2にデータを転送してもよいし、ラッチ回路XDL1へのデータ入力の間に、ラッチ回路XDL3からラッチ回路BDL3にデータを転送してもよいし、ラッチ回路XDL2へのデータ入力の間に、ラッチ回路XDL1からラッチ回路BDL1にデータを転送してもよいし、ラッチ回路XDL3へのデータ入力の間に、ラッチ回路XDL2からラッチ回路BDL2にデータを転送してもよい。
次に、メモリ100は、メモリコントローラ200から論理第3ページの論理ページアドレスを受信する(ステップS269)。このとき、コマンドユーザインターフェイス回路121は、論理第3ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL3の先頭アドレスを設定する(ステップS270)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL3への論理第3ページの第1クラスタのデータ入力が開始される(ステップS271)。
シーケンサ123は、ラッチ回路XDL3への論理第3ページの第1クラスタのデータ入力が終了していない場合(ステップS272_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL3への論理第3ページの第1クラスタのデータ入力が終了すると(ステップS272_Yes)、シーケンサ123は、ラッチ回路XDL3のデータをラッチ回路ADL3に転送する(ステップS273)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS274)。ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第3ページの第2クラスタのデータ入力と、ラッチ回路XDL2への論理第3ページの第3クラスタのデータ入力と、ラッチ回路XDL3への論理第3ページの第4クラスタのデータ入力とが順に実行される。
シーケンサ123は、ラッチ回路XDL3への論理第3ページの第4クラスタのデータ入力が終了していない場合(ステップS275_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL3への論理第3ページの第4クラスタのデータ入力が終了すると(ステップS275_Yes)、ラッチ回路XDL1~XDL3への論理第3ページのデータ入力が終了する。シーケンサ123は、外部RBn信号を“L”レベルにする。そして、シーケンサ123は、入力された論理第1~第3ページのデータ、すなわち、LowerページとMiddleページとUpperページとTopページとのデータの組み合わせに基づいて、各メモリセルトランジスタMCのステートを決定する。なお、シーケンサ123は、ラッチ回路XDL1へのデータ入力の間に、ラッチ回路XDL3からラッチ回路ADL3にデータを転送してもよい。
シーケンサ123は、決定されたステートに基づいて、プログラム動作を実行する(ステップS276)。
プログラム動作終了後、シーケンサ123は、プログラムベリファイ動作を実行する(ステップS277)。
ベリファイをパスしていない場合(ステップS278_No)、シーケンサ123は、プログラムループ回数が予め設定された上限回数に達したか確認する(ステップS279)。
プログラムループ回数が上限回数に達していない場合(ステップS279_No)、シーケンサ123は、プログラム動作を実行する(ステップS276)。すなわち、シーケンサ123は、プログラムループを繰り返す。
プログラムループ回数が上限回数に達している場合(ステップS279_Yes)、シーケンサ123は、書き込み動作を終了し、書き込み動作が正常に終了しなかった旨を、メモリコントローラ200に報告する。
ベリファイをパスした場合(ステップS278_Yes)、すなわち、“S1”ステート~“S15”ステートの書き込みが終了すると、シーケンサ123は、外部RBn信号を“H”レベルにして、フルシーケンス書き込み動作を終了する。
5.5.2 書き込み動作のコマンドシーケンス
次に、書き込み動作のコマンドシーケンスの一例について、図50を用いて説明する。図50は、フルシーケンス書き込み動作のコマンドシーケンスである。図50の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
次に、書き込み動作のコマンドシーケンスの一例について、図50を用いて説明する。図50は、フルシーケンス書き込み動作のコマンドシーケンスである。図50の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
図50に示すように、まず、メモリコントローラ200は、メモリ100に、コマンド“80h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。
次に、メモリコントローラ200は、メモリ100に、論理第1ページのデータを送信する。論理第1ページの第1クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路ADL1に転送される。論理第1ページの第2及び第3クラスタは、ラッチ回路XDL2及びXDL3に格納された後、ラッチ回路BDL2及びBDL3に転送される。論理第1ページの第4クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路BDL1に転送される。
次に、メモリコントローラ200は、メモリ100に、次の論理ページのデータ入力を通知するコマンド“1Ah”を送信する。次に、メモリコントローラ200は、メモリ100に、コマンド“80h”と、論理第2ページの論理ページアドレス“AD-P2”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P2”を物理ページアドレスに変換する。
次に、メモリコントローラ200は、メモリ100に、論理第2ページのデータを送信する。論理第2ページの第1クラスタは、ラッチ回路XDL2に格納された後、ラッチ回路ADL2に転送される。論理第2ページの第2クラスタは、ラッチ回路XDL3に格納された後、ラッチ回路CDL3に転送される。論理第2ページの第3クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路CDL1に転送される。論理第2ページの第4クラスタは、ラッチ回路XDL2に格納された後、ラッチ回路CDL2に転送される。
次に、メモリコントローラ200は、メモリ100に、次の論理ページのデータ入力を通知するコマンド“1Ah”を送信する。次に、メモリコントローラ200は、メモリ100に、コマンド“80h”と、論理第3ページの論理ページアドレス“AD-P3”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P3”を物理ページアドレスに変換する。
次に、メモリコントローラ200は、メモリ100に、論理第3ページのデータを送信する。論理第3ページの第1クラスタは、ラッチ回路XDL3に格納された後、ラッチ回路ADL3に転送される。論理第3ページの第2クラスタは、ラッチ回路XDL1に格納される。論理第3ページの第3クラスタは、ラッチ回路XDL2に格納される。論理第3ページの第4クラスタは、ラッチ回路XDL3に格納される。
次に、メモリコントローラ200は、メモリ100に、書き込み動作の実行を指示するコマンド“10h”を送信する。
シーケンサ123は、コマンド“10h”を受信すると、内部RBn信号及び外部RBn信号を“L”レベルにする。そして、シーケンサ123は、ラッチ回路ADL1~ADL3、BDL1~BDL3、CDL1~CDL3、及びXDL1~XDL3に格納されたデータに基づいて、各メモリセルトランジスタMCのステートを決定し、書き込み動作を実行する。シーケンサ123は、書き込み動作終了後、内部RBn信号及び外部RBn信号を“H”レベルにする。
5.6 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
6.第6実施形態
次に、第6実施形態について、説明する。第6実施形態では、第5実施形態と異なるQLCのコーディングについて、12個の例を示す。各例では、Topビット、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。以下、第5実施形態と異なる点を中心に説明する。
次に、第6実施形態について、説明する。第6実施形態では、第5実施形態と異なるQLCのコーディングについて、12個の例を示す。各例では、Topビット、Upperビット、Middleビット、及びLowerビットに対するデータの割り付けにおいて、境界数が1個であるビットが、1つ含まれる。更に、境界数が1個ではないビットの境界数は、境界数の最大値が最小になるようにコーディングされている。以下、第5実施形態と異なる点を中心に説明する。
6.1 第1例
まず、第1例のコーディングについて、図51を用いて説明する。図51は、各ステートへのデータの割り付けを示すテーブルである。
まず、第1例のコーディングについて、図51を用いて説明する。図51は、各ステートへのデータの割り付けを示すテーブルである。
図51に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1000”データ
“S10”ステート:“0000”データ
“S11”ステート:“0010”データ
“S12”ステート:“0110”データ
“S13”ステート:“1110”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1000”データ
“S10”ステート:“0000”データ
“S11”ステート:“0010”データ
“S12”ステート:“0110”データ
“S13”ステート:“1110”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R9、R11、及びR14によって確定する。Upperページは、読み出し動作R2、R4、R6、及びR12によって確定する。Topページは、読み出し動作R1、R5、R10、R13、及びR15によって確定する。従って、本例のデータの割り付けは、1-5-4-5コーディングである。
6.2 第2例
次に、第2例のコーディングについて、図52を用いて説明する。図52は、各ステートへのデータの割り付けを示すテーブルである。
次に、第2例のコーディングについて、図52を用いて説明する。図52は、各ステートへのデータの割り付けを示すテーブルである。
図52に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1110”データ
“S10”ステート:“1100”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“0010”データ
“S14”ステート:“0000”データ
“S15”ステート:“1000”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1110”データ
“S10”ステート:“1100”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“0010”データ
“S14”ステート:“0000”データ
“S15”ステート:“1000”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R10、R12、及びR14によって確定する。Upperページは、読み出し動作R2、R4、R6、R9、及びR13によって確定する。Topページは、読み出し動作R1、R5、R11、及びR15によって確定する。従って、本例のデータの割り付けは、1-5-5-4コーディングである。
6.3 第3例
次に、第3例のコーディングについて、図53を用いて説明する。図53は、各ステートへのデータの割り付けを示すテーブルである。
次に、第3例のコーディングについて、図53を用いて説明する。図53は、各ステートへのデータの割り付けを示すテーブルである。
図53に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“1110”データ
“S14”ステート:“1100”データ
“S15”ステート:“1000”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“1110”データ
“S14”ステート:“1100”データ
“S15”ステート:“1000”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R10、R12、及びR14によって確定する。Upperページは、読み出し動作R2、R4、R6、R11、及びR15によって確定する。Topページは、読み出し動作R1、R5、R9、及びR13によって確定する。従って、本例のデータの割り付けは、1-5-5-4コーディングである。
6.4 第4例
次に、第4例のコーディングについて、図54を用いて説明する。図54は、各ステートへのデータの割り付けを示すテーブルである。
次に、第4例のコーディングについて、図54を用いて説明する。図54は、各ステートへのデータの割り付けを示すテーブルである。
図54に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0010”データ
“S10”ステート:“0110”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“1010”データ
“S15”ステート:“1000”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0010”データ
“S10”ステート:“0110”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“1010”データ
“S15”ステート:“1000”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R9、R11、R13、及びR15によって確定する。Upperページは、読み出し動作R2、R5、R7、R10、及びR14によって確定する。Topページは、読み出し動作R1、R3、R6、及びR12によって確定する。従って、本例のデータの割り付けは、1-5-5-4コーディングである。
6.5 第5例
次に、第5例のコーディングについて、図55を用いて説明する。図55は、各ステートへのデータの割り付けを示すテーブルである。
次に、第5例のコーディングについて、図55を用いて説明する。図55は、各ステートへのデータの割り付けを示すテーブルである。
図55に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0010”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0010”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R9、R11、R13、及びR15によって確定する。Upperページは、読み出し動作R2、R5、R7、及びR12によって確定する。Topページは、読み出し動作R1、R3、R6、R10、及びR14によって確定する。従って、本例のデータの割り付けは、1-5-4-5コーディングである。
6.6 第6例
次に、第6例のコーディングについて、図56を用いて説明する。図56は、各ステートへのデータの割り付けを示すテーブルである。
次に、第6例のコーディングについて、図56を用いて説明する。図56は、各ステートへのデータの割り付けを示すテーブルである。
図56に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1110”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“0000”データ
“S13”ステート:“0010”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1110”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“0000”データ
“S13”ステート:“0010”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R9、R11、R13、及びR15によって確定する。Upperページは、読み出し動作R2、R6、R10、及びR14によって確定する。Topページは、読み出し動作R1、R3、R5、R7、及びR12によって確定する。従って、本例のデータの割り付けは、1-5-4-5コーディングである。
6.7 第7例
次に、第7例のコーディングについて、図57を用いて説明する。図57は、各ステートへのデータの割り付けを示すテーブルである。
次に、第7例のコーディングについて、図57を用いて説明する。図57は、各ステートへのデータの割り付けを示すテーブルである。
図57に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1110”データ
“S12”ステート:“0110”データ
“S13”ステート:“0100”データ
“S14”ステート:“0000”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1110”データ
“S12”ステート:“0110”データ
“S13”ステート:“0100”データ
“S14”ステート:“0000”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R10、R13、及びR15によって確定する。Upperページは、読み出し動作R2、R6、R9、R11、及びR14によって確定する。Topページは、読み出し動作R1、R3、R5、R7、及びR12によって確定する。従って、本例のデータの割り付けは、1-4-5-5コーディングである。
6.8 第8例
次に、第8例のコーディングについて、図58を用いて説明する。図58は、各ステートへのデータの割り付けを示すテーブルである。
次に、第8例のコーディングについて、図58を用いて説明する。図58は、各ステートへのデータの割り付けを示すテーブルである。
図58に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1000”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“1000”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R9、及びR13によって確定する。Upperページは、読み出し動作R2、R4、R6、R11、及びR14によって確定する。Topページは、読み出し動作R1、R5、R10、R12、及びR14によって確定する。従って、本例のデータの割り付けは、1-4-5-5コーディングである。
6.9 第9例
次に、第9例のコーディングについて、図59を用いて説明する。図59は、各ステートへのデータの割り付けを示すテーブルである。
次に、第9例のコーディングについて、図59を用いて説明する。図59は、各ステートへのデータの割り付けを示すテーブルである。
図59に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1110”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“0000”データ
“S13”ステート:“0100”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“0001”データ
“S6”ステート:“0101”データ
“S7”ステート:“1101”データ
“S8”ステート:“1100”データ
“S9”ステート:“1110”データ
“S10”ステート:“1010”データ
“S11”ステート:“1000”データ
“S12”ステート:“0000”データ
“S13”ステート:“0100”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R9、R11、及びR14によって確定する。Upperページは、読み出し動作R2、R6、R10、R13、及びR15によって確定する。Topページは、読み出し動作R1、R3、R5、R7、及びR12によって確定する。従って、本例のデータの割り付けは、1-4-5-5コーディングである。
6.10 第10例
次に、第10例のコーディングについて、図60を用いて説明する。図60は、各ステートへのデータの割り付けを示すテーブルである。
次に、第10例のコーディングについて、図60を用いて説明する。図60は、各ステートへのデータの割り付けを示すテーブルである。
図60に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“1000”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“0001”データ
“S4”ステート:“0101”データ
“S5”ステート:“1101”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“1000”データ
“S12”ステート:“1100”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R3、R7、R10、R13、及びR15によって確定する。Upperページは、読み出し動作R2、R4、R6、及びR12によって確定する。Topページは、読み出し動作R1、R5、R9、R11、及びR14によって確定する。従って、本例のデータの割り付けは、1-5-4-5コーディングである。
6.11 第11例
次に、第11例のコーディングについて、図61を用いて説明する。図61は、各ステートへのデータの割り付けを示すテーブルである。
次に、第11例のコーディングについて、図61を用いて説明する。図61は、各ステートへのデータの割り付けを示すテーブルである。
図61に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0100”データ
“S10”ステート:“0110”データ
“S11”ステート:“1110”データ
“S12”ステート:“1100”データ
“S13”ステート:“1000”データ
“S14”ステート:“1010”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“0100”データ
“S10”ステート:“0110”データ
“S11”ステート:“1110”データ
“S12”ステート:“1100”データ
“S13”ステート:“1000”データ
“S14”ステート:“1010”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R10、R12、及びR14によって確定する。Upperページは、読み出し動作R2、R5、R7、R9、及びR13によって確定する。Topページは、読み出し動作R1、R3、R6、R11、及びR15によって確定する。従って、本例のデータの割り付けは、1-4-5-5コーディングである。
6.12 第12例
次に、第12例のコーディングについて、図62を用いて説明する。図62は、各ステートへのデータの割り付けを示すテーブルである。
次に、第12例のコーディングについて、図62を用いて説明する。図62は、各ステートへのデータの割り付けを示すテーブルである。
図62に示すように、本例では、第5実施形態と同様に、各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1110”データ
“S12”ステート:“1100”データ
“S13”ステート:“0100”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“0101”データ
“S7”ステート:“0001”データ
“S8”ステート:“0000”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1110”データ
“S12”ステート:“1100”データ
“S13”ステート:“0100”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R8によって確定する。Middleページは、読み出し動作R4、R10、R12、及びR14によって確定する。Upperページは、読み出し動作R2、R5、R7、R11、及びR15によって確定する。Topページは、読み出し動作R1、R3、R6、R9、及びR13によって確定する。従って、本例のデータの割り付けは、1-4-5-5コーディングである。
6.13 本実施形態に係る効果
本実施形態のコーディングを第5実施形態に適用できる。
本実施形態のコーディングを第5実施形態に適用できる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
7.第7実施形態
次に、第7実施形態について説明する。第7実施形態では、第5実施形態とは異なるQLCの読み出し動作について、2つの例を説明する。以下、第5実施形態と異なる点を中心に説明する。
次に、第7実施形態について説明する。第7実施形態では、第5実施形態とは異なるQLCの読み出し動作について、2つの例を説明する。以下、第5実施形態と異なる点を中心に説明する。
7.1 第1例
まず、第1例の読み出し動作について説明する。第1例では、論理第1~第3ページの読み出し動作において、選択ワード線WLに印加する読み出し電圧の順序が、第5実施形態と異なる場合について、図63~図65を用いて説明する。図63は、論理第1ページの読み出し動作のコマンドシーケンスである。図64は、論理第2ページの読み出し動作のコマンドシーケンスである。図65は、論理第3ページの読み出し動作のコマンドシーケンスである。図63~図65の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図63~図65の例では、コマンドの一部及びアドレスも省略されている。更に、図63~図65の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、第1例の読み出し動作について説明する。第1例では、論理第1~第3ページの読み出し動作において、選択ワード線WLに印加する読み出し電圧の順序が、第5実施形態と異なる場合について、図63~図65を用いて説明する。図63は、論理第1ページの読み出し動作のコマンドシーケンスである。図64は、論理第2ページの読み出し動作のコマンドシーケンスである。図65は、論理第3ページの読み出し動作のコマンドシーケンスである。図63~図65の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図63~図65の例では、コマンドの一部及びアドレスも省略されている。更に、図63~図65の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
まず、論理第1ページの読み出し動作におけるコマンドシーケンスを説明する。
図63に示すように、論理第1ページに対応するLowerページの読み出し動作(読み出し動作R8)及びMiddleページの読み出し動作(読み出し動作R3、R7、R11、及びR15)において、シーケンサ123は、読み出し動作をR15、R11、R8、R7、及びR3の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V15、V11、V8、V7、及びV3が順に印加される。シーケンサ123は、読み出し動作R3まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Middleページの読み出し動作終了後に、読み出したデータの出力が開始される。
図63に示すように、論理第1ページに対応するLowerページの読み出し動作(読み出し動作R8)及びMiddleページの読み出し動作(読み出し動作R3、R7、R11、及びR15)において、シーケンサ123は、読み出し動作をR15、R11、R8、R7、及びR3の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V15、V11、V8、V7、及びV3が順に印加される。シーケンサ123は、読み出し動作R3まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Middleページの読み出し動作終了後に、読み出したデータの出力が開始される。
なお、シーケンサ123は、読み出し動作をR3、R7、R8、R11、及びR15の順に実行してもよい。すなわち、選択ワード線WLに、読み出し電圧V3、V7、V8、V11、及びV15が順に印加されてもよい。なお、シーケンサ123は、読み出し動作R8を実行すると、Lowerページのデータが確定するため、外部RBn信号を“H”レベルにして、データを出力してもよい。
次に、論理第2ページの読み出し動作におけるコマンドシーケンスを説明する。
図64に示すように、論理第2ページに対応するLowerページの読み出し動作(読み出し動作R8)及びUpperページの読み出し動作(読み出し動作R2、R4、R6、R9、及びR13)において、シーケンサ123は、読み出し動作をR13、R9、R8、R6、R4、及びR2の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V13、V9、V8、V6、V4、及びV2が順に印加される。シーケンサ123は、読み出し動作R2まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Upperページの読み出し動作終了後に、読み出したデータの出力が開始される。
図64に示すように、論理第2ページに対応するLowerページの読み出し動作(読み出し動作R8)及びUpperページの読み出し動作(読み出し動作R2、R4、R6、R9、及びR13)において、シーケンサ123は、読み出し動作をR13、R9、R8、R6、R4、及びR2の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V13、V9、V8、V6、V4、及びV2が順に印加される。シーケンサ123は、読み出し動作R2まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Upperページの読み出し動作終了後に、読み出したデータの出力が開始される。
なお、シーケンサ123は、読み出し動作をR2、R4、R6、R8、R9、及びR13の順に実行してもよい。すなわち、選択ワード線WLに、読み出し電圧V2、V4、V6、V8、V9、及びV13が順に印加されてもよい。なお、シーケンサ123は、読み出し動作R8を実行すると、Lowerページのデータが確定するため、外部RBn信号を“H”レベルにして、データを出力してもよい。
次に、論理第3ページの読み出し動作におけるコマンドシーケンスを説明する。
図65に示すように、論理第3ページに対応するLowerページの読み出し動作(読み出し動作R8)及びTopページの読み出し動作(読み出し動作R1、R5、R10、R12、及びR14)において、シーケンサ123は、読み出し動作をR14、R12、R10、R8、R5、及びR1の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V14、V12、V10、V8、V5、及びV1が順に印加される。シーケンサ123は、読み出し動作R1まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Topページの読み出し動作終了後に、読み出したデータの出力が開始される。
図65に示すように、論理第3ページに対応するLowerページの読み出し動作(読み出し動作R8)及びTopページの読み出し動作(読み出し動作R1、R5、R10、R12、及びR14)において、シーケンサ123は、読み出し動作をR14、R12、R10、R8、R5、及びR1の順に実行する。すなわち、選択ワード線WLに、読み出し電圧V14、V12、V10、V8、V5、及びV1が順に印加される。シーケンサ123は、読み出し動作R1まで終了した後に、外部RBn信号及び内部RBn信号を“H”レベルにする。従って、Topページの読み出し動作終了後に、読み出したデータの出力が開始される。
なお、シーケンサ123は、読み出し動作をR1、R5、R8、R10、R12、及びR14の順に実行してもよい。すなわち、選択ワード線WLに、読み出し電圧V1、V5、V8、V10、V12、及びV14が順に印加されてもよい。なお、シーケンサ123は、読み出し動作R8を実行すると、Lowerページのデータが確定するため、外部RBn信号を“H”レベルにして、データを出力してもよい。
7.2 第2例
次に、第2例の読み出し動作について説明する。第2例では、シーケンシャル読み出し動作において、Lowerページ、Middleページ、Upperページ、及びTopページのデータが一括して読み出される場合について、図66を用いて説明する。本例のシーケンシャル読み出し動作では、“S0”ステート~“S15”ステートが一括して読み出される。図66は、シーケンシャル読み出し動作のコマンドシーケンスである。図66の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図66の例では、コマンドの一部及びアドレスも省略されている。更に、図66の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、第2例の読み出し動作について説明する。第2例では、シーケンシャル読み出し動作において、Lowerページ、Middleページ、Upperページ、及びTopページのデータが一括して読み出される場合について、図66を用いて説明する。本例のシーケンシャル読み出し動作では、“S0”ステート~“S15”ステートが一括して読み出される。図66は、シーケンシャル読み出し動作のコマンドシーケンスである。図66の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図66の例では、コマンドの一部及びアドレスも省略されている。更に、図66の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
図66に示すように、シーケンサ123は、コマンド“30h”を受信すると、これに応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、シーケンシャル読み出し動作を実行する。より具体的には、シーケンサ123は、読み出し動作R1~R15を順次実行する。このとき、選択ワード線WLには、読み出し電圧V1~V15が順次印加される。シーケンサ123は、読み出し動作R8が終了すると、Lowerページのデータを決定し、外部RBn信号を“H”レベルにする。Lowerページのデータは、ラッチ回路ADL1~ADL3に格納される。ラッチ回路ADL1のデータ(論理第1ページの第1クラスタのデータ)は、ラッチ回路XDL1に転送される。メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、ラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)の出力を開始する。
シーケンサ123は、シーケンシャル読み出し動作を実行している間にラッチ回路XDL1のデータ出力が終了すると、シーケンシャル読み出しが終了するまで外部RBn信号を一旦“L”レベルにする。
シーケンサ123は、読み出し動作R13まで終了すると、Upperページのデータを決定する。Upperページのデータは、ラッチ回路CDL1~CDL3に格納される。また、シーケンサ123は、読み出し動作R15まで終了すると、Middleページのデータを決定する。Middleページのデータは、ラッチ回路BDL1~BDL3に格納される。ラッチ回路BDL2のデータ(論理第1ページの第2クラスタのデータ)は、ラッチ回路XDL2に転送される。ラッチ回路BDL3のデータ(論理第1ページの第3クラスタのデータ)は、ラッチ回路XDL3に転送される。ラッチ回路BDL1のデータ(論理第1ページの第4クラスタのデータ)は、ラッチ回路XDL1に転送される。
シーケンシャル読み出し動作が終了すると、シーケンサ123は、外部RBn信号及び内部RBn信号を“H”レベルにする。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)の送信を再開する。入出力回路110は、信号REnに応じて、ラッチ回路XDL2、XDL3、及びXDL1の順にデータを出力する。ラッチ回路XDL1のデータ(論理第1ページの第4クラスタのデータ)の出力が終了すると、論理第1ページのデータ出力は終了する。
続いて、論理第2ページのデータの出力が開始される。ラッチ回路ADL2のデータ(論理第2ページの第1クラスタのデータ)は、ラッチ回路XDL2に転送される。ラッチ回路CDL3のデータ(論理第2ページの第2クラスタのデータ)は、ラッチ回路XDL3に転送される。ラッチ回路CDL1のデータ(論理第2ページの第3クラスタのデータ)は、ラッチ回路XDL1に転送される。そして、ラッチ回路XDL2、XDL3、及びXDL1の順にデータが出力される。ラッチ回路XDL2のデータ(論理第2ページの第1クラスタのデータ)の出力が終了すると、ラッチ回路CDL2のデータ(論理第2ページの第4クラスタのデータ)がラッチ回路XDL2に転送される。ラッチ回路XDL1のデータ(論理第2ページの第3クラスタのデータ)の出力が終了すると、ラッチ回路XDL2のデータ(論理第2ページの第4クラスタのデータ)が出力される。ラッチ回路XDL2のデータの出力が終了すると、論理第2ページのデータ出力は終了する。
続いて、論理第3ページのデータの出力が開始される。ラッチ回路ADL3のデータ(論理第3ページの第1クラスタのデータ)は、ラッチ回路XDL3に転送される。センス回路SA1のデータ(論理第3ページの第2クラスタのデータ)は、ラッチ回路XDL1に転送される。センス回路SA2のデータ(論理第3ページの第3クラスタのデータ)は、ラッチ回路XDL2に転送される。そして、ラッチ回路XDL3、XDL1、及びXDL2の順にデータが出力される。ラッチ回路XDL3のデータ(論理第3ページの第1クラスタのデータ)の出力が終了すると、センス回路SA3のデータがラッチ回路XDL3に転送される。ラッチ回路XDL2のデータ(論理第3ページの第3クラスタのデータ)の出力が終了すると、ラッチ回路XDL3のデータ(論理第3ページの第4クラスタのデータ)が出力される。ラッチ回路XDL3のデータの出力が終了すると、論理第3ページのデータ出力は終了する。なお、シーケンシャル読み出し動作では、“S15”ステートから“S0”ステートの順で一括して読み出してもよい。
7.3 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
8.第8実施形態
次に、第8実施形態について説明する。第8実施形態では、第1実施形態と物理ページにおける論理ページデータの割り付けが異なる場合について説明する。以下、第1実施形態と異なる点を中心に説明する。
次に、第8実施形態について説明する。第8実施形態では、第1実施形態と物理ページにおける論理ページデータの割り付けが異なる場合について説明する。以下、第1実施形態と異なる点を中心に説明する。
8.1 論理ページアドレスと物理ページアドレスとの変換動作
論理ページアドレスと物理ページアドレスとの変換動作の一例について、図67及び図68を用いて説明する。図67は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図68は、物理ページに対する論理ページデータの割り付けを示す図である。
論理ページアドレスと物理ページアドレスとの変換動作の一例について、図67及び図68を用いて説明する。図67は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図68は、物理ページに対する論理ページデータの割り付けを示す図である。
本実施形態では、第1実施形態と同様に、2ページの論理ページのデータを3ページの物理ページ(すなわち3ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
図67に示すように、コマンドユーザインターフェイス回路121は、メモリコントローラ200から2ページ分の論理ページアドレス及び論理ページの書き込み命令を受信すると、2ページ分の論理ページアドレスを3ページ分の物理ページアドレスに変換する。本実施形態では、コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを、Lowerページの第1セル領域、Middleページの第1セル領域、及びUpperページの第1セル領域の物理ページアドレスに変換する。また、コマンドユーザインターフェイス回路121は、論理第2ページの論理ページアドレスを、Lowerページの第2セル領域、Middleページの第2セル領域、及びUpperページの第2セル領域の物理ページアドレスに変換する。
例えば、シーケンサ123は、コマンドユーザインターフェイス回路121において変換された物理ページアドレスに基づいて、メモリグループMGのLowerページの第1セル領域と、Middleページの第1セル領域と、Upperページの第1セル領域とに論理第1ページのデータを書き込み、Lowerページの第2セル領域と、Middleページの第2セル領域と、Upperページの第2セル領域とに論理第2ページのデータを書き込む。
次に、1つのメモリグループMGにおける論理ページデータの配置について詳述する。
図68に示すように、例えば、メモリ100は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第2クラスタを書き込み、Upperページの第1セル領域に論理第1ページの第3クラスタを書き込む。また、メモリ100は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第3クラスタを書き込む。
図68に示すように、例えば、メモリ100は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第2クラスタを書き込み、Upperページの第1セル領域に論理第1ページの第3クラスタを書き込む。また、メモリ100は、Lowerページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Middleページの第2セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第3クラスタを書き込む。
8.2 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
9.第9実施形態
次に、第9実施形態について説明する。第9実施形態では、第1実施形態と異なるセンスアンプ132及びページバッファ133の構成について3つの例を説明する。以下、第1実施形態と異なる点を中心に説明する。
次に、第9実施形態について説明する。第9実施形態では、第1実施形態と異なるセンスアンプ132及びページバッファ133の構成について3つの例を説明する。以下、第1実施形態と異なる点を中心に説明する。
9.1 第1例
まず、第1例のセンスアンプ132及びページバッファ133の構成について、図69を用いて説明する。図69は、センスアンプ132及びページバッファ133のブロック図である。なお、図69の例では、説明を簡略化するためビット線BLが省略されている。
まず、第1例のセンスアンプ132及びページバッファ133の構成について、図69を用いて説明する。図69は、センスアンプ132及びページバッファ133のブロック図である。なお、図69の例では、説明を簡略化するためビット線BLが省略されている。
図69に示すように、本例では、第1セル領域及び第1セル領域に対応するセンスアンプユニットSAU1と、第2セル領域及び第2セル領域に対応するセンスアンプユニットSAU2とが、交互に配置されている。従って、メモリグループMGにおいて、例えば、偶数番目のビット線BLに接続されたメモリセルトランジスタMCが第1セル領域に含まれ、奇数番目のビット線BLに接続されたメモリセルトランジスタMCが第2セル領域に含まれる。ラッチ回路XDL(XDL1及びXDL2)は、データバスを介してシリアルアクセスコントローラ126に接続され、シリアルアクセスコントローラ126とセンスアンプ132との間のデータの送受信に用いられる。
9.2 第2例
次に、第2例のセンスアンプ132及びページバッファ133の構成について、図70を用いて説明する。図70は、センスアンプ132及びページバッファ133のブロック図である。なお、図70の例では、説明を簡略化するためビット線BLが省略されている。
次に、第2例のセンスアンプ132及びページバッファ133の構成について、図70を用いて説明する。図70は、センスアンプ132及びページバッファ133のブロック図である。なお、図70の例では、説明を簡略化するためビット線BLが省略されている。
図70に示すように、本例では、ラッチ回路ADL(ADL1及びADL2)及びラッチ回路XDL(XDL1及びXDL2)が、データバスを介して、シリアルアクセスコントローラ126に接続され、シリアルアクセスコントローラ126とセンスアンプ132との間のデータの送受信に用いられる。
なお、ラッチ回路BDL(BDL1及びBDL2)及びラッチ回路XDL(XDL1及びXDL2)が、データバスを介して、シリアルアクセスコントローラ126に接続されてもよい。
9.3 第3例
次に、第3例のセンスアンプ132及びページバッファ133の構成について、図71を用いて説明する。図71は、センスアンプ132及びページバッファ133のブロック図である。なお、図71の例では、説明を簡略化するためビット線BLが省略されている。
次に、第3例のセンスアンプ132及びページバッファ133の構成について、図71を用いて説明する。図71は、センスアンプ132及びページバッファ133のブロック図である。なお、図71の例では、説明を簡略化するためビット線BLが省略されている。
図71に示すように、本例では、ラッチ回路ADL(ADL1及びADL2)、ラッチ回路BDL(BDL1及びBDL2)、及びラッチ回路XDL(XDL1及びXDL2)が、データバスを介して、シリアルアクセスコントローラ126に接続され、シリアルアクセスコントローラ126とセンスアンプ132との間のデータの送受信に用いられる。
9.4 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
更に、本実施形態の第1例に係る構成であれば、センスアンプユニットSAU1とセンスアンプユニットSAU2とを交互に配置できる。これにより、センスアンプユニットSAU1とセンスアンプユニットSAU2との間でデータの移動が可能となる。このような物理的な分割(配置)は、回路の応答速度の改善、回路間の配線のレイアウト容易化、ラッチ回路間の演算の容易化など様々な理由で行われる。
更に、本実施形態の第2例及び第3例に係る構成であれば、ラッチ回路ADL及び/またはラッチ回路BDLが、データバスを介してシリアルアクセスコントローラ126に接続されている。このため、ラッチ回路ADL及び/またはラッチ回路BDLは、ラッチ回路XDLを介さずに、シリアルアクセスコントローラ126とのデータの送受信ができる。よって、動作速度が向上できる。更に、データ転送の頻度を低減できるため、消費電力が低減できる。なお、QLCの場合は、ページバッファ133は、ラッチ回路ADL、BDL、及びXDLに加えて、ラッチ回路CDLを含んでいてもよい。
なお、本実施形態の第1例と、第2例または第3例とを組み合わせてもよい。
10.第10実施形態
次に、第10実施形態について説明する。第10実施形態では、第1セル領域と第2セル領域とに異なるコーディングを適用する場合について説明する。以下、第1実施形態と異なる点を中心に説明する。
次に、第10実施形態について説明する。第10実施形態では、第1セル領域と第2セル領域とに異なるコーディングを適用する場合について説明する。以下、第1実施形態と異なる点を中心に説明する。
10.1 論理ページアドレスと物理ページアドレスとの変換動作
まず、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図72を用いて説明する。図72は、物理ページに対する論理ページデータの割り付けを示す図である。
まず、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図72を用いて説明する。図72は、物理ページに対する論理ページデータの割り付けを示す図である。
本実施形態では、2ページの論理ページのデータを3ページの物理ページ(すなわち3ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
図72に示すように、論理第1ページ及び論理第2ページのデータをそれぞれ3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に、論理第1ページの第1クラスタを書き込み、Lowerページの第2セル領域に論理第1ページの第2クラスタを書き込み、Middleページの第1セル領域に論理第1ページの第3クラスタを書き込む。また、メモリ100は、Middleページの第2セル領域に、論理第2ページの第1クラスタを書き込み、Upperページの第1セル領域に論理第2ページの第2クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第3クラスタを書き込む。
10.2 メモリセルトランジスタのコーディング
次に、メモリセルトランジスタMCのコーディングについて、図73を用いて説明する。図73は、各ステートへのデータの割り付けを示すテーブルである。
次に、メモリセルトランジスタMCのコーディングについて、図73を用いて説明する。図73は、各ステートへのデータの割り付けを示すテーブルである。
図73に示すように、本実施形態では、第1セル領域と第2セル領域とにおいて異なるコーディングが適用される。この場合、論理ページの読み出し動作において、論理ページのデータを確定させる境界の位置が、第1セル領域と第2セル領域とで同じになるように、それぞれのコーディングが選択される。
より具体的には、論理第1ページの読み出し動作の場合、第1セル領域においてLowerページ及びMiddleページのデータを確定させる境界の位置と、第2セル領域においてLowerページのデータを確定させる境界の位置とが同じとなる。また、論理第2ページの読み出し動作の場合、第1セル領域においてUpperページのデータを確定させる境界の位置と、第2セル領域においてMiddleページとUpperページのデータを確定させる境界の位置とが同じとなる。
例えば、第1セル領域では、メモリセルトランジスタMCに対して、“Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“000”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
“S0”ステート:“111”データ
“S1”ステート:“011”データ
“S2”ステート:“001”データ
“S3”ステート:“101”データ
“S4”ステート:“100”データ
“S5”ステート:“000”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4によって確定する。Middleページは、読み出し動作R2及びR6によって確定する。Upperページは、読み出し動作R1、R3、R5、及びR7によって確定する。従って、第1セル領域のデータの割り付けは、1-2-4コーディングである。
また、第2セル領域では、メモリセルトランジスタMCに対して、“Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“100”データ
“S3”ステート:“000”データ
“S4”ステート:“001”データ
“S5”ステート:“011”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
“S0”ステート:“111”データ
“S1”ステート:“101”データ
“S2”ステート:“100”データ
“S3”ステート:“000”データ
“S4”ステート:“001”データ
“S5”ステート:“011”データ
“S6”ステート:“010”データ
“S7”ステート:“110”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R2、R4、及びR6によって確定する。Middleページは、読み出し動作R1及びR5によって確定する。Upperページは、読み出し動作R3及びR7によって確定する。従って、第2セル領域のデータの割り付けは、3-2-2コーディングである。
論理第1ページの読み出し動作を行う場合、読み出し動作の対象となるのは、Lowerページの第1及び第2セル領域、並びにMiddleページの第1セル領域である。第1領域において、Lowerページのデータは、読み出し動作R4によって確定する。Middleページのデータは、読み出し動作R2及びR6によって確定する。また、第2セル領域において、Lowerページのデータは、読み出し動作R2、R4、及びR6によって確定する。従って、論理第1ページのデータは、第1セル領域及び第2セル領域共に、読み出し動作R2、R4、及びR6によって確定する。なお、論理第1ページの読み出し動作において、選択ワード線WLに、電圧V2、V4、及びV6の順に読み出し電圧が印加されてもよいし、電圧V6、V4、及びV2の順に読み出し電圧が印加されてもよい。また、読み出し動作R4が終了すると論理第1ページの第1クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。
論理第2ページの読み出し動作を行う場合、読み出し動作の対象となるのは、Middleページの第2セル領域、並びにUpperページの第1及び第2セル領域である。第1セル領域において、Upperページのデータは、読み出し動作R1、R3、R5、及びR7によって確定する。第2セル領域において、Middleページのデータは、読み出し動作R1及びR5によって確定する。Upperページのデータは、読み出し動作R3及びR7によって確定する。従って、論理第2ページのデータは、第1セル領域及び第2セル領域共に、読み出し動作R1、R3、R5、及びR7によって確定する。なお、論理第2ページの読み出し動作において、選択ワード線WLに、電圧V1、V3、V5、及びV7の順に読み出し電圧が印加されてもよいし、電圧V7、V5、V3、及びV1の順に読み出し電圧が印加されてもよい。例えば、選択ワード線WLに、電圧V1、V3、V5、及びV7の順に読み出し電圧が印加される場合、読み出し動作R1及びR5が終了すると論理第2ページの第1クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。例えば、選択ワード線WLに、電圧V7、V5、V3、及びV1の順に読み出し電圧が印加される場合、読み出し動作R7及びR2が終了すると、論理第2ページの第3クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。この場合、例えば、メモリ100において、図72を用いて説明した論理第2ページの第1クラスタの割り付けと論理第2ページの第3クラスタの割り付けとを入れ替えてもよい。割り付けを入れ替えることにより、メモリ100は、論理第2ページの第1クラスタのデータを、割り付けを入れ替える前より早く外部に出力し得る。
10.3 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
更に、本実施形態に係る構成であれば、セル領域毎に異なるコーディングを適用できる。更に、論理ページの読み出し動作において、各セル領域において、論理ページのデータを確定させる境界の位置が同じになるように、コーディングを選択できる。これにより、論理ページの読み出し動作において、複数の物理ページのデータを読み出す場合に、境界数を最小にできる。従って、読み出し動作の回数の増加を抑制できるため、処理能力を向上できる。例えば、本実施形態の場合、論理第1ページは3回の読み出し動作でデータを確定でき、論理第2ページは4回の読み出し動作でデータを確定できる。
11.第11実施形態
次に、第11実施形態について説明する。第11実施形態では、1ページ分の論理ページのデータを複数の物理ページに割り付ける場合について3つの例を説明する。以下、第1~第10実施形態と異なる点を中心に説明する。
次に、第11実施形態について説明する。第11実施形態では、1ページ分の論理ページのデータを複数の物理ページに割り付ける場合について3つの例を説明する。以下、第1~第10実施形態と異なる点を中心に説明する。
11.1 第1例
まず、第1例の論理ページアドレスと物理ページアドレスとの変換動作について、図74を用いて説明する。図74は、物理ページに対する論理ページデータの割り付けを示す図である。
まず、第1例の論理ページアドレスと物理ページアドレスとの変換動作について、図74を用いて説明する。図74は、物理ページに対する論理ページデータの割り付けを示す図である。
本例では、1ページの論理ページのデータを3ページの物理ページ(すなわち3ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
図74示すように、論理第1ページのデータをそれぞれ3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、メモリ100は、Lowerページに論理第1ページの第1クラスタを書き込み、Middleページに論理第1ページの第2クラスタを書き込み、Upperページに論理第1ページの第3クラスタを書き込む。
11.2 第2例
次に、第2例の論理ページアドレスと物理ページアドレスとの変換動作について説明する。
次に、第2例の論理ページアドレスと物理ページアドレスとの変換動作について説明する。
本例では、1ページの論理ページのデータを4ページの物理ページ(すなわち4ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
まず、本例のメモリセルトランジスタMCの取り得る閾値電圧分布の一例について、図75を用いて説明する。図75は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。
図75に示すように、本例では、各閾値電圧分布に含まれるメモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0101”データ
“S3”ステート:“1101”データ
“S4”ステート:“1100”データ
“S5”ステート:“1000”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“0011”データ
“S9”ステート:“0001”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“0010”データ
“S14”ステート:“1010”データ
“S15”ステート:“1110”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0101”データ
“S3”ステート:“1101”データ
“S4”ステート:“1100”データ
“S5”ステート:“1000”データ
“S6”ステート:“1001”データ
“S7”ステート:“1011”データ
“S8”ステート:“0011”データ
“S9”ステート:“0001”データ
“S10”ステート:“0000”データ
“S11”ステート:“0100”データ
“S12”ステート:“0110”データ
“S13”ステート:“0010”データ
“S14”ステート:“1010”データ
“S15”ステート:“1110”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R4、R6、及びR10によって確定する。Middleページは、読み出し動作R2、R7、R9、及びR12によって確定する。Upperページは、読み出し動作R5、R11、R13、及びR15によって確定する。Topページは、読み出し動作R1、R3、R8、及びR14によって確定する。従って、本例のデータの割り付けは、3-4-4-4コーディングである。
なお、“S0”~“S15”ステートへのデータの割り付けは、3-4-4-4コーディングに限定されない。例えば、第5及び第6実施形態で説明したいずれかのコーディングが適用されてもよい。
次に、論理ページアドレスと物理ページアドレスとの変換動作について、図76を用いて説明する。図76は、物理ページに対する論理ページデータの割り付けを示す図である。
図76に示すように、論理第1ページのデータをそれぞれ4分割して、先頭データから第1クラスタ~第4クラスタとする。例えば、メモリ100は、Lowerページに論理第1ページの第1クラスタを書き込み、Middleページに論理第1ページの第2クラスタを書き込み、Upperページに論理第1ページの第3クラスタを書き込み、Topページに論理第1ページの第4クラスタを書き込む。
11.3 第3例
次に、第3例の論理ページアドレスと物理ページアドレスとの変換動作について説明する。
次に、第3例の論理ページアドレスと物理ページアドレスとの変換動作について説明する。
本例では、2ページの論理ページのデータを4ページの物理ページ(すなわち4ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
まず、本例のメモリセルトランジスタMCの取り得る閾値電圧分布の一例について、図77を用いて説明する。図77は、メモリセルトランジスタMCの閾値電圧分布とデータの割り付けの関係を示す図である。
図77に示すように、本例では、各閾値電圧分布に含まれるメモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。各ステートに対し、2つの隣接する状態(ステート)間で1ビットのデータが変化するグレイ符号となるように、データが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“1100”データ
“S7”ステート:“0100”データ
“S8”ステート:“0101”データ
“S9”ステート:“0001”データ
“S10”ステート:“0000”データ
“S11”ステート:“1000”データ
“S12”ステート:“1010”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
“S0”ステート:“1111”データ
“S1”ステート:“0111”データ
“S2”ステート:“0011”データ
“S3”ステート:“1011”データ
“S4”ステート:“1001”データ
“S5”ステート:“1101”データ
“S6”ステート:“1100”データ
“S7”ステート:“0100”データ
“S8”ステート:“0101”データ
“S9”ステート:“0001”データ
“S10”ステート:“0000”データ
“S11”ステート:“1000”データ
“S12”ステート:“1010”データ
“S13”ステート:“1110”データ
“S14”ステート:“0110”データ
“S15”ステート:“0010”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R6、R8、及びR10によって確定する。Middleページは、読み出し動作R4及びR12によって確定する。Upperページは、読み出し動作R2、R5、R9、R13、及びR15によって確定する。Topページは、読み出し動作R1、R3、R7、R11、及びR14によって確定する。従って、本例のデータの割り付けは、3-2-5-5コーディングである。
なお、“S0”~“S15”ステートへのデータの割り付けは、3-2-5-5コーディングに限定されない。例えば、第5及び第6実施形態で説明したいずれかのコーディングが適用されてもよい。または、第11実施形態の第2例で説明した3-4-4-4コーディングが適用されてもよい。
次に、論理ページアドレスと物理ページアドレスとの変換動作について、図78を用いて説明する。図78は、物理ページに対する論理ページデータの割り付けを示す図である。
図78に示すように、論理第1及び第2ページのデータをそれぞれ2分割して、先頭データから第1クラスタ及び第2クラスタとする。例えば、メモリ100は、Lowerページに論理第1ページの第1クラスタを書き込み、Middleページに論理第1ページの第2クラスタを書き込み、Upperページに論理第2ページの第1クラスタを書き込み、Topページに論理第2ページの第2クラスタを書き込む。
11.4 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
12.第12実施形態
次に、第12実施形態について説明する。第12実施形態では、第1~第3セル領域に異なるコーディングを適用する場合について説明する。以下、第1~第11実施形態と異なる点を中心に説明する。
次に、第12実施形態について説明する。第12実施形態では、第1~第3セル領域に異なるコーディングを適用する場合について説明する。以下、第1~第11実施形態と異なる点を中心に説明する。
12.1 論理ページアドレスと物理ページアドレスとの変換動作
まず、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図79を用いて説明する。図79は、物理ページに対する論理ページデータの割り付けを示す図である。
まず、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図79を用いて説明する。図79は、物理ページに対する論理ページデータの割り付けを示す図である。
本実施形態では、3ページの論理ページのデータを4ページの物理ページ(すなわち4ページデータを記憶可能な1つのメモリグループMG)に割り付ける場合について説明する。
図79に示すように、論理第1~第3ページのデータをそれぞれ4分割して、先頭データから第1クラスタ~第4クラスタとする。例えば、メモリ100は、Lowerページの第1セル領域に論理第1ページの第1クラスタを書き込み、Lowerページの第2セル領域に論理第1ページの第2クラスタを書き込み、Lowerページの第3セル領域に論理第1ページの第3クラスタを書き込む。メモリ100は、Middleページの第1セル領域に論理第1ページの第4クラスタを書き込み、Middleページの第2セル領域に論理第2ページの第1クラスタを書き込み、Middleページの第3セル領域に論理第2ページの第2クラスタを書き込む。メモリ100は、Upperページの第1セル領域に論理第2ページの第3クラスタを書き込み、Upperページの第2セル領域に論理第2ページの第4クラスタを書き込み、Upperページの第3セル領域に論理第3ページの第1クラスタを書き込む。メモリ100は、Topページの第1セル領域に論理第3ページの第2クラスタを書き込み、Topページの第2セル領域に論理第3ページの第3クラスタを書き込み、Topページの第3セル領域に論理第3ページの第4クラスタを書き込む。
12.2 メモリセルトランジスタのコーディング
次に、メモリセルトランジスタMCのコーディングについて、図80を用いて説明する。図80は、各ステートへのデータの割り付けを示すテーブルである。
次に、メモリセルトランジスタMCのコーディングについて、図80を用いて説明する。図80は、各ステートへのデータの割り付けを示すテーブルである。
図80に示すように、本実施形態では、第1~第3セル領域において異なるコーディングが適用される。この場合、論理ページの読み出し動作において、論理ページのデータを確定させる境界の位置が、第1セル領域と第2セル領域と第3セル領域とで同じになるように、それぞれのコーディングが選択される。
より具体的には、論理第1ページの読み出し動作の場合、第1セル領域においてLowerページ及びMiddleページのデータを確定させる境界の位置と、第2セル領域においてLowerページのデータを確定させる境界の位置と、第3セル領域においてLowerページのデータを確定させる境界の位置とが同じとなる。また、論理第2ページの読み出し動作の場合、第1セル領域においてUpperページのデータを確定させる境界の位置と、第2セル領域においてMiddleページとUpperページのデータを確定させる境界の位置と、第3セル領域においてMiddleページのデータを確定させる境界の位置とが同じとなる。更に、論理第3ページの読み出し動作の場合、第1セル領域においてTopページのデータを確定させる境界の位置と、第2セル領域においてTopページのデータを確定させる境界の位置と、第3セル領域においてUpperページ及びTopページのデータを確定させる境界の位置とが同じとなる。
例えば、第1セル領域では、メモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“1101”データ
“S2”ステート:“0101”データ
“S3”ステート:“0100”データ
“S4”ステート:“0000”データ
“S5”ステート:“1000”データ
“S6”ステート:“1100”データ
“S7”ステート:“1110”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0110”データ
“S11”ステート:“0111”データ
“S12”ステート:“0011”データ
“S13”ステート:“1011”データ
“S14”ステート:“1001”データ
“S15”ステート:“0001”データ
“S0”ステート:“1111”データ
“S1”ステート:“1101”データ
“S2”ステート:“0101”データ
“S3”ステート:“0100”データ
“S4”ステート:“0000”データ
“S5”ステート:“1000”データ
“S6”ステート:“1100”データ
“S7”ステート:“1110”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0110”データ
“S11”ステート:“0111”データ
“S12”ステート:“0011”データ
“S13”ステート:“1011”データ
“S14”ステート:“1001”データ
“S15”ステート:“0001”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R3及びR11によって確定する。Middleページは、読み出し動作R1、R7、及びR14によって確定する。Upperページは、読み出し動作R4、R6、R8、R10、及びR12によって確定する。Topページは、読み出し動作R2、R5、R9、R13、及びR15によって確定する。従って、第1セル領域のデータの割り付けは、2-3-5-5コーディングである。
第2セル領域では、メモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“1110”データ
“S2”ステート:“0110”データ
“S3”ステート:“0111”データ
“S4”ステート:“0011”データ
“S5”ステート:“1011”データ
“S6”ステート:“1001”データ
“S7”ステート:“1000”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“0001”データ
“S12”ステート:“0101”データ
“S13”ステート:“1101”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“1110”データ
“S2”ステート:“0110”データ
“S3”ステート:“0111”データ
“S4”ステート:“0011”データ
“S5”ステート:“1011”データ
“S6”ステート:“1001”データ
“S7”ステート:“1000”データ
“S8”ステート:“1010”データ
“S9”ステート:“0010”データ
“S10”ステート:“0000”データ
“S11”ステート:“0001”データ
“S12”ステート:“0101”データ
“S13”ステート:“1101”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R1、R3、R7、R11、及びR14によって確定する。Middleページは、読み出し動作R6、R8、及びR10によって確定する。Upperページは、読み出し動作R4及びR12によって確定する。Topページは、読み出し動作R2、R5、R9、R13、及びR15によって確定する。従って、第2セル領域のデータの割り付けは、5-3-2-5コーディングである。
第3セル領域では、メモリセルトランジスタMCに対して、“Topビット/Upperビット/Middleビット/Lowerビット”に以下に示すようにデータが割り付けられる。
“S0”ステート:“1111”データ
“S1”ステート:“1110”データ
“S2”ステート:“0110”データ
“S3”ステート:“0111”データ
“S4”ステート:“0101”データ
“S5”ステート:“0001”データ
“S6”ステート:“0011”データ
“S7”ステート:“0010”データ
“S8”ステート:“0000”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1011”データ
“S12”ステート:“1001”データ
“S13”ステート:“1101”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
“S0”ステート:“1111”データ
“S1”ステート:“1110”データ
“S2”ステート:“0110”データ
“S3”ステート:“0111”データ
“S4”ステート:“0101”データ
“S5”ステート:“0001”データ
“S6”ステート:“0011”データ
“S7”ステート:“0010”データ
“S8”ステート:“0000”データ
“S9”ステート:“1000”データ
“S10”ステート:“1010”データ
“S11”ステート:“1011”データ
“S12”ステート:“1001”データ
“S13”ステート:“1101”データ
“S14”ステート:“1100”データ
“S15”ステート:“0100”データ
このように割り付けられたデータを読み出す場合、Lowerページは、読み出し動作R1、R3、R7、R11、及びR14によって確定する。Middleページは、読み出し動作R4、R6、R8、R10、及びR12によって確定する。Upperページは、読み出し動作R5及びR13によって確定する。Topページは、読み出し動作R2、R9、及びR15によって確定する。従って、第3セル領域のデータの割り付けは、5-5-2-3コーディングである。
論理第1ページの読み出し動作を行う場合、読み出し動作の対象となるのは、Lowerページの第1~第3セル領域、並びにMiddleページの第1セル領域である。第1領域において、Lowerページのデータは、読み出し動作R3及びR11によって確定する。Middleページのデータは、読み出し動作R1、R7、及びR14によって確定する。第2セル領域において、Lowerページのデータは、R1、R3、R7、R11、及びR14によって確定する。第3セル領域において、Lowerページのデータは、R1、R3、R7、R11、及びR14によって確定する。従って、論理第1ページのデータは、第1セル領域、第2セル領域、及び第3セル領域共に、読み出し動作R1、R3、R7、R11、及びR14によって確定する。なお、論理第1ページの読み出し動作において、選択ワード線WLに印加される読み出し電圧の順序は、電圧V1、V3、V7、V11、及びV14の順であってもよいし、電圧V14、V11、V7、V3、及びV1の順でもよい。また、読み出し動作R11及びR3が終了すると、論理第1ページの第1クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。
論理第2ページの読み出し動作を行う場合、読み出し動作の対象となるのは、Middleページの第2及び第3セル領域、並びにUpperページの第1及び第2セル領域である。第1セル領域において、Upperページのデータは、読み出し動作R4、R6、R8、R10、及びR12によって確定する。第2セル領域において、Middleページのデータは、読み出し動作R6、R8、及びR10によって確定する。Upperページのデータは、読み出し動作R4及びR12によって確定する。第3セル領域において、Middleページのデータは、読み出し動作R4、R6、R8、R10、及びR12によって確定する。従って、論理第2ページのデータは、第1セル領域、第2セル領域、及び第3セル領域共に、読み出し動作R4、R6、R8、R10、及びR12によって確定する。なお、論理第2ページの読み出し動作において、選択ワード線WLに印加される読み出し電圧の順序は、電圧V4、V6、V8、V10、及びV12の順でもよいし、電圧V12、V10、V8、V6、及びV4の順でもよい。また、読み出し動作R6、R8、及びR10が終了すると、論理第2ページの第1クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。また、読み出し動作R4及びR12が終了すると、論理第2ページの第4クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。この場合、例えば、メモリ100において、図79を用いて説明した論理第2ページの第1クラスタの割り付けと論理第2ページの第4クラスタの割り付けとを入れ替えてもよい。割り付けを入れ替えることにより、論理第2ページの第1クラスタのデータを、割り付けを入れ替える前より早く外部に出力し得る。
論理第3ページの読み出し動作を行う場合、読み出し動作の対象となるのは、Upperページの第3セル領域、及びTopページの第1~第3セル領域である。第1セル領域において、Topページのデータは、読み出し動作R2、R5、R9、R13、及びR15によって確定する。第2セル領域において、Topページのデータは、読み出し動作R2、R5、R9、R13、及びR15によって確定する。第3セル領域において、Upperページのデータは、読み出し動作R5及びR13によって確定する。Topページのデータは、読み出し動作R2、R9、及びR15によって確定する。従って、論理第3ページのデータは、第1セル領域、第2セル領域、及び第3セル領域共に、読み出し動作R2、R5、R9、R13、及びR15によって確定する。また、論理第3ページの読み出し動作において、選択ワード線WLに印加される読み出し電圧の順序は、電圧V2、V5、V9、V13、及びV15の順でもよいし、電圧V15、V13、V9、V5、及びV2の順でもよい。読み出し動作R13及びR5が終了すると、論理第3ページの第1クラスタのデータが確定するため、メモリ100は、このデータをラッチ回路XDLに転送して外部に出力してもよい。
12.3 本実施形態に係る効果
本実施形態に係る構成であれば、第1及び第10実施形態と同様の効果が得られる。例えば、本実施形態の場合、論理第1ページは5回の読み出し動作でデータを確定でき、論理第2ページは5回の読み出し動作でデータを確定でき、論理第3ページは5回の読み出し動作でデータを確定できる。
本実施形態に係る構成であれば、第1及び第10実施形態と同様の効果が得られる。例えば、本実施形態の場合、論理第1ページは5回の読み出し動作でデータを確定でき、論理第2ページは5回の読み出し動作でデータを確定でき、論理第3ページは5回の読み出し動作でデータを確定できる。
13.第13実施形態
次に、第13実施形態について説明する。第13実施形態では、2つのメモリセルトランジスタMCを用いて3ビットのデータを記憶する場合について説明する。以下、第1~第12実施形態と異なる点を中心に説明する。
次に、第13実施形態について説明する。第13実施形態では、2つのメモリセルトランジスタMCを用いて3ビットのデータを記憶する場合について説明する。以下、第1~第12実施形態と異なる点を中心に説明する。
13.1 メモリセルトランジスタの閾値電圧分布
まず、メモリセルトランジスタMCの取り得る閾値電圧分布について、図81を用いて説明する。図81は、メモリセルトランジスタMCの閾値電圧分布図である。
まず、メモリセルトランジスタMCの取り得る閾値電圧分布について、図81を用いて説明する。図81は、メモリセルトランジスタMCの閾値電圧分布図である。
図81に示すように、各々のメモリセルトランジスタMCの閾値電圧は、離散的な例えば3個の分布のいずれかに含まれる値を取る。すなわち、本実施形態のメモリセルトランジスタMCは、3値のデータを保持可能な1.5bit/Cellである。以下、3個の分布を閾値電圧の低い順にそれぞれ、“S0”ステート、“S1”ステート、及び“S2”ステートと表記する。
“S0”ステートは、例えば、データの消去状態に相当する。そして“S1”及び“S2”ステートは、電荷蓄積層に電荷が注入されてデータが書き込まれた状態に相当する。書き込み動作において、各閾値電圧分布に対応するベリファイ電圧をV1及びV2とする。すると、これらの電圧値は、V1<V2<Vreadの関係にある。
なお、各ステートに対応するベリファイ電圧の設定値と読み出し電圧の設定値とは、同じであってもよく、異なっていてもよい。以下では、説明を簡略化するため、ベリファイ電圧と読み出し電圧とが同じ設定値である場合について説明する。
以下、“S1”及び“S2”ステートの読み出し動作に対応する読み出し動作のことを、それぞれ読み出し動作R1及びR2と表記する。読み出し動作R1は、メモリセルトランジスタMCの閾値電圧が電圧V1未満か否かを判定する。読み出し動作R2は、メモリセルトランジスタMCの閾値電圧が電圧V2未満か否かを判定する。
以下、読み出し動作R1(読み出し電圧V1)に対応するデータを「V1データ」と表記し、読み出し動作R2(読み出し電圧V2)に対応するデータを「V2データ」と表記する。
以上のように、各メモリセルトランジスタMCは、3個の閾値電圧分布のいずれかを有することで、3種類の状態を取ることができる。
13.2 コーディング
次に、コーディングについて、図82を用いて説明する。図82は、2つのメモリセルトランジスタMCによるデータの割り付けを示すテーブルである。
次に、コーディングについて、図82を用いて説明する。図82は、2つのメモリセルトランジスタMCによるデータの割り付けを示すテーブルである。
本実施形態では、2つのメモリセルトランジスタMCを組(以下、「セルユニット」とも表記する)にして、8値(3ビット)のデータを保持する。従って、メモリセルアレイ130は、3bit/2Cell(以下、「D1.5(3値)」とも表記する)の構成である。以下では、セルユニットを構成する2つのメモリセルトランジスタMCをそれぞれ「Aセル」及び「Bセル」と表記する。本実施形態では、第1セル領域に含まれるメモリセルトランジスタMCが「Aセル」として機能し、第2セル領域に含まれるメモリセルトランジスタMCが「Bセル」として機能する。また、複数のセルユニットに対して一括して書き込まれるデータの単位を「セクション」と表記する。例えば、1つのセクションのデータを書き込む場合、セクションのサイズ(データ長)は、1つのメモリグループMGに含まれるメモリセルトランジスタMCの個数の1/2である。すなわち、セクションのサイズは、物理ページのページサイズの1/2である。
セルユニットの8値の状態を、2進数表記で“000”~“111”に割り付けることで、セルユニットは、3ビットのデータを保持できる。以下、セルユニットによる3ビットのデータをそれぞれ、「セルユニットの第1ビット」、「セルユニットの第2ビット」、及び「セルユニットの第3ビット」と表記する。また、メモリグループMGに一括して書き込まれる(または読み出される)セルユニットの第1ビットの集合を「第1セクション」と表記し、セルユニットの第2ビットの集合を「第2セクション」と表記し、セルユニットの第3ビットの集合を「第3セクション」と表記する。
図82の例では、“Aセル/Bセル”のステートの組み合わせに対して、“第1セクション(セルユニットの第1ビット)/第2セクション(セルユニットの第2ビット)/第3セクション(セルユニットの第3ビット)”に以下に示すようにデータが割り付けられる。
“S0/S0”ステート:“111”データ
“S0/S1”ステート:“100”データ
“S0/S2”ステート:“000”データ
“S1/S0”ステート:“110”データ
“S1/S1”ステート:“101”データ
“S1/S2”ステート:“001”データ
“S2/S0”ステート:“010”データ
“S2/S1”ステート:“011”データ
このようにAセルとBセルとのステートの組み合わせにより、3ビットの状態を表す。なお、Aセル/Bセル=“S2/S2”の場合は、使用しないように定義する。
“S0/S1”ステート:“100”データ
“S0/S2”ステート:“000”データ
“S1/S0”ステート:“110”データ
“S1/S1”ステート:“101”データ
“S1/S2”ステート:“001”データ
“S2/S0”ステート:“010”データ
“S2/S1”ステート:“011”データ
このようにAセルとBセルとのステートの組み合わせにより、3ビットの状態を表す。なお、Aセル/Bセル=“S2/S2”の場合は、使用しないように定義する。
第1セクションのビット値(セルユニットの第1ビット)は、Aセル(第1セル領域)における読み出し動作R2(読み出し電圧V2)と、Bセル(第2セル領域)における読み出し動作R2(読み出し電圧V2)により確定する。AセルまたはBセルが“S2”ステートである場合、第1セクションのビット値には、“0”が割り付けられる。
第2セクションのビット値(セルユニットの第2ビット)は、Aセル(第1セル領域)における読み出し動作R2(読み出し電圧V2)と、Bセル(第2セル領域)における読み出し動作R1(読み出し電圧V1)により確定する。Aセルが“S0”または“S1”ステートであり、且つBセルが“S1”または“S2”ステートである場合、第2セクションのビット値には、“0”が割り付けられる。
第3セクションのビット値(セルユニットの第3ビット)は、Aセル(第1セル領域)における読み出し動作R1(読み出し電圧V1)と、Bセル(第2セル領域)における読み出し動作R1(読み出し電圧V1)により確定する。Aセルが“S0”ステートであり、且つBセルが“S1”または“S2”ステートである場合、または、Aセルが“S1”または“S2”ステートであり、且つBセルが“S0”ステートである場合、第3セクションのビット値には、“0”が割り付けられる。
13.3 セクションのビット値の算出
次に、セクションのビット値の算出について、図83を用いて説明する。図83は、Aセル及びBセルへのデータの割り付けと、セクションのビット値との関係を示す図である。図83の例では、論理積演算を“&”で示し、データの否定を“~”で示す。
次に、セクションのビット値の算出について、図83を用いて説明する。図83は、Aセル及びBセルへのデータの割り付けと、セクションのビット値との関係を示す図である。図83の例では、論理積演算を“&”で示し、データの否定を“~”で示す。
図83に示すように、AセルまたはBセルの読み出し動作R1において、閾値電圧が読み出し電圧V1以上である場合、V1データとして、“0”データが割り付けられ、閾値電圧が読み出し電圧V1未満である場合、V1データとして、“1”データが割り付けられる。また、AセルまたはBセルの読み出し動作R2において、閾値電圧が読み出し電圧V2以上である場合、V2データとして、“0”データが割り付けられ、閾値電圧が読み出し電圧V2未満である場合、V2データとして、“1”データが割り付けられる。すると、各セクションのビット値は、以下のような演算で算出される。
第1セクションのビット値は、読み出し電圧V2を用いたAセルの読み出し結果(V2データ)と、読み出し電圧V2を用いたBセルの読み出し結果(V2データ)と、の参照否定排他的論理和演算(EXNOR)により算出される。
第2セクションのビット値は、読み出し電圧V2を用いたAセルの読み出し結果(V2データ)と、読み出し電圧V1を用いたBセルの読み出し結果(V1データ)の否定と、の否定論理積演算(NAND)の演算により算出される。
第3セクションのビット値は、読み出し電圧V1を用いたAセルの読み出し結果(V1データ)と、読み出し電圧V1を用いたBセルの読み出し結果(V1データ)と、の参照否定排他的論理和演算(EXNOR)により算出される。
13.4 論理ページアドレスと物理ページアドレスとの変換動作
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図84及び図85を用いて説明する。図84は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図85は、物理ページに対する論理ページデータの割り付けを示す図である。
次に、論理ページアドレスと物理ページアドレスとの変換動作の一例について、図84及び図85を用いて説明する。図84は、論理ページアドレスと物理ページアドレスとの変換動作の流れを説明する図である。図85は、物理ページに対する論理ページデータの割り付けを示す図である。
本実施形態では、1ページの論理ページのデータを、1つのメモリグループMGにおいて3つのセクションに割り付ける場合について説明する。
図84に示すように、例えば、メモリコントローラ200は、ホストデバイス2から書き込み要求を受信すると、受信した1つの論理アドレス“00001”に対応して、1つの論理ページアドレス“90001”(論理第1ページ)を割り付ける。
コマンドユーザインターフェイス回路121は、メモリコントローラ200から1ページ分の論理ページアドレス及び論理ページの書き込み命令を受信すると、予め設定されたマッピングに従って、1ページ分の論理ページアドレスを3つのセクション分の物理ページアドレスに変換する。このとき、1ページ分の論理ページのデータ長と、3つのセクションのデータ長とは同じである。
1ページの論理ページのページサイズをm(mは1以上の数)とし、書き込む論理ページ数(すなわち、命令に含まれる論理ページアドレス数)をa(aは1以上の整数)とする。また、1つのメモリグループMGの物理ページのページサイズをn(nはmより小さい数)とし、セクション数(すなわち、AセルとBセルとの組が保持可能なビット数)をc(cはaより大きい整数)とする。すると、1ページの物理ページのページサイズnは、セクションのサイズ(セルユニットの個数)の2倍であるため、n=m×2a/cで表せる。本実施形態では、a=1且つc=3であるため、物理ページのページサイズは、n=m×2/3である。例えば、論理ページのページサイズが16[kB]である場合、物理ページのページサイズは、n=16×2/3=10.67[kB]である。この場合、1ページの物理ページのページサイズn=10.67kBを実現できるメモリセルトランジスタMCの個数は、10.67×1024の小数点以下を切り上げた整数値と同じかそれよりも大きい整数値となる。すなわち、メモリセルトランジスタMCの個数は、1ページの物理ページのページサイズの小数点以下を切り上げた整数値と同じかそれよりも大きい整数値となる。
次に、1つのメモリグループMGにおける論理ページデータの配置について詳述する。
図85に示すように、論理第1ページのデータを3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、メモリ100は、第1セクションに第1クラスタのデータを書き込み、第2セクションに第2クラスタのデータを書き込み、第3セクションに第3クラスタのデータを書き込む。本実施形態では、第1セクションのデータは、論理第1ページの第1クラスタのデータに相当し、第2セクションのデータは、論理第1ページの第2クラスタのデータ相当し、第3セクションのデータは、論理第1ページの第3クラスタのデータに相当する。
図85に示すように、論理第1ページのデータを3分割して、先頭データから第1クラスタ~第3クラスタとする。例えば、メモリ100は、第1セクションに第1クラスタのデータを書き込み、第2セクションに第2クラスタのデータを書き込み、第3セクションに第3クラスタのデータを書き込む。本実施形態では、第1セクションのデータは、論理第1ページの第1クラスタのデータに相当し、第2セクションのデータは、論理第1ページの第2クラスタのデータ相当し、第3セクションのデータは、論理第1ページの第3クラスタのデータに相当する。
13.5 センスアンプ及びページバッファの構成
次に、センスアンプ132及びページバッファ133の構成について簡略に説明する。本実施形態のメモリセルアレイ130は、第1セル領域のAセルと第2セル領域のBセルとを組とした、3bit/2Cellの構成である。従って、センスアンプ132及びページバッファ133の構成は、図69を用いて、第9実施形態の第1例で説明したように、センスアンプユニットSAU1とSAU2とが交互に配置された構成が好ましい。これは、Aセル及びBセルのデータを演算する際に、対応するセンス回路SA及びラッチ回路XDL、ADL、及びBDL等が物理的に近い配置のほうが容易に設計可能であるからである。
次に、センスアンプ132及びページバッファ133の構成について簡略に説明する。本実施形態のメモリセルアレイ130は、第1セル領域のAセルと第2セル領域のBセルとを組とした、3bit/2Cellの構成である。従って、センスアンプ132及びページバッファ133の構成は、図69を用いて、第9実施形態の第1例で説明したように、センスアンプユニットSAU1とSAU2とが交互に配置された構成が好ましい。これは、Aセル及びBセルのデータを演算する際に、対応するセンス回路SA及びラッチ回路XDL、ADL、及びBDL等が物理的に近い配置のほうが容易に設計可能であるからである。
13.6 読み出し動作
次に、読み出し動作について説明する。本実施形態の読み出し動作では、メモリ100は、メモリコントローラ200から論理ページに基づく読み出し命令を受信すると、対応する複数の物理ページからデータを読み出し、読み出したデータを演算してセクションを算出した後、セクションを合成して論理ページのデータとして出力する。
次に、読み出し動作について説明する。本実施形態の読み出し動作では、メモリ100は、メモリコントローラ200から論理ページに基づく読み出し命令を受信すると、対応する複数の物理ページからデータを読み出し、読み出したデータを演算してセクションを算出した後、セクションを合成して論理ページのデータとして出力する。
13.6.1 読み出し動作の流れ
まず、メモリ100における読み出し動作の流れについて、図86及び図87を用いて説明する。図86及び図87は、読み出し動作のフローチャートである。
まず、メモリ100における読み出し動作の流れについて、図86及び図87を用いて説明する。図86及び図87は、読み出し動作のフローチャートである。
図86及び図87に示すように、メモリ100は、メモリコントローラ200から論理第1ページの読み出し命令を受信する(ステップS1)。コマンドユーザインターフェイス回路121は、論理ページアドレスを物理ページアドレスに変換した後、受信したコマンド及び変換した物理ページアドレスをシーケンサ123に送信する。
シーケンサ123は、まず、読み出し電圧V2に対応する読み出し動作R2を実行する(ステップS90)。
シーケンサ123は、センス回路SA1及びSA2が読み出したデータ(V2データ)をラッチ回路BDL1及びBDL2にそれぞれ転送する(ステップS91)。
シーケンサ123は、ラッチ回路BDL1のデータ(AセルのV2データ)とラッチ回路BDL2のデータ(BセルのV2データ)とを用いた演算処理を行い、第1セクションのデータ(論理第1ページの第1クラスタのデータ)を算出する(ステップS92)。
シーケンサ123は、算出した第1セクションのデータをラッチ回路XDL1に転送する(ステップS93)。
シーケンサ123は、読み出し電圧V1に対応する読み出し動作R1を実行する(ステップS94)。
シーケンサ123は、センス回路SA1及びSA2が読み出したデータ(V1データ)をラッチ回路ADL1及びADL2にそれぞれ転送する(ステップS95)。
シーケンサ123は、ラッチ回路BDL1のデータ(AセルのV2データ)とラッチ回路ADL2のデータ(BセルのV1データ)とを用いた演算処理を行い、第2セクションのデータ(論理第1ページの第2クラスタのデータ)を算出する(ステップS96)。
シーケンサ123は、算出した第2セクションのデータをラッチ回路XDL2に転送する(ステップS97)。
シーケンサ123は、ラッチ回路ADL1のデータ(AセルのV1データ)とラッチ回路ADL2のデータ(BセルのV1データ)とを用いた演算処理を行い、第3セクションのデータ(論理第1ページの第3クラスタのデータ)を算出する(ステップS98)。
シーケンサ123は、算出した第3セクションのデータをラッチ回路BDL1に転送する(ステップS99)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS100)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)の送信(出力)を開始する。
シーケンサ123は、ラッチ回路XDL1のデータ出力が終了していない場合(ステップS101_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL1のデータ出力が終了すると(ステップS101_Yes)、シーケンサ123は、ラッチ回路BDL1のデータをラッチ回路XDL1に転送する(ステップS102)。また、ラッチ回路XDL1のデータの出力が終了すると、続いて、ラッチ回路XDL2のデータ(論理第1ページの第2クラスタのデータ)の出力が開始される。
シーケンサ123は、ラッチ回路XDL2のデータ出力が終了していない場合(ステップS103_No)、出力が終了するまで、データ出力の確認動作を繰り返す。
ラッチ回路XDL2のデータ出力が終了すると(ステップS103_Yes)、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS104)。シリアルアクセスコントローラ126は、カラムカウンタ125でカウントアップされるカラムアドレスCAに基づいて、ラッチ回路XDL1の先頭アドレスから順にデータを受信し、入出力回路110に転送する。入出力回路110は、メモリコントローラ200へのラッチ回路XDL1のデータ(論理第1ページの第3クラスタのデータ)の送信(出力)を開始する。シーケンサ123は、ラッチ回路XDL1のデータ出力が終了すると、論理第1ページの読み出し動作を終了する。なお、読み出し動作R2終了後、読み出し動作R1を実行している間に、第1セクションのデータが確定するため、メモリ100は、外部RBn信号を“H”レベルとして、データを出力してもよい。
13.6.2 読み出し動作のコマンドシーケンス
次に、読み出し動作のコマンドシーケンスの一例について、図88を用いて説明する。図88は、論理第1ページの読み出し動作のコマンドシーケンスである。図88の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図88の例では、コマンドの一部及びアドレスも省略されている。更に、図88の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
次に、読み出し動作のコマンドシーケンスの一例について、図88を用いて説明する。図88は、論理第1ページの読み出し動作のコマンドシーケンスである。図88の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。また、図88の例では、コマンドの一部及びアドレスも省略されている。更に、図88の例では、内部RBn信号がビジー状態である場合における選択ワード線WLの電圧を併せて示す。
図88に示すように、シーケンサ123は、コマンド“30h”を受信すると、これに応答して、読み出し動作を開始する。まず、シーケンサ123は、内部RBn信号及び外部RBn信号を、ビジー状態を示す“L”レベルにする。次に、シーケンサ123は、読み出し動作R2を実行する。すなわち、選択ワード線WLに読み出し電圧V2が印加される。データを読み出した結果(V2データ)は、ラッチ回路BDL1(Aセルに対応)及びBDL2(Bセルに対応)に格納される。
シーケンサ123は、読み出し動作R2終了後、読み出し動作R1を実行する。すなわち、選択ワード線WLに読み出し電圧V1が印加される。データを読み出した結果(V1データ)は、ラッチ回路ADL1(Aセルに対応)及びADL2(Bセルに対応)に格納される。
読み出し動作R1を実行している間に、シーケンサ123は、ラッチ回路BDL1のデータとラッチ回路BDL2のデータとを用いた演算処理を行い、第1セクションのデータを算出する。算出したデータは、ラッチ回路XDL1に格納される。
シーケンサ123は、読み出し動作R1が終了すると、内部RBn信号及び外部RBn信号を、レディ状態を示す“H”レベルにする。また、シーケンサ123は、ラッチ回路BDL1のデータとラッチ回路ADL2のデータとを用いた演算処理を行い、第2セクションのデータを算出する。算出したデータは、ラッチ回路XDL2に格納される。
メモリコントローラ200は、“H”レベルの外部RBn信号を受信すると、信号REn(不図示)をメモリ100に送信する。入出力回路110は、信号REnに応じて、データの出力を開始する。まず、入出力回路110は、ラッチ回路XDL1のデータ(論理第1ページの第1クラスタのデータ)を出力する。
ラッチ回路XDL1のデータが出力されている間に、シーケンサ123は、ラッチ回路ADL1のデータとラッチ回路ADL2のデータとを用いた演算処理を行い、第3セクションのデータを算出する。算出したデータは、ラッチ回路BDL1に格納される。
ラッチ回路XDL1のデータ出力が終了すると、ラッチ回路BDL1のデータがラッチ回路XDL1に転送される。入出力回路110は、ラッチ回路XDL1に続いて、ラッチ回路XDL2のデータ(論理第1ページの第2クラスタのデータ)を出力する。更に、入出力回路110は、ラッチ回路XDL2に続いて、ラッチ回路XDL1のデータ(論理第1ページの第3クラスタのデータ)を出力する。ラッチ回路XDL1のデータが終了すると、論理第1ページの読み出し動作は終了する。
なお、読み出し電圧V1及びV2を印加する順序は入れ替えてもよい。また、第3セクションのデータをラッチ回路BDL1に格納する前に、ラッチ回路XDL2のデータ出力が終了した場合、シーケンサ123は、外部RBn信号を一旦“L”レベルにして、データ出力を中断してもよい。なお、読み出し動作R2終了後、読み出し動作R1を実行している間に第1セクションのデータが確定するため、メモリ100は、外部RBn信号を“H”レベルとして、データを出力してもよい。
13.7 書き込み動作
次に、書き込み動作について説明する。本実施形態では、第1~第3セクションのデータがメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、本実施形態のフルシーケンス書き込み動作では、“S1”及び“S2”ステートの書き込みが実行される。
次に、書き込み動作について説明する。本実施形態では、第1~第3セクションのデータがメモリグループMGに一括して書き込まれるフルシーケンス書き込み動作が実行される。すなわち、本実施形態のフルシーケンス書き込み動作では、“S1”及び“S2”ステートの書き込みが実行される。
13.7.1 書き込み動作の流れ
次に、メモリ100における書き込み動作の流れについて、図89及び図90を用いて説明する。図89及び図90は、書き込み動作のフローチャートである。
次に、メモリ100における書き込み動作の流れについて、図89及び図90を用いて説明する。図89及び図90は、書き込み動作のフローチャートである。
図89及び図90に示すように、メモリ100は、書き込み命令の受信において、メモリコントローラ200から論理第1ページの論理ページアドレスを受信する(ステップS280)。コマンドユーザインターフェイス回路121は、論理第1ページの論理ページアドレスを物理ページアドレスに変換する。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS281)。
ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第1クラスタのデータ入力が開始される(ステップS282)。
シーケンサ123は、ラッチ回路XDL1へのデータ入力が終了していない場合(ステップS283_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS283_Yes)、シーケンサ123は、ラッチ回路XDL1のデータをラッチ回路BDL1に転送する(ステップS284)。また、ラッチ回路XDL1へのデータ入力が終了すると、続いて、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力が開始される。なお、ステップS283_Yesの場合、続いて、ラッチ回路XDL2への論理第1ページの第2クラスタのデータ入力が開始され、そのデータ入力の間に、シーケンサ123は、ステップS284を実行してもよい。
シーケンサ123は、ラッチ回路XDL2へのデータ入力が終了していない場合(ステップS285_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL2へのデータ入力が終了すると(ステップS285_Yes)、シーケンサ123は、ラッチ回路XDL2のデータをラッチ回路BDL2に転送する(ステップS286)。
シーケンサ123は、カラムカウンタ125において、カラムアドレスCAとして、ラッチ回路XDL1の先頭アドレスを設定する(ステップS287)。ページバッファ133では、カラムカウンタ125から受信したカラムアドレスCAに基づいて、ラッチ回路XDL1への論理第1ページの第3クラスタのデータ入力が開始される。なお、ステップS285_Yesの場合、続いてラッチ回路XDL1への論理第1ページの第3クラスタのデータ入力が開始され、そのデータ入力の間に、シーケンサ123は、ステップS286を実行してもよい。
シーケンサ123は、ラッチ回路XDL1へのデータ入力が終了していない場合(ステップS288_No)、入力が終了するまで、データ入力の確認動作を繰り返す。
ラッチ回路XDL1へのデータ入力が終了すると(ステップS288_Yes)、ラッチ回路XDL1及びXDL2への論理第1ページのデータ入力が終了する。シーケンサ123は、外部RBn信号及び内部RBn信号を“L”レベルにする。
シーケンサ123は、ラッチ回路BDL1、BDL2、及びXDL1のデータ、すなわち第1セクションと第2セクションと第3セクションのデータを演算して、Aセル及びBセルのV1データを算出する(ステップS289)。算出されたAセル及びBセルのV1データは、ラッチ回路ADL1及びADL2にそれぞれ転送される(ステップS290)。
シーケンサ123は、ラッチ回路BDL1、BDL2、及びXDL1のデータ、すなわち第1セクションと第2セクションと第3セクションのデータを演算して、Aセル及びBセルのV2データを算出する(ステップS291)。算出されたAセル及びBセルのV2データは、ラッチ回路XDL1及びXDL2にそれぞれ転送される(ステップS292)。このとき、ラッチ回路XDL1には,第3セクションのデータが格納されているが、AセルのV2データが上書きされてもよい。シーケンサ123は、ラッチ回路ADL1、ADL2、XDL1、及びXDL2のデータの組み合わせに基づいて、各メモリセルトランジスタMCのステートを決定する。
シーケンサ123は、決定されたステートに基づいて、プログラム動作を実行する(ステップS293)。
プログラム動作終了後、シーケンサ123は、プログラムベリファイ動作を実行する(ステップS294)。
ベリファイをパスしていない場合(ステップS295_No)、シーケンサ123は、プログラムループ回数が予め設定された上限回数に達したか確認する(ステップS296)。
プログラムループ回数が上限回数に達していない場合(ステップS296_No)、シーケンサ123は、プログラム動作を実行する(ステップS293)。すなわち、シーケンサ123は、プログラムループを繰り返す。
プログラムループ回数が上限回数に達している場合(ステップS296_Yes)、シーケンサ123は、書き込み動作を終了し、書き込み動作が正常に終了しなかった旨を、メモリコントローラ200に報告する。
ベリファイをパスした場合(ステップS295_Yes)、すなわち、“S1”及び“S2”ステートの書き込みが終了すると、シーケンサ123は、外部RBn信号を“H”レベルにして、フルシーケンス書き込み動作を終了する。
13.7.2 書き込み動作のコマンドシーケンス
次に、書き込み動作のコマンドシーケンスの一例について、図91を用いて説明する。図91は、フルシーケンス書き込み動作のコマンドシーケンスである。図91の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
次に、書き込み動作のコマンドシーケンスの一例について、図91を用いて説明する。図91は、フルシーケンス書き込み動作のコマンドシーケンスである。図91の例では、説明を簡略化するため、信号CEn、CLE、ALE、WEn、及びREnは省略されている。
図91に示すように、まず、メモリコントローラ200は、メモリ100に、コマンド“80h”を送信する。次に、メモリコントローラ200は、論理第1ページの論理ページアドレス“AD-P1”を送信する。メモリ100において、コマンドユーザインターフェイス回路121は、受信した論理ページアドレス“AD-P1”を物理ページアドレスに変換する。次に、メモリコントローラ200は、メモリ100に、論理第1ページのデータを送信する。論理第1ページの第1クラスタは、ラッチ回路XDL1に格納された後、ラッチ回路BDL1に転送される。次に、論理第1ページの第2クラスタは、ラッチ回路XDL2に格納された後、ラッチ回路BDL2に転送される。論理第1ページの第3クラスタは、ラッチ回路XDL1に格納される。
次に、メモリコントローラ200は、メモリ100に、コマンド“10h”を送信する。
シーケンサ123は、コマンド“10h”を受信すると、内部RBn信号及び外部RBn信号を“L”レベルにする。
シーケンサ123は、ラッチ回路BDL1、BDL2、及びXDL1に格納されたデータに基づいて、V1データの演算を行い、その結果をラッチ回路ADL1及びADL2に格納する。また、シーケンサ123は、ラッチ回路BDL1、BDL2、及びXDL1に格納されたデータに基づいて、V2データの演算を行い、その結果をラッチ回路XDL1及びXDL2に格納する。シーケンサ123は、ラッチ回路ADL1、ADL2、XDL1、及びXDL2のデータの組み合わせに基づいて、各メモリセルトランジスタMCのステートを決定し、書き込み動作を実行する。シーケンサ123は、書き込み動作終了後、内部RBn信号及び外部RBn信号を“H”レベルにする。
13.8 本実施形態に係る効果
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
本実施形態に係る構成であれば、第1実施形態と同様の効果が得られる。
例えば、メモリ100は、多値(2~4bit/Cell)のメモリ領域と、高速高信頼性用のメモリ領域とを有している場合がある。例えば、高速高信頼性用のメモリ領域は、アクセス高速化やデータの高信頼性化のために使用され、2値(1bit/Cell)としてデータを記憶する。第1~第12実施形態の高速高信頼性メモリ領域を2値(1bit/Cell)とすることも可能であるが、多値のメモリ領域の物理ページのページサイズは論理ページのサイズより小さいため、高速高信頼性メモリ領域の論理ページが小さくなってしまう。この場合、多値のメモリ領域に、第1~第12実施形態を適用し、高速/高信頼性メモリ領域に、本実施形態を適用してもよい。これにより、多値のメモリ領域の論理ページのページサイズと、高速/高信頼性メモリ領域の論理ページのページサイズとを同じにできる。
なお、2セル3値で3ビットを記憶するデータの割り付けについては、例えば、“半導体メモリ(SEMICONDUCTOR MEMORY)”という2018年9月6日に出願された米国特許出願16/123,162号に記載されている。この特許出願は、その全体が本願明細書において参照により援用されている。
また、本実施形態では、メモリセルトランジスタMCが、3値2セル(1.5bit/Cell)で3ビットのデータを保持する場合について説明したが、これに限定されない。例えば、メモリセルトランジスタMCは、6値2セル(2.5bit/Cell)で5ビットのデータを保持してもよいし、12値2セル(3.5bit/Cell)で7ビットのデータを保持してもよいし、23値または24値2セル(4.5bit/Cell)で9ビットのデータを保持してもよい。
14.変形例等
上記実施形態に係る半導体メモリは、3つ以上の複数ステートにて複数ビットのデータを保持可能な複数のメモリセル(MC)を含むメモリグループ(MG)と、複数のメモリセルに接続されたワード線(WL)と、外部コントローラ(200)から受信した1つの外部アドレス(論理ページアドレス)を複数の内部アドレス(物理ページアドレス)に変換する第1回路(121)と、を含む。メモリグループが保持可能なページデータ(物理ページのデータ)の第1ページサイズは、外部アドレスに対応する入力データ(論理ページのデータ)の第2ページサイズよりも小さい。
上記実施形態に係る半導体メモリは、3つ以上の複数ステートにて複数ビットのデータを保持可能な複数のメモリセル(MC)を含むメモリグループ(MG)と、複数のメモリセルに接続されたワード線(WL)と、外部コントローラ(200)から受信した1つの外部アドレス(論理ページアドレス)を複数の内部アドレス(物理ページアドレス)に変換する第1回路(121)と、を含む。メモリグループが保持可能なページデータ(物理ページのデータ)の第1ページサイズは、外部アドレスに対応する入力データ(論理ページのデータ)の第2ページサイズよりも小さい。
上記実施形態を適用することにより、チップ面積の増加を抑制できる半導体メモリを提供できる。
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
例えば、各コーディングにおいて、“0”データと“1”データとを反転させてもよい。
例えば、上記第1~第12実施形態では、メモリセルトランジスタMCが2~4bit/Cellの例を説明したが、これに限定されない。例えば、メモリセルトランジスタMCは、5bit/Cellであってもよい。また、メモリセルトランジスタMCは、6値2セル(2.5bit/Cell)で5ビットのデータを保持してもよいし、12値2セル(3.5bit/Cell)で7ビットのデータを保持してもよいし、23値または24値2セル(4.5bit/Cell)で9ビットのデータを保持してもよい。
例えば、メモリ100は、NAND型フラッシュメモリに限定されない。メモリ100は、メモリセルアレイのアドレス空間内で一部のワード線のアドレスだけを選択して読み出し動作また書き込み動作を行う不揮発性メモリであればよい。例えば、メモリ100は、例えばPCM(Phase Change Memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)であってもよい。
また、上記第1~第12実施形態では、1回の書き込み動作で8値または16値のステートに書き込んでいたが、隣接セルの影響を抑えるために、例えば2回の書込みステップで書き込んでもよい。この場合、隣接セルの影響が大きい場合は、第1ワード線(WLn)の第1ページの書込み動作後、隣の第2ワード線(WLn+1)の第1ページの書込み動作を実行し、その後に第1ワード線(WLn)の第2ページの書込み動作を行う。例えば、第10実施例の場合、図92に示すように、論理第1ページの書き込み動作時に、第1セル領域のメモリセルトランジスタMCは、Lowerページへの論理第1ページの第1クラスタとMiddleページへの論理第1ページの第3クラスタの書込みデータにより、ステートS0、S2、S4、またはS6に書込まれる。他方で、第2セル領域のメモリセルトランジスタMCは、Lowerページへの論理第1ページの第2クラスタの書込みデータによりステートS0またはS2に書き込まれる。なお、論理第1ページの書込み動作のステートは論理第2ページの書込み動作のステートより下げてもよい。また、論理第1ページの書込み動作のステップアップ電圧量を論理第2ページの書き込み動作より大きくしてもよい。この後、論理第2ページの書き込み動作時に、内部リード動作により論理第1ページの書込み動作で書き込んだデータを読み出し、第1セル領域のメモリセルトランジスタMCは、Upperページに論理第2ページの第2クラスタの書込みデータにより、ステートS0に書き込まれている場合、ステートS0またはS1に書き込まれ、ステートS2に書き込まれている場合、ステートS2またはS3に書き込まれ、ステートS4に書き込まれている場合、ステートS4またはS5に書き込まれ、ステートS6に書き込まれている場合、ステートS6またはS7に書き込まれる。第2セル領域のメモリセルトランジスタMCは、Middleページへの論理第2ページの第1クラスタと、Upperページへの論理第2ページの第3クラスタの書込みデータにより、ステートS0に書き込まれている場合、ステートS0、S1、S4、またはS5に書き込まれ、ステートS2に書き込まれている場合、ステートS2、S3、S6、またはS7に書き込まれる。なお、論理第2ページの書込み動作の前、論理第1ページの書き込み動作後にリード動作を行うと、論理第2ページの書き込み動作の後のVth分布に書き込まれていないため、誤ったデータとなる。このため、この時のリードコマンドを別に設けるか、または、ページ毎にフラグセルを用意して、リードレベルを変えてもよい。
例えば、上記実施形態は、可能な限り組み合わせることができる。
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
実施形態は例示であり、発明の範囲はそれらに限定されない。
1…メモリシステム、2…ホストデバイス、30…半導体基板、32、33、41、53、55…配線層、34…ブロック絶縁膜、35…電荷蓄積層、36…トンネル絶縁膜、37…半導体層、38…コア層、39…キャップ層、40、51、54、56、57…コンタクトプラグ、52…ゲート電極、100…NAND型フラッシュメモリ、110…入出力回路、120…制御部、121…コマンドユーザインターフェイス回路、122…発振器、123…シーケンサ、124…電圧発生回路、125…カラムカウンタ、126…シリアルアクセスコントローラ、130…メモリセルアレイ、131…ロウデコーダ、132…センスアンプ、133…ページバッファ、200…メモリコントローラ、210…ホストインターフェイス回路、220…RAM、230…プロセッサ、240…バッファメモリ、250…メモリインターフェイス回路、260…ECC回路
Claims (15)
- 3つ以上の複数ステートにて複数ビットのデータを保持可能な複数のメモリセルを含むメモリグループと、
前記複数のメモリセルに接続されたワード線と、
外部コントローラから受信した1つの外部アドレスを複数の内部アドレスに変換する第1回路と、
を備え、
前記メモリグループが保持可能なページデータの第1ページサイズは、前記外部アドレスに対応する入力データの第2ページサイズよりも小さい、
半導体メモリ。 - 前記入力データは、前記複数のメモリセルの一部の少なくとも2つのビットに書き込まれる、
請求項1に記載の半導体メモリ。 - 前記第2ページサイズをmとし、
前記外部コントローラから受信した命令に含まれる前記入力データのページ数をaとし、
前記メモリグループが保持可能な前記ページデータのページ数をbとし、
前記第1ページサイズをnとすると、
n=m×a/bである、
請求項1または2に記載の半導体メモリ。 - 読み出し動作において、前記メモリグループから複数の前記ページデータが読み出され、読み出された前記複数のページデータの少なくとも一部が合成されて、合成されたデータが出力される、
請求項1乃至3のいずれか一項に記載の半導体メモリ。 - 前記複数のメモリセルの前記複数ビットのうちの少なくとも1ビットは、1つの読み出し電圧を用いた1回の読み出し動作により確定される、
請求項1乃至4のいずれか一項に記載の半導体メモリ。 - 複数の第1メモリセル及び複数の第2メモリセルを含むメモリグループと、
前記複数の第1メモリセル及び前記複数の第2メモリセルに接続されたワード線と、
外部コントローラから受信した1つの外部アドレスを複数の内部アドレスに変換する第1回路と、
を備え、
前記メモリグループが保持可能なページデータの第1ページサイズは、前記外部アドレスに対応する入力データの第2ページサイズよりも小さく、
前記複数の第1メモリセルのいずれか1つと、前記複数の第2メモリセルのいずれか1つとの組によって、複数ビットのデータを保持可能である、
半導体メモリ。 - 前記第2ページサイズをmとし、
前記外部コントローラから受信した命令に含まれる前記入力データのページ数をaとし、
前記組が保持可能なビット数をcとし、
前記第1ページサイズをnとすると、
n=m×2a/cである、
請求項6に記載の半導体メモリ。 - 各々が、データが消去された消去状態を示す第1の閾値領域と、前記第1の閾値領域よりも閾値電圧が高くデータが書き込まれた書き込み状態を示す第2から第8の閾値領域とを合わせた閾値領域であって前記第gの閾値領域は前記第(g-1)の閾値領域よりも閾値電圧が高い(gは2以上8以下の自然数)8個の閾値領域により、第1から第3ビットで表わせられる3ビットのデータを記憶可能な複数のメモリセルと、
前記複数のメモリセルに接続されたワード線と、
外部コントローラから受信した読み出しコマンドに応じて前記複数のメモリセルに対する読み出し動作を実行する制御部と、
を備え、
前記第1から第8の閾値領域のうち隣接する閾値領域間に存在する第1から第7の電圧のうち、前記第1ビットのデータの値の判定に用いられる電圧の数は1であり、前記第2ビットのデータの値の判定に用いられる電圧の数はpであり(pは2以上4以下の自然数)、前記第3ビットのデータの値の判定に用いられる電圧の数は(6-p)であり、
前記外部コントローラから受信した読み出しコマンドで指定されるアドレスは、第1ページアドレスと第2ページアドレスのうちいずれか一方に対応するアドレスであって、
前記制御部は、前記指定されるアドレスが前記第1ページアドレスに対応する場合、前記第1ビットのデータの値の判定に用いられる電圧と、前記第2ビットのデータの値の判定に用いられる前記p個の電圧と、を使用して前記複数のメモリセルからデータを読み出し、
前記制御部は、前記指定されるアドレスが前記第2ページアドレスに対応する場合、前記第1ビットのデータの値の判定に用いられる電圧と、前記第3ビットのデータの値の判定に用いられる前記(6-p)個の電圧と、を使用して前記複数のメモリセルからデータを読み出す不揮発性メモリ。 - 前記第hの電圧は前記第(h-1)の電圧よりも高く(hは2以上7以下の自然数)、前記第4の電圧が前記第1ビットのデータの値の判定に用いられる電圧である請求項8に記載の不揮発性メモリ。
- 前記pは3である請求項9に記載の不揮発性メモリ。
- 前記第1の電圧と前記第3の電圧と前記第6の電圧とが前記第2ビットのデータの値の判定に用いられる電圧であり、
前記第2の電圧と前記第5の電圧と前記第7の電圧とが前記第3ビットのデータの値の判定に用いられる電圧である
請求項10に記載の不揮発性メモリ。 - 前記pは4である請求項9に記載の不揮発性メモリ。
- 前記第1の電圧と前記第3の電圧と前記第5の電圧と前記第7の電圧とが前記第2ビットのデータの値の判定に用いられる電圧であり、
前記第2の電圧と前記第6の電圧とが前記第3ビットのデータの値の判定に用いられる電圧である
請求項12に記載の不揮発性メモリ。 - 前記pは2である請求項9に記載の不揮発性メモリ。
- 前記第2の電圧と前記第6の電圧とが前記第2ビットのデータの値の判定に用いられる電圧であり、
前記第1の電圧と前記第3の電圧と前記第5の電圧と前記第7の電圧とが前記第3ビットのデータの値の判定に用いられる電圧である
請求項14に記載の不揮発性メモリ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/471,810 US20220157387A1 (en) | 2020-11-19 | 2021-09-10 | Semiconductor memory and nonvolatile memory |
CN202111346621.1A CN114551460A (zh) | 2020-11-19 | 2021-11-15 | 半导体存储器、非易失性存储器 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020192523 | 2020-11-19 | ||
JP2020192523 | 2020-11-19 | ||
JP2020214800 | 2020-12-24 | ||
JP2020214800 | 2020-12-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022081399A true JP2022081399A (ja) | 2022-05-31 |
Family
ID=81799595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021138120A Pending JP2022081399A (ja) | 2020-11-19 | 2021-08-26 | 半導体メモリ及び不揮発性メモリ |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022081399A (ja) |
TW (2) | TWI795819B (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8180954B2 (en) * | 2008-04-15 | 2012-05-15 | SMART Storage Systems, Inc. | Flash management using logical page size |
KR102024850B1 (ko) * | 2012-08-08 | 2019-11-05 | 삼성전자주식회사 | 3차원 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 |
WO2014045329A1 (en) * | 2012-09-24 | 2014-03-27 | Hitachi, Ltd. | Storage system and storage control method |
US11099781B2 (en) * | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
US10943651B2 (en) * | 2018-08-03 | 2021-03-09 | Toshiba Memory Corporation | Semiconductor memory device, memory system, and write method |
US10734071B2 (en) * | 2018-12-13 | 2020-08-04 | Western Digital Technologies, Inc. | Multi-level cell programming using optimized multiphase mapping with balanced Gray code |
JP2020095767A (ja) * | 2018-12-13 | 2020-06-18 | キオクシア株式会社 | 半導体記憶装置 |
JP2020155163A (ja) * | 2019-03-18 | 2020-09-24 | キオクシア株式会社 | メモリシステム及び不揮発性メモリ |
-
2021
- 2021-08-26 JP JP2021138120A patent/JP2022081399A/ja active Pending
- 2021-09-07 TW TW110123125A patent/TWI795819B/zh active
- 2021-09-07 TW TW112104507A patent/TWI833575B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW202324422A (zh) | 2023-06-16 |
TW202234408A (zh) | 2022-09-01 |
TWI795819B (zh) | 2023-03-11 |
TWI833575B (zh) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9748172B2 (en) | Floating staircase word lines and process in a 3D non-volatile memory having vertical bit lines | |
CN114551460A (zh) | 半导体存储器、非易失性存储器 | |
US10026491B2 (en) | Semiconductor memory device and memory system | |
JP4892307B2 (ja) | 不揮発性半導体格納装置 | |
CN109859783A (zh) | 3d存储器阵列中的字线桥 | |
JP6453729B2 (ja) | 半導体記憶装置及びメモリシステム | |
CN107045892B (zh) | 非易失性存储器和包括非易失性存储器的存储装置 | |
US8441862B2 (en) | Program method of multi-bit memory device and data storage system using the same | |
JP5204069B2 (ja) | 不揮発性半導体記憶装置 | |
TWI720740B (zh) | 半導體記憶裝置及記憶體系統 | |
US11562794B2 (en) | Storage device performing read operation by using time interleaved sampling page buffer | |
JP2010103255A (ja) | 三次元積層型不揮発性半導体メモリ及びメモリカード | |
TWI795819B (zh) | 半導體記憶體,非揮發性記憶體 | |
US11837290B2 (en) | Nonvolatile memory device and operation method thereof | |
US11682460B2 (en) | Non-volatile memory device, storage device and program method thereof | |
CN116072186A (zh) | 存储装置及其操作方法 | |
CN113053444A (zh) | 存储装置和操作该存储装置的方法 | |
CN112447242A (zh) | 对可用电源的改变的响应 | |
US20230039489A1 (en) | Semiconductor device performing block program and operating method thereof | |
US11532361B2 (en) | Non-volatile memory device, storage device including the same, and read method thereof | |
TWI837453B (zh) | 半導體記憶裝置 | |
US11592982B2 (en) | Memory storage device and electronic device including nonvolatile memory | |
US20230146885A1 (en) | Nonvolatile memory device, storage device having the same, and operating method thereof | |
JP2008234714A (ja) | 不揮発性半導体記憶装置の書き込み制御方法及びメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20230106 |