(57)【特許請求の範囲】
【請求項１】
ＮＡＮＤ型のフラッシュメモリであって、
ＮＡＮＤ型のメモリセルを有するメモリアレイと、
クロック信号を発生するクロック信号発生手段と、
前記クロック信号発生手段により発生されたクロック信号を受け取り、当該クロック信号に同期してフラッシュメモリの予め規定された処理を実行する実行手段と、
前記実行手段が行うセットアップの期間中、前記クロック信号発生手段により発生されるクロック信号の周波数が高速化されるように前記クロック信号発生手段を制御する制御手段とを有し、
前記クロック信号発生手段は、クロック信号を発生するクロック発生器と、前記クロック発生器に結合され、前記クロック信号を逓倍する逓倍回路と、前記クロック発生器および前記逓倍回路に結合され、前記クロック信号または逓倍されたクロック信号のいずれかを選択するクロック選択回路とを含み、
前記クロック選択回路は、選択された逓倍されたクロック信号を前記実行手段にのみ提供し、それ以外の前記メモリアレイを含む回路には提供せず、前記実行手段は、セットアップの期間中、逓倍されたクロック信号に基づき処理を実行する、フラッシュメモリ。
【請求項２】
前記実行手段は、フラッシュメモリの予め規定された処理を実行するためのコマンドを格納する格納手段を含み、前記実行手段がセットアップのためのコマンドを実行する期間、前記クロック信号の周波数が高速化される、請求項１に記載のフラッシュメモリ。
【請求項３】
前記実行手段は、フラッシュメモリの予め規定された処理を実行するステートマシンを含み、前記実行手段がセットアップのための処理を実行する期間、前記クロック信号の周波数が高速化される、請求項１に記載のフラッシュメモリ。
【請求項４】
前記制御手段は、外部から受信したコマンドデータに基づきセットアップの有無を判定する、請求項１または２に記載のフラッシュメモリ。
【請求項５】
フラッシュメモリは、外部端子を含み、フラッシュメモリは、メモリコントローラから前記外部端子を介してセットアップイネーブル信号またはセットアップディスエーブル信号を受信することが可能であり、フラッシュメモリと前記メモリコントローラとは共通の外部システムクロックで同期して動作され、
前記制御手段は、前記外部端子から前記セットアップイネーブル信号が受信されたとき、前記クロック発生手段に高速化されたクロック信号を発生させ、前記外部端子からセットアップディスエーブル信号が受信されたとき、前記セットアップの期間の終了を判定し、前記クロック発生手段に高速化されたクロック信号の供給を停止させる、請求項１ないし４いずれか１つに記載のフラッシュメモリ。
【請求項６】
前記制御手段は、前記逓倍回路により前記クロック信号を逓倍する値を設定し、かつ前記クロック選択回路の選択を制御する制御信号を前記クロック信号発生手段へ出力する、請求項１に記載のフラッシュメモリ。
【請求項７】
前記実行手段は、セットアップ期間後に、読出し、プログラム、消去またはベリファイのいずれかの動作のためのコマンドを通常のクロック信号に同期して実行する、請求項１ないし６いずれか１つに記載のフラッシュメモリ。
【請求項８】
フラッシュメモリは、外部端子から供給された電源電圧に基づき電圧を発生する電圧発生回路を含み、前記実行手段は、セットアップの期間中、前記電圧発生回路に高電圧を発生させる、請求項１ないし７いずれか１つに記載のフラッシュメモリ。
【請求項９】
前記電圧発生回路は、プログラム電圧、消去電圧、読出し電圧、パス電圧のいずれかを発生させる、請求項８に記載のフラッシュメモリ。
【請求項１０】
前記制御手段は、複数のセットアップのそれぞれに対応する逓倍する値を規定したテーブルと、前記コマンドデータに基づきセットアップを識別する識別手段とを含み、前記制御手段は、識別されたセットアップに対応する逓倍する値を前記逓倍回路に設定する、請求項６に記載のフラッシュメモリ。
【請求項１１】
請求項１ないし１０いずれか１つに記載のフラッシュメモリと、
前記フラッシュメモリに結合されたメモリコントローラとを含み、
前記メモリコントローラは、フラッシュメモリに前記コマンドデータまたはイネーブル信号を送信する、メモリモジュール。
【請求項１２】
ＮＡＮＤ型のフラッシュメモリのコントローラが実行するセットアップのためのプログラムであって、
前記セットアップの有無を判定するステップと、
前記セットアップが有ると判定されたとき、セットアップ期間中だけ内部システムクロック信号が高速化されるようにクロック発生回路を制御するステップと、
前記高速化されたクロック信号によりセットアップのためのコマンドをプロセッサに実行させるステップとを有し、
前記セットアップの有無を判定するステップは、フラッシュメモリと共通の外部システムクロック信号で同期して動作されるメモリコントローラから外部端子を介してセットアップイネーブル信号を受信したとき、セットアップの開始を判定し、前記メモリコントローラから前記外部端子を介してセットアップディスエーブル信号を受信したとき、セットアップの終了を判定する、プログラム。
【請求項１３】
前記クロック発生回路は、逓倍回路と、クロック選択回路とを含み、前記制御するステップは、前記逓倍回路の逓倍する値を設定し、かつ逓倍されたクロック信号が前記プロセッサにのみ提供するように前記クロック選択回路を制御する、請求項１２に記載のプログラム。
【請求項１４】
セットアップの期間中、前記セットアップのためのコマンドを実行することにより、フラッシュメモリの動作に必要な複数の高電圧が生成される、請求項１２または１３に記載のプログラム。
【請求項１５】
セットアップの期間中、外部端子から供給された電源電圧を昇圧回路により昇圧することにより、前記複数の高電圧が生成される、請求項１４に記載のプログラム。
【請求項１６】
ＮＡＮＤ型のフラッシュメモリにおけるクロック信号を用いた動作方法であって、
前記セットアップの有無を判定するステップと、
前記セットアップが有ると判定されたとき、セットアップ期間中だけ内部システムクロック信号が高速化されるようにクロック発生回路を制御するステップと、
前記高速化されたクロック信号によりセットアップのためのコマンドをプロセッサに実行させるステップとを有し、
前記セットアップの有無を判定するステップは、フラッシュメモリと共通の外部システムクロック信号で同期して動作されるメモリコントローラから外部端子を介してセットアップイネーブル信号を受信したとき、セットアップの開始を判定し、前記メモリコントローラから前記外部端子を介してセットアップディスエーブル信号を受信したとき、セットアップの終了を判定する、動作方法。
【請求項１７】
前記クロック発生回路は、逓倍回路と、クロック選択回路とを含み、制御するステップは、前記逓倍回路の逓倍する値を設定し、かつ逓倍されたクロック信号が前記プロセッサにのみ提供するように前記クロック選択回路を制御する、請求項１６に記載の動作方法。
【請求項１８】
動作方法はさらに、セットアップ期間後に、読出し、プログラム、消去またはベリファイのいずれかの動作のためのコマンドを通常のクロック信号に同期して実行するステップを含む、請求項１６に記載の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＮＤ型のフラッシュメモリのような半導体記憶装置に関し、特に、半導体記憶装置で使用されるフレキシブルなクロックスキームに関する。
【背景技術】
【０００２】
携帯型多機能端末（スマートフォン）、タブレット端末などのモバイル機器用の記憶媒体としてフラッシュメモリが利用されている。このようなモバイル機器の低消費電力化の要求に応えるため、フラッシュメモリにも低消費電力化が求められている。
【０００３】
特許文献１に開示されるフラッシュメモリは、外部からの電源電圧を監視し、電源電圧が特定のレベルよりも低くなったことを検知すると、チャージポンプを動作させるクロックの周波数を低減させ、消費電力を抑制している。また、特許文献２に開示されるフラッシュメモリは、メモリセルの消去動作時など、長期間にわたり動作させる必要がないステートマシンへのクロックを停止させることで、消費電力の低減を図っている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９０５０１号公報
【特許文献２】特開２０１３−８９１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＡＮＤ型のフラッシュメモリは、ＮＯＲ型のフラッシュメモリとは異なり、種々の複雑なオペレーションが要求される。このため、ＮＯＲ型のフラッシュメモリでは、一般にステートマシンによる制御が用われているが、ＮＡＮＤ型のフラッシュメモリでは、プログラムデータを実行可能なプロセッサ（ＣＰＵ）を用いた制御が行われている。プログラムデータは、ＲＯＭまたはＲＡＭに格納され、プロセッサは、ＲＯＭまたはＲＡＭから読み出されたプログラムデータを実行し、メモリアレイユニット、周辺回路、電圧発生回路、データ入出力等の種々の動作を制御する。但し、ＮＡＮＤ型のフラッシュメモリであっても、ステートマシンによる処理が行われるものもある。
【０００６】
このようなプロセッサの動作やステートマシンによる処置は、通常、クロック信号に同期して行われる。すなわち、プロセッサによる処理であれば、クロック信号に同期してプログラムカウンタのアドレスがインクリメントされ、ＲＯＭ／ＲＡＭから１つずつプログラムデータが読み出され、プログラムデータのコマンドがデコードないし処理され、ステートマシンによる処理であれば、予め決められた動作がクロック信号に同期して順次実行される。このため、プロセッサやステートマシンによる処理時間は、クロック信号の周波数に依存し、プロセッサやステートマシンは、クロック信号の周波数よりも高速でコマンドを実行したり、処理を実行することはできない。
【０００７】
一般に、ＮＡＮＤ型フラッシュメモリは、それ自身が内部にクロック発生器を備え、クロック発生器から発生されたクロック信号に基づき内部システムクロック信号を生成している。あるいは他の仕様のＮＡＮＤ型フラッシュメモリは、外部からクロック信号を受け取り、当該外部クロック信号を用いて内部システムクロック信号を生成している。ＮＡＮＤ型フラッシュメモリの内部システムクロック信号の周波数は、消費電力や信号のインテグリティ（ノイズ）を考慮しつつ、内部の最小オペレーション単位を満たすように設定される。すなわち、クロック信号の周波数が大きくなるほど、消費電力が大きくなり、かつノイズも大きくなるため、それらを考慮しつつクロック周波数が設定される。
【０００８】
図１は、従来のＮＡＮＤ型フラッシュメモリの処理シーケンスの一例を示す図である。この例では、期間Ｔ１においてオペレーションセットアップが実行され、次の期間Ｔ２においてセルアレイへのストレス（例えば、データの読出し、プログラム、消去、ベリファイ）が実行され、次の期間Ｔ３においてベリファイのためのセットアップが実行され、次の期間Ｔ４においてベリファイが実行される。プロセッサは、期間Ｔ１ないしＴ４において、内部システムクロック信号ＣＬＫを用いて各コマンドを実行する。
【０００９】
ＮＡＮＤ型フラッシュメモリでは、メモリアレイへのストレス動作のために、読出し、プログラム、消去、ベリファイ等の動作に応じて種々の電圧（例えば、プログラム電圧Ｖｐｐ、読出し電圧Ｖｒｅａｄ、パス電圧Ｖｐａｓｓ、選択ゲート電圧ＶＳＧＳ、ＶＳＤＧなど）を生成しなければならない。通常、フラッシュメモリは、チャージポンプ回路またはレベルシフタ回路等を含む電圧発生回路を備えており、これらの回路を用いて外部電源端子から供給された電源電圧Ｖｄｄを所望の電圧に変換している。図１に示す例では、フラッシュメモリのストレス動作に必要な電圧（Ｖｐｐ、Ｖｒｅａｄ、Ｖｐａｓｓ、ＶＳＧＳ、ＶＳＤＧなど）を生成させるために、期間Ｔ１、Ｔ３において、昇圧された電圧ＨＶ１、ＨＶ２、ＨＶ３、ＨＶ４、ＨＶ５のコマンドを実行する例が示されている。プロセッサは、１つのクロックにつき１つのコマンドを実行するため、プロセッサは、５つのＨＶ１〜ＨＶ５のコマンドを実行するために５つのクロックを必要とする。
【００１０】
期間Ｔ１、Ｔ３において、プロセッサがＨＶ１〜ＨＶ５のコマンドを実行することにより、電圧発生回路においてストレス動作に必要な高電圧が生成されるが、これらの高電圧によってメモリアレイが悪影響を受けないようにするため、発生された高電圧は、セルアレイから電気的に隔離される。期間Ｔ１が終了すると、プロセッサは、期間Ｔ２において、例えば５クロックに相当するコマンドを実行することで、フラッシュメモリのプログラム、読出し、消去等の動作を制御する。次の期間Ｔ３において、期間Ｔ１のときと同様にＨＶ１〜ＨＶ５のコマンドがプロセッサにより実行され、期間Ｔ３が終了すると、期間Ｔ４において、プロセッサは、例えば５クロックに相当するコマンドを実行することで、ベリファイ等の動作を制御する。
【００１１】
セットアップ期間Ｔ１、Ｔ３の時間は、プロセッサが処理するコマンドの数に比例し、コマンド数が多くなれば、クロック数が多くなり、期間Ｔ１、Ｔ３の時間が長くなり、フラッシュメモリの動作時間も長くなる。そこで、セットアップ期間Ｔ１、Ｔ３において、幾つかのコマンドを併合することでコマンド数を減らすことも考えられる。例えば、図２に示すように、期間Ｔ１のセットアップと期間Ｔ３のセットアップにおいて、ＨＶ１とＨＶ２のセットアップコマンドを併合し、ＨＶ３とＨＶ４のセットアップコマンドを併合することで、期間Ｔ１、Ｔ３のクロック数を３に減少させ、全体のクロック数を１６にすることも可能である。図１の場合と比較して、４クロック分だけ期間が短縮されるが、その反面、ＨＶ１およびＨＶ２、ＨＶ３およびＨＶ４、ＨＶ２およびＨＶ３、ＨＶ４およびＨＶ５の併合の組合せをもつセットアップコマンドを準備しなければならず、それに応じてデコード回路が増大してしまう。
【００１２】
このように、従来のＮＡＮＤ型フラッシュメモリでは、セットアップ期間においてプロセッサが処理できるコマンド数は、システムクロック信号の周波数によって制限され、それ故、セットアップの柔軟性に欠けるものであった。
【００１３】
本発明は、このような従来の課題を解決し、フレキシブルなクロックスキームにより柔軟なセットアップを行うことができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明に係るＮＡＮＤ型のフラッシュメモリは、ＮＡＮＤ型のメモリセルを有するメモリアレイと、クロック信号を発生するクロック信号発生手段と、前記クロック信号発生手段により発生されたクロック信号を受け取り、当該クロック信号に同期してフラッシュメモリの予め規定された処理を実行する実行手段と、前記実行手段が行うセットアップの期間中、前記クロック信号発生手段により発生されるクロック信号の周波数が高速化されるように前記クロック信号発生手段を制御する制御手段とを有する。
【００１５】
好ましくは前記実行手段は、フラッシュメモリの予め規定された処理を実行するためのコマンドを格納する格納手段を含み、前記実行手段がセットアップのためのコマンドを実行する期間、前記クロック信号の周波数が高速化される。好ましくは前記実行手段は、フラッシュメモリの予め規定された処理を実行するステートマシンを含み、前記実行手段がセットアップのための処理を実行する期間、前記クロック信号の周波数が高速化される。好ましくは前記制御手段は、外部から受信したコマンドデータに基づきセットアップの有無を判定する。好ましくは前記制御手段は、外部端子から受信したイネーブル信号に基づきセットアップの有無を判定する。好ましくは前記クロック信号発生手段は、クロック信号を発生するクロック発生器と、前記クロック発生器に結合され、前記クロック信号を逓倍する逓倍回路と、前記クロック発生器および前記逓倍回路に結合され、前記クロック信号または逓倍されたクロック信号のいずれかを選択するクロック選択回路とを含み、前記クロック選択回路によって選択されたクロック信号は、前記実行手段に供給され、前記実行手段は、セットアップの期間中、逓倍されたクロック信号に基づき処理を実行する。好ましくは前記制御手段は、前記逓倍回路により前記クロック信号を逓倍する値を設定し、かつ前記クロック選択回路の選択を制御する制御信号を前記クロック信号発生手段へ出力する。好ましくは前記実行手段は、セットアップ期間後に、読出し、プログラム、消去またはベリファイのいずれかの動作のためのコマンドを通常のクロック信号に同期して実行する。好ましくはフラッシュメモリは、外部端子から供給された電源電圧に基づき電圧を発生する電圧発生回路を含み、前記実行手段は、セットアップの期間中、前記電圧発生回路に高電圧を発生させる。好ましくは前記電圧発生回路は、プログラム電圧、消去電圧、読出し電圧、パス電圧のいずれかを発生させる。好ましくは前記制御手段は、複数のセットアップのそれぞれに対応する逓倍する値を規定したテーブルと、前記コマンドデータに基づきセットアップを識別する識別手段とを含み、前記制御手段は、識別されたセットアップに対応する逓倍する値を前記逓倍回路に設定する。
【００１６】
本発明に係る、ＮＡＮＤ型のフラッシュメモリのコントローラが実行するセットアップのためのプログラムは、前記セットアップの有無を判定するステップと、前記セットアップが有ると判定されたとき、セットアップ期間中だけ内部システムクロック信号が高速化されるようにクロック発生回路を制御するステップと、前記高速化されたクロック信号によりセットアップのためのコマンドをプロセッサに実行させるステップとを有する。
【００１７】
本発明に係る、ＮＡＮＤ型のフラッシュメモリにおけるクロック信号を用いた動作方法は、前記セットアップの有無を判定するステップと、前記セットアップが有ると判定されたとき、セットアップ期間中だけ内部システムクロック信号が高速化されるようにクロック発生回路を制御するステップと、前記高速化されたクロック信号によりセットアップのためのコマンドをプロセッサに実行させるステップとを有する。好ましくは動作方法はさらに、セットアップ期間後に、読出し、プログラム、消去またはベリファイのいずれかの動作のためのコマンドを通常のクロック信号に同期して実行するステップを含む。
【発明の効果】
【００１８】
本発明によれば、セットアップの期間中、高速化されたクロック信号を用いてセットアップを実行するようにしたので、セットアップ期間中に処理可能なセットアップのための処理数を適宜設定することができ、セットアップに柔軟性を持たせることができる。さらに、従来と比較して、セットアップ期間中に実行するセットアップの処理数が同じであれば、セットアップ期間の時間を短縮することができ、ひいてはフラッシュメモリのアクセス時間の短縮を図ることができる。
【図面の簡単な説明】
【００１９】
【図１】従来のＮＡＮＤ型フラッシュメモリの処理シーケンスの一例を示す図である。
【図２】従来のＮＡＮＤ型フラッシュメモリの処理シーケンスの一例を示す図である。
【図３】本発明の実施例に係るシステムの一構成例を示す図である。
【図４】本発明の実施例に係るＮＡＮＤ型フラッシュメモリの一構成例を示すブロック図である。
【図５】本発明の実施例に係るＮＡＮＤストリングの構成を示す回路図である。
【図６】本発明の実施例に係るフラッシュメモリの動作時に各部に印加される電圧の一例を示す図である。
【図７】本発明の実施例に係るシステムクロック発生回路の内部構成を示す図である。
【図８】本発明の第１の実施例に係るフラッシュメモリの動作を説明するフローチャートである。
【図９】本発明の実施例に係る処理シーケンスの一例を示す図である。
【図１０】本発明の実施例に係るクロック周波数の設定例を示す図である。
【図１１】本発明の第２の実施例に係るフラッシュメモリの動作を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは同一ではないことに留意すべきである。
【００２１】
図３は、本発明の実施例に係るフラッシュメモリを含むシステムの一例を示す図である。本実施例のシステム１０は、ホストデバイス２０と、当該ホストデバイス２０に接続されたメモリモジュール３０とを含む。ホストデバイス２０は、特に限定されるものではないが、コンピュータ、デジタルカメラ、プリンタなどの電子装置あるいはチップセットに搭載されたチップである。メモリモジュール３０は、メモリコントローラ４０、およびフラッシュメモリ１００を含む。メモリコントローラ４０は、ホストデバイス２０とフラッシュメモリ１００間のデータ転送等を制御する。
【００２２】
本発明の実施例に係るＮＡＮＤ型のフラッシュメモリ１００の構成を図４に示す。同図に示すように、本実施例のフラッシュメモリ１００は、行列状に配列された複数のメモリセルが形成されたメモリアレイ１１０と、外部入出力端子Ｉ／Ｏに接続され入出力データを保持する入出力バッファ１２０と、入出力バッファ１２０からのアドレスデータを受け取るアドレスレジスタ１３０と、入出力されるデータを保持するデータレジスタ１４０と、入出力バッファ１２０からのコマンドデータおよび外部制御信号（図示されないチップイネーブルやアドレスラッチイネーブル等）に基づき各部を制御する制御信号Ｃ１、Ｃ２、Ｃ３、Ｃ４等を生成するコントローラ１５０と、アドレスレジスタ１３０からの行アドレス情報Ａｘをデコードしデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路１６０と、ビット線を介して読み出されたデータを保持したり、ビット線を介してプログラムデータ等を保持するページバッファ／センス回路１７０と、アドレスレジスタ１３０からの列アドレス情報Ａｙをデコードし当該デコード結果に基づきビット線の選択等を行う列選択回路１８０と、データの読出し、プログラムおよび消去等のために必要な電圧（プログラム電圧Vpgm、パス電圧Vpass、読出し電圧Vread、消去電圧Versなど）を生成する内部電圧発生回路１９０と、内部システムクロックＣＬＫを発生するシステムクロック発生回路２００とを含んで構成される。
【００２３】
１つのメモリブロックには、図５に示すように、複数のメモリセルを直列に接続したＮＡＮＤストリングユニットＮＵが複数形成され、１つのブロック内にｎ＋１個のストリングユニットＮＵが行方向に配列されている。セルユニットＮＵは、直列に接続された複数のメモリセルMCi(i=０、１、・・・、３１)と、一方の端部であるメモリセルMC31のドレイン側に接続されたビット線選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続されたソース線選択トランジスタTSとを含む。ビット線選択トランジスタTDのドレインは、対応する１つのビット線GBLに接続され、ソース線選択トランジスタTSのソースは、共通のソース線SLに接続される。
【００２４】
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路１６０は、行アドレスＡｘに基づきブロックを選択するとき、当該ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。
【００２５】
メモリセルは、典型的に、Ｐウエル内に形成されたＮ型の拡散領域であるソース／ドレインと、ソース／ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート（電荷蓄積層）と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むＭＯＳ構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「１」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「０」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。但し、メモリセルは、単ビットを記憶するものに限らず、多ビットを記憶するものであってもよい。
【００２６】
図６は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧（例えば０Ｖ）を印加し、非選択ワード線にパス電圧Vpass（例えば４．５Ｖ）を印加し、選択ゲート線SGD、SGSに正の電圧（例えば４．５Ｖ）を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に０Ｖを印加する。プログラム（書込み）動作では、選択されたワード線に高電圧のプログラム電圧Vpgm（１５〜２０Ｖ）を印加し、非選択のワード線に中間のパス電圧（例えば１０Ｖ）を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「０」または「１」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に０Ｖを印加し、Ｐウエルに高電圧の消去電圧Vers（例えば２０Ｖ）を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００２７】
内部電圧発生回路１９０は、フラッシュメモリの外部電源端子から供給された電源電圧Ｖｄｄを受け取る。内部電圧発生回路１９０は、チャージポンプ回路またはレベルシフタ回路等を含み、これらの回路の動作は、コントローラ１５０が実行するセットアップコマンドによって制御される。
【００２８】
図７は、図４に示すシステムクロック発生回路の構成例を示す図である。システムクロック発生回路２００は、周波数ｆのクロック信号ＣＬＫを発生するクロック発生器２１０と、コントローラ１５０からの制御信号Ｃ４に基づきクロック信号ＣＬＫを逓倍し、ｆ×ｎ（周期Ｔ／ｎ）の周波数のクロック信号ＣＬＫｎを生成する逓倍回路２２０と、クロック発生器２１０からのクロック信号ＣＬＫおよび逓倍回路２２０からのクロック信号ＣＬＫｎを受け取りクロック信号ＣＬＫまたはクロック信号ＣＬＫｎを選択するクロック選択回路２３０とを有する。クロック選択回路２３０によって選択されたクロック信号ＣＬＣ／ＣＬＫｎは、コントローラ１５０へ提供される。ここで留意すべきは、コントローラ１５０へのクロック信号の供給は、クロック選択回路２３０を介して行われ、言い換えれば、コントローラ１５０のプロセッサは、クロック信号ＣＬＫまたは逓倍されたクロック信号ＣＬＫｎに同期してコマンドを実行する。それ故、コントローラ１５０以外の他の回路には、常に、クロック信号ＣＬＫが内部システムクロック信号として供給される。
【００２９】
コントローラ１５０は、プロセッサと、ＲＯＭおよび／またはＲＡＭとを含んで構成される。ＲＯＭ／ＲＡＭには、プログラムデータが格納され、プロセッサは、ＲＯＭ／ＲＡＭからプログラムデータを読み出し、プログラムデータに含まれるコマンドを実行する。プロセッサは、システムクロック発生回路２００によって発生されたクロック信号ＣＬＫ／ＣＬＫｎを受け取り、クロック信号ＣＬＫ／ＣＬＫｎに同期して１つずつコマンドを実行する。
【００３０】
コントローラ１５０は、後述するようにフラッシュメモリ１００が特定の動作、すなわちセットアップを行うとき、逓倍回路２２０の逓倍する値ｎを設定し、かつクロック選択回路２３０が逓倍したクロック信号ＣＬＫｎを選択するような制御信号Ｃ４をシステムクロック発生回路２００に出力する。逓倍する値ｎは、特に制限されるものではないが、例えば、１よりも大きい正の数であることができる。また、逓倍する値ｎは、常に一定である必要はなく、フラッシュメモリのセットアップの種類に応じて可変されるものであってもよい。
【００３１】
好ましい態様では、コントローラ１５０は、フラッシュメモリ１００のセットアップの有無を判定し、セットアップが有ると判定したとき、クロック信号ＣＬＫの周波数がｎｆに逓倍されるように逓倍回路２２０を制御する。ここで、セットアップとは、フラッシュメモリを動作させるために必要な処理であって、メモリアレイ１１０の動作には直接的に関係しない動作である。より具体的には、セットアップは、メモリアレイ１１０から電気的に隔離された回路での動作であり、例えば、内部電圧発生回路１９０による電圧の発生動作である。このようなセットアップの期間中であれば、仮に高速のクロック信号ＣＬＫｎによるコマンドを実行し、内部電圧発生回路１９０を高速に動作させたとしても、そこで発生するノイズがメモリセルアレイのデータに直接的な悪影響を及ぼすことはない。
【００３２】
他の好ましい態様では、コントローラ１５０は、例えば、ＲＯＭ／ＲＡＭに、セットアップの種類に応じて逓倍する値ｎを関連付けしたテーブルを包含することができる。図８は、そのようなテーブルの一例である。同図に示すように、セットアップの種類が１であれば、逓倍する値はｎ１であり、セットアップの種類が２であれば、逓倍する値はｎ２である。コントローラ１５０は、メモリコントローラから受け取ったコマンドの解析結果に基づきセットアップの種類を識別し、識別されたセットアップに対応する逓倍する値を逓倍回路２２０に設定することができる。また、クロック選択回路２３０は、逓倍回路２２０から逓倍されたクロック信号ＣＬＫｎを受け取った場合には、コントローラ１５０からの制御信号Ｃ４によらず、逓倍回路２２０のクロック信号ＣＬＫｎを選択するようにしてもよい。
【００３３】
次に、本実施例のフラッシュメモリの動作を図９のフローチャートを参照して説明する。図３に示すシステム１０において、メモリコントローラ４０は、ホストデバイス２０の要求に応答してフラッシュメモリ１００にコマンドを送信する。当該コマンドは、フラッシュメモリ１００の入出力バッファ１２０で受信され（Ｓ１００）、次いで、受信されたコマンドはコントローラ１５０によって解析される（Ｓ１０２）。コントローラ１５０は、コマンドの解析結果に基づきセットアップが発生するか否かを判定する（Ｓ１０４）。例えば、コマンドがメモリセルへのプログラム（書込み）であるとき、コントローラ１５０は、プログラムに必要な電圧の生成のためのセットアップが発生すると判定する。あるいは、コマンドがメモリセルからのデータの読み出し、ブロック消去、ベリファイなどのときにもセットアップが発生すると判定する。但し、セットアップが発生するか否かは、フラッシュメモリ１００の動作仕様に応じて適宜選択され得るものである。
【００３４】
セットアップが発生すると判定された場合、コントローラ１５０は、システムクロック発生回路２００に対して高速クロックの生成を指示する制御信号Ｃ４を発生する（Ｓ１０６）。具体的には、コントローラ１５０は、逓倍回路２２０に逓倍する値ｎを設定し、逓倍回路２２０に逓倍されたクロック信号ＣＬＫｎを生成させ、かつクロック選択回路２３０にクロック信号ＣＬＫｎを選択させる。
【００３５】
クロック選択回路２３０は、逓倍されたクロック信号ＣＬＫｎをコントローラ１５０へ提供し、コントローラ１５０のプロセッサは、セットアップ期間中に、クロック信号ＣＬＫｎを用いてセットアップのためのコマンドを実行する（Ｓ１０８）。クロック信号ＣＬＫｎは、クロック選択回路２３０によってコントローラ１５０へのみ提供され、メモリアレイ１１０へ供給されない。それ故、高速のクロック信号ＣＬＫｎによりメモリセルのデータが悪影響を受けることはない。
【００３６】
次に、コントローラ１５０は、セットアップが終了したか否かを判定する（Ｓ１１２）。例えば、コントローラ１５０は、セットアップのためのすべてのコマンドの処理を完了したとき、セットアップが終了したと判定する。あるいは、コントローラ１５０は、セットアップのためのコマンド数に対応するクロック数を、カウンタ等によりカウントし、そのカウント値がクロック数に到達したとき、セットアップが終了したと判定する。
【００３７】
コントローラ１５０は、セットアップが終了したと判定すると、システムクロック発生回路２００に対してクロック信号の逓倍の終了を指示する（Ｓ１１２）。具体的には、コントローラ１５０は、制御信号Ｃ４により逓倍回路２２０の動作を停止させ、あるいは逓倍を停止させ、かつクロック選択回路２３０にクロック発生器２１０で発生されたクロック信号ＣＬＫを選択させる。これにより、コントローラ１５０には、通常のシステムクロック信号ＣＬＫが供給される。
【００３８】
次に、本実施例によるコントローラの処理シーケンスの一例を図１０に示す。同図に示す処理シーケンスは、図１および図２の処理シーケンスに対応するものであり、コントローラ１５０は、期間Ｔ１、Ｔ３においてセットアップを実行し、期間Ｔ２、期間Ｔ４においてメモリセルに関係する動作を実行する。
【００３９】
コントローラ１５０は、メモリコントローラ４０から、ストレス期間Ｔ２において実施されるべきコマンドを受け取ると、セットアップが必要であると判定し、期間Ｔ２より前の期間Ｔ１においてセットアップの処理を実行する。このため、コントローラ１５０は、システムクロック発生回路２００に制御信号Ｃ４を出力し、システムクロック発生回路２００から逓倍されたクロック信号ＣＬＫｎを受け取る。コントローラ１５０は、図８に示すテーブルを参照し、期間Ｔ１のセットアップの種類を識別し、これに対応する逓倍する値を設定することができる。
【００４０】
コントローラ１５０によって、例えば、逓倍する値ｎが２に設定されれば、２ｆの周波数のクロック信号ＣＬＫｎが生成され、これがコントローラ１５０へ提供される。同様に、ｎ＝３、ｎ＝４であれば、３ｆ、４ｆの高速化されたクロック信号ＣＬＫｎが生成される。セットアップ期間Ｔ１において、高電圧ＨＶ１ないしＨＶ５のセットアップコマンドが順次実行されるが、クロック信号ＣＬＫｎは、クロック信号ＣＬＫよりも高速であるため、セットアップ期間Ｔ１を短縮させることができる。他方、セットアップ期間Ｔ１が、図１のセットアップ期間Ｔ１と同じ時間を許されるならば、本実施例では、図１のセットアップ期間Ｔ１で実行されるコマンド数よりも多くのコマンド数を実行させることができる。さらに、セットアップ期間Ｔ１において生成されたクロック信号ＣＬＫｎは、コントローラ１５０にのみ供給されるため、メモリセルに保持されたデータや、信号のインテグリティなどに悪影響を及ぼすことが回避される。
【００４１】
セットアップ期間Ｔ１が終了し、ストレス期間Ｔ２において、コントローラ１５０には、通常の内部システムクロック信号ＣＬＫが供給される。コントローラ１５０は、クロック信号ＣＬＫに基づき期間Ｔ２のストレス動作に必要なコマンドを実行する。
【００４２】
次に、コントローラ１５０は、ベリファイのコマンドを受け取ると、ベリファイのセットアップが必要であると判定し、セットアップ期間Ｔ３において、逓倍されたクロック信号ＣＬＫｎが供給されるようにシステムクロック発生回路２００を制御する。セットアップが終了すると、再び、通常の内部システムクロック信号ＣＬＫが供給されるようにシステムクロック発生回路２００を制御する。図１０の処理シーケンスにおいて、クロック信号ＣＬＫをｎ＝２で逓倍した場合（周波数＝２×ｆ、周期＝１／２Ｔ）、図１では合計で２０クロックを必要とするのに対し、本実施例では、逓倍前のシステムクロックで換算すると、１５クロックで足りる。
【００４３】
このように本実施例によれば、セットアップ期間において、プロセッサの処理に使用されるクロック周波数を通常の内部システムクロック周波数よりも高速にすることで、セットアップする内容をフレキシブルに設定することが可能になる。同時に、セットアップ期間を従来のセットアップ期間よりも短縮させることで、フラッシュメモリの動作を高速化させることができる。
【００４４】
次に、本発明の第２の実施例について説明する。第１の実施例では、コントローラ１５０がメモリコントローラからのコマンドに応じてセットアップ期間中にクロック信号を高速化する例を示したが、第２の実施例では、コントローラ１５０は、メモリコントローラからの外部制御信号に応じてセットアップ期間中にクロック信号を高速化させる。
【００４５】
図１１は、第２の実施例の動作を示すフローチャートである。メモリコントローラ４０は、外部制御信号としてセットアップイネーブル（ＳＵＥＮ）信号をフラッシュメモリ１００へ送信する（Ｓ２００）。コントローラ１５０は、外部制御端子からセットアップイネーブル信号を受信したか否かを判定する（Ｓ２０２）。セットアップイネーブル信号を受信したと判定すると、コントローラ１５０は、第１の実施例のときと同様に、制御信号Ｃ４を介してシステムクロック制御回路２００に高速クロック信号を生成させ（Ｓ２０４）コントローラ１５０は、生成されたクロック信号ＣＬＫｎによりセットアップ動作のためのコマンドを実行する（Ｓ２０６）。
【００４６】
次に、コントローラ１５０は、セットアップが終了したか否かを判定する（Ｓ２０８）。この判定方法は、第１の実施例と同様に、セットアップの動作のためのすべてのコマンドの実行が完了したとき、あるいはセットアップの動作のためのすべてのコマンド数に一致するクロック数が経過したときに、セットアップが終了したと判定することができる。また、他の方法として、コントローラ１５０は、メモリコントローラ４０からセットアップを終了させるためのセットアップディスエーブル信号を受信したことに応答してセットアップが終了したと判定することも可能である。この場合、メモリコントローラ４０とフラッシュメモリ１００とは、共通の外部システムクロックで同期して動作され、メモリコントローラ４０は、外部システムクロック信号と同期する内部システムクロック信号のクロック数または時間に基づきセットアップ時間を監視するようにしてもよい。
【００４７】
上記実施例では、図７に示すシステムクロック発生回路２００が、クロック発生器２１０からのクロック信号ＣＬＫを逓倍回路２２０によって逓倍するようにしたが、これは、一例であり、本実施例のシステムクロック発生回路２００は、このような構成に限定されず、クロック周波数を任意の周波数に可変するものであってもよい。例えば、システムクロック発生回路２００は、基準クロックを発生する水晶発振子からのクロックを所望の周波数クロックに可変させるＰＬＬ回路により構成されるようにしてもよい。好ましくは、ＰＬＬ回路は、コントローラ１５０からの制御信号Ｃ４に応答して、セットアップ期間中のみ基準クロックの周波数が高速に可変されたクロック信号を出力し、ストレス期間中には通常の周波数のクロックを出力する。この場合、システムクロック発生回路は、図７に示すようなクロック選択回路２３０は不要である。さらに、本実施例のシステムクロック発生回路は、ＰＬＬ回路を用いることなく、１つまたは複数の分周回路や逓倍回路を適宜組み合わせることで、所望の周波数のクロック信号を生成するものであってもよい。
【００４８】
さらに上記実施例では、ＮＡＮＤ型フラッシュメモリがプロセッサによりコマンドを実行する例を示したが、これに限らず、本発明に係るＮＡＮＤ型フラッシュメモリは、プロセッサ（ＣＰＵ）ではなく、クロック信号に同期して予め決められた処理シーケンスを実行するステートマシンであってもよい。ステートマシンの場合には、予め決められたセットアップ期間に対応する各処理を実行するとき、逓倍クロックを用いて処理の高速化が図られる。例えば、図１０に示すような処理であれば、セットアップ期間Ｔ１、Ｔ３の各処理を実行するのに逓倍クロックが用いられ、セットアップ期間Ｔ１、Ｔ３の終了が検出されたとき、逓倍クロックが元に戻される。例えば、図７に示すシステムクロック発生回路は、ステートマシンが処理する内容に基づきセットアップ期間Ｔ１、Ｔ３を検出し、この間、逓倍クロックを発生させる。このようにステートマシンによる処理であっても、セットアップ期間中に高速化されたクロックを使用することでセットアップ時間の短縮を図ることができる。
【００４９】
以上のように本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５０】
１００：フラッシュメモリ                １１０：メモリアレイ
１２０：入出力バッファ                  １３０：アドレスレジスタ
１４０：データレジスタ                  １５０：コントローラ
１６０：ワード線選択回路                １７０：ページバッファ／センス回路
１８０：列選択回路                      １９０：内部電圧発生回路
２００：システムクロック発生回路        ２１０：クロック発生部
２２０：逓倍回路                        ２３０：クロック選択回路
【要約】
【課題】  フレキシブルなクロックスキームにより柔軟なセットアップを行うことができる半導体記憶装置を提供する。
【解決手段】  本発明のＮＡＮＤ型のフラッシュメモリ１００は、ＮＡＮＤ型のメモリセルを有するメモリアレイ１１０と、プロセッサおよびＲＯＭ／ＲＡＭを含むコントローラ１５０と、内部システムクロックを発生するクロック発生回路２００とを含む。ＲＯＭ／ＲＡＭには、少なくともフラッシュメモリのセットアップのためのセットアップコマンドが格納され、プロセッサは、セットアップ期間中、内部システムクロック信号に基づきセットアップコマンドを処理する。コントローラ１５０はさらに、セットアップの期間中、内部システムクロック信号の周波数が高速化されるようにシステムクロック発生回路２００を制御する。
【選択図】  図４【図１】
0005905547.tif 000002
【図２】
0005905547.tif 000003
【図３】
0005905547.tif 000004
【図４】
0005905547.tif 000005
【図５】
0005905547.tif 000006
【図６】
0005905547.tif 000007
【図７】
0005905547.tif 000008
【図８】
0005905547.tif 000009
【図９】
0005905547.tif 000010
【図１０】
0005905547.tif 000011
【図１１】
0005905547.tif 000012