(57)【要約】【課題】ブートプログラムの正確な転送動作を実現する。【解決手段】メモリシステム１は、ブートプログラムを格納する不揮発性の第１のメモリ１０と、揮発性の第２のメモリ１１と、電源電圧のレベルを検知し、電源電圧が第１のレベルより低くなった場合に割込みを発生する検知回路１３と、電源投入時に、第１のメモリ１０からブートプログラムを読み出す読み出し動作と、上記読み出されたブートプログラムを第２のメモリ１１に転送する転送動作とを含むシーケンスを実行するステートマシン１２とを含む。ステートマシン１２は、読み出し動作中、又は転送動作中に割込みが活性化された場合に、割込みが非活性化されるまで待機する待機ステートを含む。【選択図】      図１
2012128769.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムを格納する不揮発性の第１のメモリと、
揮発性の第２のメモリと、
電源電圧のレベルを検知し、前記電源電圧が第１のレベルより低くなった場合に割込みを発生する検知回路と、
電源投入時に、前記第１のメモリから前記ブートプログラムを読み出す第１の読み出し動作と、前記読み出されたブートプログラムを前記第２のメモリに転送する転送動作とを含むシーケンスを実行するステートマシンとを具備し、
前記ステートマシンは、前記第１の読み出し動作中、又は前記転送動作中に前記割込みが活性化された場合に、前記割込みが非活性化されるまで待機する待機ステートを含むことを特徴とするメモリシステム。
【請求項２】
前記ステートマシンは、前記待機ステートが終了した後、前記シーケンスを再度実行することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記シーケンスは、前記第１の読み出し動作前に、前記第１のメモリを初期化するための初期設定データを前記第１のメモリから読み出す第２の読み出し動作を含むことを特徴とする請求項１又は２に記載のメモリシステム。
【請求項４】
前記ステートマシンは、前記第１の読み出し動作を開始する時間を所定時間だけ遅らせることを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記第２の読み出し動作は、前記電源電圧が第２のレベルに到達した後に実行されることを特徴とする請求項３又は４に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
不揮発性半導体メモリの一種として、ＮＡＮＤ型フラッシュメモリが知られている。不揮発性半導体メモリ（例えば、ＮＡＮＤ型フラッシュメモリ）に格納されたプログラムをホスト機器が使用する場合に、ＮＡＮＤ型フラッシュメモリよりも動作速度の速い揮発性半導体メモリ（例えば、ＳＲＡＭ）に転送し、ＳＲＡＭに格納されたプログラムをホスト機器が使用する。このようなシーケンスを行うことで、ホスト機器は、プログラムを高速に読み出すことが可能となる。
【０００３】
ＮＡＮＤ型フラッシュメモリ及びＳＲＡＭが正常に動作するためには、特定の保証電圧以上の電圧で動作させる必要がある。特に、ＳＲＡＭなどは、動作電圧が低いと、データを保持することができない。
【０００４】
保証電圧より低い電源電圧の下でＮＡＮＤ型フラッシュメモリからＳＲＡＭへプログラムが転送された場合、データが誤転送され、誤ったプログラムがＳＲＡＭに格納されることになる。これにより、誤ったプログラムをホスト機器が実行してしまう可能性がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２０７５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施形態は、ブートプログラムの正確な転送動作が可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００７】
実施形態に係るメモリシステムは、ブートプログラムを格納する不揮発性の第１のメモリと、揮発性の第２のメモリと、電源電圧のレベルを検知し、前記電源電圧が第１のレベルより低くなった場合に割込みを発生する検知回路と、電源投入時に、前記第１のメモリから前記ブートプログラムを読み出す第１の読み出し動作と、前記読み出されたブートプログラムを前記第２のメモリに転送する転送動作とを含むシーケンスを実行するステートマシンとを具備する。前記ステートマシンは、前記第１の読み出し動作中、又は前記転送動作中に前記割込みが活性化された場合に、前記割込みが非活性化されるまで待機する待機ステートを含む。
【図面の簡単な説明】
【０００８】
【図１】メモリシステム１の構成を示すブロック図。
【図２】ＮＡＮＤ型フラッシュメモリ１０の構成を示すブロック図。
【図３】１個のブロックＢＬＫの構成を示す回路図。
【図４】第１の実施形態に係るステートマシン１２の動作を説明する状態遷移図。
【図５】第１の実施形態に係る電源投入シーケンスの第１の例を示すタイミング図。
【図６】電源投入シーケンスの第２の例を示すタイミング図。
【図７】電源投入シーケンスの第３の例を示すタイミング図。
【図８】電源投入シーケンスの第４の例を示すタイミング図。
【図９】第２の実施形態に係るステートマシン１２の動作を説明する状態遷移図。
【図１０】第２の実施形態に係る電源投入シーケンスを説明するタイミング図。
【発明を実施するための形態】
【０００９】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１０】
本実施形態のメモリシステムは、主記憶部としての不揮発性半導体メモリと、不揮発性半導体メモリに比べて高速読み出しが可能な揮発性メモリとが１チップに集積されて構成される。以下の説明では、不揮発性半導体メモリとしてＮＡＮＤ型フラッシュメモリを、揮発性メモリとしてＳＲＡＭ（Static Random Access Memory）を例に挙げて説明する。
【００１１】
［第１の実施形態］
図１は、第１の実施形態に係るメモリシステム１の構成を示すブロック図である。メモリシステム１は、ＮＡＮＤ型フラッシュメモリ１０、ＳＲＡＭ１１、ステートマシン１２、電圧レベル検知回路１３、入出力パッドＩ／Ｏ、及びパッドＰ１，Ｐ２を備えている。メモリシステム１では、ＮＡＮＤ型フラッシュメモリ１０が主記憶部として機能し、ＳＲＡＭ１１がデータバッファとして機能する。メモリシステム１は、パッドを介して、ホストコントローラ２と接続される。
【００１２】
メモリシステム１は、外部から電源電圧ＶＣＣを受け、この電源電圧ＶＣＣを用いて動作する。電源電圧ＶＣＣは、電圧レベル検知回路１３を含む各回路に供給される。電圧レベル検知回路１３は、電源電圧ＶＣＣのレベルを検知する。そして、電圧レベル検知回路１３は、検知結果をステートマシン１２に送るとともに、検知結果に基づいて、ステートマシン１２に割込み（Interrupt）を発生する。
【００１３】
入出力パッドＩ／Ｏには、ホストコントローラ２からデータ（コマンド及びアドレスを含む）が入力される。入出力パッドＩ／Ｏに入力されたコマンド及びアドレスは、ステートマシン１２に送られ、それ以外のデータは、ＳＲＡＭ１１に送られる。また、ＳＲＡＭ１１から読み出されたデータは、入出力パッドＩ／Ｏを介して、ホストコントローラ２に出力される。
【００１４】
パッドＰ１には、ホストコントローラ２から各種制御信号ＣＮＴが入力される。パッドＰ１に入力された制御信号ＣＮＴは、ステートマシン１２に送られる。パッドＰ２には、ステートマシン１２からレディ／ビジー信号ＲＹ／ＢＹが送られる。レディ／ビジー信号ＲＹ／ＢＹは、パッドＰ２を介して、ホストコントローラ２に出力される。
【００１５】
ステートマシン１２は、メモリシステム１全体の動作を司る。そして、ステートマシン１２は、コマンド、アドレス、及び制御信号に基づいて、メモリシステム１内部における各種動作、及びシーケンスを制御する。
【００１６】
ＳＲＡＭ１１は、ＳＲＡＭセルアレイ、ロウデコーダ、センスアンプ、及び読み出しデータ及び書き込みデータを一時的に格納するデータバッファなどから構成される。ＳＲＡＭセルアレイは、複数のワード線と複数のビット線対との交差領域にマトリクス状に配置された複数のメモリセル（ＳＲＡＭセル）を備えている。
【００１７】
図２は、ＮＡＮＤ型フラッシュメモリ１０の構成を示すブロック図である。ＮＡＮＤ型フラッシュメモリ１０は、メモリセルアレイ２０、センスアンプ２１、ページバッファ２２、ロウデコーダ２３、電圧発生回路２４、及び制御回路２５を備えている。
【００１８】
メモリセルアレイ２０は、ブートプログラムを格納する記憶領域２０Ａを備えている。ブートプログラムは、ホストコントローラ２が起動する際に使用するプログラムである。メモリセルアレイ２０は、データ消去の単位である複数のブロックＢＬＫから構成されている。図３は、１個のブロックＢＬＫの構成を示す回路図である。
【００１９】
ブロックＢＬＫは、複数のメモリセルユニットＣＵを備えている。各メモリセルユニットＣＵは、複数のメモリセルトランジスタ（単にメモリセルという場合もある）ＭＴと、２個の選択トランジスタＳＴ１、ＳＴ２とから構成されている。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート電極）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを有する積層ゲート構造を備えている。メモリセルトランジスタＭＴは、浮遊ゲート構造に限らず、電荷蓄積層としての絶縁膜（例えば、窒化膜）に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であっても良い。
【００２０】
１個のメモリセルユニットＣＵ内で隣接するメモリセルトランジスタＭＴ同士の電流経路は直列接続されている。すなわち、（ｍ＋１）個のメモリセルトランジスタＭＴは、隣接するもの同士で拡散領域（ソース領域若しくはドレイン領域）を共有するような形でカラム方向に直列接続される。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００２１】
同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、複数のワード線ＷＬ０〜ＷＬｍのいずれかに共通接続されている。同一行にある選択トランジスタＳＴ１，ＳＴ２のゲート電極は、選択ゲート線ＳＧＤ，ＳＧＳにそれぞれ共通接続されている。各選択トランジスタＳＴ１のドレインは、複数のビット線ＢＬ０〜ＢＬｎのいずれかに接続されている。選択トランジスタＳＴ２のソースは、ソース線ＣＥＬＳＲＣに共通接続されている。
【００２２】
同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴはページを構成する。データの書き込み及び読み出しは、１つのページ内のメモリセルトランジスタＭＴに対して一括して行なわれる。
【００２３】
ビット線ＢＬは、ブロックＢＬＫ間で、選択トランジスタＳＴ１のドレインを共通接続している。つまり、複数のブロックＢＬＫ内において同一列にあるメモリセルユニットＣＵは、同一のビット線ＢＬに接続される。
【００２４】
各メモリセルトランジスタＭＴは、例えば、浮遊ゲート電極に注入された電子の多寡による閾値電圧の変化に応じて、１ビットのデータを記憶することが可能である。閾値電圧の制御を細分化し、各メモリセルトランジスタＭＴに２ビット以上のデータを記憶する構成としても良い。
【００２５】
図２において、ビット線ＢＬには、センスアンプ２１が接続されている。センスアンプ２１は、ビット線ＢＬの電圧を制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行う。ページバッファ２２は、メモリセルアレイ２０から読み出された読み出しデータを一時的に格納し、また、メモリセルアレイ２０に書き込むべき書き込みデータを一時的に格納する。
【００２６】
ワード線ＷＬには、ロウデコーダ２３が接続されている。ロウデコーダ２３は、ワード線ＷＬを選択し、さらに、消去、書き込み、及び読み出しに必要な各種電圧をワード線ＷＬに印加する。電圧発生回路２４は、電源電圧ＶＣＣを昇圧して、ロウデコーダ２３で使用される各種電圧を発生する。
【００２７】
制御回路２５は、ＮＡＮＤ型フラッシュメモリ１０全体の動作を司る。すなわち、制御回路２５は、コマンド及びアドレスなどを用いて、消去、書き込み、及び読み出し動作を制御する。
【００２８】
（動作）
メモリシステム１は、電源投入（パワーオン）後に電源電圧ＶＣＣがある一定のレベルに到達すると、ＮＡＮＤ型フラッシュメモリ１０の動作設定を決める初期設定データをメモリセルアレイ２０から読み出し（以降、パワーオンロム（P.O.R）リードと呼ぶ）、続いてブートプログラムをＮＡＮＤ型フラッシュメモリ１０から読み出し（以降、ブートリードと呼ぶ)、続いて読み出されたブートプログラムをＳＲＡＭ１１に転送する。これらの一連の動作を電源投入シーケンスと呼ぶ。なお、P.O.Rリードには、初期設定データを用いたＮＡＮＤ型フラッシュメモリ１０内の初期化動作も含まれる。
【００２９】
図４は、ステートマシン１２の動作を説明する状態遷移図である。図５は、電源投入シーケンスの第１の例を示すタイミング図であり、メモリシステム１の基本動作を示している。すなわち、第１の例は、電源電圧ＶＣＣの変動がほとんど無い場合のメモリシステム１の動作である。
【００３０】
電源が投入されると、ステートマシン１２は、パッドＰ２を介して、電源投入シーケンスの実行中を示すビジー信号を、ホストコントローラ２に出力する。続いて、電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を開始する。電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達したことを電圧レベル検知回路１３が検知すると、この検知結果がステートマシン１２に通知される。
【００３１】
電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達すると、ステートマシン１２は、アイドルステートＳ１００からP.O.RリードステートＳ１０１に遷移し、P.O.Rリード動作を実行する。具体的には、ステートマシン１２は、初期設定データを読み出すコマンドをＮＡＮＤ型フラッシュメモリ１０に発行する。これに応答して、制御回路２５は、メモリセルアレイ２０から初期設定データを読み出し、この初期設定データを用いて初期化動作を実行する。その後、ＮＡＮＤ型フラッシュメモリ１０は、P.O.Rリード動作が完了したことをステートマシン１２に通知する。
【００３２】
P.O.Rリード動作が完了すると、ステートマシン１２は、ブートリードステートＳ１０４に遷移し、ブートリード動作を実行する。具体的には、ステートマシン１２は、ブートプログラムを読み出すコマンド及びアドレスをＮＡＮＤ型フラッシュメモリ１０に発行する。これに応答して、ＮＡＮＤ型フラッシュメモリ１０の制御回路２５は、メモリセルアレイ２０からブートプログラムを読み出し、このブートプログラムをページバッファ２２に一時的に格納する。その後、ＮＡＮＤ型フラッシュメモリ１０は、ブートリード動作が完了したことをステートマシン１２に通知する。
【００３３】
ブートリード動作が完了すると、ステートマシン１２は、ＳＲＡＭ転送ステートＳ１０６に遷移し、ＳＲＡＭ転送動作を実行する。具体的には、ステートマシン１２は、ＮＡＮＤ型フラッシュメモリ１０からＳＲＡＭ１１にデータを転送するためのコマンドをＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１に発行する。これに応答して、ＮＡＮＤ型フラッシュメモリ１０の制御回路２５は、ページバッファ２２に格納されたブートプログラムをＳＲＡＭ１１に転送する。ＳＲＡＭ１１は、ＮＡＮＤ型フラッシュメモリ１０から転送されたブートプログラムをＳＲＡＭセルアレイに格納する。その後、ＳＲＡＭ１１は、ＳＲＡＭ転送動作が完了したことをステートマシン１２に通知する。
【００３４】
ＳＲＡＭ転送動作が完了すると、ステートマシン１２は、アイドルステートＳ１０７に遷移する。続いて、ステートマシン１２は、パッドＰ２を介して、電源投入シーケンスの終了を示すレディ信号を、ホストコントローラ２に出力する。ホストコントローラ２は、レディ信号を受けることで電源投入シーケンスが終了したことを認識する。その後、ホストコントローラ２は、ＳＲＡＭ１１に格納されたブートプログラムを用いて起動処理を実行する。
【００３５】
なお、P.O.Rリードステートは、ＮＡＮＤ型フラッシュメモリ１０の初期設定動作のみ保証すれば良く、P.O.R開始レベルのような低い電圧でも動作可能なように設計されている。一方で、ＮＡＮＤ型フラッシュメモリ１０の通常の読み出し動作を含むブートリードステートや、ＳＲＡＭ転送ステートにおけるＳＲＡＭ１１の動作を低電圧で保証することは難しい。このため、本実施形態では、図５に示すように、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１の通常動作を保証する電圧として、外部保証電圧ＶＣＣ_minを定義している。外部保証電圧ＶＣＣ_minは、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１が動作することを保証する外部仕様であり、メモリシステム１内部の動作を保証する内部保証電圧、例えば後述するＬＯＷＶＤＤよりもマージンを持った値となる。
【００３６】
図６は、電源投入シーケンスの第２の例を示すタイミング図である。第２の例は、電源電圧ＶＣＣがP.O.R開始レベルより低い電圧まで降下する場合のメモリシステム１の動作である。
【００３７】
電源が投入されると、ステートマシン１２は、ホストコントローラ２にビジー信号を出力する。続いて、電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を開始する。電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達すると、ステートマシン１２は、アイドルステートＳ１００からP.O.RリードステートＳ１０１に遷移し、P.O.Rリード動作を実行する。
【００３８】
続いて、電源電圧ＶＣＣがP.O.R開始レベルより低い電圧まで降下したものとする。電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を続けているが、電源電圧ＶＣＣがP.O.R開始レベルより所定電圧だけ低い内部保証電圧ＬＯＷＶＤＤ以上であれば、割込み（Interrupt）を発生しない。よって、第２の例においても、第１の例と同じシーケンスが実行される。
【００３９】
内部保証電圧ＬＯＷＶＤＤは、メモリシステム１内部の動作を保証する電圧である。すなわち、メモリシステム１が内部保証電圧ＬＯＷＶＤＤ以上で動作している限り、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１はそれぞれ、書き込み動作及び読み出し動作を含む通常動作が保証される。このように、内部保証電圧ＬＯＷＶＤＤを定義することで、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１間でのデータ誤転送、及び低電圧下でのＳＲＡＭ１１のデータ誤ラッチを防ぐことが可能となる。
【００４０】
図７は、電源投入シーケンスの第３の例を示すタイミング図である。第３の例は、電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低い電圧まで降下し、かつ割込みを発生する場合のメモリシステム１の動作である。
【００４１】
電源が投入されると、ステートマシン１２は、ホストコントローラ２にビジー信号を出力する。続いて、電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を開始する。電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達すると、ステートマシン１２は、アイドルステートＳ１００からP.O.RリードステートＳ１０１に遷移し、P.O.Rリード動作を実行する。
【００４２】
続いて、電源電圧ＶＣＣがP.O.R開始レベルより低い電圧まで降下したものとする。電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を続けているが、電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低くなると、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１の通常動作が保証できない。この場合、電圧レベル検知回路１３は、ステートマシン１２に割込みを発生する（Interrupt＝Ｈ）。
【００４３】
割込みが発生すると、ステートマシン１２は、終了シーケンス（終了Ｓｅｑ）Ｓ１０２を実行する。終了シーケンスとは、ＮＡＮＤ型フラッシュメモリ１０の読み出し処理をリセットする動作を含み、具体的には、ＮＡＮＤ型フラッシュメモリ１０のワード線に印加していた電圧をリセットする処理や、ビット線に転送した電荷を引き抜く処理を含む。終了シーケンスＳ１０２が完了すると、ステートマシン１２は、待機ステート（P.O.R_wait）Ｓ１０３に遷移する。待機ステートＳ１０３では、ステートマシン１２の制御による動作は何も行われない。
【００４４】
続いて、電源電圧ＶＣＣがP.O.R開始レベル以上になると、電圧レベル検知回路１３は、割込みを解除する（Interrupt＝Ｌ）。割込みが解除されると、ステートマシン１２は、電源投入シーケンスを最初から再実行する。
【００４５】
ただし、電源電圧ＶＣＣがP.O.R開始レベルより低い電圧まで降下した場合において電電投入シーケンスが再実行可能な電圧レベルは、電圧ＬＯＷＶＤＤより所定電圧だけ低い電圧ＬＯＷＶＤＤ２である。電源電圧ＶＣＣが電圧ＬＯＷＶＤＤ２より低くなると、ステートマシン１２は、電源遮断状態とみなし、電電投入シーケンスを終了する。この場合は、再度電源投入をやり直す必要がある。以降の説明で再実行すると記載した内容は、全て電源電圧ＶＣＣの電圧降下がＬＯＷＶＤＤ２以上かつＬＯＷＶＤＤ未満の範囲であるものとする。
【００４６】
図８は、電源投入シーケンスの第４の例を示すタイミング図である。第４の例は、ブートリードステートにおいて電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低い電圧まで降下した場合のメモリシステム１の動作である。
【００４７】
電源が投入されると、ステートマシン１２は、ホストコントローラ２にビジー信号を出力する。続いて、電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を開始する。電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達すると、ステートマシン１２は、アイドルステートＳ１００からP.O.RリードステートＳ１０１に遷移し、P.O.Rリード動作を実行する。
【００４８】
P.O.Rリード動作が完了すると、ステートマシン１２は、ブートリードステートＳ１０４に遷移し、ブートリード動作を実行する。続いて、ブートリード動作中に、電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低い電圧まで降下したものとする。電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を続けているが、電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低くなると、ステートマシン１２に割込みを発生する（Interrupt＝Ｈ）。
【００４９】
割込みが発生すると、ステートマシン１２は、終了シーケンスＳ１０５を実行する。終了シーケンスＳ１０５は、Ｓ１０２と同じ動作である。終了シーケンスＳ１０５が終了すると、ステートマシン１２は、待機ステート（P.O.R_wait）Ｓ１０３に遷移する。
【００５０】
続いて、電源電圧ＶＣＣがP.O.R開始レベル以上になると、電圧レベル検知回路１３は、割込みを解除する（Interrupt＝Ｌ）。割込みが解除されると、ステートマシン１２は、電源投入シーケンスを最初から再実行する。
【００５１】
同様に、図４に示すように、ＳＲＡＭ転送ステートにおいて、電圧レベル検知回路１３が割込みを発生した場合、すなわち電源電圧ＶＣＣが電圧ＬＯＷＶＤＤより低い電圧まで降下した場合、ステートマシン１２は、待機ステート（P.O.R_wait）Ｓ１０３に遷移する。続いて、電源電圧ＶＣＣがP.O.R開始レベル以上になると、電圧レベル検知回路１３は、割込みを解除する（Interrupt＝Ｌ）。割込みが解除されると、ステートマシン１２は、電源投入シーケンスを最初から再実行する。
【００５２】
（効果）
以上詳述したように第１の実施形態では、電圧レベル検知回路１３は、メモリシステム１に供給される電源電圧ＶＣＣを監視しており、電源投入後に電源電圧ＶＣＣがP.O.R開始レベル以上になった場合に、メモリシステム１は、電源投入シーケンスを実行する。この電源投入シーケンスでは、P.O.Rリード動作、ブートリード動作、及びＳＲＡＭ転送動作が順に実行される。また、電圧レベル検知回路１３は、電源電圧ＶＣＣが内部保証電圧ＬＯＷＶＤＤより低くなった場合に、ステートマシン１２に割込みを発生する。そして、ステートマシン１２は、P.O.Rリード動作中、ブートリード動作中、或いはＳＲＡＭ転送動作中に割込みが発生した場合に、電源投入シーケンスを最初（P.O.Rリード動作）から再実行するようにしている。
【００５３】
従って第１の実施形態によれば、電源投入後、P.O.Rリード動作中、ブートリード動作中、或いはＳＲＡＭ転送動作中に電源電圧ＶＣＣに電圧降下が起こった場合でも、ブートプログラムをＳＲＡＭ１１に正確に転送することができる。これにより、ホストコントローラ２は、正確なプログラムを用いて起動動作を実行できるため、ホストコントローラ２の誤動作を防ぐことができる。
【００５４】
また、電源電圧ＶＣＣが変動していることに起因してステートマシン１２が電源投入シーケンスの再実行を繰り返している間は、ステートマシン１２は、ホストコントローラ２にビジー信号を出力し続けている。これにより、ホストコントローラ２が誤ったブートプログラムを実行してしまうのを防ぐことができる。
【００５５】
［第２の実施形態］
前述したように、P.O.Rリードステートは、ＮＡＮＤ型フラッシュメモリ１０の初期設定動作のみ保証すれば良く、P.O.R開始レベルのような低い電圧でも動作可能なように設計されている。一方で、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１間でのデータ誤転送、及び低電圧下でのＳＲＡＭ１１のデータ誤ラッチを防ぐことを目的として、ブートリードステート、及びＳＲＡＭ転送ステートにおいて、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１を内部保証電圧ＬＯＷＶＤＤ以上で動作させるようにしている。さらに、電源投入のスペック項目として、P.O.R開始レベルから外部保証電圧ＶＣＣ_minまでの到達時間を定義することで、ＮＡＮＤ型フラッシュメモリ１０及びＳＲＡＭ１１の動作を保証することができる。
【００５６】
しかしながら、ステートマシン１２は、P.O.Rリードステート、ブートリードステート、及びＳＲＡＭ転送ステートを順に実行するため、電源電圧ＶＣＣが保証電圧ＶＣＣ_minに到達したことを検知する何らかの機能を持たない場合は、電源電圧ＶＣＣが保証電圧ＶＣＣ_minに満たない段階でブートリードステート、又はＳＲＡＭ転送ステートが開始される可能性がある。一例としては、ＮＡＮＤ型フラッシュメモリ１０のスペックが変更されて、P.O.Rリードステートに要する時間が短くなった場合で、かつ、メモリシステム１のスペックがＮＡＮＤ型フラッシュメモリ１０に対応して変更されていない場合には、上記現象が発生する可能性がある。
【００５７】
そこで、第２の実施形態は、電源電圧ＶＣＣが保証電圧ＶＣＣ_min以上になった後に、ブートリードステート、又はＳＲＡＭ転送ステートを開始するようにしている。図９は、第２の実施形態に係るステートマシン１２の動作を説明する状態遷移図である。図９において、P.O.RリードステートＳ１０１の後に、ダミータイマステートＳ１０８が挿入されている。ダミータイマステートＳ１０８以外の動作は、第１の実施形態と同じである。
【００５８】
ダミータイマステートＳ１０８は、ステートマシン１２の制御による動作は何も行われず、電源電圧ＶＣＣが保証電圧ＶＣＣ_minに到達する時間と、ブートリードステートＳ１０４が開始される時間とを合わせることが目的である。すなわち、ステートマシン１２は、P.O.RリードステートＳ１０１が完了した後、ダミータイマステートＳ１０８に遷移し、所定時間だけ待機する。そして、ステートマシン１２は、所定時間が経過した後、ブートリードステートＳ１０４に遷移する。このダミータイマステートを実現するために、ステートマシン１２は、タイマ機能を有している。タイマによる待機時間は、電源電圧ＶＣＣの立ち上がり速度に応じて決定される。
【００５９】
図１０は、第２の実施形態に係る電源投入シーケンスを説明するタイミング図である。電源が投入されると、ステートマシン１２は、ホストコントローラ２にビジー信号を出力する。続いて、電圧レベル検知回路１３は、電源電圧ＶＣＣの監視を開始する。電源電圧ＶＣＣがP.O.R開始レベル（P.O.R_start）に到達すると、ステートマシン１２は、アイドルステートＳ１００からP.O.RリードステートＳ１０１に遷移し、P.O.Rリード動作を実行する。
【００６０】
P.O.Rリード動作が完了した時点では、電源電圧ＶＣＣは保証電圧ＶＣＣ_minに到達していない。続いて、ステートマシン１２は、ダミータイマステートＳ１０８に遷移し、タイマに設定された所定時間だけ待機する。所定時間が経過した後、すなわち電源電圧ＶＣＣが保証電圧ＶＣＣ_min以上になった後、ステートマシン１２は、ブートリードステートＳ１０４に遷移し、ブートリード動作を実行する。その後の動作は、第１の実施形態と同じである。また、電源電圧ＶＣＣが変動して割込みが発生した場合の動作も、第１の実施形態と同じである。
【００６１】
以上詳述したように第２の実施形態によれば、外部保証電圧ＶＣＣ_min以上の電源電圧ＶＣＣを用いて、ブートリード動作、及びＳＲＡＭ転送動作を実行することができる。このため、ブートプログラムをＳＲＡＭ１１に正確に転送することができる。これにより、ホストコントローラ２は、正確なプログラムを用いて起動動作が実行できるため、ホストコントローラ２の誤動作を防ぐことができる。
【００６２】
また、ＮＡＮＤ型フラッシュメモリ１０のスペックが変更されて、P.O.Rリード動作に要する時間が変更された場合でも、ＮＡＮＤ型フラッシュメモリ１０以外の回路を変更することなく、ブートプログラムの正確な転送動作を実現できる。
【００６３】
なお、上記各実施形態では、ブートプログラムを格納する不揮発性半導体メモリとしてＮＡＮＤ型フラッシュメモリを例に挙げて説明している。しかしながら、ブートプログラムを格納する不揮発性半導体メモリがP.O.Rリード動作が不要である場合は、電源投入後に、ブートリード動作、及びＳＲＡＭ転送動作が順に実行される。このような不揮発性半導体メモリを備えたメモリシステムにも、本実施形態は適用可能である。
【００６４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６５】
１…メモリシステム、２…ホストコントローラ、２…ＮＡＮＤ型フラッシュメモリ、１０…ＮＡＮＤ型フラッシュメモリ、１１…ＳＲＡＭ、１２…ステートマシン、１３…電圧レベル検知回路、２０…メモリセルアレイ、２１…センスアンプ、２２…ページバッファ、２３…ロウデコーダ、２４…電圧発生回路、２５…制御回路、Ｉ／Ｏ…入出力パッド、Ｐ１，Ｐ２…パッド、ＳＧＤ，ＳＧＳ…選択ゲート線、ＣＥＬＳＲＣ…ソース線、ＷＬ…ワード線、ＢＬ…ビット線、ＭＴ…メモリセルトランジスタ、ＳＴ１，ＳＴ２…選択トランジスタ。
【図１】
2012128769.tif 000003
【図２】
2012128769.tif 000004
【図３】
2012128769.tif 000005
【図４】
2012128769.tif 000006
【図５】
2012128769.tif 000007
【図６】
2012128769.tif 000008
【図７】
2012128769.tif 000009
【図８】
2012128769.tif 000010
【図９】
2012128769.tif 000011
【図１０】
2012128769.tif 000012
【手続補正書】
【提出日】平成24年3月28日(2012.3.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブートプログラムを格納する不揮発性の第１のメモリと、
揮発性の第２のメモリと、
電源電圧のレベルを検知し、前記電源電圧が第１のレベルより低くなった場合に割込みを発生する検知回路と、
電源投入時に、前記第１のメモリから前記ブートプログラムを読み出す第１の読み出し動作と、前記読み出されたブートプログラムを前記第２のメモリに転送する転送動作を含むシーケンスを実行し、レディ／ビジー信号を出力するステートマシンとを具備し、
前記ステートマシンがビジー信号を出力する期間であって、前記第１の読み出し動作中、又は前記転送動作中に、前記割込みが活性化された場合に、前記ステートマシンは、前記割込みが非活性化されるまで待機する待機ステートを含むことを特徴とするメモリシステム。
【請求項２】
前記ステートマシンは、前記待機ステートが終了した後、前記シーケンスを再度実行し、
前記シーケンスは、前記第１の読み出し動作前に、前記第１のメモリを初期化するための初期設定データを前記第１のメモリから読み出す第２の読み出し動作を含むことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記ステートマシンは、前記第１の読み出し動作を開始する時間を、前記電源電圧が保証電圧に到達する所定時間だけ遅らせることを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記第２の読み出し動作は、前記電源電圧が第２のレベルに到達した後に実行されることを特徴とする請求項２又は３に記載のメモリシステム。
【請求項５】
前記ステートマシンは、前記電源電圧が前記第１のレベルよりも低い前記第２のレベルより低くなった場合に、前記電源電圧を遮断し、
前記ステートマシンは、前記ステートマシンがビジー信号を出力する期間であって、前記第１の読み出し動作中、又は前記転送動作中に、前記割込みが非活性化された場合に、前記第１の読み出し動作、又は前記転送動作を行うことを特徴とする請求項１乃至４のいずれか１項に記載のメモリシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
実施形態に係るメモリシステムは、ブートプログラムを格納する不揮発性の第１のメモリと、揮発性の第２のメモリと、電源電圧のレベルを検知し、前記電源電圧が第１のレベルより低くなった場合に割込みを発生する検知回路と、電源投入時に、前記第１のメモリから前記ブートプログラムを読み出す第１の読み出し動作と、前記読み出されたブートプログラムを前記第２のメモリに転送する転送動作とを含むシーケンスを実行し、レディ／ビジー信号を出力するステートマシンとを具備する。前記ステートマシンがビジー信号を出力する期間であって、前記第１の読み出し動作中、又は前記転送動作中に、前記割込みが活性化された場合に、前記ステートマシンは、前記割込みが非活性化されるまで待機する待機ステートを含む。