半導体集積回路装置およびアドレス変換テーブルの生成方法
【課題】初期化動作の時間を大幅に低減し、不揮発性半導体メモリの高速化を実現する。
【解決手段】不揮発性半導体メモリ2のメモリアレイMAは、データが格納されるデータ格納領域、プログラムが格納されるプログラム格納領域、およびプログラム格納領域のアドレス変換テーブルが格納されるテーブルブロックからなる。記憶装置1のパワーオンリセットにおいて、プログラム格納領域が設定されている場合には、テーブルブロックのアドレス変換テーブルを読み出し、レディ状態となり、プログラム格納領域PSAのリードが可能となる。その後、データ格納領域のイニシャライズ動作を行うことで、該データ格納領域のアドレス変換テーブルが生成され、データ格納領域のアクセスが可能となる。
【解決手段】不揮発性半導体メモリ2のメモリアレイMAは、データが格納されるデータ格納領域、プログラムが格納されるプログラム格納領域、およびプログラム格納領域のアドレス変換テーブルが格納されるテーブルブロックからなる。記憶装置1のパワーオンリセットにおいて、プログラム格納領域が設定されている場合には、テーブルブロックのアドレス変換テーブルを読み出し、レディ状態となり、プログラム格納領域PSAのリードが可能となる。その後、データ格納領域のイニシャライズ動作を行うことで、該データ格納領域のアドレス変換テーブルが生成され、データ格納領域のアクセスが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置における高速動作技術に関し、特に、不揮発性半導体メモリのパワーオンリセット処理の時間短縮に適用して有効な技術に関するものである。
【背景技術】
【0002】
パーソナルコンピュータや多機能端末機などの記憶装置として、たとえば、マルチメディアカード(登録商標)やCF(Compact Flash)カードなどのメモリカードが広く普及している。
【0003】
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性半導体メモリが用いられている。
【0004】
この不揮発性半導体メモリにおいては、たとえば、ホスト機器から指定された論理アドレスから、該不揮発性半導体メモリの物理アドレスへの変換を管理するアドレス変換テーブルを備えたものが知られている。
【0005】
アドレス変換テーブルは、たとえば、不揮発性半導体メモリの初期化動作(パワーオンリセット動作)毎に生成されており、生成されたアドレス変換テーブルは、該不揮発性半導体メモリの制御を行うコントローラに設けられたワークRAM(Random Access Meory)などの半導体メモリに格納される。
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところが、上記のような不揮発性半導体メモリのアドレス変換テーブルの生成技術では、次のような問題点があることが本発明者により見い出された。
【0007】
すなわち、アドレス変換テーブルを生成する際、メモリアレイのすべてのブロックにおける管理データの読み出しが必要となるので、不揮発性半導体メモリの初期化時間が長くなってしまうという問題がある。それによって、不揮発性半導体メモリの高速化を妨げてしまう恐れがある。
【0008】
本発明の目的は、初期化動作の時間を大幅に低減し、不揮発性半導体メモリの高速化を実現することのできる技術を提供することにある。
【0009】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0010】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0011】
本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、該不揮発性半導体メモリのメモリ領域は、たとえばプログラム格納に用いられデータの更新が許可されない第1状態に設定された領域と、たとえばデータ格納に用いられるデータの更新が許可される第2状態に設定された領域と、第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、コントローラは、初期化動作前に予め生成した第1状態に設定された領域のアドレス変換テーブルをテーブルブロックに格納し、第2状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成するものである。
【0012】
また、本発明は、前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ設けられているものである。
【0013】
さらに、本発明は、前記コントローラが、第1状態に設定された領域を所定の単位で任意の領域に設定するものである。
【0014】
また、本発明は、前記コントローラが、第1状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うものである。
【0015】
さらに、本発明は、前記コントローラが、テーブルブロックに格納された第1状態に設定された領域のアドレス変換テーブルを読み出した際に、第1状態に設定された領域へのアクセスを許可するものである。
【0016】
また、本発明は、不揮発性半導体メモリの第2状態に設定された領域が、第1の領域と第2の領域とに任意に分割されており、前記コントローラは、第1の領域のアドレス変換テーブルを初期化動作毎に生成し、第2の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成するものである。
【0017】
さらに、本発明は、前記コントローラが、第2状態に設定された領域におけるアドレス変換テーブルの生成中に、第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第1状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【0018】
また、本発明は、前記コントローラが、外部入力されるリードコマンドを受け付けた際に、第1状態に設定された領域から読み出したデータを、不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に第2状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【0019】
また、本願のその他の発明の概要を簡単に示す。
【0020】
本発明は、不揮発性半導体メモリのメモリ領域を、第1状態に設定された領域と第2状態に設定された領域とに任意に分割し、第1状態に設定された領域については、第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成してメモリ領域に格納し、第2状態に設定された領域については、初期化動作毎にアドレス変換テーブルを生成するものである。
【0021】
また、本発明は、前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ領域設定を行うものである。
【0022】
さらに、本発明は、前記第1状態に設定された領域が、ストリング単位で領域設定を行うものである。
【0023】
また、本発明は、前記第1状態に設定された領域が、外部から入力されたコマンドに基づいて領域が設定されるものである。
【0024】
さらに、本発明は、初期化動作の際に、前記メモリ領域に格納された第1状態に設定された領域のアドレス変換テーブルを読み出して第1状態に設定された領域へのアクセスを可能としてから、第2状態に設定された領域のアドレス変換テーブルを生成するものである。
【0025】
また、本発明は、前記不揮発性半導体メモリの第2状態に設定された領域を第1の領域と第2の領域とに任意に分割し、前記第1の領域のアドレス変換テーブルは初期化動作毎に生成し、第2の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成するものである。
【0026】
さらに、本発明は、前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第1状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【0027】
また、本発明は、外部入力されたリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【発明の効果】
【0028】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0029】
(1)不揮発性半導体メモリを備えた半導体集積回路装置の初期化動作の時間を大幅に短縮することができる。
【0030】
(2)上記(1)により、半導体集積回路装置の性能を向上させることができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0032】
(実施の形態1)
図1は、本発明の実施の形態1による記憶装置のブロック図、図2は、図1の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図、図3は、図2のメモリアレイにおけるメモリ領域の構成例を示す説明図、図4は、図3のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図、図5は、図3のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図、図6は、図3のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャート、図7は、図3のメモリアレイにおいてプログラム格納領域の設定後のPSAロック状態の信号サイクルを示すタイミングチャート、図8は、図3のメモリアレイのPSAアンフォーマットを行う際の信号サイクルを示すタイミングチャート、図9は、図3のメモリアレイのPSAアンロックを行う際の信号サイクルを示すタイミングチャート、図10は、図1の記憶装置におけるPSAフォーマットの処理例を示すフローチャート、図11は、図1の記憶装置におけるPSAロックの処理例を示すフローチャート、図12は、図1の記憶装置におけるPSAアンロックの処理例を示すフローチャート、図13は、図1の記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャート、図14は、図1の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャート、図15は、図1の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャート、図16は、図1の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【0033】
本実施の形態1において、記憶装置(半導体集積回路装置)1は、図1に示すように、フラッシュメモリに例示される電気的にデータの書き換え、消去が可能な不揮発性半導体メモリ2、およびコントローラ3から構成されている。
【0034】
このコントローラ3は、ホストインタフェース4、CPU5、CUI(Command User Interface)6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11などから構成されている。
【0035】
コントローラ3は、不揮発性半導体メモリ2の制御を司り、該不揮発性半導体メモリ2に格納されたプログラムやデータなどを読み出してホスト機器へ出力し、またはホスト機器から入力されたプログラムやデータの書き込み動作指示を行う。
【0036】
ホストインタフェース4は、ホスト機器とCPU5とのインタフェースである。CPU5は、コントローラ3におけるすべての制御を司る。CUI6は、ホストからのコマンドを解釈し、CPU5を起動する。
【0037】
ライトバッファ7は、ホストからの読み出しデータを一時的に格納する。リードバッファ8は、不揮発性半導体メモリ2からの読み出しデータを一時的に格納する。
【0038】
ECC部9は、ECC(Error Chek and Correction)コードの生成、ならびに不揮発性半導体メモリ2に書き込み/読み出しされるデータのECCエラーチェックと訂正を行う。
【0039】
ワークメモリ10は、たとえば、RAMなどの半導体メモリからなり、CPU5のワーク領域のメモリとして用いられる。メモリインタフェース11は、CPU5と不揮発性半導体メモリ2とのインタフェースである。
【0040】
図2は、不揮発性半導体メモリ2におけるメモリアレイ(記憶領域)MAの一例を示した説明図である。
【0041】
図示するように、メモリアレイMAは、グローバルビット線GBLに複数のサブビット線SBLが選択用トランジスタTrを介して接続されるアレイ構造からなり、それらサブビット線SBLに、不揮発性メモリセルSがそれぞれ接続された構成からなる。
【0042】
サブデータ線SBLには、256本のワード線WL分の不揮発性メモリセルSが接続されており、この単位を1ストリングという。
【0043】
図3は、不揮発性半導体メモリ2のメモリアレイMAにおけるメモリ領域の構成例を示す説明図である。
【0044】
メモリアレイMAは、たとえば、4つのバンクBank0〜Bank3に分割された4バンク構成からなる。バンクBank0〜Bank3には、データ格納領域DSA、およびプログラム格納領域PSA、およびテーブルブロックTBから構成されている。
【0045】
データ格納領域DSAは、データが格納される領域であり、プログラム格納領域PSAは、プログラムが格納される領域である。また、テーブルブロックTBは、プログラム格納領域PSAにおけるアドレス変換テーブルが格納される領域である。
【0046】
データ格納領域DSA、プログラム格納領域PSA、およびテーブルブロックTBにおいて、管理部(図3のハッチングで示した部分)KがセクタSc毎にそれぞれ備えられている。ここで、セクタScは、データ格納最小単位であり、16セクタ(4バンク列×4行)で1つのブロック(消去の最小単位)Bを構成する。
【0047】
管理部Kには、各々のブロックの管理情報が格納されている。この管理情報は、同じ行のセクタでは、バンクが異なっていても同じものが格納されており、行が異なると管理情報の内容が異なる。
【0048】
プログラム格納領域PSAの領域は任意に設定され、該プログラム格納領域PSAを設定した際に、論理アドレス/物理アドレスの変換テーブルデータを格納するテーブルブロックTBが準備されることになる。ここで、テーブルブロックTBのアドレスは、予め指定したアドレスでもよいし、簡単に検索することが可能なアドレスとしてもよい。
【0049】
図4は、管理部Kにおける管理情報のデータ定義例を示した説明図である。
【0050】
この図4においては、プログラム格納領域PSAの処理に関係している管理部のみを記載しており、上方に4行目のセクタの管理部を、その下方に1行目のセクタの管理部をそれぞれ示している。
【0051】
図示するように、4行目のセクタの管理部には、テーブルブロックのアドレスを格納する領域が備えられている。ただし、テーブルブロックのアドレスが実際に書き込まれているのは、最下位アドレスの良ブロックだけである。
【0052】
その他のブロックにおける4行目のセクタの管理部のテーブルブロックアドレスを書き込む領域は消去状態(’FFh’)となっている。つまり、テーブルブロックとして使用されるブロックを検索するには、最下位アドレスの良ブロックの4行目のセクタの管理部を読み出せばよいことになる。
【0053】
テーブルブロックとして選択されたブロックには、1行目のセクタの管理部にコード’71h’を書き込むことでテーブル用のブロックとして認識される。また、1行目のセクタの管理部には、プログラム格納領域PSAの領域サイズ、プログラム格納領域PSAのロック判定ビットなども格納される。
【0054】
図5は、不揮発性半導体メモリ2のメモリアレイMAにプログラム格納領域PSAを設定する際の状態遷移を示す説明図である。
【0055】
プログラム格納領域PSAは、たとえば、プログラム格納領域PSAの領域を設定するPSA設定コマンドの入力によって設定される。不揮発性半導体メモリ2は、保護制御信号(Protect Control Enable)PCEが入力される制御ピンが備えられている。
【0056】
そして、その制御ピンに、たとえば、Hiレベルの保護制御信号PCEが入力された際に、PSA設定コマンドを受け付け、該保護制御信号PCEがLowレベルの場合には、PSA設定コマンドを受け付けない。
【0057】
メモリアレイMAは、図示するように、PSA設定前の状態(状態J1)、PSAフォーマット状態(状態J2)、およびPSAロック状態(状態J3)の3つの状態が存在する。
【0058】
PSA設定前の状態(状態J1)は、PSA設定コマンドによってプログラム格納領域PSAの領域設定がされていない状態であり、消去/書き込みが可能な状態となっている(全領域がDSA領域)。PSAフォーマット状態(状態J2)は、PSA設定コマンドによってプログラム格納領域PSAの領域設定がなされた状態である。この状態J2でも、データ保護は無効であり、消去/書き込みが可能な状態となっている(PSA設定されるが動作は全領域DSA領域)。
【0059】
PSAロック状態(状態J3)は、設定されたプログラム格納領域PSAにロック(PSAロック)がかかり、データ保護が有効になった状態であり、プログラム格納領域PSAにおいて消去/書き込みが不可となる(PSA設定された領域がPSA領域として動作)。
【0060】
状態J3では、ロックを解除(PSAアンロック)することにより、状態J2に遷移することができる。また、状態J2,J3においては、プログラム格納領域PSAの設定を解除(PSAアンフォーマット)することにより、状態J1の状態に遷移させることができる。
【0061】
図6は、プログラム格納領域PSAの領域設定を行う際の信号サイクルを示すタイミングチャートである。
【0062】
図6において、上方から下方にかけて、コマンドラッチイネーブルCLE、チップイネーブル/CE、ライトイネーブル/WE、アドレスラッチイネーブルALE、リードイネーブル/RE、保護制御信号PCE、レディビジーR/B、および入力されるコマンドであるデータDinをそれぞれ示している。なお、これらの各制御信号において、スラッシュ(/)を付している各記号は反転信号である。
【0063】
この場合、保護制御信号PCEがHiレベルとなった後、プログラム格納領域PSAの領域を設定するデータDinとしてコマンド’B0H’、’M’、’D0H’が順次入力される。
【0064】
コマンド’M’が、指定領域を設定するものであり、プログラム格納領域PSAの領域設定は、たとえば、ストリング単位であり、ストリングの個数を入力する。そして、プログラム格納領域PSAの領域設定を行うコマンドが入力された後、プログラム格納領域PSAの領域設定が完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0065】
図7は、プログラム格納領域PSAの領域設定後におけるPSAロック状態の信号サイクルを示すタイミングチャートである。なお、この図7も含め、以下に示す図8、図9において、上方から下方にかけて示す信号は同一である。
【0066】
図7において、保護制御信号PCEがHiレベルとなった後、設定されたプログラム格納領域PSAのデータ保護を有効とするロックを行うデータDinとしてコマンド’B1H’、’D0H’が順次入力される。
【0067】
ここでも、PSAロック状態を設定するコマンドが入力された後、プログラム格納領域PSAのロック設定が完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0068】
図8は、PSAアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【0069】
PSAアンフォーマットを行う場合のコマンドは、’BFH’、’D0H’であり、図6、図7と同様に、PSAアンフォーマットを行うコマンドが入力された後、PSAアンフォーマットが完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0070】
図9は、PSAアンロックを行う際の信号サイクルを示すタイミングチャートである。
【0071】
PSAアンロックを行う場合のコマンドは、’BEH’、’D0H’となる。そして、図6〜図8と同様に、PSAアンロックを行うコマンドが入力された後、PSAアンロックが完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0072】
図10は、記憶装置1におけるPSAフォーマットの処理例を示すフローチャートである。
【0073】
まず、メモリアレイMAにおいて、プログラム格納領域PSAの領域が設定されているか否かを判定する(ステップS101)。このステップS101の処理において、プログラム格納領域PSAの領域が設定されている(PSAフォーマット済み)場合には、PSAフォーマット処理を終了する。
【0074】
また、ステップS101の処理において、PSAフォーマット済みでない場合、テーブルブロックとして使用するブロックを検索し(ステップS102)、管理部にテーブルブロックであることを示すコード、ならびにその領域サイズを書き込む(ステップS103)。
【0075】
続いて、検索したテーブルブロックのアドレス情報を、たとえば、最下位アドレスの良ブロックの管理部などの予め設定した位置に書き込みを行う(ステップS104)。
【0076】
図11は、記憶装置1におけるPSAロックの処理例を示すフローチャートである。
【0077】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS201)、未フォーマットであるなら処理を終了する。ステップS201の処理で、フォーマット済みである場合には、プログラム格納領域PSAがロックされているか否かを判定し(ステップS202)、ロック済みの場合には、処理が終了となる。
【0078】
続いて、プログラム格納領域PSAの論理アドレスと物理アドレスとの対応付けを行い、論理アドレスから、不揮発性半導体メモリ2の物理アドレスへの変換を管理するアドレス変換テーブルを生成する(ステップS203)。
【0079】
そして、テーブルブロックに生成したアドレス変換テーブルの書き込みを行う(ステップS204)。このとき、テーブルブロックの管理部には、PSAロック判定ビットの書き込みも行われる。
【0080】
その後、書き込みが完了したか否かの判断を行い(ステップS205)。完了した場合には処理が終了となり、書き込みに失敗した場合には、新たなテーブルブロックを設け、テーブルデータの書き込みを行う。
【0081】
図12は、記憶装置1におけるPSAアンロックの処理例を示すフローチャートである。
【0082】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS301)する。プログラム格納領域PSAがフォーマット済みの場合には、プログラム格納領域PSAがロックされているかを判定する(ステップS302)。
【0083】
ステップS301の処理において、プログラム格納領域PSAがフォーマットされていない場合、およびステップS302の処理でプログラム格納領域PSAがロックされていない場合には、処理を終了する。
【0084】
また、ステップS302の処理において、プログラム格納領域PSAがロックされている場合には、テーブルブロックに格納されているデータを消去する(ステップS303)。この場合、管理部には、テーブルブロックを示すコード、およびプログラム格納領域PSAの領域サイズのデータがかかれた状態であり、ロック判定ビットが消去される。これにより、PSAフォーマット状態に戻されることになる。
【0085】
図13は、記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャートである。
【0086】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS401)、該プログラム格納領域PSAが未フォーマットの場合には、処理が終了となる。
【0087】
プログラム格納領域PSAがフォーマット済みの場合、テーブルブロックの検索を行い(ステップS402)、検索したテーブルブロックの登録を解消する(ステップS403)。
【0088】
図14は、記憶装置1のプログラム格納領域PSAの領域設定時におけるパワーオンリセット(初期化動作)の処理例とプログラム格納領域PSAの状態とを示すフローチャートである。
【0089】
図14において、左側は、プログラム格納領域PSAの領域設定時におけるパワーオンリセットの処理フローを示しており、右側は、プログラム格納領域PSAの領域設定時におけるプログラム格納領域PSAの領域の状態を示している。
【0090】
まず、パワーオンによって、リセット信号が入力される(ステップS501)。PSAロックが設定されている場合には、テーブルブロックのアドレス変換テーブルの読み出しを行い(ステップS502)、レディ状態となる(ステップS503)。
【0091】
このステップS503の処理後、プログラム格納領域PSAはリードが可能となる。一方、データ格納領域DSAは、アクセスが不可の状態となっている。
【0092】
そして、データ格納領域DSAのイニシャライズ動作を行うことで(ステップS504)、データ格納領域DSAのアドレス変換テーブルが生成される。
【0093】
それによって、不揮発性半導体メモリ2はレディ状態となり、プログラム格納領域PSAのリードが可能であるとともに、データ格納領域DSAのアクセスが可能な状態となる。
【0094】
また、プログラム格納領域PSAのロックが設定されていない場合(PSAフォーマット、またはPSAアンフォーマット)には、データ格納領域DSAのイニシャライズ動作を行い(ステップS505)、すべてのセクタの管理部をリードし、アドレス変換テーブルを作成する。ステップS505が終了すると、不揮発性半導体メモリ2はレディ状態となり、データ格納領域DSAのアクセスが可能な状態となる。
【0095】
図15は、データ格納領域DSAのイニシャライズの処理例を示すフローチャートである。
【0096】
まず、ロックされていないプログラム格納領域PSA、およびデータ格納領域DSAにおけるすべての管理部のリードを行う(ステップS601)。その後、データ格納領域DSAのアドレス変換テーブルを生成し(ステップS602)、生成したアドレス変換テーブルをワークメモリ10に格納する。
【0097】
図16は、記憶装置1を用いて構成した電子システムの一例を示したブロック図である。
【0098】
図示するように、記憶装置1は、たとえば、ホスト機器のプロセッサPr、およびキャッシュメモリChとバスBを介して相互接続される。記憶装置1の不揮発性半導体メモリ2には、たとえば、ホスト用のプログラムやデータが格納されており、パワーオン時には、該ホスト用のプログラムが不揮発性半導体メモリ2から読み出され、たとえば、SRAM(Static Random Access Memory)/SDRAM(Synchronous Dynamic RAM)などからなるキャッシュメモリChに転送される。
【0099】
よって、パワーオン時には、プログラムを格納するプログラム格納領域PSAのみのアクセスが可能になればよく、データ格納領域DSAのイニシャライズを電子システムのプロセッサPrの初期化時などのバックグラウンドで行うことが可能となる。
【0100】
それにより、本実施の形態1によれば、記憶装置1におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0101】
(実施の形態2)
図17は、本発明の実施の形態2による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図、図18は、図17のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャート、図19は、図18アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【0102】
本実施の形態2において、記憶装置1は、前記実施の形態1の図1と同じであり、不揮発性半導体メモリ2、およびコントローラ3から構成されており、該コントローラ3は、ホストインタフェース4、CPU5、CUI6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11から構成されている。
【0103】
図17は、記憶装置1のパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【0104】
この場合、図示するように、不揮発性半導体メモリ2のデータ格納領域DSAは、2つのデータ格納領域DSA1,DSA2に任意に分割されている。そして、記憶装置1のパワーオンリセット処理時には、データ格納領域DSA1のアドレス変換テーブルのみが生成される。これらデータ格納領域DSA1,DSA2の領域設定は、たとえば、ホスト機器からの設定コマンドの入力によって設定される。
【0105】
そして、データ格納領域DSA1のアドレス変換テーブルの生成が終了し、ホスト機器からデータ格納領域DSA2のアドレス変換テーブルを生成するコマンドが出力されると、そのコマンドを受けて、データ格納領域DSA2のアドレス変換テーブルが生成される。
【0106】
次に、データ格納領域DSA1におけるアドレス変換テーブルの生成例を、図18のフローチャートを用いて説明する。なお、この図18に示す処理は、図14のステップS504の処理において行われるものである。
【0107】
まず、パワーオンによってリセット信号が入力される(ステップS601)、図14のステップS503の処理が終了すると、データ格納領域DSA1の管理部をリードし(ステップS602)、該データ格納領域DSA1における先頭ブロックのアドレス変換テーブルを作成する。
【0108】
作成されたアドレス変換テーブルは、ワークメモリ10に格納される(ステップS603)。そして、データ格納領域DSA1における最終ブロックのアドレス変換テーブルが生成されるまでステップS602,S603の処理を繰り返す(ステップSS604)。データ格納領域DSA1のすべてのアドレス変換テーブルが生成されると、データ格納領域DSA1におけるアドレス変換テーブルの生成処理が終了となる。
【0109】
また、データ領域格納DSA2におけるアドレス変換テーブルの生成例を、図19のフローチャートを用いて説明する。
【0110】
図18に示したデータ格納領域DSA1におけるアドレス変換テーブルの生成処理が終了した後、ホスト機器から、データ格納領域DSA2のアドレス変換テーブルを生成するコマンドが入力されると(ステップS701)、それを受けて、不揮発性半導体メモリ2におけるデータ格納領域DSA2の管理部をリードし(ステップS702)、該データ格納領域DSA2における先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルを、ワークメモリ10に格納する(ステップS703)。
【0111】
そして、データ格納領域DSA2の最終ブロックのアドレス変換テーブルが生成されるまでステップS702,S703の処理を繰り返し行う(ステップS704)。データ格納領域DSA2のすべてのブロックのアドレス変換テーブルが生成されると、データ格納領域DSA2におけるアドレス変換テーブルの生成処理が終了となる。
【0112】
それにより、本実施の形態2おいても、記憶装置1におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0113】
また、本実施の形態2では、不揮発性半導体メモリ2のメモリ領域を任意の2つのデータ格納領域DSA1,DSA2に分割するものとしたが、たとえば、記憶装置1が複数の不揮発性半導体メモリを備える場合には、パワーオン時にアドレス変換テーブルが生成する不揮発性半導体メモリと、ホスト機器からのコマンド入力後にアドレス変換テーブルを生成する不揮発性半導体メモリとを予め設定しておくようにしてもよい。
【0114】
図20は、たとえば、2つの不揮発性半導体メモリを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【0115】
この場合、図示するように、パワーオンリセット処理時に、予め設定された一方の不揮発性半導体メモリ2のデータ格納領域DSAのアドレス変換テーブルが生成される。その後、ホスト機器からアドレス変換テーブルを生成するコマンドが出力されると、他方の不揮発性半導体メモリ2aにおけるデータ格納領域DSAのアドレス変換テーブルが生成される。
【0116】
よって、ワークメモリ10には、図20の右側に示すような、不揮発性半導体メモリ22aのアドレス変換テーブルが生成される。
【0117】
図21は、2つの不揮発性半導体メモリ2,2aを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したフローチャートである。
【0118】
まず、パワーオンによって(ステップS801)リセット信号が入力され、図14のステップS503の処理が終了すると、不揮発性半導体メモリ2のデータ格納領域DSAにおける管理部をリードし(ステップS802)、該不揮発性半導体メモリ2における先頭ブロックのアドレス変換テーブルを作成する。
【0119】
作成されたアドレス変換テーブルは、ワークメモリ10に格納される(ステップS803)。そして、不揮発性半導体メモリ2におけるすべてのブロックのアドレス変換テーブルが生成されるまでステップS802,S803の処理を繰り返す(ステップS804)。
【0120】
不揮発性半導体メモリ2におけるすべてブロックのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【0121】
また、他方の不揮発性半導体メモリ2aにおけるアドレス変換テーブルの生成例を、図22のフローチャートを用いて説明する。
【0122】
図21に示したアドレス変換テーブルの生成処理が終了した後、ホスト機器から、不揮発性半導体メモリ2aのアドレス変換テーブルを生成するコマンドが入力されると(ステップS901)、それを受けて、不揮発性半導体メモリ2aにおけるデータ格納領域DSAの管理部をリードし(ステップS902)、該不揮発性半導体メモリ2aにおける先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルをワークメモリ10に格納する(ステップS903)。
【0123】
他方の不揮発性半導体メモリの最終ブロックのアドレス変換テーブルが生成されるまでステップS902,S903の処理を繰り返す(ステップS904)。そして、他方の不揮発性半導体メモリのすべてのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【0124】
それにより、複数の不揮発性半導体メモリを備えた記憶装置であっても、該記憶装置におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0125】
(実施の形態3)
図23は、本発明の実施の形態3による記憶装置のパワーオンリセット処理を示したフローチャート、図24は、図23に示すステップS1002,S1003の処理の詳細なフローチャート、図25は、図24の処理における記憶装置の信号タイミングチャートである。
【0126】
本実施の形態3でも、記憶装置1は、前記実施の形態1の図1と同じであり、不揮発性半導体メモリ2、およびコントローラ3から構成されており、該コントローラ3は、ホストインタフェース4、CPU5、CUI6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11から構成されている。
【0127】
本実施の形態3において、コントローラ3は、データ格納領域DSAにおけるアドレス変換テーブルの生成中に、プログラム格納領域PSAのリードコマンドを受け付ける機能を有している。
【0128】
次に、記憶装置1によるパワーオンリセット処理について、図23のフローチャートを用いて説明する。
【0129】
まず、電源が投入され、不揮発性半導体メモリ2の処理化が終了する(ステップS1001)。このステップS1001の処理では、図23の右上側に示すように、プログラム格納領域PSAのアドレス変換テーブルが生成される。
【0130】
その後、ホスト機器から、データ格納領域DSAのアドレス変換テーブルを生成するコマンドが投入された後(ステップS1002)、プログラム格納領域PSAのプログラムがワークメモリ10に展開される(ステップS1003)。
【0131】
このステップS1002,S1003の処理では、図23の右上側に示すように、データ格納領域DSAのアドレス変換テーブルが生成され、ステップS1003の処理では、プログラム格納領域PSAのプログラムが読み出される。また、ステップS1003の処理では、点線で囲んだ範囲に示すように、データ格納領域DSAのアドレス変換テーブルの生成がプログラム格納領域PSAからのプログラムの読み出しのバックグランドで行われるように処理される。
【0132】
そして、ワークメモリ10に展開されたプログラムによる記憶装置1の初期化動作が行われて(ステップS1004)、初期化が終了となる。
【0133】
続いて、図23のステップS1002,S1003の処理について、図24のフローチャート、ならびに図25のタイミングチャートを用いて詳しく説明する。
【0134】
図24においては、上方から下方にかけて、ホスト機器から出力されるコマンド、ホスト機器から出力されるデータ読み出し用のクロック信号CLK、およびコントローラ3から出力されるレディ/ビジーR/B、およびコントローラ3の内部動作状態、割り込みリクエスト信号のタイミングをそれぞれ示している。
【0135】
まず、ホスト機器から、データ格納領域DSAにおけるアドレス変換テーブルを生成するコマンドを受けると、記憶装置1は、図24の(A)に示すルーチン処理を開始し、プログラム格納領域リードコマンドが発行されたか否かを判断する(ステップS1101)。
【0136】
ステップS1001の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ3は、ホスト機器からはバックグランド動作として見なせるようにレディビジーR/Bを’Hi’としてレディ(Ready)状態とし、データ格納領域DSAの管理部のデータを読み出し(ステップS1102)、1ブロック分のアドレス変換テーブルを作成してワークメモリ10に格納する(ステップS1103)。
【0137】
続いて、ステップS1101の処理に戻り、プログラム格納領域リードコマンドがステップS1102,S1103の処理中に発行されたか否かを判断する。
【0138】
ホスト機器からプログラム格納領域リードコマンドが発行されている場合、コントローラ3内部では、割り込みリクエスト信号のフラグが’Hi’となる。このとき、コントローラ3は、レディビジーR/Bをビジーとして図24の(B)に示すルーチン処理を割り込ませ、割り込みリクエスト信号のフラグをリセット(’Lo’)する。
【0139】
続いて、コントローラ3は、プログラム格納領域PSAのデータを読み出す(ステップS1104)。そして、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると(ステップS1105)、再びレディ/ビジーR/Bをレディとし、ホスト機器からのセカンドアクセス用のコマンドを受け付けられる状態にする。
(B)のルーチン処理が終了すると、ステップS1102,S1103の処理を行う。(A)のルーチン処理は、データ格納領域DSAにおけるアドレス変換テーブルが完成するまで行われる(ステップS1106)。
【0140】
このとき、ホスト機器からセカンドアクセス用のコマンドが発行されると、コントローラ3は、アドレス変換テーブルを生成する(A)のルーチン処理を行いながら、ホスト機器からのデータ読み出し用のクロック信号CLKに基づいて、読み出しデータをホスト機器に転送する。
【0141】
プログラム格納領域PSAのデータの読み出し動作は、データ格納領域DSAからのデータ読み出しと同様に、ファーストアクセス、およびセカンドアクセスからなる。ファーストアクセスでは、コントローラ3によって不揮発性半導体メモリ2から読み出したデータがリードバッファ8まで転送される。
【0142】
そして、セカンドアクセスでは、リードバッファ8に格納されたデータがクロック信号CLKによってホストへ読み出される。このセカンドアクセスの間、コントローラ3は、読み出し動作としてはフリーの状態であり、他の内部動作を行うことが可能な状態となる。
【0143】
よって、セカンドアクセスのフリーの状態を利用してアドレス変換テーブルの生成を継続して行うことができる。
【0144】
なお、この場合、データ格納領域DSAにおけるアドレス変換テーブルの生成完了を知るために、ステータスリードコマンドを設ける。任意の回数のプログラム格納領域PSAのデータの読み出しが終了し、ホスト機器がデータ格納領域DSAにアクセスしたい場合には、該ホスト機器がステータスリードコマンドを出力し、データ格納領域DSAのアドレス変換テーブルの生成が完了したことを確認してから行われることになる。
【0145】
それにより、本実施の形態3においては、データ格納領域DSAにおけるアドレス変換テーブルの生成中にプログラム格納領域PSAのデータを読み出すことが可能となる。
【0146】
また、プログラム格納領域PSAのデータを読み出しながら、データ格納領域DSAにおけるアドレス変換テーブルを生成することが可能となるので、より短時間でデータ格納領域DSAへアクセスすることができる。
【0147】
さらに、本実施の形態では、1つの不揮発性半導体メモリのメモリ領域をプログラム格納領域PSAとデータ格納領域DSAとに分割した場合について記載したが、たとえば、図26に示すように、記憶装置1に2つの不揮発性半導体メモリ2,2aを備え、一方の不揮発性半導体メモリ2のメモリ領域をプログラム格納領域PSAとし、他方の不揮発性半導体メモリ2aのメモリ領域をデータ格納領域DSAとするようにしてもよい。
【0148】
この場合、図26の記憶装置1は、不揮発性半導体メモリ2aが新たにメモリインタフェース11に接続されており、その他の接続構成は、図1に示す記憶装置1と同じとなっている。
【0149】
図27は、図26に示す記憶装置1におけるデータ格納領域DSAのアドレス変換テーブル生成における処理例を示すフローチャートである。
【0150】
まず、ホスト機器から、データ格納領域DSAにおけるアドレス変換テーブルを生成するコマンドを受けると、コントローラ3は、プログラム格納領域リードコマンドが発行されたか否かを判断する(ステップS1201)。
【0151】
ステップS1201の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ3は、不揮発性半導体メモリ2aの管理部を読み出し(ステップS1203)、生成したアドレス変換テーブルをワークメモリ10に登録する(ステップS1203)。
【0152】
また、ステップS1201の処理において、プログラム格納領域リードコマンドが発行されている場合には、不揮発性半導体メモリ2aの管理部を読み出してアドレス変換テーブルを生成する処理と、プログラム格納領域PSAのデータを読み出しとを並列して行う(ステップS1204)。
【0153】
続いて、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると(ステップS1205)、ステップS1203の処理を行う。これらステップS1201〜S1205の処理は、、不揮発性半導体メモリ2aのデータ格納領域DSAにおけるアドレス変換テーブルが完成するまで行われる(ステップS1206)。
【0154】
それにより、不揮発性半導体メモリ2のプログラム格納領域PSAからの読み出しと、不揮発性半導体メモリ2aにおけるデータ格納領域DSAの管理部の読み出しを並列して行うことができるので、不揮発性半導体メモリ2,2aのファーストアクセスののべ時間を短縮することができる。
【0155】
また、図26では、1つのCPU5によって不揮発性半導体メモリ2,2aを制御する構成としたが、2つのCPUを設け、各々のCPUでそれぞれの不揮発性半導体メモリを個別に制御する構成としてもよい。
【0156】
それにより、時分割で行われていたプログラム格納領域PSAの読み出しとデータ格納領域DSAにおけるアドレス変換テーブルの生成とを並列して処理することができるので、より動作時間を短縮することができる。
【0157】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0158】
本発明は、不揮発性半導体メモリにおける初期化動作時間の短縮技術に適している。
【図面の簡単な説明】
【0159】
【図1】本発明の実施の形態1による記憶装置のブロック図である。
【図2】図2の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図である。
【図3】図2のメモリアレイにおけるメモリ領域の構成例を示す説明図である。
【図4】図3のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図である。
【図5】図3のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図である。
【図6】図3のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャートである。
【図7】図3のメモリアレイにおいてプログラム格納領域の設定後のPSAロック状態の信号サイクルを示すタイミングチャートである。
【図8】図3のメモリアレイのPSAアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【図9】図3のメモリアレイのPSAアンロックを行う際の信号サイクルを示すタイミングチャートである。
【図10】図1の記憶装置におけるPSAフォーマットの処理例を示すフローチャートである。
【図11】図1の記憶装置におけるPSAロックの処理例を示すフローチャートである。
【図12】図1の記憶装置におけるPSAアンロックの処理例を示すフローチャートである。
【図13】図1の記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャートである。
【図14】図1の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャートである。
【図15】図1の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャートである。
【図16】図1の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【図17】本発明の実施の形態2による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図である。
【図18】図17のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャートである。
【図19】図18アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【図20】本発明の他の実施の形態による記憶装置のパワーオン時に生成されるアドレス変換テーブルの生成例を示した説明図である。
【図21】図20のアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図22】図21に続くアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図23】本発明の実施の形態3による記憶装置のパワーオンリセット処理を示したフローチャートである。
【図24】図23に示すステップS1002,S1003の処理の詳細なフローチャートである。
【図25】図24の処理における記憶装置の信号タイミングチャートである。
【図26】本発明の他の実施の形態による記憶装置のブロック図である。
【図27】図26の記憶装置におけるアドレス変換テーブル生成の処理例を示すフローチャートである。
【符号の説明】
【0160】
1 記憶装置(半導体集積回路装置)
2,2a 不揮発性半導体メモリ
3 コントローラ
4 ホストインタフェース
5 CPU
6 CUI
7 ライトバッファ
8 リードバッファ
9 ECC部
10 ワークメモリ
11 メモリインタフェース
MA メモリアレイ(記憶領域)
GBL グローバルビット線
SBL サブビット線
Tr 選択用トランジスタ
S 不揮発性メモリセル
Bank0〜Bank3 バンク
DSA データ格納領域
PSA プログラム格納領域
TB テーブルブロック
K 管理部
Sc セクタ
B ブロック
【技術分野】
【0001】
本発明は、記憶装置における高速動作技術に関し、特に、不揮発性半導体メモリのパワーオンリセット処理の時間短縮に適用して有効な技術に関するものである。
【背景技術】
【0002】
パーソナルコンピュータや多機能端末機などの記憶装置として、たとえば、マルチメディアカード(登録商標)やCF(Compact Flash)カードなどのメモリカードが広く普及している。
【0003】
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、たとえば、電気的に一括消去、書き換えが可能であり、大容量のデータを保持できるフラッシュメモリなどの不揮発性半導体メモリが用いられている。
【0004】
この不揮発性半導体メモリにおいては、たとえば、ホスト機器から指定された論理アドレスから、該不揮発性半導体メモリの物理アドレスへの変換を管理するアドレス変換テーブルを備えたものが知られている。
【0005】
アドレス変換テーブルは、たとえば、不揮発性半導体メモリの初期化動作(パワーオンリセット動作)毎に生成されており、生成されたアドレス変換テーブルは、該不揮発性半導体メモリの制御を行うコントローラに設けられたワークRAM(Random Access Meory)などの半導体メモリに格納される。
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところが、上記のような不揮発性半導体メモリのアドレス変換テーブルの生成技術では、次のような問題点があることが本発明者により見い出された。
【0007】
すなわち、アドレス変換テーブルを生成する際、メモリアレイのすべてのブロックにおける管理データの読み出しが必要となるので、不揮発性半導体メモリの初期化時間が長くなってしまうという問題がある。それによって、不揮発性半導体メモリの高速化を妨げてしまう恐れがある。
【0008】
本発明の目的は、初期化動作の時間を大幅に低減し、不揮発性半導体メモリの高速化を実現することのできる技術を提供することにある。
【0009】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0010】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0011】
本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、該不揮発性半導体メモリのメモリ領域は、たとえばプログラム格納に用いられデータの更新が許可されない第1状態に設定された領域と、たとえばデータ格納に用いられるデータの更新が許可される第2状態に設定された領域と、第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、コントローラは、初期化動作前に予め生成した第1状態に設定された領域のアドレス変換テーブルをテーブルブロックに格納し、第2状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成するものである。
【0012】
また、本発明は、前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ設けられているものである。
【0013】
さらに、本発明は、前記コントローラが、第1状態に設定された領域を所定の単位で任意の領域に設定するものである。
【0014】
また、本発明は、前記コントローラが、第1状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うものである。
【0015】
さらに、本発明は、前記コントローラが、テーブルブロックに格納された第1状態に設定された領域のアドレス変換テーブルを読み出した際に、第1状態に設定された領域へのアクセスを許可するものである。
【0016】
また、本発明は、不揮発性半導体メモリの第2状態に設定された領域が、第1の領域と第2の領域とに任意に分割されており、前記コントローラは、第1の領域のアドレス変換テーブルを初期化動作毎に生成し、第2の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成するものである。
【0017】
さらに、本発明は、前記コントローラが、第2状態に設定された領域におけるアドレス変換テーブルの生成中に、第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第1状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【0018】
また、本発明は、前記コントローラが、外部入力されるリードコマンドを受け付けた際に、第1状態に設定された領域から読み出したデータを、不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に第2状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【0019】
また、本願のその他の発明の概要を簡単に示す。
【0020】
本発明は、不揮発性半導体メモリのメモリ領域を、第1状態に設定された領域と第2状態に設定された領域とに任意に分割し、第1状態に設定された領域については、第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成してメモリ領域に格納し、第2状態に設定された領域については、初期化動作毎にアドレス変換テーブルを生成するものである。
【0021】
また、本発明は、前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ領域設定を行うものである。
【0022】
さらに、本発明は、前記第1状態に設定された領域が、ストリング単位で領域設定を行うものである。
【0023】
また、本発明は、前記第1状態に設定された領域が、外部から入力されたコマンドに基づいて領域が設定されるものである。
【0024】
さらに、本発明は、初期化動作の際に、前記メモリ領域に格納された第1状態に設定された領域のアドレス変換テーブルを読み出して第1状態に設定された領域へのアクセスを可能としてから、第2状態に設定された領域のアドレス変換テーブルを生成するものである。
【0025】
また、本発明は、前記不揮発性半導体メモリの第2状態に設定された領域を第1の領域と第2の領域とに任意に分割し、前記第1の領域のアドレス変換テーブルは初期化動作毎に生成し、第2の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成するものである。
【0026】
さらに、本発明は、前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、アドレス変換テーブルの生成と第1状態に設定された領域からのデータの読み出しとを時分割で行うものである。
【0027】
また、本発明は、外部入力されたリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成するものである。
【発明の効果】
【0028】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【0029】
(1)不揮発性半導体メモリを備えた半導体集積回路装置の初期化動作の時間を大幅に短縮することができる。
【0030】
(2)上記(1)により、半導体集積回路装置の性能を向上させることができる。
【発明を実施するための最良の形態】
【0031】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0032】
(実施の形態1)
図1は、本発明の実施の形態1による記憶装置のブロック図、図2は、図1の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図、図3は、図2のメモリアレイにおけるメモリ領域の構成例を示す説明図、図4は、図3のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図、図5は、図3のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図、図6は、図3のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャート、図7は、図3のメモリアレイにおいてプログラム格納領域の設定後のPSAロック状態の信号サイクルを示すタイミングチャート、図8は、図3のメモリアレイのPSAアンフォーマットを行う際の信号サイクルを示すタイミングチャート、図9は、図3のメモリアレイのPSAアンロックを行う際の信号サイクルを示すタイミングチャート、図10は、図1の記憶装置におけるPSAフォーマットの処理例を示すフローチャート、図11は、図1の記憶装置におけるPSAロックの処理例を示すフローチャート、図12は、図1の記憶装置におけるPSAアンロックの処理例を示すフローチャート、図13は、図1の記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャート、図14は、図1の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャート、図15は、図1の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャート、図16は、図1の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【0033】
本実施の形態1において、記憶装置(半導体集積回路装置)1は、図1に示すように、フラッシュメモリに例示される電気的にデータの書き換え、消去が可能な不揮発性半導体メモリ2、およびコントローラ3から構成されている。
【0034】
このコントローラ3は、ホストインタフェース4、CPU5、CUI(Command User Interface)6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11などから構成されている。
【0035】
コントローラ3は、不揮発性半導体メモリ2の制御を司り、該不揮発性半導体メモリ2に格納されたプログラムやデータなどを読み出してホスト機器へ出力し、またはホスト機器から入力されたプログラムやデータの書き込み動作指示を行う。
【0036】
ホストインタフェース4は、ホスト機器とCPU5とのインタフェースである。CPU5は、コントローラ3におけるすべての制御を司る。CUI6は、ホストからのコマンドを解釈し、CPU5を起動する。
【0037】
ライトバッファ7は、ホストからの読み出しデータを一時的に格納する。リードバッファ8は、不揮発性半導体メモリ2からの読み出しデータを一時的に格納する。
【0038】
ECC部9は、ECC(Error Chek and Correction)コードの生成、ならびに不揮発性半導体メモリ2に書き込み/読み出しされるデータのECCエラーチェックと訂正を行う。
【0039】
ワークメモリ10は、たとえば、RAMなどの半導体メモリからなり、CPU5のワーク領域のメモリとして用いられる。メモリインタフェース11は、CPU5と不揮発性半導体メモリ2とのインタフェースである。
【0040】
図2は、不揮発性半導体メモリ2におけるメモリアレイ(記憶領域)MAの一例を示した説明図である。
【0041】
図示するように、メモリアレイMAは、グローバルビット線GBLに複数のサブビット線SBLが選択用トランジスタTrを介して接続されるアレイ構造からなり、それらサブビット線SBLに、不揮発性メモリセルSがそれぞれ接続された構成からなる。
【0042】
サブデータ線SBLには、256本のワード線WL分の不揮発性メモリセルSが接続されており、この単位を1ストリングという。
【0043】
図3は、不揮発性半導体メモリ2のメモリアレイMAにおけるメモリ領域の構成例を示す説明図である。
【0044】
メモリアレイMAは、たとえば、4つのバンクBank0〜Bank3に分割された4バンク構成からなる。バンクBank0〜Bank3には、データ格納領域DSA、およびプログラム格納領域PSA、およびテーブルブロックTBから構成されている。
【0045】
データ格納領域DSAは、データが格納される領域であり、プログラム格納領域PSAは、プログラムが格納される領域である。また、テーブルブロックTBは、プログラム格納領域PSAにおけるアドレス変換テーブルが格納される領域である。
【0046】
データ格納領域DSA、プログラム格納領域PSA、およびテーブルブロックTBにおいて、管理部(図3のハッチングで示した部分)KがセクタSc毎にそれぞれ備えられている。ここで、セクタScは、データ格納最小単位であり、16セクタ(4バンク列×4行)で1つのブロック(消去の最小単位)Bを構成する。
【0047】
管理部Kには、各々のブロックの管理情報が格納されている。この管理情報は、同じ行のセクタでは、バンクが異なっていても同じものが格納されており、行が異なると管理情報の内容が異なる。
【0048】
プログラム格納領域PSAの領域は任意に設定され、該プログラム格納領域PSAを設定した際に、論理アドレス/物理アドレスの変換テーブルデータを格納するテーブルブロックTBが準備されることになる。ここで、テーブルブロックTBのアドレスは、予め指定したアドレスでもよいし、簡単に検索することが可能なアドレスとしてもよい。
【0049】
図4は、管理部Kにおける管理情報のデータ定義例を示した説明図である。
【0050】
この図4においては、プログラム格納領域PSAの処理に関係している管理部のみを記載しており、上方に4行目のセクタの管理部を、その下方に1行目のセクタの管理部をそれぞれ示している。
【0051】
図示するように、4行目のセクタの管理部には、テーブルブロックのアドレスを格納する領域が備えられている。ただし、テーブルブロックのアドレスが実際に書き込まれているのは、最下位アドレスの良ブロックだけである。
【0052】
その他のブロックにおける4行目のセクタの管理部のテーブルブロックアドレスを書き込む領域は消去状態(’FFh’)となっている。つまり、テーブルブロックとして使用されるブロックを検索するには、最下位アドレスの良ブロックの4行目のセクタの管理部を読み出せばよいことになる。
【0053】
テーブルブロックとして選択されたブロックには、1行目のセクタの管理部にコード’71h’を書き込むことでテーブル用のブロックとして認識される。また、1行目のセクタの管理部には、プログラム格納領域PSAの領域サイズ、プログラム格納領域PSAのロック判定ビットなども格納される。
【0054】
図5は、不揮発性半導体メモリ2のメモリアレイMAにプログラム格納領域PSAを設定する際の状態遷移を示す説明図である。
【0055】
プログラム格納領域PSAは、たとえば、プログラム格納領域PSAの領域を設定するPSA設定コマンドの入力によって設定される。不揮発性半導体メモリ2は、保護制御信号(Protect Control Enable)PCEが入力される制御ピンが備えられている。
【0056】
そして、その制御ピンに、たとえば、Hiレベルの保護制御信号PCEが入力された際に、PSA設定コマンドを受け付け、該保護制御信号PCEがLowレベルの場合には、PSA設定コマンドを受け付けない。
【0057】
メモリアレイMAは、図示するように、PSA設定前の状態(状態J1)、PSAフォーマット状態(状態J2)、およびPSAロック状態(状態J3)の3つの状態が存在する。
【0058】
PSA設定前の状態(状態J1)は、PSA設定コマンドによってプログラム格納領域PSAの領域設定がされていない状態であり、消去/書き込みが可能な状態となっている(全領域がDSA領域)。PSAフォーマット状態(状態J2)は、PSA設定コマンドによってプログラム格納領域PSAの領域設定がなされた状態である。この状態J2でも、データ保護は無効であり、消去/書き込みが可能な状態となっている(PSA設定されるが動作は全領域DSA領域)。
【0059】
PSAロック状態(状態J3)は、設定されたプログラム格納領域PSAにロック(PSAロック)がかかり、データ保護が有効になった状態であり、プログラム格納領域PSAにおいて消去/書き込みが不可となる(PSA設定された領域がPSA領域として動作)。
【0060】
状態J3では、ロックを解除(PSAアンロック)することにより、状態J2に遷移することができる。また、状態J2,J3においては、プログラム格納領域PSAの設定を解除(PSAアンフォーマット)することにより、状態J1の状態に遷移させることができる。
【0061】
図6は、プログラム格納領域PSAの領域設定を行う際の信号サイクルを示すタイミングチャートである。
【0062】
図6において、上方から下方にかけて、コマンドラッチイネーブルCLE、チップイネーブル/CE、ライトイネーブル/WE、アドレスラッチイネーブルALE、リードイネーブル/RE、保護制御信号PCE、レディビジーR/B、および入力されるコマンドであるデータDinをそれぞれ示している。なお、これらの各制御信号において、スラッシュ(/)を付している各記号は反転信号である。
【0063】
この場合、保護制御信号PCEがHiレベルとなった後、プログラム格納領域PSAの領域を設定するデータDinとしてコマンド’B0H’、’M’、’D0H’が順次入力される。
【0064】
コマンド’M’が、指定領域を設定するものであり、プログラム格納領域PSAの領域設定は、たとえば、ストリング単位であり、ストリングの個数を入力する。そして、プログラム格納領域PSAの領域設定を行うコマンドが入力された後、プログラム格納領域PSAの領域設定が完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0065】
図7は、プログラム格納領域PSAの領域設定後におけるPSAロック状態の信号サイクルを示すタイミングチャートである。なお、この図7も含め、以下に示す図8、図9において、上方から下方にかけて示す信号は同一である。
【0066】
図7において、保護制御信号PCEがHiレベルとなった後、設定されたプログラム格納領域PSAのデータ保護を有効とするロックを行うデータDinとしてコマンド’B1H’、’D0H’が順次入力される。
【0067】
ここでも、PSAロック状態を設定するコマンドが入力された後、プログラム格納領域PSAのロック設定が完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0068】
図8は、PSAアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【0069】
PSAアンフォーマットを行う場合のコマンドは、’BFH’、’D0H’であり、図6、図7と同様に、PSAアンフォーマットを行うコマンドが入力された後、PSAアンフォーマットが完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0070】
図9は、PSAアンロックを行う際の信号サイクルを示すタイミングチャートである。
【0071】
PSAアンロックを行う場合のコマンドは、’BEH’、’D0H’となる。そして、図6〜図8と同様に、PSAアンロックを行うコマンドが入力された後、PSAアンロックが完了するまで、レディビジーR/Bは、ビジー(busy)となる。
【0072】
図10は、記憶装置1におけるPSAフォーマットの処理例を示すフローチャートである。
【0073】
まず、メモリアレイMAにおいて、プログラム格納領域PSAの領域が設定されているか否かを判定する(ステップS101)。このステップS101の処理において、プログラム格納領域PSAの領域が設定されている(PSAフォーマット済み)場合には、PSAフォーマット処理を終了する。
【0074】
また、ステップS101の処理において、PSAフォーマット済みでない場合、テーブルブロックとして使用するブロックを検索し(ステップS102)、管理部にテーブルブロックであることを示すコード、ならびにその領域サイズを書き込む(ステップS103)。
【0075】
続いて、検索したテーブルブロックのアドレス情報を、たとえば、最下位アドレスの良ブロックの管理部などの予め設定した位置に書き込みを行う(ステップS104)。
【0076】
図11は、記憶装置1におけるPSAロックの処理例を示すフローチャートである。
【0077】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS201)、未フォーマットであるなら処理を終了する。ステップS201の処理で、フォーマット済みである場合には、プログラム格納領域PSAがロックされているか否かを判定し(ステップS202)、ロック済みの場合には、処理が終了となる。
【0078】
続いて、プログラム格納領域PSAの論理アドレスと物理アドレスとの対応付けを行い、論理アドレスから、不揮発性半導体メモリ2の物理アドレスへの変換を管理するアドレス変換テーブルを生成する(ステップS203)。
【0079】
そして、テーブルブロックに生成したアドレス変換テーブルの書き込みを行う(ステップS204)。このとき、テーブルブロックの管理部には、PSAロック判定ビットの書き込みも行われる。
【0080】
その後、書き込みが完了したか否かの判断を行い(ステップS205)。完了した場合には処理が終了となり、書き込みに失敗した場合には、新たなテーブルブロックを設け、テーブルデータの書き込みを行う。
【0081】
図12は、記憶装置1におけるPSAアンロックの処理例を示すフローチャートである。
【0082】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS301)する。プログラム格納領域PSAがフォーマット済みの場合には、プログラム格納領域PSAがロックされているかを判定する(ステップS302)。
【0083】
ステップS301の処理において、プログラム格納領域PSAがフォーマットされていない場合、およびステップS302の処理でプログラム格納領域PSAがロックされていない場合には、処理を終了する。
【0084】
また、ステップS302の処理において、プログラム格納領域PSAがロックされている場合には、テーブルブロックに格納されているデータを消去する(ステップS303)。この場合、管理部には、テーブルブロックを示すコード、およびプログラム格納領域PSAの領域サイズのデータがかかれた状態であり、ロック判定ビットが消去される。これにより、PSAフォーマット状態に戻されることになる。
【0085】
図13は、記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャートである。
【0086】
まず、プログラム格納領域PSAがフォーマット済みであるか否かを判定し(ステップS401)、該プログラム格納領域PSAが未フォーマットの場合には、処理が終了となる。
【0087】
プログラム格納領域PSAがフォーマット済みの場合、テーブルブロックの検索を行い(ステップS402)、検索したテーブルブロックの登録を解消する(ステップS403)。
【0088】
図14は、記憶装置1のプログラム格納領域PSAの領域設定時におけるパワーオンリセット(初期化動作)の処理例とプログラム格納領域PSAの状態とを示すフローチャートである。
【0089】
図14において、左側は、プログラム格納領域PSAの領域設定時におけるパワーオンリセットの処理フローを示しており、右側は、プログラム格納領域PSAの領域設定時におけるプログラム格納領域PSAの領域の状態を示している。
【0090】
まず、パワーオンによって、リセット信号が入力される(ステップS501)。PSAロックが設定されている場合には、テーブルブロックのアドレス変換テーブルの読み出しを行い(ステップS502)、レディ状態となる(ステップS503)。
【0091】
このステップS503の処理後、プログラム格納領域PSAはリードが可能となる。一方、データ格納領域DSAは、アクセスが不可の状態となっている。
【0092】
そして、データ格納領域DSAのイニシャライズ動作を行うことで(ステップS504)、データ格納領域DSAのアドレス変換テーブルが生成される。
【0093】
それによって、不揮発性半導体メモリ2はレディ状態となり、プログラム格納領域PSAのリードが可能であるとともに、データ格納領域DSAのアクセスが可能な状態となる。
【0094】
また、プログラム格納領域PSAのロックが設定されていない場合(PSAフォーマット、またはPSAアンフォーマット)には、データ格納領域DSAのイニシャライズ動作を行い(ステップS505)、すべてのセクタの管理部をリードし、アドレス変換テーブルを作成する。ステップS505が終了すると、不揮発性半導体メモリ2はレディ状態となり、データ格納領域DSAのアクセスが可能な状態となる。
【0095】
図15は、データ格納領域DSAのイニシャライズの処理例を示すフローチャートである。
【0096】
まず、ロックされていないプログラム格納領域PSA、およびデータ格納領域DSAにおけるすべての管理部のリードを行う(ステップS601)。その後、データ格納領域DSAのアドレス変換テーブルを生成し(ステップS602)、生成したアドレス変換テーブルをワークメモリ10に格納する。
【0097】
図16は、記憶装置1を用いて構成した電子システムの一例を示したブロック図である。
【0098】
図示するように、記憶装置1は、たとえば、ホスト機器のプロセッサPr、およびキャッシュメモリChとバスBを介して相互接続される。記憶装置1の不揮発性半導体メモリ2には、たとえば、ホスト用のプログラムやデータが格納されており、パワーオン時には、該ホスト用のプログラムが不揮発性半導体メモリ2から読み出され、たとえば、SRAM(Static Random Access Memory)/SDRAM(Synchronous Dynamic RAM)などからなるキャッシュメモリChに転送される。
【0099】
よって、パワーオン時には、プログラムを格納するプログラム格納領域PSAのみのアクセスが可能になればよく、データ格納領域DSAのイニシャライズを電子システムのプロセッサPrの初期化時などのバックグラウンドで行うことが可能となる。
【0100】
それにより、本実施の形態1によれば、記憶装置1におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0101】
(実施の形態2)
図17は、本発明の実施の形態2による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図、図18は、図17のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャート、図19は、図18アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【0102】
本実施の形態2において、記憶装置1は、前記実施の形態1の図1と同じであり、不揮発性半導体メモリ2、およびコントローラ3から構成されており、該コントローラ3は、ホストインタフェース4、CPU5、CUI6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11から構成されている。
【0103】
図17は、記憶装置1のパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【0104】
この場合、図示するように、不揮発性半導体メモリ2のデータ格納領域DSAは、2つのデータ格納領域DSA1,DSA2に任意に分割されている。そして、記憶装置1のパワーオンリセット処理時には、データ格納領域DSA1のアドレス変換テーブルのみが生成される。これらデータ格納領域DSA1,DSA2の領域設定は、たとえば、ホスト機器からの設定コマンドの入力によって設定される。
【0105】
そして、データ格納領域DSA1のアドレス変換テーブルの生成が終了し、ホスト機器からデータ格納領域DSA2のアドレス変換テーブルを生成するコマンドが出力されると、そのコマンドを受けて、データ格納領域DSA2のアドレス変換テーブルが生成される。
【0106】
次に、データ格納領域DSA1におけるアドレス変換テーブルの生成例を、図18のフローチャートを用いて説明する。なお、この図18に示す処理は、図14のステップS504の処理において行われるものである。
【0107】
まず、パワーオンによってリセット信号が入力される(ステップS601)、図14のステップS503の処理が終了すると、データ格納領域DSA1の管理部をリードし(ステップS602)、該データ格納領域DSA1における先頭ブロックのアドレス変換テーブルを作成する。
【0108】
作成されたアドレス変換テーブルは、ワークメモリ10に格納される(ステップS603)。そして、データ格納領域DSA1における最終ブロックのアドレス変換テーブルが生成されるまでステップS602,S603の処理を繰り返す(ステップSS604)。データ格納領域DSA1のすべてのアドレス変換テーブルが生成されると、データ格納領域DSA1におけるアドレス変換テーブルの生成処理が終了となる。
【0109】
また、データ領域格納DSA2におけるアドレス変換テーブルの生成例を、図19のフローチャートを用いて説明する。
【0110】
図18に示したデータ格納領域DSA1におけるアドレス変換テーブルの生成処理が終了した後、ホスト機器から、データ格納領域DSA2のアドレス変換テーブルを生成するコマンドが入力されると(ステップS701)、それを受けて、不揮発性半導体メモリ2におけるデータ格納領域DSA2の管理部をリードし(ステップS702)、該データ格納領域DSA2における先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルを、ワークメモリ10に格納する(ステップS703)。
【0111】
そして、データ格納領域DSA2の最終ブロックのアドレス変換テーブルが生成されるまでステップS702,S703の処理を繰り返し行う(ステップS704)。データ格納領域DSA2のすべてのブロックのアドレス変換テーブルが生成されると、データ格納領域DSA2におけるアドレス変換テーブルの生成処理が終了となる。
【0112】
それにより、本実施の形態2おいても、記憶装置1におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0113】
また、本実施の形態2では、不揮発性半導体メモリ2のメモリ領域を任意の2つのデータ格納領域DSA1,DSA2に分割するものとしたが、たとえば、記憶装置1が複数の不揮発性半導体メモリを備える場合には、パワーオン時にアドレス変換テーブルが生成する不揮発性半導体メモリと、ホスト機器からのコマンド入力後にアドレス変換テーブルを生成する不揮発性半導体メモリとを予め設定しておくようにしてもよい。
【0114】
図20は、たとえば、2つの不揮発性半導体メモリを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したものである。
【0115】
この場合、図示するように、パワーオンリセット処理時に、予め設定された一方の不揮発性半導体メモリ2のデータ格納領域DSAのアドレス変換テーブルが生成される。その後、ホスト機器からアドレス変換テーブルを生成するコマンドが出力されると、他方の不揮発性半導体メモリ2aにおけるデータ格納領域DSAのアドレス変換テーブルが生成される。
【0116】
よって、ワークメモリ10には、図20の右側に示すような、不揮発性半導体メモリ22aのアドレス変換テーブルが生成される。
【0117】
図21は、2つの不揮発性半導体メモリ2,2aを備えた記憶装置におけるパワーオン時に生成されるアドレス変換テーブルの生成例を示したフローチャートである。
【0118】
まず、パワーオンによって(ステップS801)リセット信号が入力され、図14のステップS503の処理が終了すると、不揮発性半導体メモリ2のデータ格納領域DSAにおける管理部をリードし(ステップS802)、該不揮発性半導体メモリ2における先頭ブロックのアドレス変換テーブルを作成する。
【0119】
作成されたアドレス変換テーブルは、ワークメモリ10に格納される(ステップS803)。そして、不揮発性半導体メモリ2におけるすべてのブロックのアドレス変換テーブルが生成されるまでステップS802,S803の処理を繰り返す(ステップS804)。
【0120】
不揮発性半導体メモリ2におけるすべてブロックのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【0121】
また、他方の不揮発性半導体メモリ2aにおけるアドレス変換テーブルの生成例を、図22のフローチャートを用いて説明する。
【0122】
図21に示したアドレス変換テーブルの生成処理が終了した後、ホスト機器から、不揮発性半導体メモリ2aのアドレス変換テーブルを生成するコマンドが入力されると(ステップS901)、それを受けて、不揮発性半導体メモリ2aにおけるデータ格納領域DSAの管理部をリードし(ステップS902)、該不揮発性半導体メモリ2aにおける先頭ブロックのアドレス変換テーブルを作成し、そのアドレス変換テーブルをワークメモリ10に格納する(ステップS903)。
【0123】
他方の不揮発性半導体メモリの最終ブロックのアドレス変換テーブルが生成されるまでステップS902,S903の処理を繰り返す(ステップS904)。そして、他方の不揮発性半導体メモリのすべてのアドレス変換テーブルが生成されると、アドレス変換テーブルの生成処理が終了となる。
【0124】
それにより、複数の不揮発性半導体メモリを備えた記憶装置であっても、該記憶装置におけるパワーオンリセットの処理時間を大幅に短縮することができる。
【0125】
(実施の形態3)
図23は、本発明の実施の形態3による記憶装置のパワーオンリセット処理を示したフローチャート、図24は、図23に示すステップS1002,S1003の処理の詳細なフローチャート、図25は、図24の処理における記憶装置の信号タイミングチャートである。
【0126】
本実施の形態3でも、記憶装置1は、前記実施の形態1の図1と同じであり、不揮発性半導体メモリ2、およびコントローラ3から構成されており、該コントローラ3は、ホストインタフェース4、CPU5、CUI6、ライトバッファ7、リードバッファ8、ECC部9、ワークメモリ10、およびメモリインタフェース11から構成されている。
【0127】
本実施の形態3において、コントローラ3は、データ格納領域DSAにおけるアドレス変換テーブルの生成中に、プログラム格納領域PSAのリードコマンドを受け付ける機能を有している。
【0128】
次に、記憶装置1によるパワーオンリセット処理について、図23のフローチャートを用いて説明する。
【0129】
まず、電源が投入され、不揮発性半導体メモリ2の処理化が終了する(ステップS1001)。このステップS1001の処理では、図23の右上側に示すように、プログラム格納領域PSAのアドレス変換テーブルが生成される。
【0130】
その後、ホスト機器から、データ格納領域DSAのアドレス変換テーブルを生成するコマンドが投入された後(ステップS1002)、プログラム格納領域PSAのプログラムがワークメモリ10に展開される(ステップS1003)。
【0131】
このステップS1002,S1003の処理では、図23の右上側に示すように、データ格納領域DSAのアドレス変換テーブルが生成され、ステップS1003の処理では、プログラム格納領域PSAのプログラムが読み出される。また、ステップS1003の処理では、点線で囲んだ範囲に示すように、データ格納領域DSAのアドレス変換テーブルの生成がプログラム格納領域PSAからのプログラムの読み出しのバックグランドで行われるように処理される。
【0132】
そして、ワークメモリ10に展開されたプログラムによる記憶装置1の初期化動作が行われて(ステップS1004)、初期化が終了となる。
【0133】
続いて、図23のステップS1002,S1003の処理について、図24のフローチャート、ならびに図25のタイミングチャートを用いて詳しく説明する。
【0134】
図24においては、上方から下方にかけて、ホスト機器から出力されるコマンド、ホスト機器から出力されるデータ読み出し用のクロック信号CLK、およびコントローラ3から出力されるレディ/ビジーR/B、およびコントローラ3の内部動作状態、割り込みリクエスト信号のタイミングをそれぞれ示している。
【0135】
まず、ホスト機器から、データ格納領域DSAにおけるアドレス変換テーブルを生成するコマンドを受けると、記憶装置1は、図24の(A)に示すルーチン処理を開始し、プログラム格納領域リードコマンドが発行されたか否かを判断する(ステップS1101)。
【0136】
ステップS1001の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ3は、ホスト機器からはバックグランド動作として見なせるようにレディビジーR/Bを’Hi’としてレディ(Ready)状態とし、データ格納領域DSAの管理部のデータを読み出し(ステップS1102)、1ブロック分のアドレス変換テーブルを作成してワークメモリ10に格納する(ステップS1103)。
【0137】
続いて、ステップS1101の処理に戻り、プログラム格納領域リードコマンドがステップS1102,S1103の処理中に発行されたか否かを判断する。
【0138】
ホスト機器からプログラム格納領域リードコマンドが発行されている場合、コントローラ3内部では、割り込みリクエスト信号のフラグが’Hi’となる。このとき、コントローラ3は、レディビジーR/Bをビジーとして図24の(B)に示すルーチン処理を割り込ませ、割り込みリクエスト信号のフラグをリセット(’Lo’)する。
【0139】
続いて、コントローラ3は、プログラム格納領域PSAのデータを読み出す(ステップS1104)。そして、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると(ステップS1105)、再びレディ/ビジーR/Bをレディとし、ホスト機器からのセカンドアクセス用のコマンドを受け付けられる状態にする。
(B)のルーチン処理が終了すると、ステップS1102,S1103の処理を行う。(A)のルーチン処理は、データ格納領域DSAにおけるアドレス変換テーブルが完成するまで行われる(ステップS1106)。
【0140】
このとき、ホスト機器からセカンドアクセス用のコマンドが発行されると、コントローラ3は、アドレス変換テーブルを生成する(A)のルーチン処理を行いながら、ホスト機器からのデータ読み出し用のクロック信号CLKに基づいて、読み出しデータをホスト機器に転送する。
【0141】
プログラム格納領域PSAのデータの読み出し動作は、データ格納領域DSAからのデータ読み出しと同様に、ファーストアクセス、およびセカンドアクセスからなる。ファーストアクセスでは、コントローラ3によって不揮発性半導体メモリ2から読み出したデータがリードバッファ8まで転送される。
【0142】
そして、セカンドアクセスでは、リードバッファ8に格納されたデータがクロック信号CLKによってホストへ読み出される。このセカンドアクセスの間、コントローラ3は、読み出し動作としてはフリーの状態であり、他の内部動作を行うことが可能な状態となる。
【0143】
よって、セカンドアクセスのフリーの状態を利用してアドレス変換テーブルの生成を継続して行うことができる。
【0144】
なお、この場合、データ格納領域DSAにおけるアドレス変換テーブルの生成完了を知るために、ステータスリードコマンドを設ける。任意の回数のプログラム格納領域PSAのデータの読み出しが終了し、ホスト機器がデータ格納領域DSAにアクセスしたい場合には、該ホスト機器がステータスリードコマンドを出力し、データ格納領域DSAのアドレス変換テーブルの生成が完了したことを確認してから行われることになる。
【0145】
それにより、本実施の形態3においては、データ格納領域DSAにおけるアドレス変換テーブルの生成中にプログラム格納領域PSAのデータを読み出すことが可能となる。
【0146】
また、プログラム格納領域PSAのデータを読み出しながら、データ格納領域DSAにおけるアドレス変換テーブルを生成することが可能となるので、より短時間でデータ格納領域DSAへアクセスすることができる。
【0147】
さらに、本実施の形態では、1つの不揮発性半導体メモリのメモリ領域をプログラム格納領域PSAとデータ格納領域DSAとに分割した場合について記載したが、たとえば、図26に示すように、記憶装置1に2つの不揮発性半導体メモリ2,2aを備え、一方の不揮発性半導体メモリ2のメモリ領域をプログラム格納領域PSAとし、他方の不揮発性半導体メモリ2aのメモリ領域をデータ格納領域DSAとするようにしてもよい。
【0148】
この場合、図26の記憶装置1は、不揮発性半導体メモリ2aが新たにメモリインタフェース11に接続されており、その他の接続構成は、図1に示す記憶装置1と同じとなっている。
【0149】
図27は、図26に示す記憶装置1におけるデータ格納領域DSAのアドレス変換テーブル生成における処理例を示すフローチャートである。
【0150】
まず、ホスト機器から、データ格納領域DSAにおけるアドレス変換テーブルを生成するコマンドを受けると、コントローラ3は、プログラム格納領域リードコマンドが発行されたか否かを判断する(ステップS1201)。
【0151】
ステップS1201の処理において、プログラム格納領域リードコマンドが発行されていない場合、コントローラ3は、不揮発性半導体メモリ2aの管理部を読み出し(ステップS1203)、生成したアドレス変換テーブルをワークメモリ10に登録する(ステップS1203)。
【0152】
また、ステップS1201の処理において、プログラム格納領域リードコマンドが発行されている場合には、不揮発性半導体メモリ2aの管理部を読み出してアドレス変換テーブルを生成する処理と、プログラム格納領域PSAのデータを読み出しとを並列して行う(ステップS1204)。
【0153】
続いて、読み出しデータのエラー訂正が終了し、セカンドアクセスが可能な状態になると(ステップS1205)、ステップS1203の処理を行う。これらステップS1201〜S1205の処理は、、不揮発性半導体メモリ2aのデータ格納領域DSAにおけるアドレス変換テーブルが完成するまで行われる(ステップS1206)。
【0154】
それにより、不揮発性半導体メモリ2のプログラム格納領域PSAからの読み出しと、不揮発性半導体メモリ2aにおけるデータ格納領域DSAの管理部の読み出しを並列して行うことができるので、不揮発性半導体メモリ2,2aのファーストアクセスののべ時間を短縮することができる。
【0155】
また、図26では、1つのCPU5によって不揮発性半導体メモリ2,2aを制御する構成としたが、2つのCPUを設け、各々のCPUでそれぞれの不揮発性半導体メモリを個別に制御する構成としてもよい。
【0156】
それにより、時分割で行われていたプログラム格納領域PSAの読み出しとデータ格納領域DSAにおけるアドレス変換テーブルの生成とを並列して処理することができるので、より動作時間を短縮することができる。
【0157】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【0158】
本発明は、不揮発性半導体メモリにおける初期化動作時間の短縮技術に適している。
【図面の簡単な説明】
【0159】
【図1】本発明の実施の形態1による記憶装置のブロック図である。
【図2】図2の記憶装置に設けられた不揮発性半導体メモリにおけるメモリアレイ構成例を示した説明図である。
【図3】図2のメモリアレイにおけるメモリ領域の構成例を示す説明図である。
【図4】図3のメモリアレイに設けられた管理部における管理情報のデータ定義例を示した説明図である。
【図5】図3のメモリアレイにプログラム格納領域を設定する際の状態遷移を示す説明図である。
【図6】図3のメモリアレイにプログラム格納領域の領域設定を行う際の信号サイクルを示すタイミングチャートである。
【図7】図3のメモリアレイにおいてプログラム格納領域の設定後のPSAロック状態の信号サイクルを示すタイミングチャートである。
【図8】図3のメモリアレイのPSAアンフォーマットを行う際の信号サイクルを示すタイミングチャートである。
【図9】図3のメモリアレイのPSAアンロックを行う際の信号サイクルを示すタイミングチャートである。
【図10】図1の記憶装置におけるPSAフォーマットの処理例を示すフローチャートである。
【図11】図1の記憶装置におけるPSAロックの処理例を示すフローチャートである。
【図12】図1の記憶装置におけるPSAアンロックの処理例を示すフローチャートである。
【図13】図1の記憶装置1におけるPSAアンフォーマットの処理例を示すフローチャートである。
【図14】図1の記憶装置におけるプログラム格納領域の領域設定時のパワーオンリセットの処理例とプログラム格納領域の状態とを示すフローチャートである。
【図15】図1の記憶装置におけるデータ格納領域のイニシャライズの処理例を示すフローチャートである。
【図16】図1の記憶装置を用いて構成した電子システムの一例を示したブロック図である。
【図17】本発明の実施の形態2による記憶装置のパワーオンリセット時のアドレス変換テーブルの生成例を示す説明図である。
【図18】図17のパワーオン時に生成されるアドレス変換テーブルの処理例を示すフローチャートである。
【図19】図18アドレス変換テーブルの生成後に生成されるアドレステーブルの処理例を示すフローチャートである。
【図20】本発明の他の実施の形態による記憶装置のパワーオン時に生成されるアドレス変換テーブルの生成例を示した説明図である。
【図21】図20のアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図22】図21に続くアドレス変換テーブルにおける生成の処理例を示したフローチャートである。
【図23】本発明の実施の形態3による記憶装置のパワーオンリセット処理を示したフローチャートである。
【図24】図23に示すステップS1002,S1003の処理の詳細なフローチャートである。
【図25】図24の処理における記憶装置の信号タイミングチャートである。
【図26】本発明の他の実施の形態による記憶装置のブロック図である。
【図27】図26の記憶装置におけるアドレス変換テーブル生成の処理例を示すフローチャートである。
【符号の説明】
【0160】
1 記憶装置(半導体集積回路装置)
2,2a 不揮発性半導体メモリ
3 コントローラ
4 ホストインタフェース
5 CPU
6 CUI
7 ライトバッファ
8 リードバッファ
9 ECC部
10 ワークメモリ
11 メモリインタフェース
MA メモリアレイ(記憶領域)
GBL グローバルビット線
SBL サブビット線
Tr 選択用トランジスタ
S 不揮発性メモリセル
Bank0〜Bank3 バンク
DSA データ格納領域
PSA プログラム格納領域
TB テーブルブロック
K 管理部
Sc セクタ
B ブロック
【特許請求の範囲】
【請求項1】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、
前記不揮発性半導体メモリのメモリ領域は、
データの更新が許可されない第1状態に設定された領域と、データの更新が許可される第2状態に設定された領域と、前記第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、
前記コントローラは、
初期化動作前に予め生成した前記第1状態に設定された領域のアドレス変換テーブルを前記テーブルブロックに格納し、
前記第2状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成することを特徴とする半導体集積回路装置。
【請求項2】
請求項1記載の半導体集積回路装置において、
前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ設けられていることを特徴とする半導体集積回路装置。
【請求項3】
請求項1または2記載の半導体集積回路装置において、
前記コントローラは、
前記第1状態に設定された領域をストリング単位で任意の領域に設定することを特徴とする半導体集積回路装置。
【請求項4】
請求項1〜3いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記第1状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うことを特徴とする半導体集積回路装置。
【請求項5】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記テーブルブロックに格納された前記第1状態に設定された領域のアドレス変換テーブルを読み出した際に、前記第1状態に設定された領域へのアクセスを許可することを特徴とする半導体集積回路装置。
【請求項6】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記不揮発性半導体メモリの第2状態に設定された領域は、
第1の領域と第2の領域とに任意に分割されており、
前記コントローラは、
前記第1の領域のアドレス変換テーブルを初期化動作毎に生成し、前記第2の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成することを特徴とする半導体集積回路装置。
【請求項7】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第1状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とする半導体集積回路装置。
【請求項8】
請求項7記載の半導体集積回路装置において、
前記コントローラは、
外部入力されるリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを、前記不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とする半導体集積回路装置。
【請求項9】
不揮発性半導体メモリのメモリ領域を、データの更新が許可されない第1状態に設定された領域とデータの更新が許可される第2状態に設定された領域とに任意に分割し、
前記第1状態に設定された領域については、
前記第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成して前記メモリ領域に格納し、
前記第2状態に設定された領域については、
初期化動作毎にアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項10】
請求項9記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項11】
請求項9または10記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域は、ストリング単位で領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項12】
請求項9〜11いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域は、外部から入力されたコマンドに基づいて領域が設定されることを特徴とするアドレス変換テーブルの生成方法。
【請求項13】
請求項9〜12いずれか1項に記載のアドレス変換テーブルの生成方法において、
初期化動作の際に、前記メモリ領域に格納された前記第1状態に設定された領域のアドレス変換テーブルを読み出して前記第1状態に設定された領域へのアクセスを可能とした後、前記第2状態に設定された領域のアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項14】
請求項9〜13いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記不揮発性半導体メモリの第2状態に設定された領域を第1の領域と第2の領域とに任意に分割し、
前記第1の領域のアドレス変換テーブルは初期化動作毎に生成し、前記第2の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項15】
請求項9〜14いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第1状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項16】
請求項15記載のアドレス変換テーブルの生成方法において、
外部入力されたリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項1】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとを備えた半導体集積回路装置であって、
前記不揮発性半導体メモリのメモリ領域は、
データの更新が許可されない第1状態に設定された領域と、データの更新が許可される第2状態に設定された領域と、前記第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを格納するテーブルブロックとを備え、
前記コントローラは、
初期化動作前に予め生成した前記第1状態に設定された領域のアドレス変換テーブルを前記テーブルブロックに格納し、
前記第2状態に設定された領域のアドレス変換テーブルは、初期化動作毎に生成することを特徴とする半導体集積回路装置。
【請求項2】
請求項1記載の半導体集積回路装置において、
前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ設けられていることを特徴とする半導体集積回路装置。
【請求項3】
請求項1または2記載の半導体集積回路装置において、
前記コントローラは、
前記第1状態に設定された領域をストリング単位で任意の領域に設定することを特徴とする半導体集積回路装置。
【請求項4】
請求項1〜3いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記第1状態に設定された領域の領域設定を外部から入力されたコマンドに基づいて行うことを特徴とする半導体集積回路装置。
【請求項5】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記テーブルブロックに格納された前記第1状態に設定された領域のアドレス変換テーブルを読み出した際に、前記第1状態に設定された領域へのアクセスを許可することを特徴とする半導体集積回路装置。
【請求項6】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記不揮発性半導体メモリの第2状態に設定された領域は、
第1の領域と第2の領域とに任意に分割されており、
前記コントローラは、
前記第1の領域のアドレス変換テーブルを初期化動作毎に生成し、前記第2の領域のアドレス変換テーブルを外部から入力されたコマンドに基づいて生成することを特徴とする半導体集積回路装置。
【請求項7】
請求項1〜4いずれか1項に記載の半導体集積回路装置において、
前記コントローラは、
前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第1状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とする半導体集積回路装置。
【請求項8】
請求項7記載の半導体集積回路装置において、
前記コントローラは、
外部入力されるリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを、前記不揮発性半導体メモリからの読み出しデータを一時的に格納するリードバッファから外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とする半導体集積回路装置。
【請求項9】
不揮発性半導体メモリのメモリ領域を、データの更新が許可されない第1状態に設定された領域とデータの更新が許可される第2状態に設定された領域とに任意に分割し、
前記第1状態に設定された領域については、
前記第1状態に設定された領域の物理アドレス毎に外部から供給される論理アドレスを対応付けしたアドレス変換テーブルを初期化動作前に予め生成して前記メモリ領域に格納し、
前記第2状態に設定された領域については、
初期化動作毎にアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項10】
請求項9記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域、および前記第2状態に設定された領域は、別ストリングにそれぞれ領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項11】
請求項9または10記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域は、ストリング単位で領域設定を行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項12】
請求項9〜11いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記第1状態に設定された領域は、外部から入力されたコマンドに基づいて領域が設定されることを特徴とするアドレス変換テーブルの生成方法。
【請求項13】
請求項9〜12いずれか1項に記載のアドレス変換テーブルの生成方法において、
初期化動作の際に、前記メモリ領域に格納された前記第1状態に設定された領域のアドレス変換テーブルを読み出して前記第1状態に設定された領域へのアクセスを可能とした後、前記第2状態に設定された領域のアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項14】
請求項9〜13いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記不揮発性半導体メモリの第2状態に設定された領域を第1の領域と第2の領域とに任意に分割し、
前記第1の領域のアドレス変換テーブルは初期化動作毎に生成し、前記第2の領域のアドレス変換テーブルは外部から入力されたコマンドに基づいて生成することを特徴とするアドレス変換テーブルの生成方法。
【請求項15】
請求項9〜14いずれか1項に記載のアドレス変換テーブルの生成方法において、
前記第2状態に設定された領域におけるアドレス変換テーブルの生成中に、前記第1状態に設定された領域のデータを読み出す外部から入力されるリードコマンドを受け付け、前記アドレス変換テーブルの生成と前記第1状態に設定された領域からのデータの読み出しとを時分割で行うことを特徴とするアドレス変換テーブルの生成方法。
【請求項16】
請求項15記載のアドレス変換テーブルの生成方法において、
外部入力されたリードコマンドを受け付けた際に、前記第1状態に設定された領域から読み出したデータを外部に転送するセカンドアクセス時に前記第2状態に設定された領域におけるアドレス変換テーブルを生成することを特徴とするアドレス変換テーブルの生成方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2007−109197(P2007−109197A)
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2006−24305(P2006−24305)
【出願日】平成18年2月1日(2006.2.1)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願日】平成18年2月1日(2006.2.1)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】
[ Back to top ]