説明

メモリシステム

【課題】ブートプログラムの正確な転送動作を実現する。
【解決手段】メモリシステム1は、ブートプログラムを格納する不揮発性の第1のメモリ10と、揮発性の第2のメモリ11と、電源電圧のレベルを検知し、電源電圧が第1のレベルより低くなった場合に割込みを発生する検知回路13と、電源投入時に、第1のメモリ10からブートプログラムを読み出す読み出し動作と、上記読み出されたブートプログラムを第2のメモリ11に転送する転送動作とを含むシーケンスを実行するステートマシン12とを含む。ステートマシン12は、読み出し動作中、又は転送動作中に割込みが活性化された場合に、割込みが非活性化されるまで待機する待機ステートを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【0002】
不揮発性半導体メモリの一種として、NAND型フラッシュメモリが知られている。不揮発性半導体メモリ(例えば、NAND型フラッシュメモリ)に格納されたプログラムをホスト機器が使用する場合に、NAND型フラッシュメモリよりも動作速度の速い揮発性半導体メモリ(例えば、SRAM)に転送し、SRAMに格納されたプログラムをホスト機器が使用する。このようなシーケンスを行うことで、ホスト機器は、プログラムを高速に読み出すことが可能となる。
【0003】
NAND型フラッシュメモリ及びSRAMが正常に動作するためには、特定の保証電圧以上の電圧で動作させる必要がある。特に、SRAMなどは、動作電圧が低いと、データを保持することができない。
【0004】
保証電圧より低い電源電圧の下でNAND型フラッシュメモリからSRAMへプログラムが転送された場合、データが誤転送され、誤ったプログラムがSRAMに格納されることになる。これにより、誤ったプログラムをホスト機器が実行してしまう可能性がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平10−207587号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態は、ブートプログラムの正確な転送動作が可能なメモリシステムを提供する。
【課題を解決するための手段】
【0007】
実施形態に係るメモリシステムは、ブートプログラムを格納する不揮発性の第1のメモリと、揮発性の第2のメモリと、電源電圧のレベルを検知し、前記電源電圧が第1のレベルより低くなった場合に割込みを発生する検知回路と、電源投入時に、前記第1のメモリから前記ブートプログラムを読み出す第1の読み出し動作と、前記読み出されたブートプログラムを前記第2のメモリに転送する転送動作とを含むシーケンスを実行するステートマシンとを具備する。前記ステートマシンは、前記第1の読み出し動作中、又は前記転送動作中に前記割込みが活性化された場合に、前記割込みが非活性化されるまで待機する待機ステートを含む。
【図面の簡単な説明】
【0008】
【図1】メモリシステム1の構成を示すブロック図。
【図2】NAND型フラッシュメモリ10の構成を示すブロック図。
【図3】1個のブロックBLKの構成を示す回路図。
【図4】第1の実施形態に係るステートマシン12の動作を説明する状態遷移図。
【図5】第1の実施形態に係る電源投入シーケンスの第1の例を示すタイミング図。
【図6】電源投入シーケンスの第2の例を示すタイミング図。
【図7】電源投入シーケンスの第3の例を示すタイミング図。
【図8】電源投入シーケンスの第4の例を示すタイミング図。
【図9】第2の実施形態に係るステートマシン12の動作を説明する状態遷移図。
【図10】第2の実施形態に係る電源投入シーケンスを説明するタイミング図。
【発明を実施するための形態】
【0009】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【0010】
本実施形態のメモリシステムは、主記憶部としての不揮発性半導体メモリと、不揮発性半導体メモリに比べて高速読み出しが可能な揮発性メモリとが1チップに集積されて構成される。以下の説明では、不揮発性半導体メモリとしてNAND型フラッシュメモリを、揮発性メモリとしてSRAM(Static Random Access Memory)を例に挙げて説明する。
【0011】
[第1の実施形態]
図1は、第1の実施形態に係るメモリシステム1の構成を示すブロック図である。メモリシステム1は、NAND型フラッシュメモリ10、SRAM11、ステートマシン12、電圧レベル検知回路13、入出力パッドI/O、及びパッドP1,P2を備えている。メモリシステム1では、NAND型フラッシュメモリ10が主記憶部として機能し、SRAM11がデータバッファとして機能する。メモリシステム1は、パッドを介して、ホストコントローラ2と接続される。
【0012】
メモリシステム1は、外部から電源電圧VCCを受け、この電源電圧VCCを用いて動作する。電源電圧VCCは、電圧レベル検知回路13を含む各回路に供給される。電圧レベル検知回路13は、電源電圧VCCのレベルを検知する。そして、電圧レベル検知回路13は、検知結果をステートマシン12に送るとともに、検知結果に基づいて、ステートマシン12に割込み(Interrupt)を発生する。
【0013】
入出力パッドI/Oには、ホストコントローラ2からデータ(コマンド及びアドレスを含む)が入力される。入出力パッドI/Oに入力されたコマンド及びアドレスは、ステートマシン12に送られ、それ以外のデータは、SRAM11に送られる。また、SRAM11から読み出されたデータは、入出力パッドI/Oを介して、ホストコントローラ2に出力される。
【0014】
パッドP1には、ホストコントローラ2から各種制御信号CNTが入力される。パッドP1に入力された制御信号CNTは、ステートマシン12に送られる。パッドP2には、ステートマシン12からレディ/ビジー信号RY/BYが送られる。レディ/ビジー信号RY/BYは、パッドP2を介して、ホストコントローラ2に出力される。
【0015】
ステートマシン12は、メモリシステム1全体の動作を司る。そして、ステートマシン12は、コマンド、アドレス、及び制御信号に基づいて、メモリシステム1内部における各種動作、及びシーケンスを制御する。
【0016】
SRAM11は、SRAMセルアレイ、ロウデコーダ、センスアンプ、及び読み出しデータ及び書き込みデータを一時的に格納するデータバッファなどから構成される。SRAMセルアレイは、複数のワード線と複数のビット線対との交差領域にマトリクス状に配置された複数のメモリセル(SRAMセル)を備えている。
【0017】
図2は、NAND型フラッシュメモリ10の構成を示すブロック図である。NAND型フラッシュメモリ10は、メモリセルアレイ20、センスアンプ21、ページバッファ22、ロウデコーダ23、電圧発生回路24、及び制御回路25を備えている。
【0018】
メモリセルアレイ20は、ブートプログラムを格納する記憶領域20Aを備えている。ブートプログラムは、ホストコントローラ2が起動する際に使用するプログラムである。メモリセルアレイ20は、データ消去の単位である複数のブロックBLKから構成されている。図3は、1個のブロックBLKの構成を示す回路図である。
【0019】
ブロックBLKは、複数のメモリセルユニットCUを備えている。各メモリセルユニットCUは、複数のメモリセルトランジスタ(単にメモリセルという場合もある)MTと、2個の選択トランジスタST1、ST2とから構成されている。メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(例えば浮遊ゲート電極)と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを有する積層ゲート構造を備えている。メモリセルトランジスタMTは、浮遊ゲート構造に限らず、電荷蓄積層としての絶縁膜(例えば、窒化膜)に電子をトラップさせる方式を用いたMONOS(Metal Oxide Nitride Oxide Silicon)構造であっても良い。
【0020】
1個のメモリセルユニットCU内で隣接するメモリセルトランジスタMT同士の電流経路は直列接続されている。すなわち、(m+1)個のメモリセルトランジスタMTは、隣接するもの同士で拡散領域(ソース領域若しくはドレイン領域)を共有するような形でカラム方向に直列接続される。直列接続されたメモリセルトランジスタMTの一端側のドレインは選択トランジスタST1のソースに接続され、他端側のソースは選択トランジスタST2のドレインに接続されている。
【0021】
同一行にあるメモリセルトランジスタMTの制御ゲート電極は、複数のワード線WL0〜WLmのいずれかに共通接続されている。同一行にある選択トランジスタST1,ST2のゲート電極は、選択ゲート線SGD,SGSにそれぞれ共通接続されている。各選択トランジスタST1のドレインは、複数のビット線BL0〜BLnのいずれかに接続されている。選択トランジスタST2のソースは、ソース線CELSRCに共通接続されている。
【0022】
同一のワード線WLに接続された複数のメモリセルトランジスタMTはページを構成する。データの書き込み及び読み出しは、1つのページ内のメモリセルトランジスタMTに対して一括して行なわれる。
【0023】
ビット線BLは、ブロックBLK間で、選択トランジスタST1のドレインを共通接続している。つまり、複数のブロックBLK内において同一列にあるメモリセルユニットCUは、同一のビット線BLに接続される。
【0024】
各メモリセルトランジスタMTは、例えば、浮遊ゲート電極に注入された電子の多寡による閾値電圧の変化に応じて、1ビットのデータを記憶することが可能である。閾値電圧の制御を細分化し、各メモリセルトランジスタMTに2ビット以上のデータを記憶する構成としても良い。
【0025】
図2において、ビット線BLには、センスアンプ21が接続されている。センスアンプ21は、ビット線BLの電圧を制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行う。ページバッファ22は、メモリセルアレイ20から読み出された読み出しデータを一時的に格納し、また、メモリセルアレイ20に書き込むべき書き込みデータを一時的に格納する。
【0026】
ワード線WLには、ロウデコーダ23が接続されている。ロウデコーダ23は、ワード線WLを選択し、さらに、消去、書き込み、及び読み出しに必要な各種電圧をワード線WLに印加する。電圧発生回路24は、電源電圧VCCを昇圧して、ロウデコーダ23で使用される各種電圧を発生する。
【0027】
制御回路25は、NAND型フラッシュメモリ10全体の動作を司る。すなわち、制御回路25は、コマンド及びアドレスなどを用いて、消去、書き込み、及び読み出し動作を制御する。
【0028】
(動作)
メモリシステム1は、電源投入(パワーオン)後に電源電圧VCCがある一定のレベルに到達すると、NAND型フラッシュメモリ10の動作設定を決める初期設定データをメモリセルアレイ20から読み出し(以降、パワーオンロム(P.O.R)リードと呼ぶ)、続いてブートプログラムをNAND型フラッシュメモリ10から読み出し(以降、ブートリードと呼ぶ)、続いて読み出されたブートプログラムをSRAM11に転送する。これらの一連の動作を電源投入シーケンスと呼ぶ。なお、P.O.Rリードには、初期設定データを用いたNAND型フラッシュメモリ10内の初期化動作も含まれる。
【0029】
図4は、ステートマシン12の動作を説明する状態遷移図である。図5は、電源投入シーケンスの第1の例を示すタイミング図であり、メモリシステム1の基本動作を示している。すなわち、第1の例は、電源電圧VCCの変動がほとんど無い場合のメモリシステム1の動作である。
【0030】
電源が投入されると、ステートマシン12は、パッドP2を介して、電源投入シーケンスの実行中を示すビジー信号を、ホストコントローラ2に出力する。続いて、電圧レベル検知回路13は、電源電圧VCCの監視を開始する。電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達したことを電圧レベル検知回路13が検知すると、この検知結果がステートマシン12に通知される。
【0031】
電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達すると、ステートマシン12は、アイドルステートS100からP.O.RリードステートS101に遷移し、P.O.Rリード動作を実行する。具体的には、ステートマシン12は、初期設定データを読み出すコマンドをNAND型フラッシュメモリ10に発行する。これに応答して、制御回路25は、メモリセルアレイ20から初期設定データを読み出し、この初期設定データを用いて初期化動作を実行する。その後、NAND型フラッシュメモリ10は、P.O.Rリード動作が完了したことをステートマシン12に通知する。
【0032】
P.O.Rリード動作が完了すると、ステートマシン12は、ブートリードステートS104に遷移し、ブートリード動作を実行する。具体的には、ステートマシン12は、ブートプログラムを読み出すコマンド及びアドレスをNAND型フラッシュメモリ10に発行する。これに応答して、NAND型フラッシュメモリ10の制御回路25は、メモリセルアレイ20からブートプログラムを読み出し、このブートプログラムをページバッファ22に一時的に格納する。その後、NAND型フラッシュメモリ10は、ブートリード動作が完了したことをステートマシン12に通知する。
【0033】
ブートリード動作が完了すると、ステートマシン12は、SRAM転送ステートS106に遷移し、SRAM転送動作を実行する。具体的には、ステートマシン12は、NAND型フラッシュメモリ10からSRAM11にデータを転送するためのコマンドをNAND型フラッシュメモリ10及びSRAM11に発行する。これに応答して、NAND型フラッシュメモリ10の制御回路25は、ページバッファ22に格納されたブートプログラムをSRAM11に転送する。SRAM11は、NAND型フラッシュメモリ10から転送されたブートプログラムをSRAMセルアレイに格納する。その後、SRAM11は、SRAM転送動作が完了したことをステートマシン12に通知する。
【0034】
SRAM転送動作が完了すると、ステートマシン12は、アイドルステートS107に遷移する。続いて、ステートマシン12は、パッドP2を介して、電源投入シーケンスの終了を示すレディ信号を、ホストコントローラ2に出力する。ホストコントローラ2は、レディ信号を受けることで電源投入シーケンスが終了したことを認識する。その後、ホストコントローラ2は、SRAM11に格納されたブートプログラムを用いて起動処理を実行する。
【0035】
なお、P.O.Rリードステートは、NAND型フラッシュメモリ10の初期設定動作のみ保証すれば良く、P.O.R開始レベルのような低い電圧でも動作可能なように設計されている。一方で、NAND型フラッシュメモリ10の通常の読み出し動作を含むブートリードステートや、SRAM転送ステートにおけるSRAM11の動作を低電圧で保証することは難しい。このため、本実施形態では、図5に示すように、NAND型フラッシュメモリ10及びSRAM11の通常動作を保証する電圧として、外部保証電圧VCC_minを定義している。外部保証電圧VCC_minは、NAND型フラッシュメモリ10及びSRAM11が動作することを保証する外部仕様であり、メモリシステム1内部の動作を保証する内部保証電圧、例えば後述するLOWVDDよりもマージンを持った値となる。
【0036】
図6は、電源投入シーケンスの第2の例を示すタイミング図である。第2の例は、電源電圧VCCがP.O.R開始レベルより低い電圧まで降下する場合のメモリシステム1の動作である。
【0037】
電源が投入されると、ステートマシン12は、ホストコントローラ2にビジー信号を出力する。続いて、電圧レベル検知回路13は、電源電圧VCCの監視を開始する。電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達すると、ステートマシン12は、アイドルステートS100からP.O.RリードステートS101に遷移し、P.O.Rリード動作を実行する。
【0038】
続いて、電源電圧VCCがP.O.R開始レベルより低い電圧まで降下したものとする。電圧レベル検知回路13は、電源電圧VCCの監視を続けているが、電源電圧VCCがP.O.R開始レベルより所定電圧だけ低い内部保証電圧LOWVDD以上であれば、割込み(Interrupt)を発生しない。よって、第2の例においても、第1の例と同じシーケンスが実行される。
【0039】
内部保証電圧LOWVDDは、メモリシステム1内部の動作を保証する電圧である。すなわち、メモリシステム1が内部保証電圧LOWVDD以上で動作している限り、NAND型フラッシュメモリ10及びSRAM11はそれぞれ、書き込み動作及び読み出し動作を含む通常動作が保証される。このように、内部保証電圧LOWVDDを定義することで、NAND型フラッシュメモリ10及びSRAM11間でのデータ誤転送、及び低電圧下でのSRAM11のデータ誤ラッチを防ぐことが可能となる。
【0040】
図7は、電源投入シーケンスの第3の例を示すタイミング図である。第3の例は、電源電圧VCCが電圧LOWVDDより低い電圧まで降下し、かつ割込みを発生する場合のメモリシステム1の動作である。
【0041】
電源が投入されると、ステートマシン12は、ホストコントローラ2にビジー信号を出力する。続いて、電圧レベル検知回路13は、電源電圧VCCの監視を開始する。電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達すると、ステートマシン12は、アイドルステートS100からP.O.RリードステートS101に遷移し、P.O.Rリード動作を実行する。
【0042】
続いて、電源電圧VCCがP.O.R開始レベルより低い電圧まで降下したものとする。電圧レベル検知回路13は、電源電圧VCCの監視を続けているが、電源電圧VCCが電圧LOWVDDより低くなると、NAND型フラッシュメモリ10及びSRAM11の通常動作が保証できない。この場合、電圧レベル検知回路13は、ステートマシン12に割込みを発生する(Interrupt=H)。
【0043】
割込みが発生すると、ステートマシン12は、終了シーケンス(終了Seq)S102を実行する。終了シーケンスとは、NAND型フラッシュメモリ10の読み出し処理をリセットする動作を含み、具体的には、NAND型フラッシュメモリ10のワード線に印加していた電圧をリセットする処理や、ビット線に転送した電荷を引き抜く処理を含む。終了シーケンスS102が完了すると、ステートマシン12は、待機ステート(P.O.R_wait)S103に遷移する。待機ステートS103では、ステートマシン12の制御による動作は何も行われない。
【0044】
続いて、電源電圧VCCがP.O.R開始レベル以上になると、電圧レベル検知回路13は、割込みを解除する(Interrupt=L)。割込みが解除されると、ステートマシン12は、電源投入シーケンスを最初から再実行する。
【0045】
ただし、電源電圧VCCがP.O.R開始レベルより低い電圧まで降下した場合において電電投入シーケンスが再実行可能な電圧レベルは、電圧LOWVDDより所定電圧だけ低い電圧LOWVDD2である。電源電圧VCCが電圧LOWVDD2より低くなると、ステートマシン12は、電源遮断状態とみなし、電電投入シーケンスを終了する。この場合は、再度電源投入をやり直す必要がある。以降の説明で再実行すると記載した内容は、全て電源電圧VCCの電圧降下がLOWVDD2以上かつLOWVDD未満の範囲であるものとする。
【0046】
図8は、電源投入シーケンスの第4の例を示すタイミング図である。第4の例は、ブートリードステートにおいて電源電圧VCCが電圧LOWVDDより低い電圧まで降下した場合のメモリシステム1の動作である。
【0047】
電源が投入されると、ステートマシン12は、ホストコントローラ2にビジー信号を出力する。続いて、電圧レベル検知回路13は、電源電圧VCCの監視を開始する。電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達すると、ステートマシン12は、アイドルステートS100からP.O.RリードステートS101に遷移し、P.O.Rリード動作を実行する。
【0048】
P.O.Rリード動作が完了すると、ステートマシン12は、ブートリードステートS104に遷移し、ブートリード動作を実行する。続いて、ブートリード動作中に、電源電圧VCCが電圧LOWVDDより低い電圧まで降下したものとする。電圧レベル検知回路13は、電源電圧VCCの監視を続けているが、電源電圧VCCが電圧LOWVDDより低くなると、ステートマシン12に割込みを発生する(Interrupt=H)。
【0049】
割込みが発生すると、ステートマシン12は、終了シーケンスS105を実行する。終了シーケンスS105は、S102と同じ動作である。終了シーケンスS105が終了すると、ステートマシン12は、待機ステート(P.O.R_wait)S103に遷移する。
【0050】
続いて、電源電圧VCCがP.O.R開始レベル以上になると、電圧レベル検知回路13は、割込みを解除する(Interrupt=L)。割込みが解除されると、ステートマシン12は、電源投入シーケンスを最初から再実行する。
【0051】
同様に、図4に示すように、SRAM転送ステートにおいて、電圧レベル検知回路13が割込みを発生した場合、すなわち電源電圧VCCが電圧LOWVDDより低い電圧まで降下した場合、ステートマシン12は、待機ステート(P.O.R_wait)S103に遷移する。続いて、電源電圧VCCがP.O.R開始レベル以上になると、電圧レベル検知回路13は、割込みを解除する(Interrupt=L)。割込みが解除されると、ステートマシン12は、電源投入シーケンスを最初から再実行する。
【0052】
(効果)
以上詳述したように第1の実施形態では、電圧レベル検知回路13は、メモリシステム1に供給される電源電圧VCCを監視しており、電源投入後に電源電圧VCCがP.O.R開始レベル以上になった場合に、メモリシステム1は、電源投入シーケンスを実行する。この電源投入シーケンスでは、P.O.Rリード動作、ブートリード動作、及びSRAM転送動作が順に実行される。また、電圧レベル検知回路13は、電源電圧VCCが内部保証電圧LOWVDDより低くなった場合に、ステートマシン12に割込みを発生する。そして、ステートマシン12は、P.O.Rリード動作中、ブートリード動作中、或いはSRAM転送動作中に割込みが発生した場合に、電源投入シーケンスを最初(P.O.Rリード動作)から再実行するようにしている。
【0053】
従って第1の実施形態によれば、電源投入後、P.O.Rリード動作中、ブートリード動作中、或いはSRAM転送動作中に電源電圧VCCに電圧降下が起こった場合でも、ブートプログラムをSRAM11に正確に転送することができる。これにより、ホストコントローラ2は、正確なプログラムを用いて起動動作を実行できるため、ホストコントローラ2の誤動作を防ぐことができる。
【0054】
また、電源電圧VCCが変動していることに起因してステートマシン12が電源投入シーケンスの再実行を繰り返している間は、ステートマシン12は、ホストコントローラ2にビジー信号を出力し続けている。これにより、ホストコントローラ2が誤ったブートプログラムを実行してしまうのを防ぐことができる。
【0055】
[第2の実施形態]
前述したように、P.O.Rリードステートは、NAND型フラッシュメモリ10の初期設定動作のみ保証すれば良く、P.O.R開始レベルのような低い電圧でも動作可能なように設計されている。一方で、NAND型フラッシュメモリ10及びSRAM11間でのデータ誤転送、及び低電圧下でのSRAM11のデータ誤ラッチを防ぐことを目的として、ブートリードステート、及びSRAM転送ステートにおいて、NAND型フラッシュメモリ10及びSRAM11を内部保証電圧LOWVDD以上で動作させるようにしている。さらに、電源投入のスペック項目として、P.O.R開始レベルから外部保証電圧VCC_minまでの到達時間を定義することで、NAND型フラッシュメモリ10及びSRAM11の動作を保証することができる。
【0056】
しかしながら、ステートマシン12は、P.O.Rリードステート、ブートリードステート、及びSRAM転送ステートを順に実行するため、電源電圧VCCが保証電圧VCC_minに到達したことを検知する何らかの機能を持たない場合は、電源電圧VCCが保証電圧VCC_minに満たない段階でブートリードステート、又はSRAM転送ステートが開始される可能性がある。一例としては、NAND型フラッシュメモリ10のスペックが変更されて、P.O.Rリードステートに要する時間が短くなった場合で、かつ、メモリシステム1のスペックがNAND型フラッシュメモリ10に対応して変更されていない場合には、上記現象が発生する可能性がある。
【0057】
そこで、第2の実施形態は、電源電圧VCCが保証電圧VCC_min以上になった後に、ブートリードステート、又はSRAM転送ステートを開始するようにしている。図9は、第2の実施形態に係るステートマシン12の動作を説明する状態遷移図である。図9において、P.O.RリードステートS101の後に、ダミータイマステートS108が挿入されている。ダミータイマステートS108以外の動作は、第1の実施形態と同じである。
【0058】
ダミータイマステートS108は、ステートマシン12の制御による動作は何も行われず、電源電圧VCCが保証電圧VCC_minに到達する時間と、ブートリードステートS104が開始される時間とを合わせることが目的である。すなわち、ステートマシン12は、P.O.RリードステートS101が完了した後、ダミータイマステートS108に遷移し、所定時間だけ待機する。そして、ステートマシン12は、所定時間が経過した後、ブートリードステートS104に遷移する。このダミータイマステートを実現するために、ステートマシン12は、タイマ機能を有している。タイマによる待機時間は、電源電圧VCCの立ち上がり速度に応じて決定される。
【0059】
図10は、第2の実施形態に係る電源投入シーケンスを説明するタイミング図である。電源が投入されると、ステートマシン12は、ホストコントローラ2にビジー信号を出力する。続いて、電圧レベル検知回路13は、電源電圧VCCの監視を開始する。電源電圧VCCがP.O.R開始レベル(P.O.R_start)に到達すると、ステートマシン12は、アイドルステートS100からP.O.RリードステートS101に遷移し、P.O.Rリード動作を実行する。
【0060】
P.O.Rリード動作が完了した時点では、電源電圧VCCは保証電圧VCC_minに到達していない。続いて、ステートマシン12は、ダミータイマステートS108に遷移し、タイマに設定された所定時間だけ待機する。所定時間が経過した後、すなわち電源電圧VCCが保証電圧VCC_min以上になった後、ステートマシン12は、ブートリードステートS104に遷移し、ブートリード動作を実行する。その後の動作は、第1の実施形態と同じである。また、電源電圧VCCが変動して割込みが発生した場合の動作も、第1の実施形態と同じである。
【0061】
以上詳述したように第2の実施形態によれば、外部保証電圧VCC_min以上の電源電圧VCCを用いて、ブートリード動作、及びSRAM転送動作を実行することができる。このため、ブートプログラムをSRAM11に正確に転送することができる。これにより、ホストコントローラ2は、正確なプログラムを用いて起動動作が実行できるため、ホストコントローラ2の誤動作を防ぐことができる。
【0062】
また、NAND型フラッシュメモリ10のスペックが変更されて、P.O.Rリード動作に要する時間が変更された場合でも、NAND型フラッシュメモリ10以外の回路を変更することなく、ブートプログラムの正確な転送動作を実現できる。
【0063】
なお、上記各実施形態では、ブートプログラムを格納する不揮発性半導体メモリとしてNAND型フラッシュメモリを例に挙げて説明している。しかしながら、ブートプログラムを格納する不揮発性半導体メモリがP.O.Rリード動作が不要である場合は、電源投入後に、ブートリード動作、及びSRAM転送動作が順に実行される。このような不揮発性半導体メモリを備えたメモリシステムにも、本実施形態は適用可能である。
【0064】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0065】
1…メモリシステム、2…ホストコントローラ、2…NAND型フラッシュメモリ、10…NAND型フラッシュメモリ、11…SRAM、12…ステートマシン、13…電圧レベル検知回路、20…メモリセルアレイ、21…センスアンプ、22…ページバッファ、23…ロウデコーダ、24…電圧発生回路、25…制御回路、I/O…入出力パッド、P1,P2…パッド、SGD,SGS…選択ゲート線、CELSRC…ソース線、WL…ワード線、BL…ビット線、MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ。

【特許請求の範囲】
【請求項1】
ブートプログラムを格納する不揮発性の第1のメモリと、
揮発性の第2のメモリと、
電源電圧のレベルを検知し、前記電源電圧が第1のレベルより低くなった場合に割込みを発生する検知回路と、
電源投入時に、前記第1のメモリから前記ブートプログラムを読み出す第1の読み出し動作と、前記読み出されたブートプログラムを前記第2のメモリに転送する転送動作とを含むシーケンスを実行するステートマシンとを具備し、
前記ステートマシンは、前記第1の読み出し動作中、又は前記転送動作中に前記割込みが活性化された場合に、前記割込みが非活性化されるまで待機する待機ステートを含むことを特徴とするメモリシステム。
【請求項2】
前記ステートマシンは、前記待機ステートが終了した後、前記シーケンスを再度実行することを特徴とする請求項1に記載のメモリシステム。
【請求項3】
前記シーケンスは、前記第1の読み出し動作前に、前記第1のメモリを初期化するための初期設定データを前記第1のメモリから読み出す第2の読み出し動作を含むことを特徴とする請求項1又は2に記載のメモリシステム。
【請求項4】
前記ステートマシンは、前記第1の読み出し動作を開始する時間を所定時間だけ遅らせることを特徴とする請求項3に記載のメモリシステム。
【請求項5】
前記第2の読み出し動作は、前記電源電圧が第2のレベルに到達した後に実行されることを特徴とする請求項3又は4に記載のメモリシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−128769(P2012−128769A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−281387(P2010−281387)
【出願日】平成22年12月17日(2010.12.17)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(391016358)東芝情報システム株式会社 (149)
【Fターム(参考)】