(57)【特許請求の範囲】
【請求項１】
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラと、
前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備え、
前記メモリコントローラは、前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に直接転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号および前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステム。
【請求項２】
請求項１記載のメモリシステムにおいて、
前記メモリコントローラは、メモリシステムのパワーオンに基づいて、前記不揮発読み出しアクセス信号または前記揮発書き込みアクセス信号の生成を開始することを特徴とするメモリシステム。
【請求項３】
請求項１記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備えていることを特徴とするメモリシステム。
【請求項４】
請求項３記載のメモリシステムにおいて、
前記揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有し、前記エラー訂正回路により訂正動作が実施されたデータに対応するフラグがセットされるフラグ領域を備え、
前記エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施することを特徴とするメモリシステム。
【請求項５】
請求項３記載のメモリシステムにおいて、
データおよびエラー訂正コードを誤り訂正するために前記揮発性メモリから読み出すとともに、前記エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻す揮発メモリ制御回路を備えていることを特徴とするメモリシステム。
【請求項６】
請求項５記載のメモリシステムにおいて、
前記揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
前記メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステム。
【請求項７】
請求項１記載のメモリシステムにおいて、
リフレッシュ要求を周期的に生成するリフレッシュ制御回路を備え、
前記揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有し、
前記揮発メモリ制御回路は、前記リフレッシュ要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出すことを特徴とするメモリシステム。
【請求項８】
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラと、
前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備え、
前記メモリコントローラは、前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に直接転送するために、前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号および前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステム。
【請求項９】
請求項８記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備え、
前記エラー訂正回路は、メモリシステムの外部から前記メモリコントローラに供給されるデータのエラー訂正コードを生成し、生成したエラー訂正コードを供給されたデータとともに前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に書き込み、
前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムの外部から前記揮発性メモリへのデータの書き込みに同期して実施されることを特徴とするメモリシステム。
【請求項１０】
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線とを備えたメモリシステムの動作方法であって、
前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に直接転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号および前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を互いに同期して生成することを特徴とするメモリシステムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリと揮発性メモリとを有するメモリシステムおよびこのメモリシステムの動作方法に関する。
【背景技術】
【０００２】
携帯電話、デジタルカメラ等の携帯機器は、各種パラメータなどのデータを一時的に保持するＤＲＡＭ等の揮発性メモリと、電源のオフ時にプログラムやデータを保持するためのフラッシュメモリ等の不揮発性メモリを有している。一般に、ＮＡＮＤタイプのフラッシュメモリは、データをランダムにアクセスできず、アクセス時間が遅い。このため、ＮＡＮＤタイプのフラッシュメモリにＭＰＵのプログラムが格納される場合、ＭＰＵは、プログラムを円滑に実行できない。この問題を解決するために、従来、フラッシュメモリとＤＲＡＭとによりメモリシステムを形成し、電源のオン時にフラッシュメモリからＤＲＡＭにプログラムを転送している。そして、ＭＰＵは、ＤＲＡＭからプログラムを読み出している。この際、フラッシュメモリからＤＲＡＭへのデータ（プログラム）の転送をＭＰＵに負荷をかけることなく実施するメモリコントローラが提案されている（例えば、特許文献１参照）。このメモリコントローラは、フラッシュメモリ上の実データをエラー訂正コードとともに読み出し、実データをエラー訂正し、訂正した実データのみをＤＲＡＭに書き込む。
【０００３】
また、不揮発性メモリおよび揮発性メモリのデータ線をスイッチを介して互いに接続し、一方のメモリから読み出されたデータをスイッチを介して他方のメモリに転送する手法が提案されている（例えば、特許文献２参照）。この手法では、不揮発性メモリは、エラー訂正コードが格納される領域を有していない。さらに、ＮＡＮＤタイプのフラッシュメモリのエラー訂正回路、コントローラ回路およびインタフェース回路を揮発性メモリ内に形成する手法が提案されている（例えば、特許文献３参照）。
【特許文献１】特開２００２−３２８８３６号公報
【特許文献２】特開昭６３−１８１１９４号公報
【特許文献３】特開２００２−２５１８８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、ＮＡＮＤタイプのフラッシュメモリにプログラムを格納する場合、ＭＰＵは、フラッシュメモリからＤＲＡＭに転送されたプログラムを読み出す必要がある。この場合、プログラムがフラッシュメモリから読み出され、エラー訂正されたプログラムがＤＲＡＭに全て転送された後に、プログラムの読み出しは開始される。このため、フラッシュメモリからＤＲＡＭにプログラムの転送を開始してから、ＭＰＵがプログラムの読み出しを開始するまでに多大な時間が掛かってしまう。
【０００５】
特に、パワーオン時にフラッシュメモリからＤＲＡＭにプログラムを転送するシステムでは、パワーオンからＭＰＵが実際にプログラムを実行するまでの時間が掛かってしまう。具体的には、ユーザが機器の電源をオンしてから機器を操作できるまでの時間が長いため、機器の使い勝手が悪くなる。
【０００６】
一方、ＭＰＵによるプログラムの読み出しが、ＤＲＡＭへの転送前に開始されると、プログラムの実行が長時間停止するおそれがある。具体的には、ＤＲＡＭに転送されていないプログラムの読み出しが要求されたときに、ＭＰＵは、このプログラムがＤＲＡＭに転送されるまで長時間待たなくてはならない。ＭＰＵの動作が停止することでシステムに不
具合が生じてしまう。
【０００７】
本発明の目的は、不揮発性メモリにデータとエラー訂正コードとが格納され、かつ揮発性メモリ内のデータをアクセスするために不揮発性メモリから揮発性メモリにデータの転送が必要なメモリシステムにおいて、転送の開始からデータがアクセス可能になるまでの時間を短縮することにある。
【課題を解決するための手段】
【０００８】
本発明の一形態では、不揮発性メモリは、データを記憶する不揮発データ領域とエラー訂正コードとを記憶する不揮発付加領域を有する。エラー訂正コードは、不揮発データ領域に記憶されるデータのエラーを訂正するために使用される。揮発性メモリは、不揮発データ領域および不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する。すなわち、揮発性メモリは、不揮発性メモリ用のエラー訂正コードを記憶する揮発付加領域を有する。
【０００９】
メモリコントローラは、不揮発データ領域および不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを揮発データ領域および揮発付加領域にそれぞれ書き込む。不揮発性メモリに記憶されたデータをエラー訂正することなく、エラー訂正コードとともに揮発性メモリに転送することで、不揮発性メモリから揮発性メモリへのデータの転送時間を短くできる。したがって、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
【００１０】
これに対して、エラー訂正しながら不揮発性メモリから揮発性メモリにデータのみを転送する場合、揮発性メモリからのデータの読み出しは、全てのデータが揮発性メモリに書き込まれるまで実施することができない。全てのデータが揮発性メモリに書き込まれるまでの時間は、全てのデータのエラー訂正時間を含むため長くなる。このため、従来、揮発性メモリへの転送の開始から揮発性メモリ内のデータがアクセス可能になるまでの時間は長い。
【００１１】
本発明の一形態における好ましい例では、メモリコントローラは、不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号または揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を生成する。これにより、不揮発データ領域および不揮発付加領域に記憶されたデータおよびエラー訂正コードは、揮発データ領域および揮発付加領域に直接転送される。例えば、不揮発性メモリのデータ端子と揮発性メモリのデータ端子とは、共通のデータバス線により互いに接続されている。不揮発性メモリの読み出し動作と、揮発性メモリの書き込み動作を同時に実施することにより、データおよびエラー訂正コードの転送時間を短縮できる。この結果、不揮発性メモリから揮発性メモリへの転送の開始からデータがアクセス可能になるまでの時間をさらに短縮できる。
【００１２】
本発明の一形態における好ましい例では、メモリコントローラは、メモリシステムのパワーオンに基づいて、不揮発読み出しアクセス信号または揮発書き込みアクセス信号の生成を開始する。パワーオン時のデータ転送時間が短縮されるため、パワーオン後にシステムが動作を開始するまでの時間を従来より短縮できる。この結果、システムの使い勝手を向上できる。
【００１３】
本発明の一形態における好ましい例では、エラー訂正回路は、データおよびエラー訂正コードが揮発性メモリに書き込まれた後に、揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正する。すなわち、エラー訂正は、不揮発性メモリから読み出されるデータに対してではなく、揮発性メモリから読み出されるデータに対して実施される。
揮発性メモリに転送されたデータは、エラーを含んでいる可能性がある。しかし、エラー訂正回路により、データが必要になった時点でそのデータのエラー訂正ができる。この結果、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
【００１４】
本発明の一形態における好ましい例では、フラグ領域は、揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有する。各フラグは、エラー訂正回路により訂正動作が実施されたときにセットされる。エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施する。エラー訂正されたデータが再びエラー訂正されることが防止されるため、エラー訂正の頻度を少なくでき、エラー訂正に必要な総時間を短縮できる。この結果、システムによるデータの読み出し効率を向上できる。
【００１５】
本発明の一形態における好ましい例では、揮発メモリ制御回路は、データを誤り訂正するために、データおよびエラー訂正コードを揮発性メモリから読み出すとともに、エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを揮発性メモリに書き戻す。正しいデータが揮発性メモリに書き戻された後、そのデータのエラー訂正は不要である。各データについて、エラーが１回訂正されればよい。この結果、エラー訂正の頻度を低くでき、アクセス時間の平均値を短縮できる。
【００１６】
本発明の一形態における好ましい例では、揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、揮発性メモリからデータおよびエラー訂正コードを読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを揮発性メモリに書き戻す。メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力する。アクセス要求毎にエラー訂正を実施することで、必要なデータのみエラー訂正できる。必要最小限のエラー訂正のみ実施することで、アクセス要求からデータが出力されるまでの時間が長くなることを防止できる。この結果、システムによるデータの読み出し効率を向上できる。
【００１７】
例えば、揮発メモリ制御回路は、揮発性メモリのアイドル中に、データおよびエラー訂正コードを揮発性メモリから読み出す。また、揮発メモリ制御回路は、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを揮発性メモリに書き戻す。エラー訂正をバックグラウンドで実施することで、データの読み出し時にエラー訂正する頻度を下げることができる。この結果、システムによるデータの読み出し効率を向上できる。
【００１８】
本発明の一形態における好ましい例では、リフレッシュ制御回路は、リフレッシュ要求を周期的に生成する。揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有する。揮発メモリ制御回路は、リフレッシュ要求に応答して、データおよびエラー訂正コードを揮発性メモリから読み出す。これにより、リフレッシュ動作とエラー訂正動作を同時に実施することができる。また、エラー訂正によりソフトエラー等の不良を救済できるため、揮発性メモリの信頼性を向上できる。
【００１９】
本発明の一形態における好ましい例では、メモリコントローラは、揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成する。これにより、揮発性メモリの揮発データ領域および揮発付加領域に記憶されたデータおよびエラー訂正コードは、不揮発性メモリの不揮発データ領域および不揮発付加領域に直接転送される。揮発性メモリの読み出し動作と、不揮発性メモリの書き込み動作が同時に実施されるため、データおよびエラー訂正コードの転送時間を短縮できる。
【００２０】
例えば、揮発性メモリから不揮発性メモリへのデータおよびエラー訂正コードの転送は
、メモリシステムのパワーオフに基づいて、パワーオフの前に実施される。これにより、パワーオフシーケンスに必要な時間を短縮できる。
【発明の効果】
【００２１】
本発明では、不揮発性メモリから揮発性メモリに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”／”の付いている信号は、負論理を示している。
【００２３】
図１は、本発明の第１の実施形態を示している。メモリシステムＭＳＹＳは、システムオンチップＳＯＣに形成されたメモリコントローラＭＣＮＴと、ＳＯＣに接続されたＮＡＮＤタイプのフラッシュメモリＦＬＡＳＨ、ＤＤＲ−ＳＤＲＡＭ（Double Data Rate Synchronous DRAM）と、ＳＯＣ、ＦＬＡＳＨ、ＳＤＲＡＭの間に配線された信号線とにより形成されている。ＳＯＣ、ＦＬＡＳＨ、ＳＤＲＡＭは、図示しない他のチップとともに、システム基板ＳＹＳ上に搭載されている。システム基板ＳＹＳは、ＳＯＣ、ＦＬＡＳＨおよびＳＤＲＡＭが動作可能な期間に、システムリセット信号／ＲＳＴを高論理レベルに維持する。システム基板ＳＹＳは、例えば、携帯電話のメイン基板として使用される。
【００２４】
ＳＯＣは、携帯電話の動作を制御するマイクロコントローラＭＰＵ（システムコントローラ）、無線通信機能を実現するための周辺回路ＩＰ１、携帯電話の画面表示を制御するための周辺回路ＩＰ２、クロック信号ＣＬＫを生成するクロック生成器ＣＧ、メモリコントローラＭＣＮＴ、およびＭＰＵ、ＩＰ１、ＩＰ２、ＭＣＮＴに接続されたシステムバスＳＢＵＳを有している。
【００２５】
ＦＬＡＳＨは、クロック非同期式の汎用の不揮発性メモリである。ＦＬＡＳＨは、レディ／ビジー端子Ｒ／Ｂ、チップイネーブル端子／ＣＥ１、ライトイネーブル端子／ＷＥ１、リードイネーブル端子／ＲＥ、コマンドラッチイネーブル端子ＣＬＥ、アドレスラッチイネーブル端子ＡＬＥおよびデータ端子Ｉ／Ｏ０−７を有している。ＦＬＡＳＨは、実データを記憶するデータ領域Ｄ１（メインメモリ、不揮発データ領域）と、エラー訂正コードを記憶するエラー訂正コード領域Ｅ１（スペアエリア、不揮発付加領域）とを有している。この実施形態では、予め、携帯電話を動作させるためにＭＰＵが実行するためのプログラムが、データ領域Ｄ１に記憶され、データ領域Ｄ１に記憶されるプログラムのエラー訂正コードがエラー訂正コード領域Ｅ１に記憶される。
【００２６】
ＦＬＡＳＨは、例えば、記憶領域として３２ｋ個のページを有している。各ページは、５１２バイト（４０９６ビット）のデータ領域Ｄ１と１６バイト（１２８ビット）のエラー訂正コード領域Ｅ１とで構成される。なお、この実施形態では、４０９６ビットのデータに対して、１ビットエラーの検出、訂正または２ビットエラーの検出が可能である。このために１３ビットのエラー訂正コード（Error Correction Code）が必要である。したがって、エラー訂正コード領域Ｅ１のビット幅は、最低１３ビットあればよい。エラー訂正コード領域Ｅ１のビット幅（１２８ビット）に余裕があるため、２ビット以上のエラー検出、訂正をすることも可能である。
【００２７】
ＳＤＲＡＭは、クロック同期式の汎用の揮発性メモリであり、リフレッシュ動作が必要なダイナミックメモリセルを有している。ＳＤＲＡＭは、クロック端子ＣＬＫ、／ＣＬＫ、クロックイネーブル端子ＣＫＥ、チップセレクト端子／ＣＳ、ライトイネーブル端子／
ＷＥ、ロウアドレスストローブ端子／ＲＡＳ、コラムアドレスストローブ端子／ＣＡＳ、データストローブ信号ＤＱＳ、アドレス端子ＡＤおよびデータ端子Ｉ／Ｏ０−７を有している。ＳＤＲＡＭは、データ領域Ｄ１に対応するデータ領域Ｄ２（揮発データ領域）と、エラー訂正コード領域Ｅ１に対応するエラー訂正コード領域Ｅ２（揮発付加領域）とを有している。なお、本発明は、ＳＤＲ（Single Data Rate）方式のＳＤＲＡＭにも適用できる。
【００２８】
データ領域Ｄ２は、ＦＬＡＳＨのデータ領域Ｄ１から読み出されるプログラムを記憶するために割り当てられている。エラー訂正コード領域Ｅ２は、ＦＬＡＳＨのエラー訂正コード領域Ｅ１から読み出されるエラー訂正コードを記憶するために割り当てられている。また、ＳＤＲＡＭは、領域Ｄ２、Ｅ２以外に、携帯電話の動作に必要なデータを記憶するための図示しないバッファ領域を有している。
【００２９】
ＦＬＡＳＨ、ＳＤＲＡＭおよびメモリコントローラＭＣＮＴの間には、ＦＬＡＳＨおよびＳＤＲＡＭに共有される共通のデータバス線Ｉ／Ｏ０−７と、ＦＬＡＳＨおよびＳＤＲＡＭにそれぞれ専用の制御信号線（／ＣＥ１、／ＣＳなど）が配線されている。
【００３０】
メモリコントローラＭＣＮＴは、ＦＬＡＳＨの読み出し動作、プログラム動作（書き込み動作）を制御するコントロール部ＣＮＴ１と、ＳＤＲＡＭの読み出し動作、書き込み動作およびリフレッシュ動作を制御するコントロール部ＣＮＴ２１（揮発メモリ制御回路）とを有している。コントロール部ＣＮＴ１は、クロック信号ＣＬＫに同期してＦＬＡＳＨをアクセスするための信号を出力する。
【００３１】
コントロール部ＣＮＴ２１は、エラー訂正回路ＥＣＣ、フラグ領域ＦＬＧおよびバッファ領域ＢＵＦを有している。コントロール部ＣＮＴ２１は、クロック信号ＣＬＫに同期して動作し、ＳＤＲＡＭをアクセスするための信号を出力する。コントロール部ＣＮＴ２１は、ＳＤＲＡＭから読み出されたプログラムデータおよびエラー訂正コードを、バッファ領域ＢＵＦに保持するとともに、エラー訂正回路ＥＣＣに転送する。さらに、コントロール部ＣＮＴ２１は、エラーが訂正されたプログラムデータおよびこのプログラムデータのエラーを訂正するためのエラー訂正コードをバッファ領域ＢＵＦおよびＳＤＲＡＭに書き戻す機能を有している。
【００３２】
また、コントロール部ＣＮＴ２１は、クロック信号ＣＬＫと逆の位相を有するクロック信号／ＣＬＫと、データストローブ信号ＤＱＳとを出力する。データストローブ信号ＤＱＳは、ＳＤＲＡＭの書き込み動作時に、書き込みデータ信号Ｉ／Ｏ０−７に同期してコントロール部ＣＮＴ２１から出力される。一方、データストローブ信号ＤＱＳは、ＳＤＲＡＭの読み出し動作時に、読み出しデータ信号Ｉ／Ｏ０−７に同期してＳＤＲＡＭから出力される。なお、コントロール部ＣＮＴ２１は、ＳＤＲＡＭをリフレッシュ動作させるリフレッシュ制御回路の機能も有している。
【００３３】
エラー訂正回路ＥＣＣは、ＳＤＲＡＭから読み出されたプログラムデータおよびエラー訂正コードを用いて、プログラムデータのエラーを訂正する機能を有している。エラー訂正回路ＥＣＣをメモリコントローラＭＣＮＴに形成することで、従来のエラー訂正回路を利用できる。この結果、回路設計を容易にできる。１回の読み出し、エラー訂正および書き戻しは、５１２バイトのデータおよび２バイトのエラー訂正コード（合計５１４バイト、ＦＬＡＳＨの１ページに対応）を１単位として実施される。このために、コントロール部ＣＮＴ２１は、バッファ領域ＢＵＦを利用して少なくとも５１４バイトのバースト読み出し動作および５１４バイトのバースト書き込み動作を実施する機能を有している。
【００３４】
フラグ領域ＦＬＧは、エラー訂正回路ＥＣＣにプログラムデータが供給され、エラー訂
正が実施されたことを記憶する複数のフラグを有している。各フラグは、ＳＤＲＡＭの１ページ（５１４バイト；データの格納位置）に対応して形成されている。コントロール部ＣＮＴ２１は、パワーオン時に各フラグをリセットし、エラー訂正回路ＥＣＣへのプログラムデータの供給に同期して、対応するフラグをセットする。
【００３５】
フラグは、エラーの有無に関わりなく、エラー訂正動作が実施されたときにセットされる。なお、フラグは、エラー訂正回路ＥＣＣによりセットされてもよい。また、コントロール部ＣＮＴ２１は、フラグがセットされているページ（プログラムデータおよびエラー訂正コード）を読み出した場合、このプログラムデータのエラーを訂正済みと判断し、エラー訂正しない。したがって、この場合、書き戻し動作も実施されない。すなわち、各ページのエラー訂正および書き戻しは、メモリシステムＭＳＹＳのパワーオン後に１回しか実施されない。これにより、エラー訂正の頻度を少なくでき、エラー訂正に必要な総時間を短縮できる。この結果、アクセス時間の平均値を短縮でき、ＭＰＵによるプログラムデータの読み出し効率を向上できる。
【００３６】
図２は、図１に示したメモリシステムＭＳＹＳのパワーオン時の動作を示している。システム基板ＳＹＳに電源電圧ＶＤＤが供給され（ＰＯＮ）、電源電圧ＶＤＤが所定の電圧に到達すると、システムリセット信号／ＲＳＴが低論理レベルから高論理レベルに変化する（図２（ａ））。ＳＯＣは、システムリセット信号／ＲＳＴの高論理レベルへの変化に応答してクロック信号ＣＬＫの生成を開始する（図２（ｂ））。クロック信号ＣＬＫは、コントロール部ＣＮＴ１、ＳＤＲＡＭおよびＭＰＵ、ＩＰ１、ＩＰ２等のＳＯＣ内の機能ブロックに供給される。コントロール部ＣＮＴ２１は、所定のクロック数後にクロックイネーブル信号ＣＫＥを高論理レベルに変化させる（図２（ｃ））。
【００３７】
次に、コントロール部ＣＮＴ２１は、ＳＤＲＡＭのパワーオンシーケンスＰＯＮＳを実施するために、プリチャージコマンドやオートリフレッシュコマンド、モードレジスタセットコマンドなどの所定のコマンド群をＳＤＲＡＭに供給する（図２（ｄ））。パワーオンシーケンスＰＯＮＳの完了後、コントロール部ＣＮＴ１は、ＦＬＡＳＨからプログラムデータおよびエラー訂正コードを読み出すための読み出しコマンド（不揮発読み出しアクセス信号）をＦＬＡＳＨに順次出力する。コントロール部ＣＮＴ２１は、ＦＬＡＳＨから読み出したプログラムデータおよびエラー訂正コードをＳＤＲＡＭに書き込むための書き込みコマンド（揮発書き込みアクセス信号）をＳＤＲＡＭに順次出力する。すなわち、読み出しコマンドおよび書き込みコマンドの生成は、パワーオンに同期して開始される。そして、ＦＬＡＳＨからＳＤＲＡＭにプログラムデータおよびエラー訂正コードが転送される転送動作ＴＲＦＤが実施される（図２（ｅ））。なお、転送動作ＴＲＦＤの詳細は、後述する図３で説明する。
【００３８】
転送動作ＴＲＦＤの完了により、ＦＬＡＳＨに格納されていたプログラムデータおよびそのエラー訂正コードは、ＳＤＲＡＭに書き込まれる。但し、この状態では、プログラムデータのエラーは訂正されていない。このため、ＭＰＵは、プログラムを読み出して実行することはできない。
【００３９】
図３は、図２に示したＦＬＡＳＨからＳＤＲＡＭへのデータの転送動作ＴＲＦＤの詳細を示している。なお、予め、ＳＤＲＡＭは、モードレジスタセットコマンドによりバースト転送モードを選択している。
【００４０】
まず、コントロール部ＣＮＴ１は、ＦＬＡＳＨからプログラムデータおよびエラー訂正コードを読み出すために、読み出しコードＲＤおよび開始アドレスをデータバス線Ｉ／Ｏ０−７に出力する（図３（ａ））。コントロール部ＣＮＴ２１は、コントロール部ＣＮＴ１が受けたＲ／Ｂ信号の高論理レベルに応答して／ＲＡＳ信号を活性化し、同時にロウア
ドレスＲＡを出力する（図３（ｂ、ｃ））。
【００４１】
コントロール部ＣＮＴ１は、／ＲＡＳ信号の活性化から所定時間後に、／ＲＥ信号をクロック信号ＣＬＫに同期して出力する（図３（ｄ））。／ＲＥ信号の立ち下がりエッジに同期してＦＬＡＳＨからデータ（プログラム）が読み出される（図３（ｅ））。コントロール部ＣＮＴ２１は、／ＲＥ信号の最初の立ち下がりエッジに同期して／ＣＡＳ信号および／ＷＥ信号を活性化し、同時にコラムアドレスＣＡ（書き込みアドレス）を出力する（図３（ｆ））。これにより、ＦＬＡＳＨから読み出されたプログラムは、共通のデータバス線Ｉ／Ｏ０−７を介してＳＤＲＡＭに直接書き込みされる。
【００４２】
転送動作ＴＲＦＤでは、ＦＬＡＳＨへの読み出しコマンド（／ＲＥ）およびＳＤＲＡＭへの書き込みコマンド（／ＷＥ）は、互いに同期して供給される。これにより、プログラムデータおよびエラー訂正コードをＦＬＡＳＨからＳＤＲＡＭに直接転送できる。したがって、プログラムデータおよびエラー訂正コードの転送時間を短縮でき、パワーオンからＭＰＵによるアクセス開始までの時間を短縮できる。なお、エラー訂正コードのＦＬＡＳＨからＳＤＲＡＭへの転送も同様にして実施される。
【００４３】
図４は、図１に示したＭＰＵからアクセス要求を受けたときのコントロール部ＣＮＴ２１の動作を示している。この動作は、コントロール部ＣＮＴ２１に形成されるハードウエアにより実施される。ここで、アクセス要求は、ＭＰＵによるプログラムのフェッチ動作に対応する。本実施形態では、プログラムデータのエラー訂正は、アクセス要求毎に実施される。これにより、ＭＰＵが必要としているプログラムデータのみをエラー訂正できる。また、各ページにおいてエラー訂正は一度しか実施されない。必要最小限のエラー訂正のみ実施することで、アクセス要求からデータが出力されるまでの時間が長くなることを防止できる。この結果、システムによるデータの読み出し効率を向上できる。
【００４４】
まず、ステップＳ１０において、コントロール部ＣＮＴ２１は、アクセス要求に応答してＳＤＲＡＭから対応する１ページ分のプログラムデータを読み出し、読み出したプログラムデータをバッファ領域ＢＵＦに保持する。ステップＳ１２において、コントロール部ＣＮＴ２１は、読み出したプログラムデータがエラー訂正済みか否かを判定する。すわなち、読み出したページに対応するフラグがセットされているか否かが判定される。フラグがセットされている場合、エラー訂正回路ＥＣＣによる訂正動作が実施済みのため、処理はステップＳ２２に移行する。フラグがセットされていない場合、読み出したプログラムデータをエラー訂正するために、処理はステップＳ１４に移行する。
【００４５】
ステップＳ１４において、エラー訂正回路ＥＣＣによる読み出したプログラムデータのエラーの有無が判定される（エラー検出）。エラーがない場合、処理はステップＳ２０に移行する。すなわち、エラーが検出されない場合、後述するステップＳ１８のエラー訂正動作および書き戻し動作は実施されない。これにより、後述するステップＳ２２が早く実施されるため、プログラムデータをＭＰＵに迅速に出力できる。一方、エラーがある場合、処理はステップＳ１６に移行する。ステップＳ１６において、エラー訂正回路ＥＣＣによりエラー訂正が実施される。
【００４６】
次に、ステップＳ１８において、コントロール部ＣＮＴ２１は、訂正されたプログラムデータと新たに生成されたエラー訂正コードをバッファ領域ＢＵＦおよびＳＤＲＡＭに書き戻す。ステップＳ２０において、コントロール部ＣＮＴ２１は、読み出したページに対応するフラグをセットする。次に、ステップＳ２２において、コントロール部ＣＮＴ２１は、バッファ領域ＢＵＦに保持されているプログラムデータをシステムバスＳＢＵＳを介してＭＰＵに順次に出力する（例えば、３２ビット単位）。そして、アクセス要求に応答するプログラムデータの出力動作が完了する。
【００４７】
なお、コントロール部ＣＮＴ２１は、エラー訂正等によりプログラムデータをＭＰＵに一時的に出力できない場合、ＭＰＵにウエイト信号を出力する。この際、ステップＳ１８とステップＳ２２を同時に実施することで、ウエイト信号の出力期間を短くできる。このため、ＭＰＵは、プログラムデータを早くフェッチできる。
【００４８】
図５は、パワーオンからＭＰＵが動作を開始するまでの時間を示している。本発明では、ＭＰＵは、ＳＤＲＡＭから読み出された最初の１ページ分のデータがエラー訂正された直後に、プログラムをフェッチ可能である。また、エラー訂正は、ＭＰＵからのアクセス要求に応答して実施される。このため、分岐命令等により異なるページのアクセス要求が発生する場合にも、ウエイト期間は、１ページ分のエラー訂正期間で済む。
【００４９】
これに対して、従来では、ＭＰＵは、ＦＬＡＳＨから読み出されエラー訂正されたプログラムデータがＳＤＲＡＭに全て転送された後でなければ、プログラムをフェッチできない。これは、ＦＬＡＳＨからＳＤＲＡＭへの転送およびエラー訂正が、例えば、下位アドレスから上位アドレスに向けて順次実施されるため、分岐命令が発生したときに対応できないためである。
【００５０】
以上、第１の実施形態では、ＦＬＡＳＨに記憶されたプログラムデータをエラー訂正することなく、エラー訂正コードとともにＳＤＲＡＭに転送することで、ＦＬＡＳＨからＳＤＲＡＭへのプログラムデータの転送時間を短くできる。したがって、ＦＬＡＳＨからＳＤＲＡＭに転送が開始されてからデータがアクセス可能になるまでの時間を短縮できる。さらに、アクセス要求毎に読み出されるプログラムデータのエラー訂正することで、ＦＬＡＳＨからＳＤＲＡＭへのログラムデータの転送の開始からプログラムデータがＭＰＵによりアクセス可能になるまでの時間を短縮できる。特に、パワーオンからＭＰＵによるアクセス開始までの時間をさらに短縮できる。この結果、携帯電話の使い勝手を向上できる。
【００５１】
図６は、本発明の第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第１の実施形態のコントロール部ＣＮＴ２１の代わりに、コントロール部ＣＮＴ２２が形成されている。その他の構成は、第１の実施形態と同じである。コントロール部ＣＮＴ２２は、第１の実施形態のコントロール部ＣＮＴ２１からフラグ領域ＦＬＧを除いて構成されている。
【００５２】
図７は、第２の実施形態において、ＭＰＵからアクセス要求を受けたときのコントロール部ＣＮＴ２２の動作を示している。この実施形態のコントロール部ＣＮＴ２２の動作フローは、図４に示したフローからステップＳ１２およびステップＳ２０を除いて構成されている。すなわち、コントロール部ＣＮＴ２２は、エラー訂正を、１ページのプログラムデータを読み出す毎に必ず実施する。これにより、ソフトエラー等によりＳＤＲＡＭ内で発生した不良を救済でき、ＭＰＵにエラー訂正されたプログラムデータを出力できる。
【００５３】
以上、第２の実施形態においても第１の実施形態と同様の効果を得ることができる。さらに、不良が救済できるため、ＳＤＲＡＭの信頼性を向上できる。また、フラグ領域ＦＬＧが不要なため、メモリコントローラＭＣＮＴの回路規模を削減できる。
【００５４】
図８は、本発明の第３の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第１の実施形態のコントロール部ＣＮＴ２１の代わりに、コントロール部ＣＮＴ２３が形成されている。また、ＦＬＡＳＨは、プログラムを記憶するプログラム領
域ＦＰＧと、データを記憶するデータ領域ＦＤＴとが割り当てられている。ＳＤＲＡＭは、プログラムを記憶するプログラム領域ＤＰＧと、データを記憶するデータ領域ＤＤＴとが割り当てられている。その他の構成は、第１の実施形態と同じである。システム基板ＳＹＳは、例えば、カメラ機能を有する携帯電話のメイン基板として使用される。
【００５５】
プログラム領域ＦＰＧ、ＤＰＧには、ＭＰＵが実行するプログラムデータが記憶される。データ領域ＦＤＴ、ＤＤＴには、携帯電話の動作に必要な各種パラメータ、起動画面、カメラ機能により撮影された画像データ等が記憶される。一般に、プログラムデータは、パワーオンからパワーオフの間で変化しない。一方、パラメータ等のデータは、パワーオン後のユーザの操作により変更され、パワーオフ後も保持する必要がある。また、カメラ機能により撮影された画像データは、パワーオフまでにＦＬＡＳＨにセーブする必要がある。このため、本実施形態では、パワーオフ時と撮影時に、ＳＤＲＡＭからＦＬＡＳＨにデータを転送する。なお、撮影された画像データは、撮影毎にエラー訂正コードとともにＳＤＲＡＭに書き込まれる。エラー訂正コードは、画像データを用いてエラー訂正回路ＥＣＣにより生成される。画像データおよび画像データに対応するエラー訂正コードのＦＬＡＳＨへの書き込みは、ＳＤＲＡＭに記憶された画像データおよびエラー訂正コードを用いて実施される。
【００５６】
図９は、図８に示したメモリシステムＭＳＹＳのパワーオフ時の動作を示している。パワーオン時の動作は、上述した図２および図３と同じである。まず、ユーザの操作等によりパワースイッチがオフされたとき（パワーオフ要求）、ＭＰＵは、パワーオフシーケンスＰＯＦＳを実施する。パワーオフシーケンスＰＯＦＳと並行して、コントロール部ＣＮＴ２３は、ＳＤＲＡＭからＦＬＡＳＨへのデータの転送動作ＴＲＤＦを実施する。転送動作ＴＲＤＦは、ＳＤＲＡＭに保持されているプログラム、データおよびこれらのエラー訂正コードを全てＦＬＡＳＨに書き込む動作である。転送動作ＴＲＤＦの完了後、システム基板ＳＹＳによりリセット信号／ＲＳＴが低論理レベルに活性化され、クロック信号ＣＬＫが停止し、クロックイネーブル信号ＣＫＥが非活性化される。この後、電源電圧ＶＤＤの供給が停止され、メモリシステムＭＳＹＳは、パワーオフされる（ＰＯＦＦ）。すなわち、転送動作ＴＲＤＦは、メモリシステムＭＳＹＳのパワーオフに同期して、パワーオフの直前に実施される。
【００５７】
より詳細には、コントロール部ＣＮＴ２３は、ＳＤＲＡＭからプログラム、データおよびこれらのエラー訂正コードをＳＤＲＡＭから読み出すための読み出しコマンド（揮発読み出しアクセス信号）をＳＤＲＡＭに出力する。コントロール部ＣＮＴ１は、ＳＤＲＡＭから読み出したプログラム、データおよびこれらのエラー訂正コードをＦＬＡＳＨに書き込むための書き込みコマンド（不揮発書き込みアクセス信号）をＦＬＡＳＨに出力する。なお、転送動作ＴＲＤＦの詳細は、後述する図１０で説明する。
【００５８】
図１０は、図９に示したＳＤＲＡＭからＦＬＡＳＨへのデータの転送動作ＴＲＤＦの詳細を示している。転送動作ＴＲＤＦは、パワーオフに同期して実施される。あるいは、転送動作ＴＲＤＦは、カメラ機能による撮影時に、画像データがシステム基板ＳＹＳ側からＳＤＲＡＭに書き込まれたことに同期して実施される。なお、予め、ＳＤＲＡＭは、モードレジスタセットコマンドによりバースト転送モードを選択している。
【００５９】
まず、コントロール部ＣＮＴ１は、ＦＬＡＳＨにプログラム、データおよびエラー訂正コードを書き込むために、書き込みコードＷＲ（ページプログラムコード）および開始アドレスをデータバス線Ｉ／Ｏ０−７に出力する（図１０（ａ））。コントロール部ＣＮＴ２３は、／ＲＡＳ信号を活性化し、同時にロウアドレスＲＡを出力する（図１０（ｂ、ｃ））。さらに、コントロール部ＣＮＴ２３は、／ＲＡＳ信号の活性化から所定時間後に／ＣＡＳ信号を活性化し、同時にコラムアドレスＣＡ（読み出しアドレス）を出力する（図
１０（ｄ、ｅ））。／ＷＥ信号が高論理レベルに保持されているため、ＳＤＲＡＭのバースト読み出し動作が実施される。
【００６０】
コントロール部ＣＮＴ１は、ＳＤＲＡＭからデータが出力されるタイミングに同期して／ＷＥ信号を繰り返し活性化する（図１０（ｆ））。これにより、ＳＤＲＡＭから読み出されたプログラムは、共通のデータバス線Ｉ／Ｏ０−７を介してＦＬＡＳＨのデータレジスタ（ページバッファ）に書き込まれる。このように、転送動作ＴＲＤＦでは、ＳＤＲＡＭへの読み出しコマンド（／ＷＥ＝Ｈｉｇｈ）およびＦＬＡＳＨへの書き込みコマンド（／ＷＥ）は、互いに同期して供給される。これにより、プログラムデータおよびエラー訂正コードをＳＤＲＡＭからＦＬＡＳＨに直接転送できる。したがって、プログラムデータおよびエラー訂正コードの転送時間を短縮でき、パワーオフシーケンスに必要な時間を短縮できる。
【００６１】
この後、ＦＬＡＳＨは、コントロール部ＣＮＴ１からのプログラムコードＰＧを受けて、データレジスタ内のデータをメモリセルアレイにプログラムする（図１０（ｇ））。ＦＬＡＳＨは、プログラム動作中にＲ／Ｂ信号を低論理レベルに保持する（図１０（ｈ））。コントロール部ＣＮＴ１は、Ｒ／Ｂ信号の高論理レベルへの変化によりプログラム動作の終了を検出する（図１０（ｉ））。さらに、コントロール部ＣＮＴ１は、プログラム結果を確認するためにステータスコードＳＴをＦＬＡＳＨに書き込み、パス／フェイルコードＰＦをＦＬＡＳＨから受け取る（図１０（ｊ））。そして、転送動作ＴＲＤＦが完了する。なお、エラー訂正コードのＳＤＲＡＭからＦＬＡＳＨへの転送も同様にして実施される。
【００６２】
以上、第３の実施形態においても第１の実施形態と同様の効果を得ることができる。さらに、ＦＬＡＳＨにデータを書き込む必要があるシステムにおいて、ＳＤＲＡＭからＦＬＡＳＨへのデータおよびエラー訂正コードの転送時間を短縮できる。特に、パワーオフに同期してデータ転送ＴＲＤＦを実施する場合、パワーオフシーケンスに必要な時間を短縮できる。
【００６３】
図１１は、本発明の第４の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第１の実施形態のコントロール部ＣＮＴ２１の代わりに、コントロール部ＣＮＴ２４が形成されている。また、ＳＤＲＡＭは、エラー訂正回路ＥＣＣと、エラー訂正回路ＥＣＣの動作を制御するためのコントロール部ＣＮＴ３（揮発メモリ制御回路）と、フラグ領域ＦＬＧとを有している。ＳＤＲＡＭは、エラー訂正処理中にビジー信号ＢＳＹを出力する端子を有している。その他の構成は、第１の実施形態と同じである。
【００６４】
コントロール部ＣＮＴ２４は、第１の実施形態のコントロール部ＣＮＴ２１からエラー訂正回路ＥＣＣとフラグ領域ＦＬＧを除いて構成されている。すなわち、この実施形態では、ＦＬＡＳＨからＳＤＲＡＭに転送されたプログラムのエラー訂正と、各ページ（５１２２バイト＋１６バイト）のエラー訂正の有無の管理は、ＳＤＲＡＭにより実施される。エラー訂正回路ＥＣＣをＳＤＲＡＭ内に形成することで、エラー訂正動作時にデータおよびエラー訂正コードを外部に出力する必要がない。この結果、エラー訂正動作を短時間で効率的に実施することができる。
【００６５】
ＭＰＵからアクセス要求を受けたときのＳＤＲＡＭの動作は、図４に示したコントロール部ＣＮＴ２１の動作と同じである。但し、図４のステップＳ２２に対応する動作では、プログラムデータは、コントロール部ＣＮＴ２４を介してＭＰＵに出力され、同時にバッファ領域ＢＵＦに保持される。また、ＳＤＲＡＭは、図４のステップＳ１４−Ｓ２０の間、ビジー信号ＢＳＹを出力する。
【００６６】
なお、ＳＤＲＡＭのアーキテクチャを工夫することで、１ページ（４２２４ビット）のデータは、１回の読み出しサイクルで読み出し可能である。具体的には、１本のワード線に４２２４個のダイナミックメモリセルを接続し、ワード線を選択し続けた状態で読み出し動作と書き戻し動作を実施すればよい。これにより、読み出し、エラー訂正、書き戻しおよびフラグセット（ステップＳ１４−Ｓ２０に相当する）を数クロックサイクル（例えば、４クロックサイクル）で実施できる。すなわち、ＭＰＵの動作中に挿入されるウエイトサイクル数を最小限にできる。
【００６７】
以上、第４の実施形態においても第１の実施形態と同様の効果を得ることができる。さらに、エラー訂正回路ＥＣＣをＳＤＲＡＭ内に形成することで、エラー訂正動作を短時間で効率的に実施することができる。
【００６８】
図１２は、本発明の第５の実施形態を示している。第１および第４の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第４の実施形態のコントロール部ＣＮＴ３の代わりに、コントロール部ＣＮＴ４が形成されている。その他の構成は、第４の実施形態と同じである。
【００６９】
コントロール部ＣＮＴ４は、第４の実施形態のコントロール部ＣＮＴ３の機能に加えて、ＳＤＲＡＭに対するアクセス要求がないアイドル中にエラー訂正動作を実施する機能を有している。ここで、エラー訂正動作とは、上述した図４に示したステップＳ１０−Ｓ２０に対応する動作である。アイドル中にエラー訂正を実施することで、各ページに対応するフラグを、ＭＰＵのフェッチ動作と無関係にセットできる。この結果、ＭＰＵの動作中に挿入されるウエイトサイクルの総数を削減でき、システムの動作効率を向上できる。
【００７０】
以上、第５の実施形態においても第１および第４の実施形態と同様の効果を得ることができる。さらに、エラー訂正をバックグラウンドで実施することで、データの読み出し時にエラー訂正する頻度を下げることができる。この結果、システムによるデータの読み出し効率を向上できる。
【００７１】
図１３は、本発明の第６の実施形態を示している。第１および第４の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第４の実施形態のＳＤＲＡＭの代わりに、ＦＣＲＡＭ（Fast Cycle RAM）が形成されている。ＦＣＲＡＭは、クロック非同期式の擬似ＳＲＡＭである。その他の構成は、第４の実施形態と同じである。
【００７２】
ＦＣＲＡＭは、チップイネーブル端子／ＣＥ１、ＣＥ２、ライトイネーブル端子／ＷＥ、アウトプットイネーブル端子／ＯＥ、アドレス端子ＡＤ、ビジー端子ＢＳＹおよびデータ端子Ｉ／Ｏ０−７を有している。ＦＣＲＡＭは、ＤＲＡＭのメモリセル（ダイナミックメモリセル）を有し、ＳＲＡＭのインタフェースを有する擬似ＳＲＡＭの一種である。ＦＣＲＡＭは、外部からリフレッシュコマンドを受けることなく、チップ内部で定期的にリフレッシュ動作を実施し、メモリセルに書き込まれたデータを保持する。このため、ＦＣＲＡＭは、エラー訂正回路ＥＣＣ、コントロール部ＣＮＴ３およびフラグ領域ＦＬＧに加えて、リフレッシュ動作を制御するリフレッシュ制御回路ＲＥＦを有している。エラー訂正回路ＥＣＣ、コントロール部ＣＮＴ３およびフラグ領域ＦＬＧの構成および機能は、上述した第４の実施形態と同じである。
【００７３】
リフレッシュ制御回路ＲＥＦは、リフレッシュ要求ＲＲＥＱを周期的に生成するリフレッシュタイマと、リフレッシュするページ番号を示すページカウンタ（何れも図示せず）を有している。ＭＰＵからアクセス要求を受けたときのＦＣＲＡＭの動作は、第４の実施
形態と同じである。すなわち、ステップＳ２２の動作を除き、図４に示したコントロール部ＣＮＴ２１の動作と同じである。
【００７４】
図１４は、図１３に示したコントロール部ＣＮＴ３、エラー訂正回路ＥＣＣおよびリフレッシュ制御回路ＲＥＦの動作を示している。この動作は、各回路（ハードウエア）により実施される。ステップＳ３２、Ｓ３４、Ｓ３６の動作は、図４に示したステップＳ１０、Ｓ１６、Ｓ１８と同じである。
【００７５】
まず、ステップＳ３０において、リフレッシュ制御回路ＲＥＦは、リフレッシュ要求ＲＲＥＱの生成を待つ。リフレッシュ要求ＲＲＥＱが生成されたとき、処理は、ステップＳ３２に移行する。ステップＳ３２において、コントロール部ＣＮＴ３は、アクセス要求に応答してＦＣＲＡＭのメモリセルアレイから１ページ分のプログラムデータを読み出す。
【００７６】
次に、ステップＳ３４において、エラー訂正回路ＥＣＣによりエラー訂正が実施される。ステップＳ３６において、コントロール部ＣＮＴ３（揮発メモリ制御回路）は、訂正されたプログラムデータと新たに生成されたエラー訂正コードをＦＣＲＡＭに書き戻す。すなわち、リフレッシュ要求ＲＲＥＱに応答して１ページ分のエラー訂正動作および書き戻し動作（リフレッシュ動作）が実施される。書き戻されるプログラムデータは、エラー訂正されている。このため、ソフトエラー等によりメモリセルアレイ内で発生した不良を救済できる。この後、ステップＳ３８において、アドレスカウンタは、ページ番号を１つ進める。
【００７７】
以上、第６の実施形態においても第１および第４の実施形態と同様の効果を得ることができる。さらに、リフレッシュ動作とエラー訂正動作を同時に実施することができ、制御回路の規模を削減できる。また、エラー訂正によりソフトエラー等の不良を救済できるため、揮発性メモリの信頼性を向上できる。
【００７８】
なお、上述した実施形態では、本発明を携帯電話に適用する例について述べた。例えば、本発明は、デジタルカメラ等の他の携帯機器にも適用可能である。
【００７９】
上述した実施形態では、メモリコントローラＭＣＮＴをＳＯＣ内に形成する例について述べた。しかし、メモリコントローラＭＣＮＴは、単独のチップで形成されてもよい。この場合、例えば、メモリコントローラＭＣＮＴ、ＦＬＡＳＨおよびＳＤＲＡＭによりマルチチップモジュール（メモリシステム）を形成してもよい。さらに、メモリコントローラＭＣＮＴ、ＦＬＡＳＨおよびＳＤＲＡＭを、１チップで形成してもよい。あるいは、メモリコントローラＭＣＮＴとともに、ＳＯＣ内にＦＬＡＳＨおよびＳＤＲＡＭを搭載してもよい。
【００８０】
上述した実施形態では、本発明をＦＬＡＳＨとＳＤＲＡＭとを有するメモリシステムに適用する例について述べた。これに限定されず、本発明は、実データ領域とエラー訂正コードの格納領域とを有する不揮発性メモリと、揮発性メモリ（ＳＤＲＡＭ、ＤＲＡＭ、擬似ＳＲＡＭ、ＦＣＲＡＭ、ＳＲＡＭのいずれか）とを有するメモリシステムに適用できる。この際、各半導体メモリは、クロック同期式でもよく、クロック非同期式でもよい。
【００８１】
上述した第３の実施形態では、カメラ機能による撮影毎に画像データおよびそのエラー訂正コードをＦＬＡＳＨに書き込む例について述べた。例えば、パワーオンの間、画像データおよびエラー訂正コードをＳＤＲＡＭに保持しておき、パワーオフ時にＳＤＲＡＭからＦＬＡＳＨに画像データおよびエラー訂正コードを転送してもよい。この場合、エラー訂正コードは、撮影毎（ＳＤＲＡＭへの書き込み毎）に生成しているため、パワーオフ時にエラー訂正を実施する必要はない。この結果、パワーオフ時の処理時間を短縮できる。
【００８２】
上述した第２、第４−第６の実施形態に、第３の実施形態のパワーオフ時のＦＬＡＳＨへの転送動作ＴＲＤＦの機能を加えてもよい。さらに、第１−第３の実施形態において、エラー訂正回路ＥＣＣは、コントロール部ＣＮＴ２１、２２、２３の外に形成してもよく、あるいは、メモリコントローラＭＣＮＴの外に形成してもよい。
【００８３】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリと、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むメモリコントローラとを備えていることを特徴とするメモリシステム。
（付記２）
付記１記載のメモリシステムにおいて、
前記不揮発性メモリのデータ端子と前記揮発性メモリのデータ端子を互いに接続する共通のデータバス線を備え、
前記メモリコントローラは、前記不揮発データ領域および前記不揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記データバス線を介して前記揮発データ領域および前記揮発付加領域に転送するために、前記不揮発性メモリを読み出しアクセスするための不揮発読み出しアクセス信号または前記揮発性メモリを書き込みアクセスするための揮発書き込みアクセス信号を生成することを特徴とするメモリシステム。
（付記３）
付記２記載のメモリシステムにおいて、
前記メモリコントローラは、メモリシステムのパワーオンに基づいて、前記不揮発読み出しアクセス信号または前記揮発書き込みアクセス信号の生成を開始することを特徴とするメモリシステム。
（付記４）
付記１記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備えていることを特徴とするメモリシステム。
（付記５）
付記４記載のメモリシステムにおいて、
前記揮発データ領域内のデータの格納位置にそれぞれ対応するフラグを有し、前記エラー訂正回路により訂正動作が実施されたデータに対応するフラグがセットされるフラグ領域を備え、
前記エラー訂正回路は、セットされていないフラグに対応するデータのみエラー訂正を実施することを特徴とするメモリシステム。
（付記６）
付記４記載のメモリシステムにおいて、
データおよびエラー訂正コードを誤り訂正するために前記揮発性メモリから読み出すとともに、前記エラー訂正回路により訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻す揮発メモリ制御回路を備えていることを特徴とするメモリシステム。
（付記７）
付記６記載のメモリシステムにおいて、
前記揮発メモリ制御回路は、メモリシステムの外部からのアクセス要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
前記メモリコントローラは、エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステム。
（付記８）
付記７記載のメモリシステムにおいて、
前記揮発メモリ制御回路は、前記揮発性メモリのアイドル中に、データおよびエラー訂正コードを前記揮発性メモリから読み出し、エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻すことを特徴とするメモリシステム。
（付記９）
付記１記載のメモリシステムにおいて、
リフレッシュ要求を周期的に生成するリフレッシュ制御回路を備え、
前記揮発性メモリは、リフレッシュ動作が必要なダイナミックメモリセルを有し、
前記揮発メモリ制御回路は、前記リフレッシュ要求に応答して、データおよびエラー訂正コードを前記揮発性メモリから読み出すことを特徴とするメモリシステム。
（付記１０）
付記１記載のメモリシステムにおいて、
前記メモリコントローラは、前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に転送するために、前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成することを特徴とするメモリシステム。
（付記１１）
付記１０記載のメモリシステムにおいて、
前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムのパワーオフに基づいて、パワーオフの前に実施されることを特徴とするメモリシステム。
（付記１２）
付記１０記載のメモリシステムにおいて、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正するエラー訂正回路を備え、
前記エラー訂正回路は、メモリシステムの外部から前記メモリコントローラに供給されるデータのエラー訂正コードを生成し、生成したエラー訂正コードを供給されたデータとともに前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に書き込み、
前記揮発性メモリから前記不揮発性メモリへのデータおよびエラー訂正コードの転送は、メモリシステムの外部から前記揮発性メモリへのデータの書き込みに同期して実施されることを特徴とするメモリシステム。
（付記１３）
付記１記載のメモリシステムにおいて、
前記エラー訂正回路は、前記メモリコントローラ内および前記揮発性メモリ内のいずれかに備えられることを特徴とするメモリシステム。
（付記１４）
データを記憶する不揮発データ領域と前記不揮発データ領域に記憶されるデータのエラーを訂正するためのエラー訂正コードとを記憶する不揮発付加領域を有する不揮発性メモリと、前記不揮発データ領域および前記不揮発付加領域にそれぞれ対応する揮発データ領域および揮発付加領域を有する揮発性メモリとを備えたメモリシステムの動作方法であって、
前記不揮発データ領域および前記不揮発付加領域からデータおよびエラー訂正コードを読み出し、読み出したデータおよびエラー訂正コードを前記揮発データ領域および前記揮発付加領域にそれぞれ書き込むことを特徴とするメモリシステムの動作方法。
（付記１５）
付記１４記載のメモリシステムの動作方法において、
前記不揮発性メモリから前記揮発性メモリへのデータおよびエラー訂正コードの転送を、メモリシステムのパワーオンに基づいて実施することを特徴とするメモリシステムの動作方法。
（付記１６）
付記１４記載のメモリシステムの動作方法において、
データおよびエラー訂正コードが前記揮発性メモリに書き込まれた後に、前記揮発性メモリに書き込まれたデータをエラー訂正コードを用いて訂正することを特徴とするメモリシステムの動作方法。
（付記１７）
付記１６記載のメモリシステムの動作方法において、
前記揮発データ領域内のデータのエラー訂正を、そのデータの揮発データ領域からの最初の読み出し時のみ実施することを特徴とするメモリシステムの動作方法。
（付記１８）
付記１６記載のメモリシステムの動作方法において、
訂正されたデータおよび訂正されたデータに対応するエラー訂正コードを前記揮発性メモリに書き戻すことを特徴とするメモリシステムの動作方法。
（付記１９）
付記１８記載のメモリシステムの動作方法において、
メモリシステムの外部からのアクセス要求に応答して、データをエラー訂正するために、データおよびエラー訂正コードを前記揮発性メモリから読み出し、
エラー訂正されたデータおよびこのデータに対応するエラー訂正コードを前記揮発性メモリに書き戻し、
エラー訂正されたデータをメモリシステムの外部に出力することを特徴とするメモリシステムの動作方法。
（付記２０）
付記１４記載のメモリシステムの動作方法において、
前記揮発性メモリを読み出しアクセスするための揮発読み出しアクセス信号または前記不揮発性メモリを書き込みアクセスするための不揮発書き込みアクセス信号を生成し、
前記揮発性メモリの前記揮発データ領域および前記揮発付加領域に記憶されたデータおよびエラー訂正コードを、前記不揮発性メモリの前記不揮発データ領域および前記不揮発付加領域に転送することを特徴とするメモリシステムの動作方法。
【００８４】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【００８５】
本発明は、不揮発性メモリと揮発性メモリとを有するメモリシステムに適用できる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】図１に示したメモリシステムのパワーオン時の動作を示すタイミング図である。
【図３】図２に示したＦＬＡＳＨからＳＤＲＡＭへのデータの転送動作の詳細を示すタイミング図である。
【図４】図１に示したＭＰＵからアクセス要求を受けたときのコントロール部ＣＮＴ２１の動作を示すフローチャートである。
【図５】パワーオンからＭＰＵが動作を開始するまでの時間を示す説明図である。
【図６】本発明の第２の実施形態を示すブロック図である。
【図７】図６に示したＭＰＵからアクセス要求を受けたときのコントロール部ＣＮＴ２２の動作を示すフローチャートである。
【図８】本発明の第３の実施形態を示すブロック図である。
【図９】図８に示したメモリシステムのパワーオフ時の動作を示すタイミング図である。
【図１０】図８に示したＳＤＲＡＭからＦＬＡＳＨへのデータの転送動作の詳細を示すタイミング図である。
【図１１】本発明の第４の実施形態を示すブロック図である。
【図１２】本発明の第５の実施形態を示すブロック図である。
【図１３】本発明の第６の実施形態を示すブロック図である。
【図１４】図１３に示したコントロール部、エラー訂正回路およびリフレッシュ制御回路の動作を示すフローチャートである。
【符号の説明】
【００８７】
ＢＵＦ‥バッファ領域；Ｄ１、Ｄ２‥データ領域；ＣＧ‥クロック生成器；ＣＮＴ２１、ＣＮＴ１、ＣＮＴ２２、ＣＮＴ２３、ＣＮＴ２４、ＣＮＴ３、ＣＮＴ４‥コントロール部；Ｅ１、Ｅ２‥エラー訂正コード領域；ＥＣＣ‥エラー訂正回路；ＦＬＧ‥フラグ領域；ＩＰ１、ＩＰ２‥周辺回路；ＭＣＮＴ‥メモリコントローラ；ＭＳＹＳ‥メモリシステム；ＲＥＦ‥リフレッシュ制御回路；ＳＯＣ‥システムオンチップ；ＳＹＳ‥システム基板
【図１】
0004528242.tif 000002
【図２】
0004528242.tif 000003
【図３】
0004528242.tif 000004
【図４】
0004528242.tif 000005
【図５】
0004528242.tif 000006
【図６】
0004528242.tif 000007
【図７】
0004528242.tif 000008
【図８】
0004528242.tif 000009
【図９】
0004528242.tif 000010
【図１０】
0004528242.tif 000011
【図１１】
0004528242.tif 000012
【図１２】
0004528242.tif 000013
【図１３】
0004528242.tif 000014
【図１４】
0004528242.tif 000015