(57)【要約】【課題】  複数のメモリチップ間のビジー状態の不一致を防止する。【解決手段】  本発明のフラッシュメモリデバイス１００は、マスタチップ２００と、少なくとも１つのスレーブチップ３００とを含む。マスタチップ２００およびスレーブチップは、プロテクト情報を格納可能なステータスレジスタを含み、ステータスレジスタのプロテクト情報をロックするためのＷＰコマンドが入力されたとき、プロテクト情報およびロック情報をメモリセルアレイにプログラムする。このとき、選択されたメモリチップでのプログラム時間が非選択のメモリチップでのプログラム時間よりも長くなるようにプログラムが制御される。【選択図】  図１
2019121410.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリチップを含み、外部から供給されるアドレスに基づき複数のメモリチップのいずれかが選択される半導体記憶装置であって、
複数のメモリチップの各々は、
プロテクト情報を格納することが可能なステータスレジスタと、
不揮発性のメモリセルアレイと、
外部からのコマンドに応答して前記ステータスレジスタへの書き込みを行う書込み手段と、
外部からのコマンドに応答して前記ステータスレジスタの読出しを行う読出し手段と、
外部からのコマンドに応答して前記ステータスレジスタへの書込みを禁止するとともに、前記プロテクト情報および書込み禁止の情報を前記メモリセルアレイの特定の領域にプログラムする、書込み禁止手段と、
メモリチップの動作を制御する制御手段とを有し、
選択されたメモリチップの制御手段は、書込み禁止手段によるプログラム時間が非選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも長くなるように、プログラムを制御する、半導体記憶装置。
【請求項２】
非選択のメモリチップの制御手段は、書込み禁止手段によるプログラム時間が選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも短くなるように、プログラムを制御する、請求項１に記載の半導体記憶装置。
【請求項３】
選択されたメモリチップのプログラムパルス数が非選択のメモリチップのプログラムパルス数よりも多くなるようにプログラムが制御される、請求項１または２に記載の半導体記憶装置。
【請求項４】
選択されたメモリチップにおいてプログラムが行われた後に非選択のメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップにおいてビジー状態が継続されるように待ち時間の制御が行われる、請求項１または２に記載の半導体記憶装置。
【請求項５】
非選択のメモリチップにおいてプログラムが行われた後に選択されたメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップはプログラムの開始を待つように制御される、請求項１または２に記載の半導体記憶装置。
【請求項６】
選択されたメモリチップの読出し手段が、前記ステータスレジスタの内容に含まれるビジー状態を出力する、請求項１ないし５いずれか１つに記載の半導体記憶装置。
【請求項７】
前記制御手段は、外部からのアドレスに基づき自身が選択されたメモリチップであるか否かを判定し、選択されたメモリチップは、外部からのコマンドに応答して動作する、請求項１ないし６いずれか１つに記載の半導体記憶装置。
【請求項８】
前記制御手段は、外部からのコマンドがステータスレジスタに関するコマンドか否かを判定し、ステータスレジスタに関するコマンドであるとき、選択されたメモリチップおよび非選択のメモリチップは、ステータスレジスタに関するコマンドに応答して動作する、請求項１ないし７いずれか１つに記載の半導体記憶装置。
【請求項９】
複数のメモリチップは、フラッシュメモリである、請求項１ないし８いずれか１つに記載の半導体記憶装置。
【請求項１０】
複数のメモリチップは、外部から供給されるクロック信号に同期してデータの入出力をすることが可能なシリアルインターフェース機能を搭載する、請求項１ないし９いずれか１つに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のダイまたはチップをスタックした半導体記憶装置に関し、特に、シリアルペリフェラルインターフェース（ＳＰＩ）機能を搭載したフラッシュメモリに関する。
【背景技術】
【０００２】
マルチチップパッケージは、１つのパッケージ内に同種または異種のダイまたはチップを複数スタックするものであり、例えば、同種のメモリチップをスタックすることでメモリ容量を拡大したり、異種のメモリチップをスタックすることで異なるストレージ機能を提供することができる。例えば、特許文献１の不揮発性半導体記憶装置は、複数のメモリアレイチップと、メモリアレイチップの制御を行う制御チップとを積層し、メモリアレイチップの貫通電極と制御チップの貫通電極とを位置合わせし、両貫通電極の電気的な接続を行っている。また、特許文献２の半導体デバイスは、マスタフラッシュメモリチップと、スレーブフラッシュメモリチップとを積層し、スレーブフラッシュメモリチップの非コア回路を欠如させ、マスタフラッシュメモリチップからスレーブフラッシュメモリチップにデバイス動作のための必要な信号および電圧を供給している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３００４６９号公報
【特許文献２】特開２０１４−５７０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のメモリチップをスタックしたメモリデバイスには、個々のメモリチップがホストコンピュータから出力されるアドレスをモニタし、自身が選択されたメモリチップであるか否かを検出するものがある。ホストコンピュータは、メモリチップを選択するための特定のコマンドを必要とせず、あたかもモノリシックなメモリチップを扱うようにメモリデバイスにコマンドやアドレスを出力すればよい（このようなメモリデバイスを、以下、モノリシックスタックダイという）。
【０００５】
また、スタックされたメモリチップの一方をマスタに、他方をスレーブに設定し、マスタチップまたはスレーブチップの識別を行うことも可能である。マスタ／スレーブの設定は、例えば、フューズやメタルオプションによって行うことができる。例えば、マスタ側のメモリチップのＩＤを「００」、スレーブ側のメモリチップのＩＤを「０１」に設定し、マスタ側のメモリチップは、ＢＡ１０＝Ｌ（ブロックアドレス「１０」がＬのとき選択され）、スレーブ側のメモリチップは、ＢＡ１０＝Ｈのときに選択されるようにすることができる。
【０００６】
このようなモノリシックスタックのフラッシュメモリにおいて、マスタ側のメモリチップ（以下、マスタチップ）がビジーである期間とスレーブ側のメモリチップ（以下、スレーブチップ）がビジーである期間とが一致しない場合が生じ得る。例えば、マスタチップがビジー状態でないにもかかわらず、スレーブチップがビジー状態であると、ホストコンピュータからのアドレスによってスレーブチップが選択されても、ホストコンピュータから指示された動作をスレーブチップにおいて実行することができない、という課題がある。
【０００７】
例えば、ＳＰＩ機能を搭載したＮＡＮＤフラッシュメモリは、フラッシュメモリの動作や仕様に関するプロテクト情報やフラッシュメモリがビジー状態にあるか否かの情報などを格納するステータスレジスタ（ＳＲ）を備えている。ステータレジスタへのアクセスは、リードコマンドやライトコマンドによって行うことが可能であり、ユーザーは、ステータスレジスタに、例えば、メモリセルアレイの利用可能な領域、ＥＣＣの使用の有無、保護するブロックの情報などのプロテクト情報を書き込むことができる。また、ＳＰＩ＿ＮＡＮＤのようにビジー／レディピンを持たないフラッシュメモリでは、ユーザーは、ステータスレジスタをリードすることで、フラッシュメモリがビジー状態であるか否かを知ることができる。
【０００８】
フラッシュメモリには、ステータスレジスタに書込まれた情報や、メモリセルアレイのユーザーによってアクセスすることができないワンタイムプログラム領域に書込まれた情報をロックする機能が搭載されている。ワンタイムプログラム領域は、例えば、フラッシュメモリの動作や仕様等に関する重要なパラメータ等の情報を格納することができる領域である。
【０００９】
ステータスレジスタやワンタイムプログラム領域に格納された情報をロック（書き換え禁止）する場合、ホストコンピュータからフラッシュメモリにライトプロテクトコマンド（以下、ＷＰコマンド）が発せられる。フラッシュメモリは、ＷＰコマンドを受け取ると、ステータスレジスタやワンタイムプログラム領域にアサインされたフューズレジスタの特定のフラグビットを、例えば「１」に設定し、それ以降、ステータスレジスタやワンタイムプログラム領域のデータを書き換えるためのライトコマンドのアクセスを禁止する。また、ＷＰコマンドを実行するとき、フラッシュメモリは、フューズレジスタに設定されたロック情報やステータスレジスタに書込まれたプロテクト情報を、メモリセルアレイ内の冗長領域にプログラムする。フューズレジスタやステータスレジスタは揮発性であるため、ロック情報やプロテクト情報を不揮発性の冗長領域に恒久的に格納する必要がある。フラッシュメモリの電源再投入時、冗長領域から読み出されたプロテクト情報やロック情報がステータスレジスタやフューズレジスタにロードされる。
【００１０】
ホストコンピュータからステータスレジスタのリードコマンドが発せられたとき、選択されているメモリチップからステータスレジスタの内容が読み出される。モノリシックスタックダイの場合、メモリチップの選択はアドレスによって決定されるため、マスタチップとスレーブチップのそれぞれのステータスレジスタは常に同じでなければならない。それ故、モノリシックスタックダイにおいて、ホストコンピュータからライトコマンドが発せられた場合には、マスタチップおよびスレーブチップは、同時に、ライトコマンドを実行し、ステータスレジスタ／ワンタイムプログラム領域の書き換えを行い、また、ＷＰコマンドが発せられた場合にも、マスタチップおよびスレーブチップは、同時にＷＰコマンドを実行し、ステータスレジスタまたはワンタイムプログラム領域をロックするためにフューズレジスタに「１」をセットする。
【００１１】
しかしながら、このようなモノリシックスタックダイの動作には、次のような課題がある。
１．通常、ステータスレジスタのリードコマンドによって、選択されたメモリチップのみのビジー状態を監視することができ、ユーザーは、非選択のメモリチップの状態を監視することはできない。それ故、非選択のメモリチップのロック動作（冗長領域へのプログラム動作を含む）は、選択されたメモリチップのロック動作よりも前に終了していなければならない。そうでなければ、ユーザーは、非選択のメモリチップが未だビジーであるにもかかわらず、リードコマンドによって選択されたメモリチップからレディ状態の出力を得てしまう。
２．２つのメモリチップがＷＰコマンドを同時に実行すると、メモリセルアレイアレイへのプログラムが同時に行われるため、動作電流（Ｉｃｃ）が２倍になってしまう。
【００１２】
本発明は、このような従来の課題を解決するものであり、複数のメモリチップ間のビジー状態の不一致を防止する半導体記憶装置を提供することを目的とする。
さらに本発明は、消費電流のピークを抑制する半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る半導体記憶装置は、複数のメモリチップを含み、外部から供給されるアドレスに基づき複数のメモリチップのいずれかが選択されるものであって、複数のメモリチップの各々は、プロテクト情報を格納することが可能なステータスレジスタと、不揮発性のメモリセルアレイと、外部からのコマンドに応答して前記ステータスレジスタへの書き込みを行う書込み手段と、外部からのコマンドに応答して前記ステータスレジスタの読出しを行う読出し手段と、外部からのコマンドに応答して前記ステータスレジスタへの書込みを禁止するとともに、前記プロテクト情報および書込み禁止の情報を前記メモリセルアレイの特定の領域にプログラムする、書込み禁止手段と、メモリチップの動作を制御する制御手段とを有し、選択されたメモリチップの制御手段は、書込み禁止手段によるプログラム時間が非選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも長くなるように、プログラムを制御する。
【００１４】
ある実施態様では、非選択のメモリチップの制御手段は、書込み禁止手段によるプログラム時間が選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも短くなるように、プログラムを制御する。ある実施態様では、選択されたメモリチップのプログラムパルス数が非選択のメモリチップのプログラムパルス数よりも多くなるようにプログラムが制御される。ある実施態様では、選択されたメモリチップにおいてプログラムが行われた後に非選択のメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップにおいてビジー状態が継続されるように待ち時間の制御が行われる。ある実施態様では、非選択のメモリチップにおいてプログラムが行われた後に選択されたメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップはプログラムの開始を待つように制御される。ある実施態様では、選択されたメモリチップの読出し手段が、前記ステータスレジスタの内容に含まれるビジー状態を出力する。ある実施態様では、前記制御手段は、外部からのアドレスに基づき自身が選択されたメモリチップであるか否かを判定し、選択されたメモリチップは、外部からのコマンドに応答して動作する。ある実施態様では、前記制御手段は、外部からのコマンドがステータスレジスタに関するコマンドか否かを判定し、ステータスレジスタに関するコマンドであるとき、選択されたメモリチップおよび非選択のメモリチップは、ステータスレジスタに関するコマンドに応答して動作する。ある実施態様では、複数のメモリチップは、フラッシュメモリである。ある実施態様では、複数のメモリチップは、外部から供給されるクロック信号に同期してデータの入出力をすることが可能なシリアルインターフェース機能を搭載する。
【発明の効果】
【００１５】
本発明によれば、選択されたメモリチップにおけるプログラム時間が非選択のメモリチップにおけるプログラム時間よりも長くなるようにしたので、非選択のメモリチップがビジー状態であるにもかかわらず、選択されたメモリチップがビジー状態でないという事象の発生を防止することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例に係るモノリシックスタックのフラッシュメモリデバイスの概略構成を示す図である。
【図２】本発明の実施例に係るマスタ側のメモリチップの概略構成を示すブロック図である。
【図３】本発明の実施例に係るモノリシックスタックにおけるステータスレジスタに関するコマンドの動作を説明するフローである。
【図４】本発明の実施例におけるＷＰコマンドが実行されるときの基本動作を説明するフローである。
【図５】本発明の第１の実施例に係るＷＰコマンドが実行されるときのプログラム動作の制御を説明するフローチャートである。
【図６】本発明の第１の実施例に係るＷＰコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
【図７】本発明の第２の実施例に係るＷＰコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
【図８】本発明の第３の実施例に係るＷＰコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
次に、本発明の実施の形態について図面を参照して詳細に説明する。好ましい態様では、本発明に係る半導体記憶装置は、マスタ側のメモリチップと、１つまたは複数のスレーブ側のメモリチップとをスタックしたＮＡＮＤ型やＮＯＲ型のフラッシュメモリである。但し、本発明に係る半導体記憶装置は、フラッシュメモリと異種のＤＲＡＭ等のメモリチップやその他のメモリチップを包含するものであってもよい。さらに、フラッシュメモリは、クロック信号に同期してデータの入出力が可能なシリアルインターフェース機能を搭載することも可能である。
【実施例】
【００１８】
図１に、本発明の実施例に係るモノリシックスタックのフラッシュメモリデバイスの概略構成を示す。フラッシュメモリデバイス１００は、マスタ側のメモリチップ２００（マスタチップ）と、少なくとも１つのスレーブ側のメモリチップ３００（スレーブチップ）とを含む。本例では、１つのスレーブチップ３００を例示しているが、フラッシュメモリデバイス１００は、２つ以上のスレーブチップを含むものであってもよい。フラッシュメモリデバイス１００は、例えば、ＢＧＡまたはＣＳＰパッケージから構成される。例えば、ＢＧＡパッケージは、スタックされたマスタチップとスレーブチップがフレキシブル回路基板上にフリップチップ実装され、あるいはワイヤボンディングにより回路基板に接続される。
【００１９】
マスタチップ２００は、複数のＮＡＮＤストリングユニットを含むメモリセルアレイ２１０、メモリセルアレイの行や列の選択を行うデコーダやページバッファ／センス回路等を含む周辺回路２２０、マスタチップ２００の全体の動作を制御するコントローラ２３０、外部端子を介してホストコンピュータ１０との間で信号等の送受の外部インターフェースを構成する入出力回路２４０を含む。スレーブチップ３００は、マスタチップ２００と同一の構成を有し、すなわち、複数のＮＡＮＤストリングユニットを含むメモリセルアレイアレイ３１０、メモリセルアレイの行や列の選択を行うデコーダやページバッファ／センス回路等を含む周辺回路３２０、スレーブチップ３００の全体の動作を制御するコントローラ３３０、外部端子を介してホストコンピュータ１０との間で信号等の送受の外部インターフェースを構成する入出力回路３４０を含む。なお、フラッシュメモリデバイス１００の外部端子は、マスタチップ２００とスレーブチップ３００とに共通であることができる。
【００２０】
マスタチップ２００の入出力回路２４０およびスレーブチップ３００の入出力回路３４０は、例えば、データ入出力用の外部端子、制御信号（アドレスラッチイネーブル、コマンドラッチイネーブル等）を入力するための外部端子、ビジー信号／レディ信号を出力する外部端子、クロック信号を入力するための端子などを含むことができる。但し、ＳＰＩ機能を搭載したフラッシュメモリデバイスは、ＮＯＲ型フラッシュメモリとの互換性で動作するため、データを入力する入力端子、データを出力する出力端子、クロックを入力するクロック端子、チップセレクト端子、ライトプロテクト端子等を含むものであってもよく、必ずしも、ビジー信号やレディ信号を出力する端子は備えていない点に留意すべきである。
【００２１】
マスタチップ２００およびスレーブチップ３００は、入出力回路２４０および３４０を介してホストコンピュータ１０に接続され、ホストコンピュータ１０は、フラッシュメモリデバイス１００に対して読出し、プログラム、消去、ステータスレジスタの内容を読み出すリードコマンド、ステータスレジスタへの書き込みを行うライトコマンド、ステータスレジスタやワンタイムプログラム領域をロックするためのＷＰコマンド等を与える。マスタチップ２００およびスレーブチップ３００は、ホストコンピュータ１０から入出力回路２４０および３４０を介して入力されるアドレスを監視し、自身が選択されたか否かを判定する。マスタチップ２００またはスレーブチップ３００は、自身が選択されたとき、ホストコンピュータ１０から与えられた指示を実行する。但し、ステータスレジスタの書込みを行うライトコマンドを受け取った場合には、マスタチップ２００およびスレーブチップ３００は、それぞれライトコマンドを実行し、それぞれのステータスレジスタに同じ内容を書込み、さらにＷＰコマンドを受け取った場合にも、マスタチップ２００およびスレーブチップ３００は、それぞれＷＰコマンドを実行し、ステータスレジスタ／ワンタイムプログラム領域のロック動作を行う。また、ステータスレジスタのリードコマンドを受け取った場合には、選択されたメモリチップがステータスレジスタの内容を読み出し、これを出力する。
【００２２】
図２は、本実施例のマスタチップの内部構成を示す図である。マスタチップ２００は、複数のメモリセルアレイが行列状に配列されたメモリセルアレイ２１０と、周辺回路２２０と、コントローラ２３０と、入出力回路２４０とを含む。なお、スレーブチップ３００は、マスタチップ２００と同一の構成を有するため、ここでは、マスタチップ２００の内部構成のみを説明する。
【００２３】
周辺回路２２０は、入出力回路２４０を介してアドレスデータを受け取るアドレスレジスタ２２１と、アドレスレジスタ２２１からの行アドレス情報Ａｘに基づきブロックの選択およびワード線の選択等を行うワード線選択回路２２２と、ワード線選択回路２２２によって選択されたページから読み出されたデータを保持したり、選択されたページにプログラムすべき入力データを保持するページバッファ／センス回路２２３と、アドレスレジスタ２２１からの列アドレス情報Ａｙに基づきページバッファ／センス回路２２３内の列アドレスのデータを選択する列選択回路２２４と、フラッシュメモリの動作や仕様等についてユーザーにより設定されたプロテクト情報やフラッシュメモリがビジー状態にあるか否かの情報などを格納するステータスレジスタ２２５と、データの読出し、プログラムおよび消去等のために必要な種々の電圧（書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど）を生成する内部電圧発生回路２２６とを含む。コントローラ２３０は、入出力回路２４０からコマンド等を受け取り、マスタチップ２００の動作を制御する。
【００２４】
メモリセルアレイ２１０は、列方向にｍ個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。１つのメモリブロックには、複数のメモリセルアレイを直列に接続したＮＡＮＤストリングユニットが複数形成される。メモリセルアレイはさらに、ユーザーによってアクセスすることができない冗長領域やワンタイムプログラム領域を含む。
【００２５】
メモリセルアレイ２１０の読出し動作では、ビット線に正の電圧を印加し、選択ワード線に例えば０Ｖを印加し、非選択ワード線にパス電圧を印加し、共通ソース線に０Ｖを印加する。プログラム動作では、選択ワード線に高電圧のプログラム電圧Vpgmを印加し、非選択のワード線に中間電位を印加し、「０」または「１」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に０Ｖを印加し、Ｐウエルに高電圧を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００２６】
ホストコンピュータ１０は、フラッシュメモリデバイス１００に所望の動作を実行させるとき、フラッシュメモリデバイス１００にコマンドやアドレス等を出力する。コントローラ２３０／３３０は、ホストコンピュータ１０からのアドレスに基づき自身が選択されたか否かを判定し、自身が選択されたと判定すると、ホストコンピュータ１０からのコマンドを実行する。但し、ホストコンピュータ１０からのコマンドがステータスレジスタへの書き込みを行うライトコマンド、あるいはステータスレジスタのＷＰコマンドの場合は例外であり、コントローラ２３０／３３０は、これらのコマンドを受け取った場合には、アドレスに無関係に、それぞれのチップでライトコマンドやＷＰコマンドを実行する。
ステータレジスタのリードコマンドの場合は、選択されたメモリチップがステータスレジスタの内容を出力する。
【００２７】
図３に、ステータスレジスタに関するコマンドの動作フローを示す。コントローラ２３０／３３０は、ホストコンピュータ１０からコマンドを受け取ると（Ｓ１００）、当該コマンドがステータスレジスタに関するライトコマンドまたはＷＰコマンドに該当するか否かを判定する（Ｓ１１０）。ステータスレジスタに関するコマンドであれば、選択されたメモリチップおよび非選択のメモリチップのそれぞれにおいてステータスレジスタに関するコマンドを実行し（Ｓ１２０）、それ以外のコマンドであれば、選択されたメモリチップがコマンドを実行する（Ｓ１３０）。
【００２８】
次に、ＷＰコマンドを実行するときの動作フローを図４に示す。ＷＰコマンドが受け取られると（Ｓ２００）、コントローラ２３０／３３０は、ＷＰコマンドを実行し、ステータスレジスタ／ワンタイムプログラム領域をロックするためのロック情報をフューズレジスタに設定する（Ｓ２１０）。例えば、ステータスレジスタ／ワンタイムプログラム領域にそれぞれアサインされたフューズレジスタのビットに「１」が設定される。フューズレジスタにロック情報として「１」に設定されると、それ以降のライトコマンドによるステータスレジスタやワンタイムプログラム領域へのアクセスが禁止される。
【００２９】
また、コントローラ２３０／３３０は、ＷＰコマンドを実行する場合にはさらに、ステータスレジスタに書込まれたプロテクト情報とフューズレジスタに設定したロック情報とをメモリアレイの予め決められた冗長領域にプログラムする（Ｓ２２０）。この動作は、メモリセルアレイの選択ページへの通常のプログラムである。ステータスレジスタやフューズレジスタは揮発性であり、フラシュメモリが電源オフされたとき、これらのレジスタに格納されたデータは消去される。フラッシュメモリの電源が再投入されたとき、コントローラ２３０／３３０は、メモリセルアレイの冗長領域からプロテクト情報およびロック情報を読出し、読み出したプロテクト情報およびロック情報をステータスレジスタおよびフューズレジスタにロードする。
【００３０】
次に、本発明の第１の実施例によるＷＰコマンドを実行するときのプロテクト情報およびロック情報のプログラム制御について説明する。なお、便宜上、選択されたメモリチップをマスタチップ、非選択のメモリチップをスレーブチップとする。
【００３１】
第１の実施例では、マスタチップおよびスレーブチップにおいてＷＰコマンドを実行するとき、マスタチップのビジー期間がスレーブチップのビジー期間よりも長くなることを保証する。具体的には、マスタチップでプロテクト情報およびロック情報をプログラムするときのプログラム時間Ｔｍが、スレーブチップでプロテクト情報およびロック情報をプログラムするときのプログラム時間Ｔｓよりも長くなるように（Ｔｍ＞Ｔｓ）、コントローラ２３０／３３０は、プログラム動作を制御する。
【００３２】
プログラムは、通常、ＩＳＰＰによりプログラムパルスを印加し、プログラムベリファイの合否に応じて次のプログラムパルスを印加するが、本実施例では、マスタチップに印加するプログラムパルス数Ｎｍを固定にし、スレーブチップに印加するプログラムパルス数Ｎｓを固定にし、プログラムパルス数Ｎｍ＞プログラムパルス数Ｎｓに設定する。また、プロテクト情報およびロック情報をプログラムするビットのベリファイを常に不合格にする。また、プロテクト情報およびロック情報が、１回のプログラムパルスまたはＮｍ／Ｎｓよりも少ないプログラムパルスの回数でプログラムされるように、プログラム電圧および／パルス印加時間を調整し、ベリファイを不合格にする一方で、次にプログラムパルスが印加するときに、選択ビット線にはプログラム禁止となるデータ「１」をセットするようにしてもよい。こうして、マスタチップのプログラムは、プログラムパルス数Ｎｍで強制的に終了し、スレーブチップのプログラムは、プログラムパルス数Ｎｓで強制的に終了するようにする。これらのプログラムパルス回数Ｎｍ、Ｎｓやベリファイの動作に関する制御情報は、トリミング情報として予めメモリセルアレイの冗長領域に設定したり、あるいはユーザーによって適宜設定変更できるようにしてもよい。コントローラ２３０／３３０は、ＷＰコマンドを実行するとき、当該制御情報に基づきプログラムを制御する。
【００３３】
こうして、マスタチップおよびスレーブチップが同時にＷＰコマンドを実行した場合、マスタチップのプログラム時間が常にスレーブチップのプログラム時間よりも長くなるようにプログラムが制御され、あるいは、スレーブチップのプログラム時間が常にマスタチップのプログラム時間よりも短くなるようにプログラムが制御される。その結果、ホストコンピュータからのリードコマンドに応答してマスタチップがステータスレジスタの内容を出力するとき、スレーブチップがビジー状態であるにもかかわらず、ビジー状態でない（レディ状態）という不具合を防止することができる。言い換えれば、マスタチップがレディ状態を出力するときは常にスレーブチップはレディ状態にある。
【００３４】
図５に、第１の実施例によるプログラム動作のフローを示す。ホストコンピュータ１０からＷＰコマンドが発せられたとき（Ｓ３００）、自身が選択されているメモリチップであるか否かを判定し（Ｓ３１０）、自身が選択されている場合には、コントローラ２３０／３３０は、プロテクト情報およびロック情報を、メモリセルアレイの冗長領域にプログラムパルス回数Ｎｍでプログラムし（Ｓ３２０）、非選択であれば、プロテクト情報およびロック情報を、メモリセルアレイの冗長領域にプログラムパルス回数Ｎｓでプログラムする（Ｓ３３０）。
【００３５】
図６に、本実施例によるマスタチップおよびスレーブチップのビジー状態の遷移を示す。時刻ｔ１において、ＷＰコマンドが入力されると、マスタチップおよびスレーブチップは、ＷＰコマンドを実行し、マスタチップおよびスレーブチップはビジー状態になる。そして、スレーブチップは、時刻ｔ２においてロック情報およびプロテクト情報のプログラムを終了し、ビジー状態が終了する。マスタチップは、時刻ｔ２から遅延した時刻ｔ３において、ロック情報およびプロテクト情報のプログラムを終了し、ビジー状態が終了する。こうして、スレーブチップのビジー状態は、必ずマスタチップのビジー状態よりも前に終了する。
【００３６】
ＳＰＩ機能を搭載したフラッシュメモリでは、ビジー信号／レディ信号を出力するための外部端子は必須ではなく、ステータスレジスタを読み出すことでビジー状態か否かが監視される。但し、フラッシュメモリがビジー信号／レディ信号を出力する外部端子を備えている場合には、外部端子を介してビジー信号がホストコンピュータに出力される。
【００３７】
次に、本発明の第２の実施例について説明する。第１の実施例では、マスタチップおよびスレーブチップが同時にＷＰコマンドを実行するため、プロテクト情報およびロック情報をプログラムするときの消費電流が２倍になってしまう。第２の実施例は、２倍の消費電流を回避するため、マスタチップおよびスレーブチップが同時にプログラムを実行しないようにするため、プログラムの待ち時間を導入する。
【００３８】
各メモリチップには、内部カウンタが用意され、一方のメモリチップは、他方のメモリチップのプログラム動作が終了する時間まで、カウンタにより待ち時間をカウントし、他方のメモリチップのプログラム動作が終了した後に、プログラム動作を開始する。また、他方のメモリチップがプログラム動作を行っている期間、一方のメモリチップは、カウンタにより待ち時間をカウントし、ビジー状態を継続する。
【００３９】
ここでは、マスタチップが先にプログラム動作を行うものとする。
１．マスタチップは、ＷＰコマンドを受け取ると、即座にプログラム動作を開始する。他方、スレーブチップは、マスタチップがレディ状態になるまでプログラムの開始を待つ。スレーブチップの待ち時間ｔＷＡＩＴが、マスタチップのプログラム時間ｔＰＧＭよりも大きくなるように、スレーブチップのカウンタ値がセットされる（ｔＷＡＩＴ＞ｔＰＧＭ）。
２．マスタチップがプログラムを終了したとき、スレーブチップは、プログラムを開始する。マスタチップは、スレーブチップのプログラム動作中は、ビジー状態を継続する。マスタチップの待ち時間ｔＷＡＩＴがスレーブチップのプログラム時間ｔＰＧＭよりも大きくなるように、マスタチップのカウンタ値がセットされる（ｔＷＡＩＴ＞ｔＰＧＭ）。
【００４０】
図７に、本実施例によるマスタチップおよびスレーブチップのビジー状態の遷移を示す。時刻ｔ１において、ホストコンピュータからＷＰコマンドが入力されると、マスタチップがＷＰコマンドを実行し、すなわち、プロテクト情報およびロック情報をメモリセルアレイの冗長領域にプログラムする。マスタチップによるプログラムパルス数Ｎｍ１は、予め決めらえた数に固定され、マスタチップは、第１の実施例のときと同様に、プログラムパルス数Ｎｍ１を印加したときに強制的にプログラムを終了する。それ故、マスタチップにおけるプログラム時間ｔＰＧＭは一定である。
【００４１】
他方、スレーブチップは、時刻ｔ１でＷＰコマンドを実行せず、アイドル状態で待ち時間状態となる。この待ち時間ｔＷＡＩＴは、マスタチップのプログラム時間ｔＰＧＭよりも幾分だけ長く設定される。
【００４２】
マスタチップは、時刻ｔ２で、プログラム動作を終了するが、そのとき、スレーブチップは、未だ待ち時間中である。マスタチップは、プログラム動作を終了するや否や、カウンタに設定された時間の間、待ち時間状態に入り、その間、ビジー状態を継続する。
【００４３】
時刻ｔ２から一定時間経過後の時刻ｔ３で、スレーブチップは、待ち時間を終了するや否や、プログラムを開始する。スレーブチップによるプログラムパルス数Ｎｓ１は、予め決めらえた数に固定され、スレーブチップは、第１の実施例のときと同様に、プログラムパルス数Ｎｓ１を印加したときに強制的にプログラムを終了する。それ故、スレーブチップにおけるプログラム時間ｔＰＧＭは一定である。また、マスタチップの待ち時間ｔＷＡＩＴは、スレーブチップのプログラム時間ｔＰＧＭよりも長くなるように設定される。
【００４４】
時刻ｔ４で、スレーブチップは、プログラムを終了し、時刻ｔ４から一定時間経過後の時刻ｔ５で、マスタチップの待ち時間が終了し、マスタチップのビジー状態が終了する。こうして、スレーブチップのビジーは、必ずマスタチップのビジーの終了前に終了することになり、マスタチップのビジー終了時にスレーブチップのビジー終了していないという事態を防止することができる。
【００４５】
また、プログラム動作の許容時間ｔＡＬＯＷが決められている場合、マスタチップのプログラム時間ｔＰＧＭとスレーブチップのプログラム時間ｔＰＧＭとの合計が、ｔＡＬＯＷ以下となるように、プログラム時間ｔＰＧＭが設定される。例えば、許容時間ｔＡＬＬＯＷが７００μｓ、１回のプログラムパルスの印加時間が５０μｓであるとき、マスタチップのプログラム終了時刻ｔ２とスレーブチップのプログラム開始時刻ｔ３の不連続時間を考慮し、マスタチップのプログラムパルス数Ｎｍ１を６回以下（ｔＰＧＭ＝３００μｓ）、スレーブチップのプログラムパルス数Ｎｓ１を６回以下（ｔＰＧＭ＝３００μｓ）に設定される。
【００４６】
次に、本発明の第３の実施例について説明する。ホストコンピュータ１０からステータススレジスタのリードコマンドが発せられたとき、マスタチップ、すなわち選択されたメモリチップのステータスレジスタの内容がホストコンピュータへ出力される。そこで、第３の実施例では、ＷＰコマンドが発せられたとき、先にスレーブチップにＷＰコマンドを実行させ、その後、マスタチップにＷＰコマンドを実行させる。
【００４７】
図８に、第３の実施例によるマスタチップとスレーブチップのビジー状態の遷移を示す。時刻ｔ１において、ホストコンピュータからＷＰコマンドが入力されると、スレーブチップがＷＰコマンドを実行し、すなわち、プロテクト情報およびロック情報をメモリセルアレイの冗長領域にプログラムする。スレーブチップによるプログラムパルス数Ｎｓ２は、予め決めらえた数に固定され、スレーブチップは、第１の実施例のときと同様に、プログラムパルス数Ｎｓ２を印加したときに強制的にプログラムを終了する。それ故、スレーブチップにおけるプログラム時間ｔＰＧＭは一定である。他方、マスタチップは、時刻ｔ１でＷＰコマンドを実行せず、カウンタに設定されたカウント値により待ち時間の状態となる。マスタチップの待ち時間ｔＷＡＩＴは、スレーブチップのプログラム時間ｔＰＧＭよりも幾分大きく設定される。
【００４８】
時刻ｔ２で、スレーブチップは、プログラム動作を終了する。その後、時刻ｔ３で、マスタチップは、待ち時間を終了するや否やプログラムを開始し、時刻ｔ４でプログラムを終了する。ここで留意すべきは、プログラムパルス数は固定ではなく、ベリファイも強制的に不合格にせず、通常のプログラムのときと同様に行われる。つまり、プロテクト情報およびロック情報のベリファイが合格した時点でプログラムは終了する。これにより、ＷＰコマンドの実行に要する時間を、第２の実施例のときよりも短くすることが可能である。さらに第３の実施例では、マスタチップのみが待ち時間を実施するため、スレーブチップには内部カウンタは不要である。
【００４９】
上記実施例では、マスタチップおよびスレーブチップがともにＮＡＮＤ型フラッシュメモリを例示したが、本発明は、ＮＯＲ型のマスタチップおよびスレーブチップにも適用可能である。
【００５０】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５１】
１０：ホストコンピュータ                １００：フラッシュメモリデバイス
２００：マスタチップ                    ２１０：メモリセルアレイ
２２０：周辺回路                        ２３０：コントローラ
２４０：内部インターフェース            ３００：スレーブチップ
３１０：メモリセルアレイ                ３２０：周辺回路
３３０：内部インターフェース
【図１】
2019121410.tif 000003
【図２】
2019121410.tif 000004
【図３】
2019121410.tif 000005
【図４】
2019121410.tif 000006
【図５】
2019121410.tif 000007
【図６】
2019121410.tif 000008
【図７】
2019121410.tif 000009
【図８】
2019121410.tif 000010