(57)【要約】【課題】複雑なパーティション構成を有するメモリアレイのカットダウンによる機種展開を容易に且つ短時間に行う。【解決手段】パーティションデコーダ２２は、パーティション・アドレスをデコードしてコマンドステートマシン２６に送出する。また、出力レジスタ３１には、ディバイスの各状態を１つにまとめて格納する。その結果、カットダウン時に、コマンドステートマシン２６側では、パーティションデコード信号の削除パーティションに対応するビットを無効にするだけでよい。したがって、メモリ容量と数とが均等ではないブロックで成るパーティションで構成されたメモリセルアレイ３６の場合でもコマンドステートマシン２６の再設計や修正が不用になり、且つ、状態遷移の検証に要する作業量が減り、カットダウンによる機種展開を容易に且つ短時間に行うことができる。【選択図】  図１
2004199807.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えた不揮発性半導体記憶装置において、
上記メモリアレイに対する動作を制御するコマンドステートマシンと、
上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて、この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に、この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダ
を備えると共に、
上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっている
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
請求項１に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、上記メモリアレイにおける各パーティションに対する少なくとも書込み,読み出しおよび消去の動作を制御するようになっている
ことを特徴とする不揮発性半導体記憶装置。
【請求項３】
請求項１に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、上記入力されるパーティションデコード信号をラッチするラッチ回路を有しており、
外部から入力される上記パーティションアドレス信号に対して、上記ラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間を与えるための遅延回路を備えた
ことを特徴とする不揮発性半導体記憶装置。
【請求項４】
請求項１に記載の不揮発性半導体記憶装置において、
上記動作の対象となっているパーティションの状態と上記動作の対象となるパーティションとを含む情報を１つにまとめて記憶するレジスタを備えたことを特徴とする不揮発性半導体記憶装置。
【請求項５】
請求項１に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、
上記入力されたパーティションデコード信号に基づいて、動作中のパーティション,サスペンド中のパーティション,アイドル中のパーティションおよび読み出し中のパーティションを表す情報を生成するようになっていると共に、
上記生成された各情報が書き込まれるレジスタを備えている
ことを特徴とする不揮発性半導体記憶装置。
【請求項６】
請求項１に記載の不揮発性半導体記憶装置において、
上記コマンドステートマシンは、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようになっていることを特徴とする不揮発性半導体記憶装置。
【請求項７】
請求項６に記載の不揮発性半導体記憶装置において、
上記パーティションデコード信号は、上記メモリアレイを構成する各パーティションに対応してパーティション数と同じ数のビットを有する信号であり、
上記コマンドステートマシンによる上記削減の対象となるパーティションに該当する信号の無効化は、上記パーティションデコード信号のうち上記削減の対象となるパーティションに対応するビット信号のレベルを接地レベルに固定することによって行うことを特徴とする不揮発性半導体記憶装置。
【請求項８】
フローテイングゲートとコントロールゲートとを含んで電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルが複数集合して構成されて消去単位と成るブロックを有し、記憶容量および数のうちの少なくとも何れか一方が不均等の複数のブロックで構成されたパーティションを複数有するメモリアレイを備えた不揮発性半導体記憶装置の設計方法であって、
外部から入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成するパーティションデコーダを、上記メモリアレイにおける各パーティションに対する少なくとも書込み,読み出しおよび消去の動作を制御するコマンドステートマシンの外部に配置すると共に、
上記メモリアレイを構成する不揮発性メモリセルを、上記ブロック単位および上記パーティション単位の少なくとも何れか一方で削除し、
既存のフラッシュメモリ設計手順に従って、新たなフラッシュメモリを設計することを特徴とする不揮発性半導体記憶装置の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、読み出し,書込み,消去可能な不揮発性半導体記憶装置およびその設計方法に関する。
【０００２】
【従来の技術】
書込みや消去中に読み出しが可能な所謂「デュワルワーク」機能(一般的には、ＲＷＷ(Read While Write)機能と称される)を有するフラッシュメモリの開発が近年盛んに行われている。このフラッシュメモリには、ブロックを最小単位として消去が行われるために、複数のブロックで構成されたパーティション単位でメモリアレイを分割する技術が採用されている。尚、上記パーティション内のブロック数は均等になっている。上記「デュワルワーク」は、複数存在するパーティションにおいて異なる２つのパーティション間で行われるため、フラッシュメモリには、各パーティションの状態を記憶しておくレジスタや読み出しに必要なデコーダやセンスアンプが配置されている(例えば、特許文献１参照)。
【０００３】
上記フラッシュメモリの構成を図２５に示す。図２５において、外部からの信号が入力される入力バッファ１は、メモリアレイ１２におけるパーティションのアドレスや動作対象のコマンドであるデータを受けて、内部にバッファリングする。コマンドステートマシン２は、入力バッファ１からのアドレスおよびデータ(コマンド)を受けて、対象コマンドをデコードしてコマンドに対応した状態に遷移させる。そうすると、ライトステートマシン３は、上記状態遷移を受けて、書込みや消去に必要な動作シーケンスを開始する。そして、書込消去電圧切り替え部４によって、書込みや消去に必要な電圧が発生されてメモリアレイ１２に供給される。
【０００４】
また、上記書込みの場合には、上記コマンドステートマシン２の制御に基づいて、書き込まれるデータとそのアドレスとが、上記入力バッファ１から読み出されてデータレジスタ１０に記憶される。そして、ＭＵＸ(マルチプレクサ)７によって、データレジスタ１０から読み出されたデータが、読み出されたアドレスに従ってメモリアレイ１２へ書き込まれる。さらに、その後に実際にメモリアレイ１２に書き込まれたデータに対するベリファイを行うために、ベリファイ回路８によって、ＭＵＸ７からのデータとメモリアレイ１２に書き込まれたデータとが比較される。
【０００５】
上記動作において、ＸデコーダおよびＹデコーダを有するデコーダ１１によって、メモリアレイ１２における書き込まれるべきフラッシュセルのメモリアレイ１２上の座標が入力バッファ１から読み出されてデコードされる。また、コマンドステートマシン２によって遷移された状態は、各パーティション毎に設けられた複数のレジスタから成る状態レジスタ６に格納される。そして、コマンドステートマシン２の状態から、一連の書込み動作が正しく行われたか否かや、コマンドステートマシン２の状態が正しいか否かが判定される場合には、状態レジスタ６から状態が読み出されてＭＵＸ９を介して出力バッファ１３から外部出力される。
【０００６】
尚、上記消去動作およびページバッファ書込み動作の際にも、上述した書込み動作の場合と同様に制御が行われることになる。ここで、上記「ページバッファ書込み」とは、書き込むデータをページバッファ５に一旦記憶させてから、連続的にメモリアレイ１２に対して書込み転送を行う動作のことである。
【０００７】
図２６に、上記メモリアレイ１２全体の構成例をメモリマップによって示す。メモリアレイ１２は、最下位アドレスから最上位アドレスに向って均等サイズのＸ個のブロックに分割され、デュワルワークの単位となるパーティションがＹ個設けられている。この例の場合には、ブロックサイズもパーティションを構成するブロック数も均等であるために各ブロックは規則的に配置されることになり、チップサイズ的にも回路構成的にも有効なアドレスマップとなる。
【０００８】
さらに、容量が均等なブロックを複数個有するパーティションには、そのパーティションの状態(消去実行中,消去中断中(サスペンド),書込み実行中および書込み中断(サスペンド)等)を記憶しておくためのレジスタをコマンドステートマシン２内に有しており、外部から選択されたパーティションの状態をコマンドステートマシン２を介して外部に出力できるような設計を取っている。また、各パーティション内のブロック数が均等であるために、メモリ容量のカットダウンによる機種展開に際してもコマンドステートマシン２の再設計を必要とせず、容易に展開が可能である。
【０００９】
また、上記フラッシュメモリのステータス情報(デバイスの状態)をパーティション毎に持たせる(つまり、各パーティション毎のレジスタにパーティション別に状態を記憶しておく)のではなく、上記ステータス情報を各パーティションに共通して持つ半導体記憶装置もある。
【００１０】
【特許文献１】
特表２００２‐５０１２７６号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、上記従来のステータス情報を各パーティションに共通して持つ半導体記憶装置においては、各パーティション内の各ブロックの容量が均等な半導体記憶装置の場合には特に問題はないのであるが、各ブロックのメモリ容量が不均等であり、各パーティションの容量も異なる半導体記憶装置においては、メモリ容量の変更に際しては上記コマンドステートマシンの設計が異なるため、以下のような種々の問題が発生することになる。
【００１２】
すなわち、上述のような半導体記憶装置の開発においては、メモリ容量の増大に伴うパーティションの増加あるいはパーティション内のブロック数の増加に際して、各パーティション内のブロックのアドレスを制御するデコーダ(ＸデコーダおよびＹデコーダ)および各パーティション毎に配置されるセンスアンプが必要となり、レイアウト面積が大きくなる。
【００１３】
また、各パーティションが独立して動作するため、回路設計やその検証を行う為の評価パターンが非常に多く存在することになり、設計内容によっては大きなリソースが必要になったり、設計期間が長くなったりするという弊害が生ずる。
【００１４】
また、図２７に示すような不均等なブロック構成からなるメモリアレイのように、各パーティション毎のブロック数が異なったり、パーティションに配置される各ブロックのメモリ容量が異なる場合には、各パーティションのアドレスデコードも複雑化し、各ブロックの状態遷移を統括するコマンドステートマシン２内において各パーティションのアドレスのデコードまでも行う場合には、カットダウンによるパーティション数の減少が発生するとその度にコマンドステートマシン２の再設計を行う必要が生じる。
【００１５】
表１に、メモリ容量のカットダウンを実現するためのパーティション分割例を示す。ここではパーティション分割を６つに限定しているが、パーティションの分割数はこの例に限らない。
表１
2004199807.tif 000003
【００１６】
先ず、上記メモリアレイ１２の総容量が１２８Ｍビットであるとすると、そのカットダウン方法としては、総容量を６４Ｍビットあるいは３２Ｍビットとすることが考えられる。また、それ以下に小さくカットダウンする場合には、１２８Ｍビットからのカットダウンでなく３２Ｍビットからカットダウンを行い、総容量を１６Ｍビットあるいは８Ｍビットとするのが普通の設計フローである。
【００１７】
ここで、図８に示す様に、総容量が１２８Ｍビットのメモリアレイ(図８(a))を６４Ｍビットのメモリアレイ(図８(b))にカットダウンした場合、線分Ａで示すように、パーティション個数が「６」から「５」に減少し、然も、各パーティションのブロック数が減少している。そのために、パーティション・アドレスのデコードとブロック・アドレスのデコードとの処理方法の再設計が必要になるのは明白である。そして、図２５におけるコマンドステートマシン２において制御されていたパーティション・アドレスのデコード処理を、メモリアレイ１２のブロックレイアウトが図２７に示すような場合にはそのまま適用することができないため、コマンドステートマシン２自体の修正が必要になる。
【００１８】
実際に、ユーザの中には、最小消去単位であるブロックのメモリ容量として、通常は６４ＫＢであるところを８ＫＢや４ＫＢを要求する動向にある。そこで、その要求に応じるため、全てのブロックを８ＫＢや４ＫＢで構成すると、６４ＫＢや１２８ＫＢの大容量メモリアレイを実現しようとすると、各パーティション・アドレスのデコードが複雑化し、レイアウトが非常に大きくなってチップサイズが拡大し、チップコストが上昇してしまう傾向にある。
【００１９】
一方において、これまで通り、６４ＫＢのブロックと８ＫＢや４ＫＢのブロックとを組み合わせて各パーティションを構成すると、各パーティション内のブロック数が均等にならず、パーティション・アドレスのデコードが複雑化する。そうすると、上述したように、パーティションを制御するコマンドステートマシン２の設計の複雑化に繋がってしまうのである。
【００２０】
そこで、この発明の目的は、複雑なパーティション構成を有するメモリアレイのカットダウンによる機種展開を容易に且つ短時間に行うことができる不揮発性半導体記憶装置およびその設計方法を提供することにある。
【００２１】
【課題を解決するための手段】
上記目的を達成するため、この発明の不揮発性半導体記憶装置は、電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルはこの不揮発性メモリセルが複数集合して成るブロック単位で消去されるようになっており、複数の上記ブロックによって構成されたパーティションを複数含むメモリアレイを備えて、上記メモリアレイに対する動作を制御するコマンドステートマシンと、上記メモリアレイ上における上記動作の対象となるパーティションのアドレスを表すパーティションアドレス信号が外部から入力されて,この入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成すると共に,この生成されたパーティションデコード信号を上記コマンドステートマシンに出力するパーティションデコーダを備えると共に、上記メモリアレイの各パーティションは、構成するブロックの記憶容量および数のうちの少なくとも何れか一方が不均等になっている。
【００２２】
上記構成によれば、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置している。その結果、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等なブロックによって構成された複数のパーティションを有するメモリアレイに関して、アドレス変更によるパーティション構成の変更(例えば、パーティションの減少等)があったとしても、上記コマンドステートマシンに対する設計変更の必要がなくなる。
【００２３】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、カットダウンによる機種展開を容易に且つ短時間に行うことが可能になる。
【００２４】
また、１実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンを上記メモリアレイにおける各パーティションに対する少なくとも書込み,読み出しおよび消去の動作を制御するようにしている。
【００２５】
この実施例によれば、上記メモリアレイにおける各パーティションに対する書込み,読み出し及び消去等の動作を制御するコマンドステートマシンに関して、カットダウンに付随した再設計や修正が不用になる。
【００２６】
また、１実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンに、上記入力されるパーティションデコード信号をラッチするラッチ回路を設けると共に、外部から入力される上記パーティションアドレス信号に対して、上記ラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間を与えるための遅延回路を備えている。
【００２７】
この実施例によれば、上記遅延回路によって、外部からの上記パーティションアドレス信号に対して、上記コマンドステートマシンのラッチ回路に正しくラッチされるために必要なセットアップ時間およびホールド時間が与えられる。したがって、外部ラッチタイミング信号に対して上記コマンドステートマシンの内部ラッチタイミング信号が内部遅延分だけ遅れても、上記パーティションアドレス信号は、上記コマンドステートマシンのラッチ回路に正しくラッチされる。その結果、上記パーティションデコーダをコマンドステートマシンの前段に配置することが可能になる。
【００２８】
また、１実施例の不揮発性半導体記憶装置では、上記動作の対象となっているパーティションの状態と上記動作の対象となるパーティションとを含む情報を１つにまとめて記憶するレジスタを備えている。
【００２９】
この実施例によれば、上記各パーティションの状態を記憶しておくレジスタの容量が、各パーティション毎にレジスタを設ける場合に比して削減される。したがって、上記コマンドステートマシンの設計時における検証に要する時間が軽減され、設計時間の更なる短縮が可能になる。
【００３０】
また、１実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンを、上記入力されたパーティションデコード信号に基づいて、動作中のパーティション,サスペンド中のパーティション,アイドル中のパーティションおよび読み出し中のパーティションを表す情報を生成するように成すと共に、上記生成された各情報が書き込まれるレジスタを備えるようにしている。
【００３１】
この実施例によれば、上記動作中のパーティション,サスペンド中のパーティション,アイドル中のパーティションおよび読み出し中のパーティションを表す情報を、各パーティション毎に設けられたレジスタに書き込む場合に比して、レジスタの記憶容量が削減される。したがって、上記コマンドステートマシンの設計時における検証に要する時間が軽減されて、設計時間の更なる短縮が可能になる。
【００３２】
また、１実施例の不揮発性半導体記憶装置では、上記コマンドステートマシンを、上記メモリアレイに対する記憶容量のカットダウンの際にパーティションが削減された場合には、上記入力されたパーティションデコード信号における上記削減の対象となるパーティションに該当する信号を無効にするようにしている。
【００３３】
この実施例によれば、上記コマンドステートマシンは、上記メモリアレイに対するパーティションの削減があったとしても、設計変更することなく、削除されていないパーティションに対する書込み,読み出しおよび消去等の動作を制御することが可能になる。
【００３４】
また、１実施例の不揮発性半導体記憶装置では、上記パーティションデコード信号を、上記メモリアレイを構成する各パーティションに対応してパーティション数と同じ数のビットを有する信号とし、上記コマンドステートマシンによる上記削減の対象となるパーティションに該当する信号の無効化を、上記パーティションデコード信号のうち上記削減の対象となるパーティションに対応するビット信号のレベルを接地レベルに固定することによって行うようにしている。
【００３５】
この実施例によれば、上記削減の対象となるパーティションに該当する信号の無効化が、非常に簡単な方法によって実現される。
【００３６】
また、この発明の不揮発性半導体記憶装置の設計方法は、フローテイングゲートとコントロールゲートとを含んで電気的に書き換えが可能な不揮発性メモリセルを有すると共に、上記不揮発性メモリセルが複数集合して構成されて消去単位と成るブロックを有し、記憶容量および数のうちの少なくとも何れか一方が不均等の複数のブロックで構成されたパーティションを複数有するメモリアレイを備えた不揮発性半導体記憶装置を設計するに際して、外部から入力されたパーティションアドレス信号をデコードしてパーティションデコード信号を生成するパーティションデコーダを,上記メモリアレイにおける各パーティションに対する少なくとも書込み・読み出しおよび消去の動作を制御するコマンドステートマシンの外部に配置すると共に、上記メモリアレイを構成する不揮発性メモリセルを上記ブロック単位及び上記パーティション単位の少なくとも何れか一方で削除し、既存のフラッシュメモリ設計手順に従って新たなフラッシュメモリを設計するようにしている。
【００３７】
上記構成によれば、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの外部に配置しているため、ブロック記憶容量やブロック数が不均等である複数のパーティションを有するメモリアレイに対してカットダウンを行って、上記ブロックあるいはパーティションを削除する場合に、上記コマンドステートマシンを再設計する必要はない。したがって、既存のフラッシュメモリ設計手順に従って、新たなフラッシュメモリを設計することが可能になる。
【００３８】
したがって、上記カットダウンによる機種展開時を容易に且つ短時間に行うことが可能になるのである。
【００３９】
【発明の実施の形態】
以下、この発明を図示の実施の形態により詳細に説明する。フラッシュメモリは、フローテイングゲートとコントロールゲートとを有する特殊なＭＯＳトランジスタ構造であるため、その構造上から、データの書き込み,消去およびベリファイ等において通常のメモリデバイスに比べて特殊な操作が必要であり、それに対応する各種の周辺回路が必要になっている。
【００４０】
すなわち、上記フラッシュメモリにおいては、上記フローテイングゲートに電荷を注入することによって書き込みを行う一方、電荷を取り出すことによって消去を行う。そして、その際に、電荷を直接的に注入・取り出しすることができないため、非常に多くのセルに対してばらつきが無く正しく電荷の注入・取り出しを行うためにはかなりの時間を要する。さらには、例えば消去する場合における過剰消去が問題になる。これは、セル自体の構造のばらつきや、プロセスばらつきや、電荷注入量のばらつき等によって、消去する際に取り出そうとする電荷が目的以上に取り出されてしまい、各セルの閾値が本来は「０」となるべきところがマイナスの値で且つセルによってばらついてしまうことである。
【００４１】
そして、１セル単位で書き込みや消去を行おうとすると、そのための周辺回路やデコーダー回路が非常に複雑になり且つ大面積になってしまい、メモリとしての実用性が失われてしまう。そのために、或る一定の数のセル毎に(ブロック単位で)周辺回路を動作させて、書き込みや消去を行うようにしている。また、そのためのセル数はユーザーの使用目的に応じて様々なバリエーションがあり、次に述べるパーティションとの兼ね合いでも決定される。
【００４２】
すなわち、後に述べるデュアルワーク機能を有効に行うために、上記ブロックが複数集合して成るパーティション単位でメモリアレイを構成する必要がある。そして、各パーティションを幾つのブロックで構成するかも、ユーザーの使用目的に応じて決定される。尚、上記デュアルワークとは、上述した理由から時間を要するデータ処理の高速化を図るために、或るパーティションに対して書き込み/消去が行われている際に、他のパーティションに対してその他の動作を行うことである。さらに、書き込み時の高速化を行うために、書込みデータを一旦ページバッファと言うＲＡＭ(ランダム・アクセス・メモリ)に格納した後に逐次メモリアレイに書き込んで、見かけ上高速書き込みを行うことも行われる。
【００４３】
近年、経済的環境が厳しくなってきており、フラッシュメモリを用いる製品間においてもコスト競争が激しく、その分だけ用いられるフィラッシュメモリのメモリアレイの記憶容量やブロック構成に対する要求も多く且つ厳しくなってきている。
【００４４】
従来のフラッシュメモリの場合には、メモリアレイを構成するブロック数やブロック容量が不均衡な複数のパーティションである場合には、上述した特殊な構造や特殊な操作上の理由から、ユーザーの要望に合わせて各パーティションのブロック構成を変更する場合には、ユーザーの使用目的に応じて、上記メモリアレイにおける各パーティションに対する書込み,読み出しあるいは消去等の動作を制御するコマンドステートマシンを各パーティション毎に再度設計し直す必要が生ずるのである。
【００４５】
本実施の形態においては、このような設計変更時においても、コマンドステートマシンの再設計の必要がなく柔軟に短時間で対応できることを可能にするものである。
【００４６】
・第１実施の形態
図１は、本実施の形態の不揮発性半導体記憶装置の一例としてのフラッシュメモリにおける構成を示すブロック図である。
【００４７】
ライトステートマシン２９,書込消去電圧切り替え部３０,ページバッファ２３,ＭＵＸ３２,ベリファイ回路３３,ＭＵＸ３４,データレジスタ２４,デコーダ３５,メモリアレイ３６および出力バッファ３７は、図２５に示す従来のフラッシュメモリのブロック図におけるライトステートマシン３,書込消去電圧切り替え部４,ページバッファ５,ＭＵＸ７,ベリファイ回路８,ＭＵＸ９,データレジスタ１０,デコーダ１１,メモリアレイ１２および出力バッファ１３と同じである。
【００４８】
図１において、外部からのアドレスやデータが入力される入力バッファ２１の出力端子は、パーティションデコーダ２２,ページバッファ２３,データレジスタ２４,コマンドステートマシン２６およびデコーダ３５の入力端子に接続されている。そして、パーティションデコーダ２２は、入力バッファ２１からのパーティション・アドレスをデコードして、選択されたパーティションの情報を得るのである。尚、図２５に示す従来のフラッシュメモリの場合は、上述したように、上記パーティション・アドレスのデコード機能は、コマンドステートマシン２に設けられている。
【００４９】
上記パーティションデコーダ２２よって得られた選択パーティションを表すパーティションデコード信号は、パーティション数分の数のビットを有するバス信号となって遅延回路２５に出力される。例えば、図２に示すようなブロックレイアウトを有するメモリアレイの場合には、パーティション数が「６」であるから６ビットのバス信号となる。ここで、コマンドステートマシン２６は、上記パーティションデコード信号における各パーティションの選択の有無を示すビットをコマンド(消去や書き込み等)入力の都度ラッチする必要がある。遅延回路２５は、上記ラッチの際における内部ラッチタイミング信号に対するラッチセットアップおよびラッチホールドの十分な動作保証を行うための回路である。
【００５０】
図３に、上記パーティションデコード信号のラッチタイミングにおけるセットアップとホールド時間との関係を示す。外部からのパケット組み立て・分解装置（ＲＡＤ)を介して入力(以下、ＲＡＤ入力と言う)される外部ラッチタイミング信号の立ち下がりでパーティションデコード信号がラッチされるため、上記ＰＡＤ入力があってからラッチ回路が存在するコマンドステートマシン２６に到達するまでの内部遅延分だけ遅れたタイミングが事実上のラッチタイミングとなる。この事実上のラッチタイミングは、図３における内部ラッチタイミング信号で示されている。
【００５１】
さらに、上記入力バッファ２１から入力された外部アドレス信号がパーティションデコーダ２２でデコードされて選択パーティションを表すパーティションデコード信号が得られるまでには、パーティションデコーダ２２の回路を通過する分だけ時間を要し、その結果、図３に示すように、パーティションデコード信号は外部アドレス信号よりも遅れることになる。
【００５２】
上記内部ラッチタイミング信号によって、正しくパーティションデコード信号をラッチするためには、上記パーティションデコード信号に対して十分なセットアップ時間およびホールド時間を持たせる必要がある。そのために、上記パーティションデコード信号を遅延させる必要が生じ、そのための回路が遅延回路２５なのである。尚、遅延回路２５の構成は、図４に示すように、ゲート回路を偶数段接続したものである。
【００５３】
尚、図４において、遅延回路ユニット２７は偶数段に接続されたインバータ回路で構成されたユニットである。そして、遅延回路２５は、所望の遅延時間が得られ、且つ、プロセスばらつきにも十分対応できるような数の遅延回路ユニット２７を接続して、余裕をもって構成されている。さらに、配線層の修正だけで各遅延回路ユニット２７間の接続を切り換えることができる接続切換オプション回路ユニット２８を、各遅延回路ユニット２７の間に配置することによって、遅延段数をオプショナルに切り換えられるようになっている。
【００５４】
上記遅延回路２５によって、パーティションデコード信号が所望の時間分だけ遅延された状態でコマンドステートマシン２６に入力され、コマンドステートマシン２６においてパーティションデコード信号がラッチされることになる。尚、ラッチのタイミングは、入力バッファ２１からのコマンド入力タイミングに同期される。
【００５５】
上記コマンドステートマシン２６は、上記入力バッファ２１から入力されたコマンドをデコードして、上記ラッチしたパーティションデコード信号から得られた選択パーティションを上記コマンドに対応した状態に遷移させる。そして、コマンドステートマシン２６によって遷移された状態は、出力レジスタ３１に格納される。ここで、出力レジスタ３１は、メモリセルアレイ３６における全パーティションの状態が１つにまとめて格納されるようになっている。
【００５６】
次に、複数のパーティションを１つの状態遷移の下で管理する方法について説明する。
【００５７】
従来は、各パーティション毎に独立して状態を持たせるため、図２５における状態レジスタ６内には各パーティション毎のレジスタを用意している。図６にその様子を示す。図６において、メモリアレイ１２におけるパーティション分割数は(Ｘ＋１)であり、夫々に状態を格納するレジスタ６a〜６dが用意されている。そして、各レジスタは８ビット構成を有しており、夫々のレジスタ６a〜６dは何れかのパーティションに割り当てられている。したがって、図２５に示す従来の状態レジスタ６には、８ビット×パーティション数(Ｘ＋１)＝８(Ｘ＋１)ビット分の記憶容量が必要となる。さらに、デュワルワーク制御のためには、ライトステートマシン３が何れのパーティションに占有されているかを示すレジスタも必要になる。そして、デバイスとしての状態をモニターする場合は、状態レジスタ６のうちアクセスされたパーティションに対応するレジスタの内容が出力バッファ１３から外部へ出力されることになる。
【００５８】
これに対して、本実施の形態においては、デバイスの状態を１つの出力レジスタ３１にまとめて記憶するのである。こうすることによって、出力レジスタ３１として必要になるのは、図５に示す様に、選択パーティションの状態を記憶する状態レジスタ(８ビット)４１と、選択パーティションを記憶するパーティション状態レジスタ((Ｘ＋１)ビット)４２と、動作モード状態レジスタ(３×(Ｘ＋１)ビット)４３との３つの内部レジスタのみである。
【００５９】
尚、上記状態レジスタ４１中において、「ＷＳＭＳ」は、ライトステートマシン状態(１:アイドル,０:ラン)である。また、「ＢＥＳＳ」は、ブロック状態サスペンド状態(１:サスペンド中,０:イレース中/正常終了)である。また、「ＢＥＦＥＳ」は、ブロック消去,全消去状態(１:フェイル,０:正常終了)である。また、「ＰＢＰＳ」は、ページバッファ書込み,書込み状態(１:フェイル,０:正常終了)である。また、「ＶＰＰＳ」は、Ｖppレベル状態(１:異常,０:正常)である。また、「ＰＢＰＳＳ」は、ページバッファ書込み,書込みサスペンド状態(１:フェイル,０:正常終了)である。また、「ＤＰＳ」は、ディバイス保護情報(１:保護解除異常終了,０:保護解除正常終了)である。また、「Ｒ」は、予約ビット(ＧＮＤレベル固定)である。
【００６０】
また、上記動作モード状態レジスタ４３は、消去時にサスペンドが掛った場合に何れのパーティションで消去サスペンドが掛ったのかを記憶しておく消去サスペンドレジスタと、ページバッファ書込み処理時において何れのパーティションが動作しているのかを記憶しておくページバッファ書込レジスタと、パーティションキューイングレジスタとで、構成されている。
【００６１】
このように、本実施の形態の上記出力レジスタ３１において、何れのパーティションがコマンドステートマシン２６の動作対象になっているのかを記憶しておくためのレジスタであるパーティション状態レジスタ４２および動作モード状態レジスタ４３は、パーティション数(Ｘ＋１)分およびその３倍分のビットで構成されるが、図６に示すように、各パーティション別のレジスタに対応するパーティションの状態を記憶する状態レジスタ６を設ける場合に比べれば、レジスタの記憶容量を減らすことができ、その分だけ検証(故障検出含む)も軽減されることになる。
【００６２】
上述した以外の動作は、図２５に示す従来のフラッシュメモリの場合と同様である。
【００６３】
つまり、本実施の形態においては、上記入力バッファ２１とコマンドステートマシン２６との間に、パーティションデコーダ２２を挿入することによって、図８や表１に示すように、パーティション構成が削減されるようなカットダウン時においても、コマンドステートマシン２６の再設計あるいは再修正が不要になるのである。以下、詳細に説明する。
【００６４】
先ず、上記カットダウン処理について説明する。本実施の形態において、例えば、パーティションレイアウトが図８(a)に示すレイアウトである際に、図８(b)に示すように、６４Ｍビットにカットダウンする場合にはパーティション３を削除するのである。その場合、パーティションデコーダ２２の出力信号である６ビットのパーティションデコード信号(パーティション数が「６」)の内、パーティション３に割り当てられているビットを無効化することで、コマンドステートマシン２６におけるパーティションの状態遷移を変更する必要がなくなるのである。以下、その理由について詳細に説明する。
【００６５】
本実施の形態におけるメモリアレイ３６は１２８Ｍビットの容量を有し、図２及び図８(a)に示すようなブロックレイアウトを有している。図２において、６つのパーティションがチップレイアウトのロケーション通りに配置されている。そのうち、パーティション０およびパーティション５は、夫々消去最小単位ブロックサイズ８ＫＢのブロックが８個と６４ＫＢのブロックが３１個とで構成されて、１６Ｍビットのメモリ容量を有している。また、パーティション１〜４は、夫々最小消去単位ブロックサイズ６４ＫＢのブロックが４８個で構成されて、２４Ｍビットのメモリ容量を有している。このメモリアレイ３６におけるアドレスマップは、図７に示すように、６４ＫＢのブロックが８ＫＢのブロックに挟まれるような構成を取っており、パーティション・アドレスをデコードするには、アドレス本数は全部で８本必要になる。この場合、メモリアレイ３６は、均等なブロックサイズで構成されており、然も各パーティションにおけるブロック数が揃っているのであれば、アドレス本数は３本で事足りることになる。つまり、図２に示すようなブロックレイアウトを有するメモリアレイ３６の場合には、パーティションデコーダ２２の回路規模が大きくなることを意味している。
【００６６】
表１によれば、１２８Ｍビットから６４Ｍビットにカットダウンする方法としては４種類あり、図８に示すカットダウン方法の他に、図９に示すように、パーティションレイアウトを全く同一にしながら、つまり１つのパーティションを削除することなく行うこともできる。この場合には、パーティション・アドレスのデコードに変更は無いため、コマンドステートマシン２６の再設計は不必要になる。
【００６７】
さらに、１２８Ｍビットから３２Ｍビットにカットダウンする方法として、図１０および図１１に示すような方法の場合には、パーティション数が減少しているため、当然ながらパーティションデコード２２は再設計が必要となる。しかしながら、パーティション・アドレスのデコードを行う必要がないコマンドステートマシン２６側では、事実上使用されるパーティションのみを有効とするだけでよいので、例えば、図１０の場合にはパーティション３〜パーティション５を無効化し、図１１の場合にはパーティション２およびパーティション３を無効化すればよく、コマンドステートマシン２６自体はそのまま使用することが可能なのである。
【００６８】
尚、上記コマンドステートマシン２６によるパーティションの無効化は、パーティションデコーダ２２から出力されるパーティションデコード信号における無効化の対象となるパーティションに該当するビットのラインのレベルをＧＮＤレベルに固定することによって行われる。
【００６９】
以上のように、本実施の形態においては、上記入力バッファ２１とコマンドステートマシン２６との間にパーティションデコーダ２２を設け、パーティション・アドレスのデコード機能を、コマンドステートマシン２６から分離してパーティションデコーダ２２に持たせるようにしている。したがって、コマンドステートマシン２６側では、カットダウン時においては削除されたパーティションを無効化するだけでよく、コマンドステートマシン２６の再設計あるいは再修正を不要にすることができる。
【００７０】
つまり、本実施の形態によれば、上記メモリアレイ３６におけるパーティション分割方法に左右されることのない、コマンドステートマシン２６を提供することができるのである。
【００７１】
・第２実施の形態
本実施の形態は、上記第１実施の形態におけるコマンドステートマシン２６の設計を更に簡略化する方法について説明する。本実施の形態の場合には、上記第１実施の形態においては出力レジスタ３１に格納していた各パーティションの状態を、専用のレジスタにではなく、コマンドステートマシン２６およびライトステートマシン２９に保持するのである。こうすることによって、コマンドステートマシン２６は必要最小限のレジスタで状態遷移を行い、然も各パーティションの状態を保持することができるのである。
【００７２】
尚、本実施の形態におけるフラッシュメモリの構成は、出力レジスタ３１を有しない以外は、図１に示す上記第１実施の形態におけるフラッシュメモリの構成と同じである。
【００７３】
図１２乃至図１４は、パーティション０に対して消去→消去サスペンド→消去レジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。先ず、図１２に従って、メモリアレイ３６におけるパーティション０に対して消去コマンドを実行する場合について述べる。
【００７４】
図１２に示すように、上記入力バッファ２１(図１参照)からの外部アドレス信号ADDRESSがパーティションデコーダ２２に入力されて、デコードされる。そして、パーティションデコーダ２２からのパーティションデコード信号SDADECがコマンドステートマシン２６に入力される。ここで、パーティションデコード信号SDADECは、上記第１実施の形態において説明したように、パーティション数(本実施の形態の場合には「６」)のビット幅を持つバス信号である。
【００７５】
上記コマンドステートマシン２６内にはディバイスの状態を保持するレジスタが状態数分だけ設けられており、夫々のレジスタはパーティション数「６」のビット数を有している。上記レジスタは、ページバッファ書込みレジスタSDADECL,コマンド投入レジスタREG,イレースサスペンドレジスタESPおよびページバッファ書込み実行レジスタPBQである。尚、ページバッファ書込みレジスタSDADECLは、ページバッファ書込みコマンドが実行される際に、対象パーティションが何処であるかを保持しておくためのレジスタであり、キューイング機能を有している。また、コマンド投入レジスタREGは、コマンドが投入されるパーティション(パーティションデコード信号SDADECから得られる)が何処であるかを示すレジスタである。また、イレースサスペンドレジスタESPは、イレースサスペンドが実行された際におけるイレースコマンドが動作していたパーティションが何処であるかを保持しておくためのレジスタである。また、ページバッファ書込み実行レジスタPBQは、ページバッファ書込みコマンドが実行された際に、実際にコマンド実行されているパーティションが何処であるかを示すレジスタである。
【００７６】
上記ページバッファ書込みコマンドは、上記メモリアレイ３６における２つのパーティションに対するデータの書込み動作を連続して実行するようになっている。そのために、上記２つのパーティションに対するページバッファ書込みコマンドが、現在何れのパーティションに対して実行されているのかを逐次記憶しておくレジスタが必要となり、然もキューイング機能によって制御される必要がある。そのレジスタが、上記ページバッファ書込みレジスタSDADECLである。
【００７７】
上記レジスタ構成において、上記パーティション０に対する消去コマンドの場合には、先ず、コマンドステートマシン２６によって、入力バッファ２１からの消去コマンドに応じて、６ビットのパーティションデコード信号SDADEC(＝１Ｈ)がそのままコマンド投入レジスタREGに格納される。そして、コマンド投入レジスタREGの内容が、上記消去コマンドと共に、書込み動作や消去動作を司るライトステートマシン２９に送出されてライトステートマシン２９によって消去動作が開始される。この場合、コマンド投入レジスタREGの格納内容から、パーティション０に対して消去動作が開始されることになる。
【００７８】
そして、上記ライトステートマシン２９が動作している間は、ライトステートマシン２９からはコマンドステートマシン２６に対して動作信号FDREADY「０(＝動作中)」が入力される。そうすると、コマンドステートマシン２６は、矢印で示されるように、ライトステートマシン２９からの動作信号FDREADYの内容とコマンド投入レジスタREGの内容との論理演算結果から、各パーティションに対する動作状態を示す状態信号CDPREADYを生成して出力する。図１２の場合には、消去コマンドが投入されたパーティション０が割り当てられている最下位ビットのみが「０」(つまり３ＥＨ)の状態信号CDPREADYが出力される。こうして、最終的に、コマンドステートマシン２６からは、状態信号CDPREADYによって各パーティションの状態が常に出力されることになる。
【００７９】
上記状態信号CDPREADYは、１つのパーティションに対して１ビットが割り当てられた信号であり、ライトステートマシン２９が動作中である場合に動作対象パーティションに対応したビットの値が「０(Ｌ)」となる信号である。したがって、状態信号CDPREADYによれば、ライトステートマシン２９が動作中の場合に、何れのパーティションに対して消去(あるいは書き込み)動作が行われているかを判別することができるのである。そのため、例えば、コマンドステートマシン２６からの状態信号CDPREADYを、ライトステートマシン２９を介して書込消去電圧切り替え部３０に送出すれば、書込消去電圧切り替え部３０は、状態信号CDPREADYに基づいて、「Ｌ」のビットが割り当てられているパーティションに対してのみ、消去(書き込み)に必要な高電圧が印加されるようにスイッチング制御を行うことができるのである。
【００８０】
上述のようにして、上記パーティション０に対して消去動作が実行されている際に、コマンドステートマシン２６に入力バッファ２１からサスペンドコマンドが入力されて一時停止が指示されると、図１３に示すように、消去動作時にサスペンドが掛ったパーティションを記憶しておくために、イレースサスペンドレジスタESPに、コマンド投入レジスタREGの内容(すなわちパーティションデコード信号SDADECの内容(＝１Ｈ))が格納される。そして、サスペンドコマンドが、コマンドステートマシン２６からライトステートマシン２９に送出され、ライトステートマシン２９によってパーティション０に対する消去動作が中断される。
【００８１】
そして、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「１」に切り換えられる。そうすると、コマンドステートマシン２６は、ライトステートマシン２９からの動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から、総てのビットが「１」(つまり３ＦＨ)の状態信号CDPREADYを生成して出力するのである。
【００８２】
さらに、上記コマンドステートマシン２６にレジュームコマンドが入力され、消去サスペンドの解除と消去動作の再開とが指示されると、図１４に示す様に、イレースサスペンドレジスタESPの内容がコマンド投入レジスタREGにストアされる。そして、レジュームコマンドが、コマンドステートマシン２６からライトステートマシン２９に送出され、ライトステートマシン２９によってパーティション０に対する消去動作が再開される。
【００８３】
そして、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「０」に切り換えられる。そうすると、コマンドステートマシン２６は、図１２の場合と同様に、「３ＥＨ」の状態信号CDPREADYを生成して出力するのである。
【００８４】
つまり、図１２〜図１４における上記コマンドステートマシン２６中に記載された「状態信号CDPREADY」は、レジスタではなく単なる論理出力であり、コマンド投入レジスタREGとライトステートマシン２９からの動作信号FDREADYとの内容に対して非同期に変化する。
【００８５】
次に、書込み動作について説明する。図１５乃至図１７は、パーティション２に対して書込み→書込みサスペンド→書込みレジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。
【００８６】
先ず、図１５に示すように、パーティション２に対する書込みコマンド実行時には、先ず、コマンドステートマシン２６によって、入力バッファ２１からの書込みコマンドに応じて、パーティションデコーダ２２からの６ビットのパーティションデコード信号SDADEC「５Ｈ」が、そのままコマンド投入レジスタREGに格納される。そして、コマンド投入レジスタREGの内容と上記書込みコマンドとに基づいて、ライトステートマシン２９によってパーティション２に対して書込み動作が開始される。
【００８７】
そして、上記ライトステートマシン２９からコマンドステートマシン２６に対して動作信号FDREADY「０」が出力され、コマンドステートマシン２６によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から上記状態信号CDPREADY「３ＢＨ」が生成されて出力される。
【００８８】
上述のようにして、上記パーティション２に対して消去動作が実行されている際に、コマンドステートマシン２６にサスペンドコマンドが入力されて一時停止が指示されると、このサスペンドコマンドが、コマンドステートマシン２６からライトステートマシン２９に送出されてパーティション２に対する書込み動作が中断される。
【００８９】
そうすると、図１６に示すように、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「１」に切り換えられる。そして、コマンドステートマシン２６によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果から、状態信号CDPREADY「３ＦＨ」が生成されて出力される。その際に、コマンドステートマシン２６は、書込みコマンド実行時にコマンド投入レジスタREGに格納された内容をそのまま保持しておく。これは、本フラッシュメモリは、書込みコマンドが受付けられている場合(つまり、書き込み中,書込みサスペンド中および書込みレジューム中の場合)には、ライトステートマシン２９を動作させる他の如何なるコマンドをも受付けない使用になっており、コマンド投入レジスタREGの内容をわざわざ他のレジスタに一時的に待避するする必要がないためである。
【００９０】
したがって、上記コマンドステートマシン２６にレジュームコマンドが入力され、書込みサスペンドの解除と書込み動作の再開とが指示された場合には、上述した消去レジュームの場合のように、イレースサスペンドレジスタESPの内容をコマンド投入レジスタREGに転送する必要は無い。その結果、そのままレジュームコマンドがライトステートマシン２９に送出され、ライトステートマシン２９によってパーティション２に対する書込み動作が再開されるのである。
【００９１】
そして、図１７に示すように、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「０」に切り換えられ、コマンドステートマシン２６は、図１５の場合と同様に、「３ＢＨ」の状態信号CDPREADYを生成して出力するのである。
【００９２】
次に、ページバッファ書込み動作について説明する。ページバッファ書込み時には、書き込むべきデータを図１におけるページバッファ２３に一旦記憶させた後に、連続的にメモリアレイ３６に対して書込みを行う。本実施の形態においては、ページバッファ２３にページバッファ書込み用に２つのパーティション(パーティション(０),(１))を設けており、１パーティション当り１６ワード分のデータが格納できるようになっている。したがって、ページバッファ２３の２パーティションをフルに使用した場合には、３２ワード分のデータを一挙にメモリアレイ３６に書き込むことができ、高速書込みを実現できるのである。
【００９３】
先ず、上記ページバッファ２３の１パーティションのみを使用する場合におけるページバッファ書込み動作について説明する。図１８乃至図２０は、メモリアレイ３６のパーティション４に対してページバッファ書込み→ページバッファ書込みサスペンド→ページバッファ書込みレジュームを行う際における各レジスタおよび信号の内容変遷を示す図である。
【００９４】
先ず、図１８に示すように、パーティション４に対するページバッファ書込みコマンド実行時には、先ず、コマンドステートマシン２６によって、入力バッファ２１からのページバッファ書込みコマンドに応じて、パーティションデコーダ２２からの６ビットのパーティションデコード信号SDADEC「０１００００」が、そのままページバッファ書込みレジスタSDADECLに格納される。次に、ページバッファ書込みレジスタSDADECLの内容が、実際にページバッファ書込みが実行されているパーティションが何処であるかを示すページバッファ書込み実行レジスタPBQにストアされる。さらに、ページバッファ書込み実行レジスタPBQの内容が、コマンド投入レジスタREGにストアされる。
【００９５】
ページバッファ書込みの場合には、上記ページバッファ２３の内容をメモリアレイ３６の２つのパーティションに書込み可能であるため、最初のパーティションに対する書込みと次のパーティションに対する書込みとをキューイングによって制御する必要がある。その際における間接的なレジスタとして、ページバッファ書込みレジスタSDADECLを使用するのである。この場合には、１パーティション分のデータの転送のみであるため、ページバッファ書込みレジスタSDADECLの内容とページバッファ書込み実行レジスタPBQの内容とは一致する。そして、コマンド投入レジスタREGの内容とページバッファ書込みコマンドとに基づいて、ライトステートマシン２９によってパーティション４に対してのページバッファ書込み動作が開始される。
【００９６】
そして、上記ライトステートマシン２９からコマンドステートマシン２６に対して動作信号FDREADY「０」が出力され、コマンドステートマシン２６によって、状態信号CDPREADY「２ＦＨ」が生成されて出力される。
【００９７】
上述のようにして、上記パーティション４に対してページバッファ書込み動作が実行されている際に、コマンドステートマシン２６にサスペンドコマンドが入力されて一時停止が指示されると、このサスペンドコマンドが、コマンドステートマシン２６からライトステートマシン２９に送出されてパーティション４に対するページバッファ書込み動作が中断される。
【００９８】
そうすると、図１９に示すように、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「１」に切り換えられる。そして、コマンドステートマシン２６によって、状態信号CDPREADY「３ＦＨ」が生成されて出力される。その際に、コマンドステートマシン２６は、コマンド投入レジスタREGおよびページバッファ書込み実行レジスタPBQに格納された内容(現在書込み中のパーティション情報)をそのまま保持しておく。
【００９９】
さらに、上記コマンドステートマシン２６にレジュームコマンドが入力され、ページバッファ書込みサスペンドの解除とページバッファ書込み動作の再開とが指示されると、図２０に示すように、ページバッファ書込み実行レジスタPBQの内容がコマンド投入レジスタREGにストアされる。そして、レジュームコマンドが、コマンドステートマシン２６からライトステートマシン２９に送出され、ライトステートマシン２９によってパーティション４に対するページバッファ書込み動作が再開される。
【０１００】
そして、上記ライトステートマシン２９からコマンドステートマシン２６への動作信号FDREADYが「０」に切り換えられる。そうすると、コマンドステートマシン２６は、図１８の場合と同様に、「２ＦＨ」の状態信号CDPREADYを生成して出力するのである。
【０１０１】
こうして、上記ページバッファ２３の１パーティションに一旦記憶されたデータが、メモリアレイ３６のパーティション４に対して書き込まれるのである。
【０１０２】
次に、上記ページバッファ２３のパーティション(０)とパーティション(１)との２つのパーティションを使用する場合におけるページバッファ書込み動作について説明する。図２１および図２２は、メモリアレイ３６のパーティション０とパーティション５とに立て続けにページバッファ書き込みを行う際における各レジスタおよび信号の内容変遷を示す図である。
【０１０３】
先ず、上記メモリアレイ３６のパーティション０に書込まれるべきデータが、入力バッファ２１からページバッファ２３のパーティション(０)に転送される。この間、コマンドステートマシン２６によって、図２１に示すように、入力バッファ２１からのページバッファ書込みコマンドに応じて、ページバッファ書込みレジスタSDADECLに、パーティションデコーダ２２からの６ビットのパーティションデコード信号SDADEC「０００００１」が格納される。続いて、メモリアレイ３６のパーティション５に書込まれるべきデータが、ページバッファ２３のパーティション(１)に転送される。この間、ページバッファ書込みレジスタSDADECLには、次にデータが書き込まれるパーティション５を表す「１０００００」がキューイングされる。こうして、パーティション０に対するページバッファ書き込みが終了すると、ページバッファ書込みレジスタSDADECLには「１０００００」がロードされるようにするのである。
【０１０４】
次に、図２１に示すように、上記ページバッファ書込みレジスタSDADECLの内容が、ページバッファ書込み実行レジスタPBQにストアされる。さらに、ページバッファ書込み実行レジスタPBQの内容が、コマンド投入レジスタREGにストアされる。そして、コマンド投入レジスタREGの内容とページバッファ書込みコマンドとに基づいて、ライトステートマシン２９によって、最初のパーティション０に対するページバッファ書込み動作が開始される。
【０１０５】
そして、上記ライトステートマシン２９からコマンドステートマシン２６に対して動作信号FDREADY「０」が出力され、コマンドステートマシン２６によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果に基づいて、現在ページバッファ書込みコマンドが実行されているパーティション０を表す状態信号CDPREADY「１１１１１０」が生成されて出力される。
【０１０６】
ここで、上記コマンドステートマシン２６にサスペンドコマンドが入力されて一時停止が指示されると、図１９の場合と同様にして、ライトステートマシン２９によってパーティション０に対するページバッファ書込み動作が中断され、ライトステートマシン２９からの動作信号FDREADYが「１」に切り換えられ、コマンドステートマシン２６から「３ＦＨ」の状態信号CDPREADYが出力される。そして、コマンドステートマシン２６は、コマンド投入レジスタREGおよびページバッファ書込み実行レジスタPBQの内容を保持する。
【０１０７】
さらに、上記コマンドステートマシン２６にレジュームコマンドが入力されてページバッファ書込み動作の再開が指示されると、図２０の場合と同様に、ページバッファ書込み実行レジスタPBQの内容がコマンド投入レジスタREGにストアされ、パーティション０に対するページバッファ書込み動作が再開され、ライトステートマシン２９からの動作信号FDREADYが「０」に切り換えられ、コマンドステートマシン２６から、「２ＦＨ」の状態信号CDPREADYが出力される。
【０１０８】
こうして、上記ページバッファ２３のパーティション(０)からメモリアレイ３６のパーティション０への１６ワード分のデータのページバッファ書き込みが終了すると、図２２に示すように、コマンドステートマシン２６のページバッファ書込みレジスタSDADECLには、直ちに、次にページバッファ書き込みが実行されるパーティション５を表す「１０００００」がキューイング制御によってロードされる。そして更に、ページバッファ書込み実行レジスタPBQにストアされ、コマンド投入レジスタREGにストアされる。そして、コマンド投入レジスタREGの内容に基づいて、ライトステートマシン２９によって次のパーティション５に対するページバッファ書込み動作が開始される。
【０１０９】
そして、上記ライトステートマシン２９からコマンドステートマシン２６に対して動作信号FDREADY「０」が出力され、コマンドステートマシン２６によって、動作信号FDREADYとコマンド投入レジスタREGとの論理演算結果に基づいて、現在ページバッファ書込みコマンドが実行されているパーティション５を表す状態信号CDPREADY「０１１１１１」が生成されて出力される。
【０１１０】
この場合にも、上記コマンドステートマシン２６にサスペンドコマンドが入力されて一時停止が指示された場合や、レジュームコマンドが入力されて再度ページバッファ書込みが実行された場合には、図１９または図２０の場合と同様にして、ページバッファ書込みサスペンドまたはページバッファ書込みレジュームが実行される。
【０１１１】
以上のように、本実施の形態においては、上記コマンドステートマシン２６内に、各状態に至っているパーティションの情報を保持するためのページバッファ書込みレジスタSDADECL,コマンド投入レジスタREG,イレースサスペンドレジスタESPおよびページバッファ書込み実行レジスタPBQを設けている。そして、コマンドステートマシン２６は、パーティションデコーダ２２からのパーティションデコード信号SDADECに基づいて、上記各レジスタの内容をコマンドに応じて更新する。そして、ライトステートマシン２９からの動作中であるか否かを示す動作信号FDREADY(０:動作中)とコマンド投入レジスタREGとの論理演算結果から、各パーティションに対する動作状態を示す状態信号CDPREADYを生成するようにしている。
【０１１２】
したがって、本実施の形態の場合においても、各コマンドの実行において、ライトステートマシン２９が動作している際における動作の対象となるパーティションを常に記憶しておくことができ、ライトステートマシン２９動作中におけるデュワルワークや、サスペンド,レジューム等の複数コマンドの実行が、可能になるのである。
【０１１３】
尚、上記コマンド投入レジスタREG中において、コマンドステートマシン２６が動作の対象としている(つまり、「１」が格納されている)パーティション以外のパーティション(例えば、図１２であればパーティション１〜５)がアイドル中のパーティションを示している。また、上述の説明では省略しているが、上記デュアルワークによって読出しを行う場合には、上記アイドル中のパーティションであって外部からアクセスされたパーティションの情報を保持するレジスタを設ける必要がある。
【０１１４】
次に、本実施の形態において、上記カットダウンによって、メモリアレイ３６のパーティションレイアウトが変更される場合について説明する。
【０１１５】
この場合にも、レイアウト面積を効率よく削減してチップコストを極力抑えるために、図８に示すようにカットダウンが行われたとする。その場合には、パーティション３が削除されるために、パーティションの数が「６」から「５」に減少することになる。
【０１１６】
しかしながら、本実施の形態の場合にも、上記コマンドステートマシン２６の前段にパーティションデコーダ２２を配置して、上記コマンドステートマシン２６にはパーティションデコード信号SDADECが入力されるようにしている。したがって、コマンドステートマシン２６側では、入力されたパーティションデコード信号SDADECにおける削除されたパーティションに対応するビットを無効化するだけで対応することが可能になるのである。
【０１１７】
すなわち、図８においては、元々パーティション３であったパーティションを削除すると、選択可能なパーティションはパーティション０〜パーティション２,パーティション４,パーティション５となる。したがって、６ビット信号であるパーティションデコード信号SDADECのうちの、パーティション３に該当するパーティションデコード信号SDADEC3のレベルをＧＮＤレベルに固定するだけで、コマンドステートマシン２６の回路構成を変更することなくパーティション３の削除を実現することができるのである。
【０１１８】
図２５に示す従来のフラッシュメモリの場合には、コマンドステートマシン２内でパーティション・アドレスをデコードしているので、図８に示すようなカットダウンが行われる場合には、コマンドステートマシン２を最初から設計し直す必要がある。さらに、図８に示すように、最小消去単位であるブロックの容量が不均等であり、且つ、各パーティションに割り当てられるブロック数も不均等である場合には、パーティション・アドレスのデコード方法がアドレスの増減で大きく変ることは明白である。したがって、パーティション・アドレスのデコードを従来のごとくコマンドステートマシン２の内で行うことと、本実施の形態のごとくコマンドステートマシン２６の外で行うこととでは、前者の方が機種展開やカットダウン時において設計期間に大きく影響がでるのである。
【０１１９】
図２４は、上記従来のコマンドステートマシン２の大まかな設計フローチャートを示す。この設計フローチャートは、基本的な通常の設計の流れに対して、カットダウンに伴ってパーティション・アドレスのデコードが変更されるケースを付け加えたものである。
【０１２０】
図２４において、コマンドステートマシン２の設計がスタートすると、ステップＳ11で、コマンドステートマシン２の仕様設計が行われる。そして、仕様設計が終了すると、ステップＳ12で、回路検証が行われる。ステップＳ13で、回路検証の結果が良であるか否であるかが判別され、良であればステップＳ14に進む一方、否であれば上記ステップＳ11に戻って更に仕様設計が行われる。ステップＳ14で、カットダウンに伴って回路修正が必要か否かが判別される。その結果、回路修正が必要なければステップＳ15に進む。一方、回路修正が必要であれば、上記ステップＳ11に戻ってカットダウンに伴う仕様設計が行われる。ステップＳ15で、回路検証の結果が良と判定された仕様設計に基づいて回路レイアウトが行われた後、コマンドステートマシン２の設計を終了する。
【０１２１】
このように、従来のコマンドステートマシン２における設計の流れでは、カットダウンの必要性が生ずると、矢印Ｂで示すように、再び、回路検証の結果が良となるまでカットダウンに伴う仕様設計が繰り返されることになり、設計期間が大幅に長くなるのである。
【０１２２】
これに対して、上記第１実施の形態および本実施の形態におけるコマンドステートマシン２６の場合には、カットダウンの必要性が生じても設計し直す必要がなく、回路レイアウトの段階でパーティションデコード信号用のバスにおける削除パーティションに該当するラインを電気的にＧＮＤに接続するだけでよい。したがって、コマンドステートマシン２６の設計フローチャートは、図２３に示す様に、図２４に示す従来のコマンドステートマシン２の設計フローチャートにおけるステップＳ14を削除したものと同じとなる。
【０１２３】
すなわち、上記各実施の形態におけるコマンドステートマシン２６によれば、コマンドステートマシン２６の設計の流れを、従来からの基本的な通常の設計の流れと同様にすることができ、明らかに設計期間を短縮することができるのである。
【０１２４】
また、コマンドステートマシンの設計において最も重要なことは状態遷移の検証であり、その作業量は状態を記憶しているレジスタの個数に比例する。したがって、検証項目を少なくし且つ設計期間を短くするためには、本フラッシュメモリの各状態を記憶するレジスタの数を如何にして最小限度に留めることが重要になる。そのため、各動作モード時に状態を記憶すべきモードに対してのみ、パーティション数分のビットを有するレジスタを設けることが有効である。
【０１２５】
仮に書き込みだけに限って言えば、図２５に示す従来のフラッシュメモリの構成において、図６に示すように各パーティション毎に状態を記憶した場合には、各レジスタの状態を検証するための工数は、表２に示す１８種類のコマンドを持つフラッシュメモリにおいて、
表２
2004199807.tif 000004
2004199807.tif 000005
となる。
【０１２６】
これに対して、上記各実施の形態のごとく、全パーティションの状態を１つにまとめて記憶する場合には、
検証すべき状態の数(８)×コマンド数(３)＝２４通り
に検証工数を削減することができるのである。
【０１２７】
尚、上記「検証すべき状態」とは、書込みコマンド実行においては、
（１）コマンドを投入するパーティションが
ａ．書込みコマンドセットアップ状態(書込みコマンドが投入された状態)
ｂ．書込みデータセットアップ状態(書込むデータが入力された状態)
ｃ．書込み中断中
ｄ．書込み再開中
（２）コマンドを投入するパーティション以外のパーティションの状態が
ｅ．書込みコマンドセットアップ状態(書込みコマンドが投入された状態)
ｆ．書込みデータセットアップ状態(書込むデータが入力された状態)
ｇ．書込み中断中
ｈ．書込み再開中
の８つの状態がある。
【０１２８】
さらに、上記消去,ページバッファ書き込み,読み出し等の複数コマンド実行に係る検証すべき状態が加わるために、従来のフラッシュメモリと上記各実施の形態におけるフラッシュメモリとの検証工数の差は歴然としたものになることが分る。
【０１２９】
以上のごとく、上記各実施の形態においては、上記入力バッファ２１とコマンドステートマシン２６との間にパーティションデコーダ２２を設けて、パーティション・アドレスのデコード機能をパーティションデコーダ２２に持たせるようにしている。その結果、コマンドステートマシン２６は、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、カットダウン時においては、コマンドステートマシン２６側では、パーティションデコーダ２２からのパーティション数のビット幅を有するパーティションデコード信号線における削除パーティションに対応するビット線のレベルをＧＮＤレベルに固定して無効化するだけでよい。
【０１３０】
すなわち、上記コマンドステートマシン２６の設計に際しては、メモリ容量が均等ではないブロックから成り且つブロック数も均等ではないパーティションで構成されたメモリセルアレイ３６の場合であっても、回路レイアウトのみでカットダウンに対処することができ、再設計や修正を不用にすることができる。すなわち、カットダウンによる機種展開を、既存のフラッシュメモリ設計手順に従って容易に且つ短時間に行うことができるのである。
【０１３１】
また、各動作モードにおける各ディバイスの状態を、各パーティション毎にではなく１つにまとめて格納するようにしている。したがって、状態を各パーティション毎に格納する場合に比して状態格納用のレジスタ数、つまりは検証項目を減らすことができる。その結果、コマンドステートマシン２６の設計時における状態遷移の検証に関する作業量を減らし、さらに設計期間を短縮することができるのである。
【０１３２】
尚、この発明は、上記各実施の形態において述べた内容に限定されるものではなく、特許請求の範囲を逸脱しない範囲内において適宜変形を行っても差し支えない。
【０１３３】
【発明の効果】
以上より明らかなように、この発明の不揮発性半導体記憶装置は、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの前段に配置しているので、上記コマンドステートマシンは、パーティションアドレス信号をデコードすることなく、何れのパーティションを動作対象とすればよいのかを知ることができる。したがって、記憶容量や数が不均等な複数のブロックによって構成された複数のパーティションによってメモリアレイが構成されている場合において、アドレス変更によるパーティション構成の変更(例えば、パーティションの減少等)が行われる場合であっても、上記コマンドステートマシンに対する設計変更の必要はない。
【０１３４】
したがって、上記コマンドステートマシンに対するカットダウンに付随した再設計や修正が不用になり、複雑なパーティション構成を有するフラッシュメモリのカットダウンによる機種展開を既存の設計手順に従って容易に且つ短時間に行うことができる。
【０１３５】
また、この発明の不揮発性半導体記憶装置の設計方法は、記憶容量および数のうちの少なくとも何れか一方が不均等の複数のブロックで構成されたパーティションを複数有するメモリアレイを備えた不揮発性半導体記憶装置を設計するに際して、外部からのパーティションアドレス信号をデコードするパーティションデコーダをコマンドステートマシンの外部に配置し、メモリアレイを構成する不揮発性メモリセルを上記ブロック単位および上記パーティション単位の少なくとも一方で削除し、既存のフラッシュメモリ設計手順に従って新たなフラッシュメモリを設計するので、上記コマンドステートマシンに対する再設計を無くして、カットダウンによる機種展開時を容易に且つ短時間に行うことができる。
【図面の簡単な説明】
【図１】この発明の不揮発性半導体記憶装置の一例としてのフラッシュメモリにおけるブロック図である。
【図２】図１におけるメモリアレイのブロックレイアウト図である。
【図３】パーティションデコード信号のラッチタイミングにおけるセットアップとホールド時間との関係を示す図である。
【図４】図１における遅延回路の具体的構成を示す図である。
【図５】図１における出力レジスタの構成を示す図である。
【図６】従来のフラッシュメモリにおける状態レジスタの構成を示す図である。
【図７】図２に示すメモリアレイのアドレスマップを示す図である。
【図８】図２に示すメモリアレイに対するカットダウン方法の説明図である。
【図９】図８とは異なるカットダウン方法の説明図である。
【図１０】図８および図９とは異なるカットダウン方法の説明図である。
【図１１】図８〜図１０とは異なるカットダウン方法の説明図である。
【図１２】パーティション０に対して消去を行う場合における各レジスタおよび信号の内容を示す図である。
【図１３】パーティション０に対して消去サスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図１４】パーティション０に対して消去レジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図１５】パーティション２に対して書込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図１６】パーティション２に対して書込みサスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図１７】パーティション２に対して書込みレジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図１８】パーティション４に対してページバッファ書込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図１９】パーティション４に対してページバッファ書込みサスペンドを行う場合における各レジスタおよび信号の内容を示す図である。
【図２０】パーティション４に対してページバッファ書込みレジュームを行う場合における各レジスタおよび信号の内容を示す図である。
【図２１】パーティション０にページバッファ書き込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図２２】図２１に続いてパーティション５にページバッファ書き込みを行う場合における各レジスタおよび信号の内容を示す図である。
【図２３】図１におけるコマンドステートマシンの概略設計フローチャートである。
【図２４】従来のコマンドステートマシンの概略設計フローチャートである。
【図２５】従来のフラッシュメモリにおけるブロック図である。
【図２６】均等なブロック構成からなるメモリアレイのメモリマップである。
【図２７】不均等なブロック構成からなるメモリアレイのメモリマップである。
【符号の説明】
２１…入力バッファ、
２２…パーティションデコーダ、
２３…ページバッファ、
２４…データレジスタ、
２５…遅延回路、
２６…コマンドステートマシン、
２７…遅延回路ユニット、
２８…接続切換オプション回路ユニット、
２９…ライトステートマシン、
３０…書込消去電圧切り替え部、
３１…出力レジスタ、
３２,３４…ＭＵＸ、
３３…ベリファイ回路、
３５…デコーダ、
３６…メモリアレイ、
３７…出力バッファ、
４１…状態レジスタ、
４２…パーティション状態レジスタ、
４３…動作モード状態レジスタ。
【図１】
2004199807.tif 000006
【図２】
2004199807.tif 000007
【図３】
2004199807.tif 000008
【図４】
2004199807.tif 000009
【図５】
2004199807.tif 000010
【図６】
2004199807.tif 000011
【図７】
2004199807.tif 000012
【図８】
2004199807.tif 000013
【図９】
2004199807.tif 000014
【図１０】
2004199807.tif 000015
【図１１】
2004199807.tif 000016
【図１２】
2004199807.tif 000017
【図１３】
2004199807.tif 000018
【図１４】
2004199807.tif 000019
【図１５】
2004199807.tif 000020
【図１６】
2004199807.tif 000021
【図１７】
2004199807.tif 000022
【図１８】
2004199807.tif 000023
【図１９】
2004199807.tif 000024
【図２０】
2004199807.tif 000025
【図２１】
2004199807.tif 000026
【図２２】
2004199807.tif 000027
【図２３】
2004199807.tif 000028
【図２４】
2004199807.tif 000029
【図２５】
2004199807.tif 000030
【図２６】
2004199807.tif 000031
【図２７】
2004199807.tif 000032