【実施例】
【0021】
次に、本発明の実施例について説明する。
図3は、本発明の実施例に係るシステムの一例である。本実施例のシステム10は、ホスト装置20と、NAND型のフラッシュメモリ100とを含む。フラッシュメモリ100は、SPIのようなシリアルインターフェースを介してホスト装置20と接続される。ホスト装置20は、例えば、プロセッサ、コントローラ、コンピュータであることができる。システム10は、パッケージ化された半導体デバイス、コンピュータ装置、コンピュータシステム、記憶装置、記憶システムの全部または一部であり得る。
【0022】
図4に、本実施例のNAND型フラッシュメモリ100の構成を示す。フラッシュメモリ100は、行列状に配列された複数のメモリセルが形成されたメモリセルアレイ110と、外部端子に接続された入出力バッファ120と、入出力バッファ120からデータを受け取りまたは入出力バッファ120へデータを出力するデータレジスタ130と、入出力バッファ120からのアドレスデータを受け取るアドレスレジスタ140と、入出力バッファ120からの命令(コマンド)や外部制御信号(チップセレクト信号CS、ライトプロテクト信号WPなど)に基づき読出し、プログラム、消去等を制御する制御部150と、連続読出しの範囲に関するページ情報を格納するページ情報格納部160と、アドレスレジスタ140からの行アドレス情報Axをデコードしデコード結果に基づきメモリアレイ110のブロックやページの選択等を行うワード線選択回路170と、ビット線を介して読み出されたデータを保持したり、ビット線を介してプログラムするデータ等を保持するページバッファ/センス回路180と、アドレスレジスタ140からの列アドレス情報Ayをデコードし当該デコード結果に基づきビット線の選択等を行う列選択回路190とを含む。また、ここには図示しないがフラッシュメモリ100は、データの読出し、プログラム(書き込み)および消去等のために必要な電圧(プログラム電圧Vpgm、パス電圧Vpass、読出し電圧Vread、消去電圧Vers(消去パルスを含む)を生成する内部電圧発生回路を含むことができる。
【0023】
メモリアレイ110は、複数のブロックを含み(例えば、ブロック0〜ブロック1023)、1つのブロックには、
図5に示すように、複数のメモリセルを直列に接続したNANDストリングNUが行方向にn+1個(例えば、2KB)配列されている。1つのNANDストリングNUは、直列に接続された複数のメモリセルMCi(i=1、2、3・・・、64)と、一方の端部であるメモリセルMC64のドレイン側に接続されたビット線側選択トランジスタTDと、メモリセルMC0のソース側に接続されたソース線側選択トランジスタTSとを含む。ビット線側選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、ソース線側選択トランジスタTSのソースは、共通のソース線SLに接続される。
【0024】
図6は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線側選択トランジスタTD、ソース線側選択トランジスタTSをオンし、共通ソース線SLを0Vにする。プログラム動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線側選択トランジスタTDをオンさせ、ソース線側選択トランジスタTSをオフさせ、データ「0」または「1」に応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【0025】
ページバッファ/センス回路180は、メモリセルアレイ110から読み出されたデータを保持したり、メモリセルアレイ110にプログラムするデータを保持するラッチ回路を含む。このラッチ回路は、1ページ分のデータ(例えば、2KB)を保持することが可能である。
【0026】
ページバッファ/センス回路180のラッチ回路は、双方向のデータ転送が可能な転送回路を介してデータレジスタ130に接続される。データレジスタ130もラッチ回路と同様に、1ページ分のデータを保持することが可能である。ラッチ回路とデータレジスタ130は、それぞれ第1のキャッシュ部分と第2のキャッシュ部分を備え、第1のキャッシュ部分と第2のキャッシュ部分のデータを独立して転送させることができる。例えば、ラッチ回路の第1のキャッシュ部分が保持するデータをデータレジスタ130の第1のキャッシュ部分に転送したり、ラッチ回路の第2のキャッシュ部分が保持するデータをデータレジスタ130の第2のキャッシュ部分に転送することができる。
【0027】
ページバッファ/センス回路180のラッチ回路とデータレジスタ130とにより2段のパイプラインを構成することで、ページの連続読出しを高速化することができる。例えば、
図7(A)に示すように、ブロック(P)のページA、ページB、…ページMまでを連続的に読み出す場合、先ず、ページAのデータがページバッファ180のラッチ回路LTに転送され、次に、このページデータがデータレジスタ130に転送される。次に、データレジスタ130に保持されたデータがシリアル出力される間に、次のページBのデータがラッチLTに転送される。
【0028】
図7(B)に、ラッチ回路LTおよびデータレジスタ130の第1のキャッシュ部分Ca0とおよび第2のキャッシュ部分Ca1の詳細な動作を示す。第1のキャッシュ部分Ca0および第2のキャッシュ部分Ca1は、それぞれ1/2ページのデータを保持し、また、A0、A1、B0、B1、C0、C1は、それぞれ1/2ページである。
【0029】
シーケンス1で、データレジスタ130の第1のキャッシュ部分Ca0からページデータA0が出力され、シーケンス2で、データレジスタ130の第2のキャッシュ部分Ca1からページデータA1が出力される。このとき、ラッチ回路LTの第1のキャッシュ部分Ca0のページデータB0がデータレジスタ130の第1のキャッシュ部分Ca0に転送される。シーケンス3で、データレジスタ130の第1のキャッシュ部分Ca0のページデータB0が出力される間に、ラッチ回路LTの第2のキャッシュ部分Ca1のページデータB1がデータレジスタ130の第2のキャッシュ部分Ca1に転送される。シーケンス4で、データレジスタ130の第2のキャッシュ部分Ca1のページデータB1が出力される間に、ラッチ回路LTの第1のキャッシュ部分Ca0のページデータC0がデータレジスタ130の第1のキャッシュ部分Ca0に転送される。データレジスタ130から読み出されたデータは、内部クロックCLKに同期して入出力バッファ120へ転送され、転送されたデータは、外部シリアルクロックSCKに同期して外部出力端子からシリアル出力される。
【0030】
本実施例のフラッシュメモリ100は、連続読出しの範囲に関するページ情報を設定することが可能であり、設定されたページ情報は、ページ情報格納部160に格納される。ページ情報格納部160は、任意の記憶領域に設定することができ、例えば、メモリセルアレイ110、レジスタ、その他の記憶領域のいずれであってもよく、不揮発性の記憶領域であることが好ましい。ページ情報は、好ましくは連続読出しをするページ範囲を規定し、このページ情報は、連続読出しモードを継続させるか否かの判定に利用される。
【0031】
1つの好ましい例では、ページ情報は、最小ページアドレス(LSP)と最大ページアドレス(MSP)の対を1つまたは複数含む。
図8の例では、LSPとMSPの対が2つ設定されている。セット1は、LSPがブロック0のページ0、MSPがブロック3のページ63で規定するページ範囲を設定しており、セット2は、LSPがブロック15のページ8、MSPがブロック15のページ20で規定するページ範囲を設定している。これらのページ範囲は、連続読出しをするデータの大きさに対応する。LSPとMSPの対は、1つのブロック内に設定されるものであってもよいし、複数のブロック間を跨ぐものであってもよい。
【0032】
次に、ページ情報の設定例を
図9に示す。チップセレクト信号CSがローにアサートされている間、シリアルクロックSCKに応答して、ページ情報をセットするための命令「xxhと、LSBおよびMSBとが入力される。図の例は、SPIに対応し、命令は8ビット、LSPおよびMSPのアドレスは、それぞれ16ビットである。制御部150は、ページ情報をプログラムする命令「xxh」を受け取ると、当該命令に基づき、次に入力されてくるLSPおよびMSPのページアドレスをページ情報格納部160にプログラムする。LSPおよびMSPの対が複数ある場合には、
図9に示す設定動作が複数回繰り返され、制御部150は、セット1、セット2、…セットnに、LSP/MSPの対を格納する。ページ情報のプリセットが終了すると、連続読出しが行われるとき、制御部150は、ページ情報を参照し、連続読出しモードを継続するか否かを判定する。
【0033】
次に、本実施例のフラッシュメモリの連続読出し動作を
図10のフローチャートを参照して説明する。チップセレクト信号CSがローレベルにアサートされ、ホスト装置20からフラッシュメモリ100に対して、ページデータ読出し命令(例えば、「13h」)、およびページアドレスPAがシリアルクロックに同期して入力される(S100、S110)。制御部150は、ページデータ読出し命令に応答して、メモリセルアレイ110からページアドレスPAで指定されたページを選択させ、選択されたデータをページバッファ/センス回路180に読み出させる。この入力されたページアドレスPAは、連続読出しを行うときに最初に選択するページのアドレスとなる。
【0034】
次に、制御部150は、ページ情報格納部160のページ情報を参照し、ページアドレスPAがLSP/MSPで規定するページ範囲内か否かを判定する(S120)。ページアドレスPAがページ範囲外の場合、制御部150は、
図1(B)に示す従来と同様に、連続読出しモードを終了させる(S130)。すなわち、チップセレクト信号CSがハイレベルになったとき、連続読出し終了させる。このとき、ページバッファ/センス回路180に保持されたデータが不定になるか、あるいはページバッファ/センス回路180に保持されたデータがリセットされる。つまり、チップセレクト信号CSがハイレベルになったとき、どのページのどの列アドレスでデータ出力が終了したのか分からないので、不定またはリセットとして扱われ、次にチップセレクト信号CSがローレベルになると、再び、ページデータ読出し命令「13h」とページアドレスPAの入力が必要になる。
【0035】
一方、ページアドレスPAがページ範囲内である場合には、連続読出しモードを継続すると判定する(S140)。すなわち、チップセレクト信号CSがハイレベルになり、連続読出しが一時的に中断された後に、チップセレクト信号CSがローレベルになると、ページデータ読出し命令「13h」およびページアドレスPAの入力なしに、連続読出しが再開される。具体的には、制御部150は、連続読出しモードを継続すると判定した場合には、チップセレクト信号CSがハイレベルになったとき、最後に読み出されたページアドレスおよび列アドレスを記憶する。さらに、ページバッファ/センス回路180のデータおよびデータレジスタ130のデータは、リセットされることなく、そのまま保持される。制御部150は、チップセレクト信号CSがローレベルに移行し、その後の読出し命令等が入力されたときに、記憶したページアドレスおよび列アドレスを参照し、読出しが一時的に中断されたページの次の列アドレスから読み出しを開始させる。このため、ページデータ読出し命令「13h」およびページアドレスPAの入力が不要になる。また、
図2に示すようにホスト装置20は、チップセレクト信号CSがハイレベルの期間中に、CPUによるキャッシュレジスタの処理が可能になる。連続読出しモードは、選択ページがMSPに一致するまで継続される。
【0036】
図11(A)は、ページアドレスPAがページ範囲内にあるときの連続読出しのタイミングチャートである。最初の読出し期間1において、ページデータ読出し命令(「13h」)とページアドレスPAが入力され、メモリセルアレイ110からページアドレスPAで指定されるページのデータがページバッファ/センス回路180に読み出される。この読出し期間に相当するレイテンシィLat後、連続読出しのための命令とアドレスが入力される。なお、NANDフラッシュメモリでは、ページ単位で読出しを行い、連続読出しは、列アドレスが指定アドレスから読出しが始まるため、連続読出し機能を使う場合のみこのアドレスは、事実上不要となるので、ダミー(空)のアドレスが入力される。これにより、フラッシュメモリ100は、ページアドレスPAから始まるページデータ(Dout 0〜Dout m)を外部シリアルクロックSCKに同期してホスト装置20にシリアル出力する。
【0037】
ホスト装置20は、フラッシュメモリ100からシリアル出力されたデータをキャッシュレジスタで受け取り、キャッシュレジスタの空き容量がなくなると、キャッシュレジスタ内のデータをCPUが処理する期間、チップセレクト信号CSがHレベルとなる(スタンバイ期間1)。フラッシュメモリ100は、チップセレクト信号CSのHレベルに応答して、連続読出しを一時中断する。フラッシュメモリ100では、チップセレクト信号CSがHレベルになったときの列アドレス、つまり、最後に出力されたデータの列アドレスは、例えば、列選択回路190のアドレスカウンタに保持され、連続読出しが再開されるとき、保持された列アドレスの次の列アドレスからデータが出力される。
【0038】
読出し期間2において、ホスト装置20は、CPUの処理が終了すると、チップセレクト信号CSをローレベルにアサートする。このとき、フラッシュメモリ100は、連続読出しモードを継続しているので、ホスト装置20は、ページデータ読出し命令「13h」およびページアドレスPAの入力を要求されない。それ故、メモリセルアレイ110からのページデータの読出し期間に相当するレイテンシィLatを待つことなく、即座に、連続読出しのための命令とアドレス(ダミー)を入力することができる。制御部150は、この命令に応答して、前回の連続読出しにおいて最後に出力されたデータの次のデータ(Dout m+1)をシリアル出力させる(読出し期間2)。以後、同様に、チップセレクト信号CSがトグルされたとしても、連続読出しモードが継続され、MSPのページに到達するまで、ページデータ読出し命令「13h」およびページアドレスPAを入力することなく、連続読出しが行われる。
【0039】
このように本実施例によれば、LSP/MSPで規定されるページ範囲内の連続読出しである場合には、チップセレクト信号CSのトグルにかかわらず、ページデータ読出し命令「13h」およびページアドレスPAの入力を不要とする連続読出しモードが継続されるため、従来と比較して、連続読出し時のデータ読出し時間を短縮することができ、他方、ホスト装置20にCPUの処理時間を与えつつ、ホスト装置20の負担を軽減することができる。さらに、NANDフラッシュ特有のページデータの読出し命令「13h」およびページアドレスPAの入力を不要にすることで、NOR型のシリアルフラッシュメモリとの互換性を高めることができる。
【0040】
次に、本発明の第2の実施例について説明する。上記実施例では、ページ情報として、LSP/MSPによるページ範囲を設定したが、第2の実施例では、ページ情報として、連続読出しをするためのページ数を指定するバースト長を設定する。1つの好ましい例では、第1の実施例のときと同様に(
図9を参照)、ページ情報を設定する命令の次に、バースト長を設定するためのページアドレス(例えば、16ビット)がシリアル入力され、このバースト長がページ情報格納部160に格納される。
【0041】
図12は、第2の実施例による連続読出しの動作を説明するフローチャートである。制御部150は、ページデータ読出し命令「13h」およびページアドレスPAが入力されると(S200、S210)、ページ情報格納部160内にバースト長が設定されているか否かを判定する(S220)。バースト長が設定されていない場合には、
図1(B)に示すように従来と同様の連続読出しモードが終了される(S230)。一方、バースト長が設定されている場合には、制御部150は、入力されたページアドレスPAからバースト長で指定されるページ範囲内で連続読出しモードを継続する(S240)。すなわち、連続読出しモードが継続されている間は、チップセレクト信号CSのトグルにかかわらず、ホスト装置20は、ページデータ読出し命令「13h」およびページアドレスPAの入力を要求されず、
図11(A)に示すタイミングチャートに従い、連続読出しが行われる。例えば、バースト長によりページ数が10にセットされ、ページアドレスPAとして「10」が入力された場合、フラッシュメモリ100は、ページ「10」から「20」までページアドレスをインクリメントし、その間、連続読出しモードによる読出しを行う
【0042】
次に、本発明の第3の実施例について説明する。フラッシュメモリ100は、電源がオンされたとき、パワーアップシーケンスとして、メモリセルアレイの予め決められたページのデータを自動的にページバッファ/センス回路180に読み出す機能を備えている。例えば、パワーアップシーケンスでは、初めにコンフィギュレーションレジスタをアクセスし、そこに格納された構成情報に従い動作を開始させるが、この構成情報には、電源がオンされた時にメモリセルアレイから最初に読み出すページアドレスが設定される。第3の実施例では、制御部150は、パワーアップシーケンスにおいて、メモリセルアレイから最初に読み出すページアドレス(以下、便宜上、当初ページアドレスと称する)をLSPおよびページアドレスPAに用いる。
【0043】
図13に第3の実施例による連続読出しの動作のフローチャートを示す。制御部150は、電源のオンを監視し(S300)、電源がオンされたとき、パワーアップシーケンスで取得される当初ページアドレスを取得する(S310)。次に、制御部150は、当初ページアドレスをページ情報のLSPおよびページアドレスPAに自動的に設定し(S320)、連続出しモードに移行する(S330)。これにより、ホスト装置20は、ページデータ読出し命令「13h」およびページアドレスPAをフラッシュメモリ100に入力することなく、連続読出しのための命令(例えば、「03h」)を入力することで、フラッシュメモリ100に連続読出しを開始させることができる。なお、読出し命令の後に入力されるアドレスは、当初ページアドレスがページアドレスPAに利用されるため、ダミー(空)である。以後、制御部150は、当初ページアドレスからMSPで規定されるページ範囲(第1の実施例の場合)、あるいは当初ページアドレスからバースト長で規定されるページ範囲(第2の実施例の場合)まで、連続読出しモードを継続する(S340)。
【0044】
図11(B)に、第3の実施例による連続読出しのタイミングチャートを示す。ここで留意すべきは、最初の読出し期間1において、第1および第2の実施例の場合と異なり、ページデータ読出し命令「13h」およびページアドレスPAの入力が必要とされないことである。このように第3の実施例によれば、連続読出しに要する時間をさらに短縮させ、かつ、ホスト装置の負担を軽減させつつNOR型のシリアルフラッシュとの互換性をさらに高めることができる。
【0045】
従来のシリアルインターフェースを搭載するNAND型フラッシュメモリの連続読出しモードは、チップセレクト信号CSがディスエーブルされたときに終了する。これに対し、本実施例のシリアルインターフェースを搭載するNAND型フラッシュメモリでは、設定されたページ範囲内の読出しであれば、連続読出しモードが継続され、チップセレクト信号がトグルされた場合であっても、メモリセルアレイの選択されたページのデータがページバッファ/センス回路180に保持され、かつデータレジスタの130のデータも保持され、それ故、ページデータ読出し命令「13h」およびページアドレスPAの入力が回避される。
【0046】
また、本発明は、メモリセルが2値データを記憶するフラッシュメモリ、あるいはメモリセルが多値データを記憶するフラッシュメモリのいずれにも適用することが可能である。さらに本発明は、メモリアレイのNANDストリングが基板表面に形成される2次元タイプのフラッシュメモリ、あるいはNANDストリングが基板表面上の導電層(例えば、ポリシリコン層)に形成される3次元タイプのフラッシュメモリのいずれにも適用することが可能である。
【0047】
以上のように本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。