(57)【要約】【課題】初期化動作の時間を大幅に低減し、不揮発性半導体メモリの高速化を実現する。【解決手段】不揮発性半導体メモリ２のメモリアレイＭＡは、データが格納されるデータ格納領域、プログラムが格納されるプログラム格納領域、およびプログラム格納領域のアドレス変換テーブルが格納されるテーブルブロックからなる。記憶装置１のパワーオンリセットにおいて、プログラム格納領域が設定されている場合には、テーブルブロックのアドレス変換テーブルを読み出し、レディ状態となり、プログラム格納領域ＰＳＡのリードが可能となる。その後、データ格納領域のイニシャライズ動作を行うことで、該データ格納領域のアドレス変換テーブルが生成され、データ格納領域のアクセスが可能となる。【選択図】図１
2007109197.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、
前記不揮発性半導体メモリのメモリ領域は、
データの更新が許可されない第１状態に設定された領域と、データの更新が許可される第２状態に設定された領域と、前記第１状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、
前記コントローラは、
初期化動作前に予め生成した前記第１状態に設定された領域のアドレス変換テーブルを前記テーブルブロックに格納し、
前記第２状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成することを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記第１状態に設定された領域、および前記第２状態に設定された領域は、別ストリングにそれぞれ設けられていることを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置において、
前記コントローラは、
前記第１状態に設定された領域をストリング単位で任意の領域に設定することを特徴とする半導体集積回路装置。
【請求項４】
請求項１〜３いずれか１項に記載の半導体集積回路装置において、
前記コントローラは、
前記第１状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うことを特徴とする半導体集積回路装置。
【請求項５】
請求項１〜４いずれか１項に記載の半導体集積回路装置において、
前記コントローラは、
前記テーブルブロックに格納された前記第１状態に設定された領域のアドレス変換テーブルを読み出した際に、前記第１状態に設定された領域へのアクセスを許可することを特徴とする半導体集積回路装置。
【請求項６】
請求項１〜４いずれか１項に記載の半導体集積回路装置において、
前記不揮発性半導体メモリの第２状態に設定された領域は、
第１の領域と第２の領域とに任意に分割されており、
前記コントローラは、
前記第１の領域のアドレス変換テーブルを初期化動作毎に生成し、前記第２の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成することを特徴とする半導体集積回路装置。
【請求項７】
請求項１〜４いずれか１項に記載の半導体集積回路装置において、
前記コントローラは、
前記第２状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第１状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第１状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とする半導体集積回路装置。
【請求項８】
請求項７記載の半導体集積回路装置において、
前記コントローラは、
外部入力されるリードコマンドを受け付けた際に、前記第１状態に設定された領域から読み出したデータを、前記不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に前記第２状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とする半導体集積回路装置。
【請求項９】
不揮発性半導体メモリのメモリ領域を、データの更新が許可されない第１状態に設定された領域とデータの更新が許可される第２状態に設定された領域とに任意に分割し、
前記第１状態に設定された領域については、
前記第１状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成して前記メモリ領域に格納し、
前記第２状態に設定された領域については、
初期化動作毎にアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項１０】
請求項９記載のアドレス変換テーブルの生成方法において、
前記第１状態に設定された領域、および前記第２状態に設定された領域は、別ストリングにそれぞれ領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項１１】
請求項９または１０記載のアドレス変換テーブルの生成方法において、
前記第１状態に設定された領域は、ストリング単位で領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項１２】
請求項９〜１１いずれか１項に記載のアドレス変換テーブルの生成方法において、
前記第１状態に設定された領域は、外部から入力されたコマンドに基づいて領域が設定されることを特徴とするアドレス変換テーブルの生成方法。
【請求項１３】
請求項９〜１２いずれか１項に記載のアドレス変換テーブルの生成方法において、
初期化動作の際に、前記メモリ領域に格納された前記第１状態に設定された領域のアドレス変換テーブルを読み出して前記第１状態に設定された領域へのアクセスを可能とした後、前記第２状態に設定された領域のアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項１４】
請求項９〜１３いずれか１項に記載のアドレス変換テーブルの生成方法において、
前記不揮発性半導体メモリの第２状態に設定された領域を第１の領域と第２の領域とに任意に分割し、
前記第１の領域のアドレス変換テーブルは初期化動作毎に生成し、前記第２の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項１５】
請求項９〜１４いずれか１項に記載のアドレス変換テーブルの生成方法において、
前記第２状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第１状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第１状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項１６】
請求項１５記載のアドレス変換テーブルの生成方法において、
外部入力されたリードコマンドを受け付けた際に、前記第１状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第２状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置における高速動作技術に関し、特に、不揮発性半導体メモリのパワーオンリセット処理の時間短縮に適用して有効な技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータや多機能端末機などの記憶装置として、たとえば、マルチメディアカード（登録商標）やＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ）カードなどのメモリカードが広く普及している。
【０００３】
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性半導体メモリが用いられている。
【０００４】
この不揮発性半導体メモリにおいては、たとえば、ホスト機器から指定された論理アドレスから、該不揮発性半導体メモリの物理アドレスへの変換を管理するアドレス変換テーブルを備えたものが知られている。
【０００５】
アドレス変換テーブルは、たとえば、不揮発性半導体メモリの初期化動作（パワーオンリセット動作）毎に生成されており、生成されたアドレス変換テーブルは、該不揮発性半導体メモリの制御を行うコントローラに設けられたワークＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｏｒｙ）などの半導体メモリに格納される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記のような不揮発性半導体メモリのアドレス変換テーブルの生成技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
すなわち、アドレス変換テーブルを生成する際、メモリアレイのすべてのブロックにおける管理データの読み出しが必要となるので、不揮発性半導体メモリの初期化時間が長くなってしまうという問題がある。それによって、不揮発性半導体メモリの高速化を妨げてしまう恐れがある。
【０００８】
本発明の目的は、初期化動作の時間を大幅に低減し、不揮発性半導体メモリの高速化を実現することのできる技術を提供することにある。
【０００９】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１１】
本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、該不揮発性半導体メモリのメモリ領域は、たとえばプログラム格納に用いられデータの更新が許可されない第１状態に設定された領域と、たとえばデータ格納に用いられるデータの更新が許可される第２状態に設定された領域と、第１状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、コントローラは、初期化動作前に予め生成した第１状態に設定された領域のアドレス変換テーブルをテーブルブロックに格納し、第２状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成するものである。
【００１２】
また、本発明は、前記第１状態に設定された領域、および前記第２状態に設定された領域は、別ストリングにそれぞれ設けられているものである。
【００１３】
さらに、本発明は、前記コントローラが、第１状態に設定された領域を所定の単位で任意の領域に設定するものである。
【００１４】
また、本発明は、前記コントローラが、第１状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うものである。
【００１５】
さらに、本発明は、前記コントローラが、テーブルブロックに格納された第１状態に設定された領域のアドレス変換テーブルを読み出した際に、第１状態に設定された領域へのアクセスを許可するものである。
【００１６】
また、本発明は、不揮発性半導体メモリの第２状態に設定された領域が、第１の領域と第２の領域とに任意に分割されており、前記コントローラは、第１の領域のアドレス変換テーブルを初期化動作毎に生成し、第２の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成するものである。
【００１７】
さらに、本発明は、前記コントローラが、第２状態に設定された領域におけるアドレス変換テーブルの生成中に、第１状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第１状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【００１８】
また、本発明は、前記コントローラが、外部入力されるリードコマンドを受け付けた際に、第１状態に設定された領域から読み出したデータを、不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に第２状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【００１９】
また、本願のその他の発明の概要を簡単に示す。
【００２０】
本発明は、不揮発性半導体メモリのメモリ領域を、第１状態に設定された領域と第２状態に設定された領域とに任意に分割し、第１状態に設定された領域については、第１状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成してメモリ領域に格納し、第２状態に設定された領域については、初期化動作毎にアドレス変換テーブルを生成するものである。
【００２１】
また、本発明は、前記第１状態に設定された領域、および前記第２状態に設定された領域は、別ストリングにそれぞれ領域設定を行うものである。
【００２２】
さらに、本発明は、前記第１状態に設定された領域が、ストリング単位で領域設定を行うものである。
【００２３】
また、本発明は、前記第１状態に設定された領域が、外部から入力されたコマンドに基づいて領域が設定されるものである。
【００２４】
さらに、本発明は、初期化動作の際に、前記メモリ領域に格納された第１状態に設定された領域のアドレス変換テーブルを読み出して第１状態に設定された領域へのアクセスを可能としてから、第２状態に設定された領域のアドレス変換テーブルを生成するものである。
【００２５】
また、本発明は、前記不揮発性半導体メモリの第２状態に設定された領域を第１の領域と第２の領域とに任意に分割し、前記第１の領域のアドレス変換テーブルは初期化動作毎に生成し、第２の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成するものである。
【００２６】
さらに、本発明は、前記第２状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第１状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第１状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【００２７】
また、本発明は、外部入力されたリードコマンドを受け付けた際に、前記第１状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第２状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【発明の効果】
【００２８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２９】
（１）不揮発性半導体メモリを備えた半導体集積回路装置の初期化動作の時間を大幅に短縮することができる。
【００３０】
（２）上記（１）により、半導体集積回路装置の性能を向上させることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００３２】
（実施の形態１）
図１は、本発明の実施の形態１による記憶装置のブロック図、図２は、図１の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図、図３は、図２のメモリアレイにおけるメモリ領域の構成例を示す説明図、図４は、図３のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図、図５は、図３のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図、図６は、図３のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャート、図７は、図３のメモリアレイにおいてプログラム格納領域の設定後のＰＳＡロック状態の信号サイクルを示すタイミングチャート、図８は、図３のメモリアレイのＰＳＡアンフォーマットを行う際の信号サイクルを示すタイミングチャート、図９は、図３のメモリアレイのＰＳＡアンロックを行う際の信号サイクルを示すタイミングチャート、図１０は、図１の記憶装置におけるＰＳＡフォーマットの処理例を示すフローチャート、図１１は、図１の記憶装置におけるＰＳＡロックの処理例を示すフローチャート、図１２は、図１の記憶装置におけるＰＳＡアンロックの処理例を示すフローチャート、図１３は、図１の記憶装置１におけるＰＳＡアンフォーマットの処理例を示すフローチャート、図１４は、図１の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャート、図１５は、図１の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャート、図１６は、図１の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【００３３】
本実施の形態１において、記憶装置（半導体集積回路装置）１は、図１に示すように、フラッシュメモリに例示される電気的にデータの書き換え、消去が可能な不揮発性半導体メモリ２、およびコントローラ３から構成されている。
【００３４】
このコントローラ３は、ホストインタフェース４、ＣＰＵ５、ＣＵＩ（Ｃｏｍｍａｎｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）６、ライトバッファ７、リードバッファ８、ＥＣＣ部９、ワークメモリ１０、およびメモリインタフェース１１などから構成されている。
【００３５】
コントローラ３は、不揮発性半導体メモリ２の制御を司り、該不揮発性半導体メモリ２に格納されたプログラムやデータなどを読み出してホスト機器へ出力し、またはホスト機器から入力されたプログラムやデータの書き込み動作指示を行う。
【００３６】
ホストインタフェース４は、ホスト機器とＣＰＵ５とのインタフェースである。ＣＰＵ５は、コントローラ３におけるすべての制御を司る。ＣＵＩ６は、ホストからのコマンドを解釈し、ＣＰＵ５を起動する。
【００３７】
ライトバッファ７は、ホストからの読み出しデータを一時的に格納する。リードバッファ８は、不揮発性半導体メモリ２からの読み出しデータを一時的に格納する。
【００３８】
ＥＣＣ部９は、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｋ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）コードの生成、ならびに不揮発性半導体メモリ２に書き込み／読み出しされるデータのＥＣＣエラーチェックと訂正を行う。
【００３９】
ワークメモリ１０は、たとえば、ＲＡＭなどの半導体メモリからなり、ＣＰＵ５のワーク領域のメモリとして用いられる。メモリインタフェース１１は、ＣＰＵ５と不揮発性半導体メモリ２とのインタフェースである。
【００４０】
図２は、不揮発性半導体メモリ２におけるメモリアレイ（記憶領域）ＭＡの一例を示した説明図である。
【００４１】
図示するように、メモリアレイＭＡは、グローバルビット線ＧＢＬに複数のサブビット線ＳＢＬが選択用トランジスタＴｒを介して接続されるアレイ構造からなり、それらサブビット線ＳＢＬに、不揮発性メモリセルＳがそれぞれ接続された構成からなる。
【００４２】
サブデータ線ＳＢＬには、２５６本のワード線ＷＬ分の不揮発性メモリセルＳが接続されており、この単位を１ストリングという。
【００４３】
図３は、不揮発性半導体メモリ２のメモリアレイＭＡにおけるメモリ領域の構成例を示す説明図である。
【００４４】
メモリアレイＭＡは、たとえば、４つのバンクＢａｎｋ０〜Ｂａｎｋ３に分割された４バンク構成からなる。バンクＢａｎｋ０〜Ｂａｎｋ３には、データ格納領域ＤＳＡ、およびプログラム格納領域ＰＳＡ、およびテーブルブロックＴＢから構成されている。
【００４５】
データ格納領域ＤＳＡは、データが格納される領域であり、プログラム格納領域ＰＳＡは、プログラムが格納される領域である。また、テーブルブロックＴＢは、プログラム格納領域ＰＳＡにおけるアドレス変換テーブルが格納される領域である。
【００４６】
データ格納領域ＤＳＡ、プログラム格納領域ＰＳＡ、およびテーブルブロックＴＢにおいて、管理部（図３のハッチングで示した部分）ＫがセクタＳｃ毎にそれぞれ備えられている。ここで、セクタＳｃは、データ格納最小単位であり、１６セクタ（４バンク列×４行）で１つのブロック（消去の最小単位）Ｂを構成する。
【００４７】
管理部Ｋには、各々のブロックの管理情報が格納されている。この管理情報は、同じ行のセクタでは、バンクが異なっていても同じものが格納されており、行が異なると管理情報の内容が異なる。
【００４８】
プログラム格納領域ＰＳＡの領域は任意に設定され、該プログラム格納領域ＰＳＡを設定した際に、論理アドレス／物理アドレスの変換テーブルデータを格納するテーブルブロックＴＢが準備されることになる。ここで、テーブルブロックＴＢのアドレスは、予め指定したアドレスでもよいし、簡単に検索することが可能なアドレスとしてもよい。
【００４９】
図４は、管理部Ｋにおける管理情報のデータ定義例を示した説明図である。
【００５０】
この図４においては、プログラム格納領域ＰＳＡの処理に関係している管理部のみを記載しており、上方に４行目のセクタの管理部を、その下方に１行目のセクタの管理部をそれぞれ示している。
【００５１】
図示するように、４行目のセクタの管理部には、テーブルブロックのアドレスを格納する領域が備えられている。ただし、テーブルブロックのアドレスが実際に書き込まれているのは、最下位アドレスの良ブロックだけである。
【００５２】
その他のブロックにおける４行目のセクタの管理部のテーブルブロックアドレスを書き込む領域は消去状態（’ＦＦｈ’）となっている。つまり、テーブルブロックとして使用されるブロックを検索するには、最下位アドレスの良ブロックの４行目のセクタの管理部を読み出せばよいことになる。
【００５３】
テーブルブロックとして選択されたブロックには、１行目のセクタの管理部にコード’７１ｈ’を書き込むことでテーブル用のブロックとして認識される。また、１行目のセクタの管理部には、プログラム格納領域ＰＳＡの領域サイズ、プログラム格納領域ＰＳＡのロック判定ビットなども格納される。
【００５４】
図５は、不揮発性半導体メモリ２のメモリアレイＭＡにプログラム格納領域ＰＳＡを設定する際の状態遷移を示す説明図である。
【００５５】
プログラム格納領域ＰＳＡは、たとえば、プログラム格納領域ＰＳＡの領域を設定するＰＳＡ設定コマンドの入力によって設定される。不揮発性半導体メモリ２は、保護制御信号（Ｐｒｏｔｅｃｔ  Ｃｏｎｔｒｏｌ  Ｅｎａｂｌｅ）ＰＣＥが入力される制御ピンが備えられている。
【００５６】
そして、その制御ピンに、たとえば、Ｈｉレベルの保護制御信号ＰＣＥが入力された際に、ＰＳＡ設定コマンドを受け付け、該保護制御信号ＰＣＥがＬｏｗレベルの場合には、ＰＳＡ設定コマンドを受け付けない。
【００５７】
メモリアレイＭＡは、図示するように、ＰＳＡ設定前の状態（状態Ｊ１）、ＰＳＡフォーマット状態（状態Ｊ２）、およびＰＳＡロック状態（状態Ｊ３）の３つの状態が存在する。
【００５８】
ＰＳＡ設定前の状態（状態Ｊ１）は、ＰＳＡ設定コマンドによってプログラム格納領域ＰＳＡの領域設定がされていない状態であり、消去／書き込みが可能な状態となっている（全領域がＤＳＡ領域）。ＰＳＡフォーマット状態（状態Ｊ２）は、ＰＳＡ設定コマンドによってプログラム格納領域ＰＳＡの領域設定がなされた状態である。この状態Ｊ２でも、データ保護は無効であり、消去／書き込みが可能な状態となっている（ＰＳＡ設定されるが動作は全領域ＤＳＡ領域）。
【００５９】
ＰＳＡロック状態（状態Ｊ３）は、設定されたプログラム格納領域ＰＳＡにロック（ＰＳＡロック）がかかり、データ保護が有効になった状態であり、プログラム格納領域ＰＳＡにおいて消去／書き込みが不可となる(ＰＳＡ設定された領域がＰＳＡ領域として動作)。
【００６０】
状態Ｊ３では、ロックを解除（ＰＳＡアンロック）することにより、状態Ｊ２に遷移することができる。また、状態Ｊ２，Ｊ３においては、プログラム格納領域ＰＳＡの設定を解除（ＰＳＡアンフォーマット）することにより、状態Ｊ１の状態に遷移させることができる。
【００６１】
図６は、プログラム格納領域ＰＳＡの領域設定を行う際の信号サイクルを示すタイミングチャートである。
【００６２】
図６において、上方から下方にかけて、コマンドラッチイネーブルＣＬＥ、チップイネーブル／ＣＥ、ライトイネーブル／ＷＥ、アドレスラッチイネーブルＡＬＥ、リードイネーブル／ＲＥ、保護制御信号ＰＣＥ、レディビジーＲ／Ｂ、および入力されるコマンドであるデータＤｉｎをそれぞれ示している。なお、これらの各制御信号において、スラッシュ（／）を付している各記号は反転信号である。
【００６３】
この場合、保護制御信号ＰＣＥがＨｉレベルとなった後、プログラム格納領域ＰＳＡの領域を設定するデータＤｉｎとしてコマンド’Ｂ０Ｈ’、’Ｍ’、’Ｄ０Ｈ’が順次入力される。
【００６４】
コマンド’Ｍ’が、指定領域を設定するものであり、プログラム格納領域ＰＳＡの領域設定は、たとえば、ストリング単位であり、ストリングの個数を入力する。そして、プログラム格納領域ＰＳＡの領域設定を行うコマンドが入力された後、プログラム格納領域ＰＳＡの領域設定が完了するまで、レディビジーＲ／Ｂは、ビジー（ｂｕｓｙ）となる。
【００６５】
図７は、プログラム格納領域ＰＳＡの領域設定後におけるＰＳＡロック状態の信号サイクルを示すタイミングチャートである。なお、この図７も含め、以下に示す図８、図９において、上方から下方にかけて示す信号は同一である。
【００６６】
図７において、保護制御信号ＰＣＥがＨｉレベルとなった後、設定されたプログラム格納領域ＰＳＡのデータ保護を有効とするロックを行うデータＤｉｎとしてコマンド’Ｂ１Ｈ’、’Ｄ０Ｈ’が順次入力される。
【００６７】
ここでも、ＰＳＡロック状態を設定するコマンドが入力された後、プログラム格納領域ＰＳＡのロック設定が完了するまで、レディビジーＲ／Ｂは、ビジー（ｂｕｓｙ）となる。
【００６８】
図８は、ＰＳＡアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【００６９】
ＰＳＡアンフォーマットを行う場合のコマンドは、’ＢＦＨ’、’Ｄ０Ｈ’であり、図６、図７と同様に、ＰＳＡアンフォーマットを行うコマンドが入力された後、ＰＳＡアンフォーマットが完了するまで、レディビジーＲ／Ｂは、ビジー（ｂｕｓｙ）となる。
【００７０】
図９は、ＰＳＡアンロックを行う際の信号サイクルを示すタイミングチャートである。
【００７１】
ＰＳＡアンロックを行う場合のコマンドは、’ＢＥＨ’、’Ｄ０Ｈ’となる。そして、図６〜図８と同様に、ＰＳＡアンロックを行うコマンドが入力された後、ＰＳＡアンロックが完了するまで、レディビジーＲ／Ｂは、ビジー（ｂｕｓｙ）となる。
【００７２】
図１０は、記憶装置１におけるＰＳＡフォーマットの処理例を示すフローチャートである。
【００７３】
まず、メモリアレイＭＡにおいて、プログラム格納領域ＰＳＡの領域が設定されているか否かを判定する（ステップＳ１０１）。このステップＳ１０１の処理において、プログラム格納領域ＰＳＡの領域が設定されている（ＰＳＡフォーマット済み）場合には、ＰＳＡフォーマット処理を終了する。
【００７４】
また、ステップＳ１０１の処理において、ＰＳＡフォーマット済みでない場合、テーブルブロックとして使用するブロックを検索し（ステップＳ１０２）、管理部にテーブルブロックであることを示すコード、ならびにその領域サイズを書き込む（ステップＳ１０３）。
【００７５】
続いて、検索したテーブルブロックのアドレス情報を、たとえば、最下位アドレスの良ブロックの管理部などの予め設定した位置に書き込みを行う（ステップＳ１０４）。
【００７６】
図１１は、記憶装置１におけるＰＳＡロックの処理例を示すフローチャートである。
【００７７】
まず、プログラム格納領域ＰＳＡがフォーマット済みであるか否かを判定し（ステップＳ２０１）、未フォーマットであるなら処理を終了する。ステップＳ２０１の処理で、フォーマット済みである場合には、プログラム格納領域ＰＳＡがロックされているか否かを判定し（ステップＳ２０２）、ロック済みの場合には、処理が終了となる。
【００７８】
続いて、プログラム格納領域ＰＳＡの論理アドレスと物理アドレスとの対応付けを行い、論理アドレスから、不揮発性半導体メモリ２の物理アドレスへの変換を管理するアドレス変換テーブルを生成する（ステップＳ２０３）。
【００７９】
そして、テーブルブロックに生成したアドレス変換テーブルの書き込みを行う（ステップＳ２０４）。このとき、テーブルブロックの管理部には、ＰＳＡロック判定ビットの書き込みも行われる。
【００８０】
その後、書き込みが完了したか否かの判断を行い（ステップＳ２０５）。完了した場合には処理が終了となり、書き込みに失敗した場合には、新たなテーブルブロックを設け、テーブルデータの書き込みを行う。
【００８１】
図１２は、記憶装置１におけるＰＳＡアンロックの処理例を示すフローチャートである。
【００８２】
まず、プログラム格納領域ＰＳＡがフォーマット済みであるか否かを判定し（ステップＳ３０１）する。プログラム格納領域ＰＳＡがフォーマット済みの場合には、プログラム格納領域ＰＳＡがロックされているかを判定する（ステップＳ３０２）。
【００８３】
ステップＳ３０１の処理において、プログラム格納領域ＰＳＡがフォーマットされていない場合、およびステップＳ３０２の処理でプログラム格納領域ＰＳＡがロックされていない場合には、処理を終了する。
【００８４】
また、ステップＳ３０２の処理において、プログラム格納領域ＰＳＡがロックされている場合には、テーブルブロックに格納されているデータを消去する（ステップＳ３０３）。この場合、管理部には、テーブルブロックを示すコード、およびプログラム格納領域ＰＳＡの領域サイズのデータがかかれた状態であり、ロック判定ビットが消去される。これにより、ＰＳＡフォーマット状態に戻されることになる。
【００８５】
図１３は、記憶装置１におけるＰＳＡアンフォーマットの処理例を示すフローチャートである。
【００８６】
まず、プログラム格納領域ＰＳＡがフォーマット済みであるか否かを判定し（ステップＳ４０１）、該プログラム格納領域ＰＳＡが未フォーマットの場合には、処理が終了となる。
【００８７】
プログラム格納領域ＰＳＡがフォーマット済みの場合、テーブルブロックの検索を行い（ステップＳ４０２）、検索したテーブルブロックの登録を解消する（ステップＳ４０３）。
【００８８】
図１４は、記憶装置１のプログラム格納領域ＰＳＡの領域設定時におけるパワーオンリセット（初期化動作）の処理例とプログラム格納領域ＰＳＡの状態とを示すフローチャートである。
【００８９】
図１４において、左側は、プログラム格納領域ＰＳＡの領域設定時におけるパワーオンリセットの処理フローを示しており、右側は、プログラム格納領域ＰＳＡの領域設定時におけるプログラム格納領域ＰＳＡの領域の状態を示している。
【００９０】
まず、パワーオンによって、リセット信号が入力される（ステップＳ５０１）。ＰＳＡロックが設定されている場合には、テーブルブロックのアドレス変換テーブルの読み出しを行い（ステップＳ５０２）、レディ状態となる（ステップＳ５０３）。
【００９１】
このステップＳ５０３の処理後、プログラム格納領域ＰＳＡはリードが可能となる。一方、データ格納領域ＤＳＡは、アクセスが不可の状態となっている。
【００９２】
そして、データ格納領域ＤＳＡのイニシャライズ動作を行うことで（ステップＳ５０４）、データ格納領域ＤＳＡのアドレス変換テーブルが生成される。
【００９３】
それによって、不揮発性半導体メモリ２はレディ状態となり、プログラム格納領域ＰＳＡのリードが可能であるとともに、データ格納領域ＤＳＡのアクセスが可能な状態となる。
【００９４】
また、プログラム格納領域ＰＳＡのロックが設定されていない場合（ＰＳＡフォーマット、またはＰＳＡアンフォーマット）には、データ格納領域ＤＳＡのイニシャライズ動作を行い（ステップＳ５０５）、すべてのセクタの管理部をリードし、アドレス変換テーブルを作成する。ステップＳ５０５が終了すると、不揮発性半導体メモリ２はレディ状態となり、データ格納領域ＤＳＡのアクセスが可能な状態となる。
【００９５】
図１５は、データ格納領域ＤＳＡのイニシャライズの処理例を示すフローチャートである。
【００９６】
まず、ロックされていないプログラム格納領域ＰＳＡ、およびデータ格納領域ＤＳＡにおけるすべての管理部のリードを行う（ステップＳ６０１）。その後、データ格納領域ＤＳＡのアドレス変換テーブルを生成し（ステップＳ６０２）、生成したアドレス変換テーブルをワークメモリ１０に格納する。
【００９７】
図１６は、記憶装置１を用いて構成した電子システムの一例を示したブロック図である。
【００９８】
図示するように、記憶装置１は、たとえば、ホスト機器のプロセッサＰｒ、およびキャッシュメモリＣｈとバスＢを介して相互接続される。記憶装置１の不揮発性半導体メモリ２には、たとえば、ホスト用のプログラムやデータが格納されており、パワーオン時には、該ホスト用のプログラムが不揮発性半導体メモリ２から読み出され、たとえば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）／ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ）などからなるキャッシュメモリＣｈに転送される。
【００９９】
よって、パワーオン時には、プログラムを格納するプログラム格納領域ＰＳＡのみのアクセスが可能になればよく、データ格納領域ＤＳＡのイニシャライズを電子システムのプロセッサＰｒの初期化時などのバックグラウンドで行うことが可能となる。
【０１００】
それにより、本実施の形態１によれば、記憶装置１におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【０１０１】
（実施の形態２）
図１７は、本発明の実施の形態２による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図、図１８は、図１７のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャート、図１９は、図１８アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【０１０２】
本実施の形態２において、記憶装置１は、前記実施の形態１の図１と同じであり、不揮発性半導体メモリ２、およびコントローラ３から構成されており、該コントローラ３は、ホストインタフェース４、ＣＰＵ５、ＣＵＩ６、ライトバッファ７、リードバッファ８、ＥＣＣ部９、ワークメモリ１０、およびメモリインタフェース１１から構成されている。
【０１０３】
図１７は、記憶装置１のパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【０１０４】
この場合、図示するように、不揮発性半導体メモリ２のデータ格納領域ＤＳＡは、２つのデータ格納領域ＤＳＡ１，ＤＳＡ２に任意に分割されている。そして、記憶装置１のパワーオンリセット処理時には、データ格納領域ＤＳＡ１のアドレス変換テーブルのみが生成される。これらデータ格納領域ＤＳＡ１，ＤＳＡ２の領域設定は、たとえば、ホスト機器からの設定コマンドの入力によって設定される。
【０１０５】
そして、データ格納領域ＤＳＡ１のアドレス変換テーブルの生成が終了し、ホスト機器からデータ格納領域ＤＳＡ２のアドレス変換テーブルを生成するコマンドが出力されると、そのコマンドを受けて、データ格納領域ＤＳＡ２のアドレス変換テーブルが生成される。
【０１０６】
次に、データ格納領域ＤＳＡ１におけるアドレス変換テーブルの生成例を、図１８のフローチャートを用いて説明する。なお、この図１８に示す処理は、図１４のステップＳ５０４の処理において行われるものである。
【０１０７】
まず、パワーオンによってリセット信号が入力される（ステップＳ６０１）、図１４のステップＳ５０３の処理が終了すると、データ格納領域ＤＳＡ１の管理部をリードし（ステップＳ６０２）、該データ格納領域ＤＳＡ１における先頭ブロックのアドレス変換テーブルを作成する。
【０１０８】
作成されたアドレス変換テーブルは、ワークメモリ１０に格納される（ステップＳ６０３）。そして、データ格納領域ＤＳＡ１における最終ブロックのアドレス変換テーブルが生成されるまでステップＳ６０２，Ｓ６０３の処理を繰り返す（ステップＳＳ６０４）。データ格納領域ＤＳＡ１のすべてのアドレス変換テーブルが生成されると、データ格納領域ＤＳＡ１におけるアドレス変換テーブルの生成処理が終了となる。
【０１０９】
また、データ領域格納ＤＳＡ２におけるアドレス変換テーブルの生成例を、図１９のフローチャートを用いて説明する。
【０１１０】
図１８に示したデータ格納領域ＤＳＡ１におけるアドレス変換テーブルの生成処理が終了した後、ホスト機器から、データ格納領域ＤＳＡ２のアドレス変換テーブルを生成するコマンドが入力されると（ステップＳ７０１）、それを受けて、不揮発性半導体メモリ２におけるデータ格納領域ＤＳＡ２の管理部をリードし（ステップＳ７０２）、該データ格納領域ＤＳＡ２における先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルを、ワークメモリ１０に格納する（ステップＳ７０３）。
【０１１１】
そして、データ格納領域ＤＳＡ２の最終ブロックのアドレス変換テーブルが生成されるまでステップＳ７０２，Ｓ７０３の処理を繰り返し行う（ステップＳ７０４）。データ格納領域ＤＳＡ２のすべてのブロックのアドレス変換テーブルが生成されると、データ格納領域ＤＳＡ２におけるアドレス変換テーブルの生成処理が終了となる。
【０１１２】
それにより、本実施の形態２おいても、記憶装置１におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【０１１３】
また、本実施の形態２では、不揮発性半導体メモリ２のメモリ領域を任意の２つのデータ格納領域ＤＳＡ１，ＤＳＡ２に分割するものとしたが、たとえば、記憶装置１が複数の不揮発性半導体メモリを備える場合には、パワーオン時にアドレス変換テーブルが生成する不揮発性半導体メモリと、ホスト機器からのコマンド入力後にアドレス変換テーブルを生成する不揮発性半導体メモリとを予め設定しておくようにしてもよい。
【０１１４】
図２０は、たとえば、２つの不揮発性半導体メモリを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【０１１５】
この場合、図示するように、パワーオンリセット処理時に、予め設定された一方の不揮発性半導体メモリ２のデータ格納領域ＤＳＡのアドレス変換テーブルが生成される。その後、ホスト機器からアドレス変換テーブルを生成するコマンドが出力されると、他方の不揮発性半導体メモリ２ａにおけるデータ格納領域ＤＳＡのアドレス変換テーブルが生成される。
【０１１６】
よって、ワークメモリ１０には、図２０の右側に示すような、不揮発性半導体メモリ２２ａのアドレス変換テーブルが生成される。
【０１１７】
図２１は、２つの不揮発性半導体メモリ２，２ａを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したフローチャートである。
【０１１８】
まず、パワーオンによって（ステップＳ８０１）リセット信号が入力され、図１４のステップＳ５０３の処理が終了すると、不揮発性半導体メモリ２のデータ格納領域ＤＳＡにおける管理部をリードし（ステップＳ８０２）、該不揮発性半導体メモリ２における先頭ブロックのアドレス変換テーブルを作成する。
【０１１９】
作成されたアドレス変換テーブルは、ワークメモリ１０に格納される（ステップＳ８０３）。そして、不揮発性半導体メモリ２におけるすべてのブロックのアドレス変換テーブルが生成されるまでステップＳ８０２，Ｓ８０３の処理を繰り返す（ステップＳ８０４）。
【０１２０】
不揮発性半導体メモリ２におけるすべてブロックのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【０１２１】
また、他方の不揮発性半導体メモリ２ａにおけるアドレス変換テーブルの生成例を、図２２のフローチャートを用いて説明する。
【０１２２】
図２１に示したアドレス変換テーブルの生成処理が終了した後、ホスト機器から、不揮発性半導体メモリ２ａのアドレス変換テーブルを生成するコマンドが入力されると（ステップＳ９０１）、それを受けて、不揮発性半導体メモリ２ａにおけるデータ格納領域ＤＳＡの管理部をリードし（ステップＳ９０２）、該不揮発性半導体メモリ２ａにおける先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルをワークメモリ１０に格納する（ステップＳ９０３）。
【０１２３】
他方の不揮発性半導体メモリの最終ブロックのアドレス変換テーブルが生成されるまでステップＳ９０２，Ｓ９０３の処理を繰り返す（ステップＳ９０４）。そして、他方の不揮発性半導体メモリのすべてのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【０１２４】
それにより、複数の不揮発性半導体メモリを備えた記憶装置であっても、該記憶装置におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【０１２５】
（実施の形態３）
図２３は、本発明の実施の形態３による記憶装置のパワーオンリセット処理を示したフローチャート、図２４は、図２３に示すステップＳ１００２，Ｓ１００３の処理の詳細なフローチャート、図２５は、図２４の処理における記憶装置の信号タイミングチャートである。
【０１２６】
本実施の形態３でも、記憶装置１は、前記実施の形態１の図１と同じであり、不揮発性半導体メモリ２、およびコントローラ３から構成されており、該コントローラ３は、ホストインタフェース４、ＣＰＵ５、ＣＵＩ６、ライトバッファ７、リードバッファ８、ＥＣＣ部９、ワークメモリ１０、およびメモリインタフェース１１から構成されている。
【０１２７】
本実施の形態３において、コントローラ３は、データ格納領域ＤＳＡにおけるアドレス変換テーブルの生成中に、プログラム格納領域ＰＳＡのリードコマンドを受け付ける機能を有している。
【０１２８】
次に、記憶装置１によるパワーオンリセット処理について、図２３のフローチャートを用いて説明する。
【０１２９】
まず、電源が投入され、不揮発性半導体メモリ２の処理化が終了する（ステップＳ１００１）。このステップＳ１００１の処理では、図２３の右上側に示すように、プログラム格納領域ＰＳＡのアドレス変換テーブルが生成される。
【０１３０】
その後、ホスト機器から、データ格納領域ＤＳＡのアドレス変換テーブルを生成するコマンドが投入された後（ステップＳ１００２）、プログラム格納領域ＰＳＡのプログラムがワークメモリ１０に展開される（ステップＳ１００３）。
【０１３１】
このステップＳ１００２，Ｓ１００３の処理では、図２３の右上側に示すように、データ格納領域ＤＳＡのアドレス変換テーブルが生成され、ステップＳ１００３の処理では、プログラム格納領域ＰＳＡのプログラムが読み出される。また、ステップＳ１００３の処理では、点線で囲んだ範囲に示すように、データ格納領域ＤＳＡのアドレス変換テーブルの生成がプログラム格納領域ＰＳＡからのプログラムの読み出しのバックグランドで行われるように処理される。
【０１３２】
そして、ワークメモリ１０に展開されたプログラムによる記憶装置１の初期化動作が行われて（ステップＳ１００４）、初期化が終了となる。
【０１３３】
続いて、図２３のステップＳ１００２，Ｓ１００３の処理について、図２４のフローチャート、ならびに図２５のタイミングチャートを用いて詳しく説明する。
【０１３４】
図２４においては、上方から下方にかけて、ホスト機器から出力されるコマンド、ホスト機器から出力されるデータ読み出し用のクロック信号ＣＬＫ、およびコントローラ３から出力されるレディ／ビジーＲ／Ｂ、およびコントローラ３の内部動作状態、割り込みリクエスト信号のタイミングをそれぞれ示している。
【０１３５】
まず、ホスト機器から、データ格納領域ＤＳＡにおけるアドレス変換テーブルを生成するコマンドを受けると、記憶装置１は、図２４の（Ａ）に示すルーチン処理を開始し、プログラム格納領域リードコマンドが発行されたか否かを判断する（ステップＳ１１０１）。
【０１３６】
ステップＳ１００１の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ３は、ホスト機器からはバックグランド動作として見なせるようにレディビジーＲ／Ｂを’Ｈｉ’としてレディ（Ｒｅａｄｙ）状態とし、データ格納領域ＤＳＡの管理部のデータを読み出し（ステップＳ１１０２）、１ブロック分のアドレス変換テーブルを作成してワークメモリ１０に格納する（ステップＳ１１０３）。
【０１３７】
続いて、ステップＳ１１０１の処理に戻り、プログラム格納領域リードコマンドがステップＳ１１０２，Ｓ１１０３の処理中に発行されたか否かを判断する。
【０１３８】
ホスト機器からプログラム格納領域リードコマンドが発行されている場合、コントローラ３内部では、割り込みリクエスト信号のフラグが’Ｈｉ’となる。このとき、コントローラ３は、レディビジーＲ／Ｂをビジーとして図２４の（Ｂ）に示すルーチン処理を割り込ませ、割り込みリクエスト信号のフラグをリセット（’Ｌｏ’）する。
【０１３９】
続いて、コントローラ３は、プログラム格納領域ＰＳＡのデータを読み出す（ステップＳ１１０４）。そして、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると（ステップＳ１１０５）、再びレディ／ビジーＲ／Ｂをレディとし、ホスト機器からのセカンドアクセス用のコマンドを受け付けられる状態にする。
（Ｂ）のルーチン処理が終了すると、ステップＳ１１０２，Ｓ１１０３の処理を行う。（Ａ）のルーチン処理は、データ格納領域ＤＳＡにおけるアドレス変換テーブルが完成するまで行われる（ステップＳ１１０６）。
【０１４０】
このとき、ホスト機器からセカンドアクセス用のコマンドが発行されると、コントローラ３は、アドレス変換テーブルを生成する（Ａ）のルーチン処理を行いながら、ホスト機器からのデータ読み出し用のクロック信号ＣＬＫに基づいて、読み出しデータをホスト機器に転送する。
【０１４１】
プログラム格納領域ＰＳＡのデータの読み出し動作は、データ格納領域ＤＳＡからのデータ読み出しと同様に、ファーストアクセス、およびセカンドアクセスからなる。ファーストアクセスでは、コントローラ３によって不揮発性半導体メモリ２から読み出したデータがリードバッファ８まで転送される。
【０１４２】
そして、セカンドアクセスでは、リードバッファ８に格納されたデータがクロック信号ＣＬＫによってホストへ読み出される。このセカンドアクセスの間、コントローラ３は、読み出し動作としてはフリーの状態であり、他の内部動作を行うことが可能な状態となる。
【０１４３】
よって、セカンドアクセスのフリーの状態を利用してアドレス変換テーブルの生成を継続して行うことができる。
【０１４４】
なお、この場合、データ格納領域ＤＳＡにおけるアドレス変換テーブルの生成完了を知るために、ステータスリードコマンドを設ける。任意の回数のプログラム格納領域ＰＳＡのデータの読み出しが終了し、ホスト機器がデータ格納領域ＤＳＡにアクセスしたい場合には、該ホスト機器がステータスリードコマンドを出力し、データ格納領域ＤＳＡのアドレス変換テーブルの生成が完了したことを確認してから行われることになる。
【０１４５】
それにより、本実施の形態３においては、データ格納領域ＤＳＡにおけるアドレス変換テーブルの生成中にプログラム格納領域ＰＳＡのデータを読み出すことが可能となる。
【０１４６】
また、プログラム格納領域ＰＳＡのデータを読み出しながら、データ格納領域ＤＳＡにおけるアドレス変換テーブルを生成することが可能となるので、より短時間でデータ格納領域ＤＳＡへアクセスすることができる。
【０１４７】
さらに、本実施の形態では、１つの不揮発性半導体メモリのメモリ領域をプログラム格納領域ＰＳＡとデータ格納領域ＤＳＡとに分割した場合について記載したが、たとえば、図２６に示すように、記憶装置１に２つの不揮発性半導体メモリ２，２ａを備え、一方の不揮発性半導体メモリ２のメモリ領域をプログラム格納領域ＰＳＡとし、他方の不揮発性半導体メモリ２ａのメモリ領域をデータ格納領域ＤＳＡとするようにしてもよい。
【０１４８】
この場合、図２６の記憶装置１は、不揮発性半導体メモリ２ａが新たにメモリインタフェース１１に接続されており、その他の接続構成は、図１に示す記憶装置１と同じとなっている。
【０１４９】
図２７は、図２６に示す記憶装置１におけるデータ格納領域ＤＳＡのアドレス変換テーブル生成における処理例を示すフローチャートである。
【０１５０】
まず、ホスト機器から、データ格納領域ＤＳＡにおけるアドレス変換テーブルを生成するコマンドを受けると、コントローラ３は、プログラム格納領域リードコマンドが発行されたか否かを判断する（ステップＳ１２０１）。
【０１５１】
ステップＳ１２０１の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ３は、不揮発性半導体メモリ２ａの管理部を読み出し（ステップＳ１２０３）、生成したアドレス変換テーブルをワークメモリ１０に登録する（ステップＳ１２０３）。
【０１５２】
また、ステップＳ１２０１の処理において、プログラム格納領域リードコマンドが発行されている場合には、不揮発性半導体メモリ２ａの管理部を読み出してアドレス変換テーブルを生成する処理と、プログラム格納領域ＰＳＡのデータを読み出しとを並列して行う（ステップＳ１２０４）。
【０１５３】
続いて、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると（ステップＳ１２０５）、ステップＳ１２０３の処理を行う。これらステップＳ１２０１〜Ｓ１２０５の処理は、、不揮発性半導体メモリ２ａのデータ格納領域ＤＳＡにおけるアドレス変換テーブルが完成するまで行われる（ステップＳ１２０６）。
【０１５４】
それにより、不揮発性半導体メモリ２のプログラム格納領域ＰＳＡからの読み出しと、不揮発性半導体メモリ２ａにおけるデータ格納領域ＤＳＡの管理部の読み出しを並列して行うことができるので、不揮発性半導体メモリ２，２ａのファーストアクセスののべ時間を短縮することができる。
【０１５５】
また、図２６では、１つのＣＰＵ５によって不揮発性半導体メモリ２，２ａを制御する構成としたが、２つのＣＰＵを設け、各々のＣＰＵでそれぞれの不揮発性半導体メモリを個別に制御する構成としてもよい。
【０１５６】
それにより、時分割で行われていたプログラム格納領域ＰＳＡの読み出しとデータ格納領域ＤＳＡにおけるアドレス変換テーブルの生成とを並列して処理することができるので、より動作時間を短縮することができる。
【０１５７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１５８】
本発明は、不揮発性半導体メモリにおける初期化動作時間の短縮技術に適している。
【図面の簡単な説明】
【０１５９】
【図１】本発明の実施の形態１による記憶装置のブロック図である。
【図２】図２の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図である。
【図３】図２のメモリアレイにおけるメモリ領域の構成例を示す説明図である。
【図４】図３のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図である。
【図５】図３のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図である。
【図６】図３のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャートである。
【図７】図３のメモリアレイにおいてプログラム格納領域の設定後のＰＳＡロック状態の信号サイクルを示すタイミングチャートである。
【図８】図３のメモリアレイのＰＳＡアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【図９】図３のメモリアレイのＰＳＡアンロックを行う際の信号サイクルを示すタイミングチャートである。
【図１０】図１の記憶装置におけるＰＳＡフォーマットの処理例を示すフローチャートである。
【図１１】図１の記憶装置におけるＰＳＡロックの処理例を示すフローチャートである。
【図１２】図１の記憶装置におけるＰＳＡアンロックの処理例を示すフローチャートである。
【図１３】図１の記憶装置１におけるＰＳＡアンフォーマットの処理例を示すフローチャートである。
【図１４】図１の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャートである。
【図１５】図１の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャートである。
【図１６】図１の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【図１７】本発明の実施の形態２による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図である。
【図１８】図１７のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャートである。
【図１９】図１８アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【図２０】本発明の他の実施の形態による記憶装置のパワーオン時に生成されるアドレス変換テーブルの生成例を示した説明図である。
【図２１】図２０のアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図２２】図２１に続くアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図２３】本発明の実施の形態３による記憶装置のパワーオンリセット処理を示したフローチャートである。
【図２４】図２３に示すステップＳ１００２，Ｓ１００３の処理の詳細なフローチャートである。
【図２５】図２４の処理における記憶装置の信号タイミングチャートである。
【図２６】本発明の他の実施の形態による記憶装置のブロック図である。
【図２７】図２６の記憶装置におけるアドレス変換テーブル生成の処理例を示すフローチャートである。
【符号の説明】
【０１６０】
１  記憶装置（半導体集積回路装置）
２，２ａ  不揮発性半導体メモリ
３  コントローラ
４  ホストインタフェース
５  ＣＰＵ
６  ＣＵＩ
７  ライトバッファ
８  リードバッファ
９  ＥＣＣ部
１０  ワークメモリ
１１  メモリインタフェース
ＭＡ  メモリアレイ（記憶領域）
ＧＢＬ  グローバルビット線
ＳＢＬ  サブビット線
Ｔｒ  選択用トランジスタ
Ｓ  不揮発性メモリセル
Ｂａｎｋ０〜Ｂａｎｋ３  バンク
ＤＳＡ  データ格納領域
ＰＳＡ  プログラム格納領域
ＴＢ  テーブルブロック
Ｋ  管理部
Ｓｃ  セクタ
Ｂ  ブロック
【図１】
2007109197.tif 000003
【図２】
2007109197.tif 000004
【図３】
2007109197.tif 000005
【図４】
2007109197.tif 000006
【図５】
2007109197.tif 000007
【図６】
2007109197.tif 000008
【図７】
2007109197.tif 000009
【図８】
2007109197.tif 000010
【図９】
2007109197.tif 000011
【図１０】
2007109197.tif 000012
【図１１】
2007109197.tif 000013
【図１２】
2007109197.tif 000014
【図１３】
2007109197.tif 000015
【図１４】
2007109197.tif 000016
【図１５】
2007109197.tif 000017
【図１６】
2007109197.tif 000018
【図１７】
2007109197.tif 000019
【図１８】
2007109197.tif 000020
【図１９】
2007109197.tif 000021
【図２０】
2007109197.tif 000022
【図２１】
2007109197.tif 000023
【図２２】
2007109197.tif 000024
【図２３】
2007109197.tif 000025
【図２４】
2007109197.tif 000026
【図２５】
2007109197.tif 000027
【図２６】
2007109197.tif 000028
【図２７】
2007109197.tif 000029