(57)【要約】【課題】ブートロードを必要とするシステムに用いる不揮発性半導体記憶装置においてブートロード時間を短縮することを課題とする。【解決手段】ブートデータを記憶した記憶領域１０ａと、ブートデータを格納する第１のＲＡＭ（ブートＲＡＭ２１）と、ブートデータが第１のＲＡＭの記憶容量を超える場合にブートデータのうちの残りのデータを格納する第２のＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）と、第２のＲＡＭに格納動作をさせるか否かを示すフラグ情報と、第２のＲＡＭに格納されるブートデータの第１の記憶領域における位置を示すアドレス情報と、を記憶した不揮発性領域４０と、ブートデータを第１の記憶領域から第１のＲＡＭへ転送し、続いて、フラグ情報とアドレス情報に基づいて、ブートデータの残りのブートデータを第１の記憶領域から第２のＲＡＭへ転送する制御部３０と、を備える。【選択図】図１
2012099015.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリセルから構成され、自不揮発性半導体記憶装置を含むシステムを起動させるためのブートデータを記憶する第１の記憶領域と、
自不揮発性半導体記憶装置を含むシステムの起動時に前記ブートデータを格納する第１のＲＡＭと、
自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータが予め設定された記憶容量を超える場合に前記ブートデータのうちの残りのデータを格納する第２のＲＡＭと、
不揮発性メモリセルから構成され、前記第２のＲＡＭに格納動作をさせるか否かを示すフラグ情報と、前記第２のＲＡＭに格納される前記ブートデータの前記第１の記憶領域における位置を示すアドレス情報と、を記憶した第２の記憶領域と、
自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータを前記第１の記憶領域から前記第１のＲＡＭへ転送し、続いて、前記フラグ情報と前記アドレス情報に基づいて、前記ブートデータの残りのブートデータを前記第１の記憶領域から前記第２のＲＡＭへ転送する制御部と、
を備えることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記制御部は、前記ブートデータが前記予め設定された記憶容量を超えない場合、システムの起動時にブートロードに続き必要となる前記第１の記憶領域に記憶されたデータを、前記フラグ情報と前記アドレス情報に基づいて、前記第１の記憶領域から前記第２のＲＡＭへ転送することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記予め設定された記憶容量は、前記第１のＲＡＭの記憶容量であることを特徴とする請求項１または請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記第２の記憶領域は、前記第１のＲＡＭに記憶されるブートデータを記憶した第１の記憶領域の一部の領域であることを特徴とする請求項１から請求項３のいずれかに記載の不揮発性半導体記憶装置。
【請求項５】
請求項２から請求項４のいずれかに記載の不揮発性半導体記憶装置を複数個備え、自不揮発性半導体記憶装置を含むシステムの起動時にブートロードに続き必要となるデータを、それぞれの第１の記憶領域に分散して記憶することを特徴とする不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に関し、特にブートロードを必要とするシステムに用いる不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
Ｆｌａｓｈメモリ等の電気的に消去及び書き換え可能な不揮発性半導体記憶装置（ＥＥＰＲＯＭ）は、プロセッサ（ＣＰＵ）、メインメモリ（例えばＤＲＡＭ）と共にシステムを構成する。このシステムにおいて、Ｆｌａｓｈメモリに記憶されたシステムブート用データ（ブートデータ）が、システムの起動時（パワーアップ時）に用いられる。
【０００３】
例えば、下記特許文献１及び２においては、ブートデータをシステムに出力するＦｌａｓｈメモリ、及びＦｌａｓｈメモリのアクセス方法に関する技術が開示されている。また、上記文献においては、ブートデータを、不揮発性記憶装置の不揮発性記憶領域から、ブートデータを外部へ出力するため装置内部に設けられたデータレジスタ或いは揮発性メモリへ転送する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５３０６８３号公報
【特許文献２】特開２００６−２２１８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明に関連する不揮発性半導体記憶装置において、不揮発性記憶領域に記憶したブートデータを装置内部に設けられたデータレジスタ或いは揮発性メモリへ転送する際の問題点がある。以下に、本願発明者が課題として作成した関連図である図３を用いて、関連する不揮発性半導体記憶装置の問題点を説明する。
【０００６】
図３は、本願発明に関連する不揮発性半導体記憶装置３００の概略ブロック図である。
不揮発性半導体記憶装置３００は、電気的に消去及び書き換え可能な記憶領域（ＮＡＮＤ  Ｆｌａｓｈ  Ｃｏｒｅ、以下フラッシュコア１０とする）、不揮発性半導体記憶装置３００を含むシステムへのインターフェースであるＳＲＡＭ部２０、制御部３０を備えている。
フラッシュコア１０（第１の記憶領域）には、ブートデータと、システムのオペレーティングシステム（ＯＳ）が記憶されている。ブートデータは、システムの起動時に、ＯＳをメインメモリに転送するために用いられるプログラム、及びＯＳの転送先のアドレス等を含んだデータである。ブートデータは、システムを利用するユーザーによってブート時における処理が異なるため、ユーザーによってその使用する容量が異なる。そのため、フラッシュコア１０は、予め定められた記憶容量を備えた記憶領域１０ａ（ブートデータＢＬ１を記憶した記憶領域）と、記憶領域１０ａの記憶容量より大きな記憶容量を必要とする場合に、残りのブートデータ（記憶領域１０ａの記憶容量を超える分のブートデータ）を記憶した記憶領域（図３においては不図示であるが、それぞれブートデータＢＬ２、ＢＬ３を記憶する領域）と、を備えている。
【０００７】
また、ＳＲＡＭ部２０は、ブートＲＡＭ２１（ＢｏｏｔＲＡＭ）、バッファＲＡＭ２２（ＢｕｆｆｅｒＲＡＭ１）及びバッファＲＡＭ２３（ＢｕｆｆｅｒＲＡＭ２）を備えている。
ブートＲＡＭ２１（第１のＲＡＭ）は、フラッシュコア１０から転送されるブートデータＢＬ１を格納する記憶領域であり、バッファＲＡＭ２２及びバッファＲＡＭ２３（第２のＲＡＭ）は、フラッシュコア１０から転送されるブートデータＢＬ２、ＢＬ３を格納する記憶領域である。
【０００８】
制御部３０は、ロードコントロール３１（Ｌｏａｄ  Ｃｏｎｔｒｏｌ）、アドレスレジスタ３２、アドレスコントロール３３から構成される。
ロードコントロール３１は、システム起動後の通常動作においては、ＣＰＵから入力されるコマンドを解読して、フラッシュコア１０のメモリセルからのデータ読み出し動作のタイミングを制御する。また、ロードコントロール３１は、システム起動時においては、電源電圧レベルの立ち上がりを検知し、所定電圧に到達すれば、フラッシュコア１０に含まれるワード線ドライバ、センスアンプ、カラムデコーダ等（図４において不図示）の読み出し動作に係る回路の動作タイミングを制御し、ＣＰＵからのコマンド入力無しにブートデータＢＬ１をブートＲＡＭ２１へ転送する。
【０００９】
また、アドレスレジスタ３２は、システム起動後の通常動作においては、ロードコントロール３１に入力されるコマンドに同期して、ＣＰＵからのアドレス情報を取り込み記憶する。このアドレス情報は、フラッシュコア１０におけるメモリセルの位置を示すデータであり、フラッシュコア１０を構成するメモリセルブロックに対応して、ブロックアドレス情報ＦＢＡ（Ｆｌａｓｈ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）、ページアドレス情報ＦＰＡ（Ｆｌａｓｈ  Ｐａｇｅ  Ａｄｄｒｅｓｓ）からなる。
フラッシュコア１０は、複数のメモリセルブロック（例えば、１０２４Ｂｌｏｃｋｓ、２０４８Ｂｌｏｃｋｓ）より成り、ブロックアドレス情報ＦＢＡにより位置が示される。メモリセルブロックは、データ消去動作の基本単位である。また、一つのメモリセルブロックは、複数のページ（例えば、１６Ｐａｇｅｓ、３２Ｐａｇｅｓ、又は６４Ｐａｇｅｓ）より成り、ページアドレス情報ＦＰＡにより位置が示される。ページは、データ書き取り及び読み取り動作の基本単位である。
アドレスコントロール３３は、ロードコントロール３１によりタイミング制御され、アドレスレジスタ３２に取り込まれたアドレス情報を、フラッシュコア１０に出力する。ロードコントロール３１は、読み出し動作において、上記ブロックアドレス情報ＦＢＡ及びページアドレス情報ＦＰＡで決定されるページ単位でフラッシュコアよりデータを読み出し、ＳＲＡＭ部２０にデータを転送する。
【００１０】
ブートＲＡＭ２１へのブートデータＢＬ１の転送は、上述の様に、システムの起動に伴って（システムのパワーアップに伴って）、自動で（ＣＰＵからのコマンド及びアドレス入力無しに）実行される。つまり、上記アドレスレジスタ３２にはデフォルトとして、例えばブロックアドレス情報ＦＢＡ、ページアドレス情報ＦＰＡとしていずれも０が記憶されており、ロードコントロール３１は、記憶領域１０ａ（アドレス０番地）に記憶されているブートデータを読み出し、ブートＲＡＭ２１に格納する。
【００１１】
システムは、このブートデータＢＬ１を用いて、次のように起動される。ブートデータがブートデータＢＬ１で構成される場合（ブートデータＢＬ２、ＢＬ３は記憶されていない場合）、ＣＰＵは、ブートデータＢＬ１の転送完了から所定時間経過後（転送完了信号を不揮発性半導体記憶装置３００から受けた後）、転送コマンド及びアドレス情報をそれぞれロードコントロール３１、アドレスレジスタ３２に入力する。ブートＲＡＭ２１は、ロードコントロール３１に制御され、ブートＲＡＭ２１に格納されているブートデータＢＬ１を実行する。また、バッファＲＡＭ２２は、ロードコントロール３１に制御され、ブートデータＢＬ１の実行結果（例えばＯＳの記憶されている領域のアドレス情報、ＯＳの転送先であるシステムメモリにおけるアドレス情報等）に基づいて、システムを構成するメインメモリの特定領域に、フラッシュコア１０に記憶されているＯＳを転送する。これにより、ＣＰＵは、メインメモリに転送されたＯＳを実行し、システムを起動する。
【００１２】
また、システムの起動に際して、記憶領域１０ａに記憶されたブートデータＢＬ１だけでは不十分で、ブートデータＢＬ１以上の容量のブートデータが必要である場合、ブートバッファＲＡＭ２２及びバッファＲＡＭ２３へのブートデータＢＬ２及びＢＬ３のロード（転送）は、ブートデータＢＬ１のＳＲＡＭ部２０への転送後、システムを構成するＣＰＵからの命令コマンドが入力されることにより実行される。つまり、ロードコントロール３１は、ＣＰＵより入力される転送コマンド、及びアドレスレジスタ３２に入力されるアドレス情報により、フラッシュコア１０のブートデータＢＬ２を記憶する領域から、残りのブートデータＢＬ２を読み出し、バッファＲＡＭ２２に転送する。また、必要に応じて（ブートデータＢＬ３が記憶されている場合）、ロードコントロール３１は、入力される転送コマンド、及びアドレスレジスタ３２に入力されるアドレス情報により、フラッシュコア１０のブートデータＢＬ３を記憶する領域から、残りのブートデータＢＬ３を読み出し、バッファＲＡＭ２３に転送する。
【００１３】
例えば、ブートデータがブートデータＢＬ１とブートデータＢＬ２で構成される場合（ブートデータＢＬ３は記憶されていない場合）、次のようにしてシステムが起動される。バッファＲＡＭ２２は、転送コマンド及びアドレス情報がそれぞれロードコントロール３１、アドレスレジスタ３２に入力されると、ロードコントロール３１に制御され、フラッシュコア１０から転送されるブートデータＢＬ２を格納する。また、ブートＲＡＭ２１は、ロードコントロール３１に制御され、ブートＲＡＭ２１に格納されているブートデータＢＬ１を実行する。また、バッファＲＡＭ２２は、ロードコントロール３１に制御され、ブートデータＢＬ１の実行結果に基づいて、システムを構成するメインメモリ（ＤＡＲＭ）の特定領域にブートデータＢＬ２を転送する。
【００１４】
また、バッファＲＡＭ２３は、同様に転送コマンド及びアドレス情報がそれぞれロードコントロール３１、アドレスレジスタ３２に入力されると、ロードコントロール３１に制御され、ブートデータＢＬ２に基づいて、フラッシュコア１０に記憶されたＯＳをメインメモリに転送する。
これにより、ＣＰＵは、メインメモリ（ＤＲＡＭ）に転送されたブートデータＢＬ２を実行し、実行結果によりシステムの初期化を行うとともに、引き続いてメインメモリに転送されたＯＳを実行してシステムを起動する。
【００１５】
以上、関連する不揮発性半導体記憶装置３００においては、自不揮発性半導体記憶装置を含むシステムの起動時に、ブートＲＡＭ２１（第１のＲＡＭ）が備える記憶容量を超えるブートデータを、バッファＲＡＭ２２またはバッファＲＡＭ２３（第２のＲＡＭ）に格納するが、その場合次の問題がある。つまり、上で述べたように、ＣＰＵはブートＲＡＭ２１へのブートデータＢＬ１の転送完了を示す信号を、不揮発性半導体記憶装置３００から受けた後、アドレス情報、及びフラッシュコア１０からバッファＲＡＭ２２またはバッファＲＡＭ２３へのデータ転送を命じる転送コマンドを発行する必要がある。この転送コマンド発行後、フラッシュコア１０からバッファＲＡＭ２２またはバッファＲＡＭ２３へのブートデータＢＬ２またはブートデータＢＬ３のデータ転送が行われる。そのため、不揮発性半導体記憶装置３００を含むシステムの起動時（パワーアップ時間）が長くなるという問題があった。
【課題を解決するための手段】
【００１６】
本発明は、不揮発性メモリセルから構成され、自不揮発性半導体記憶装置を含むシステムを起動させるためのブートデータを記憶する第１の記憶領域と、自不揮発性半導体記憶装置を含むシステムの起動時に前記ブートデータを格納する第１のＲＡＭと、自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータが予め設定された記憶容量を超える場合に前記ブートデータのうちの残りのデータを格納する第２のＲＡＭと、不揮発性メモリセルから構成され、前記第２のＲＡＭに格納動作をさせるか否かを示すフラグ情報と、前記第２のＲＡＭに格納される前記ブートデータの前記第１の記憶領域における位置を示すアドレス情報と、を記憶した第２の記憶領域と、自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータを前記第１の記憶領域から前記第１のＲＡＭへ転送し、続いて、前記フラグ情報と前記アドレス情報に基づいて、前記ブートデータの残りのブートデータを前記第１の記憶領域から前記第２のＲＡＭへ転送する制御部と、を備えることを特徴とする不揮発性半導体記憶装置である。
【００１７】
これにより、自不揮発性半導体記憶装置を含むシステムの起動時に、ブートデータを第１の記憶領域から第２のＲＡＭへ格納する場合であっても、外部（ＣＰＵ）からアドレス情報の入力、及び第１の記憶領域から第２のＲＡＭへのデータ転送を命じるロードコマンドの発行が不要となり、自不揮発性半導体記憶装置を含むシステムの起動時間（パワーアップ時間）を短縮することができる。
【００１８】
また、上記不揮発性半導体記憶装置において、前記制御部は、前記ブートデータが前記予め設定された記憶容量を超えない場合、システムの起動時にブートロードに続き必要となる前記第１の記憶領域に記憶されたデータを、前記フラグ情報と前記アドレス情報に基づいて、前記第１の記憶領域から前記第２のＲＡＭへ転送することを特徴とする。
【００１９】
これにより、システムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）をも、自動で第２のＲＡＭに転送しておくことができ、外部（ＣＰＵ）から、フラッシュコア１０においてＯＳデータ等が記憶されている位置を示すアドレス情報の入力、及び第１の記憶領域（フラッシュコア１０）から第２のＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）へのデータ転送を命じるロードコマンドの発行が不要となる。よって、自不揮発性半導体記憶装置を含むシステムの起動時間（パワーアップ時間）を更に短縮することができる。
【００２０】
また、上記不揮発性半導体記憶装置において、前記予め設定された記憶容量は、前記第１のＲＡＭの記憶容量であることを特徴とする。
【００２１】
これにより、第１のＲＡＭの記憶容量を境界条件として、第１のＲＡＭの記憶容量を超えるブートデータのうちの残りのブートデータ、あるいは、ブートロードに続き必要となるデータを、第２のＲＡＭへ転送することができる。
【００２２】
また、上記不揮発性半導体記憶装置において、前記第２の記憶領域は、前記第１のＲＡＭに記憶されるブートデータを記憶した第１の記憶領域の一部の領域であることを特徴とする。
【００２３】
これにより、第２の記憶領域を半導体チップに実現するためのレイアウト領域は不要となり、チップサイズ縮小により低コスト化を実現できる。
【００２４】
また、本発明は、自不揮発性半導体記憶装置を含むシステムの起動時にブートロードに続き必要となるデータを、それぞれの第１の記憶領域に分散して記憶することを特徴とする。
【００２５】
これにより、複数の不揮発性半導体記憶装置において、第２のＲＡＭの記憶領域が記憶装置の数に応じて増加することで、分散して記憶したシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を自動的に第２のＲＡＭへ転送できる。そのため、システムの起動時において、既に第２のＲＡＭに格納されたＯＳデータ等の読み出しを、インターリーブ読み出し機能を使用してシステムの起動を効率よく行うことができる。
【発明の効果】
【００２６】
本発明の不揮発性半導体記憶装置は、バッファＲＡＭに格納動作をさせるか否かを示すフラグ情報と、バッファＲＡＭに転送されるブートデータ、或いはシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）のフラッシュコアにおける位置を示すアドレス情報を記憶する不揮発性メモリ（第２の記憶領域）を備えている。また、コントロールロジック（制御部）は、自動で（アドレス情報及び転送コマンドの入力なしに）、第２の記憶領域が記憶するフラグ情報とアドレス情報により、ブートデータ、或いはＯＳデータ等を、バッファＲＡＭに転送する。
これにより、自動でＳＲＡＭ部に格納できるブートデータ、或いはＯＳデータ等を第１のＲＡＭの容量に第２のＲＡＭの容量を含めた容量にまで拡張でき（自動ロード領域の可変化）、拡張された容量分のブートデータ、或いはＯＳデータ等を第２のＲＡＭに転送しておくことができるので、システムのパワーアップ時間を更に短縮できる。
また、この自動ロード領域機能を使用するか否かを示すフラグ情報を予め第２の記憶領域に設定できる構成にしておくことで、第２のＲＡＭの容量まで拡張して使用するかどうかをユーザーが決定できる。
これにより、ユーザー（システム設計者、例えば携帯電話機器のシステム設計者）に、設計の柔軟性（ｆｌｅｘｂｉｌｉｔｙ）を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の不揮発性半導体記憶装置１００の全体構成を示すブロック図である。
【図２】不揮発性半導体記憶装置１００をマルチチップ構成とした半導体記憶装置２００の全体構成を示すブロック図である。
【図３】関連する不揮発性半導体記憶装置３００の全体構成を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
図１は、本発明の実施形態における不揮発性半導体記憶装置１００を示すブロック図である。なお、図１において、関連する不揮発性半導体記憶装置３００の説明に用いた図３における部分と同一の部分については同一の符号を付し、この同一部分については説明を適宜省略する。
【００２９】
不揮発性半導体記憶装置１００が、不揮発性半導体記憶装置３００と相違する点は、不揮発性領域４０を備える点である。不揮発性領域４０は、電気的に書き込み消去可能な不揮発性メモリセルから構成され、バッファＲＡＭ２２及びバッファＲＡＭ２３に格納動作をさせるか否かを示すフラグ情報（図１においてＬｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ１、Ｌｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ２で示す）と、ブートデータのフラッシュコア１０における位置を示すアドレス情報（ブロックアドレス情報ＦＢＡ、ページアドレス情報ＦＰＡ）と、を記憶している。
【００３０】
不揮発性領域４０は、これらのフラグ情報、及びアドレス情報を、不揮発性半導体記憶装置１００の外部から書き込み、消去が可能となるように構成されている。これらのフラグ情報及びアドレス情報は、半導体ベンダーまたはシステム設計者により、テスタ等の試験装置により不揮発性領域４０にプログラムされる。
例えば、ブートデータの容量がブートＲＡＭ２１（第１のＲＡＭ）の記憶容量を超える場合、すなわち、ブートデータがブートデータＢＬ１とブートデータＢＬ２、及びブートデータＢＬ３で構成される場合、フラグ情報及びアドレス情報は、次の情報となる。
すなわち、バッファＲＡＭ２２に格納されるフラッシュコア１０におけるブートデータＢＬ２（不図示）が記憶される領域の位置を示すアドレス情報がＦＢＡ／ＦＰＡ  Ｓｅｔ１であり、バッファＲＡＭ２３に格納されるフラッシュコア１０におけるブートデータＢＬ３（不図示）が記憶される領域の位置を示すアドレス情報がＦＢＡ／ＦＰＡ  Ｓｅｔ２である。
【００３１】
不揮発性半導体記憶装置１００におけるロードコントロール３１は、システム起動時において、不揮発性半導体記憶装置３００と同様、アドレスレジスタ３２にデフォルトとして記憶されているＦＢＡ／ＦＰＡに基づいて、ワード線、センスアンプ、カラムデコーダ等を制御して、記憶領域１０ａ（アドレス０番地）のブートデータＢＬ１を読み出し、ブートＲＡＭ２１に転送し、ブートデータＢＬ１を格納する。
また、ロードコントロール３１は、ブートデータＢＬ１のブートＲＡＭ２１への格納後、続いて、不揮発性領域４０におけるＬｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ１の論理レベル（０または１）を判定する。ロードコントロール３１は、判定結果により（例えば論理１と判定すれば）、不揮発性領域４０からアドレスレジスタ３２に、不揮発性記憶領域に記憶されたアドレス情報（ＦＢＡ／ＦＰＡ  Ｓｅｔ１）を転送する。また、ロードコントロール３１は、アドレスコントロール３３を制御して、アドレスレジスタ３２に取り込まれたアドレス情報を、タイミング制御して、フラッシュコア１０に出力する。
【００３２】
つまり、ロードコントロール３１は、不揮発性領域４０に記憶されているアドレス情報（ＦＢＡ／ＦＰＡ  Ｓｅｔ１）に基づいて、ワード線、センスアンプ、カラムデコーダ等の回路動作のタイミングを制御する。このようにして、ロードコントロール３１は、フラッシュコア１０におけるブートデータＢＬ２を読み出し、バッファＲＡＭ２２に転送し、ブートデータＢＬ２を格納する。
なお、ロードコントロール３１による判定を論理０と判定した場合、ＳＲＡＭ部へのブートデータの転送はブートデータＢＬ１の転送で終了する。
【００３３】
同様に、ロードコントロール３１は、ブートデータＢＬ２のバッファＲＡＭ２２への格納後、続いて、不揮発性領域４０におけるＬｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ２の論理レベルを判定する。ロードコントロール３１は、判定結果により（例えば論理１と判定すれば）、不揮発性領域４０からアドレスレジスタ３２に、不揮発性記憶領域に記憶されたアドレス情報（ＦＢＡ／ＦＰＡ  Ｓｅｔ２）を転送する。また、ロードコントロール３１は、アドレスコントロール３３を制御して、アドレスレジスタ３２に取り込まれたアドレス情報を、タイミング制御して、フラッシュコア１０に出力する。
【００３４】
つまり、ロードコントロール３１は、不揮発性領域４０に記憶されているアドレス情報（ＦＢＡ／ＦＰＡ  Ｓｅｔ２）に基づいて、ワード線、センスアンプ、カラムデコーダ等の回路動作のタイミングを制御する。このようにして、ロードコントロール３１は、フラッシュコア１０におけるブートデータＢＬ３を読み出し、バッファＲＡＭ２３に転送し、ブートデータＢＬ３を格納する。
なお、ロードコントロール３１による判定を論理０と判定した場合、ＳＲＡＭ部へのブートデータの転送はブートデータＢＬ１及びＢＬ２の転送で終了する。
【００３５】
このように、本実施形態による不揮発性半導体記憶装置（不揮発性半導体記憶装置１００）は、不揮発性メモリセルから構成され、自不揮発性半導体記憶装置を含むシステムを起動させるためのブートデータを格納した第１の記憶領域（フラッシュコア１０）と、自不揮発性半導体記憶装置を含むシステムの起動時に前記ブートデータ（ブートデータＢＬ１）を格納する第１のＲＡＭ（ブートＲＡＭ２１）と、を備える。また、不揮発性半導体記憶装置１００は、自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータが前記第１のＲＡＭの記憶容量を超える場合（例えば＞１ｋＢ）に前記ブートデータのうちの残りのデータ（１ｋＢを超える分のデータ）を格納する第２のＲＡＭ（バッファＲＡＭ２２、またはバッファＲＡＭ２３）と、を備える。また、不揮発性半導体記憶装置１００は、不揮発性メモリセルから構成され、前記第２のＲＡＭに格納動作をさせるか否かを示すフラグ情報（Ｌｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ１またはＬｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ２）と、前記第２のＲＡＭに格納される前記ブートデータの前記第１の記憶領域における位置を示すアドレス情報（ＦＢＡ／ＦＰＡ  Ｓｅｔ１またはＦＢＡ／ＦＰＡ  Ｓｅｔ２）と、を記憶した第２の記憶領域（不揮発性領域４０）と、を備える。また、不揮発性半導体記憶装置１００は、自不揮発性半導体記憶装置を含むシステムの起動時に、前記ブートデータを前記第１の記憶領域から前記第１のＲＡＭへ転送し、続いて、前記フラグ情報と前記アドレス情報に基づいて、前記ブートデータの残りのブートデータを前記第１の記憶領域から前記第２のＲＡＭへ転送する制御部（制御部３０）と、を備えることを特徴とする。
【００３６】
これにより、本発明は、自不揮発性半導体記憶装置を含むシステムの起動時に、第１のＲＡＭが備える記憶容量を超えるブートデータを第２のＲＡＭへ格納する場合であっても、外部（ＣＰＵ）からアドレス情報の入力、及び第１の記憶領域（フラッシュコア１０）から第２のＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）へのデータ転送を命じるロードコマンドの発行が不要となり、自不揮発性半導体記憶装置を含むシステムの起動時間（パワーアップ時間）を短縮することができる。
【００３７】
また、ブートデータの容量がブートＲＡＭ２１（第１のＲＡＭ）の記憶容量を超えない場合、すなわち、ブートデータがブートデータＢＬ１のみで構成される場合、上記フラグ情報及びアドレス情報は、次の情報となる。
すなわち、バッファＲＡＭ２２に格納されるデータであって、システムの起動時にブートロードに続き必要となるデータ（例えばＯＳデータ）が記憶されるフラッシュコア１０における位置を示すアドレス情報がＦＢＡ／ＦＰＡ  Ｓｅｔ１である。また、バッファＲＡＭ２３に格納されるデータであって、システムの起動時にブートロードに続き必要となる残りのデータが記憶されるフラッシュコア１０における位置を示すアドレス情報がＦＢＡ／ＦＰＡ  Ｓｅｔ２である。
残りのデータとは、例えばＯＳデータがバッファＲＡＭ２２の記憶容量を超える場合に、フラッシュコア１０に記憶されるＯＳデータである。もちろん、ＯＳデータがバッファＲＡＭ２２の記憶容量を超えない場合は、不揮発性領域４０において、上記Ｌｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ２の論理を予め０と設定し、ＦＢＡ／ＦＰＡ  Ｓｅｔ２にアドレス情報を記憶させる必要はない。あるいは、Ｌｏａｄ  Ｅｎａｂｌｅ  Ｆｌａｇ２の論理を予め１と設定し、ＦＢＡ／ＦＰＡ  Ｓｅｔ２に、ＯＳデータ以外の他のデータ（例えばシステムの起動後に読み出されるファイルシステムのデータ）のアドレス情報を記憶させることとしてもよい。
【００３８】
以上の様にフラグ情報及びアドレス情報を設定した場合、制御部（制御部３０）は、上述したブートデータの自動転送と同様に、システム起動時において、第１の記憶領域（フラッシュコア１０）に記憶されたシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を、フラグ情報とアドレス情報に基づいて、第１の記憶領域から第２のＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）へ転送する。
これにより、ＯＳデータ等を自動で第２のＲＡＭに転送しておくことができ、外部（ＣＰＵ）から、フラッシュコア１０においてＯＳデータ等が記憶されている位置を示すアドレス情報の入力、及び第１の記憶領域（フラッシュコア１０）から第２のＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）へのデータ転送を命じるロードコマンドの発行が不要となり、自不揮発性半導体記憶装置を含むシステムの起動時間（パワーアップ時間）を更に短縮することができる。
【００３９】
このように、本発明の不揮発性半導体記憶装置は、バッファＲＡＭ（バッファＲＡＭ２２またはバッファＲＡＭ２３）に格納動作をさせるか否かを示すフラグ情報と、バッファＲＡＭに転送されるブートデータ、或いはシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）のフラッシュコアにおける位置を示すアドレス情報を記憶する不揮発性メモリ（第２の記憶領域）を備えている。また、コントロールロジック（制御部）は、自動で（アドレス情報及び転送コマンドの入力なしに）、第２の記憶領域が記憶するフラグ情報とアドレス情報により、ブートＲＡＭの記憶容量を超えるブートデータ、或いはＯＳデータ等を、バッファＲＡＭに転送する。
これにより、自動でＳＲＡＭ部に格納できるブートデータの容量を、第１のＲＡＭの容量に第２のＲＡＭの容量を含めた容量にまで拡張でき（自動ロード領域の可変化）、第１のＲＡＭの記憶容量が十分でない場合であっても、システムの起動時間（パワーアップ時間）を短縮することができる。また、第１のＲＡＭの記憶容量が十分な場合、システムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を第２のＲＡＭに転送しておくことができるので、パワーアップ時間を更に短縮できる。
また、この自動ロード領域機能を使用するか否かを示すフラグ情報を予め第２の記憶領域に設定できる構成にしておくことで、第２のＲＡＭの容量まで拡張して使用するかどうかをユーザーが決定できる。
これにより、ユーザー（システム設計者、例えば携帯電話機器のシステム設計者）に、設計の柔軟性（ｆｌｅｘｂｉｌｉｔｙ）を提供することができる。
【００４０】
なお、上記不揮発性領域４０（第２の記憶領域）は、ブートデータＢＬ１を記憶する記憶領域１０ａ（第１のＲＡＭに記憶されるブートデータを記憶する第１の記憶領域の一部の領域）であってもよい。このような構成とする場合、ロードコントロール３１は、ブートデータＢＬ１の例えば最後尾の予め設定された領域に記憶されるデータ（フラグ情報及びアドレス情報）を、ブートデータＢＬ１のブートＲＡＭ２１への転送後に参照する回路構成とする。そして、ロードコントロール３１は、ブートデータＢＬ１の予め設定された領域のデータ（フラグ情報及びアドレス情報）を参照して、上で説明した様に、ブートデータＢＬ２またはＢＬ３、或いはシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）をＳＲＡＭ部へ転送するか否かの判定、及び転送を行う。
【００４１】
これにより、不揮発性領域４０（第２の記憶領域）を、半導体チップに実現するためのレイアウト領域は不要となり、チップサイズ縮小による低コスト化を実現できる。
【００４２】
また、図２に示すように、不揮発性半導体記憶装置１００を複数個（Ｎ＋１個）備えたマルチチップ構成の不揮発性半導体記憶装置２００を実現する場合、システムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を、フラッシュコア１０−１〜１０−（Ｎ＋１）に（それぞれの第１の記憶領域に）分散して記憶する構成としてもよい。このような構成とすることで、ブートデータの容量がブートＲＡＭ（第１のＲＡＭ）の記憶容量を超えない場合、システムの起動時において、不揮発性半導体記憶装置１００−１〜１００−（Ｎ＋１）各々において、不揮発性領域４０に記憶されたフラグ情報及びアドレス情報により、ＳＲＡＭ部２０−１〜２０−（Ｎ＋１）の各々へＯＳデータ等を転送し、格納することができる。
【００４３】
これにより、複数の不揮発性半導体記憶装置において、ブートデータが第１のＲＡＭの記憶容量を超えない場合、第２のＲＡＭの記憶領域が記憶装置の数に応じて増加することで、分散して記憶したシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を自動的に第２のＲＡＭへ転送できる。そのため、システムの起動時において、既に第２のＲＡＭに格納されたＯＳデータ等の読み出しを、インターリーブ読み出し機能を使用してシステムの起動を効率よく行うことができる。
【００４４】
以上、本発明者によってなされた発明を、実施形態に基づき説明したが、本発明は説明した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
例えば、実施形態の説明において、フラッシュコア１０（第１の記憶領域）に記憶されたブートデータＢＬ２、ＢＬ３（ブートデータのうちの残りのデータ）、或いはシステムの起動時にブートロードに続き必要となるデータ（ＯＳデータ等）を、ブートＲＡＭ２１（第１のＲＡＭ）の記憶容量を超える場合、超えない場合を境界条件として、バッファＲＡＭ２２またはバッファＲＡＭ２３（第２のＲＡＭ）に転送するものとして説明した。しかし、境界条件は、第１のＲＡＭの記憶容量に限定されるものではなく、予め設定された記憶容量であればよい。例えば、不揮発性領域４０（第２の記憶領域）、或いは他の不揮発性記憶領域（フラッシュコア１０を含む）に、ブートデータＢＬ１の記憶されている領域を示すアドレス情報（ブロックアドレス及びページアドレス）を格納し、パワーオン時に制御部３０（制御部）が、このアドレス情報に基づいて予め設定された容量分のブートデータＢＬ１を、自動でブートＲＡＭ２１へ転送する構成としてもよい。
【符号の説明】
【００４５】
１００，２００，３００…不揮発性半導体記憶装置、１０…フラッシュコア、１０ａ…記憶領域、２０…ＳＲＡＭ部、３０…制御部、３１…ロードコントロール、３２…アドレスレジスタ、３３…アドレスコントロール、４０…不揮発性領域、２１，２２，２３…ＲＡＭ
【図１】
2012099015.tif 000003
【図２】
2012099015.tif 000004
【図３】
2012099015.tif 000005