JP4102661B2 - Nonvolatile semiconductor memory device - Google Patents

Nonvolatile semiconductor memory device Download PDF

Info

Publication number
JP4102661B2
JP4102661B2 JP2002368131A JP2002368131A JP4102661B2 JP 4102661 B2 JP4102661 B2 JP 4102661B2 JP 2002368131 A JP2002368131 A JP 2002368131A JP 2002368131 A JP2002368131 A JP 2002368131A JP 4102661 B2 JP4102661 B2 JP 4102661B2
Authority
JP
Japan
Prior art keywords
partition
state machine
command
register
signal
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.)
Expired - Fee Related
Application number
JP2002368131A
Other languages
Japanese (ja)
Other versions
JP2004199807A (en
Inventor
光史 石田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2002368131A priority Critical patent/JP4102661B2/en
Publication of JP2004199807A publication Critical patent/JP2004199807A/en
Application granted granted Critical
Publication of JP4102661B2 publication Critical patent/JP4102661B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、読み出し,書込み,消去可能な不揮発性半導体記憶装置に関する。
【0002】
【従来の技術】
書込みや消去中に読み出しが可能な所謂「デュワルワーク」機能(一般的には、RWW(Read While Write)機能と称される)を有するフラッシュメモリの開発が近年盛んに行われている。このフラッシュメモリには、ブロックを最小単位として消去が行われるために、複数のブロックで構成されたパーティション単位でメモリアレイを分割する技術が採用されている。尚、上記パーティション内のブロック数は均等になっている。上記「デュワルワーク」は、複数存在するパーティションにおいて異なる2つのパーティション間で行われるため、フラッシュメモリには、各パーティションの状態を記憶しておくレジスタや読み出しに必要なデコーダやセンスアンプが配置されている(例えば、特許文献1参照)。
【0003】
上記フラッシュメモリの構成を図25に示す。図25において、外部からの信号が入力される入力バッファ1は、メモリアレイ12におけるパーティションのアドレスや動作対象のコマンドであるデータを受けて、内部にバッファリングする。コマンドステートマシン2は、入力バッファ1からのアドレスおよびデータ(コマンド)を受けて、対象コマンドをデコードしてコマンドに対応した状態に遷移させる。そうすると、ライトステートマシン3は、上記状態遷移を受けて、書込みや消去に必要な動作シーケンスを開始する。そして、書込消去電圧切り替え部4によって、書込みや消去に必要な電圧が発生されてメモリアレイ12に供給される。
【0004】
また、上記書込みの場合には、上記コマンドステートマシン2の制御に基づいて、書き込まれるデータとそのアドレスとが、上記入力バッファ1から読み出されてデータレジスタ10に記憶される。そして、MUX(マルチプレクサ)7によって、データレジスタ10から読み出されたデータが、読み出されたアドレスに従ってメモリアレイ12へ書き込まれる。さらに、その後に実際にメモリアレイ12に書き込まれたデータに対するベリファイを行うために、ベリファイ回路8によって、MUX7からのデータとメモリアレイ12に書き込まれたデータとが比較される。
【0005】
上記動作において、XデコーダおよびYデコーダを有するデコーダ11によって、メモリアレイ12における書き込まれるべきフラッシュセルのメモリアレイ12上の座標が入力バッファ1から読み出されてデコードされる。また、コマンドステートマシン2によって遷移された状態は、各パーティション毎に設けられた複数のレジスタから成る状態レジスタ6に格納される。そして、コマンドステートマシン2の状態から、一連の書込み動作が正しく行われたか否かや、コマンドステートマシン2の状態が正しいか否かが判定される場合には、状態レジスタ6から状態が読み出されてMUX9を介して出力バッファ13から外部出力される。
【0006】
尚、上記消去動作およびページバッファ書込み動作の際にも、上述した書込み動作の場合と同様に制御が行われることになる。ここで、上記「ページバッファ書込み」とは、書き込むデータをページバッファ5に一旦記憶させてから、連続的にメモリアレイ12に対して書込み転送を行う動作のことである。
【0007】
図26に、上記メモリアレイ12全体の構成例をメモリマップによって示す。メモリアレイ12は、最下位アドレスから最上位アドレスに向って均等サイズのX個のブロックに分割され、デュワルワークの単位となるパーティションがY個設けられている。この例の場合には、ブロックサイズもパーティションを構成するブロック数も均等であるために各ブロックは規則的に配置されることになり、チップサイズ的にも回路構成的にも有効なアドレスマップとなる。
【0008】
さらに、容量が均等なブロックを複数個有するパーティションには、そのパーティションの状態(消去実行中,消去中断中(サスペンド),書込み実行中および書込み中断(サスペンド)等)を記憶しておくためのレジスタをコマンドステートマシン2内に有しており、外部から選択されたパーティションの状態をコマンドステートマシン2を介して外部に出力できるような設計を取っている。また、各パーティション内のブロック数が均等であるために、メモリ容量のカットダウンによる機種展開に際してもコマンドステートマシン2の再設計を必要とせず、容易に展開が可能である。
【0009】
また、上記フラッシュメモリのステータス情報(デバイスの状態)をパーティション毎に持たせる(つまり、各パーティション毎のレジスタにパーティション別に状態を記憶しておく)のではなく、上記ステータス情報を各パーティションに共通して持つ半導体記憶装置もある。
【0010】
【特許文献1】
特表2002‐501276号公報
【0011】
【発明が解決しようとする課題】
しかしながら、上記従来のステータス情報を各パーティションに共通して持つ半導体記憶装置においては、各パーティション内の各ブロックの容量が均等な半導体記憶装置の場合には特に問題はないのであるが、各ブロックのメモリ容量が不均等であり、各パーティションの容量も異なる半導体記憶装置においては、メモリ容量の変更に際しては上記コマンドステートマシンの設計が異なるため、以下のような種々の問題が発生することになる。
【0012】
すなわち、上述のような半導体記憶装置の開発においては、メモリ容量の増大に伴うパーティションの増加あるいはパーティション内のブロック数の増加に際して、各パーティション内のブロックのアドレスを制御するデコーダ(XデコーダおよびYデコーダ)および各パーティション毎に配置されるセンスアンプが必要となり、レイアウト面積が大きくなる。
【0013】
また、各パーティションが独立して動作するため、回路設計やその検証を行う為の評価パターンが非常に多く存在することになり、設計内容によっては大きなリソースが必要になったり、設計期間が長くなったりするという弊害が生ずる。
【0014】
また、図27に示すような不均等なブロック構成からなるメモリアレイのように、各パーティション毎のブロック数が異なったり、パーティションに配置される各ブロックのメモリ容量が異なる場合には、各パーティションのアドレスデコードも複雑化し、各ブロックの状態遷移を統括するコマンドステートマシン2内において各パーティションのアドレスのデコードまでも行う場合には、カットダウンによるパーティション数の減少が発生するとその度にコマンドステートマシン2の再設計を行う必要が生じる。
【0015】
表1に、メモリ容量のカットダウンを実現するためのパーティション分割例を示す。ここではパーティション分割を6つに限定しているが、パーティションの分割数はこの例に限らない。
表1

Figure 0004102661
【0016】
先ず、上記メモリアレイ12の総容量が128Mビットであるとすると、そのカットダウン方法としては、総容量を64Mビットあるいは32Mビットとすることが考えられる。また、それ以下に小さくカットダウンする場合には、128Mビットからのカットダウンでなく32Mビットからカットダウンを行い、総容量を16Mビットあるいは8Mビットとするのが普通の設計フローである。
【0017】
ここで、図8に示す様に、総容量が128Mビットのメモリアレイ(図8(a))を64Mビットのメモリアレイ(図8(b))にカットダウンした場合、線分Aで示すように、パーティション個数が「6」から「5」に減少し、然も、各パーティションのブロック数が減少している。そのために、パーティション・アドレスのデコードとブロック・アドレスのデコードとの処理方法の再設計が必要になるのは明白である。そして、図25におけるコマンドステートマシン2において制御されていたパーティション・アドレスのデコード処理を、メモリアレイ12のブロックレイアウトが図27に示すような場合にはそのまま適用することができないため、コマンドステートマシン2自体の修正が必要になる。
【0018】
実際に、ユーザの中には、最小消去単位であるブロックのメモリ容量として、通常は64KBであるところを8KBや4KBを要求する動向にある。そこで、その要求に応じるため、全てのブロックを8KBや4KBで構成すると、64KBや128KBの大容量メモリアレイを実現しようとすると、各パーティション・アドレスのデコードが複雑化し、レイアウトが非常に大きくなってチップサイズが拡大し、チップコストが上昇してしまう傾向にある。
【0019】
一方において、これまで通り、64KBのブロックと8KBや4KBのブロックとを組み合わせて各パーティションを構成すると、各パーティション内のブロック数が均等にならず、パーティション・アドレスのデコードが複雑化する。そうすると、上述したように、パーティションを制御するコマンドステートマシン2の設計の複雑化に繋がってしまうのである。
【0020】
そこで、この発明の目的は、複雑なパーティション構成を有するメモリアレイのカットダウンによる機種展開を容易に且つ短時間に行うことができる不揮発性半導体記憶装置を提供することにある。
【0021】
【課題を解決するための手段】
上記目的を達成するため、この発明の不揮発性半導体記憶装置は、
電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えて、
上記メモリアレイに対する動作を制御するコマンドステートマシンと、
上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて、この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に、この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダと、
動作の対象となるパーティションの状態を記憶する状態レジスタと、動作の対象となるパーティションを記憶するパーティション状態レジスタと、消去サスペンドが掛かったパーティションを記憶する消去サスペンドレジスタと、ページバッファ書込み処理時に実際に動作しているパーティションを記憶するページバッファ書込レジスタと、ページバッファ書込み処理時に次に動作すべきパーティションを記憶するパーティションキューイングレジスタとを含む1つの出力レジスタと、
を備え、
上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっており、
上記コマンドステートマシンは、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようになっている。
【0022】
上記構成によれば、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置している。その結果、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等なブロックによって構成された複数のパーティションを有するメモリアレイに関して、アドレス変更によるパーティション構成の変更(例えば、パーティションの減少等)があったとしても、上記コマンドステートマシンに対する設計変更の必要がなくなる。
【0023】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、カットダウンによる機種展開を容易に且つ短時間に行うことが可能になる。
【0024】
さらに、動作の対象となるパーティションの状態、動作の対象となるパーティション、消去サスペンドが掛かったパーティション、ページバッファ書込み処理時に実際に動作しているパーティション、ページバッファ書込み処理時に次に動作すべきパーティションを、1つの出力レジスタに記憶するようにしている。したがって、上記パーティションの状態を記憶するレジスタを各パーティション毎に設ける場合に比して、上記出力レジスタの記憶容量を削減できる。その結果、上記コマンドステートマシンの設計時における検証に要する時間が軽減され、設計時間の更なる短縮が可能になる。
【0025】
さらに、上記コマンドステートマシンを、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようにしている。したがって、上記コマンドステートマシンは、上記メモリアレイに対するパーティションの削減があったとしても、設計変更することなく、削除されていないパーティションに対する書込み , 読み出しおよび消去等の動作を制御することが可能になる。
【0026】
また、この発明の不揮発性半導体記憶装置は、
電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えた不揮発性半導体記憶装置において、
上記メモリアレイに対する動作を制御するコマンドステートマシンと、
上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて、この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に、この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダ
を備え、
上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっており、
上記コマンドステートマシンは、
上記入力されたパーティションデコード信号に基づいて、ページバッファ書込みの対象パーティションを表す第1情報 , コマンドが投入されるパーティションを表す第2情報 , イレースサスペンドの対象パーティションを表す第3情報およびページバッファ書込みコマンド実行時に実際にコマンドが実行されているパーティションを表す第4情報を生成し、
生成された上記第1情報が格納されると共にキューイング機能を有するページバッファ書込みレジスタと、上記第2情報が格納されるコマンド投入レジスタと、上記第3情報が格納されるイレースサスペンドレジスタと、上記第4情報が格納されページバッファ書込み実行レジスタとを含み、
上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にする
ようになっている。
【0027】
上記構成によれば、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置している。その結果、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーテ ィションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等なブロックによって構成された複数のパーティションを有するメモリアレイに関して、アドレス変更によるパーティション構成の変更 ( 例えば、パーティションの減少等 ) があったとしても、上記コマンドステートマシンに対する設計変更の必要がなくなる。
【0028】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、カットダウンによる機種展開を容易に且つ短時間に行うことが可能になる。
【0029】
さらに、上記コマンドステートマシンを、上記入力されたパーティションデコード信号に基づいて、ページバッファ書込みの対象パーティションを表す第1情報 , コマンドが投入されるパーティションを表す第2情報 , イレースサスペンドの対象パーティションを表す第3情報およびページバッファ書込みコマンド実行時に実際にコマンドが実行されているパーティションを表す第4情報を生成して、夫々レジスタに記憶するようにしている。したがって、上記パーティションの状態を各パーティション毎に設けられたレジスタに記憶する場合に比して、上記レジスタの記憶容量を削減することができる。その結果、上記コマンドステートマシンの設計時における検証に要する時間が軽減されて、設計時間の更なる短縮が可能になる。
【0030】
さらに、上記コマンドステートマシンを、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようにしている。したがって、上記コマンドステートマシンは、上記メモリアレイに対するパーティションの削減があったとしても、設計変更することなく、削除されていないパーティションに対する書込み , 読み出しおよび消去等の動作を制御することが可能になる。
【0031】
また、1実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンを上記メモリアレイにおける各パーティションに対する少なくとも書込み,読み出しおよび消去の動作を制御するようにしている。
【0032】
この実施例によれば、上記メモリアレイにおける各パーティションに対する書込み,読み出し及び消去等の動作を制御するコマンドステートマシンに関して、カットダウンに付随した再設計や修正が不用になる。
【0033】
また、1実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンに、上記入力されるパーティションデコード信号をラッチするラッチ回路を設けると共に、外部から入力される上記パーティションアドレス信号に対して、上記ラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間を与えるための遅延回路を備えている。
【0034】
この実施例によれば、上記遅延回路によって、外部からの上記パーティションアドレス信号に対して、上記コマンドステートマシンのラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間が与えられる。したがって、外部ラッチタイミング信号に対して上記コマンドステートマシンの内部ラッチタイミング信号が内部遅延分だけ遅れても、上記パーティションアドレス信号は、上記コマンドステートマシンのラッチ回路に正しくラッチされる。その結果、上記パーティションデコーダをコマンドステートマシンの前段に配置することが可能になる
【0035】
た、1実施例の不揮発性半導体記憶装置では、上記パーティションデコード信号を、上記メモリアレイを構成する各パーティションに対応してパーティション数と同じ数のビットを有する信号とし、上記コマンドステートマシンによる上記削減の対象となるパーティションに該当する信号の無効化を、上記パーティションデコード信号のうち上記削減の対象となるパーティションに対応するビット信号のレベルを接地レベルに固定することによって行うようにしている。
【0036】
この実施例によれば、上記削減の対象となるパーティションに該当する信号の無効化が、非常に簡単な方法によって実現される
【0037】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。フラッシュメモリは、フローテイングゲートとコントロールゲートとを有する特殊なMOSトランジスタ構造であるため、その構造上から、データの書き込み,消去およびベリファイ等において通常のメモリデバイスに比べて特殊な操作が必要であり、それに対応する各種の周辺回路が必要になっている。
【0038】
すなわち、上記フラッシュメモリにおいては、上記フローテイングゲートに電荷を注入することによって書き込みを行う一方、電荷を取り出すことによって消去を行う。そして、その際に、電荷を直接的に注入・取り出しすることができないため、非常に多くのセルに対してばらつきが無く正しく電荷の注入・取り出しを行うためにはかなりの時間を要する。さらには、例えば消去する場合における過剰消去が問題になる。これは、セル自体の構造のばらつきや、プロセスばらつきや、電荷注入量のばらつき等によって、消去する際に取り出そうとする電荷が目的以上に取り出されてしまい、各セルの閾値が本来は「0」となるべきところがマイナスの値で且つセルによってばらついてしまうことである。
【0039】
そして、1セル単位で書き込みや消去を行おうとすると、そのための周辺回路やデコーダー回路が非常に複雑になり且つ大面積になってしまい、メモリとしての実用性が失われてしまう。そのために、或る一定の数のセル毎に(ブロック単位で)周辺回路を動作させて、書き込みや消去を行うようにしている。また、そのためのセル数はユーザーの使用目的に応じて様々なバリエーションがあり、次に述べるパーティションとの兼ね合いでも決定される。
【0040】
すなわち、後に述べるデュアルワーク機能を有効に行うために、上記ブロックが複数集合して成るパーティション単位でメモリアレイを構成する必要がある。そして、各パーティションを幾つのブロックで構成するかも、ユーザーの使用目的に応じて決定される。尚、上記デュアルワークとは、上述した理由から時間を要するデータ処理の高速化を図るために、或るパーティションに対して書き込み/消去が行われている際に、他のパーティションに対してその他の動作を行うことである。さらに、書き込み時の高速化を行うために、書込みデータを一旦ページバッファと言うRAM(ランダム・アクセス・メモリ)に格納した後に逐次メモリアレイに書き込んで、見かけ上高速書き込みを行うことも行われる。
【0041】
近年、経済的環境が厳しくなってきており、フラッシュメモリを用いる製品間においてもコスト競争が激しく、その分だけ用いられるフィラッシュメモリのメモリアレイの記憶容量やブロック構成に対する要求も多く且つ厳しくなってきている。
【0042】
従来のフラッシュメモリの場合には、メモリアレイを構成するブロック数やブロック容量が不均衡な複数のパーティションである場合には、上述した特殊な構造や特殊な操作上の理由から、ユーザーの要望に合わせて各パーティションのブロック構成を変更する場合には、ユーザーの使用目的に応じて、上記メモリアレイにおける各パーティションに対する書込み,読み出しあるいは消去等の動作を制御するコマンドステートマシンを各パーティション毎に再度設計し直す必要が生ずるのである。
【0043】
本実施の形態においては、このような設計変更時においても、コマンドステートマシンの再設計の必要がなく柔軟に短時間で対応できることを可能にするものである。
【0044】
・第1実施の形態
図1は、本実施の形態の不揮発性半導体記憶装置の一例としてのフラッシュメモリにおける構成を示すブロック図である。
【0045】
ライトステートマシン29,書込消去電圧切り替え部30,ページバッファ23,MUX32,ベリファイ回路33,MUX34,データレジスタ24,デコーダ35,メモリアレイ36および出力バッファ37は、図25に示す従来のフラッシュメモリのブロック図におけるライトステートマシン3,書込消去電圧切り替え部4,ページバッファ5,MUX7,ベリファイ回路8,MUX9,データレジスタ10,デコーダ11,メモリアレイ12および出力バッファ13と同じである。
【0046】
図1において、外部からのアドレスやデータが入力される入力バッファ21の出力端子は、パーティションデコーダ22,ページバッファ23,データレジスタ24,コマンドステートマシン26およびデコーダ35の入力端子に接続されている。そして、パーティションデコーダ22は、入力バッファ21からのパーティション・アドレスをデコードして、選択されたパーティションの情報を得るのである。尚、図25に示す従来のフラッシュメモリの場合は、上述したように、上記パーティション・アドレスのデコード機能は、コマンドステートマシン2に設けられている。
【0047】
上記パーティションデコーダ22よって得られた選択パーティションを表すパーティションデコード信号は、パーティション数分の数のビットを有するバス信号となって遅延回路25に出力される。例えば、図2に示すようなブロックレイアウトを有するメモリアレイの場合には、パーティション数が「6」であるから6ビットのバス信号となる。ここで、コマンドステートマシン26は、上記パーティションデコード信号における各パーティションの選択の有無を示すビットをコマンド(消去や書き込み等)入力の都度ラッチする必要がある。遅延回路25は、上記ラッチの際における内部ラッチタイミング信号に対するラッチセットアップおよびラッチホールドの十分な動作保証を行うための回路である。
【0048】
図3に、上記パーティションデコード信号のラッチタイミングにおけるセットアップとホールド時間との関係を示す。外部からのパケット組み立て・分解装置(RAD)を介して入力(以下、RAD入力と言う)される外部ラッチタイミング信号の立ち下がりでパーティションデコード信号がラッチされるため、上記PAD入力があってからラッチ回路が存在するコマンドステートマシン26に到達するまでの内部遅延分だけ遅れたタイミングが事実上のラッチタイミングとなる。この事実上のラッチタイミングは、図3における内部ラッチタイミング信号で示されている。
【0049】
さらに、上記入力バッファ21から入力された外部アドレス信号がパーティションデコーダ22でデコードされて選択パーティションを表すパーティションデコード信号が得られるまでには、パーティションデコーダ22の回路を通過する分だけ時間を要し、その結果、図3に示すように、パーティションデコード信号は外部アドレス信号よりも遅れることになる。
【0050】
上記内部ラッチタイミング信号によって、正しくパーティションデコード信号をラッチするためには、上記パーティションデコード信号に対して十分なセットアップ時間およびホールド時間を持たせる必要がある。そのために、上記パーティションデコード信号を遅延させる必要が生じ、そのための回路が遅延回路25なのである。尚、遅延回路25の構成は、図4に示すように、ゲート回路を偶数段接続したものである。
【0051】
尚、図4において、遅延回路ユニット27は偶数段に接続されたインバータ回路で構成されたユニットである。そして、遅延回路25は、所望の遅延時間が得られ、且つ、プロセスばらつきにも十分対応できるような数の遅延回路ユニット27を接続して、余裕をもって構成されている。さらに、配線層の修正だけで各遅延回路ユニット27間の接続を切り換えることができる接続切換オプション回路ユニット28を、各遅延回路ユニット27の間に配置することによって、遅延段数をオプショナルに切り換えられるようになっている。
【0052】
上記遅延回路25によって、パーティションデコード信号が所望の時間分だけ遅延された状態でコマンドステートマシン26に入力され、コマンドステートマシン26においてパーティションデコード信号がラッチされることになる。尚、ラッチのタイミングは、入力バッファ21からのコマンド入力タイミングに同期される。
【0053】
上記コマンドステートマシン26は、上記入力バッファ21から入力されたコマンドをデコードして、上記ラッチしたパーティションデコード信号から得られた選択パーティションを上記コマンドに対応した状態に遷移させる。そして、コマンドステートマシン26によって遷移された状態は、出力レジスタ31に格納される。ここで、出力レジスタ31は、メモリセルアレイ36における全パーティションの状態が1つにまとめて格納されるようになっている。
【0054】
次に、複数のパーティションを1つの状態遷移の下で管理する方法について説明する。
【0055】
従来は、各パーティション毎に独立して状態を持たせるため、図25における状態レジスタ6内には各パーティション毎のレジスタを用意している。図6にその様子を示す。図6において、メモリアレイ12におけるパーティション分割数は(X+1)であり、夫々に状態を格納するレジスタ6a〜6dが用意されている。そして、各レジスタは8ビット構成を有しており、夫々のレジスタ6a〜6dは何れかのパーティションに割り当てられている。したがって、図25に示す従来の状態レジスタ6には、8ビット×パーティション数(X+1)=8(X+1)ビット分の記憶容量が必要となる。さらに、デュワルワーク制御のためには、ライトステートマシン3が何れのパーティションに占有されているかを示すレジスタも必要になる。そして、デバイスとしての状態をモニターする場合は、状態レジスタ6のうちアクセスされたパーティションに対応するレジスタの内容が出力バッファ13から外部へ出力されることになる。
【0056】
これに対して、本実施の形態においては、デバイスの状態を1つの出力レジスタ31にまとめて記憶するのである。こうすることによって、出力レジスタ31として必要になるのは、図5に示す様に、選択パーティションの状態を記憶する状態レジスタ(8ビット)41と、選択パーティションを記憶するパーティション状態レジスタ((X+1)ビット)42と、動作モード状態レジスタ(3×(X+1)ビット)43との3つの内部レジスタのみである。
【0057】
尚、上記状態レジスタ41中において、「WSMS」は、ライトステートマシン状態(1:アイドル,0:ラン)である。また、「BESS」は、ブロック状態サスペンド状態(1:サスペンド中,0:イレース中/正常終了)である。また、「BEFES」は、ブロック消去,全消去状態(1:フェイル,0:正常終了)である。また、「PBPS」は、ページバッファ書込み,書込み状態(1:フェイル,0:正常終了)である。また、「VPPS」は、Vppレベル状態(1:異常,0:正常)である。また、「PBPSS」は、ページバッファ書込み,書込みサスペンド状態(1:フェイル,0:正常終了)である。また、「DPS」は、ディバイス保護情報(1:保護解除異常終了,0:保護解除正常終了)である。また、「R」は、予約ビット(GNDレベル固定)である。
【0058】
また、上記動作モード状態レジスタ43は、消去時にサスペンドが掛った場合に何れのパーティションで消去サスペンドが掛ったのかを記憶しておく消去サスペンドレジスタと、ページバッファ書込み処理時において何れのパーティションが動作しているのかを記憶しておくページバッファ書込レジスタと、パーティションキューイングレジスタとで、構成されている。
【0059】
このように、本実施の形態の上記出力レジスタ31において、何れのパーティションがコマンドステートマシン26の動作対象になっているのかを記憶しておくためのレジスタであるパーティション状態レジスタ42および動作モード状態レジスタ43は、パーティション数(X+1)分およびその3倍分のビットで構成されるが、図6に示すように、各パーティション別のレジスタに対応するパーティションの状態を記憶する状態レジスタ6を設ける場合に比べれば、レジスタの記憶容量を減らすことができ、その分だけ検証(故障検出含む)も軽減されることになる。
【0060】
上述した以外の動作は、図25に示す従来のフラッシュメモリの場合と同様である。
【0061】
つまり、本実施の形態においては、上記入力バッファ21とコマンドステートマシン26との間に、パーティションデコーダ22を挿入することによって、図8や表1に示すように、パーティション構成が削減されるようなカットダウン時においても、コマンドステートマシン26の再設計あるいは再修正が不要になるのである。以下、詳細に説明する。
【0062】
先ず、上記カットダウン処理について説明する。本実施の形態において、例えば、パーティションレイアウトが図8(a)に示すレイアウトである際に、図8(b)に示すように、64Mビットにカットダウンする場合にはパーティション3を削除するのである。その場合、パーティションデコーダ22の出力信号である6ビットのパーティションデコード信号(パーティション数が「6」)の内、パーティション3に割り当てられているビットを無効化することで、コマンドステートマシン26におけるパーティションの状態遷移を変更する必要がなくなるのである。以下、その理由について詳細に説明する。
【0063】
本実施の形態におけるメモリアレイ36は128Mビットの容量を有し、図2及び図8(a)に示すようなブロックレイアウトを有している。図2において、6つのパーティションがチップレイアウトのロケーション通りに配置されている。そのうち、パーティション0およびパーティション5は、夫々消去最小単位ブロックサイズ8KBのブロックが8個と64KBのブロックが31個とで構成されて、16Mビットのメモリ容量を有している。また、パーティション1〜4は、夫々最小消去単位ブロックサイズ64KBのブロックが48個で構成されて、24Mビットのメモリ容量を有している。このメモリアレイ36におけるアドレスマップは、図7に示すように、64KBのブロックが8KBのブロックに挟まれるような構成を取っており、パーティション・アドレスをデコードするには、アドレス本数は全部で8本必要になる。この場合、メモリアレイ36は、均等なブロックサイズで構成されており、然も各パーティションにおけるブロック数が揃っているのであれば、アドレス本数は3本で事足りることになる。つまり、図2に示すようなブロックレイアウトを有するメモリアレイ36の場合には、パーティションデコーダ22の回路規模が大きくなることを意味している。
【0064】
表1によれば、128Mビットから64Mビットにカットダウンする方法としては4種類あり、図8に示すカットダウン方法の他に、図9に示すように、パーティションレイアウトを全く同一にしながら、つまり1つのパーティションを削除することなく行うこともできる。この場合には、パーティション・アドレスのデコードに変更は無いため、コマンドステートマシン26の再設計は不必要になる。
【0065】
さらに、128Mビットから32Mビットにカットダウンする方法として、図10および図11に示すような方法の場合には、パーティション数が減少しているため、当然ながらパーティションデコード22は再設計が必要となる。しかしながら、パーティション・アドレスのデコードを行う必要がないコマンドステートマシン26側では、事実上使用されるパーティションのみを有効とするだけでよいので、例えば、図10の場合にはパーティション3〜パーティション5を無効化し、図11の場合にはパーティション2およびパーティション3を無効化すればよく、コマンドステートマシン26自体はそのまま使用することが可能なのである。
【0066】
尚、上記コマンドステートマシン26によるパーティションの無効化は、パーティションデコーダ22から出力されるパーティションデコード信号における無効化の対象となるパーティションに該当するビットのラインのレベルをGNDレベルに固定することによって行われる。
【0067】
以上のように、本実施の形態においては、上記入力バッファ21とコマンドステートマシン26との間にパーティションデコーダ22を設け、パーティション・アドレスのデコード機能を、コマンドステートマシン26から分離してパーティションデコーダ22に持たせるようにしている。したがって、コマンドステートマシン26側では、カットダウン時においては削除されたパーティションを無効化するだけでよく、コマンドステートマシン26の再設計あるいは再修正を不要にすることができる。
【0068】
つまり、本実施の形態によれば、上記メモリアレイ36におけるパーティション分割方法に左右されることのない、コマンドステートマシン26を提供することができるのである。
【0069】
・第2実施の形態
本実施の形態は、上記第1実施の形態におけるコマンドステートマシン26の設計を更に簡略化する方法について説明する。本実施の形態の場合には、上記第1実施の形態においては出力レジスタ31に格納していた各パーティションの状態を、専用のレジスタにではなく、コマンドステートマシン26およびライトステートマシン29に保持するのである。こうすることによって、コマンドステートマシン26は必要最小限のレジスタで状態遷移を行い、然も各パーティションの状態を保持することができるのである。
【0070】
尚、本実施の形態におけるフラッシュメモリの構成は、出力レジスタ31を有しない以外は、図1に示す上記第1実施の形態におけるフラッシュメモリの構成と同じである。
【0071】
図12乃至図14は、パーティション0に対して消去→消去サスペンド→消去レジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。先ず、図12に従って、メモリアレイ36におけるパーティション0に対して消去コマンドを実行する場合について述べる。
【0072】
図12に示すように、上記入力バッファ21(図1参照)からの外部アドレス信号ADDRESSがパーティションデコーダ22に入力されて、デコードされる。そして、パーティションデコーダ22からのパーティションデコード信号SDADECがコマンドステートマシン26に入力される。ここで、パーティションデコード信号SDADECは、上記第1実施の形態において説明したように、パーティション数(本実施の形態の場合には「6」)のビット幅を持つバス信号である。
【0073】
上記コマンドステートマシン26内にはディバイスの状態を保持するレジスタが状態数分だけ設けられており、夫々のレジスタはパーティション数「6」のビット数を有している。上記レジスタは、ページバッファ書込みレジスタSDADECL,コマンド投入レジスタREG,イレースサスペンドレジスタESPおよびページバッファ書込み実行レジスタPBQである。尚、ページバッファ書込みレジスタSDADECLは、ページバッファ書込みコマンドが実行される際に、対象パーティションが何処であるかを保持しておくためのレジスタであり、キューイング機能を有している。また、コマンド投入レジスタREGは、コマンドが投入されるパーティション(パーティションデコード信号SDADECから得られる)が何処であるかを示すレジスタである。また、イレースサスペンドレジスタESPは、イレースサスペンドが実行された際におけるイレースコマンドが動作していたパーティションが何処であるかを保持しておくためのレジスタである。また、ページバッファ書込み実行レジスタPBQは、ページバッファ書込みコマンドが実行された際に、実際にコマンド実行されているパーティションが何処であるかを示すレジスタである。
【0074】
上記ページバッファ書込みコマンドは、上記メモリアレイ36における2つのパーティションに対するデータの書込み動作を連続して実行するようになっている。そのために、上記2つのパーティションに対するページバッファ書込みコマンドが、現在何れのパーティションに対して実行されているのかを逐次記憶しておくレジスタが必要となり、然もキューイング機能によって制御される必要がある。そのレジスタが、上記ページバッファ書込みレジスタSDADECLである。
【0075】
上記レジスタ構成において、上記パーティション0に対する消去コマンドの場合には、先ず、コマンドステートマシン26によって、入力バッファ21からの消去コマンドに応じて、6ビットのパーティションデコード信号SDADEC(=1H)がそのままコマンド投入レジスタREGに格納される。そして、コマンド投入レジスタREGの内容が、上記消去コマンドと共に、書込み動作や消去動作を司るライトステートマシン29に送出されてライトステートマシン29によって消去動作が開始される。この場合、コマンド投入レジスタREGの格納内容から、パーティション0に対して消去動作が開始されることになる。
【0076】
そして、上記ライトステートマシン29が動作している間は、ライトステートマシン29からはコマンドステートマシン26に対して動作信号FDREADY「0(=動作中)」が入力される。そうすると、コマンドステートマシン26は、矢印で示されるように、ライトステートマシン29からの動作信号FDREADYの内容とコマンド投入レジスタREGの内容との論理演算結果から、各パーティションに対する動作状態を示す状態信号CDPREADYを生成して出力する。図12の場合には、消去コマンドが投入されたパーティション0が割り当てられている最下位ビットのみが「0」(つまり3EH)の状態信号CDPREADYが出力される。こうして、最終的に、コマンドステートマシン26からは、状態信号CDPREADYによって各パーティションの状態が常に出力されることになる。
【0077】
上記状態信号CDPREADYは、1つのパーティションに対して1ビットが割り当てられた信号であり、ライトステートマシン29が動作中である場合に動作対象パーティションに対応したビットの値が「0(L)」となる信号である。したがって、状態信号CDPREADYによれば、ライトステートマシン29が動作中の場合に、何れのパーティションに対して消去(あるいは書き込み)動作が行われているかを判別することができるのである。そのため、例えば、コマンドステートマシン26からの状態信号CDPREADYを、ライトステートマシン29を介して書込消去電圧切り替え部30に送出すれば、書込消去電圧切り替え部30は、状態信号CDPREADYに基づいて、「L」のビットが割り当てられているパーティションに対してのみ、消去(書き込み)に必要な高電圧が印加されるようにスイッチング制御を行うことができるのである。
【0078】
上述のようにして、上記パーティション0に対して消去動作が実行されている際に、コマンドステートマシン26に入力バッファ21からサスペンドコマンドが入力されて一時停止が指示されると、図13に示すように、消去動作時にサスペンドが掛ったパーティションを記憶しておくために、イレースサスペンドレジスタESPに、コマンド投入レジスタREGの内容(すなわちパーティションデコード信号SDADECの内容(=1H))が格納される。そして、サスペンドコマンドが、コマンドステートマシン26からライトステートマシン29に送出され、ライトステートマシン29によってパーティション0に対する消去動作が中断される。
【0079】
そして、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「1」に切り換えられる。そうすると、コマンドステートマシン26は、ライトステートマシン29からの動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から、総てのビットが「1」(つまり3FH)の状態信号CDPREADYを生成して出力するのである。
【0080】
さらに、上記コマンドステートマシン26にレジュームコマンドが入力され、消去サスペンドの解除と消去動作の再開とが指示されると、図14に示す様に、イレースサスペンドレジスタESPの内容がコマンド投入レジスタREGにストアされる。そして、レジュームコマンドが、コマンドステートマシン26からライトステートマシン29に送出され、ライトステートマシン29によってパーティション0に対する消去動作が再開される。
【0081】
そして、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「0」に切り換えられる。そうすると、コマンドステートマシン26は、図12の場合と同様に、「3EH」の状態信号CDPREADYを生成して出力するのである。
【0082】
つまり、図12〜図14における上記コマンドステートマシン26中に記載された「状態信号CDPREADY」は、レジスタではなく単なる論理出力であり、コマンド投入レジスタREGとライトステートマシン29からの動作信号FDREADYとの内容に対して非同期に変化する。
【0083】
次に、書込み動作について説明する。図15乃至図17は、パーティション2に対して書込み→書込みサスペンド→書込みレジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。
【0084】
先ず、図15に示すように、パーティション2に対する書込みコマンド実行時には、先ず、コマンドステートマシン26によって、入力バッファ21からの書込みコマンドに応じて、パーティションデコーダ22からの6ビットのパーティションデコード信号SDADEC「5H」が、そのままコマンド投入レジスタREGに格納される。そして、コマンド投入レジスタREGの内容と上記書込みコマンドとに基づいて、ライトステートマシン29によってパーティション2に対して書込み動作が開始される。
【0085】
そして、上記ライトステートマシン29からコマンドステートマシン26に対して動作信号FDREADY「0」が出力され、コマンドステートマシン26によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から上記状態信号CDPREADY「3BH」が生成されて出力される。
【0086】
上述のようにして、上記パーティション2に対して消去動作が実行されている際に、コマンドステートマシン26にサスペンドコマンドが入力されて一時停止が指示されると、このサスペンドコマンドが、コマンドステートマシン26からライトステートマシン29に送出されてパーティション2に対する書込み動作が中断される。
【0087】
そうすると、図16に示すように、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「1」に切り換えられる。そして、コマンドステートマシン26によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から、状態信号CDPREADY「3FH」が生成されて出力される。その際に、コマンドステートマシン26は、書込みコマンド実行時にコマンド投入レジスタREGに格納された内容をそのまま保持しておく。これは、本フラッシュメモリは、書込みコマンドが受付けられている場合(つまり、書き込み中,書込みサスペンド中および書込みレジューム中の場合)には、ライトステートマシン29を動作させる他の如何なるコマンドをも受付けない使用になっており、コマンド投入レジスタREGの内容をわざわざ他のレジスタに一時的に待避するする必要がないためである。
【0088】
したがって、上記コマンドステートマシン26にレジュームコマンドが入力され、書込みサスペンドの解除と書込み動作の再開とが指示された場合には、上述した消去レジュームの場合のように、イレースサスペンドレジスタESPの内容をコマンド投入レジスタREGに転送する必要は無い。その結果、そのままレジュームコマンドがライトステートマシン29に送出され、ライトステートマシン29によってパーティション2に対する書込み動作が再開されるのである。
【0089】
そして、図17に示すように、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「0」に切り換えられ、コマンドステートマシン26は、図15の場合と同様に、「3BH」の状態信号CDPREADYを生成して出力するのである。
【0090】
次に、ページバッファ書込み動作について説明する。ページバッファ書込み時には、書き込むべきデータを図1におけるページバッファ23に一旦記憶させた後に、連続的にメモリアレイ36に対して書込みを行う。本実施の形態においては、ページバッファ23にページバッファ書込み用に2つのパーティション(パーティション(0),(1))を設けており、1パーティション当り16ワード分のデータが格納できるようになっている。したがって、ページバッファ23の2パーティションをフルに使用した場合には、32ワード分のデータを一挙にメモリアレイ36に書き込むことができ、高速書込みを実現できるのである。
【0091】
先ず、上記ページバッファ23の1パーティションのみを使用する場合におけるページバッファ書込み動作について説明する。図18乃至図20は、メモリアレイ36のパーティション4に対してページバッファ書込み→ページバッファ書込みサスペンド→ページバッファ書込みレジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。
【0092】
先ず、図18に示すように、パーティション4に対するページバッファ書込みコマンド実行時には、先ず、コマンドステートマシン26によって、入力バッファ21からのページバッファ書込みコマンドに応じて、パーティションデコーダ22からの6ビットのパーティションデコード信号SDADEC「010000」が、そのままページバッファ書込みレジスタSDADECLに格納される。次に、ページバッファ書込みレジスタSDADECLの内容が、実際にページバッファ書込みが実行されているパーティションが何処であるかを示すページバッファ書込み実行レジスタPBQにストアされる。さらに、ページバッファ書込み実行レジスタPBQの内容が、コマンド投入レジスタREGにストアされる。
【0093】
ページバッファ書込みの場合には、上記ページバッファ23の内容をメモリアレイ36の2つのパーティションに書込み可能であるため、最初のパーティションに対する書込みと次のパーティションに対する書込みとをキューイングによって制御する必要がある。その際における間接的なレジスタとして、ページバッファ書込みレジスタSDADECLを使用するのである。この場合には、1パーティション分のデータの転送のみであるため、ページバッファ書込みレジスタSDADECLの内容とページバッファ書込み実行レジスタPBQの内容とは一致する。そして、コマンド投入レジスタREGの内容とページバッファ書込みコマンドとに基づいて、ライトステートマシン29によってパーティション4に対してのページバッファ書込み動作が開始される。
【0094】
そして、上記ライトステートマシン29からコマンドステートマシン26に対して動作信号FDREADY「0」が出力され、コマンドステートマシン26によって、状態信号CDPREADY「2FH」が生成されて出力される。
【0095】
上述のようにして、上記パーティション4に対してページバッファ書込み動作が実行されている際に、コマンドステートマシン26にサスペンドコマンドが入力されて一時停止が指示されると、このサスペンドコマンドが、コマンドステートマシン26からライトステートマシン29に送出されてパーティション4に対するページバッファ書込み動作が中断される。
【0096】
そうすると、図19に示すように、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「1」に切り換えられる。そして、コマンドステートマシン26によって、状態信号CDPREADY「3FH」が生成されて出力される。その際に、コマンドステートマシン26は、コマンド投入レジスタREGおよびページバッファ書込み実行レジスタPBQに格納された内容(現在書込み中のパーティション情報)をそのまま保持しておく。
【0097】
さらに、上記コマンドステートマシン26にレジュームコマンドが入力され、ページバッファ書込みサスペンドの解除とページバッファ書込み動作の再開とが指示されると、図20に示すように、ページバッファ書込み実行レジスタPBQの内容がコマンド投入レジスタREGにストアされる。そして、レジュームコマンドが、コマンドステートマシン26からライトステートマシン29に送出され、ライトステートマシン29によってパーティション4に対するページバッファ書込み動作が再開される。
【0098】
そして、上記ライトステートマシン29からコマンドステートマシン26への動作信号FDREADYが「0」に切り換えられる。そうすると、コマンドステートマシン26は、図18の場合と同様に、「2FH」の状態信号CDPREADYを生成して出力するのである。
【0099】
こうして、上記ページバッファ23の1パーティションに一旦記憶されたデータが、メモリアレイ36のパーティション4に対して書き込まれるのである。
【0100】
次に、上記ページバッファ23のパーティション(0)とパーティション(1)との2つのパーティションを使用する場合におけるページバッファ書込み動作について説明する。図21および図22は、メモリアレイ36のパーティション0とパーティション5とに立て続けにページバッファ書き込みを行う際における各レジスタおよび信号の内容変遷を示す図である。
【0101】
先ず、上記メモリアレイ36のパーティション0に書込まれるべきデータが、入力バッファ21からページバッファ23のパーティション(0)に転送される。この間、コマンドステートマシン26によって、図21に示すように、入力バッファ21からのページバッファ書込みコマンドに応じて、ページバッファ書込みレジスタSDADECLに、パーティションデコーダ22からの6ビットのパーティションデコード信号SDADEC「000001」が格納される。続いて、メモリアレイ36のパーティション5に書込まれるべきデータが、ページバッファ23のパーティション(1)に転送される。この間、ページバッファ書込みレジスタSDADECLには、次にデータが書き込まれるパーティション5を表す「100000」がキューイングされる。こうして、パーティション0に対するページバッファ書き込みが終了すると、ページバッファ書込みレジスタSDADECLには「100000」がロードされるようにするのである。
【0102】
次に、図21に示すように、上記ページバッファ書込みレジスタSDADECLの内容が、ページバッファ書込み実行レジスタPBQにストアされる。さらに、ページバッファ書込み実行レジスタPBQの内容が、コマンド投入レジスタREGにストアされる。そして、コマンド投入レジスタREGの内容とページバッファ書込みコマンドとに基づいて、ライトステートマシン29によって、最初のパーティション0に対するページバッファ書込み動作が開始される。
【0103】
そして、上記ライトステートマシン29からコマンドステートマシン26に対して動作信号FDREADY「0」が出力され、コマンドステートマシン26によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果に基づいて、現在ページバッファ書込みコマンドが実行されているパーティション0を表す状態信号CDPREADY「111110」が生成されて出力される。
【0104】
ここで、上記コマンドステートマシン26にサスペンドコマンドが入力されて一時停止が指示されると、図19の場合と同様にして、ライトステートマシン29によってパーティション0に対するページバッファ書込み動作が中断され、ライトステートマシン29からの動作信号FDREADYが「1」に切り換えられ、コマンドステートマシン26から「3FH」の状態信号CDPREADYが出力される。そして、コマンドステートマシン26は、コマンド投入レジスタREGおよびページバッファ書込み実行レジスタPBQの内容を保持する。
【0105】
さらに、上記コマンドステートマシン26にレジュームコマンドが入力されてページバッファ書込み動作の再開が指示されると、図20の場合と同様に、ページバッファ書込み実行レジスタPBQの内容がコマンド投入レジスタREGにストアされ、パーティション0に対するページバッファ書込み動作が再開され、ライトステートマシン29からの動作信号FDREADYが「0」に切り換えられ、コマンドステートマシン26から、「2FH」の状態信号CDPREADYが出力される。
【0106】
こうして、上記ページバッファ23のパーティション(0)からメモリアレイ36のパーティション0への16ワード分のデータのページバッファ書き込みが終了すると、図22に示すように、コマンドステートマシン26のページバッファ書込みレジスタSDADECLには、直ちに、次にページバッファ書き込みが実行されるパーティション5を表す「100000」がキューイング制御によってロードされる。そして更に、ページバッファ書込み実行レジスタPBQにストアされ、コマンド投入レジスタREGにストアされる。そして、コマンド投入レジスタREGの内容に基づいて、ライトステートマシン29によって次のパーティション5に対するページバッファ書込み動作が開始される。
【0107】
そして、上記ライトステートマシン29からコマンドステートマシン26に対して動作信号FDREADY「0」が出力され、コマンドステートマシン26によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果に基づいて、現在ページバッファ書込みコマンドが実行されているパーティション5を表す状態信号CDPREADY「011111」が生成されて出力される。
【0108】
この場合にも、上記コマンドステートマシン26にサスペンドコマンドが入力されて一時停止が指示された場合や、レジュームコマンドが入力されて再度ページバッファ書込みが実行された場合には、図19または図20の場合と同様にして、ページバッファ書込みサスペンドまたはページバッファ書込みレジュームが実行される。
【0109】
以上のように、本実施の形態においては、上記コマンドステートマシン26内に、各状態に至っているパーティションの情報を保持するためのページバッファ書込みレジスタSDADECL,コマンド投入レジスタREG,イレースサスペンドレジスタESPおよびページバッファ書込み実行レジスタPBQを設けている。そして、コマンドステートマシン26は、パーティションデコーダ22からのパーティションデコード信号SDADECに基づいて、上記各レジスタの内容をコマンドに応じて更新する。そして、ライトステートマシン29からの動作中であるか否かを示す動作信号FDREADY(0:動作中)とコマンド投入レジスタREGとの論理演算結果から、各パーティションに対する動作状態を示す状態信号CDPREADYを生成するようにしている。
【0110】
したがって、本実施の形態の場合においても、各コマンドの実行において、ライトステートマシン29が動作している際における動作の対象となるパーティションを常に記憶しておくことができ、ライトステートマシン29動作中におけるデュワルワークや、サスペンド,レジューム等の複数コマンドの実行が、可能になるのである。
【0111】
尚、上記コマンド投入レジスタREG中において、コマンドステートマシン26が動作の対象としている(つまり、「1」が格納されている)パーティション以外のパーティション(例えば、図12であればパーティション1〜5)がアイドル中のパーティションを示している。また、上述の説明では省略しているが、上記デュアルワークによって読出しを行う場合には、上記アイドル中のパーティションであって外部からアクセスされたパーティションの情報を保持するレジスタを設ける必要がある。
【0112】
次に、本実施の形態において、上記カットダウンによって、メモリアレイ36のパーティションレイアウトが変更される場合について説明する。
【0113】
この場合にも、レイアウト面積を効率よく削減してチップコストを極力抑えるために、図8に示すようにカットダウンが行われたとする。その場合には、パーティション3が削除されるために、パーティションの数が「6」から「5」に減少することになる。
【0114】
しかしながら、本実施の形態の場合にも、上記コマンドステートマシン26の前段にパーティションデコーダ22を配置して、上記コマンドステートマシン26にはパーティションデコード信号SDADECが入力されるようにしている。したがって、コマンドステートマシン26側では、入力されたパーティションデコード信号SDADECにおける削除されたパーティションに対応するビットを無効化するだけで対応することが可能になるのである。
【0115】
すなわち、図8においては、元々パーティション3であったパーティションを削除すると、選択可能なパーティションはパーティション0〜パーティション2,パーティション4,パーティション5となる。したがって、6ビット信号であるパーティションデコード信号SDADECのうちの、パーティション3に該当するパーティションデコード信号SDADEC3のレベルをGNDレベルに固定するだけで、コマンドステートマシン26の回路構成を変更することなくパーティション3の削除を実現することができるのである。
【0116】
図25に示す従来のフラッシュメモリの場合には、コマンドステートマシン2内でパーティション・アドレスをデコードしているので、図8に示すようなカットダウンが行われる場合には、コマンドステートマシン2を最初から設計し直す必要がある。さらに、図8に示すように、最小消去単位であるブロックの容量が不均等であり、且つ、各パーティションに割り当てられるブロック数も不均等である場合には、パーティション・アドレスのデコード方法がアドレスの増減で大きく変ることは明白である。したがって、パーティション・アドレスのデコードを従来のごとくコマンドステートマシン2の内で行うことと、本実施の形態のごとくコマンドステートマシン26の外で行うこととでは、前者の方が機種展開やカットダウン時において設計期間に大きく影響がでるのである。
【0117】
図24は、上記従来のコマンドステートマシン2の大まかな設計フローチャートを示す。この設計フローチャートは、基本的な通常の設計の流れに対して、カットダウンに伴ってパーティション・アドレスのデコードが変更されるケースを付け加えたものである。
【0118】
図24において、コマンドステートマシン2の設計がスタートすると、ステップS11で、コマンドステートマシン2の仕様設計が行われる。そして、仕様設計が終了すると、ステップS12で、回路検証が行われる。ステップS13で、回路検証の結果が良であるか否であるかが判別され、良であればステップS14に進む一方、否であれば上記ステップS11に戻って更に仕様設計が行われる。ステップS14で、カットダウンに伴って回路修正が必要か否かが判別される。その結果、回路修正が必要なければステップS15に進む。一方、回路修正が必要であれば、上記ステップS11に戻ってカットダウンに伴う仕様設計が行われる。ステップS15で、回路検証の結果が良と判定された仕様設計に基づいて回路レイアウトが行われた後、コマンドステートマシン2の設計を終了する。
【0119】
このように、従来のコマンドステートマシン2における設計の流れでは、カットダウンの必要性が生ずると、矢印Bで示すように、再び、回路検証の結果が良となるまでカットダウンに伴う仕様設計が繰り返されることになり、設計期間が大幅に長くなるのである。
【0120】
これに対して、上記第1実施の形態および本実施の形態におけるコマンドステートマシン26の場合には、カットダウンの必要性が生じても設計し直す必要がなく、回路レイアウトの段階でパーティションデコード信号用のバスにおける削除パーティションに該当するラインを電気的にGNDに接続するだけでよい。したがって、コマンドステートマシン26の設計フローチャートは、図23に示す様に、図24に示す従来のコマンドステートマシン2の設計フローチャートにおけるステップS14を削除したものと同じとなる。
【0121】
すなわち、上記各実施の形態におけるコマンドステートマシン26によれば、コマンドステートマシン26の設計の流れを、従来からの基本的な通常の設計の流れと同様にすることができ、明らかに設計期間を短縮することができるのである。
【0122】
また、コマンドステートマシンの設計において最も重要なことは状態遷移の検証であり、その作業量は状態を記憶しているレジスタの個数に比例する。したがって、検証項目を少なくし且つ設計期間を短くするためには、本フラッシュメモリの各状態を記憶するレジスタの数を如何にして最小限度に留めることが重要になる。そのため、各動作モード時に状態を記憶すべきモードに対してのみ、パーティション数分のビットを有するレジスタを設けることが有効である。
【0123】
仮に書き込みだけに限って言えば、図25に示す従来のフラッシュメモリの構成において、図6に示すように各パーティション毎に状態を記憶した場合には、各レジスタの状態を検証するための工数は、表2に示す18種類のコマンドを持つフラッシュメモリにおいて、
表2
Figure 0004102661
パーティション数(6)×検証すべき状態の数(8)×コマンド数(3)
=144通り
となる。
【0124】
これに対して、上記各実施の形態のごとく、全パーティションの状態を1つにまとめて記憶する場合には、
検証すべき状態の数(8)×コマンド数(3)=24通り
に検証工数を削減することができるのである。
【0125】
尚、上記「検証すべき状態」とは、書込みコマンド実行においては、
(1)コマンドを投入するパーティションが
a.書込みコマンドセットアップ状態(書込みコマンドが投入された状態)
b.書込みデータセットアップ状態(書込むデータが入力された状態)
c.書込み中断中
d.書込み再開中
(2)コマンドを投入するパーティション以外のパーティションの状態が
e.書込みコマンドセットアップ状態(書込みコマンドが投入された状態)
f.書込みデータセットアップ状態(書込むデータが入力された状態)
g.書込み中断中
h.書込み再開中
の8つの状態がある。
【0126】
さらに、上記消去,ページバッファ書き込み,読み出し等の複数コマンド実行に係る検証すべき状態が加わるために、従来のフラッシュメモリと上記各実施の形態におけるフラッシュメモリとの検証工数の差は歴然としたものになることが分る。
【0127】
以上のごとく、上記各実施の形態においては、上記入力バッファ21とコマンドステートマシン26との間にパーティションデコーダ22を設けて、パーティション・アドレスのデコード機能をパーティションデコーダ22に持たせるようにしている。その結果、コマンドステートマシン26は、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、カットダウン時においては、コマンドステートマシン26側では、パーティションデコーダ22からのパーティション数のビット幅を有するパーティションデコード信号線における削除パーティションに対応するビット線のレベルをGNDレベルに固定して無効化するだけでよい。
【0128】
すなわち、上記コマンドステートマシン26の設計に際しては、メモリ容量が均等ではないブロックから成り且つブロック数も均等ではないパーティションで構成されたメモリセルアレイ36の場合であっても、回路レイアウトのみでカットダウンに対処することができ、再設計や修正を不用にすることができる。すなわち、カットダウンによる機種展開を、既存のフラッシュメモリ設計手順に従って容易に且つ短時間に行うことができるのである。
【0129】
また、各動作モードにおける各ディバイスの状態を、各パーティション毎にではなく1つにまとめて格納するようにしている。したがって、状態を各パーティション毎に格納する場合に比して状態格納用のレジスタ数、つまりは検証項目を減らすことができる。その結果、コマンドステートマシン26の設計時における状態遷移の検証に関する作業量を減らし、さらに設計期間を短縮することができるのである。
【0130】
尚、この発明は、上記各実施の形態において述べた内容に限定されるものではなく、特許請求の範囲を逸脱しない範囲内において適宜変形を行っても差し支えない。
【0131】
【発明の効果】
以上より明らかなように、この発明の不揮発性半導体記憶装置は、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置しているので、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等な複数のブロックによって構成された複数のパーティションによってメモリアレイが構成されている場合において、アドレス変更によるパーティション構成の変更(例えば、パーティションの減少等)が行われる場合であっても、上記コマンドステートマシンに対する設計変更の必要はない。
【0132】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、複雑なパーティション構成を有するフラッシュメモリのカットダウンによる機種展開を既存の設計手順に従って容易に且つ短時間に行うことができる。
【0133】
さらに、動作の対象となるパーティションの状態、動作の対象となるパーティション、消去サスペンドが掛かったパーティション、ページバッファ書込み処理時に実際に動作しているパーティション、ページバッファ書込み処理時に次に動作すべきパーティションを、1つの出力レジスタに記憶するので、上記パーティションの状態を記憶するレジスタを各パーティション毎に設ける場合に比して、上記出力レジスタの記憶容量を削減できる。したがって、上記コマンドステートマシンの設計時における検証に要する時間が軽減され、設計時間の更なる短縮が可能になる。
【0134】
さらに、上記コマンドステートマシンを、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようにしたので、上記コマンドステートマシンは、上記メモリアレイに対するパーティションの削減があったとしても、設計変更することなく、削除されていないパーティションに対する書込み , 読み出しおよび消去等の動作を制御することが可能になる。
【0135】
また、この発明の不揮発性半導体記憶装置は外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置しているので、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等な複数のブロックによって構成された複数のパーティションによってメモリアレイが構成されている場合において、アドレス変更によるパーティション構成の変更 ( 例えば、パーティションの減少等 ) が行われる場合であっても、上記コマンドステートマシンに対する設計変更の必要はない。
【0136】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、複雑なパーティション構成を有するフラッシュメモリのカットダウンによる機種展開を既存の設計手順に従って容易に且つ短時間に行うことができる。
【0137】
さらに、上記コマンドステートマシンを、上記入力されたパーティションデコード信号に基づいて、ページバッファ書込みの対象パーティションを表す第1情報 , コマンドが投入されるパーティションを表す第2情報 , イレースサスペンドの対象パーティションを表す第3情報およびページバッファ書込みコマンド実行時に実際にコマンドが実行されているパーティションを表す第4情報を生成して、夫々レジスタに記憶するようにしたので、上記パーティションの状態を各パーティション毎に設けられたレジスタに記憶する場合に比して、上記レジスタの記憶容量を削減することができる。したがって、上記コマンドステートマシンの設計時における検証に要する時間が軽減されて、設計時間の更なる短縮が可能になる。
【0138】
さらに、上記コマンドステートマシンを、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようにしたので、上記コマンドステートマシンは、上記メモリアレイに対するパーティションの削減があったとしても、設計変更することなく、削除されていないパーティションに対する書込み , 読み出しおよび消去等の動作を制御することが可能になる。
【図面の簡単な説明】
【図1】 この発明の不揮発性半導体記憶装置の一例としてのフラッシュメモリにおけるブロック図である。
【図2】 図1におけるメモリアレイのブロックレイアウト図である。
【図3】 パーティションデコード信号のラッチタイミングにおけるセットアップとホールド時間との関係を示す図である。
【図4】 図1における遅延回路の具体的構成を示す図である。
【図5】 図1における出力レジスタの構成を示す図である。
【図6】 従来のフラッシュメモリにおける状態レジスタの構成を示す図である。
【図7】 図2に示すメモリアレイのアドレスマップを示す図である。
【図8】 図2に示すメモリアレイに対するカットダウン方法の説明図である。
【図9】 図8とは異なるカットダウン方法の説明図である。
【図10】 図8および図9とは異なるカットダウン方法の説明図である。
【図11】 図8〜図10とは異なるカットダウン方法の説明図である。
【図12】 パーティション0に対して消去を行う場合における各レジスタおよび信号の内容を示す図である。
【図13】 パーティション0に対して消去サスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図14】パーティション0に対して消去レジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図15】 パーティション2に対して書込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図16】 パーティション2に対して書込みサスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図17】 パーティション2に対して書込みレジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図18】 パーティション4に対してページバッファ書込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図19】 パーティション4に対してページバッファ書込みサスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図20】 パーティション4に対してページバッファ書込みレジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図21】 パーティション0にページバッファ書き込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図22】 図21に続いてパーティション5にページバッファ書き込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図23】 図1におけるコマンドステートマシンの概略設計フローチャートである。
【図24】 従来のコマンドステートマシンの概略設計フローチャートである。
【図25】 従来のフラッシュメモリにおけるブロック図である。
【図26】 均等なブロック構成からなるメモリアレイのメモリマップである。
【図27】 不均等なブロック構成からなるメモリアレイのメモリマップである。
【符号の説明】
21…入力バッファ、
22…パーティションデコーダ、
23…ページバッファ、
24…データレジスタ、
25…遅延回路、
26…コマンドステートマシン、
27…遅延回路ユニット、
28…接続切換オプション回路ユニット、
29…ライトステートマシン、
30…書込消去電圧切り替え部、
31…出力レジスタ、
32,34…MUX、
33…ベリファイ回路、
35…デコーダ、
36…メモリアレイ、
37…出力バッファ、
41…状態レジスタ、
42…パーティション状態レジスタ、
43…動作モード状態レジスタ。[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a nonvolatile semiconductor memory device which can be read, written and erased.In placeRelated.
[0002]
[Prior art]
  In recent years, a flash memory having a so-called “dual work” function (generally referred to as an RWW (Read While Write) function) that can be read during writing or erasing has been actively developed. This flash memory employs a technique for dividing a memory array in units of partitions composed of a plurality of blocks in order to perform erasure with a block as a minimum unit. Note that the number of blocks in the partition is equal. Since the above “dual work” is performed between two different partitions in a plurality of existing partitions, a register for storing the state of each partition, a decoder and a sense amplifier necessary for reading are arranged in the flash memory. (For example, refer to Patent Document 1).
[0003]
  The configuration of the flash memory is shown in FIG. In FIG. 25, an input buffer 1 to which an external signal is input receives a partition address in the memory array 12 and data that is a command to be operated, and buffers it internally. The command state machine 2 receives the address and data (command) from the input buffer 1, decodes the target command, and makes a transition to a state corresponding to the command. Then, in response to the state transition, the write state machine 3 starts an operation sequence necessary for writing and erasing. Then, a voltage necessary for writing and erasing is generated by the write / erase voltage switching unit 4 and supplied to the memory array 12.
[0004]
  In the case of the above writing, the data to be written and its address are read from the input buffer 1 and stored in the data register 10 based on the control of the command state machine 2. Then, the data read from the data register 10 is written to the memory array 12 by the MUX (multiplexer) 7 in accordance with the read address. Further, in order to verify the data actually written in the memory array 12 after that, the verify circuit 8 compares the data from the MUX 7 with the data written in the memory array 12.
[0005]
  In the above operation, the coordinates on the memory array 12 of the flash cell to be written in the memory array 12 are read from the input buffer 1 and decoded by the decoder 11 having the X decoder and the Y decoder. The state transitioned by the command state machine 2 is stored in a state register 6 composed of a plurality of registers provided for each partition. When it is determined from the state of the command state machine 2 whether or not a series of write operations have been performed correctly and whether or not the state of the command state machine 2 is correct, the state is read from the state register 6. Then, it is externally output from the output buffer 13 via the MUX 9.
[0006]
  In the erase operation and page buffer write operation, control is performed in the same manner as in the write operation described above. Here, the “page buffer write” refers to an operation in which data to be written is temporarily stored in the page buffer 5 and then continuously written and transferred to the memory array 12.
[0007]
  FIG. 26 shows a configuration example of the entire memory array 12 using a memory map. The memory array 12 is divided into X blocks of equal size from the lowest address to the highest address, and Y partitions serving as units of a dual work are provided. In this example, since the block size and the number of blocks constituting the partition are equal, each block is regularly arranged, and an address map effective in terms of chip size and circuit configuration is used. Become.
[0008]
  In addition, in a partition with multiple blocks of equal capacity, a register for storing the partition status (erasing being executed, erasing suspended (suspended), writing being executed, write suspended (suspended), etc.) In the command state machine 2 and is designed so that the state of the partition selected from the outside can be output to the outside via the command state machine 2. In addition, since the number of blocks in each partition is equal, the command state machine 2 is not required to be redesigned even when the model is expanded by cutting down the memory capacity, and can be easily expanded.
[0009]
  In addition, the status information (device status) of the flash memory is not provided for each partition (that is, the status is stored for each partition in a register for each partition), but the status information is common to each partition. There are also semiconductor memory devices.
[0010]
[Patent Document 1]
          Japanese translation of PCT publication No. 2002-501276
[0011]
[Problems to be solved by the invention]
  However, in the semiconductor memory device having the conventional status information common to each partition, there is no particular problem in the case of a semiconductor memory device in which the capacity of each block in each partition is equal. In a semiconductor memory device with uneven memory capacity and different capacity of each partition, the design of the command state machine is different when the memory capacity is changed, so that the following various problems occur.
[0012]
  That is, in the development of the semiconductor memory device as described above, a decoder (X decoder and Y decoder) that controls the address of the block in each partition when the number of partitions increases or the number of blocks in the partition increases as the memory capacity increases. ) And a sense amplifier arranged for each partition are required, and the layout area is increased.
[0013]
  In addition, since each partition operates independently, there are a large number of evaluation patterns for circuit design and verification. Depending on the design content, a large amount of resources are required and the design period is extended. The negative effect that occurs.
[0014]
  In addition, when the number of blocks in each partition is different or the memory capacity of each block arranged in the partition is different as in a memory array having an unequal block configuration as shown in FIG. When the address decoding is also complicated and the address of each partition is also decoded in the command state machine 2 that controls the state transition of each block, each time the number of partitions is reduced due to the cut-down, the command state machine 2 Need to be redesigned.
[0015]
  Table 1 shows an example of partitioning for realizing a memory capacity cut-down. Here, the partition division is limited to six, but the number of partition divisions is not limited to this example.
                                Table 1
Figure 0004102661
[0016]
  First, assuming that the total capacity of the memory array 12 is 128M bits, it is conceivable that the total capacity is 64M bits or 32M bits as a cut-down method. When the cut-down is smaller than that, the normal design flow is to cut from 32 Mbits instead of from 128 Mbits to make the total capacity 16 Mbits or 8 Mbits.
[0017]
  Here, as shown in FIG. 8, when a memory array having a total capacity of 128 Mbit (FIG. 8A) is cut down to a 64 Mbit memory array (FIG. 8B), a line segment A is shown. In addition, the number of partitions decreases from “6” to “5”, and the number of blocks in each partition also decreases. For this reason, it is apparent that it is necessary to redesign the processing method of the partition address decoding and the block address decoding. The partition address decoding process controlled in the command state machine 2 in FIG. 25 cannot be applied as it is when the block layout of the memory array 12 is as shown in FIG. It is necessary to modify itself.
[0018]
  Actually, some users tend to require 8 KB or 4 KB as the memory capacity of the block which is the minimum erase unit, which is usually 64 KB. Therefore, in order to meet the demand, if all blocks are configured with 8 KB or 4 KB, a large-capacity memory array of 64 KB or 128 KB will be realized, decoding of each partition address becomes complicated, and the layout becomes very large. There is a tendency that the chip size increases and the chip cost increases.
[0019]
  On the other hand, as before, if each partition is configured by combining a 64 KB block and an 8 KB or 4 KB block, the number of blocks in each partition is not uniform, and decoding of the partition address becomes complicated. Then, as described above, the design of the command state machine 2 that controls the partition is complicated.
[0020]
  SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a nonvolatile semiconductor memory device capable of easily and quickly developing a model by cutting down a memory array having a complicated partition configuration.PlaceIt is to provide.
[0021]
[Means for Solving the Problems]
  In order to achieve the above object, a nonvolatile semiconductor memory device according to the present invention provides:
  The nonvolatile memory cell has an electrically rewritable nonvolatile memory cell, and the nonvolatile memory cell is erased in units of a block formed by a collection of a plurality of nonvolatile memory cells. A memory array including a plurality of partitioned partitions,
  A command state machine that controls operations on the memory array;
  A partition address signal representing the address of the partition subject to the operation on the memory array is input from the outside, the input partition address signal is decoded to generate a partition decode signal, and the generated partition Partition decoder that outputs decode signal to the command state machineWhen,
  The status register that stores the status of the target partition, the partition status register that stores the target partition, the erase suspend register that stores the erase-suspended partition, and the page buffer write process One output register including a page buffer write register for storing the operating partition and a partition queuing register for storing the next partition to be operated during the page buffer write process;
Be equippede,
  In each partition of the memory array, at least one of the storage capacity and the number of blocks constituting it is unequal.And
  The command state machine invalidates the signal corresponding to the partition to be reduced in the input partition decode signal when the partition is reduced at the time of the storage capacity cut-down for the memory array. LikeYes.
[0022]
  According to the above configuration, the partition decoder that decodes the partition address signal from the outside is arranged in the previous stage of the command state machine. As a result, the command state machine can know which partition should be the operation target without decoding the partition address signal. Therefore, even if there is a partition configuration change (for example, a decrease in partitions, etc.) due to an address change with respect to a memory array having a plurality of partitions constituted by blocks with an uneven storage capacity or number, the command state machine No need to change design.
[0023]
  Therefore, redesign and correction associated with the cut-down for the command state machine are not required, and the model development by the cut-down can be easily performed in a short time.
[0024]
  In addition, the status of the target partition, the target partition, the erase-suspended partition, the partition that is actually operating during page buffer write processing, and the partition that should be operated next during page buffer write processing It is stored in one output register. Therefore, the storage capacity of the output register can be reduced as compared with the case where a register for storing the partition state is provided for each partition. As a result, the time required for verification at the time of designing the command state machine is reduced, and the design time can be further reduced.
[0025]
  In addition, if the command state machine reduces the partition when the storage capacity for the memory array is cut down, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated. I try to make it. Therefore, the command state machine can write to the undeleted partition without changing the design even if there is a partition reduction for the memory array. , Operations such as reading and erasing can be controlled.
[0026]
  The nonvolatile semiconductor memory device of the present invention is
  The nonvolatile memory cell has an electrically rewritable nonvolatile memory cell, and the nonvolatile memory cell is erased by a block unit formed by a plurality of nonvolatile memory cells. In a nonvolatile semiconductor memory device including a memory array including a plurality of partitions,
  A command state machine that controls operations on the memory array;
  A partition address signal indicating the address of the partition subject to the operation on the memory array is input from the outside, and the partition address signal generated by decoding the input partition address signal is generated. Partition decoder that outputs decode signal to the command state machine
With
  In each partition of the memory array, at least one of the storage capacity and the number of blocks constituting it is unequal,
  The command state machine
  First information representing a target partition for page buffer writing based on the input partition decode signal , Second information indicating the partition where the command is entered , Generating third information indicating a partition to be erase-suspended and fourth information indicating a partition in which the command is actually executed when the page buffer write command is executed;
  A page buffer write register that stores the generated first information and has a queuing function; a command input register that stores the second information; an erase suspend register that stores the third information; Fourth information is stored and includes a page buffer write execution register,
  If a partition is reduced at the time of storage capacity cut-down for the memory array, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated.
It is like that.
[0027]
  According to the above configuration, the partition decoder that decodes the partition address signal from the outside is arranged in the previous stage of the command state machine. As a result, the command state machine does not decode any partition address signal without decoding the partition address signal. It is possible to know whether an action should be an action target. Therefore, change the partition configuration by changing the address for a memory array with multiple partitions composed of blocks with uneven storage capacity and number. ( For example, partition reduction ) Even if there is, there is no need to change the design of the command state machine.
[0028]
  Therefore, redesign and correction associated with the cut-down for the command state machine are not required, and the model development by the cut-down can be easily performed in a short time.
[0029]
  Further, the command state machine performs first information representing a target partition for page buffer writing based on the input partition decode signal. , Second information indicating the partition where the command is entered , The third information representing the erase suspend target partition and the fourth information representing the partition in which the command is actually executed when the page buffer write command is executed are generated and stored in the respective registers. Accordingly, the storage capacity of the register can be reduced as compared with the case where the state of the partition is stored in a register provided for each partition. As a result, the time required for verification at the time of designing the command state machine is reduced, and the design time can be further reduced.
[0030]
  In addition, if the command state machine reduces the partition when the storage capacity for the memory array is cut down, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated. I try to make it. Therefore, the command state machine can write to the undeleted partition without changing the design even if there is a partition reduction for the memory array. , Operations such as reading and erasing can be controlled.
[0031]
  In the nonvolatile semiconductor memory device of one embodiment, the command state machine controls at least write, read and erase operations for each partition in the memory array.
[0032]
  According to this embodiment, the redesign and correction associated with the cut-down are unnecessary for the command state machine that controls operations such as writing, reading, and erasing for each partition in the memory array.
[0033]
  In the nonvolatile semiconductor memory device of one embodiment, the command state machine is provided with a latch circuit for latching the input partition decode signal, and the latch is applied to the partition address signal input from the outside. A delay circuit is provided to provide the setup and hold times necessary to be correctly latched into the circuit.
[0034]
  According to this embodiment, the delay circuit gives a setup time and a hold time necessary for correctly latching the external partition address signal in the latch circuit of the command state machine. Therefore, even if the internal latch timing signal of the command state machine is delayed by an internal delay with respect to the external latch timing signal, the partition address signal is correctly latched in the latch circuit of the command state machine. As a result, the partition decoder can be placed in front of the command state machine..
[0035]
  MaIn the nonvolatile semiconductor memory device according to one embodiment, the partition decode signal is a signal having the same number of bits as the number of partitions corresponding to each partition constituting the memory array, and the reduction by the command state machine is performed. The signal corresponding to the target partition is invalidated by fixing the level of the bit signal corresponding to the partition to be reduced among the partition decoded signals to the ground level.
[0036]
  According to this embodiment, the invalidation of the signal corresponding to the partition to be reduced is realized by a very simple method..
[0037]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, the present invention will be described in detail with reference to the illustrated embodiments. Since flash memory has a special MOS transistor structure with a floating gate and a control gate, special operations are required for data writing, erasing, verification, etc. compared to ordinary memory devices. Various peripheral circuits corresponding to the above are required.
[0038]
  That is, in the flash memory, writing is performed by injecting charges into the floating gate, while erasing is performed by taking out the charges. At that time, since charges cannot be directly injected / extracted, it takes a considerable time to correctly inject / extract charges without variation for a very large number of cells. Furthermore, over-erasing in the case of erasing becomes a problem. This is because the charge to be taken out at the time of erasing is taken out more than intended due to the variation of the structure of the cell itself, the variation of the process, the variation of the charge injection amount, etc., and the threshold value of each cell is originally “0”. The place to be is a negative value and varies from cell to cell.
[0039]
  When writing or erasing is performed in units of cells, the peripheral circuit and decoder circuit for that purpose become very complicated and large in area, and the practicality as a memory is lost. For this purpose, the peripheral circuit is operated for every certain number of cells (in units of blocks) to perform writing and erasing. In addition, the number of cells for that purpose varies according to the purpose of use of the user, and is also determined in consideration of the partition described below.
[0040]
  That is, in order to effectively perform the dual work function described later, it is necessary to configure a memory array in units of partitions formed by a plurality of the blocks. Then, how many blocks each partition is composed of is determined according to the purpose of use of the user. Note that the above dual work means that when writing / erasing is performed on a certain partition in order to speed up data processing that requires time for the above-mentioned reason, Is to do the operation. Further, in order to increase the speed at the time of writing, the write data is temporarily stored in a RAM (random access memory) called a page buffer and then sequentially written to the memory array, and apparently high speed writing is performed.
[0041]
  In recent years, the economic environment has become severe, and cost competition is intense among products using flash memory, and the demand for the memory capacity and block configuration of the memory array of the flash memory used for that amount has become severe and strict. ing.
[0042]
  In the case of a conventional flash memory, if there are multiple partitions with an unbalanced number of blocks or block capacities constituting the memory array, the above-mentioned special structure and special operational reasons may cause the user's request. In addition, when changing the block configuration of each partition, a command state machine that controls operations such as writing, reading, or erasing to each partition in the memory array is redesigned for each partition according to the user's purpose of use. It will be necessary to redo it.
[0043]
  In this embodiment, even when such a design change is made, the command state machine need not be redesigned and can be flexibly dealt with in a short time.
[0044]
  First embodiment
  FIG. 1 is a block diagram showing a configuration of a flash memory as an example of a nonvolatile semiconductor memory device according to the present embodiment.
[0045]
  The write state machine 29, write / erase voltage switching unit 30, page buffer 23, MUX 32, verify circuit 33, MUX 34, data register 24, decoder 35, memory array 36 and output buffer 37 are the same as those of the conventional flash memory shown in FIG. This is the same as the write state machine 3, write / erase voltage switching unit 4, page buffer 5, MUX 7, verify circuit 8, MUX 9, data register 10, decoder 11, memory array 12 and output buffer 13 in the block diagram.
[0046]
  In FIG. 1, an output terminal of an input buffer 21 to which an external address and data are input is connected to input terminals of a partition decoder 22, a page buffer 23, a data register 24, a command state machine 26 and a decoder 35. The partition decoder 22 decodes the partition address from the input buffer 21 and obtains information on the selected partition. In the case of the conventional flash memory shown in FIG. 25, the partition address decoding function is provided in the command state machine 2 as described above.
[0047]
  The partition decode signal representing the selected partition obtained by the partition decoder 22 is output to the delay circuit 25 as a bus signal having a number of bits corresponding to the number of partitions. For example, in the case of a memory array having a block layout as shown in FIG. 2, since the number of partitions is “6”, the bus signal is 6 bits. Here, the command state machine 26 needs to latch a bit indicating whether or not each partition is selected in the partition decode signal every time a command (erase, write, etc.) is input. The delay circuit 25 is a circuit for ensuring sufficient operation of latch setup and latch hold with respect to the internal latch timing signal at the time of latching.
[0048]
  FIG. 3 shows the relationship between the setup and hold times at the latch timing of the partition decode signal. Since the partition decode signal is latched at the falling edge of an external latch timing signal input (hereinafter referred to as RAD input) via an external packet assembly / disassembly device (RAD), the latch is performed after the PAD input. The timing delayed by the internal delay until the command state machine 26 in which the circuit exists is the actual latch timing. This actual latch timing is indicated by the internal latch timing signal in FIG.
[0049]
  Furthermore, it takes time for the external address signal inputted from the input buffer 21 to pass through the circuit of the partition decoder 22 until the partition decoder 22 decodes the external address signal to obtain the partition decode signal representing the selected partition. As a result, as shown in FIG. 3, the partition decode signal is delayed from the external address signal.
[0050]
  In order to correctly latch the partition decode signal by the internal latch timing signal, it is necessary to have sufficient setup time and hold time for the partition decode signal. Therefore, it is necessary to delay the partition decode signal, and the circuit for that purpose is the delay circuit 25. The delay circuit 25 has a configuration in which an even number of gate circuits are connected as shown in FIG.
[0051]
  In FIG. 4, the delay circuit unit 27 is a unit composed of inverter circuits connected to even stages. The delay circuit 25 is configured with a sufficient margin by connecting a number of delay circuit units 27 that can obtain a desired delay time and can sufficiently cope with process variations. Further, by arranging the connection switching option circuit unit 28 capable of switching the connection between the delay circuit units 27 only by modifying the wiring layer between the delay circuit units 27, the number of delay stages can be switched optionally. It has become.
[0052]
  The delay circuit 25 inputs the partition decode signal to the command state machine 26 in a state delayed by a desired time, and the partition decode signal is latched in the command state machine 26. Note that the latch timing is synchronized with the command input timing from the input buffer 21.
[0053]
  The command state machine 26 decodes the command input from the input buffer 21 and shifts the selected partition obtained from the latched partition decode signal to a state corresponding to the command. The state transitioned by the command state machine 26 is stored in the output register 31. Here, the output register 31 stores the states of all partitions in the memory cell array 36 together.
[0054]
  Next, a method for managing a plurality of partitions under one state transition will be described.
[0055]
  Conventionally, a register for each partition is prepared in the status register 6 in FIG. 25 in order to have a state independently for each partition. This is shown in FIG. In FIG. 6, the number of partition divisions in the memory array 12 is (X + 1), and registers 6a to 6d for storing states are prepared. Each register has an 8-bit configuration, and each of the registers 6a to 6d is assigned to any partition. Therefore, the conventional status register 6 shown in FIG. 25 requires a storage capacity of 8 bits × number of partitions (X + 1) = 8 (X + 1) bits. Further, for the dual work control, a register indicating which partition the write state machine 3 is occupied is also required. When the status of the device is monitored, the contents of the register corresponding to the accessed partition in the status register 6 are output from the output buffer 13 to the outside.
[0056]
  On the other hand, in the present embodiment, device states are collectively stored in one output register 31. As a result, as shown in FIG. 5, the output register 31 requires a status register (8 bits) 41 for storing the status of the selected partition and a partition status register ((X + 1) for storing the selected partition). There are only three internal registers: a bit) 42 and an operation mode status register (3 × (X + 1) bits) 43.
[0057]
  In the status register 41, “WSMS” is a write state machine state (1: idle, 0: run). “BESS” is a block state suspend state (1: suspending, 0: erasing / normal end). “BEFES” is a block erase, all erase state (1: fail, 0: normal end). “PBPS” is a page buffer write / write state (1: fail, 0: normal end). “VPPS” is a Vpp level state (1: abnormal, 0: normal). “PBPSS” is a page buffer write / write suspend state (1: fail, 0: normal end). "DPS" is device protection information (1: protection release abnormal end, 0: protection release normal end). “R” is a reserved bit (GND level fixed).
[0058]
  The operation mode status register 43 stores an erase suspend register for storing which partition is erase-suspended when suspend is performed at the time of erasure, and which partition is operated during page buffer write processing. A page buffer write register for storing whether or not the data is stored and a partition queuing register.
[0059]
  Thus, in the output register 31 of the present embodiment, the partition state register 42 and the operation mode state register which are registers for storing which partition is the operation target of the command state machine 26 43 is composed of the number of partitions (X + 1) and three times as many bits, but as shown in FIG. 6, in the case of providing a status register 6 for storing the partition status corresponding to each partition register In comparison, the storage capacity of the register can be reduced, and verification (including failure detection) can be reduced accordingly.
[0060]
  Operations other than those described above are the same as those of the conventional flash memory shown in FIG.
[0061]
  That is, in this embodiment, the partition configuration is reduced by inserting the partition decoder 22 between the input buffer 21 and the command state machine 26 as shown in FIG. 8 and Table 1. Even at the time of cut-down, the command state machine 26 need not be redesigned or re-corrected. Details will be described below.
[0062]
  First, the cut-down process will be described. In this embodiment, for example, when the partition layout is the layout shown in FIG. 8A, the partition 3 is deleted when the partition layout is cut down to 64 Mbits as shown in FIG. 8B. . In that case, by invalidating the bit allocated to the partition 3 in the 6-bit partition decode signal (the number of partitions is “6”) which is the output signal of the partition decoder 22, the partition state of the command state machine 26 is changed. It is not necessary to change the state transition. Hereinafter, the reason will be described in detail.
[0063]
  The memory array 36 in the present embodiment has a capacity of 128 Mbits and has a block layout as shown in FIGS. 2 and 8A. In FIG. 2, six partitions are arranged according to the location of the chip layout. Among them, the partition 0 and the partition 5 are each composed of 8 blocks of the minimum erase unit block size of 8 KB and 31 blocks of 64 KB, and have a memory capacity of 16 Mbits. Each of the partitions 1 to 4 includes 48 blocks each having a minimum erase unit block size of 64 KB and has a memory capacity of 24 Mbits. As shown in FIG. 7, the address map in the memory array 36 has a structure in which 64 KB blocks are sandwiched between 8 KB blocks. In order to decode partition addresses, the total number of addresses is eight. I need it. In this case, the memory array 36 is configured with an equal block size, and if the number of blocks in each partition is the same, three addresses are sufficient. That is, in the case of the memory array 36 having the block layout as shown in FIG. 2, this means that the circuit scale of the partition decoder 22 is increased.
[0064]
  According to Table 1, there are four kinds of methods for cutting down from 128 Mbits to 64 Mbits. In addition to the cutdown method shown in FIG. 8, as shown in FIG. You can do this without deleting one partition. In this case, since there is no change in the decoding of the partition address, the redesign of the command state machine 26 becomes unnecessary.
[0065]
  Furthermore, as a method of cutting down from 128 Mbits to 32 Mbits, in the case of the method shown in FIGS. 10 and 11, the number of partitions is reduced, so that the partition decode 22 naturally needs to be redesigned. . However, on the command state machine 26 side that does not need to decode the partition address, it is only necessary to validate only the partition that is actually used. For example, in the case of FIG. In the case of FIG. 11, the partition 2 and the partition 3 may be invalidated, and the command state machine 26 itself can be used as it is.
[0066]
  The invalidation of the partition by the command state machine 26 is performed by fixing the level of the bit line corresponding to the partition to be invalidated in the partition decode signal output from the partition decoder 22 to the GND level. .
[0067]
  As described above, in this embodiment, the partition decoder 22 is provided between the input buffer 21 and the command state machine 26, and the partition address decoding function is separated from the command state machine 26. I try to have it. Therefore, on the command state machine 26 side, it is only necessary to invalidate the deleted partition at the time of cut-down, and redesign or re-correction of the command state machine 26 can be made unnecessary.
[0068]
  That is, according to the present embodiment, it is possible to provide the command state machine 26 that is not affected by the partitioning method in the memory array 36.
[0069]
  Second embodiment
  In the present embodiment, a method for further simplifying the design of the command state machine 26 in the first embodiment will be described. In the case of the present embodiment, the state of each partition stored in the output register 31 in the first embodiment is held in the command state machine 26 and the write state machine 29, not in a dedicated register. It is. By doing so, the command state machine 26 performs state transition with the minimum necessary registers, and can still maintain the state of each partition.
[0070]
  The configuration of the flash memory in the present embodiment is the same as the configuration of the flash memory in the first embodiment shown in FIG. 1 except that the output register 31 is not provided.
[0071]
  FIG. 12 to FIG. 14 are diagrams showing the transition of contents of each register and signal when performing erase → erase suspend → erase resume for partition 0. First, the case where the erase command is executed for the partition 0 in the memory array 36 will be described with reference to FIG.
[0072]
  As shown in FIG. 12, the external address signal ADDRESS from the input buffer 21 (see FIG. 1) is input to the partition decoder 22 and decoded. The partition decode signal SDADEC from the partition decoder 22 is input to the command state machine 26. Here, the partition decode signal SDADEC is a bus signal having a bit width of the number of partitions (“6” in the present embodiment) as described in the first embodiment.
[0073]
  In the command state machine 26, there are provided as many registers as the number of states for holding the device state, and each register has the number of bits of the partition number “6”. The registers are a page buffer write register SDADECL, a command input register REG, an erase suspend register ESP, and a page buffer write execution register PBQ. The page buffer write register SDADECL is a register for holding the target partition when a page buffer write command is executed, and has a queuing function. The command input register REG is a register indicating where the partition (obtained from the partition decode signal SDADEC) where the command is input is. The erase suspend register ESP is a register for storing where the partition where the erase command was operating when the erase suspend was executed. Further, the page buffer write execution register PBQ is a register that indicates where a partition that is actually being executed when a page buffer write command is executed.
[0074]
  The page buffer write command continuously executes data write operations for two partitions in the memory array 36. For this purpose, a register for sequentially storing to which partition the page buffer write command for the two partitions is currently being executed is required, and still needs to be controlled by the queuing function. This register is the page buffer write register SDADECL.
[0075]
  In the above register configuration, in the case of the erase command for the partition 0, first, the command state machine 26 inputs the 6-bit partition decode signal SDADEC (= 1H) as it is according to the erase command from the input buffer 21. Stored in register REG. Then, the contents of the command input register REG are sent to the write state machine 29 that controls the write operation and the erase operation together with the erase command, and the write state machine 29 starts the erase operation. In this case, the erase operation for the partition 0 is started from the stored contents of the command input register REG.
[0076]
  While the write state machine 29 is operating, the operation signal FDREADY “0 (= in operation)” is input from the write state machine 29 to the command state machine 26. Then, as indicated by the arrow, the command state machine 26 determines the state signal CDPREADY indicating the operation state for each partition from the logical operation result of the contents of the operation signal FDREADY from the write state machine 29 and the contents of the command input register REG. Is generated and output. In the case of FIG. 12, the status signal CDPREADY is output in which only the least significant bit to which the partition 0 to which the erase command is input is assigned is “0” (that is, 3EH). Thus, finally, the state of each partition is always output from the command state machine 26 by the state signal CDPREADY.
[0077]
  The state signal CDPREADY is a signal in which 1 bit is assigned to one partition, and when the write state machine 29 is operating, the value of the bit corresponding to the operation target partition is “0 (L)”. Is a signal. Therefore, according to the status signal CDPREADY, when the write state machine 29 is operating, it can be determined to which partition the erasing (or writing) operation is performed. Therefore, for example, if the state signal CDPREADY from the command state machine 26 is sent to the write / erase voltage switching unit 30 via the write state machine 29, the write / erase voltage switching unit 30 is based on the state signal CDPREADY. Switching control can be performed so that a high voltage necessary for erasing (writing) is applied only to the partition to which the “L” bit is assigned.
[0078]
  As described above, when the suspend command is input to the command state machine 26 from the input buffer 21 and the suspension is instructed while the erase operation is being performed on the partition 0, as shown in FIG. In addition, the contents of the command input register REG (that is, the contents of the partition decode signal SDADEC (= 1H)) are stored in the erase suspend register ESP in order to store the suspended partition during the erase operation. Then, a suspend command is sent from the command state machine 26 to the write state machine 29, and the erase operation for the partition 0 is interrupted by the write state machine 29.
[0079]
  Then, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “1”. Then, the command state machine 26 generates and outputs a state signal CDPREADY in which all bits are “1” (that is, 3FH) from the logical operation result of the operation signal FDREADY from the write state machine 29 and the command input register REG. To do.
[0080]
  Further, when a resume command is input to the command state machine 26 and an instruction to cancel the erase suspend and restart the erase operation is given, the contents of the erase suspend register ESP are stored in the command input register REG as shown in FIG. Is done. Then, the resume command is sent from the command state machine 26 to the write state machine 29, and the erase operation for the partition 0 is resumed by the write state machine 29.
[0081]
  Then, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “0”. Then, the command state machine 26 generates and outputs a state signal CDPREADY of “3EH” as in the case of FIG.
[0082]
  That is, the “state signal CDPREADY” described in the command state machine 26 in FIGS. 12 to 14 is not a register but a simple logic output, and the command input register REG and the operation signal FDREADY from the write state machine 29 are Changes asynchronously with content.
[0083]
  Next, the write operation will be described. FIG. 15 to FIG. 17 are diagrams showing the transition of the contents of each register and signal when writing → write suspend → write resume is performed on the partition 2.
[0084]
  First, as shown in FIG. 15, when a write command is executed for the partition 2, first, the command state machine 26 uses the 6-bit partition decode signal SDADEC “5H” from the partition decoder 22 in accordance with the write command from the input buffer 21. Is stored in the command input register REG as it is. Based on the contents of the command input register REG and the write command, the write state machine 29 starts a write operation on the partition 2.
[0085]
  Then, the operation signal FDREADY “0” is output from the write state machine 29 to the command state machine 26, and the state signal CDPREADY “0” is output from the logical operation result of the operation signal FDREADY and the command input register REG by the command state machine 26. 3BH "is generated and output.
[0086]
  As described above, when the suspend command is input to the command state machine 26 and the suspension is instructed while the erase operation is being performed on the partition 2, the suspend command is changed to the command state machine 26. Is sent to the write state machine 29, and the write operation to the partition 2 is interrupted.
[0087]
  Then, as shown in FIG. 16, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “1”. Then, the command state machine 26 generates and outputs a state signal CDPREADY “3FH” from the logical operation result of the operation signal FDREADY and the command input register REG. At that time, the command state machine 26 holds the contents stored in the command input register REG as it is when the write command is executed. This is because the flash memory does not accept any other command for operating the write state machine 29 when a write command is accepted (that is, during write, write suspend, and write resume). This is because there is no need to temporarily save the contents of the command input register REG in another register.
[0088]
  Therefore, when a resume command is input to the command state machine 26 and an instruction to cancel the write suspend and resume the write operation is given, the contents of the erase suspend register ESP are used as in the case of the erase resume described above. There is no need to transfer to the input register REG. As a result, the resume command is sent to the write state machine 29 as it is, and the write operation to the partition 2 is resumed by the write state machine 29.
[0089]
  Then, as shown in FIG. 17, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “0”, and the command state machine 26 is set to “3BH” as in FIG. The status signal CDPREADY is generated and output.
[0090]
  Next, the page buffer write operation will be described. At the time of page buffer writing, data to be written is temporarily stored in the page buffer 23 in FIG. 1 and then written to the memory array 36 continuously. In this embodiment, the page buffer 23 is provided with two partitions (partition (0), (1)) for page buffer writing, so that data of 16 words per partition can be stored. . Therefore, when two partitions of the page buffer 23 are fully used, data for 32 words can be written to the memory array 36 at a time, and high-speed writing can be realized.
[0091]
  First, a page buffer write operation when only one partition of the page buffer 23 is used will be described. FIG. 18 to FIG. 20 are diagrams showing the transition of the contents of each register and signal when page buffer write → page buffer write suspend → page buffer write resume is performed on the partition 4 of the memory array 36.
[0092]
  First, as shown in FIG. 18, when a page buffer write command for the partition 4 is executed, first, a 6-bit partition decode from the partition decoder 22 is performed by the command state machine 26 in accordance with the page buffer write command from the input buffer 21. The signal SDADEC “010000” is stored in the page buffer write register SDADECL as it is. Next, the contents of the page buffer write register SDADECL are stored in the page buffer write execution register PBQ indicating where the partition where the page buffer write is actually executed is. Further, the contents of the page buffer write execution register PBQ are stored in the command input register REG.
[0093]
  In the case of page buffer writing, the contents of the page buffer 23 can be written to two partitions of the memory array 36, so writing to the first partition and writing to the next partition must be controlled by queuing. . The page buffer write register SDADECL is used as an indirect register at that time. In this case, since only the data for one partition is transferred, the contents of the page buffer write register SDADECL and the contents of the page buffer write execution register PBQ match. Based on the contents of the command input register REG and the page buffer write command, the write state machine 29 starts the page buffer write operation for the partition 4.
[0094]
  Then, the operation signal FDREADY “0” is output from the write state machine 29 to the command state machine 26, and the state signal CDPREADY “2FH” is generated and output by the command state machine 26.
[0095]
  As described above, when a suspend command is input to the command state machine 26 and a pause is instructed when a page buffer write operation is being performed on the partition 4, the suspend command is changed to the command state. The page buffer write operation for the partition 4 is interrupted by being sent from the machine 26 to the write state machine 29.
[0096]
  Then, as shown in FIG. 19, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “1”. Then, the state signal CDPREADY “3FH” is generated and output by the command state machine 26. At that time, the command state machine 26 holds the contents (partition information currently being written) stored in the command input register REG and the page buffer write execution register PBQ as they are.
[0097]
  Further, when a resume command is input to the command state machine 26 to instruct the release of the page buffer write suspend and the restart of the page buffer write operation, the contents of the page buffer write execution register PBQ are as shown in FIG. Stored in the command input register REG. Then, the resume command is sent from the command state machine 26 to the write state machine 29, and the page buffer write operation for the partition 4 is resumed by the write state machine 29.
[0098]
  Then, the operation signal FDREADY from the write state machine 29 to the command state machine 26 is switched to “0”. Then, as in the case of FIG. 18, the command state machine 26 generates and outputs a state signal CDPREADY of “2FH”.
[0099]
  Thus, data once stored in one partition of the page buffer 23 is written to the partition 4 of the memory array 36.
[0100]
  Next, a page buffer write operation when using two partitions, the partition (0) and the partition (1) of the page buffer 23, will be described. FIG. 21 and FIG. 22 are diagrams showing the transition of the contents of each register and signal when page buffer writing is performed in succession on partition 0 and partition 5 of memory array 36.
[0101]
  First, data to be written to the partition 0 of the memory array 36 is transferred from the input buffer 21 to the partition (0) of the page buffer 23. During this time, as shown in FIG. 21, the command state machine 26 sends the 6-bit partition decode signal SDADEC “000001” from the partition decoder 22 to the page buffer write register SDADECL in accordance with the page buffer write command from the input buffer 21. Is stored. Subsequently, data to be written to the partition 5 of the memory array 36 is transferred to the partition (1) of the page buffer 23. During this period, “100000” representing the partition 5 to which data is next written is queued in the page buffer write register SDADECL. Thus, when the page buffer write to the partition 0 is completed, “100000” is loaded into the page buffer write register SDADECL.
[0102]
  Next, as shown in FIG. 21, the contents of the page buffer write register SDADECL are stored in the page buffer write execution register PBQ. Further, the contents of the page buffer write execution register PBQ are stored in the command input register REG. Then, the page buffer write operation for the first partition 0 is started by the write state machine 29 based on the contents of the command input register REG and the page buffer write command.
[0103]
  Then, the operation signal FDREADY “0” is output from the write state machine 29 to the command state machine 26, and the command state machine 26 outputs the current page based on the logical operation result of the operation signal FDREADY and the command input register REG. A status signal CDPREADY “111110” representing the partition 0 in which the buffer write command is executed is generated and output.
[0104]
  Here, when a suspend command is input to the command state machine 26 and a pause is instructed, the page buffer write operation for the partition 0 is interrupted by the write state machine 29 in the same manner as in FIG. The operation signal FDREADY from the machine 29 is switched to “1”, and a state signal CDPREADY of “3FH” is output from the command state machine 26. The command state machine 26 holds the contents of the command input register REG and the page buffer write execution register PBQ.
[0105]
  Further, when the resume command is input to the command state machine 26 and the restart of the page buffer write operation is instructed, the contents of the page buffer write execution register PBQ are stored in the command input register REG as in the case of FIG. The page buffer write operation for the partition 0 is resumed, the operation signal FDREADY from the write state machine 29 is switched to “0”, and the state signal CDPREADY of “2FH” is output from the command state machine 26.
[0106]
  Thus, when the page buffer writing of 16 words of data from the partition (0) of the page buffer 23 to the partition 0 of the memory array 36 is completed, the page buffer write register SDADECL of the command state machine 26 as shown in FIG. Is immediately loaded with “100000” representing the partition 5 in which the next page buffer write is executed by the queuing control. Further, it is stored in the page buffer write execution register PBQ and stored in the command input register REG. Then, the page buffer write operation for the next partition 5 is started by the write state machine 29 based on the contents of the command input register REG.
[0107]
  Then, the operation signal FDREADY “0” is output from the write state machine 29 to the command state machine 26, and the command state machine 26 outputs the current page based on the logical operation result of the operation signal FDREADY and the command input register REG. A status signal CDPREADY “011111” representing the partition 5 in which the buffer write command is executed is generated and output.
[0108]
  Also in this case, when a suspend command is input to the command state machine 26 and a pause is instructed, or when a resume command is input and a page buffer write is executed again, FIG. 19 or FIG. As in the case, the page buffer write suspend or the page buffer write resume is executed.
[0109]
  As described above, in the present embodiment, in the command state machine 26, the page buffer write register SDADECL, the command input register REG, the erase suspend register ESP, and the page for holding the information of the partition that has reached each state. A buffer write execution register PBQ is provided. Then, the command state machine 26 updates the contents of each register according to the command based on the partition decode signal SDADEC from the partition decoder 22. Then, a state signal CDPREADY indicating the operation state for each partition is generated from the logical operation result of the operation signal FDREADY (0: in operation) indicating whether or not the write state machine 29 is operating and the command input register REG. Like to do.
[0110]
  Therefore, even in the case of the present embodiment, in the execution of each command, it is possible to always store the partition to be operated when the write state machine 29 is operating, and the write state machine 29 is operating. This makes it possible to execute multiple commands such as suspending, resuming, etc.
[0111]
  In the command input register REG, a partition other than the partition (for example, “1” is stored) in which the command state machine 26 is an object of operation (for example, partitions 1 to 5 in FIG. 12). Indicates an idle partition. Although not described in the above description, when reading is performed by the dual work, it is necessary to provide a register that holds information on the idle partition and the partition accessed from the outside.
[0112]
  Next, in the present embodiment, a case where the partition layout of the memory array 36 is changed by the cut-down will be described.
[0113]
  Also in this case, it is assumed that the cut-down is performed as shown in FIG. 8 in order to efficiently reduce the layout area and suppress the chip cost as much as possible. In this case, since the partition 3 is deleted, the number of partitions decreases from “6” to “5”.
[0114]
  However, also in the case of the present embodiment, the partition decoder 22 is arranged in front of the command state machine 26 so that the partition decode signal SDADEC is input to the command state machine 26. Therefore, on the command state machine 26 side, it is possible to respond by simply invalidating the bit corresponding to the deleted partition in the input partition decode signal SDADEC.
[0115]
  That is, in FIG. 8, when the partition that was originally partition 3 is deleted, the selectable partitions are partition 0 to partition 2, partition 4, and partition 5. Therefore, the partition decode signal SDADEC corresponding to partition 3 in the partition decode signal SDADEC, which is a 6-bit signal, is simply fixed at the GND level, and the partition state of partition 3 can be changed without changing the circuit configuration of command state machine 26. Deletion can be realized.
[0116]
  In the case of the conventional flash memory shown in FIG. 25, since the partition address is decoded in the command state machine 2, when a cut-down as shown in FIG. It is necessary to redesign from the beginning. Furthermore, as shown in FIG. 8, when the block capacity as the minimum erase unit is unequal and the number of blocks allocated to each partition is also unequal, the partition address decoding method is It is clear that the change will change greatly. Therefore, when the partition address is decoded within the command state machine 2 as in the prior art and when it is performed outside the command state machine 26 as in the present embodiment, the former is more suitable for model development or cut-down. This greatly affects the design period.
[0117]
  FIG. 24 shows a rough design flowchart of the conventional command state machine 2. This design flowchart adds a case where the decoding of the partition address is changed in accordance with the cut-down to the basic normal design flow.
[0118]
  In FIG. 24, when the design of the command state machine 2 starts, the specification design of the command state machine 2 is performed in step S11. When the specification design is completed, circuit verification is performed in step S12. In step S13, it is determined whether or not the result of the circuit verification is good. If good, the process proceeds to step S14. If not, the process returns to step S11 and further specification design is performed. In step S14, it is determined whether or not circuit correction is necessary with the cut-down. As a result, if circuit correction is not necessary, the process proceeds to step S15. On the other hand, if circuit correction is necessary, the process returns to step S11 to perform specification design accompanying the cut-down. In step S15, after the circuit layout is performed based on the specification design in which the circuit verification result is determined to be good, the design of the command state machine 2 is finished.
[0119]
  As described above, in the design flow in the conventional command state machine 2, when the necessity of cut-down occurs, as shown by the arrow B, the specification design accompanying the cut-down is performed again until the result of circuit verification becomes good. Repeatedly, the design period is significantly increased.
[0120]
  On the other hand, in the case of the command state machine 26 in the first embodiment and the present embodiment, it is not necessary to redesign even if the need for cut-down occurs, and the partition decode signal at the stage of circuit layout. It is only necessary to electrically connect the line corresponding to the deleted partition in the main bus to GND. Therefore, as shown in FIG. 23, the design flowchart of the command state machine 26 is the same as that obtained by deleting step S14 in the design flowchart of the conventional command state machine 2 shown in FIG.
[0121]
  That is, according to the command state machine 26 in each of the above-described embodiments, the design flow of the command state machine 26 can be made the same as the basic normal design flow from the past, and the design period is clearly increased. It can be shortened.
[0122]
  The most important thing in designing a command state machine is verification of state transition, and the amount of work is proportional to the number of registers storing states. Therefore, in order to reduce verification items and shorten the design period, it is important to keep the number of registers storing each state of the flash memory to a minimum. Therefore, it is effective to provide a register having bits corresponding to the number of partitions only for the mode in which the state should be stored in each operation mode.
[0123]
  Assuming that only writing is performed, in the configuration of the conventional flash memory shown in FIG. 25, when the state is stored for each partition as shown in FIG. 6, the man-hour for verifying the state of each register is as follows. In the flash memory having 18 kinds of commands shown in Table 2,
                                Table 2
Figure 0004102661
  Number of partitions (6) x number of states to be verified (8) x number of commands (3)
                                                          = 144 ways
It becomes.
[0124]
  On the other hand, as in each of the above embodiments, when storing the state of all partitions in one,
  Number of states to be verified (8) x number of commands (3) = 24 ways
In addition, verification man-hours can be reduced.
[0125]
  The above “state to be verified” means that in the execution of the write command,
(1) The partition where the command is input is
    a. Write command setup status (write command input status)
    b. Write data setup status (data to be written is input)
    c. Interrupting writing
    d. Resuming writing
(2) The status of the partition other than the partition where the command is input is
    e. Write command setup status (write command input status)
    f. Write data setup status (data to be written is input)
    g. Interrupting writing
    h. Resuming writing
There are eight states.
[0126]
  Further, since the state to be verified related to the execution of multiple commands such as erasure, page buffer write, and read is added, the difference in verification man-hours between the conventional flash memory and the flash memory in each of the above embodiments is obvious. I know that
[0127]
  As described above, in each of the above embodiments, the partition decoder 22 is provided between the input buffer 21 and the command state machine 26 so that the partition decoder 22 has a partition address decoding function. As a result, the command state machine 26 can know which partition should be the operation target without decoding the partition address signal. Therefore, at the time of cut-down, on the command state machine 26 side, the bit line level corresponding to the deleted partition in the partition decode signal line having the bit width of the number of partitions from the partition decoder 22 is fixed to the GND level and invalidated. Just do it.
[0128]
  That is, when designing the command state machine 26, even in the case of the memory cell array 36 composed of partitions having non-uniform memory capacities and non-uniform block numbers, it is possible to cut down only by the circuit layout. Can be dealt with, and redesigns and modifications can be made unnecessary. That is, model development by cut-down can be performed easily and in a short time according to the existing flash memory design procedure.
[0129]
  In addition, the state of each device in each operation mode is stored in one, not for each partition. Therefore, the number of state storage registers, that is, verification items can be reduced as compared with the case where the state is stored for each partition. As a result, it is possible to reduce the amount of work related to the verification of the state transition at the time of designing the command state machine 26 and further shorten the design period.
[0130]
  It should be noted that the present invention is not limited to the contents described in the above embodiments, and may be modified as appropriate without departing from the scope of the claims.
[0131]
【The invention's effect】
  As is clear from the above, the nonvolatile semiconductor memory device of the present invention has the partition decoder for decoding the partition address signal from the outside arranged in the preceding stage of the command state machine. It is possible to know which partition should be the operation target without decoding the. Therefore, when the memory array is composed of multiple partitions composed of multiple blocks with unequal storage capacity and number, when the partition configuration is changed by changing the address (for example, partition reduction) However, there is no need to change the design of the command state machine.
[0132]
  This eliminates the need for redesign and modification associated with the cut-down of the command state machine, and makes it possible to easily and quickly develop models by cut-down flash memory having a complicated partition configuration in accordance with existing design procedures. it can.
[0133]
  In addition, the status of the target partition, the target partition, the erase-suspended partition, the partition that is actually operating during page buffer write processing, and the partition that should be operated next during page buffer write processing Since the data is stored in one output register, the storage capacity of the output register can be reduced as compared with the case where a register for storing the state of the partition is provided for each partition. Therefore, the time required for verification at the time of designing the command state machine is reduced, and the design time can be further reduced.
[0134]
  In addition, if the command state machine reduces the partition when the storage capacity for the memory array is cut down, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated. Therefore, even if there is a partition reduction for the memory array, the command state machine can write to the undeleted partition without changing the design. , Operations such as reading and erasing can be controlled.
[0135]
  Also, the nonvolatile semiconductor memory device of the present inventionIs,Since the partition decoder that decodes the partition address signal from the outside is arranged in front of the command state machine, which partition should be targeted for operation without decoding the partition address signal? Can know. Therefore, when the memory array is composed of multiple partitions composed of multiple blocks with uneven storage capacity and number, the partition configuration is changed by changing the address. ( For example, partition reduction ) Even when the above is performed, there is no need to change the design of the command state machine.
[0136]
  Therefore, the redesign and correction associated with the cut-down for the command state machine are not required, and the flash memory having a complicated partition configuration is not required.Model development by cut-downAccording to existing design proceduresIt can be carried out easily and in a short time.
[0137]
  Further, the command state machine performs first information representing a target partition for page buffer writing based on the input partition decode signal. , Second information indicating the partition where the command is entered , Since the third information representing the erase suspend target partition and the fourth information representing the partition in which the command is actually executed at the time of executing the page buffer write command are generated and stored in the respective registers, the state of the partition As compared with the case of storing in a register provided for each partition, the storage capacity of the register can be reduced. Therefore, the time required for verification at the time of designing the command state machine is reduced, and the design time can be further reduced.
[0138]
  In addition, if the command state machine reduces the partition when the storage capacity for the memory array is cut down, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated. Therefore, even if there is a partition reduction for the memory array, the command state machine can write to the undeleted partition without changing the design. , Operations such as reading and erasing can be controlled.
[Brief description of the drawings]
FIG. 1 is a block diagram of a flash memory as an example of a nonvolatile semiconductor memory device according to the present invention.
FIG. 2 is a block layout diagram of the memory array in FIG. 1;
FIG. 3 is a diagram illustrating a relationship between setup and hold time at a latch timing of a partition decode signal.
4 is a diagram showing a specific configuration of a delay circuit in FIG. 1. FIG.
FIG. 5 is a diagram illustrating a configuration of an output register in FIG. 1;
FIG. 6 is a diagram showing a configuration of a status register in a conventional flash memory.
7 is a diagram showing an address map of the memory array shown in FIG. 2; FIG.
FIG. 8 is an explanatory diagram of a cut-down method for the memory array shown in FIG. 2;
FIG. 9 is an explanatory diagram of a cut-down method different from FIG.
10 is an explanatory diagram of a cut-down method different from those in FIGS. 8 and 9. FIG.
FIG. 11 is an explanatory diagram of a cut-down method different from those shown in FIGS.
FIG. 12 is a diagram showing the contents of each register and signal when erasing partition 0;
FIG. 13 is a diagram showing the contents of each register and signal when performing erase suspend on partition 0;
FIG. 14 is a diagram illustrating the contents of each register and signal when performing erase resume for partition 0;
FIG. 15 is a diagram showing the contents of each register and signal when writing to partition 2;
FIG. 16 is a diagram showing the contents of each register and signal when write suspend is performed on partition 2;
FIG. 17 is a diagram showing the contents of each register and signal when write resume is performed for partition 2;
FIG. 18 is a diagram illustrating the contents of each register and signal when page buffer writing is performed on a partition 4;
FIG. 19 is a diagram showing the contents of registers and signals when page buffer write suspend is performed for partition 4;
FIG. 20 is a diagram illustrating the contents of each register and signal when page buffer write resume is performed on partition 4;
FIG. 21 is a diagram showing the contents of registers and signals when page buffer writing is performed on partition 0;
FIG. 22 is a diagram showing the contents of each register and signal when page buffer writing is performed on partition 5 following FIG. 21;
FIG. 23 is a schematic design flowchart of the command state machine in FIG. 1;
FIG. 24 is a schematic design flowchart of a conventional command state machine.
FIG. 25 is a block diagram of a conventional flash memory.
FIG. 26 is a memory map of a memory array having a uniform block configuration.
FIG. 27 is a memory map of a memory array having an unequal block configuration.
[Explanation of symbols]
21 ... Input buffer,
22 ... partition decoder,
23: Page buffer,
24: Data register,
25 ... delay circuit,
26 ... Command state machine,
27 ... delay circuit unit,
28 ... Connection switching option circuit unit,
29 ... Light state machine,
30: Write / erase voltage switching unit,
31 ... Output register,
32,34 ... MUX,
33. Verify circuit,
35 ... Decoder,
36 ... Memory array,
37 ... Output buffer,
41 ... status register,
42 ... partition status register,
43: Operation mode status register.

Claims (5)

電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えた不揮発性半導体記憶装置において、
上記メモリアレイに対する動作を制御するコマンドステートマシンと、
上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて、この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に、この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダと、
動作の対象となるパーティションの状態を記憶する状態レジスタと、動作の対象となるパーティションを記憶するパーティション状態レジスタと、消去サスペンドが掛かったパーティションを記憶する消去サスペンドレジスタと、ページバッファ書込み処理時に実際に動作しているパーティションを記憶するページバッファ書込レジスタと、ページバッファ書込み処理時に次に動作すべきパーティションを記憶するパーティションキューイングレジスタとを含む1つの出力レジスタと、
を備え、
上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっており、
上記コマンドステートマシンは、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようになっている
ことを特徴とする不揮発性半導体記憶装置。
The nonvolatile memory cell has an electrically rewritable nonvolatile memory cell, and the nonvolatile memory cell is erased by a block unit formed by a plurality of nonvolatile memory cells. In a nonvolatile semiconductor memory device including a memory array including a plurality of partitions,
A command state machine that controls operations on the memory array;
A partition address signal indicating the address of the partition subject to the operation on the memory array is input from the outside, and the partition address signal generated by decoding the input partition address signal is generated. A partition decoder that outputs a decode signal to the command state machine ;
The status register that stores the status of the target partition, the partition status register that stores the target partition, the erase suspend register that stores the erase-suspended partition, and the page buffer write process One output register including a page buffer write register for storing the operating partition and a partition queuing register for storing the next partition to be operated during the page buffer write process;
Bei to give a,
In each partition of the memory array, at least one of the storage capacity and the number of blocks constituting it is unequal ,
The command state machine invalidates the signal corresponding to the partition to be reduced in the input partition decode signal when the partition is reduced at the time of the storage capacity cut-down for the memory array. it has become as a nonvolatile semiconductor memory device according to claim.
電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えた不揮発性半導体記憶装置において、
上記メモリアレイに対する動作を制御するコマンドステートマシンと、
上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて、この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に、この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダ
を備え、
上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっており、
上記コマンドステートマシンは、
上記入力されたパーティションデコード信号に基づいて、ページバッファ書込みの対象パーティションを表す第1情報 , コマンドが投入されるパーティションを表す第2情報 , イレースサスペンドの対象パーティションを表す第3情報およびページバッファ書込みコマンド実行時に実際にコマンドが実行されているパーティションを表す第4情報を生成し、
生成された上記第1情報が格納されると共にキューイング機能を有するページバッファ書込みレジスタと、上記第2情報が格納されるコマンド投入レジスタと、上記第3情報が格納されるイレースサスペンドレジスタと、上記第4情報が格納されページバッファ書込み実行レジスタとを含み、
上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された 場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にする
ようになっている
ことを特徴とする不揮発性半導体記憶装置。
The nonvolatile memory cell has an electrically rewritable nonvolatile memory cell, and the nonvolatile memory cell is erased in units of a block formed by a collection of a plurality of nonvolatile memory cells. In a nonvolatile semiconductor memory device including a memory array including a plurality of partitions ,
A command state machine that controls operations on the memory array;
A partition address signal indicating the address of the partition subject to the operation on the memory array is input from the outside, and the partition address signal generated by decoding the input partition address signal is generated. Partition decoder that outputs decode signal to the command state machine
With
In each partition of the memory array, at least one of the storage capacity and the number of blocks constituting it is unequal,
The command state machine
Based on the input partition decode signal, the first information indicating the page buffer write target partition, the second information indicating the partition to which the command is input, the third information indicating the erase suspend target partition, and the page buffer write command Generate fourth information representing the partition where the command is actually executed at the time of execution,
A page buffer write register that stores the generated first information and has a queuing function; a command input register that stores the second information; an erase suspend register that stores the third information; Fourth information is stored and includes a page buffer write execution register,
When a partition is reduced at the time of storage capacity cut-down for the memory array, the signal corresponding to the partition to be reduced in the input partition decode signal is invalidated . A non-volatile semiconductor memory device.
請求項1あるいは請求項2に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、上記メモリアレイにおける各パーティションに対する少なくとも書込み , 読み出しおよび消去の動作を制御するようになっている
ことを特徴とする不揮発性半導体記憶装置。
The nonvolatile semiconductor memory device according to claim 1 or 2 ,
The nonvolatile semiconductor memory device, wherein the command state machine controls at least write , read and erase operations for each partition in the memory array .
請求項1あるいは請求項2に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、上記入力されるパーティションデコード信号をラッチするラッチ回路を有しており、
外部から入力される上記パーティションアドレス信号に対して、上記ラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間を与えるための遅延回路を備えた
ことを特徴とする不揮発性半導体記憶装置。
The nonvolatile semiconductor memory device according to claim 1 or 2 ,
The command state machine has a latch circuit that latches the input partition decode signal.
A non-volatile semiconductor memory device comprising a delay circuit for giving a setup time and a hold time necessary for correctly latching the partition address signal inputted from outside to the latch circuit .
請求項1あるいは請求項2に記載の不揮発性半導体記憶装置において、
記パーティションデコード信号は、上記メモリアレイを構成する各パーティションに対応してパーティション数と同じ数のビットを有する信号であり、
上記コマンドステートマシンによる上記削減の対象となるパーティションに該当する信号の無効化は、上記パーティションデコード信号のうち上記削減の対象となるパーティションに対応するビット信号のレベルを接地レベルに固定することによって行う
ことを特徴とする不揮発性半導体記憶装置。
The nonvolatile semiconductor memory device according to claim 1 or 2 ,
Upper Kipa over tee Deployment decode signal is a signal having the same number of bits as the number of partitions corresponding to each partition constituting the memory array,
The signal corresponding to the partition to be reduced by the command state machine is invalidated by fixing the level of the bit signal corresponding to the partition to be reduced among the partition decoded signals to the ground level. A non-volatile semiconductor memory device characterized by the above.
JP2002368131A 2002-12-19 2002-12-19 Nonvolatile semiconductor memory device Expired - Fee Related JP4102661B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002368131A JP4102661B2 (en) 2002-12-19 2002-12-19 Nonvolatile semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002368131A JP4102661B2 (en) 2002-12-19 2002-12-19 Nonvolatile semiconductor memory device

Publications (2)

Publication Number Publication Date
JP2004199807A JP2004199807A (en) 2004-07-15
JP4102661B2 true JP4102661B2 (en) 2008-06-18

Family

ID=32764796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002368131A Expired - Fee Related JP4102661B2 (en) 2002-12-19 2002-12-19 Nonvolatile semiconductor memory device

Country Status (1)

Country Link
JP (1) JP4102661B2 (en)

Also Published As

Publication number Publication date
JP2004199807A (en) 2004-07-15

Similar Documents

Publication Publication Date Title
JP5002201B2 (en) Memory system
US5422856A (en) Non-volatile memory programming at arbitrary timing based on current requirements
US7800971B2 (en) Flash memory devices and methods of programming the same by overlapping programming operations for multiple mats
JP4171749B2 (en) Memory controller and flash memory system
KR100882740B1 (en) Method and storage device of mapping a nonvolatile memory based on map history
US20020024088A1 (en) Non-volatile semiconductor memory device
US20080059693A1 (en) Method for improving lifespan of flash memory
JP4254932B2 (en) Memory controller and flash memory system
KR100837273B1 (en) Flash memory device
JP4661191B2 (en) Memory controller, flash memory system, and flash memory control method
JP4102661B2 (en) Nonvolatile semiconductor memory device
JP4177292B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM, AND FLASH MEMORY CONTROL METHOD
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JP3934659B1 (en) Memory controller and flash memory system
JP4670370B2 (en) Memory controller and flash memory system
JPH08314775A (en) File memory device
JP4177301B2 (en) Memory controller, flash memory system, and flash memory control method
JP4235595B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2005293177A (en) Memory controller and flash memory system
JP4254930B2 (en) Memory controller, flash memory system, and flash memory control method
JP4127560B2 (en) Nonvolatile memory device
JP2004273117A (en) Semiconductor device mounting composite flash memory thereon, and portable device
JP4251950B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2006099594A (en) Memory controller, flash memory system, and control method for flash memory
JP4245594B2 (en) Memory controller and flash memory system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080324

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110328

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120328

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130328

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees