(57)【要約】【課題】フラッシュメモリと擬似ＳＲＡＭをＭＣＰにした半導体記憶装置において、内部データ転送動作中に外部ＣＰＵから転送要求があったときの競合調停を可能とする。【解決手段】フラッシュメモリ６０と、擬似ＳＲＡＭ４０を内蔵したＲＡＭ１０とをＭＣＰにした半導体装置において、擬似ＳＲＡＭ４０に対する制御信号として、フラッシュメモリ６０と擬似ＳＲＡＭ４０間のデータ転送を制御する内部転送用制御信号と、外部ＣＰＵ７０と擬似ＳＲＡＭ４０間のデータ転送を制御する外部転送用の制御信号とを規定する。ＲＡＭ１０内のフラッシュコントローラ２０は、フラッシュメモリ６０と擬似ＳＲＡＭ４０間の内部データ転送中に、外部ＣＰＵ７０から擬似ＳＲＡＭ４０に対してアクセス要求があったときに、その内部データ転送を中断するよう内部転送用制御信号を制御する。【選択図】　　　　図１
2004102508.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性の第１のメモリと、ランダムアクセス機能を有する第２のメモリとを１つのパッケージに収納し、第１のメモリと第２のメモリ間の内部データ転送が可能な半導体記憶装置であって、
第２のメモリに対する制御信号として、内部データ転送を制御する内部転送用の制御信号と、外部ＣＰＵと第２のメモリ間のデータ転送を制御する外部転送用の制御信号とが規定されており、
前記第２のメモリは前記第１及び第２のメモリに対するデータ・アクセスを制御するコントローラを内蔵し、
該コントローラは、内部データ転送中に、外部ＣＰＵから第２のメモリに対してアクセス要求があったときに、その内部データ転送を中断するよう前記内部転送用の制御信号を制御する
ことを特徴とする半導体記憶装置。
【請求項２】
前記コントローラは、内部データ転送の中断時に、外部ＣＰＵに対してアクセスの待機を要求する信号を出力することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記コントローラは、内部データ転送を中断したときに、中断時のアドレスを保持し、内部データ転送の再開時にはその保持したアドレスから転送を開始することを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記コントローラは、内部データ転送の中断中において、外部ＣＰＵからの第２のメモリに対するアクセスが所定時間ないときに、中断中の内部データ転送を再開させることを特徴とする請求項１記載の半導体記憶装置。
【請求項５】
前記コントローラは、外部ＣＰＵからの中断命令を書き込むビットを格納する手段を備えたことを特徴とする請求項１記載の半導体記憶装置。
【請求項６】
前記第２のメモリのメモリ領域を複数のバンクに分割したことを特徴とする請求項１ないし５のいずれか一に記載の半導体記憶装置。
【請求項７】
前記第２のメモリはデュアルポート機能を有するメモリであることを特徴とする請求項１ないし５のいずれか一に記載の半導体記憶装置。
【請求項８】
前記コントローラは、前記第１のメモリに格納された所定のデータを、パワーオン時に前記第２のメモリの所定の領域へ自動的に転送することを特徴とする請求項１記載の半導体記憶装置。
【請求項９】
前記コントローラは、前記所定のデータに関する、転送元アドレスと、転送先アドレスと、転送データ数とを格納することを特徴とする請求項８記載の半導体記憶装置。
【請求項１０】
前記第１のメモリにおいてメモリ領域が複数のセクタに分割され、各セクタ毎にそのセクタがパワーオン時に自動的に転送されるデータを含むか否かを示すフラグを設けたことを特徴とする請求項８記載の半導体記憶装置。
【請求項１１】
前記第２のメモリはデータ保持のためのリフレッシュ動作を必要とし、そのリフレッシュ動作は特定の領域に対してのみ実施される場合において、
前記第２のメモリの、パワーオン時に自動的に転送されるデータを格納する領域は、前記リフレッシュ動作が実施される特定の領域に自動的に設定されることを特徴とする請求項８記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は携帯電話機等の小型情報端末に使用されるメモリシステムに関する。
【０００２】
【従来の技術】
携帯電話機等の小型情報端末のメモリシステムは、主にＣＰＵの命令コード及び各種データ記憶用としてのリニアフラッシュメモリと、ＣＰＵのワークエリアとして一時的にデータを記憶するためのＳＲＡＭとで構成されている。特に、実装面の制約が厳しい携帯電話機等の小型情報端末においては、これらリニアフラッシュメモリとＳＲＡＭを１つのパッケージに収納したＭＣＰ（Ｍｕｌｔｉ　Ｃｈｉｐ　Ｐａｃｋａｇｅ）が採用されている。
【０００３】
近年の端末の高機能化、通信サービスの高速化に伴い、メモリ容量の大容量化が強く要求され、これらリニアフラッシュメモリ及びＳＲＡＭの容量不足が問題となってきた。
【０００４】
このような問題点の対策として、ＳＲＡＭについては、ＤＲＡＭ同様１トランジスタ型ダイナミックメモリセルを採用し、ＳＲＡＭと同じインタフェースを有する擬似ＳＲＡＭ素子の採用によりメモリ容量の増大が可能となった。
【０００５】
一方、ストレージフラッシュメモリには、大容量記憶の用途に適したブロック（セクタ）アクセスタイプのＡＮＤ／ＮＡＮＤ型等のストレージフラッシュメモリが製品化されているが、これらはその仕様上の特徴からＣＰＵバスへの直結が困難なため、専用のインタフェース回路を外付けするか、又はＣＰＵとのポート接続による低速アクセスしかできないという問題があった。また、ストレージフラッシュメモリに対し直接にランダムアクセスすることは不可能なため、ランダムアクセス機能を実現するために、一旦ＲＡＭ上にデータを転送し、ＣＰＵからＲＡＭにアクセスする必要があるが、この方法では、大容量のＲＡＭが必要になるという問題がある。
【０００６】
そこで、そのようなストレージフラッシュメモリ固有の問題点を解決する手段として、ストレージフラッシュメモリのインタフェース回路または制御機能を内蔵した擬似ＳＲＡＭ素子が考案された（特願２００１−１１１２５９参照）。これにより、ストレージフラッシュメモリとＣＰＵインタフェースの不整合を解決することができ、メモリ容量の大容量化が可能となった。
【０００７】
【発明が解決しようとする課題】
しかし、上記のような擬似ＳＲＡＭ素子を有するＭＣＰ内部でのデータ転送において次の問題がある。すなわち、ストレージフラッシュと擬似ＳＲＡＭ間のデータ転送中に、外部ＣＰＵからアクセスされた場合に、転送要求が競合するため、この競合をいかに調停するかという問題がある。
【０００８】
本発明は上記課題を解決すべくなされたものであり、その目的とするところは、ストレージフラッシュと擬似ＳＲＡＭを１つのパッケージに封止した半導体記憶装置において、ストレージフラッシュと擬似ＳＲＡＭ間のデータ転送動作中に外部のＣＰＵから転送要求があったときの競合調停を可能とする半導体記憶装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明に係る半導体記憶装置は、不揮発性の第１のメモリと、ランダムアクセス機能を有する第２のメモリとを１つのパッケージに収納し、第１のメモリと第２のメモリ間の内部データ転送が可能な半導体記憶装置である。第２のメモリに対する制御信号として、内部データ転送を制御する内部転送用の制御信号と、外部ＣＰＵと第２のメモリ間のデータ転送を制御する外部転送用の制御信号とが規定されている。第２のメモリは第１及び第２のメモリに対するデータ・アクセスを制御するコントローラを内蔵している。コントローラは、内部データ転送中に、外部ＣＰＵから第２のメモリに対してアクセス要求があったときに、その内部データ転送を中断するよう前記内部転送用の制御信号を制御する。
以上の構成の本発明の半導体装置は、内部データ転送中に外部アクセスの要求があったときに内部転送を中断するため、アクセス競合に対して混乱を生じることなく応答することができる。
【００１０】
コントローラは、内部データ転送の中断時に、外部ＣＰＵに対してアクセスの待機を要求するＷＡＩＴ信号を出力してもよい。このＷＡＩＴ信号により、内部データ転送が中断されるまで、ＣＰＵからのアクセスを待機させることができる。
【００１１】
また、コントローラは、内部データ転送を中断したときに、中断時のアドレスを保持し、内部データ転送の再開時にはその保持したアドレスから転送を開始してもよい。これにより、内部データ転送を過不足なく効率良く実行できる。
【００１２】
また、コントローラは、内部データ転送の中断中において、外部ＣＰＵからの第２のメモリに対するアクセスが所定時間ないときに、中断中の内部データ転送を再開させるようにしてもよい。これにより、確実にＣＰＵによる外部アクセスが完了した後に、内部データ転送を再開できる。
【００１３】
また、コントローラは、外部ＣＰＵからの中断命令を書き込むビットを格納する手段を備えてもよい。これにより、ＷＡＩＴ信号入力を持たないＣＰＵからのアクセスに対してもアクセス競合の調停ができる。
【００１４】
第２のメモリのメモリ領域を複数のバンクに分割してもよい。これにより、内部転送中であっても、第１のメモリと第２のメモリ間データ転送を行なっていない方の擬似ＳＲＡＭのバンクへのＣＰＵ７０のアクセスに対しては調停を必要とせず、即座にデータ転送を実行できる。
【００１５】
第２のメモリはデュアルポート機能を有するメモリであってもよい。これにより、第２のメモリが常時アクセス可能となり、内部転送途中でデータ転送を中断させるような競合調停処理が不要となる。
【００１６】
また、コントローラは、電源投入時に、第１のメモリに格納された所定のデータを、パワーオン時に前記第２のメモリの所定の領域へ自動的に転送するようにしてもよい。電源投入時に第２のメモリに転送される所定のデータを第１のメモリに格納しておくことにより、所定のデータを格納する専用のメモリが不要となり、回路規模、製造コストを低減できる。
【００１７】
その際、コントローラは、所定のデータに関する、転送元アドレスと、転送先アドレスと、転送データ数とを格納するのが好ましい。これらの情報により、データ転送が可能となる。
【００１８】
また、第１のメモリがメモリ領域が複数のセクタに分割されており、各セクタ毎に、そのセクタがパワーオン時に自動的に転送されるデータを含むか否かを示すフラグを設けてもよい。このフラグにより、第１のメモリのセクタに格納されているデータの種別が判断できるため、格納されているデータを不用意に書き替えたり、消去したりしないよう管理することも可能となる。
【００１９】
また、第２のメモリがデータ保持のためのリフレッシュ動作を必要とし、そのリフレッシュ動作は特定の領域に対してのみ実施される場合においては、第２のメモリの、パワーオン時に自動的に転送されるデータを格納する領域は、リフレッシュ動作が実施される特定の領域に自動的に設定されるようにするのが好ましい。これにより、確実なデータ保持動作が可能となる。
【００２０】
【発明の実施の形態】
以下添付の図面を参照して、本発明に係る半導体記憶装置の実施の形態を詳細に説明する。
【００２１】
実施の形態１．
＜１．１　構成＞
図１に、本発明に係る半導体記憶装置の構成を示す。半導体記憶装置はランダムアクセスメモリ（以下「ＲＡＭ」という。）１０とストレージフラッシュメモリ（以下「フラッシュメモリ」と略す。）６０とを含む。ＲＡＭ１０とフラッシュメモリ６０は図２に示すように１つのＭＣＰ１００に収納されている。
【００２２】
図１に示すように、ＲＡＭ１０はフラッシュメモリ６０とＣＰＵ７０に接続されている。ＲＡＭ１０は、データ記憶部として大容量の擬似ＳＲＡＭ４０を備える。擬似ＳＲＡＭとは、各セルにおいて１つのトランジスタと１つのコンデンサを含む一般的なＤＲＡＭのメモリセルと同様の構成を有する１トランジスタ型のダイナミックメモリセルを採用し、かつ、ＳＲＡＭと同じインタフェース仕様を有する大容量メモリのことである。
【００２３】
図１に示すように、ＲＡＭ１０は、フラッシュメモリ６０および擬似ＳＲＡＭ４０の動作に必要な制御信号およびタイミングを生成するフラッシュコントローラ２０を備える。
【００２４】
フラッシュコントローラ２０は、バス制御回路１７と、レジスタ群２１と、タミングジェネレータ２３と、フラッシュメモリインタフェース（Ｉ／Ｆ）２５と、クロック生成回路２６と、ＥＣＣ回路２７と、セクタバッファ２９と、ＰＳＲＡＭコントローラ３１とを含む。フラッシュコントローラ２０は例えばクロックに同期して各種信号を生成する順序回路（ハードウェア）で構成される。なお、フラッシュコントローラ２０を、組み込み型のＣＰＵコアとその命令コードを格納したメモリを内蔵し、これによりハードウェアを制御するようにしてもよい。そのように構成することにより、より柔軟で高度な制御が可能となる。
【００２５】
また、ＲＡＭ１０は、擬似ＳＲＡＭ４０に対して入力するアドレスと制御情報とを切替えるためのセレクタ３３ａ、３３ｂを備える。セレクタ３３ａ、３３ｂは、擬似ＳＲＡＭ４０とフラッシュメモリ６０との間のデータ転送時と、それ以外のデータ転送時とで、擬似ＳＲＡＭ４０に入力するアドレス及び制御情報の切替を行なう。
【００２６】
レジスタ群２１は、ＣＰＵ７０からのコマンドを格納するコマンドレジスタ２１ａ、フラッシュメモリ６０上のアクセスすべきセクタアドレスを格納するスタートアドレスレジスタ２１ｂ、擬似ＳＲＡＭ４０上のアクセスすべきアドレスを格納するＰＳＲＡＭアドレスレジスタ２１ｃ、ステータス情報を格納するステータスレジスタ２１ｄ及び転送データを所定の単位でカウントした値を含む転送カウントレジスタ２１ｅを含む。
【００２７】
クロック生成回路２６は、外付けの発振子２８からの出力を用いて基本内部クロックを生成する。
【００２８】
ＥＣＣ回路２７は、フラッシュメモリ６０とセクタバッファ２９間で転送されるデータに対し、フラッシュメモリ６０へのデータ書き込み時はチェックコードの生成（ＥＣＣ符号化処理）を、フラッシュメモリ６０からのデータ読出し時はエラー検出／訂正（ＥＣＣ復号化処理）を実施する。
【００２９】
タイミングジェネレータ２３はフラッシュコントローラ２０内の各ブロックのタイミングを生成する。すなわち、タイミングジェネレータ２３は、ＣＰＵ７０のクロックとは非同期に、クロック生成回路２６で生成される基本内部クロックからフラッシュメモリ６０および擬似ＳＲＡＭ４０の動作に必要な全てのタイミングを生成する。
【００３０】
フラッシュコントローラ２０の動作シーケンスは、ＣＰＵ７０によりレジスタ群２１の各レジスタ２１ａ〜２１ｅに書き込まれた各種パラメータおよびコマンドにより決定される。すなわち、フラッシュコントローラ２０は、ＣＰＵ７０によって各レジスタ２１ａ〜２１ｅに書き込まれた各種パラメータおよびコマンドに応じて制御信号を生成し、フラッシュメモリ６０及び擬似ＳＲＡＭ４０に対する制御を行なう。
【００３１】
フラッシュメモリ６０とＣＰＵ７０間のデータ転送は、セクタバッファ２９を介して実施される。また、ＰＳＲＡＭコントローラ３１により、タイミングジェネレータ２３の制御によってセクタバッファ２９と擬似ＳＲＡＭ４０間のデータ転送が制御される。
【００３２】
＜１．２　ＲＡＭ−フラッシュメモリ間のデータ転送＞
フラッシュメモリ６０からＲＡＭ１０へのデータ転送について説明する。まず、フラッシュメモリ６０からＲＡＭ１０へのデータ転送は次のようにして行なわれる。
【００３３】
ＣＰＵ７０は、読み出すべきフラッシュメモリ６０のセクタアドレスおよび読出しコマンドをレジスタ群２１内のスタートアドレスレジスタ２１ｂ及びコマンドレジスタ２１ａに書き込む。セクタアドレス、コマンド（ＣＭＤ）の順で書き込まれる。コマンドレジスタ２１ａへの書き込みを、アドレス制御回路１５およびモード切替／タイミング制御回路１３で検出し、書き込みが検出されると、フラッシュコントローラ２０へトリガ信号を入力する。このトリガ信号により、フラッシュコントローラ２０の制御による内部動作に移行する。コマンドレジスタ２１ａに書かれたコマンドコードに応じて、クロック生成回路２６の基準クロックからフラッシュメモリ６０の読出しに必要な信号およびタイミングを生成する。そのタイミングにしたがい、セクタアドレスレジスタ２１ｂに設定されたセクタから１セクタ分のデータが読み出され、フラッシュメモリＩ／Ｆ２５を介してセクタバッフア２９へ転送される。
【００３４】
セクタバッファから擬似ＳＲＡＭの指定アドレスへのセクタデータの転送は次のようにして行なわれる。
【００３５】
ＣＰＵ７０は、擬似ＳＲＡＭ４０における書き込みアドレスを、ＰＳＲＡＭアドレスレジスタ２１ｃにセット後、コマンドコードをコマンドレジスタ２１ａに書き込む。コマンドレジスタ２１ａへのコマンドの書き込みにより、フラッシュコントローラ２０が内部動作の制御を開始する。バス制御回路１７により、セクタバッファ２９と擬似ＳＲＡＭ４０との間のバスが接続され、タイミングジェネレータ２３の制御によりセクタバッファ２９内の先頭データから順次内部バス上に読み出されると同時に、擬似ＳＲＡＭ４０に対し、指定アドレスから順次書き込みが行われる。以上のように、フラッシュメモリ６０からＲＡＭ１０（すなわち、擬似ＳＲＡＭ４０）へのデータ転送が行なわれる。ＲＡＭ１０からフラッシュメモリ６０へのデータ転送も同様にして可能である。
【００３６】
＜１．３　内部データ転送の中断、再開の手順＞
ＲＡＭ１０は、擬似ＳＲＡＭ４０とフラッシュメモリ６０間のデータ転送中に、外部ＣＰＵ７０からアクセス要求があった場合、そのデータ転送を中止する。その後、ＣＰＵ７０のアクセスが終了すると、擬似ＳＲＡＭ４０とフラッシュメモリ６０間のデータ転送を再開する。以下にその手順を説明する。
【００３７】
手順を説明する前に擬似ＳＲＡＭ４０に対する制御信号を説明する。
擬似ＳＲＡＭ４０には、外部ＣＰＵ７０からのアクセスによるデータ転送制御に使用する制御信号として種々の信号が規定されている。例えば、以下の制御信号がある。
／ＣＳ１（チップセレクト）：外部ＣＰＵ７０から擬似ＳＲＡＭ４０に対してアクセス要求する際にアクティブにされる。
／ＯＥ（出力イネーブル）：擬似ＳＲＡＭ４０からのデータ読み出しを可能にする際にアクティブにされる。
／ＷＥ（ライトイネーブル）：擬似ＳＲＡＭ４０へのデータの書き込みを可能にする際にアクティブにされる。
ここで、信号名の「／」の記号はその信号がアクティブ・ローで動作することを意味する。例えば、外部ＣＰＵ７０から擬似ＳＲＡＭ４０に対してアクセスを行なう場合、外部チップセレクト信号／ＣＳ１がアクティブ（”Ｌ”）にされる。
【００３８】
さらに、擬似ＳＲＡＭ４０には、上記の外部アクセスに対する制御信号とは別に、内部のフラッシュメモリ６０やその他のメモリとの間でデータを転送（以下このような半導体内部の素子間のデータ転送を「内部転送」という。）するときにのみ使用する以下の制御信号が規定されている。
／ＴＣＥ（チップセレクト）　：擬似ＳＲＡＭに対して内部転送を要求する際にアクティブにされる。
／ＲＣＥ（リードイネーブル）：内部転送において擬似ＳＲＡＭからのデータ読み出しを可能とする際にアクティブにされる。
／ＷＣＥ（ライトイネーブル）：内部転送において擬似ＳＲＡＭへのデータ書き込みを可能とする際にアクティブにされる。
【００３９】
図３を参照し、内部転送中にＣＰＵ７０から擬似ＳＲＡＭ４０へアクセス要求があったときの中断の手順を説明する。
【００４０】
内部転送中に外部チップセレクト信号／ＣＳ１をアクティブ（”Ｌ”）にした場合（図３（ｄ）参照）、フラッシュコントローラ２０内のＰＳＲＡＭコントローラ３１は内部転送用の制御信号／ＴＣＥ、／ＲＣＥ、／ＷＣＥを、外部チップセレクト信号／ＣＳ１をアクティブ（”Ｌ”）になった時点（Ｔ１）から所定時間（ｔ１）経過後に自動的に非アクティブ（”Ｈ”）にする（図３（ｂ）、（ｃ）参照）。これにより、内部転送が中断される。所定時間ｔ１は、外部チップセレクト信号／ＣＳ１がアクティブ（”Ｌ”）になった時点（Ｔ１）から、中断が開始されるまでに、進行中の転送が確実に完了するのに要する時間に設定する。
【００４１】
その際、中断した転送元データのページのアドレスをフラッシュコントローラ２０内のレジスタに保持する。ここで、中断したページのアドレスは、そのアドレスの値自体がフラッシュコントローラ２０内の所定のレジスタに保持されてもよいし、内部転送の開始アドレスと内部転送されたデータのカウント値を保持してもよい。内部転送の開始アドレスと内部転送されたデータのカウント値から中断したページのアドレスが容易に計算できるからである。このとき、内部転送の開始アドレスはスタートアドレスレジスタ２１ｂに保持され、内部転送されたデータのカウント値は転送カウントレジスタ２１ｅに保持される。
【００４２】
このとき、また、外部ＣＰＵからの擬似ＳＲＡＭ４０へのアクセスに関し、内部転送の中断処理により、通常よりも応答時間が遅れるため、フラッシュコントローラ２０はＣＰＵ７０に対して、アクセスを待つよう要求するＷＡＩＴ信号を出力してもよい。
【００４３】
次に、図４を参照し、ＣＰＵ７０の擬似ＳＲＡＭ４０へのアクセス終了後の内部転送の再開の手順を説明する。
【００４４】
ＣＰＵ７０からの外部アクセスによって内部転送を中断していた擬似ＳＲＡＭ４０において、外部アクセス用チップイネーブル信号／ＣＳ１を非アクティブ（”Ｈ”）にした時点（Ｔ２）から、所定時間（ｔ２）経過しても、外部アクセス用チップイネーブル信号／ＣＳ１がアクティブにされなければ、ＰＳＲＡＭコントローラ３１は自動的に、内部転送用制御信号／ＴＣＥをアクティブ（”Ｌ”）にし、続いて、内部転送用ライトイネーブル信号／ＷＣＥまたはリードイネーブル信号／ＲＣＥをアクティブにする。これにより、中断された内部転送が再開される。このとき、フラッシュコントローラ２０内に保持されていたアドレスから転送が再開されるので、過不足なく、効率的にデータ転送を完了することができる。また、転送再開のために所定時間ｔ２の経過を待つのは、一つの外部アクセスが終了後、直ぐに別の外部アクセスが開始されることがあるため、一つの外部アクセスが終了後にそのような連続した外部アクセスがないことを判断するためである。
【００４５】
以上のように、本実施形態における半導体記憶装置は、外部のＣＰＵ７０からのアクセスに対して、実行中の内部転送動作を中断、再開することが可能となるため、内外のアクセスの競合に対しても混乱を生じることなく、応答することができる。また、内部転送動作の中断処理中であることを外部のＣＰＵ７０に知らせるＷＡＩＴ信号の発行機能、及び転送再開アドレスの復元機能を有することにより、ＣＰＵ７０に不要な待ち時間をかけることなく内外のデータ転送を完了することができ、システムのデータ転送性能を向上させることができる。
【００４６】
実施の形態２．
実施の形態１では、擬似ＳＲＡＭ４０に対する制御信号を、半導体記憶装置の外部からのアクセスに関するものと、半導体記憶装置の内部のアクセスに関するものとに分けていた。外部ＣＰＵ７０からのアクセス要求であるチップセレクト信号／ＣＳ１をトリガとして内部転送の中断、再開を制御していたが、そのタイミングについてはＣＰＵ７０に依存するところが大きく、所望の性能を確保することが困難であったり、また、ＷＡＩＴ信号入力を持たないＣＰＵの場合は調停不可能な場合がある。そこで、本実施形態では、ＣＰＵ７０によるコマンド入力タイミングに依存しない内部転送の中断、再開の手順を説明する。
【００４７】
図５に示すように、フラッシュコントローラ２０内のレジスタ群２１において制御レジスタ２１ｘが準備されている。制御レジスタ２１ｘは、種々の設定のためのビットを有する。例えば、書き込み保護、転送サイズ等を指定するためのビットを有する。特に、本実施形態においては、この制御レジスタ２１ｘは内部転送サスペンド・ビット２２ｘを有する。この内部転送サスペンド・ビット２２ｘは、ＣＰＵ７０が内部転送の中断を指示するためのビットであり、内部転送中にＣＰＵ７０が擬似ＳＲＡＭ４０に対してアクセスを要求するときに「１」に設定される。
【００４８】
すなわち、ＣＰＵ７０は、擬似ＳＲＡＭ４０に対してアクセス要求を行なうときは、内部転送サスペンドビット２２ｘに「１」をセットし、ホストからのアクセス要求があることを半導体記憶装置に通知する。フラッシュコントローラ２０は本ビットが「１」に設定されると、直ちに内部転送を中断し、各コントロールラインをＰＳＲＡＭコントローラ３１から、外部のインタフェースに切り替え、アクセス権をＣＰＵ７０に渡す。
【００４９】
制御レジスタ２１ｘは書き込み、読み出し可能なレジスタであるが、サスペンド設定時の読み出し値は、実際に内部転送中断処理が完了するまで「０」を保持し、外部からの制御信号を受付可能な状態になってはじめて「１」を返すように制御される。このため、ＣＰＵ７０は本ビットを読み出すことにより、確実に内部の動作状態を確認でき、かつ、双方のアクセスについて競合を解消できる。すなわち、本ビットが「０」であれば内部転送動作中であることを、「１」であれば内部転送中断状態であることが分かる。
【００５０】
中断した内部転送の再開は内部転送サスペンドビット２２ｘを「０」に設定することにより行なう。すなわち、外部アクセスはＣＰＵ７０の管理下にあるので、ＣＰＵ７０は外部アクセスが終了すると、サスペンドビット２２ｘに「０」を設定する。サスペンドビット２２ｘが「０」に設定されることにより、フラッシュコントローラ２０は外部アクセスが完了したものと判断し、直ちに、ＰＳＲＡＭコントローラ３１からの制御信号を有効とし、中断していた内部転送を再開する。その際、転送を再開するデータの転送元及び転送先のアドレスとしては、中断時にレジスタ群２１に保持されていたアドレスを用いる。
【００５１】
以上のように本実施形態における半導体記憶装置は、ＣＰＵ７０からの中断要求を示すフラグビットを用いることによりＣＰＵ７０からのコマンド書き込みタイミングに依存せず、内外アクセスの競合を処理することができ、メモリの汎用性を維持しながらシステムのデータ転送性能を向上できる。
【００５２】
実施の形態３．
実施の形態１では、擬似ＳＲＡＭ４０のメモリ空間は単一であるため、フラッシュメモリ６０とＣＰＵ７０からのアクセスが重複した場合、フラッシュコントローラ２０による調停作業が必要な上、いずれか一方のデータ転送が完了するまで、もう一方のデータ転送を保留させなければならなかった。そこで、本実施形態では、図６に示すように、擬似ＳＲＡＭ４０’のメモリ空間を２つのバンク４０ａ、４０ｂに分割し、それぞれを独立して制御できるようにする。これにより、内部転送中であっても、フラッシュメモリ６０とデータ転送を行なっていない方の擬似ＳＲＡＭのバンクへのＣＰＵ７０のアクセスに対しては調停を必要とせず、即座にデータ転送を実行できる。また、フラッシュメモリ６０とデータ転送を行なっている方のバンクへのアクセスがあった場合は、前述の実施形態で示したようなデータ転送の中断、再開の手順を行なうことにより、競合したデータ転送を順次処理できる。
【００５３】
また、バンク毎に格納するデータの種類を決めておけば、外部からのアクセスと内部転送との競合の頻度を低減できる。例えば、バンク１（４０ａ）はユーザデータ専用、バンク２（４０ｂ）はオペレーティングシステムやアプリケーションプログラム専用としておけば、バンク２（４０ｂ）へアクセスするのは基本的にＣＰＵ７０だけであり、アクセス競合が発生するのは、バンク１のユーザデータを取り扱う場合だけに限定されるため、実質的に競合の頻度を低減でき、システムの効率を向上できる。
【００５４】
なお、本実施形態では、２つのバンクに分割した場合について説明したが、システム構成、用途に応じてより多くのバンクに分割してもよい。
【００５５】
実施の形態４．
図７に半導体記憶装置のさらに別の実施形態の構成を示す。本実施形態においては、内蔵するランダムアクセスメモリとして、デュアルポート機能を有する擬似ＳＲＡＭ４０”を用いている。デュアルポート機能を有する擬似ＳＲＡＭ４０”に対してはデータの書き込み、読み出しを同時に行なうことができ、擬似ＳＲＡＭ４０”に対するＣＰＵとフラッシュメモリの双方からの同時アクセスに対して調停が不要となる。
【００５６】
図７に示すように、擬似ＳＲＡＭ４０”とＣＰＵ７０間、及び擬似ＳＲＡＭ４０”とフラッシュメモリ６０間のデータバスを、デュアルポートに対応させることにより、ＣＰＵ７０とフラッシュメモリ６０が擬似ＳＲＡＭ４０”に対しそれぞれ常時アクセス可能となり、内部転送途中でデータ転送を中断させるような競合調停処理が不要となる。
【００５７】
すなわち、プログラムコードもユーザデータも擬似ＳＲＡＭ４０”上の同一のメモリ空間に展開した場合に、アクセスの競合を避けるため、プログラムコード格納専用にバンクやメモリを準備する必要がなくなり、前述の実施形態に比し、さらにチップサイズ及び製造コストを削減することができ、また、外部アクセスに対する応答性も向上できる。
【００５８】
実施の形態５．
前述の実施の形態で示した各半導体記憶装置における、本発明に係るブートコード転送機能について説明する。
【００５９】
本発明の「ブート転送機能」とは、パワーオンリセット信号（半導体記憶装置の電源オンによるリセットを指示する信号）がアクティブになったときに、フラッシュメモリ（６０）の所定の領域から、擬似ＳＲＡＭ４０、４０’…の所定の領域へのデータ転送を自動的に実行する機能である。このとき、転送されるデータは、電源投入時にＣＰＵ７０が最初に読み込むデータであるブートコードである。そのブートコードはフラッシュメモリ（６０）の所定の領域に格納されている。
【００６０】
パワーオンリセット信号がアクティブになると、ＲＡＭ１０内に設けたフラッシュコントローラ２０のレジスタ群２１が初期化され、各レジスタの値はデフォルト値に設定される。このデフォルト値は、ブート転送を実行するのに必要な値に設定されており、それにより、パワーオンリセットに連動してブートコードが転送される。ブートコードの転送に必要なデータには、フラッシュメモリ６０の転送元データの先頭アドレス、擬似ＳＲＡＭ４０…上の転送先の先頭アドレス、及び転送セクタ数が含まれる。こららの情報は以下に示すように所定のレジスタにデフォルト値として設定される。
【表１】
2004102508.tif 000003
【００６１】
パワーオンリセットにしたがい、レジスタ群２１の各レジスタの値がデフォルト値に設定され、最後にコマンドレジスタ２１ａの値が設定されると、レジスタのデフォルト値にしたがい、フラッシュメモリ６０の所定の領域から擬似ＳＲＡＭ４０…の所定の領域へブートコードのロードが自動的に開始される。
【００６２】
上記のように電源投入と同時に擬似ＳＲＡＭ４０…にブートコードを展開することにより、従来のシステムに必要であったブートコードを格納するための専用のメモリを準備する必要がなくなり、半導体記憶装置の構成部品数を低減でき、これにより、製造コストの低減、実装面積の縮小が可能となる。
【００６３】
ブートコードの展開先となる擬似ＳＲＡＭ４０…はＤＲＡＭセルを使用しているため、データ保持のため定期的にリフレッシュ動作を実行する必要がある。また、リフレッシュ動作には、消費電力を低減する目的からメモリセル領域を分割し、必要な領域のみデータ保持領域としてリフレッシュするもの（以下「部分リフレッシュ」という。）がある。そこで、擬似ＳＲＡＭ上のブートコードを格納する領域を、ブート転送と同時に自動的にデータ保持領域として設定し、それにより、擬似ＳＲＡＭ上のブートコードを格納した領域に対し部分リフレッシュが行なわれるようにする。このように設定することにより、転送したブートコードを部分リフレッシュにより確実に保持しながら、消費電力を最小限に抑えることができる。なお、ブートコードを格納する領域以外についても必要に応じてデータ保持領域として設定してもよい。
【００６４】
また、図８に示すように、フラッシュメモリ６０の各セクタに、そのセクタに格納されているデータがブートコードであるか否かを示すフラグ６１を持たせてもよい。これにより、ブートコードが、異なるメモリブロックに分割して格納されていても、このフラグ６１に基いてブートコードを検索して、その転送を実行できる。さらに、このフラグ６１を参照することにより、そのセクタに格納されているデータの種別が判断できるため、格納されているデータを不用意に書き替えたり、消去したりしないよう管理することも可能となる。例えば、ユーザデータが格納されている場合に、不用意に書き替えたり、消去したりしないようにできる。
【００６５】
なお、各セクタに、そのセクタの次のセクタがブートコードを格納しているか否かを示すフラグを設けてもよい。これによっても上記のフラグ６１と同様の効果を得ることができる。
【００６６】
【発明の効果】
本発明によれば、不揮発性の第１のメモリと、ランダムアクセス可能な第２のメモリとを１つのパッケージに封止した半導体記憶装置において、第１のメモリと第２のメモリ間のデータ転送動作中に外部のＣＰＵから転送要求があった場合の競合調停が可能になる。
【００６７】
また、電源投入時に第１のメモリから第２のメモリへ自動的に所定のデータがロードされるため、所定のデータを格納する専用の記憶手段が不要となり、回路規模、製造コストを低減できる。
【図面の簡単な説明】
【図１】本発明に係る半導体記憶装置の構成図（実施の形態１）
【図２】半導体記憶装置のＭＣＰ構成を示す図
【図３】半導体記憶装置の内部転送の中断動作を説明するための図
【図４】半導体記憶装置の内部転送の再開動作を説明するための図
【図５】実施の形態２の半導体記憶装置の内部サスペンドビットを説明するための図
【図６】２つのバンクを有する擬似ＳＲＡＭを備えた本発明に係る半導体記憶装置の構成図（実施の形態３）
【図７】デュアルポート擬似ＳＲＡＭを備えた本発明に係る半導体記憶装置の構成図（実施の形態４）
【図８】フラッシュメモリの各セクタに設けられた、セクタに格納されたデータがブートコードか否かを示すフラグを説明した図
【符号の説明】
１０，１０’，１０”　ＲＡＭ、　２０　フラッシュコントローラ、　２２ｘ　内部転送サスペンド・ビット　３１　ＰＳＲＡＭコントローラ、　４０，４０’，４０”　擬似ＳＲＡＭ、　６０　ストレージフラッシュメモリ、　６１　セクタに格納されたデータがブートコードか否かを示すフラグ、　７０　ＣＰＵ、　１００　ＭＣＰ。
【図１】
2004102508.tif 000004
【図２】
2004102508.tif 000005
【図３】
2004102508.tif 000006
【図４】
2004102508.tif 000007
【図５】
2004102508.tif 000008
【図６】
2004102508.tif 000009
【図７】
2004102508.tif 000010
【図８】
2004102508.tif 000011