特許第6453492号(P6453492)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ウィンボンド エレクトロニクス コーポレーションの特許一覧

<>
  • 特許6453492-半導体記憶装置 図000002
  • 特許6453492-半導体記憶装置 図000003
  • 特許6453492-半導体記憶装置 図000004
  • 特許6453492-半導体記憶装置 図000005
  • 特許6453492-半導体記憶装置 図000006
  • 特許6453492-半導体記憶装置 図000007
  • 特許6453492-半導体記憶装置 図000008
  • 特許6453492-半導体記憶装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6453492
(24)【登録日】2018年12月21日
(45)【発行日】2019年1月16日
(54)【発明の名称】半導体記憶装置
(51)【国際特許分類】
   G11C 7/10 20060101AFI20190107BHJP
   G11C 8/12 20060101ALI20190107BHJP
   G11C 8/20 20060101ALI20190107BHJP
   G11C 5/04 20060101ALI20190107BHJP
   G06F 12/06 20060101ALI20190107BHJP
   G06F 12/14 20060101ALI20190107BHJP
   G11C 16/10 20060101ALI20190107BHJP
【FI】
   G11C7/10 420
   G11C8/12 200
   G11C8/20
   G11C5/04 210
   G06F12/06 525A
   G06F12/14 510A
   G11C16/10 140
【請求項の数】10
【全頁数】13
(21)【出願番号】特願2018-1164(P2018-1164)
(22)【出願日】2018年1月9日
【審査請求日】2018年1月9日
(73)【特許権者】
【識別番号】511062254
【氏名又は名称】ウィンボンド エレクトロニクス コーポレーション
(74)【代理人】
【識別番号】100098497
【弁理士】
【氏名又は名称】片寄 恭三
(72)【発明者】
【氏名】山内 一貴
【審査官】 後藤 彰
(56)【参考文献】
【文献】 特開2017−45415(JP,A)
【文献】 特開2014−149669(JP,A)
【文献】 特表2010−507148(JP,A)
【文献】 特開2006−65380(JP,A)
【文献】 特開2004−48428(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 7/10
G06F 12/06
G06F 12/14
G11C 5/04
G11C 8/12
G11C 8/20
G11C 16/10
(57)【特許請求の範囲】
【請求項1】
複数のメモリチップを含み、外部から供給されるアドレスに基づき複数のメモリチップのいずれかが選択される半導体記憶装置であって、
複数のメモリチップの各々は、
プロテクト情報を格納することが可能なステータスレジスタと、
不揮発性のメモリセルアレイと、
外部からのコマンドに応答して前記ステータスレジスタへの書き込みを行う書込み手段と、
外部からのコマンドに応答して前記ステータスレジスタの読出しを行う読出し手段と、
外部からのコマンドに応答して前記ステータスレジスタへの書込みを禁止するとともに、前記プロテクト情報および書込み禁止の情報を前記メモリセルアレイの特定の領域にプログラムする、書込み禁止手段と、
メモリチップの動作を制御する制御手段とを有し、
選択されたメモリチップの制御手段は、書込み禁止手段によるプログラム時間が非選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも長くなるように、プログラムを制御する、半導体記憶装置。
【請求項2】
非選択のメモリチップの制御手段は、書込み禁止手段によるプログラム時間が選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも短くなるように、プログラムを制御する、請求項1に記載の半導体記憶装置。
【請求項3】
選択されたメモリチップのプログラムパルス数が非選択のメモリチップのプログラムパルス数よりも多くなるようにプログラムが制御される、請求項1または2に記載の半導体記憶装置。
【請求項4】
選択されたメモリチップにおいてプログラムが行われた後に非選択のメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップにおいてビジー状態が継続されるように待ち時間の制御が行われる、請求項1または2に記載の半導体記憶装置。
【請求項5】
非選択のメモリチップにおいてプログラムが行われた後に選択されたメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップはプログラムの開始を待つように制御される、請求項1または2に記載の半導体記憶装置。
【請求項6】
選択されたメモリチップの読出し手段が、前記ステータスレジスタの内容に含まれるビジー状態を出力する、請求項1ないし5いずれか1つに記載の半導体記憶装置。
【請求項7】
前記制御手段は、外部からのアドレスに基づき自身が選択されたメモリチップであるか否かを判定し、選択されたメモリチップは、外部からのコマンドに応答して動作する、請求項1ないし6いずれか1つに記載の半導体記憶装置。
【請求項8】
前記制御手段は、外部からのコマンドがステータスレジスタに関するコマンドか否かを判定し、ステータスレジスタに関するコマンドであるとき、選択されたメモリチップおよび非選択のメモリチップは、ステータスレジスタに関するコマンドに応答して動作する、請求項1ないし7いずれか1つに記載の半導体記憶装置。
【請求項9】
複数のメモリチップは、フラッシュメモリである、請求項1ないし8いずれか1つに記載の半導体記憶装置。
【請求項10】
複数のメモリチップは、外部から供給されるクロック信号に同期してデータの入出力をすることが可能なシリアルインターフェース機能を搭載する、請求項1ないし9いずれか1つに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のダイまたはチップをスタックした半導体記憶装置に関し、特に、シリアルペリフェラルインターフェース(SPI)機能を搭載したフラッシュメモリに関する。
【背景技術】
【0002】
マルチチップパッケージは、1つのパッケージ内に同種または異種のダイまたはチップを複数スタックするものであり、例えば、同種のメモリチップをスタックすることでメモリ容量を拡大したり、異種のメモリチップをスタックすることで異なるストレージ機能を提供することができる。例えば、特許文献1の不揮発性半導体記憶装置は、複数のメモリアレイチップと、メモリアレイチップの制御を行う制御チップとを積層し、メモリアレイチップの貫通電極と制御チップの貫通電極とを位置合わせし、両貫通電極の電気的な接続を行っている。また、特許文献2の半導体デバイスは、マスタフラッシュメモリチップと、スレーブフラッシュメモリチップとを積層し、スレーブフラッシュメモリチップの非コア回路を欠如させ、マスタフラッシュメモリチップからスレーブフラッシュメモリチップにデバイス動作のための必要な信号および電圧を供給している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−300469号公報
【特許文献2】特開2014−57077号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数のメモリチップをスタックしたメモリデバイスには、個々のメモリチップがホストコンピュータから出力されるアドレスをモニタし、自身が選択されたメモリチップであるか否かを検出するものがある。ホストコンピュータは、メモリチップを選択するための特定のコマンドを必要とせず、あたかもモノリシックなメモリチップを扱うようにメモリデバイスにコマンドやアドレスを出力すればよい(このようなメモリデバイスを、以下、モノリシックスタックダイという)。
【0005】
また、スタックされたメモリチップの一方をマスタに、他方をスレーブに設定し、マスタチップまたはスレーブチップの識別を行うことも可能である。マスタ/スレーブの設定は、例えば、フューズやメタルオプションによって行うことができる。例えば、マスタ側のメモリチップのIDを「00」、スレーブ側のメモリチップのIDを「01」に設定し、マスタ側のメモリチップは、BA10=L(ブロックアドレス「10」がLのとき選択され)、スレーブ側のメモリチップは、BA10=Hのときに選択されるようにすることができる。
【0006】
このようなモノリシックスタックのフラッシュメモリにおいて、マスタ側のメモリチップ(以下、マスタチップ)がビジーである期間とスレーブ側のメモリチップ(以下、スレーブチップ)がビジーである期間とが一致しない場合が生じ得る。例えば、マスタチップがビジー状態でないにもかかわらず、スレーブチップがビジー状態であると、ホストコンピュータからのアドレスによってスレーブチップが選択されても、ホストコンピュータから指示された動作をスレーブチップにおいて実行することができない、という課題がある。
【0007】
例えば、SPI機能を搭載したNANDフラッシュメモリは、フラッシュメモリの動作や仕様に関するプロテクト情報やフラッシュメモリがビジー状態にあるか否かの情報などを格納するステータスレジスタ(SR)を備えている。ステータレジスタへのアクセスは、リードコマンドやライトコマンドによって行うことが可能であり、ユーザーは、ステータスレジスタに、例えば、メモリセルアレイの利用可能な領域、ECCの使用の有無、保護するブロックの情報などのプロテクト情報を書き込むことができる。また、SPI_NANDのようにビジー/レディピンを持たないフラッシュメモリでは、ユーザーは、ステータスレジスタをリードすることで、フラッシュメモリがビジー状態であるか否かを知ることができる。
【0008】
フラッシュメモリには、ステータスレジスタに書込まれた情報や、メモリセルアレイのユーザーによってアクセスすることができないワンタイムプログラム領域に書込まれた情報をロックする機能が搭載されている。ワンタイムプログラム領域は、例えば、フラッシュメモリの動作や仕様等に関する重要なパラメータ等の情報を格納することができる領域である。
【0009】
ステータスレジスタやワンタイムプログラム領域に格納された情報をロック(書き換え禁止)する場合、ホストコンピュータからフラッシュメモリにライトプロテクトコマンド(以下、WPコマンド)が発せられる。フラッシュメモリは、WPコマンドを受け取ると、ステータスレジスタやワンタイムプログラム領域にアサインされたフューズレジスタの特定のフラグビットを、例えば「1」に設定し、それ以降、ステータスレジスタやワンタイムプログラム領域のデータを書き換えるためのライトコマンドのアクセスを禁止する。また、WPコマンドを実行するとき、フラッシュメモリは、フューズレジスタに設定されたロック情報やステータスレジスタに書込まれたプロテクト情報を、メモリセルアレイ内の冗長領域にプログラムする。フューズレジスタやステータスレジスタは揮発性であるため、ロック情報やプロテクト情報を不揮発性の冗長領域に恒久的に格納する必要がある。フラッシュメモリの電源再投入時、冗長領域から読み出されたプロテクト情報やロック情報がステータスレジスタやフューズレジスタにロードされる。
【0010】
ホストコンピュータからステータスレジスタのリードコマンドが発せられたとき、選択されているメモリチップからステータスレジスタの内容が読み出される。モノリシックスタックダイの場合、メモリチップの選択はアドレスによって決定されるため、マスタチップとスレーブチップのそれぞれのステータスレジスタは常に同じでなければならない。それ故、モノリシックスタックダイにおいて、ホストコンピュータからライトコマンドが発せられた場合には、マスタチップおよびスレーブチップは、同時に、ライトコマンドを実行し、ステータスレジスタ/ワンタイムプログラム領域の書き換えを行い、また、WPコマンドが発せられた場合にも、マスタチップおよびスレーブチップは、同時にWPコマンドを実行し、ステータスレジスタまたはワンタイムプログラム領域をロックするためにフューズレジスタに「1」をセットする。
【0011】
しかしながら、このようなモノリシックスタックダイの動作には、次のような課題がある。
1.通常、ステータスレジスタのリードコマンドによって、選択されたメモリチップのみのビジー状態を監視することができ、ユーザーは、非選択のメモリチップの状態を監視することはできない。それ故、非選択のメモリチップのロック動作(冗長領域へのプログラム動作を含む)は、選択されたメモリチップのロック動作よりも前に終了していなければならない。そうでなければ、ユーザーは、非選択のメモリチップが未だビジーであるにもかかわらず、リードコマンドによって選択されたメモリチップからレディ状態の出力を得てしまう。
2.2つのメモリチップがWPコマンドを同時に実行すると、メモリセルアレイアレイへのプログラムが同時に行われるため、動作電流(Icc)が2倍になってしまう。
【0012】
本発明は、このような従来の課題を解決するものであり、複数のメモリチップ間のビジー状態の不一致を防止する半導体記憶装置を提供することを目的とする。
さらに本発明は、消費電流のピークを抑制する半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係る半導体記憶装置は、複数のメモリチップを含み、外部から供給されるアドレスに基づき複数のメモリチップのいずれかが選択されるものであって、複数のメモリチップの各々は、プロテクト情報を格納することが可能なステータスレジスタと、不揮発性のメモリセルアレイと、外部からのコマンドに応答して前記ステータスレジスタへの書き込みを行う書込み手段と、外部からのコマンドに応答して前記ステータスレジスタの読出しを行う読出し手段と、外部からのコマンドに応答して前記ステータスレジスタへの書込みを禁止するとともに、前記プロテクト情報および書込み禁止の情報を前記メモリセルアレイの特定の領域にプログラムする、書込み禁止手段と、メモリチップの動作を制御する制御手段とを有し、選択されたメモリチップの制御手段は、書込み禁止手段によるプログラム時間が非選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも長くなるように、プログラムを制御する。
【0014】
ある実施態様では、非選択のメモリチップの制御手段は、書込み禁止手段によるプログラム時間が選択のメモリチップにおける書込み禁止手段によるプログラム時間よりも短くなるように、プログラムを制御する。ある実施態様では、選択されたメモリチップのプログラムパルス数が非選択のメモリチップのプログラムパルス数よりも多くなるようにプログラムが制御される。ある実施態様では、選択されたメモリチップにおいてプログラムが行われた後に非選択のメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップにおいてビジー状態が継続されるように待ち時間の制御が行われる。ある実施態様では、非選択のメモリチップにおいてプログラムが行われた後に選択されたメモリチップのプログラムが行われ、非選択のメモリチップのプログラムが行われている間、選択されたメモリチップはプログラムの開始を待つように制御される。ある実施態様では、選択されたメモリチップの読出し手段が、前記ステータスレジスタの内容に含まれるビジー状態を出力する。ある実施態様では、前記制御手段は、外部からのアドレスに基づき自身が選択されたメモリチップであるか否かを判定し、選択されたメモリチップは、外部からのコマンドに応答して動作する。ある実施態様では、前記制御手段は、外部からのコマンドがステータスレジスタに関するコマンドか否かを判定し、ステータスレジスタに関するコマンドであるとき、選択されたメモリチップおよび非選択のメモリチップは、ステータスレジスタに関するコマンドに応答して動作する。ある実施態様では、複数のメモリチップは、フラッシュメモリである。ある実施態様では、複数のメモリチップは、外部から供給されるクロック信号に同期してデータの入出力をすることが可能なシリアルインターフェース機能を搭載する。
【発明の効果】
【0015】
本発明によれば、選択されたメモリチップにおけるプログラム時間が非選択のメモリチップにおけるプログラム時間よりも長くなるようにしたので、非選択のメモリチップがビジー状態であるにもかかわらず、選択されたメモリチップがビジー状態でないという事象の発生を防止することができる。
【図面の簡単な説明】
【0016】
図1】本発明の実施例に係るモノリシックスタックのフラッシュメモリデバイスの概略構成を示す図である。
図2】本発明の実施例に係るマスタ側のメモリチップの概略構成を示すブロック図である。
図3】本発明の実施例に係るモノリシックスタックにおけるステータスレジスタに関するコマンドの動作を説明するフローである。
図4】本発明の実施例におけるWPコマンドが実行されるときの基本動作を説明するフローである。
図5】本発明の第1の実施例に係るWPコマンドが実行されるときのプログラム動作の制御を説明するフローチャートである。
図6】本発明の第1の実施例に係るWPコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
図7】本発明の第2の実施例に係るWPコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
図8】本発明の第3の実施例に係るWPコマンドが実行されるときのマスタチップとスレーブチップのステイタスの遷移を示すタイミングチャートである。
【発明を実施するための形態】
【0017】
次に、本発明の実施の形態について図面を参照して詳細に説明する。好ましい態様では、本発明に係る半導体記憶装置は、マスタ側のメモリチップと、1つまたは複数のスレーブ側のメモリチップとをスタックしたNAND型やNOR型のフラッシュメモリである。但し、本発明に係る半導体記憶装置は、フラッシュメモリと異種のDRAM等のメモリチップやその他のメモリチップを包含するものであってもよい。さらに、フラッシュメモリは、クロック信号に同期してデータの入出力が可能なシリアルインターフェース機能を搭載することも可能である。
【実施例】
【0018】
図1に、本発明の実施例に係るモノリシックスタックのフラッシュメモリデバイスの概略構成を示す。フラッシュメモリデバイス100は、マスタ側のメモリチップ200(マスタチップ)と、少なくとも1つのスレーブ側のメモリチップ300(スレーブチップ)とを含む。本例では、1つのスレーブチップ300を例示しているが、フラッシュメモリデバイス100は、2つ以上のスレーブチップを含むものであってもよい。フラッシュメモリデバイス100は、例えば、BGAまたはCSPパッケージから構成される。例えば、BGAパッケージは、スタックされたマスタチップとスレーブチップがフレキシブル回路基板上にフリップチップ実装され、あるいはワイヤボンディングにより回路基板に接続される。
【0019】
マスタチップ200は、複数のNANDストリングユニットを含むメモリセルアレイ210、メモリセルアレイの行や列の選択を行うデコーダやページバッファ/センス回路等を含む周辺回路220、マスタチップ200の全体の動作を制御するコントローラ230、外部端子を介してホストコンピュータ10との間で信号等の送受の外部インターフェースを構成する入出力回路240を含む。スレーブチップ300は、マスタチップ200と同一の構成を有し、すなわち、複数のNANDストリングユニットを含むメモリセルアレイアレイ310、メモリセルアレイの行や列の選択を行うデコーダやページバッファ/センス回路等を含む周辺回路320、スレーブチップ300の全体の動作を制御するコントローラ330、外部端子を介してホストコンピュータ10との間で信号等の送受の外部インターフェースを構成する入出力回路340を含む。なお、フラッシュメモリデバイス100の外部端子は、マスタチップ200とスレーブチップ300とに共通であることができる。
【0020】
マスタチップ200の入出力回路240およびスレーブチップ300の入出力回路340は、例えば、データ入出力用の外部端子、制御信号(アドレスラッチイネーブル、コマンドラッチイネーブル等)を入力するための外部端子、ビジー信号/レディ信号を出力する外部端子、クロック信号を入力するための端子などを含むことができる。但し、SPI機能を搭載したフラッシュメモリデバイスは、NOR型フラッシュメモリとの互換性で動作するため、データを入力する入力端子、データを出力する出力端子、クロックを入力するクロック端子、チップセレクト端子、ライトプロテクト端子等を含むものであってもよく、必ずしも、ビジー信号やレディ信号を出力する端子は備えていない点に留意すべきである。
【0021】
マスタチップ200およびスレーブチップ300は、入出力回路240および340を介してホストコンピュータ10に接続され、ホストコンピュータ10は、フラッシュメモリデバイス100に対して読出し、プログラム、消去、ステータスレジスタの内容を読み出すリードコマンド、ステータスレジスタへの書き込みを行うライトコマンド、ステータスレジスタやワンタイムプログラム領域をロックするためのWPコマンド等を与える。マスタチップ200およびスレーブチップ300は、ホストコンピュータ10から入出力回路240および340を介して入力されるアドレスを監視し、自身が選択されたか否かを判定する。マスタチップ200またはスレーブチップ300は、自身が選択されたとき、ホストコンピュータ10から与えられた指示を実行する。但し、ステータスレジスタの書込みを行うライトコマンドを受け取った場合には、マスタチップ200およびスレーブチップ300は、それぞれライトコマンドを実行し、それぞれのステータスレジスタに同じ内容を書込み、さらにWPコマンドを受け取った場合にも、マスタチップ200およびスレーブチップ300は、それぞれWPコマンドを実行し、ステータスレジスタ/ワンタイムプログラム領域のロック動作を行う。また、ステータスレジスタのリードコマンドを受け取った場合には、選択されたメモリチップがステータスレジスタの内容を読み出し、これを出力する。
【0022】
図2は、本実施例のマスタチップの内部構成を示す図である。マスタチップ200は、複数のメモリセルアレイが行列状に配列されたメモリセルアレイ210と、周辺回路220と、コントローラ230と、入出力回路240とを含む。なお、スレーブチップ300は、マスタチップ200と同一の構成を有するため、ここでは、マスタチップ200の内部構成のみを説明する。
【0023】
周辺回路220は、入出力回路240を介してアドレスデータを受け取るアドレスレジスタ221と、アドレスレジスタ221からの行アドレス情報Axに基づきブロックの選択およびワード線の選択等を行うワード線選択回路222と、ワード線選択回路222によって選択されたページから読み出されたデータを保持したり、選択されたページにプログラムすべき入力データを保持するページバッファ/センス回路223と、アドレスレジスタ221からの列アドレス情報Ayに基づきページバッファ/センス回路223内の列アドレスのデータを選択する列選択回路224と、フラッシュメモリの動作や仕様等についてユーザーにより設定されたプロテクト情報やフラッシュメモリがビジー状態にあるか否かの情報などを格納するステータスレジスタ225と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路226とを含む。コントローラ230は、入出力回路240からコマンド等を受け取り、マスタチップ200の動作を制御する。
【0024】
メモリセルアレイ210は、列方向にm個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。1つのメモリブロックには、複数のメモリセルアレイを直列に接続したNANDストリングユニットが複数形成される。メモリセルアレイはさらに、ユーザーによってアクセスすることができない冗長領域やワンタイムプログラム領域を含む。
【0025】
メモリセルアレイ210の読出し動作では、ビット線に正の電圧を印加し、選択ワード線に例えば0Vを印加し、非選択ワード線にパス電圧を印加し、共通ソース線に0Vを印加する。プログラム動作では、選択ワード線に高電圧のプログラム電圧Vpgmを印加し、非選択のワード線に中間電位を印加し、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【0026】
ホストコンピュータ10は、フラッシュメモリデバイス100に所望の動作を実行させるとき、フラッシュメモリデバイス100にコマンドやアドレス等を出力する。コントローラ230/330は、ホストコンピュータ10からのアドレスに基づき自身が選択されたか否かを判定し、自身が選択されたと判定すると、ホストコンピュータ10からのコマンドを実行する。但し、ホストコンピュータ10からのコマンドがステータスレジスタへの書き込みを行うライトコマンド、あるいはステータスレジスタのWPコマンドの場合は例外であり、コントローラ230/330は、これらのコマンドを受け取った場合には、アドレスに無関係に、それぞれのチップでライトコマンドやWPコマンドを実行する。
ステータレジスタのリードコマンドの場合は、選択されたメモリチップがステータスレジスタの内容を出力する。
【0027】
図3に、ステータスレジスタに関するコマンドの動作フローを示す。コントローラ230/330は、ホストコンピュータ10からコマンドを受け取ると(S100)、当該コマンドがステータスレジスタに関するライトコマンドまたはWPコマンドに該当するか否かを判定する(S110)。ステータスレジスタに関するコマンドであれば、選択されたメモリチップおよび非選択のメモリチップのそれぞれにおいてステータスレジスタに関するコマンドを実行し(S120)、それ以外のコマンドであれば、選択されたメモリチップがコマンドを実行する(S130)。
【0028】
次に、WPコマンドを実行するときの動作フローを図4に示す。WPコマンドが受け取られると(S200)、コントローラ230/330は、WPコマンドを実行し、ステータスレジスタ/ワンタイムプログラム領域をロックするためのロック情報をフューズレジスタに設定する(S210)。例えば、ステータスレジスタ/ワンタイムプログラム領域にそれぞれアサインされたフューズレジスタのビットに「1」が設定される。フューズレジスタにロック情報として「1」に設定されると、それ以降のライトコマンドによるステータスレジスタやワンタイムプログラム領域へのアクセスが禁止される。
【0029】
また、コントローラ230/330は、WPコマンドを実行する場合にはさらに、ステータスレジスタに書込まれたプロテクト情報とフューズレジスタに設定したロック情報とをメモリアレイの予め決められた冗長領域にプログラムする(S220)。この動作は、メモリセルアレイの選択ページへの通常のプログラムである。ステータスレジスタやフューズレジスタは揮発性であり、フラシュメモリが電源オフされたとき、これらのレジスタに格納されたデータは消去される。フラッシュメモリの電源が再投入されたとき、コントローラ230/330は、メモリセルアレイの冗長領域からプロテクト情報およびロック情報を読出し、読み出したプロテクト情報およびロック情報をステータスレジスタおよびフューズレジスタにロードする。
【0030】
次に、本発明の第1の実施例によるWPコマンドを実行するときのプロテクト情報およびロック情報のプログラム制御について説明する。なお、便宜上、選択されたメモリチップをマスタチップ、非選択のメモリチップをスレーブチップとする。
【0031】
第1の実施例では、マスタチップおよびスレーブチップにおいてWPコマンドを実行するとき、マスタチップのビジー期間がスレーブチップのビジー期間よりも長くなることを保証する。具体的には、マスタチップでプロテクト情報およびロック情報をプログラムするときのプログラム時間Tmが、スレーブチップでプロテクト情報およびロック情報をプログラムするときのプログラム時間Tsよりも長くなるように(Tm>Ts)、コントローラ230/330は、プログラム動作を制御する。
【0032】
プログラムは、通常、ISPPによりプログラムパルスを印加し、プログラムベリファイの合否に応じて次のプログラムパルスを印加するが、本実施例では、マスタチップに印加するプログラムパルス数Nmを固定にし、スレーブチップに印加するプログラムパルス数Nsを固定にし、プログラムパルス数Nm>プログラムパルス数Nsに設定する。また、プロテクト情報およびロック情報をプログラムするビットのベリファイを常に不合格にする。また、プロテクト情報およびロック情報が、1回のプログラムパルスまたはNm/Nsよりも少ないプログラムパルスの回数でプログラムされるように、プログラム電圧および/パルス印加時間を調整し、ベリファイを不合格にする一方で、次にプログラムパルスが印加するときに、選択ビット線にはプログラム禁止となるデータ「1」をセットするようにしてもよい。こうして、マスタチップのプログラムは、プログラムパルス数Nmで強制的に終了し、スレーブチップのプログラムは、プログラムパルス数Nsで強制的に終了するようにする。これらのプログラムパルス回数Nm、Nsやベリファイの動作に関する制御情報は、トリミング情報として予めメモリセルアレイの冗長領域に設定したり、あるいはユーザーによって適宜設定変更できるようにしてもよい。コントローラ230/330は、WPコマンドを実行するとき、当該制御情報に基づきプログラムを制御する。
【0033】
こうして、マスタチップおよびスレーブチップが同時にWPコマンドを実行した場合、マスタチップのプログラム時間が常にスレーブチップのプログラム時間よりも長くなるようにプログラムが制御され、あるいは、スレーブチップのプログラム時間が常にマスタチップのプログラム時間よりも短くなるようにプログラムが制御される。その結果、ホストコンピュータからのリードコマンドに応答してマスタチップがステータスレジスタの内容を出力するとき、スレーブチップがビジー状態であるにもかかわらず、ビジー状態でない(レディ状態)という不具合を防止することができる。言い換えれば、マスタチップがレディ状態を出力するときは常にスレーブチップはレディ状態にある。
【0034】
図5に、第1の実施例によるプログラム動作のフローを示す。ホストコンピュータ10からWPコマンドが発せられたとき(S300)、自身が選択されているメモリチップであるか否かを判定し(S310)、自身が選択されている場合には、コントローラ230/330は、プロテクト情報およびロック情報を、メモリセルアレイの冗長領域にプログラムパルス回数Nmでプログラムし(S320)、非選択であれば、プロテクト情報およびロック情報を、メモリセルアレイの冗長領域にプログラムパルス回数Nsでプログラムする(S330)。
【0035】
図6に、本実施例によるマスタチップおよびスレーブチップのビジー状態の遷移を示す。時刻t1において、WPコマンドが入力されると、マスタチップおよびスレーブチップは、WPコマンドを実行し、マスタチップおよびスレーブチップはビジー状態になる。そして、スレーブチップは、時刻t2においてロック情報およびプロテクト情報のプログラムを終了し、ビジー状態が終了する。マスタチップは、時刻t2から遅延した時刻t3において、ロック情報およびプロテクト情報のプログラムを終了し、ビジー状態が終了する。こうして、スレーブチップのビジー状態は、必ずマスタチップのビジー状態よりも前に終了する。
【0036】
SPI機能を搭載したフラッシュメモリでは、ビジー信号/レディ信号を出力するための外部端子は必須ではなく、ステータスレジスタを読み出すことでビジー状態か否かが監視される。但し、フラッシュメモリがビジー信号/レディ信号を出力する外部端子を備えている場合には、外部端子を介してビジー信号がホストコンピュータに出力される。
【0037】
次に、本発明の第2の実施例について説明する。第1の実施例では、マスタチップおよびスレーブチップが同時にWPコマンドを実行するため、プロテクト情報およびロック情報をプログラムするときの消費電流が2倍になってしまう。第2の実施例は、2倍の消費電流を回避するため、マスタチップおよびスレーブチップが同時にプログラムを実行しないようにするため、プログラムの待ち時間を導入する。
【0038】
各メモリチップには、内部カウンタが用意され、一方のメモリチップは、他方のメモリチップのプログラム動作が終了する時間まで、カウンタにより待ち時間をカウントし、他方のメモリチップのプログラム動作が終了した後に、プログラム動作を開始する。また、他方のメモリチップがプログラム動作を行っている期間、一方のメモリチップは、カウンタにより待ち時間をカウントし、ビジー状態を継続する。
【0039】
ここでは、マスタチップが先にプログラム動作を行うものとする。
1.マスタチップは、WPコマンドを受け取ると、即座にプログラム動作を開始する。他方、スレーブチップは、マスタチップがレディ状態になるまでプログラムの開始を待つ。スレーブチップの待ち時間tWAITが、マスタチップのプログラム時間tPGMよりも大きくなるように、スレーブチップのカウンタ値がセットされる(tWAIT>tPGM)。
2.マスタチップがプログラムを終了したとき、スレーブチップは、プログラムを開始する。マスタチップは、スレーブチップのプログラム動作中は、ビジー状態を継続する。マスタチップの待ち時間tWAITがスレーブチップのプログラム時間tPGMよりも大きくなるように、マスタチップのカウンタ値がセットされる(tWAIT>tPGM)。
【0040】
図7に、本実施例によるマスタチップおよびスレーブチップのビジー状態の遷移を示す。時刻t1において、ホストコンピュータからWPコマンドが入力されると、マスタチップがWPコマンドを実行し、すなわち、プロテクト情報およびロック情報をメモリセルアレイの冗長領域にプログラムする。マスタチップによるプログラムパルス数Nm1は、予め決めらえた数に固定され、マスタチップは、第1の実施例のときと同様に、プログラムパルス数Nm1を印加したときに強制的にプログラムを終了する。それ故、マスタチップにおけるプログラム時間tPGMは一定である。
【0041】
他方、スレーブチップは、時刻t1でWPコマンドを実行せず、アイドル状態で待ち時間状態となる。この待ち時間tWAITは、マスタチップのプログラム時間tPGMよりも幾分だけ長く設定される。
【0042】
マスタチップは、時刻t2で、プログラム動作を終了するが、そのとき、スレーブチップは、未だ待ち時間中である。マスタチップは、プログラム動作を終了するや否や、カウンタに設定された時間の間、待ち時間状態に入り、その間、ビジー状態を継続する。
【0043】
時刻t2から一定時間経過後の時刻t3で、スレーブチップは、待ち時間を終了するや否や、プログラムを開始する。スレーブチップによるプログラムパルス数Ns1は、予め決めらえた数に固定され、スレーブチップは、第1の実施例のときと同様に、プログラムパルス数Ns1を印加したときに強制的にプログラムを終了する。それ故、スレーブチップにおけるプログラム時間tPGMは一定である。また、マスタチップの待ち時間tWAITは、スレーブチップのプログラム時間tPGMよりも長くなるように設定される。
【0044】
時刻t4で、スレーブチップは、プログラムを終了し、時刻t4から一定時間経過後の時刻t5で、マスタチップの待ち時間が終了し、マスタチップのビジー状態が終了する。こうして、スレーブチップのビジーは、必ずマスタチップのビジーの終了前に終了することになり、マスタチップのビジー終了時にスレーブチップのビジー終了していないという事態を防止することができる。
【0045】
また、プログラム動作の許容時間tALOWが決められている場合、マスタチップのプログラム時間tPGMとスレーブチップのプログラム時間tPGMとの合計が、tALOW以下となるように、プログラム時間tPGMが設定される。例えば、許容時間tALLOWが700μs、1回のプログラムパルスの印加時間が50μsであるとき、マスタチップのプログラム終了時刻t2とスレーブチップのプログラム開始時刻t3の不連続時間を考慮し、マスタチップのプログラムパルス数Nm1を6回以下(tPGM=300μs)、スレーブチップのプログラムパルス数Ns1を6回以下(tPGM=300μs)に設定される。
【0046】
次に、本発明の第3の実施例について説明する。ホストコンピュータ10からステータススレジスタのリードコマンドが発せられたとき、マスタチップ、すなわち選択されたメモリチップのステータスレジスタの内容がホストコンピュータへ出力される。そこで、第3の実施例では、WPコマンドが発せられたとき、先にスレーブチップにWPコマンドを実行させ、その後、マスタチップにWPコマンドを実行させる。
【0047】
図8に、第3の実施例によるマスタチップとスレーブチップのビジー状態の遷移を示す。時刻t1において、ホストコンピュータからWPコマンドが入力されると、スレーブチップがWPコマンドを実行し、すなわち、プロテクト情報およびロック情報をメモリセルアレイの冗長領域にプログラムする。スレーブチップによるプログラムパルス数Ns2は、予め決めらえた数に固定され、スレーブチップは、第1の実施例のときと同様に、プログラムパルス数Ns2を印加したときに強制的にプログラムを終了する。それ故、スレーブチップにおけるプログラム時間tPGMは一定である。他方、マスタチップは、時刻t1でWPコマンドを実行せず、カウンタに設定されたカウント値により待ち時間の状態となる。マスタチップの待ち時間tWAITは、スレーブチップのプログラム時間tPGMよりも幾分大きく設定される。
【0048】
時刻t2で、スレーブチップは、プログラム動作を終了する。その後、時刻t3で、マスタチップは、待ち時間を終了するや否やプログラムを開始し、時刻t4でプログラムを終了する。ここで留意すべきは、プログラムパルス数は固定ではなく、ベリファイも強制的に不合格にせず、通常のプログラムのときと同様に行われる。つまり、プロテクト情報およびロック情報のベリファイが合格した時点でプログラムは終了する。これにより、WPコマンドの実行に要する時間を、第2の実施例のときよりも短くすることが可能である。さらに第3の実施例では、マスタチップのみが待ち時間を実施するため、スレーブチップには内部カウンタは不要である。
【0049】
上記実施例では、マスタチップおよびスレーブチップがともにNAND型フラッシュメモリを例示したが、本発明は、NOR型のマスタチップおよびスレーブチップにも適用可能である。
【0050】
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0051】
10:ホストコンピュータ 100:フラッシュメモリデバイス
200:マスタチップ 210:メモリセルアレイ
220:周辺回路 230:コントローラ
240:内部インターフェース 300:スレーブチップ
310:メモリセルアレイ 320:周辺回路
330:内部インターフェース
【要約】
【課題】 複数のメモリチップ間のビジー状態の不一致を防止する。
【解決手段】 本発明のフラッシュメモリデバイス100は、マスタチップ200と、少なくとも1つのスレーブチップ300とを含む。マスタチップ200およびスレーブチップは、プロテクト情報を格納可能なステータスレジスタを含み、ステータスレジスタのプロテクト情報をロックするためのWPコマンドが入力されたとき、プロテクト情報およびロック情報をメモリセルアレイにプログラムする。このとき、選択されたメモリチップでのプログラム時間が非選択のメモリチップでのプログラム時間よりも長くなるようにプログラムが制御される。
【選択図】 図1
図1
図2
図3
図4
図5
図6
図7
図8