(57)【特許請求の範囲】
【請求項１】
ＮＡＮＤ型フラッシュメモリと、
クロック同期型ＤＲＡＭと、
前記ＮＡＮＤ型フラッシュメモリ及び前記クロック同期型ＤＲＡＭの夫々に個別に結合され、前記クロック同期型ＤＲＡＭ及び前記ＮＡＮＤ型フラッシュメモリに対するアクセスを制御し、外部からのストア命令に従って、前記クロック同期型ＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送するための制御回路と、
前記制御回路に結合された複数の入出力端子とを含み、
前記制御回路は、前記ストア命令に従って前記クロック同期型ＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送している間に、前記クロック同期型ＤＲＡＭからのデータ読出し命令が入力された場合において、前記ストア命令に従って行っている前記クロック同期型ＤＲＡＭから前記ＮＡＮＤ型フラッシュメモリへのデータ転送を中断し、前記データ読み出し命令に従って前記クロック同期型ＤＲＡＭに記憶されるデータを外部に出力するよう制御するメモリモジュール。
【請求項２】
請求項１において、
前記入出力端子を介した前記ＮＡＮＤ型フラッシュメモリに対するアクセスは、前記クロック同期型ＤＲＡＭを経由して行うメモリモジュール。
【請求項３】
請求項１において、
前記メモリモジュールに対して動作電源が投入された初期において、前記ＮＡＮＤ型フラッシュメモリの一部の記憶データは、前記クロック同期型ＤＲＡＭの第１領域に転送されて当該第１領域に記憶されるメモリモジュール。
【請求項４】
請求項３において、
前記入出力端子を介した前記ＮＡＮＤ型フラッシュメモリに対するアクセスは、前記クロック同期型ＤＲＡＭの前記第１領域に対して行うメモリモジュール。
【請求項５】
請求項４において、
前記制御回路は、前記クロック同期型ＤＲＡＭの前記第１領域に対するアクセスによってデータの書き換えの生じたアドレスを記憶する回路を有し、
所定のタイミングで、前記第１領域の書き換えの生じたアドレスのデータを前記ＮＡＮＤ型フラッシュメモリに書き戻すことが可能とされるメモリモジュール。
【請求項６】
請求項１において、
前記クロック同期型ＤＲＡＭは、前記ＮＡＮＤ型フラッシュメモリの一部の記憶データが転送複写され前記ＮＡＮＤ型フラッシュメモリのアクセスのバッファ領域となる第１領域と、前記メモリモジュールの外部からアクセス可能なワーク領域となる第２領域とを有するメモリモジュール。
【請求項７】
請求項１において、
前記入出力端子を介した前記メモリモジュールの外部から前記ＮＡＮＤ型フラッシュメモリ及び前記クロック同期型ＤＲＡＭへのアクセスは前記クロック同期型ＤＲＡＭのインタフェースで行われるメモリモジュール。
【請求項８】
請求項１において、
前記メモリモジュールは、第１半導体チップ、第２半導体チップ、及び第３半導体チップが含まれるマルチップメモリモジュールであり、
第１半導体チップは前記ＮＡＮＤ型フラッシュメモリを含み、
前記第２半導体チップは前記制御回路を含み、
前記第３半導体チップは前記クロック同期型ＤＲＡＭを含むメモリモジュール。
【請求項９】
請求項１において、
前記メモリモジュールは、第１半導体チップ、第２半導体チップ、第３半導体チップ、及び第４チップが基板上に搭載されて封止されたマルチップメモリモジュールであり、
第１半導体チップは前記ＮＡＮＤ型フラッシュメモリを含み、
前記第２半導体チップは前記制御回路を含み、
前記第３半導体チップは前記クロック同期型ＤＲＡＭの一部を含み、
前記第４チップは前記クロック同期型ＤＲＡＭの他の一部を含むメモリモジュール。
【請求項１０】
請求項１において、
前記クロック同期型ＤＲＡＭは、ＤＤＲ−ＳＤＲＡＭであるメモリモジュール。
【請求項１１】
ＮＡＮＤ型フラッシュメモリと、
ＳＤＲＡＭと、
前記ＮＡＮＤ型フラッシュメモリ及び前記ＳＤＲＡＭの夫々に個別に結合され、前記ＳＤＲＡＭ及び前記ＮＡＮＤ型フラッシュメモリに対するアクセスを制御し、外部からのストア命令に従って、前記ＳＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送するための制御回路とスタティック・ランダム・アクセス・メモリとを含むコントローラと、
前記制御回路に結合された複数の入出力端子とを含み、
前記制御回路は、前記ストア命令に従って前記ＳＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送している間に、前記ＳＤＲＡＭからのデータ読出し命令が入力された場合において、前記ストア命令に従って行っている前記ＳＤＲＡＭから前記ＮＡＮＤ型フラッシュメモリへのデータ転送を中断し、前記データ読み出し命令に従って前記ＳＤＲＡＭに記憶されるデータを外部に出力するよう制御するメモリモジュール。
【請求項１２】
請求項１１において、
前記ＳＤＲＡＭに供給される電源が遮断される場合においても、前記コントローラへの電源供給が続けられるメモリモジュール。
【請求項１３】
請求項１１において、
前記ＳＤＲＡＭは、ＤＤＲ−ＳＤＲＡＭであるメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の異種メモリを含む複合型のメモリモジュールとコントローラに関し、その組み合わせや、その制御方法、更にはマルチチップモジュールとしての実装構造などに関する。
【背景技術】
【０００２】
この明細書で参照される文献のリストは以下の通りであり、文献の参照は文献番号をもってすることとする。[文献１]：LRS1337 Stacked Chip 32M Flash Memory and 4M SRAM Data Sheet（[平成１２年４月２１日検索]、インターネット＜URL:http://www.sharpsma.com/index.html＞）、[文献２]：特開平5-299616号公報（対応欧州特許公開公報５６６，３０６号、１９９３年１０月２０日）、[文献３]：特開平7-146820号公報、[文献４]：特開2001-5723号公報。
【０００３】
[文献１]には、フラッシュメモリ(32M bit容量)とＳＲＡＭ(4M bit容量）とがスタックチップでＦＢＧＡ型パッケージに一体封止された複合型半導体メモリが記載される。フラッシュメモリとＳＲＡＭとはＦＢＧＡ型パッケージの入出力電極に対してアドレス入力端子とデータ入出力端子が共通化されている。但し各々の制御端子はそれぞれ独立とされている。
【０００４】
[文献２]の図１７には、フラッシュメモリチップとDRAMチップとがリードフレーム型パッケージに一体封止された複合型半導体メモリが記載される。また、図１にはフラッシュメモリとＤＲＡＭとはパッケージの入出力電極に対してアドレス入力端子、データ入出力端子、及び制御端子が共通化されて入出力されるものが記載されている。
【０００５】
[文献３］の図１には、主記憶装置として扱われるフラッシュメモリとキャッシュメモリとコントローラとCPUから構成されるシステムが記載される。
【０００６】
[文献４］の図２には、フラッシュメモリとＤＲＡＭと転送制御回路からなる半導体メモリが記載される。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】LRS1337 Stacked Chip 32M Flash Memory and 4M SRAM Data Sheet（［平成１２年４月２１日検索］、インターネット＜URL:http://www.sharpsma.com/index.html＞）
【特許文献】
【０００８】
【特許文献１】特開平5-299616号公報
【特許文献２】特開平7-146820号公報
【特許文献３】特開2001-5723号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本願発明者等は、本願に先立って携帯電話及びそれに使用されるフラッシュメモリとSRAMが1パッケージに実装されたメモリモジュールについて検討を行った。
【００１０】
携帯電話が取り扱うアプリケーション、データ、ワークエリアは携帯電話に付加される機能（音楽やゲーム等配信等）が増えるにつれて大きくなり、より大きな記憶容量のフラッシュメモリやSRAMが必要と予想される。さらに最近の携帯電話は高機能化が目覚しく、大容量メモリのニーズが高まっている。
【００１１】
現在、携帯電話に用いられているフラッシュメモリはＮＯＲ方式と呼ばれるのメモリアレイ方式を用いたNOR型フラッシュメモリである。ＮＯＲ方式は、メモリセルアレイの寄生抵抗を小さく抑えたアレイ方式で、並列接続したセル2個につき１個の割合でメタルビット線コンタクトを設けることで低抵抗化を図っている。このため読み出し時間は約80nsと大容量中速ＳＲＡＭの読み出し時間とほぼ同等にすることができる。しかし、その反面、セル2個につき1個のコンタクトを設ける必要があるためがコンタクト部のがチップ面積に占める割合が高く、１ビットのメモリセル当たりの面積が大きく、大容量化に対応は仕切れないという課題がある。
【００１２】
また、代表的な大容量フラッシュメモリには、メモリアレイがＡＮＤ方式を用いているＡＮＤ型フラッシュメモリとＮＡＮＤ方式を用いているＮＡＮＤ型フラッシュメモリがある。これらのフラッシュメモリは、16〜128個のセルに対し１個のビット線コンタクトを設けるため、高密度のメモリアレイを実現できる。したがって、1ビットあたりのメモリセル当たりの面積をNOR型FLASHより小さくでき、大容量化に対応できる。しかし、その反面、最初のデータを出力するまでの読み出し時間が、約25μsから50μsと遅く、SRAMとの整合性を取ることが困難であるいことが判明した。
【００１３】
フラッシュメモリは電源がオフになってもデータを保持することができるが、ＳＲＡＭは、携帯電話の電源がオフになっている場合でもデータを保持するための電源が接続されている。長期にわたってデータを保持するためにはSRAMのデータ保持電流が小さい事が望ましい。しかしながら、大容量SRAMには、記憶容量の増大分だけデータ保持電流が増加してしまう課題と、その他に、ゲートリーク電流の増大によってデータ保持電流が増加するという課題がある。これは大容量SRAMを実現するために微細加工を導入してMOSトランジスタの酸化絶縁膜を薄膜化するとゲートから基盤へトンネル電流が流れてしまいデータ保持電流が増えてしまうという理由による。このように、SRAMの大容量化ではデータ保持電流を低減することは、しだいに困難になってくることが判明した。
【００１４】
そこで本願発明の目的の一つは、記憶容量が大きくかつ高速読み出し、書き込みが可能なＲＯＭと、記憶容量が大きくかつデータ保持電流の少ないＲＡＭの実現であり、フラッシュメモリのアクセス時間とＳＤＲＡＭのアクセス時間との整合を図り、大容量フラッシュメモリを含むメモリモジュールとコントローラを提供する。
【課題を解決するための手段】
【００１５】
本発明の代表的な手段の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、クロック同期型ＤＲＡＭと、前記ＮＡＮＤ型フラッシュメモリ及び前記クロック同期型ＤＲＡＭの夫々に個別に結合され、前記クロック同期型ＤＲＡＭ及び前記ＮＡＮＤ型フラッシュメモリに対するアクセスを制御し、外部からのストア命令に従って、前記クロック同期型ＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送するための制御回路と、前記制御回路に結合された複数の入出力端子とを含む。前記制御回路は、前記ストア命令に従って前記クロック同期型ＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送している間に、前記クロック同期型ＤＲＡＭからのデータ読出し命令が入力された場合において、前記ストア命令に従って行っている前記クロック同期型ＤＲＡＭから前記ＮＡＮＤ型フラッシュメモリへのデータ転送を中断し、前記読み出し命令に従って前記クロック同期型ＤＲＡＭに記憶されるデータを外部に出力するよう制御する。
【００１６】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、ＳＤＲＡＭと、前記ＮＡＮＤ型フラッシュメモリ及び前記ＳＤＲＡＭの夫々に個別に結合され、前記ＳＤＲＡＭ及び前記ＮＡＮＤ型フラッシュメモリに対するアクセスを制御し、外部からのストア命令に従って、前記ＳＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送するための制御回路とスタティック・ランダム・アクセス・メモリとを含むコントローラと、前記制御回路に結合された複数の入出力端子とを含む。前記制御回路は、前記ストア命令に従って前記ＳＤＲＡＭに記憶されるデータを前記ＮＡＮＤ型フラッシュメモリに転送している間に、前記ＳＤＲＡＭからのデータ読出し命令が入力された場合において、前記ストア命令に従って行っている前記ＳＤＲＡＭから前記ＮＡＮＤ型フラッシュメモリへのデータ転送を中断し、前記読み出し命令に従って前記ＳＤＲＡＭに記憶されるデータを外部に出力するよう制御する。
【００１７】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、不揮発性メモリと、クロック同期型ＤＲＡＭと、コマンドレジスタを含むコントローラとを含む。上記コントローラは、ロード命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ書き込まれた時、上記不揮発性メモリから上記クロック同期型ＤＲＡＭへデータの転送が行われる様に、上記不揮発性メモリと上記クロック同期型ＤＲＡＭとを制御する。
【００１８】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、フラッシュメモリと、クロック同期型ＤＲＡＭと、コマンドレジスタとスタティックランダムアクセスメモリとを含むコントローラとを有する。上記コントローラは、命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送が行われる様に、上記フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御する。
【００１９】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、ＤＤＲ−ＳＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記ＤＤＲ−ＳＤＲＡＭとに結合され、コマンドレジスタを含むコントローラとを有する。上記コントローラは、さらに、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記ＤＤＲ−ＳＤＲＡＭへ供給する為のクロック出力端子とを有する。上記コントローラは、命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記ＤＤＲ−ＳＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記ＤＤＲ−ＳＤＲＡＭへデータの転送を行わせる。
【００２０】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、クロック同期型ＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとに結合され、コマンドレジスタと、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路を含むコントローラとを有する。上記コントローラは、命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせる。
【００２１】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、クロック同期型ＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとに結合され、コマンドレジスタとを有する。上記コントローラは、第１命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせ、第２命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記クロック同期型ＤＲＡＭから上記ＮＡＮＤ型フラッシュメモリへデータの転送を行わる。
【００２２】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、クロック同期型ＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとに結合され、コマンドレジスタと、ＳＲＡＭと、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記クロック同期型ＤＲＡＭへ供給する為のクロック出力端子と、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含むコントローラとを有する。上記コントローラは、命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせる。
【００２３】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、クロック同期型ＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとに結合され、コマンドレジスタと、ＳＲＡＭと、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記クロック同期型ＤＲＡＭへ供給する為のクロック出力端子と、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含むコントローラを有する。上記コントローラは、第１命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせ、第２命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記クロック同期型ＤＲＡＭから上記ＮＡＮＤ型フラッシュメモリへデータの転送を行わる。
【００２４】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、メモリモジュールは、ＮＡＮＤ型フラッシュメモリと、ＤＤＲ−ＳＤＲＡＭと、上記ＮＡＮＤ型フラッシュメモリと上記ＤＤＲ−ＳＤＲＡＭとに結合され、コマンドレジスタと、スタティックランダムアクセスメモリと、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含むコントローラとを有する。上記コントローラは、さらに、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記ＤＤＲ−ＳＤＲＡＭへ供給する為のクロック出力端子とを有する。上記コントローラは、命令コードが上記メモリモジュールの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記ＤＤＲ−ＳＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記ＤＤＲ−ＳＤＲＡＭへデータの転送を行わせる。
【００２５】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、コントローラは、ＮＡＮＤ型フラッシュメモリを結合する為の第１端子と、クロック同期型ＤＲＡＭを結合する為の第２端子と、コマンドレジスタと、ＳＲＡＭと、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記クロック同期型ＤＲＡＭへ供給する為のクロック出力端子と、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含む。命令コードが上記コントローラの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせる。
【００２６】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、コントローラは、ＮＡＮＤ型フラッシュメモリとクロック同期型ＤＲＡＭと共に利用され、上記ＮＡＮＤ型フラッシュメモリの為の第１端子と、上記クロック同期型ＤＲＡＭの為の第２端子と、コマンドレジスタと、ＳＲＡＭと、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記クロック同期型ＤＲＡＭへ供給する為のクロック出力端子と、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含む。第１命令コードが上記コントローラの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記クロック同期型ＤＲＡＭへデータの転送を行わせ、第２命令コードが上記コントローラの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記クロック同期型ＤＲＡＭとを制御することによって上記クロック同期型ＤＲＡＭから上記ＮＡＮＤ型フラッシュメモリへデータの転送を行わる。
【００２７】
本発明の代表的な手段の他の一例を示せば以下の通りである。即ち、コントローラは、ＮＡＮＤ型フラッシュメモリの為の第１端子と、ＤＤＲ−ＳＤＲＡＭの為の第２端子と、コマンドレジスタと、スタティックランダムアクセスメモリと、上記ＮＡＮＤ型フラッシュメモリから読み出したデータがエラーを含むか否かを判定し、エラーを含む場合はそのエラーを訂正するエラー訂正回路とを含む。上記コントローラは、さらに、第１クロック信号が供給されるクロック入力端子と、上記第１クロック信号に基づく第２クロック信号を上記ＤＤＲ−ＳＤＲＡＭへ供給する為のクロック出力端子とを有する。命令コードが上記コントローラの外部から上記コマンドレジスタへ供給された時、上記ＮＡＮＤ型フラッシュメモリと上記ＤＤＲ−ＳＤＲＡＭとを制御することによって上記ＮＡＮＤ型フラッシュメモリから上記ＤＤＲ−ＳＤＲＡＭへデータの転送を行わせる。
【発明の効果】
【００２８】
FLASHのデータをSDRAM にコピーすることで、FLASHデータの読み出しおよび書き込み速度をSDRAMやSRAMと同等にすることができる。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用したメモリモジュールの構成図である。
【図２】図1のCHIP2の一例を示すブロック図である。
【図３】本発明を適用したメモリモジュールのアドレスマップの一例を示す説明図である。
【図４】本発明を適用したメモリモジュールのアドレスマップの一例を示す説明図である。
【図５】本発明を適用したメモリモジュールの電源投入時の動作の一例を示す図である。
【図６】本発明のメモリモジュール内のFLASHからDRAMへのデータ転送動作の流れを示すフローチャートである。
【図７】本発明のメモリモジュール内のDRAMからFLASHへのデータ転送動作の流れを示すフローチャートである。
【図８】本発明のメモリモジュール内のDRAMへの読み出し動作と書きこみ動作の流れを示すフローチャートである。
【図９】図２に示したデータ更新管理回路CPBの動作の一例を示す図である。
【図１０】本発明のメモリモジュールでの電源遮断時の動作の流れを示すフローチャートである。
【図１１】メモリモジュール外部からのロード命令によるDRAMの動作の一例を示した図である。
【図１２】メモリモジュール外部からのストア命令によるDRAMの動作の一例を示した図である。
【図１３】本発明のメモリモジュール内のDRAMへの読み出し動作と書きこみ動作の一例を示す図である。
【図１４】ストア命令によるDRAMへの読み出し動作が行われているときに、外部からDRAMへの読み出し動作が生じた際のDRAMからの読み出し動作の一例を示す図である。
【図１５】図１で示されるFLASHの一構成例を示すブロック図である。
【図１６】図15で示されるFLAHからのデータ読み出しのタイミングチャートの一例である。
【図１７】本発明を適用したメモリモジュールの一構成例を示した図である。
【図１８】図17で示されるFLASHの一構成例を示すブロック図である。
【図１９】図18で示されるFLAHからのデータ読み出しのタイミングチャートの一例である。
【図２０】DRAMの一構成例を示すブロック図である。
【図２１】本発明を適用したメモリモジュールの構成図である。
【図２２】図22のCHIP2の一例を示すブロック図である。
【図２３】本発明を適用したメモリモジュールのアドレスマップの一例を示す説明図である。
【図２４】本発明を適用したメモリモジュールのアドレスマップの一例を示す説明図である。
【図２５】本発明を適用したメモリモジュールの電源投入時の動作の一例を示す図である。
【図２６】本発明を適用したメモリモジュールの電源投入時の動作の一例を示す図である。
【図２７】本発明のメモリモジュールへのアクセスの優先順位と動作の一例を示した図である。
【図２８】メモリモジュール外部からのロード命令およびストア命令によるDRAMの動作の一例を示した図である。
【図２９】ロード命令およびストア命令によるDRAMへのアクセスが行われているときに、外部からDRAMへのアクセスが生じた際のDRAMの動作の一例を示す図である。
【図３０】本発明を適用したメモリモジュールのタイミングチャートの一例である。
【図３１】本発明を適用したメモリモジュールのタイミングチャートの一例である。
【図３２】SRAMの一構成例を示すブロック図である。
【図３３】本発明によるメモリモジュールの実装形態の一例である。
【図３４】本発明によるメモリモジュールの実装形態の一例である。
【図３５】本発明を適用したメモリモジュールの構成図である。
【図３６】図35のCHIP2の一例を示すブロック図である。
【図３７】本発明を適用したメモリモジュールのアドレスマップの一例を示す説明図である。
【図３８】外部からのDRAMのアクセスとリフレッシュを両立して行う様子を説明する図である。
【図３９】外部からのDRAMのアクセスと内部のDRAMアクセスを両立して行う様子を説明する図である。
【図４０】DRAMのリフレッシュ方式の一例を示す図である。
【図４１】WORK期間、REF.期間の切り替え時にアクセスを引き継ぐ様子を説明する図である。
【図４２】本発明を適用したメモリモジュールのタイミングチャートの一例である。
【図４３】本発明によるメモリモジュールの実装形態の一例である。
【図４４】本発明によるメモリモジュールの実装形態の一例である。
【図４５】本発明によるメモリモジュールを利用した携帯電話の構成例を示す図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施例を図面を用いて詳細に説明する。実施例の各ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。
【実施例】
【００３１】
＜実施例１＞
図１は本発明を適用した半導体集積回路装置の一例であるメモリモジュールの第一の実施例を示したものである。本メモリモジュールは3つのチップによって構成されている。以下に夫々のチップについて説明する。
【００３２】
まず、CHIP1(FLASH)は不揮発性メモリである。不揮発性メモリにはROM(リードオンリーメモリ)、EEPROM(エレクトリカリイレーサブルアンドプログラマブルROM)、フラッシュメモリ等を用いることが出来る。本実施例で用いられるCHIP1の不揮発性メモリの典型例は後述するように広義のＮＡＮＤ型フラッシュメモリであり典型的には約２５６Ｍｂ程度の大きな記憶容量を持ち読み出し時間（読み出し要求からデータが出力されるまでの時間）として約25μsから50μsと比較的遅い。これに対して、CHIP3として典型的に用いられるＳＤＲＡＭは、２５６Ｍｂ程度の大きな記憶容量を持ち読み出し時間は約３５ｎｓ程度である。即ち、CHIP3の読み出し時間は、CHIP1のそれと比べると少なくとも１００倍以上短い。このことはＮＯＲ型フラッシュメモリの読み出し時間が約80nsでＤＲＡＭと同じオーダーの読み出し時間を持つことと対照的である。本願発明は、読み出し時間の大きな差を持つメモリの効率的なアクセスに対する解を提供する。なお、DRAMは内部構成やインターフェイスの違いからEDO、SDRAM、DDR-SDRAM等様々な種類がある。本メモリモジュールにはいずれのDRAMでも用いることが出来るが、本実施例ではクロック同期型ＤＲＡＭの典型例であるSDRAMを例に説明する。CHIP2(CTL#LOGIC)にはCHIP1及びCHIP3の制御を行う制御回路が搭載されている。
【００３３】
このメモリモジュールにはアドレス(A0〜A15)とクロック信号(CLK)とコマンド信号(CKE, /CS, /RAS, /CAS, /WE, DQMU/DQML )が入力される。電源はS-VCC, S-VSS, L-VCC,L-VSS,F-VCC, F-VSS, D1-VCC, D1-VSSを通して供給され、データの入出力にはDQ0〜DQ15が用いられる。いわゆるSDRAMインターフェースによって、このメモリモジュールは動作する。
【００３４】
CHIP2はCHIP1，CHIP3の動作に必要となる信号を供給する。CHIP2はCHIP1に対してシリアルクロック(F−SC)、アドレスおよびFLASH用データ(I/O0 〜I/O7)、コマンド(F-CE, F-/OE, F-/WE, F-/RES, F-CDE, F-RDY/BUSY)を供給する。さらに、CHIP2はCHIP3に対してクロック(D1-CLK)、アドレス(D1-A0〜D1-A14)、コマンド(D1-CKE, D1-/CS, D1-/RAS, D1-/CAS, D1-/WE, D1-DQMU/DQML)、DRAM用データ(D1-DQ0〜D1-DQ15)を供給する。
【００３５】
ここで各コマンド信号について簡単に説明する。 CHIP2に入力されるCLKはクロック信号、CKEはクロックイネーブル信号、/CSはチップセレクト信号、/RASはロウアドレスストローブ信号、/CASはカラムアドレスストローブ信号、/WEはライトイネーブル信号、DQMU/DQMLは入出力マスク信号である。CHIP3に入力されるD1-CLKはクロック信号、D1-CKEはクロックイネーブル信号、D1-/CSはチップセレクト信号、D1-/RASはロウアドレスストローブ信号、D1-/CASはカラムアドレスストローブ信号、D1-/WEはライトイネーブル信号、D1-DQMU/DQMLは入出力マスク信号である。CHIP1に入力されるF-/CEはチップイネーブル信号，F-/OEはアウトプットイネーブル信号，F-/WEはライトイネーブル信号，F-SCはシリアルクロック信号，F-/RESはリセット信号，F-CDEはコマンドデータイネーブル信号，F-RDY/BUSYはレディ/ビジィ信号，I/O0〜I/O7は入出力信号でアドレスの入力や、データの入出力に使用する。
【００３６】
CHIP2の制御回路（CTL#LOGIC）は、外部から入力されたアドレスの値によって、CHIP2の制御回路（CTL#LOGIC）に設けられたコマンドレジスタか、CHIP3のDRAMか、CHIP1のFLASHかを選択する。制御回路(CTL#LOGIC)に設けられたコントロールレジスタに値を設定しておくことによって、外部からのアクセスがコマンドレジスタへのアクセスか、DRAMへのアクセスか、FLASHへのアクセスかを区別することができる。いずれのアクセスもSDRAMインターフェイス方式によって行われる。
【００３７】
DRAMは、ワーク領域とFLASHデータコピー領域とに分かれており、ワーク用はプログラム実行時のワークメモリとして、FLASHデータコピー領域はFLASHからのデータをコピーするためのメモリとして利用される。
【００３８】
制御回路(CTL#LOGIC)内のコマンドレジスタにアクセスしロード命令やストア命令コードを書きこむことで、FLASHのデータをDRAMのFLASHデータコピー領域にコピー（ロード）したり、DRAMのFLASHデータコピー領域のデータをFLASHに書き戻したり（ストア）できる。
【００３９】
アドレス信号(A0〜A15)からコマンドレジスタにアクセスするためのアドレスと、コマンド信号（CKE,/CS,/RAS,/CAS,/WE,DQMU/DQML）からライト命令、入出力データ信号(D1-DQ0〜D1-DQ15)から、ロード命令コード、続いてFLASHを選択するアドレスの範囲でロード開始アドレス、ロード終了アドレスが入力されると、コマンドレジスタにはロード命令コードとロード開始アドレスとロード終了アドレスが書きこまれる。その後、FLASHのロード開始アドレスからロード終了アドレスの間のデータが読み出され、DRAMのFLASHデータコピー領域へ転送される。これによって、FLASHのデータはDRAMへ保持されることになる。
【００４０】
コマンドレジスタにストア命令コードとFLASHを選択するアドレスで、ストア開始アドレスとストア終了アドレスが書きこまれると、FLASHのストア開始アドレスからストア終了アドレスの間アドレスへ、DRAMのFLASHデータコピー領域のデータが書きこまれる。
【００４１】
FLASHの、どのアドレス範囲がDRAMのFLASHデータコピー領域の、どのアドレス範囲に対応するかは、制御回路(CTL#LOGIC)に設けられたコントロールレジスタに値を設定しておくことによって決めることができる。
【００４２】
FLASHは、書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。
【００４３】
制御回路(CTL#LOGIC)はFLASHからデータを読み出す時、CHIP2(CTL#LOGIC)は、読み出しデータのエラーを検出、訂正し、DRAMへ転送する。
【００４４】
FLASHへのデータの書き込み時には、CHIP2(CTL#LOGIC)は正しく書き込まれたかをチェックし、正しく書き込まれなかった場合は、現在のアドレスとは異なるアドレスに書きこみを行う。いわゆる、代替え処理を行う。不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったというアドレス管理も行う。
【００４５】
DRAMのFLASHデータコピー領域へアクセスする場合は、アドレス信号(A0〜A15)から、FLASHを選択するアドレスと、コマンド信号（CKE,/CS,/RAS,/CAS,/WE,DQMU/DQML ）から、読み出し命令を入力すると、CHIP2の制御回路は、DRAMへアクセスし、FLASHのアドレスに対応したDRAMのFLASHデータコピー領域内アドレスからデータを読み出す。これによって、DRAMに保持されているFLASH領域のデータの読み出し時間は、DRAMと同等となる。
【００４６】
DRAMのワーク領域へアクセスする場合は、DRAMのワーク領域のアクセスに必要なアドレス信号やコマンド信号類を入力する。制御回路(CTL#LOGIC)はDRAMのワーク領域へのアドレスを生成し、DRAMへのアクセスを行う。リードアクセスの場合にはDRAMからの読み出しデータはDRAM用データI/O(D1-DQ0〜D1-DQ15)を通り、データ入出力線(I/O0〜I/O15)へ出力される。ライトアクセスの場合は書込みデータはメモリモジュールのデータ入出力線(I/O0〜I/O15)から入力され、その後DRAM 用データI/O(D1-DQ0〜D1-DQ15)を通してDRAMへ入力される。
【００４７】
以上説明した様に、本発明によるメモリモジュールでは、SDRAMインターフェイス方式を踏襲しFLASHの一部のデータ、あるいは全データをコピーできる領域をDRAM内に確保し、あらかじめFLASHからDRAMへデータを転送しておくことで、DRAM と同程度の速度でFLASHのデータを読み出すことができる。FLASHへデータを書く際は、いったんデータをDRAMに書き込み、必要に応じてFLASHへ書き戻すことができるため、データの書き込み速度もDRAMと同等となる。メモリモジュールの内部で、FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、かつ信頼性を保つことができる。さらに、大容量のDRAMを用いるため、FLASHのデータをコピーできる領域のほかに、大容量のワーク領域も確保でき、携帯電話の高機能化に対応できる。
【００４８】
図２はCHIP2(CTL#LOGIC)の構成図である。CHIP2(CTL#LOGIC)は、外部からSDRAMインターフェースで動作し、CHIP3(DRAM1)とCHIP1（FLASH）を制御する制御回路である。以下で各回路ブロックの動作を説明する。
【００４９】
初期化回路INTは、DRAMへの電源供給開始時にメモリマネージメントユニットMMU 内のコントロールレジスタの初期化とDRAMの初期化を行う。メモリマネージメントユニットMMUは内蔵するコントロールレジスタに設定された値に従って外部より入力されたアドレスを変換し、コマンドレジスタREGやDRAMのワーク領域およびFLASHデータコピー領域、FLASHを選択し、アクセスを行う。コントロールレジスタの値は、電源供給時に初期化回路INTにより初期設定され、その後、コマンドレジスタREGに、メモリマネージメントMMU変更命令が入力した時に変更される。データ更新アドレス管理回路CPBは、DRAMのFLASHデータコピー領域にデータが書き込まれた時のアドレス情報を保持する。コマンドレジスタREGには、ロード命令、ストア命令、メモリマネージメントユニットMMU変更命令などの命令コードや、ロード開始アドレス、ロード終了アドレス、ストア開始アドレス、ストア終了アドレスなどのアドレスが書き込まれ保持される。
【００５０】
データバッファR/WBUFFERはDRAMの読み出しデータ、書き込みデータあるいは、FALSHの読み出しデータ、書き込みデータを一時的に保持する。クロックバッファCLKBUFはクロック信号を、DRAMとフラッシュ制御回路FCONへ供給する。コマンドジェネレータCOM#GENはDRAMへのアクセスに必要なコマンドを生成する。アクセスコントローラA#CONTはCHIP２の全体制御とDRAMへアクセスを行うためのアドレスを生成する。パワーモジュール(PM)はDRAMへの電源供給及び電源の制御を行う。フラッシュ制御信号生成回路FGENはFLASHのデータの読み出し、書き込みの制御を行う。エラー訂正回路ECCはFLASHから読み出したデータにエラーがあるかどうかをチェックし、エラーがあれば訂正を行う。代替処理回路REPは、FLASHへの書き込みが正しく行われたかをチェックし、正しく行われなかった場合は、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。
【００５１】
次に本メモリモジュールの動作を説明する。初期化回路INTは、DRAMへの電源供給開始時にメモリマネージメントユニットMMU内のコントロールレジスタの初期化とDRAMの初期化を行う。コマンドレジスタREGが選択されロード命令がコマンドレジスタREGに書き込まれると、FLASHからDRAMへデータ転送を開始する。最初に、フラッシュ制御信号発生回路FGENはFLASHに対して読み出し動作を行う。FLASH から読み出されたデータに誤りが無ければ、直接、データをデータバッファR/W  BUFFERに転送し、誤りがあれば、エラー訂正回路ECCで訂正し、データバッファR/W  BUFFERに転送する。その次に、コマンド発生回路COM#GENからライト命令とアクセスコントローラA#CONTからアドレス信号、データバッファR/W  BUFFERよりFLASHから読み出したデータがDRAMに対して入力され、DRAMのFLASHデータコピー領域へ書き込みが行われる。
【００５２】
データ更新管理回路CPBは、DRAMのFLASHデータコピー領域にデータが書き込まれた時、書き込みアドレスの情報を保持する。マンドレジスタREGが選択されストア命令がコマンドレジスタに書き込まれると、DRAMのFLASHデータコピー領域内データからFLASHへデータ転送を開始する。
【００５３】
最初に、コマンド発生回路COM#GENからリード命令とアクセスコントローラA#CONT からアドレス信号をDRAMに送りデータを読み出す。DRAMから読み出されたデータはデータバッファR/W  BUFFERを通ってフラッシュコントローラFCONに転送され、フラッシュ制御信号発生回路FGENはFLASHに対して書き込みを行う。アドレス代替処理回路REPは、書き込みが成功したかどうかをチェックし、成功すれば処理を終了する。書き込みが失敗した時には、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。代替え処理を行った際は、不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったかというアドレス情報を保持し管理する。データ更新管理回路CPBは保持しているDRAMのアドレス情報の中で、FLASHへの書き込みが終了したアドレス情報をクリアする。このように、データ更新管理回路CPBは常に、最新のデータが更新されたアドレスを管理することができる。
【００５４】
DRAMのワーク領域およびFLASHデータコピー領域が選択され、リード命令の場合、コマンド発生回路COM#GENからリード命令信号とアクセスコントローラA#CONTからアドレス信号がDRAMへ送られ、データが読み出される。
【００５５】
DRAMのワーク領域およびFLASHデータコピー領域が選択され、ライト命令の場合、コマンド発生回路COM#GENからライト命令信号とアドレス発生回路A#CONTからアドレス信号、データバッファR/W  BUFFERからデータをDRAMへ送り、データが書き込まれる。
【００５６】
信号PSよりDRAMの電源遮断命令入力すると、データ更新管理回路CPBが保持しているアドレスに対応するDRAMのデータをFLASHへ転送する。
【００５７】
最初に、コマンド発生回路COM#GENからリード命令とアクセスコントローラA#CONTからアドレス信号をDRAMに送りデータを読み出す。DRAMから読み出されたデータはデータバッファR/W  BUFFERを通ってフラッシュコントローラFCONに転送され、フラッシュ制御信号発生回路FGENによってFLASHで書き込まれる。
【００５８】
データ更新管理回路CPBは保持しているDRAMのアドレス情報の内FLASHへの書き込みが終了したアドレス情報をクリアしていき、保持したアドレスに対応したデータがすべてFLASHへ書き込まれるとデータ更新管理回路CPBのアドレス情報はすべてクリアされる。すべてのデータがDRAMからFALSHへ転送された後、DRAMの電源を遮断する。電源を遮断することによって、電力を削減できる。
【００５９】
一旦、DRAMの電源供給を停止した後に再度DRAMを動作させるためにはPS信号より電源投入命令を入力する。電源投入命令によってDRAMへの電源供給を再開し、初期化回路INTが初期化手順をアクセスコントローラ（A#CONT）に指示し初期化が実行される。
【００６０】
図3、4はメモリマネージメントユニットMMUによって変換されるメモリマップの一例を示したものである。これらのメモリマップはいずれもMMU内部のコントロールレジスタに設定された値にしたがって選択することが出来る。本実施例では特に限定されないが、不揮発メモリの記憶領域が256＋8Mb、DRAMの記憶領域が256Mb 、コマンドレジスタが8kbあるメモリモジュールを例に代表的なメモリマップを説明する。
【００６１】
図3ではアドレス信号A0〜A15を通じて入力したロウアドレス（A0〜A15）とカラムアドレス（A0〜A9）を元に、メモリマネージメントユニットMMUがコマンドレジスタREG(8kb)、DRAMのWork領域（128Mbit）、DRAMのFLASHコピー領域（128Mbit）、FLASH(256Mbit＋8Mb)にアドレスを変換したメモリマップを示す。特に制限はないがメモリマップのアドレス空間の下部から、コマンドレジスタREG、DRAM 、FLASHがマッピングされている。
【００６２】
CHIP2(CTL#LOGIC)内部に存在するコマンドレジスターREGには、外部より、ロード命令、ストア命令、MMUレジスタ変更命令、電源遮断命令などの命令コードやロード命令やストア命令時の開始アドレスや終了アドレスが書きこまれる。
【００６３】
DRAMは、Work領域（128Mbit）、FLASHコピー領域（128Mbit）に分かれている。Work領域はプログラム実行時のワークメモリとして利用され、FLASHコピー領域は、FLASH領域のデータの一部をコピーし、保持しておくために利用される。FLASH 領域のデータの一部をFLASHコピー領域へコピーするために、メモリマネジメントユニットMMUは内部レジスタに設定された値によって、FLASHの、どのアドレスのデータがFLASHコピー領域内の、どのアドレスに対応しているかを決める。図３では、FLASH領域内のA1領域（64Mbit）とC1領域（64Mbit）のデータは、それぞれDRAMのFLASHコピー領域内のA1領域（64Mbit）と1領域（64Mbit）にコピーできるアドレス対応である１例を示してある。メモリマネジメントユニットMMUの内部コントロールレジスタの値を変更することによって、FLASH領域内のB1領域（64Mbit）とD1領域（56Mbit）のデータを、それぞれDRAMのFLASHコピー領域へコピーできるアドレス対応に変更することもできる。MMU内部レジスタの値は、外部からMMUレジスタ変更命令コードとレジスタ値をコマンドレジスタに書きこむことによって変更することができる。FLASH(256M＋8Mbit)は、特に限定はしないが、メインデータ領域MD-Area（A1，A2,B1,B2 ，C1，C2,D1，D2：255.75Mbit）と代替領域Rep-Area（E1、E2：8.25Mbit）とに分かれている。メインデータ領域MD-Areaは、さらにデータ領域（A1,B1,C1,D1）と冗長領域（A2，B2，C2，D2）に分かれている。データ領域はプログラムやデータを格納し、冗長領域には、エラーを検出し修正するために必要なECCパリティデータなどを格納する。FLASHのデータ領域内のデータがDRAMのFLASHコピー領域へ転送され、あるいは、DRAMのFLASHコピー領域のデータがFLASHのデータ領域に転送される。FLASHは、書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。代替領域はこのように不良となった領域（Fail Area B、Fail Area C）のデータを、新たな領域へ置き換えるために設けられている。代替領域の大きさは、特に限定しないが、FLASHが保証する信頼性が確保できるように決めると良い。
【００６４】
FLASHからDRAMへのデータ転送を説明する。FALSHのA1領域のデータをDRAMのFLASHコピー領域A1領域に転送するため、コマンドレジスタにロード命令とFALSH領域内A1領域の転送開始アドレスSADと転送終了アドレスEADを書き込む。そうすると、制御回路（CTL#LOGIC）はFLASHのA1領域内の転送開始アドレスFSADと転送終了アドレスFEADによって示されたアドレス範囲のデータを読み出し、メモリマネージメントユニットMMUによって対応づけられたDRAMのFLASHコピー領域A1領域内のアドレスDSADとDEADのアドレス範囲に転送する。FLASHからデータを読み出す際、FLASHのデータ領域A1にあるデータと冗長領域A2にあるECCパリティデータを読み出し、エラー訂正回路ECCによって、エラーga有れば修正される。修正されたデータだけをDRAMへ転送する。
【００６５】
DRAMからFLASHへのデータ転送を説明する。FALSHのA1領域へDRAMのFLASHコピー領域A1のデータを転送するため、コマンドレジスタにストア命令とFALSHのA1領域の転送開始アドレスSADと転送終了アドレスEADを書き込む。そうすると、制御回路（CTL#LOGIC）は、メモリマネージメントユニットMMUによって対応づけられたDRAMのFLASHコピー領域A1領域内のアドレスDSADとDEADのアドレス範囲のデータを読み出し、FLASHのA1領域内の転送開始アドレスFSADと転送終了アドレスFEADのアドレス範囲データを書きこむ。FLASHへデータを書きこむ際、エラー訂正回路ECCはECCパリティデータを生成する。フラッシュ制御回路FGENによって、DRAMより読み出されたデータはFLASHのデータ領域A1へ、生成されたECCパリティデータは冗長領域A2へ書きこまれる。アドレス代替処理回路REPは、書き込みが成功したかどうかをチェックし、成功すれば処理を終了する。書き込みが失敗した時には、FLASHの代替領域内のアドレスを選択し、DRAMより読み出されたデータは代替領域内の代替データE1へ、生成されたECCパリティデータは代替冗長領域E2へ書きこまれる。
【００６６】
次にDRAMのFLASHコピー領域A1のデータの読み出しについて説明する。外部より、FLASHのA1領域内アドレスFAD0とリード命令を入力すると、MMUはアドレスFAD0に対応したDRAMのFLASHコピー領域A1のアドレスDAD0にアドレス変換する。これによって、DRAMが選択されDRAMにコピーされたFLASHのデータを読み出すことができる。つまり、FLASHのデータをDRAMと同じ速度で読み出すことができる。
【００６７】
次にDRAMのワーク領域のデータの読み出しについて説明する。外部より、ワーク領域内アドレスWAD0とリード命令を入力すると、MMUはアドレスWAD0をアドレス発生回路A#COUNTへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを読み出すことができる。
【００６８】
次にDRAMのFLASHコピー領域A1へのデータの書きこみについて説明する。外部より、FLASHのA領域内アドレスFAD0とライト命令、書きこみデータを入力すると、MMUはアドレスFAD0に対応したDRAMのFLASHコピー領域内のアドレスDAD0にアドレス変換する。これによって、DRAMが選択されFLASHコピー領域A1へデータが書き込まれる。FLASHのデータ領域A1に対応したDRAMのFLASHコピー領域A1の書きこむことで、FLASHのデータをSRAMと同じ速度で書きこむことができる。
【００６９】
次にDRAMのワーク領域のデータの読み出しについて説明する。外部より、ワーク領域内アドレスWAD0とリード命令を入力すると、MMUはアドレスWAD0をアクセスコントローラA#COUNTへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを読み出すことができる。
【００７０】
次にDRAMのワーク領域のデータの書き込みについて説明する。外部より、ワーク領域内アドレスWAD0とライト命令、入力データを入力すると、アクセスコントローラA#COUNTはアドレスWAD0をDRAMへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを書き込むことができる。
【００７１】
図４では、図３と比較して、DRAMのFLAShコピー領域を192Mbitとより大きな領域として確保する場合の、メモリマップを示す。アドレス信号A0〜A15を通じて入力したロウアドレス（A0〜A15）とカラムアドレス（A0〜A9）を元に、メモリマネージメントユニットMMUがREGISTER領域、DRAM内Work領域（64Mbit）、DRAM内FLASHコピー領域（192Mbit）、FLASH領域(256Mbit) にアドレスを変換する。
【００７２】
メモリマップは、MMU内部のコントロールレジスタの値を変更することで、システムにあわせて利用者側で自由に選択できる。MMU内部コントロールレジスタの値は、外部からMMUレジスタ変更命令コードと変更したいレジスタ値をコマンドレジスタに書きこむことによって変更することができる。
【００７３】
図5は、電源投入時に制御回路（CTL#LOGIC）が行う初期化動作を示している。T1の期間に電源が投入されると、T2のリセット期間で制御回路（CTL#LOGIC）の初期化を行う。メモリマネージメントユニットMMU内部のコントロールレジスタの値はT2の期間で初期設定される。T3の期間では、初期化回路INTがDRAMの初期化動作とFLASHの初期化動作を同時に行う。初期化動作が終了すると、メモリモジュールはアイドル状態となり、外部からのアクセスを受け付けることが可能となる。
【００７４】
図6は、FLASHからDRAMへのデータ転送のフローチャートを示す。メモリモジュールがアイドル状態で外部からの命令を待っている（STEP1）時、ロード命令およびFLASHを選択するアドレスが入力（STEP2）すると、FLASHから入力アドレスに対応したデータとECCパリティデータ読み出す（STEP3）。読み出したデータにエラーがあるかをチェック（STEP4）しエラーがあれば、エラーを訂正し（STEP5 ）、バッファに書きこむ（STEP6）。エラーがなければ直接バッファR/W＿BUFFERに書きこむ（STEP6）。バッファR/W＿BUFFERに書きこまれたデータをDRAMへ書きこむ際、DRAMに対してリフレッシュ要求が発生しているかをチェックし（STEP7）、リフレッシュ要求があれば、リフレッシュ動作を行い（STEP8）、その後、データをDRAMに書きこむ（STEP9）。リフレッシュ要求がなければ、すぐにデータをDRAMに書きこむ（STEP9）。
【００７５】
図7は、DRAMからFLASHからへのデータ転送のフローチャートを示す。メモリモジュールがアイドル状態で外部からの命令を待っている（STEP1）時、ストア命令とFLASHを選択するアドレスが入力（STEP2）すると、DRAMからデータの読み出しを開始する。その際、DRAMに対してリフレッシュ要求が発生しているかをチェックし（STEP3）、リフレッシュ要求があれば、リフレッシュ動作を行い（STEP4）、その後、DRAMからデータを読み出す（STEP5）。リフレッシュ要求がなければ、すぐにDRAMからデータを読み出す（STEP5）。読み出されたデータは、バッファR/W＿BUFFERに転送され（STEP6）、FLASHへ書き込まれる（STEP７）。FLASHへの書き込み（STEP7）の際は、DRAMから読み出されたデータとエラー訂正回路ECC が生成したECCパリティデータをFLASHへ書きこむ。FLASHへの書き込みが成功したかをチェックし（STEP8）、成功すれば処理を終える（STEP10）。書き込みが失敗した場合は、代替用の他のアドレスを選択し（STEP9）、再度、FLASHへ書き込み（STEP7）、書き込み成功チェック（STEP11）を行い、成功すれば処理を終える（STEP10）。
【００７６】
図8（A）は、メモリモジュール内のDRAMからデータを読み出す時の外部からの命令フローを示す。図8（B）はメモリモジュール内DRAMへデータを書きこむ時の外部からの命令フローを示す。外部からSDRAMインターフェースで命令がメモリモジュールへ入力される。図8（A）を説明する。メモリモジュールがアイドル状態で外部からの命令を待っている（STEP1）。外部からACTIVE命令とロウアドレスが入力（STEP2）し、その後、READ命令とカラムアドレスが入力する（STEP3）と、ロウアドレスとカラムアドレスによって選択されたDRAMのメモリセルに保持されているデータが読み出され、入出力データ信号（DQ0−DQ15）を通ってメモリモジュールの外に出力される。PRICHARGE命令が入力する（STEP4）とメモリモジュールはアイドル状態となる。
【００７７】
図8（B）を説明する。メモリモジュールがアイドル状態で外部からの命令を待っている（STEP1）。外部からACTIVE命令とロウアドレスが入力（STEP2）し、その後、WRITE命令とカラムアドレスが入力する（STEP3）と、ロウアドレスとカラムアドレスによって選択されたDRAMのメモリセルに入出力データ信号（DQ0−DQ15）から入力されたデータが書きこまれる。PRICHARGE命令が入力する（STEP4）とメモリモジュールはアイドル状態となる。
【００７８】
図9は、データ更新管理回路CPBが行うアドレス保持とアドレスクリアのフローを示している。外部からのライト命令により、DRAMのFLASHデータコピー領域にデータが書きこまれる（STEP1）と書きこみアドレスに対応するフラグ信号をデータ更新管理回路CPB内のフラグレジスターに書きこむ（STEP2）。ストア命令とアドレスが外部より入力されると、DRAMのFLASHデータコピー領域からFLASHへのデータ転送が開始される（STEP３）。転送が完了したことをチェックし（STEP４）、完了していれば、フラグレジスター内の転送完了のアドレスのフラグをクリアする。
【００７９】
図10は、DRAMの電源遮断命令がメモリモジュールに入力した時の、メモリモジュールの動作フローを示す。電源遮断命令が、コマンドレジスタに入力すると、DRAM内FLASHコピー領域に書き込まれたデータの内、FLASHへ書き戻していないデータをすべてFLASHへ転送する。電源遮断命令が入力すると（STEP1）、DRAM内FLASHコピー領域に書き込まれたデータの内、まだFLASHへ書き戻していないデータのアドレスを検索するために、先ず、検索アドレスを検索開始アドレスに設定する（STEP2）。検索アドレスに対するデータ更新管理回路CPB内のフラグレジスター書きこまれたフラグが見つかれば（STEP3）、検索アドレスに対するDRAMのデータをFLASHに転送する。転送が完了すればこのフラグをクリアする（STEP5）。現在の検索アドレスが検索最終アドレスかどうかを判断し（STEP6）、検索最終アドレスではない場合は、現在の検索アドレスに１を加えたアドレスを次の検索アドレスとし（STEP7）、その後、STEP３、STEP4、STEP5、STEP6を繰り返す。現在の検索アドレスが検索最終アドレスである場合、処理を完了し、DRAMの電源を遮断する（STEP8）。
【００８０】
図１1は、コマンドレジスタへロード命令が入力した際の、FLASHからDRAMへのデータ転送時のモジュールで行うSDRAMの動作を示す。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスRが入力し、その後、ライト命令WとカラムアドレスCと入出力信号IO0〜IO15からロード命令コードLdを入力する。続いて、入出力信号IO0〜IO15から、FLASH 領域内のデータでDRAMへコピーしたいデータの開始アドレスSaと終了アドレスEaを入力する。ロウアドレスRとカラムアドレスCによってコマンドレジスタが選択され、ロード命令コードLdと開始アドレスSaと終了アドレスEaがコマンドレジスタに書き込まれる。制御回路は開始アドレスSaと終了アドレスEaの範囲に対応したデータをFLASHから読み出しバッファに保持し、その後、SDRAM1へ書き込み動作をはじめる。DRAM1へ書きこむためのアドレスは、メモリマネージメントユニットMMUによってデータの開始アドレスSaはFLASHコピー領域のDRAMのロウアドレスR0とカラムアドレスC0に変換され、同様に終了アドレスEaはロウアドレスR0とカラムアドレスCFに変換される。
【００８１】
DRAM１へ書き込みは、D1-COMからアクテイブ命令AとD1-A0〜D1-A15からロウアドレスR0を入力し、その後、D1-COMからライト命令WとD1-A0〜D1-A15からカラムアドレスC0と入出力信号D1-IO0〜D1-IO15からデータを入力し書きこむ。書き込み動作はカラムアドレスとデータはカラムアドレスの最終アドレスCFまで続き、プリチャージ命令Pによって書き込みを終了する。DRAMへのデータの書き込みが開始してから終了するまでの間は、WAIT信号をHighに出力し、DRAMへデータを転送中であることを伝える。
【００８２】
図12は、コマンドレジスタへストア命令が入力した際の、SDRAMからFLASHへのデータ転送時のメモリモジュールで行うSDRAMの動作を示す。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスRが入力し、その後、ライト命令WとカラムアドレスCと入出力信号IO0〜IO15からストア命令コードStを入力する。続いて、入出力信号IO0〜IO15から、FLASH 領域内のデータでDRAMからFLASHへコピーバックしたいデータの開始アドレスSaと終了アドレスEaを入力する。ロウアドレスRとカラムアドレスCによってコマンドレジスタが選択され、ストア命令コードStと開始アドレスSaと終了アドレスEaがコマンドレジスタに書き込まれる。
【００８３】
制御回路は開始アドレスSaと終了アドレスEaの範囲に対応したデータをSDRAMから読み出し、FLASHへ書き込む。
【００８４】
SDRAM1から読み出すためのアドレスは、メモリマネージメントユニットMMUによってデータの開始アドレスSaをFLASHコピー領域のSDRAMのロウアドレスR0とカラムアドレスC0に変換され、同様に終了アドレスEaをロウアドレスR0とカラムアドレスCFに変換される。
【００８５】
SDRAM１からの読み出しは、D1-COMからアクテイブ命令AとD1-A0〜D1-A15からロウアドレスR0を入力し、その後、D1-COMからリード命令RとD1-A0〜D1-A15からカラムアドレスC0を入力し読み出す。読み出し動作はカラムアドレスの最終アドレスCFまで続き、プリチャージ命令Pによって読み出しを終了する。SDRAMからデータの読み出しを開始してから終了するまでの間は、WAIT信号をHighに出力し、SDRAMからデータを転送中であることを伝える。
【００８６】
図13 (a)は、SDRAMのワーク領域にアクセスした場合のSDRAMの動作を示し、図13（b）はSDRAMのFLASHコピー領域にアクセスした場合のSDRAMの動作を示している。
【００８７】
図13（a）の読み出し動作を説明する。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスR0を入力し、その後、リード命令RとカラムアドレスC0を入力する。制御回路はSDRAM1へアクテイブ命令AとロウアドレスR0を入力し、その後、リード命令RとカラムアドレスC0を入力すると、入出力信号D1-IO0〜D1-IO15からデータが出力され、入出力信号IO0〜IO15を通って外部へ出力される。
【００８８】
図13（a）の書き込み動作を説明する。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスR0を入力し、その後、ライト命令WとカラムアドレスC0と、入出力信号IO0 〜IO15からデータInを入力する。制御回路はSDRAM1へアクテイブ命令AとロウアドレスR0を入力し、その後、ライト命令WとカラムアドレスC0と、入出力信号D1-IO0 〜D1-IO15からデータInが入力されデータがSDRAMへ書き込まれる。
【００８９】
図13（ｂ）の読み出し動作を説明する。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスRD、その後、リード命令RとカラムアドレスCDを入力する。メモリマネージメントユニットMMUによってFLASH領域のロウアドレスRDはFLASHコピー領域のロウアドレスRTに、同様にFLASH領域のカラムアドレスCDはFLASHコピー領域のカラムアドレスCTに変換される。SDRAM1へはアクテイブ命令AとロウアドレスRTがその後、リード命令RとカラムアドレスCTが入力され、入出力信号D1-IO0〜D1-IO15 からデータが出力され、入出力信号IO0〜IO15を通って外部へ出力される。
【００９０】
図13（ｂ）の書き込み動作を説明する。メモリモジュールの外部よりSDRAMインターフェースで、アクテイブ命令AとロウアドレスRF、その後、ライト命令WとカラムアドレスCFと、入出力信号IO0〜IO15からデータInを入力する。メモリマネージメントユニットMMUによってFLASH領域のロウアドレスRFはFLASHコピー領域のロウアドレスRUに、同様にFLASH領域のカラムアドレスCFはFLASHコピー領域のカラムアドレスCUに変換される。SDRAM1へはアクテイブ命令AとロウアドレスRUがその後、ライト命令WとカラムアドレスCTが入力され、入出力信号D1-IO0〜D1-IO15からデータが入力され、SDRAMへ書きこまれる。
【００９１】
図14は、外部からコマンドレジスタへストア命令が書きこまれたことにより、DRAMからデータの読み出しが生じている時、外部より読み出し命令が入力した場合のSDRAMの動作を示す。ストア命令によりWAIT信号がHighになり、FLASHへ転送するためのデータOsがDRAM から読み出されている時、外部より、アクテイブ命令AとロウアドレスR0が入力されると、制御回路はプリチャージ命令PsをDRAM1へ発行し、DRAMからのFLASHへ転送するためのデータOsの読み出しを一次中断する。その後、DRAM1へアクテイブ命令AとロウアドレスR0を発行する。次に、外部よりリード命令RとカラムアドレスC0が入力されると、DRAM1へはリード命令Rとカラム命令C0が発行され、データOが読み出され、IO0〜IO15から出力される。外部からプリチャージ命令PとバンクアドレスB0が入力すると、DRAM1へプリチャージ命令PとバンクアドレスB0が発行され、データの読み出しが終了する。その後、制御回路は、DRAMからのFLASHへ転送するためのデータOsの読み出しを再開するため、アクティブ命令ASとロウアドレスR4、リード命令RsとカラムコマンドC4、リード命令RSとカラムコマンドC8をDRAM１へ発行する。
【００９２】
図15は本実施例におけるCHIP1(FLASH)の構成例である。コントロール信号バッファC-BUF、コマンドコントローラCTL、マルチプレクサMUX、データインプットバッファDI-BUF、インプットデータコントローラDC、セクタアドレスバッファSA-BUF、XデコーダX-DEC、メモリアレイMA（FLASH）、YアドレスカウンタY-CT、YデコーダY-DEC、Yゲート＆センスアンプ回路YGATE/SENSE-AMP、データレジスタDATA-REG 、データアウトプットバッファDO-BUFより構成されている。CHIP1の動作は従来から一般的に使用されているAND型FLASHメモリと同様である。なお、AND型FLASHメモリは大容量フラッシュメモリの意味で広義のＮＡＮＤ型フラッシュメモリに分類されることもあり、本願ではＮＡＮＤ型フラッシュメモリといった場合にはAND型FLASHメモリも含まれるものとする。このCHIP1(FLASH)によって本実施例であるメモリモジュールが構成出来る。
【００９３】
図16は、CHIP1を構成できるAND型FLASHメモリからのデータ読み出し動作を示している。チップイネーブル信号F-/CEがLOW，コマンドデータイネーブル信号F-CDEがLOWになり、ライトイネーブル信号F-/WEが立ち上がった時、入出力信号I/O0〜I/O7より読み出し命令の命令コードRcodeを入力する。二番目と三番目のライトイネーブル信号F-/WEの立ち上がりで入出力信号I/O0〜I/O7よりセクタアドレスを入力する。入力したセクタアドレスに対応する16kbitのデータはメモリアレイMAからデータレジスタDATA-REGに転送される。データがメモリアレイMAからデータレジスタDATA-REGに転送されている間は、FLASHはビジーとなり、F-RDY/BUSYはレディ/ビジィ信号をLowにする。データ転送が終了したら、シリアルクロック信号F-SCの立ち上がりに同期し、データレジスタDATA−REG内のデータが8ビットづつ順に読み出され、入出力信号I/O0〜I/O7より出力される。
【００９４】
図17は本メモリモジュールのCHIP1(FLASH)を別のNAND型フラッシュメモリで構成した場合の例である。CHIP1に入力されるF-/CEはチップイネーブル信号，F-CLEはコマンドラッチイネーブル信号、F-ALEはアドレスラッチイネーブル信号、F-/WEはライトイネーブル信号，F-/REはリードイネーブル信号，F-/WPはライトプロテクト信号、F-R/Bはレディ/ビジィ信号，I/O0〜I/O7は入出力信号でアドレスの入力や、データの入出力に使用する。このようにNAND型フラッシュメモリによっても、本メモリモジュールは構成できる。
【００９５】
図18は、本メモリモジュールに用いられるNAND型メモリのブロック図を示す。動作ロジックコントローラL-CONT、制御回路CTL、入出力コントロール回路I/O-CONT、ステータスレジスタSTREG、アドレスレジスタADREG、コマンドレジスタCOMREG、レディ・ビジー回路R-B、高電圧発生回路VL-GEN、ローアドレスバッファROW-BUF、ローアドレスデコーダーROW-DEC、カラムバッファCOL−BUF、カラムデーコーダCOL-DEC、データレジスタDATA−REG、センスアンプSENSE-AMP、メモリアレイMAから構成されている。CHIP1の動作は従来から一般的に使用されているNAND型FLASHメモリと同様である。このCHIP1(FLASH)によって本実施例であるメモリモジュールが構成出来る。
【００９６】
図19は、CHIP1を構成するNAND型FLASHメモリからのデータ読み出し動作を示している。チップイネーブル信号F-/CEがLOW，コマンドラッチイネーブル信号F-CLEがHighになり、ライトイネーブル信号F-/WEが立ち上がった時、入出力信号I/O0〜I/O7より読み出し命令の命令コードRcodeを入力する。その後アドレスラッチイネーブルF-ALEがHighとなり２番目と３番目と４番目のライトイネーブル信号F-/WEの立ち上がりで入出力信号I/O0〜I/O7よりページアドレスを入力する。入力したページ4kbit(4224bit)アドレスに対応する4kbit(4224bit)のデータはメモリアレイMAからデータレジスタDATA-REGに転送される。データがメモリアレイMAからデータレジスタDATA-REGに転送されている間は、FLASHはビジーとなり、F-R/B はレディ/ビジィ信号をLowにする。データ転送が終了したら、リードイネーブル信号F-/REの立下りに同期し、データレジスタDATA−REG内のデータが8ビットづつ順に読み出され、入出力信号I/O0〜I/O7より出力される。
【００９７】
図20は本実施例におけるDRAMの構成例を示したものである。ＸアドレスバッファX-ADB,リフレッシュカウンタREF. COUNTER, ＸデコーダX-DEC,メモリアレイMA, ＹアドレスバッファY-ADB,ＹアドレスカウンタY-AD COUNTER, ＹデコーダY-DEC,センスアンプ回路＆Ｙゲート（カラムスイッチ）SENS AMP.& I/O BUS, 入力データバッファ回路INPUT BUFFER, 出力データバッファ回路OUTPUT BUFFER,制御回路＆タイミング発生回路CONTROL LOGIC & TGで構成されている。DRAMは従来より用いられている汎用SDRAMである。即ち４個の独立動作可能なメモリバンクを含み、それらに対するアドレス入力端子及びデータ入出力端子は共通化されバンク毎に時分割で利用される。このDRAMによって本実施例であるメモリモジュールが構成出来る。
【００９８】
以上説明した様に、本発明によるメモリモジュールでは、SDRAMインターフェイス方式を踏襲し、FLASHの一部のデータ、あるいは全データをコピーできる領域をDRAM内に確保し、あらかじめFLASHからDRAMへデータを転送しておくことで、DRAMと同程度の速度でFLASHのデータを読み出すことができる。FLASHへデータを書く際は、いったんデータをDRAMに書き込み、必要に応じてFLASHへ書き戻すことができるため、データの書き込み速度もDRAMと同等にできる。
【００９９】
メモリモジュールの内部で、FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、かつ信頼性を保つことができる。
【０１００】
大容量のDRAMを用いるため、FLASHのデータをコピーできる領域のほかに、大容量のワーク領域も確保でき、携帯電話の高機能化に対応できる。
【０１０１】
DRAMに確保するワーク領域とFLASHデータコピー領域の大きさや、管理単位を外部よりプログラムでき、システムにあわせて利用者側で自由に選択できる。
【０１０２】
＜実施例２＞
図21は本発明のメモリモジュールにおける別の実施例を示す。本メモリモジュールは３つのチップによって構成されている。以下に夫々のチップについて説明する。まず、CHIP1(FLASH)は不揮発性メモリである。不揮発性メモリにはROM(リードオンリーメモリ)、EEPROM(エレクトリカリイレーサブルアンドプログラマブルROM)、フラッシュメモリ等を用いることが出来る。本実施例ではフラッシュメモリを例に説明する。CHIP2(SRAM+CTL#LOGIC)にはスタティックランダムアクセスメモリ(SRAM)と制御回路(CTL#LOGIC)が集積されている。制御回路はCHIP2に集積されたSRAMとCHIP3の制御を行う。CHIP3(DRAM1)はダイナミックランダムアクセスメモリ(DRAM)である。DRAMは内部構成やインターフェイスの違いからEDO、SDRAM 、DDR等様々な種類がある。本メモリモジュールにはいずれのDRAMでも用いることが出来るが、本実施例ではSDRAMを例に説明する。
【０１０３】
このメモリモジュールには外部からアドレス(A0〜A24)とコマンド信号(S-/CE1, S-CE2, S-/OE, S-/WE, S-/LB, S-/UB, LS−EN, F-EN)が入力される。電源はS-VCC, S-VSS, LF-VCC, LF-VSS, LD-VCC, LD-VSSを通して供給され、データの入出力にはS-I/O0〜S-I/O15が用いられる。いわゆるSRAMインターフェース方式によって、このメモリモジュールは動作する。
【０１０４】
CHIP2はCHIP1，CHIP3の動作に必要となる信号を供給する。CHIP2はCHIP1に対してシリアルクロック(F−SC)、アドレスおよびFLASH用データ(I/O0〜I/O7)、コマンド(F-CE, F-/OE, F-/WE, F-/RES, F-CDE, F-RDY/BUSY)、電源(F-VCC, F-VSS)を供給する。さらに、CHIP2はCHIP3に対してクロック(D1-CLK)、アドレス(D1-A0〜D1-A14)、コマンド(D1-CKE, D1-/CS, D1-/RAS, D1-/CAS, D1-/WE, D1-DQMU/DQML)、DRAM用データ(D1-DQ0〜D1-DQ15)、電源(D1-VCC, D1-VSS, D1-VCCQ, D1-VSSQ) を供給する。
【０１０５】
ここで各コマンド信号について簡単に説明する。CHIP2 に入力されるS-/CE1, S-CE2はチップイネーブル信号、 S-/OEはアウトプットイネーブル信号、 S-/WEはライトイネーブル信号、 S-/LBはロアーバイト選択信号、S-/UBはアッパーバイト選択信号である。
【０１０６】
CHIP1に入力されるF-/CEはチップイネーブル信号，F-/OEはアウトプットイネーブル信号，F-/WEはライトイネーブル信号，F-SCはシリアルクロック信号，F-/RESはリセット信号，F-CDEはコマンドデータイネーブル信号，F-RDY/BUSYはレディ/ビジィ信号，I/O0〜I/O7は入出力信号でアドレスの入力や，データの入出力に使用する。
【０１０７】
CHIP2の制御回路（CTL#LOGIC）は、アドレスの値によって、制御回路内（CTL#LOGIC）内に設けられたコマンドレジスタREG、CHIP2内のSRAM、CHIP3のDRAM、CHIP1のFLASHのいずれかを選択する。
【０１０８】
制御回路(CTL#LOGIC)に設けられたコントロールレジスタにあらかじめ値を設定しておくことによって、それぞれの領域を区別することができる。いずれへのアクセスもいわゆるSRAMインターフェイス方式によって行われる。
【０１０９】
DRAMは、ワーク領域とFLASHデータコピー領域とに分かれており、ワーク用はプログラム実行時のワークメモリとして、FLASHデータコピー領域はFLASHからのデータをコピーするためのメモリとして利用される。
【０１１０】
SRAMへアクセスする場合は、SRAMを選択するアドレス信号やコマンド信号類を制御回路(CTL#LOGIC)に入力するとCHIP2内部のSRAMへのアクセスを行う。リードアクセスの場合にはSRAMからデータを読み出し、メモリモジュールのデータ入出力線(I/O0〜I/O15)へ出力される。ライトアクセスの場合は書込みデータはメモリモジュールのデータ入出力線(I/O0〜I/O15)から入力され、SRAMに書きこまれる。
【０１１１】
制御回路(CTL#LOGIC)内のコマンドレジスタREGにアクセスしロード命令やストア命令コードを書きこむことで、FLASHのデータをDRAM内のFLASHデータコピー領域にコピー（ロード）したり、DRAM内のFLASHデータコピー領域のデータをFLASHへ書き戻し（ストア）たりできる。
【０１１２】
アドレス信号(A0〜A24)からコマンドレジスタREGにアクセスするためのアドレスと、コマンド信号（S-/CE1,S-CE2,S-/OE, S-/WE,S-LB,S-/UB）からライト命令、入出力データ信号(I/O0〜I/O15)から、ロード命令コード、続いてFLASH領域内のアドレスでロード開始アドレス、ロード終了アドレスが入力されると、コマンドレジスタにはロード命令コードとロード開始アドレスとロード終了アドレスが書きこまれる。そうすると、FLASHのロード開始アドレスからロード終了アドレスの間のデータが読み出され、DRAM内のFLASHデータコピー領域へ転送される。これによって、FLASHのデータはDRAMへ保持されることになる。
【０１１３】
コマンドレジスタにストア命令コードとFLASHを選択するアドレスで、ストア開始アドレスとストア終了アドレスが書きこまれると、FLASHのストア開始アドレスからストア終了アドレスの間アドレスへDRAM内のFLASHデータコピー領域のデータが書き戻される。
【０１１４】
FLASHの、どのアドレス範囲がDRAMのFLASHデータコピー領域の、どのアドレス範囲に対応するかは、制御回路(CTL#LOGIC)に設けられたコントロールレジスタに値を設定しておくことによって決めることができる。
【０１１５】
FLASHは、書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。
【０１１６】
FLASHからデータを読み出す時、CHIP2(CTL#LOGIC)は、読み出しデータのエラーを検出、訂正し、DRAMへ転送する。FLASHへのデータの書き込み時は、CHIP2(CTL#LOGIC)は正しく書き込まれたかをチェックし、正しく書き込まれなかった場合は、現在のアドレスとは異なるアドレスに書きこみを行う。いわゆる、代替え処理を行う。不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったというアドレス管理も行う。
【０１１７】
DRAMのFLASHデータコピー領域へアクセスする場合は、アドレス信号(A0〜A24)から、FLASH領域のアドレスと、コマンド信号（S-/CE1, S-CE2, S-/OE, S-/WE,S-/LB, S-/UB）を入力する。コマンド信号がリード命令の場合、CHIP2の制御回路は、DRAMへアクセスし、FLASH領域内のアドレスに対応したDRAMのFLASHデータコピー領域内アドレスからデータを読み出す。ライト命令の場合は書込みデータはメモリモジュールのデータ入出力線(I/O0〜I/O15)から入力され、その後DRAM用データI/O(D1-DQ0〜D1-DQ15)を通してDRAMへ入力される。これによって、FLASHのデータの読み出しおよび書きこみ時間はSRAMと同等となる。
【０１１８】
DRAMのワーク領域へアクセスする場合は、DRAM内ワーク領域へのアクセスに必要なアドレス信号やコマンド信号を入力する。制御回路(CTL#LOGIC)はDRAM内ワーク領域へのアドレスを生成し、DRAMへのアクセスを行う。リードアクセスの場合にはDRAMからの読み出しデータはDRAM用データI/O(D1-DQ0〜D1-DQ15)を通り、データ入出力線(I/O0〜I/O15)へ出力される。ライトアクセスの場合は書込みデータはメモリモジュールのデータ入出力線(I/O0〜I/O15)から入力され、その後DRAM 用データI/O(D1-DQ0〜D1-DQ15)を通してDRAMへ入力される。
【０１１９】
CHIP3（DRAM）への電源はLD-VCC、LD-VSSから供給され、制御回路(CTL#LOGIC)を通してD1-VCC,D1-VSS,D1-VCCQ,D1-VSSQへ接続され、FLASHへの電源は、LF-VCC、LF-VSSから供給され、制御回路(CTL#LOGIC)を通してF-VCC,F-VSSへ接続される。DRAMおよびFLASHへの電源供給はコマンド信号PSによって制御され、必要に応じて切断することが出来る。
【０１２０】
DRAMの電源遮断時には、制御回路（CTL#LOGIC）はDRAMからFLASHへ書き戻しが必要なデータのみを自動的に書き戻し、データの書き戻しが終了してからDRAMの電源を遮断する。
【０１２１】
切断したDRAMの電源を再投入する場合にはDRAMの初期化を行う必要がある。DRAMおよびFLASHの初期化に必要な信号生成やタイミング制御は制御回路(CTL#LOGIC) が行う。
【０１２２】
また、DRAMのリフレッシュを行う場合には制御回路(CTL#LOGIC)が定期的にバンクアクティブコマンドを投入して行うことが出来る。一般にDRAMのリフレッシュ特性は高温時に悪化するが、制御回路(CTL#LOGIC)に温度計を設けて高温時にバンクアクティブコマンドの投入間隔を狭めることによってDRAMをより広い温度範囲で使用することが出来る。
【０１２３】
以上説明した実施例によれば、SRAMインターフェイス方式を踏襲しながら安価な汎用SDRAMとFLASHを用いた大容量かつアクセス速度がSRAMと同等なメモリモジュールが実現出来る。
【０１２４】
本発明によるメモリモジュールでは、FLASHの一部のデータ、あるいは全データをコピーできる領域をDRAM内に確保し、あらかじめFLASHからDRAMへデータを転送しておくことで、SRAMと同等な速度でFLASHのデータを読み出すことができる。FLASHへデータを書く際は、いったんデータをDRAMに書き込み、必要に応じてFLASHへ書き戻すことができるため、データの書き込み速度もSRAMと同等にできる。
【０１２５】
大容量SDRAMを用いることで、SDRAMにFLASHのデータをコピーできる領域のほかに大容量のワーク領域を確保できる。
【０１２６】
FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、信頼性を保つことができる。
【０１２７】
大容量SDRAMを用いるため、SDRAMにFLASHのデータをコピーできる領域のほかに大容量のワーク領域を確保できる。
【０１２８】
モジュール内部で実行されるリフレッシュの間隔を温度によって変えることによってDRAMの使用温度範囲を広げることが可能となり、使用温度範囲の広い大容量メモリモジュールが実現できる。
【０１２９】
本発明の別の目的はデータ保持電流の少ないメモリモジュールを実現することである。この目的のために、特に低温時にはモジュール内部で実行されるリフレッシュ間隔を伸ばす事によって、データ保持電流を削減することが出来る。
【０１３０】
さらにデータ保持電流を削減するためにはDRAMへ供給する電源を切断し、SRAMに記憶されたデータだけを保持すればよい。これによって、最小限のデータ保持電流で必要なデータだけを保持することが可能である。
【０１３１】
図22はCHIP2(SRAM+CTL#LOGIC)を示したものである。CHIP2(SRAM+CTL#LOGIC)はSRAMと制御回路(CTL#LOGIC)から構成されており、集積されるSRAMは従来より一般的に使用されている非同期SRAMである。制御回路(CTL#LOGIC)はCHIP2のSRAM以外の部分で、図18では破線に囲まれた領域として示されており、AS、MMU、ATD、DTD、R/W BUFFER, CPB、A#CONT、REG、INT、 TMP、RC、PM、CLK#GEN、COM#GENによって構成される。以下で各回路ブロックの動作を説明する。
【０１３２】
初期化回路INTは、電源供給開始時にメモリマネージメントユニットMMU内のコントロールレジスタの初期化とDRAMの初期化を行う。
【０１３３】
メモリマネージメントユニットMMUは内蔵するコントロールレジスタに設定された値に従って外部より入力されたアドレスを変換し、REGISTER領域内のコマンドレジスタREGやDRAM内のワーク領域、DRAM内のFLASHデータコピー領域、FLASH領域を選択し、アクセスを行う。コントロールレジスタの値は、電源供給時に初期化回路INTにより初期設定される。コントロールレジスタの値を変更したい場合は、コマンドレジスタREGに、メモリマネージメントMMU変更命令を入力するSRAMが選択された場合にはアクセススイッチ(AS)によってSRAMへアドレス信号とコマンド信号が送られ、SRAMへのアクセスが行われる。
【０１３４】
アドレストランジションディテクタ回路(ATD)はアドレス信号とコマンド信号の変化を検出してパルスを出力する。また、コマンドトランジションディテクタ回路(CTD)はコマンド信号の変化を検出してパルスを出力する。これらの検出回路が信号の変化を検出することによってメモリへのアクセスが開始される。
【０１３５】
データ更新アドレス管理回路CPBは、DRAMのFLASHデータコピー領域にデータが書き込まれた時のアドレス情報を保持する。
【０１３６】
コマンドレジスタREGには、ロード命令、ストア命令、メモリマネージメントユニットMMU変更命令、電源遮断命令などの命令コードや、ロード開始アドレス、ロード終了アドレス、ストア開始アドレス、ストア終了アドレスなどのアドレスが書き込まれ保持される。
【０１３７】
データバッファR/WBUFFERはDRAMの読み出しデータ、書き込みデータあるいは、FALSHの読み出しデータ、書き込みデータを一時的に保持する。
【０１３８】
コマンドジェネレータCOM#GENはDRAMへのアクセスに必要なコマンドを生成する。アクセスコントローラA#CONTはCHIP２の全体制御とDRAMへアクセスを行うためのアドレスを生成する。
【０１３９】
フラッシュ制御信号生成回路FGENはFLASHのデータの読み出し、書き込みの制御を行う。
【０１４０】
エラー訂正回路ECCはFLASHから読み出したデータにエラーがあるかどうかをチェックし、エラーがあれば訂正を行う。代替処理回路REPは、FLASHへの書き込みが正しく行われたかをチェックし、正しく行われなかった場合は、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。
【０１４１】
温度計測モジュール(TMP)は温度を測定し、測定した温度に応じた信号をRCとA#CONT に出力する。RCはリフレッシュカウンタで、DRAMのリフレッシュ間隔にあわせてリフレッシュを行うアドレスを生成する。また、温度計測モジュール(TMP)の出力信号によって温度に応じたリフレッシュ間隔の変更を行う。
【０１４２】
パワーモジュール(PM)はCHIP2の制御回路(CTL#LOGIC)と DRAMへの電源供給及び電源の制御を行う。クロックジェネレータ(CLK#GEN)はクロックを生成し、DRAMと制御回路(CTL#LOGIC)へ供給する。コマンドジェネレータ(COM#GEN)はDRAMへのアクセスに必要なコマンドを生成する。アクセスコントローラ(A#CONT)はCHIP2 (SRAM+CTL#LOGIC)全体動作の制御と、DRAMへアクセスを行うためのアドレスを発生する。
【０１４３】
フラッシュ制御信号生成回路FGENはFLASHのデータの読み出し、書き込みの制御を行う。
【０１４４】
エラー訂正回路ECCはFLASHから読み出したデータにエラーがあるかどうかをチェックし、エラーがあれば訂正を行う。代替処理回路REPは、FLASHへの書き込みが正しく行われたかをチェックし、正しく行われなかった場合は、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。
【０１４５】
次に本メモリモジュールの動作を説明する。
【０１４６】
CHIP2(SRAM+CTL#LOGIC)へメモリアクセスを行うには従来より一般に使用されている非同期SRAM方式でインターフェイスする。
【０１４７】
アドレス信号(A0〜A24)あるいはコマンド信号(S-/LB, S-/UB, S-/WE, S-/CE1, S-CE2, S-/OE) が変化するとATDがこれを検知して、コマンドレジスタREG、SRAM、DRAMあるいはFLASHへのアクセスが開始される。
【０１４８】
外部から入力されたアドレス信号(A0〜A24)の値はまずメモリマネージメントユニットMMUによって変換される。変換されたアドレスによってアクセス先がコマンドレジスタREGかSRAMかDRAM、あるいはFLASHなのかを決定する。
【０１４９】
アドレスの変換パタンはメモリマネージメントユニットMMU内部のコントロールレジスタの値によって決められる。
【０１５０】
コマンドレジスタREGが選択されロード命令コードがコマンドレジスタREGに書き込まれると、FLASHからDRAMへデータ転送を開始する。最初に、フラッシュコントローラFCON内部のフラッシュ制御信号発生回路FGENはFLASHに対して読み出し動作を行う。FLASHから読み出されたデータに誤りが無ければ、直接、データをデータバッファR/W  BUFFERに転送し、誤りがあれば、エラー訂正回路ECCで訂正し、データバッファR/W  BUFFERに転送する。その次に、コマンド発生回路COM#GEN からライト命令とアクセスコントローラA#CONTからアドレス信号、データバッファR/W  BUFFERよりFLASHから読み出したデータがDRAMに対して入力され、DRAMのFLASHデータコピー領域へ書き込みが行われる。
【０１５１】
データ更新管理回路CPBは、DRAMのFLASHデータコピー領域にデータが書き込まれた時、書き込みアドレスの情報を保持する。
【０１５２】
コマンドレジスタREGが選択されストア命令がコマンドレジスタに書き込まれると、DRAMのFLASHデータコピー領域内データからFLASHへデータ転送を開始する
。
【０１５３】
最初に、コマンド発生回路COM#GENからリード命令とアクセスコントローラA#CONT からアドレス信号をDRAMに送りデータを読み出す。DRAMから読み出されたデータはデータバッファR/W  BUFFERを通ってフラッシュコントローラFCONに転送され、フラッシュ制御信号発生回路FGENはFLASHに対して書き込みを行う。アドレス代替処理回路REPは、書き込みが成功したかどうかをチェックし、成功すれば処理を終了する。書き込みが失敗した時には、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。代替え処理を行った際は、不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったかというアドレス情報を保持し管理する。データ更新管理回路CPBは保持しているDRAMのアドレス情報の中で、FLASHへの書き込みが終了したアドレス情報をクリアする。このように、データ更新管理回路CPBは常に、最新のデータが更新されたアドレスを管理することができる。
【０１５４】
DRAMのワーク領域およびFLASHデータコピー領域が選択され、リード命令の場合、コマンド発生回路COM#GENからリード命令信号とアクセスコントローラA#CONT からアドレス信号がDRAMへ送られ、データが読み出される。
【０１５５】
DRAMのワーク領域およびFLASHデータコピー領域が選択され、ライト命令の場合、コマンド発生回路COM#GENからライト命令信号とアドレス発生回路A#CONTからアドレス信号、データバッファR/W  BUFFERからデータをDRAMへ送り、データが書き込まれる。
【０１５６】
コマンドレジスタREGが選択され、電源遮断命令がコマンドレジスタに書き込まれると、データ更新管理回路CPBが保持しているアドレスに対応するDRAMのデータをFLASHへ転送する。最初に、コマンド発生回路COM#GENからリード命令とアクセスコントローラA#CONTからアドレス信号をDRAMに送りデータを読み出す。DRAMから読み出されたデータはデータバッファR/W  BUFFERを通ってフラッシュコントローラFCONに転送され、フラッシュ制御信号発生回路FGENによってFLASHで書き込まれる。
【０１５７】
データ更新管理回路CPBは保持しているDRAMのアドレス情報の内FLASHへの書き込みが終了したアドレス情報をクリアしていき、保持したアドレスに対応したデータがすべてFLASHへ書き込まれるとデータ更新管理回路CPBのアドレス情報はすべてクリアされる。
【０１５８】
メモリモジュールを高温で使用する場合にはDRAMのリフレッシュ間隔を短くして頻繁にリフレッシュを行えばよい。そこで本メモリモジュールでは温度計測モジュール(TMP)が温度を測定してリフレッシュカウンタとアクセスコントローラに通知する。高温になればリフレッシュカウンタはリフレッシュ間隔を短く変更してリフレッシュ用アドレスを出力する。また、逆に低温時にはＤＲＡＭのリフレッシュ間隔を長く変更すればデータ保持電流を削減する事も出来る。この様な場合にも温度計測モジュール(TMP)が温度を測定してリフレッシュカウンタとアクセスコントローラに通知する。低温になればリフレッシュカウンタはリフレッシュ間隔を長く変更してリフレッシュ用アドレスを出力する。
【０１５９】
メモリモジュールが実装された機器は動作状態に応じて消費電流を削減したい場合がある。そこで、パワーモジュールによってメモリの動作状態を変えて消費電力を削減する方法について説明する。
【０１６０】
まず、最も簡単なものはパワーモジュールがコマンド信号PSに従ってリフレッシュカウンタが行うリフレッシュを停止させるものである。これによって、DRAMに記憶されたデータは破壊されるが、リフレッシュに必要な電力を削減することが出来る。
【０１６１】
さらに消費電力を削減したい場合にはメモリモジュール内部においてDRAMへ供給する電源を切断する。この場合にはパワーモジュールが機器が出力するコマンド信号PSにしたがってDRAMへ供給されるD1-VCCへの電力供給を停止する。
【０１６２】
この上、一段と消費電力を削減したい場合はパワーモジュールがコマンド信号PSにしたがってCHIP2(SRAM+CTL#LOGIC)のうちDRAMへのメモリアクセスに関与する部分への電源供給も停止すれば良い。この状態では例えばCHIP2(SRAM+CTL#LOGIC)のうちSRAMの他にはMMUとASだけに電源を接続して動作状態とし、SRAMへのアクセスだけを実行するモードとすることが可能である。
【０１６３】
さらにコマンドPSによってSRAMのデータ保持だけを行う動作状態とすることも可能である。この場合にはSRAMへ接続される電源(S-VCC, S-VSS)以外を切断し、メモリへのアクセスは禁止される。この状態ではメモリモジュールはSRAMに記憶されたデータの保持を行う。
【０１６４】
一旦ＤＲＡＭへの電源供給を停止して動作を停止した後にDRAMを再び動作させるためには電源供給の再開の他、DRAMの初期化を行う必要がある。初期化方法は一般的なものだが本メモリモジュールではイニシャル回路(INT)が初期化の手順をアクセスコントローラ(A#CONT)に指示して初期化が実行される。
【０１６５】
なお、DRAMのリフレッシュを停止した場合にもDRAMを再び動作させるためにはDRAMの初期化が必要であるが、やはりイニシャル回路(INT)が初期化の手順をアクセスコントローラ(A#CONT)に指示して初期化が実行される。
【０１６６】
図23,24,25,26はメモリマネージメントユニットMMUによって変換されるメモリマップの一例を示したものである。これらのメモリマップはいずれもMMU内部のコントロールレジスタに設定された値にしたがって選択することが出来る。本実施例では特に限定されないが、FLASHの記憶容量が256＋８Mb、データ保持をするSRAMが2Mb、DRAMが256Mb であるメモリモジュールを例に代表的なメモリマップを説明する。
【０１６７】
図23ではアドレス信号A0〜A24を通じて入力したアドレスを元に、メモリマネージメントユニットMMUがコマンドレジスタREG（16kbit）、SRAMによるデータ保持領域(2Mbit)、DRAM内Work領域（128Mbit）、DRAM内FLASHコピー領域（128Mbit ）、FLASH(256+8 Mbit)にアドレスを変換したメモリマップを示す。
【０１６８】
特に制限はないがメモリマップのアドレス空間の下部から、コマンドレジスタREG,SRAM、DRAM、FLASHがマッピングされている。
【０１６９】
コマンドレジスターREGは外部より、ロード命令、ストア命令、MMUレジスタ変更命令などの命令コードやロード命令やストア命令時の開始アドレスや終了アドレスが書きこまれる。
【０１７０】
DRAMは、Work領域（128Mbit）、FLASHコピー領域（128Mbit）に分かれている。Work領域はプログラム実行時のワークメモリとして利用され、FLASHコピー領域は、FLASH領域のデータの一部をコピーし、保持しておくために利用される。
【０１７１】
SRAMによる2Mbitのデータ保持領域は、アドレス空間の下部に集中して設定されている。この領域はDRAMと重複してメモリ空間にマッピングされているが、DRAMへのアクセスは行われず、SRAMへのみアクセスが行われる。
【０１７２】
メモリモジュールの電源を制御してSRAMのデータだけを保持して使用するような場合にはSRAMの領域を集中して管理することが出来る。
【０１７３】
アクセスされないDRAMの領域(SHADOW)はDRAMのメモリセルを救済する為に使用する事が出来る。本メモリモジュールには低温時にリフレッシュ間隔を延長して消費電力を下げる為の工夫がなされているが、その場合にはデータ保持が困難なメモリセル(Fail bit)も生じる。そこで、このSHADOWとなるDRAMを使用してFail bitの代替を行うことができる。図23では、DRAMにFail bit A, Fail bit  Bが有り、これらのアドレスは前もって登録されており、アクセスがFail bitに行われる場合にはその代わりにそれぞれのSHADOWが代わりにアクセスされる。SHADOWによる代替によってFail bitが救済され低温時にリフレッシュ間隔を延長することによって消費電力の少ないメモリモジュールが実現できる。
【０１７４】
FLASH領域のデータの一部をFLASHコピー領域へコピーするために、メモリマネジメントユニットMMUは内部レジスタに設定された値によって、FLASH領域内の、どのアドレスのデータがFLASHコピー領域内の、どのアドレスに対応しているかを決める。図23では、FLASH領域内のA1領域（64Mbit）とC1領域（64Mbit）のデータは、それぞれDRAMのFLASHコピー領域内のA1領域（64Mbit）と1領域（64Mbit）にコピーできるアドレス対応である１例を示してある。メモリマネジメントユニットMMUの内部コントロールレジスタの値を変更することによって、FLASH領域内のB1領域（64Mbit）とD1領域（56Mbit）のデータを、それぞれDRAMのFLASHコピー領域へコピーできるアドレス対応に変更することもできる。
【０１７５】
FLASH(256M＋8Mbit)は、特に限定はしないが、メインデータ領域MD-Area（A1，A2,B1,B2，C1，C2,D1，D2：255.75Mbit）と代替領域Rep-Area（E1、E2：8.25Mbit）とに分かれている。メインデータ領域は、さらにデータ領域（A1,B1,C1,D1）と冗長領域（A2，B2，C2 ，D2）に分かれている。データ領域はプログラムやデータを格納し、冗長領域には、エラーを検出し修正するためのECCパリティデータなどを格納する。FLASHのデータ領域内のデータがDRAMのFLASHコピー領域へ転送され、あるいは、DRAMのFLASHコピー領域のデータがFLASHのデータ領域に転送される。FLASHは、書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。代替領域はこのように不良となった領域（Fail Area C、Fail Area D）のデータを、新たな領域へ置き換えるために設けられている。代替領域の大きさは、特に限定しないが、FLASHが保証する信頼性が確保できるように決めると良い。
【０１７６】
FLASHからDRAMへのデータ転送を説明する。FALSHのA1領域のデータをDRAMのFLASHコピー領域A1領域に転送するため、コマンドレジスタにロード命令とFALSH領域内A1領域の転送開始アドレスSADと転送終了アドレスEADを書き込む。そうすると、制御回路（CTL#LOGIC）はFLASHのA1領域内の転送開始アドレスFSADと転送終了アドレスFEADによって示されたアドレス範囲のデータを読み出し、メモリマネージメントユニットMMUによって対応づけられたDRAMのFLASHコピー領域A1領域内のアドレスDSADとDEADのアドレス範囲に転送する。FLASHからデータを読み出す際、データの管理単位（ここでは8ｋbit）でFLASHのデータ領域A1にあるデータと冗長領域A2にあるECCパリティデータを読み出し、エラー訂正回路ECCによって、エラー有れば修正される。修正されたデータだけをDRAMへ転送する。
【０１７７】
DRAMからFLASHへのデータ転送を説明する。FALSHのA1領域へDRAMのFLASHコピー領域A1のデータを転送するため、コマンドレジスタにストア命令とFALSHのA1領域の転送開始アドレスSADと転送終了アドレスEADを書き込む。そうすると、制御回路（CTL#LOGIC）は、メモリマネージメントユニットMMUによって対応づけられたDRAMのFLASHコピー領域A1領域内のアドレスDSADとDEADのアドレス範囲のデータを読み出し、FLASHのA1領域内の転送開始アドレスFSADと転送終了アドレスFEADのアドレス範囲データを書きこむ。FLASHへデータを書きこむ際、エラー訂正回路ECCはデータの管理単位(ここでは8kbit) でECCパリティデータを生成する。フラッシュ制御回路FGENによって、DRAMより読み出されたデータはFLASHのデータ領域A1へ、生成されたECCパリティデータは冗長領域A2へ書きこまれる。アドレス代替処理回路REPは、書き込みが成功したかどうかをチェックし、成功すれば処理を終了する。書き込みが失敗した時には、FLASHの代替領域内のアドレスを選択し、DRAMより読み出されたデータは代替領域内の代替データE1へ、生成されたECCパリティデータは代替冗長領域E2へ書きこまれる。
【０１７８】
次にDRAMのFLASHコピー領域A1のデータの読み出しについて説明する。外部より、FLASHのA1領域内アドレスFAD0とリード命令を入力すると、MMUはアドレスFAD0に対応したDRAMのFLASHコピー領域A1のアドレスDAD0にアドレス変換する。これによって、DRAMが選択されDRAMにコピーされたFLASHのデータを読み出すことができる。つまり、FLASHのデータをDRAMと同じ速度で読み出すことができる。
【０１７９】
次にDRAMのワーク領域のデータの読み出しについて説明する。外部より、ワーク領域内アドレスWAD0とリード命令を入力すると、MMUはアドレスWAD0をアドレス発生回路A#COUNTへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを読み出すことができる。
【０１８０】
次にDRAMのFLASHコピー領域A1へのデータの書きこみについて説明する。外部より、FLASHのA1領域内アドレスFAD0とライト命令、書きこみデータを入力すると、MMUはアドレスFAD0に対応したDRAMのFLASHコピー領域内のアドレスDAD0にアドレス変換する。これによって、DRAMが選択されFLASHコピー領域A1へデータが書き込まれる。FLASHのデータ領域A1に対応したDRAMのFLASHコピー領域A1の書きこむことで、FLASHのデータをSRAMと同じ速度で書きこむことができる。
【０１８１】
次にDRAMのワーク領域のデータの読み出しについて説明する。外部より、ワーク領域内アドレスWAD0とリード命令を入力すると、MMUはアドレスWAD0をアクセスコントローラA#COUNTへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを読み出すことができる。
【０１８２】
次にDRAMのワーク領域のデータの書き込みについて説明する。外部より、ワーク領域内アドレスWAD0とライト命令、入力データを入力すると、アドレス発生回路A#COUNTはアドレスWAD0をDRAMへ出力する。これによって、DRAMのワーク領域内アドレスWAD0のデータを書き込むことができる。
【０１８３】
図24に示したメモリマップの例では複数のアドレス空間に分散してSRAM領域が設定されている。やはりSRAMのアドレス空間はDRAMのアドレス空間に重なっており、重なったアドレス空間へのアクセスはSRAMに対して行われる。複数のSHADOWが複数のFail bitの救済に使用されている。この例ではSRAM領域が2Kbyte単位で設定してあるが、これはFLASHメモリの書込み消去単位に合わせており、アドレス空間の管理単位をFLASHメモリとそろえておくことによってOSやプログラムによるメモリ空間の扱いを簡単にするための工夫である。
【０１８４】
また、メモリモジュールの電源を制御してSRAMのデータだけを保持して使用するような場合にはSRAMの領域をメモリ空間内に分散して配置することが出来る。
【０１８５】
図25に示したメモリマップの例ではSRAMとDRAMは別のアドレス空間にマッピングされており、重複によって生じるSHADOWはない。したがって、アドレス空間はDRAMの256MbとSRAMの2Mbを足しあわせた258Mbになり、より広いアドレス空間を得る事が出来る。
【０１８６】
図26に示したメモリマップでは図22のSRAM領域を128分割して配置した例である。図25に示した例と同様により広いアドレス空間を持つ事が出来る。また、図22に示した例と同様にメモリモジュールの電源を制御してSRAMのデータだけを保持して使用するような場合にはSRAMの領域をメモリ空間内に分散して配置することが出来る。
【０１８７】
このようにMMUは指定したアドレス空間にSRAM領域やDRAM領域をわりあてることが出来る。その割り当て方法はMMUに設定したレジスタの値を変更する事によって容易に変更することが出来る。
【０１８８】
また、特にデータ保持電流を少なくしたい場合には保持したいデータを格納するアドレス空間をSRAM領域に割り当て、DRAMへの電源供給を停止すればよい。この方法によってデータ保持電流の少ないメモリモジュールを実現することができる。
【０１８９】
図27（A）は外部アクセスとリフレッシュアクセスとロード命令やストア命令時のDRAMへのアクセスの優先順位を示している。リフレッシュアクセスが第１優先、外部アクセスが第２優先、ロードあるいはストア命令におけるアクセスが第３優先となる。
【０１９０】
図27（B）は外部から読み出しアクセス(READ)とリフレッシュアクセス（REF）がDRAMへ生じた際の動作を示している。
【０１９１】
図27（C）はおよび書き込みアクセス（WRITE)とリフレッシュアクセス（REF）がDRAMへ生じた際の動作を示している。
【０１９２】
リフレッシュアクセス（REF）が生じておらず、外部アクセス（READ、WRITE）が生じた場合は、外部アクセスは、そのままDRAMへ行われ、データの読み出しや、書き込みが行われる。
【０１９３】
リフレッシュアクセス（REF）と外部アクセスが生じた場合、先ず、優先順位の高いリフレッシュアクセスによってリフレッシュ動作を行い、その次に、外部アクセスによる動作が実行される。リフレッシュ動作中は、WAIT信号はHighになり、DRAMへの動作がすでに行われていることを示す。
【０１９４】
図28（A）はコマンドレジスタへ、ロード命令が書き込まれた際の、FLASHからDRAMへデータが転送される際の、DRAMへの動作を示す。FLASHからデータを読み出し、いったん、データバッファR/W  BUFFERに保持しておく、その後、DRAMへアクセスしデータを書きこむ。DRAMへの書き込みアクセスが開始され、書き込みが終了するまでの間は、WAIT信号をHighにし、DRAMへのアクセスがすでに行われていることを示す。
【０１９５】
図28（B）はコマンドレジスタへ、ストア命令が書き込まれた際の、DRAMからFLASH へデータが転送される際の、DRAMへの動作を示す。DRAMからデータを読み出し、いったん、データバッファに保持しておく、その後、FLASHへアクセスしデータを書きこむ。DRAMへの読み出しアクセスが開始され、書き込みが終了するまでの間は、WAIT信号をHighにし、DRAMへのアクセスがすでに行われていることを示す。
【０１９６】
図29（A）はロード命令時のDRAMへ書き込みアクセス中に、外部より読み出しアクセスが生じた場合のDRAMの動作を示す。外部アクセスの種類は特に限定されないが、ここでは、読み出しアクセスを１例とした。外部アクセスが生じた場合は、ロード命令時のDRAMの書き込みアクセスをいったん停止し、外部アクセスを優先して処理する。外部アクセスの処理が終了したら、ロード命令時のDRAMの書き込みアクセスを再開する。
【０１９７】
図29は（B）はストア命令時のDRAMへの読み出しアクセス中に、外部より書き込み読み出しアクセスが生じた場合のDRAMの動作を示す。外部アクセスの種類は特に限定されないが、ここでは、書き込みアクセスを１例とした。外部アクセスが生じた場合は、ストア命令時のDRAMの読み出しアクセスをいったん停止し、外部アクセスを優先して処理する。外部アクセスの処理が終了したら、ストア命令時のDRAMの読み出しアクセスを再開する。
【０１９８】
図30は本発明であるメモリモジュールの動作波形の一例を示したものである。A0〜A20, S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WEはメモリモジュールへ入力される信号で、いわゆる非同期SRAMのインターフェイス信号である。データ入出力信号I/O0〜I/O15はデータの入力と出力を分けて夫々DIN、DOUTとして表した。MMU, ATD, CTDは夫々MMU回路、ATD回路、CTD回路の出力信号を表している。D1-CLKはDRAMへ供給されるクロック、D1-COMはDRAMへ供給されるコマンド信号の総称、 D1-A0〜D1-A15はDRAMのアドレス線、D1-DQ0〜D1-DQ15はDRAMのI/O線である。
【０１９９】
まず、最初に行われているリードアクセスについて説明する。アドレスA0〜A24が入力されるとMMU回路は変換したアドレスを出力する。 ATD回路はアドレスA0〜A24とコマンド類(S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WE)の変化を検知し、アドレスとコマンドが確定するとパルスを出力する。このパルスをきっかけにDRAM1へバンクアクティブコマンドAとロウアドレスRa、つづいてがリードコマンドRとカラムアドレスCoが発行される。DRAM１から読み出されたデータはD-DQ0〜D-DQ15に出力され、一旦R/W BUFFERを通してからI/O0〜I/O15へ出力される。次のサイクルではライトアクセスの実行例を示した。ライトアクセスの場合もリードアクセスと同様にATD信号の立ち下がりをきっかけにバンクアクティブコマンドAとロウアドレスRaが発行される。その後、CTD回路がコマンド類(S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WE)の変化を検知して、ライト動作であることを認識し、パルスを出力する。このパルスをきっかけにライトコマンドWとカラムコマンドCoが発行されてライトが実行される。
【０２００】
図31は本発明であるメモリモジュールの動作波形の一例で、リフレッシュ動作が行われている時に、外部より読み出しアクセスが生じた際の動作波形を示している。
【０２０１】
リフレッシュを行うため、DRAM1へバンクアクティブコマンドAとロウアドレスRaを発行し、その後プリチャ-じコマンドPとバンクアドレスBaを発行する。このリフレッシュ動作の期間中は、リフレッシュカウンタはRCはリフレッシュ期間中であることを示す信号RCを出力する。リフレッシュ期間中に生じた外部からのリードアクセスについて説明する。アドレスA0〜A24が入力されるとMMU回路は変換したアドレスを出力する。 ATD回路はアドレスA0〜A24とコマンド類(S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WE) の変化を検知し、アドレスとコマンドが確定するとパルスを出力する。このパルスによって、アドレスとコマンドをラッチする。リフレッシュ期間が終了したことをきっかけにDRAM1へバンクアクティブコマンドAとロウアドレスRa、つづいてがリードコマンドRとカラムアドレスCoが発行される。DRAM１から読み出されたデータはD-DQ0〜D-DQ15に出力され、一旦R/W BUFFERを通してからI/O0〜I/O15へ出力される。
【０２０２】
図32は本実施例におけるSRAMの構成例を示したものである。Ｘデコーダ X-DEC, メモリアレイMA(SRAM), ＹゲートY-GATE, ＹデコーダY-DEC,入力データ制御回路D#CTL,制御回路CONTROL LOGICと各信号線の入出力バッファから構成されている。このSRAMは一般的ないわゆる非同期SRAMである。このSRAMによって本実施例であるメモリモジュールが構成出来る。
【０２０３】
以上説明した実施例によれば、SRAMインターフェイス方式を踏襲しながら安価な汎用DRAMを用いた大容量メモリモジュールが実現出来る。本発明によるメモリモジュールでは、FLASHの一部のデータ、あるいは全データをコピーできる領域をDRAM内に確保し、あらかじめFLASHからDRAMへデータを転送しておくことで、SRAMと同程度の速度でFLASHのデータを読み出すことができる。FLASHへデータを書く際は、いったんデータをDRAMに書き込み、必要に応じてFLASHへ書き戻すことができるため、データの書き込み速度もSRAMと同等となる。FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、信頼性を保つことができる。
【０２０４】
メモリマネージメントユニットMMUによってSRAMによるデータ保持領域、DRAMのFLASHコピー領域、ワーク領域を自在に設定出来るため、様々な機器に対応して幅広く用いることが可能である。
【０２０５】
本発明による制御回路(CTL#LOGIC)ではDRAMが使用されているがDRAMに必要なリフレッシュは制御回路(CTL#LOGIC)によって実行されるためSRAMと同様にリフレッシュを考慮せずに使用することが出来る。さらにDRAMのリフレッシュ間隔を狭めることによって高温時にもDRAMを動作させることが可能となり、使用温度範囲の広いメモリモジュールを実現できる。一方、低温時にはDRAMのリフレッシュ間隔を広げることによって、データ保持に必要な電力を削減し、データ保持電力の少ないメモリモジュールを実現することが出来る。パワーモジュールPMの働きによってはDRAMの一部、あるいは全部の電源供給を停止して記憶領域を限定してデータ保持に必要な電力を削減する事もできる。さらに、制御回路の電源供給も停止してよりデータ保持電力の少ないメモリモジュールを実現することも出来る。
【０２０６】
＜実施例３＞
図33は本発明におけるメモリモジュールの第3の実施例を示したものである。図33(A)には上面図、図33(B)には断面図を示した。本メモリモジュールはボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボードPCB)上に実施例１で示したCHIP1(FLASH)、CHIP2(CTL#LOGIC)、  CHIP3(DRAM)が搭載されたり、あるいは  実施例2で示したCHIP1(FLASH)、CHIP2(SRAM+CTL#LOGIC)、CHIP3(DRAM)が搭載されたりする。とくに制限されないが、CHIP1にはいわゆるチップの一端に信号および電源パッド列が１列に並ぶ汎用DRAMのベアチップが使用されており、CHIP3にはいわゆるチップの中央に信号及び電源パッド列が１列に並ぶ汎用DRAMのベアチップが使用されている。CHIP1と基盤上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIP2と基盤上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。CHIP3とCHIP2とボンディングワイヤ(PATH1)で接続される。CHIP1とCHIP2とボンディングワイヤ(PATH4)で接続される。チップの搭載された基盤上面は樹脂モールドが行われて各チップと接続配線を保護する。なお、さらにその上から金属、セラミック、あるいは樹脂のカバー(COVER)を使用しても良い。
【０２０７】
本発明による実施例ではプリント回路ボードPCB上にベアチップを直接搭載する為、実装面積の小さなメモリモジュールを構成することが出来る。また、各チップを近接して配置することが出来るため、チップ間配線長を短くすることが出来る。チップ間の配線及び各チップと基盤間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することが出来る。さらにチップ間をボンディングワイヤで直接配線することによって基盤上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することが出来る。大量に量産される汎用DRAMのベアチップを用いることができるため、メモリモジュールを安価に安定供給することが出来る。樹脂のカバーを使用した場合にはより強靭なメモリモジュールを構成することが出来る。セラミックや金属のカバーを使用した場合には強度のほか、放熱性やシールド効果に優れたメモリモジュールを構成することが出来る。
【０２０８】
図34は本発明におけるメモリモジュールの図34の変形例である。図34(A)には上面図34(B)には断面図を示した。この例では、CHIP3（DRAM）、CHIP2(CTL#LOGIC あるいは  SRAM+CTL#LOGIC)の実装および配線にボールグリッドアレイ（BGA）が用いられている。CHIP1と基盤上のボンディングパットはボンディングワイヤ(PATH2)で接続されている。この実装方法によってCHIP2(CTL#LOGIC あるいは SRAM+CTL#LOGIC)とCHIP3（DRAM）および、CHIP2(CTL#LOGIC)と基盤間とのボンディングが不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いメモリモジュールが実現できる。
【０２０９】
＜実施例4＞
図35は本発明のメモリモジュールにおける別の実施例を示す。本メモリモジュールは4つのチップによって構成されている。以下に夫々のチップについて説明する。まず、CHIP1(FLASH)は不揮発性メモリである。不揮発性メモリにはROM(リードオンリーメモリ)、EEPROM(エレクトリカリイレーサブルアンドプログラマブルROM)、フラッシュメモリ等を用いることが出来る。本実施例ではフラッシュメモリを例に説明する。CHIP2(SRAM+CTL#LOGIC)にはスタティックランダムアクセスメモリ(SRAM)と制御回路(CTL#LOGIC)が集積されている。制御回路はCHIP2に集積されたSRAMとCHIP3およびCHIP4の制御を行う。CHIP3(DRAM1)、CHIP4（DRAM2）はダイナミックランダムアクセスメモリ(DRAM)である。DRAMは内部構成やインターフェイスの違いからEDO、SDRAM、DDR等様々な種類がある。本メモリモジュールにはいずれのDRAMでも用いることが出来るが、本実施例ではSDRAMを例に説明する。
【０２１０】
このメモリモジュールには外部からアドレス(A0〜A24)とコマンド信号(S-/CE1, S-CE2, S-/OE, S-/WE, S-/LB, S-/UB, LS −EN, F-EN)が入力される。電源はS-VCC, S-VSS, F-VCC, F-VSS, L-VCC, L-VSSを通して供給され、データの入出力にはS-I/O0〜S-I/O15が用いられる。いわゆるSRAMインターフェースによって、このメモリモジュールは動作する。
【０２１１】
CHIP2はCHIP1，CHIP3およびCHIP4の動作に必要となる信号を供給する。CHIP2 はCHIP1に対してシリアルクロック(F−SC)、アドレスおよびFLASH用データ(I/O0〜I/O7)、コマンド(F-CE, F-/OE, F-/WE, F-/RES, F-CDE, F-RDY/BUSY)、DRAM用データ(D1-DQ0〜D1-DQ15, D2-DQ0〜D2-DQ15)を供給する。さらに、CHIP2はCHIP3及びCHIP4に対してロック(D1-CLK, D2-CLK)、アドレス(D1-A0〜D1-A14, D2-A0〜D2-A14)、コマンド(D1-CKE, D2-CKE, D1-/CS, D2-/CS, D1-/RAS, D2-/RAS, D1-/CAS, D2-/CAS, D1-/WE, D2-/WE, D1-DQMU/DQML, D2-DQMU/DQML) 、DRAM用データ( D1-DQ0〜D1-DQ15, D2-DQ0〜D2-DQ15)、電源(D1-VCC, D2-VCC, D1-VSS, D2-VSS,D1-VCCQ, D2-VCCQ, D1-VSSQ, D2-VSSQ)を供給する。
【０２１２】
ここで各コマンド信号について簡単に説明する。 CHIP2に入力されるS-/CE1, S-CE2はチップイネーブル信号、 S-/OEはアウトプットイネーブル信号、 S-/WEはライトイネーブル信号、 S-/LBはロアーバイト選択信号、S-/UBはアッパーバイト選択信号である。
【０２１３】
CHIP1に入力されるF-/CEはチップイネーブル信号，F-/OEはアウトプットイネーブル信号，F-/WEはライトイネーブル信号，F-SCはシリアルクロック信号，F-/RESはリセット信号，F-CDEはコマンドデータイネーブル信号，F-RDY/BUSYはレディ/ビジィ信号，I/O0〜I/O7はデータ入出力信号でフラッシュメモリの制御に用いられる。
【０２１４】
CHIP2の制御回路（CTL#LOGIC）は、外部から入力されたアドレスの値によって、CHIP2の制御回路（CTL#LOGIC）に設けられたコマンドレジスタか、CHIP2内部のSRAMか、CHIP3およびCHIP4のDRAMか、CHIP1のFLASHかを選択する。
【０２１５】
制御回路(CTL#LOGIC)に設けられたコントロールレジスタにあらかじめ値を設定しておくことによって、それぞれを区別することができる。いずれへのアクセスもいわゆるSRAMインターフェイス方式によって行われる。
【０２１６】
SRAM領域へアクセスする場合は、SRAM領域内のアドレス信号やコマンド信号類を制御回路(CTL#LOGIC)に入力するとCHIP2内部のSRAMへのアクセスを行う。リードアクセスの場合にはSRAMからデータを読み出し、メモリモジュールのデータ入出力線(S-I/O0〜S-I/O15)へ出力される。ライトアクセスの場合は書込みデータはメモリモジュールのデータ入出力線(S-I/O0〜S-I/O15)から入力され、SRAMに書きこまれる。
【０２１７】
制御回路(CTL#LOGIC)内のコマンドレジスタにアクセスしロード命令やストア命令コードを書きこむことで、FLASH領域のデータをDRAM内のFLASHデータコピー領域にコピー（ロード）したり、DRAM内のFLASHデータコピー領域のデータをFLASH 領域に書き戻し（ストア）たりできる。
【０２１８】
アドレス信号(A0〜A24)からコマンドレジスタにアクセスするためのアドレスと、コマンド信号（S-/CE1,S-CE2,S-/OE, S-/WE,S-LB,S-/UB）からライト命令、入出力データ信号(I/O0〜I/O15)から、ロード命令コード、続いてFLASH領域内のアドレスでロード開始アドレス、ロード終了アドレスが入力されると、コマンドレジスタにはロード命令コードとロード開始アドレスとロード終了アドレスが書きこまれる。そうすると、FLASH領域内のロード開始アドレスからロード終了アドレスの間のデータが読み出され、DRAM1およびDRAM2のFLASHデータコピー領域へ転送される。これによって、FLASHのデータはDRAMへ保持されることになる。
【０２１９】
コマンドレジスタにストア命令コードとFLASH領域内のアドレスで、ストア開始アドレスとストア終了アドレスが書きこまれると、FLASH領域内のストア開始アドレスからストア終了アドレスの間アドレスへDRAM1あるいはDRAM2のFLASHデータコピー領域のデータが書き戻される。
【０２２０】
FLASH領域のどのアドレス範囲がDRAM1およびDRAM2のFLASHデータコピー領域のどのアドレス範囲に対応するかは、制御回路(CTL#LOGIC)に設けられたコントロールレジスタに値を設定しておくことによって決めることができる。
【０２２１】
FLASHは、書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。
【０２２２】
FLASHからデータを読み出す時、CHIP2(CTL#LOGIC)は、読み出しデータのエラーを検出、訂正し、DRAM1およびDRAM2へ転送する。FLASHへのデータの書き込み時は、CHIP2(CTL#LOGIC)は正しく書き込まれたかをチェックし、正しく書き込まれなかった場合は、現在のアドレスとは異なるアドレスに書きこみを行う。いわゆる、代替え処理を行う。不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったというアドレス管理も行う。
【０２２３】
DRAMへのFLASHデータコピー領域へアクセスする場合は、アドレス信号(A0〜A24)から、FLASH領域のアドレスと、コマンド信号（S-/CE1, S-CE2, S-/OE, S-/WE, S-/LB, S-/UB）を入力する。コマンド信号がリード命令の場合、CHIP2の制御回路は、DRAMへアクセスし、FLASH領域内のアドレスに対応したDRAMのFLASHデータコピー領域内アドレスからDRAM用データI/O（D1-DQ0〜D1-DQ15又はD2-DQ0〜D2-DQ15）を通して、データを読み出す。ライト命令の場合は書込みデータはメモリモジュールのデータ入出力線(S-I/O0〜S-I/O15)から入力され、その後DRAM用データI/O(D1-DQ0〜D1-DQ15およびD2-DQ0〜D2-DQ15)を通してDRAMへ入力される。これによって、FLASH領域のデータの読み出しおよび書きこみ時間はSRAMと同等となる。
【０２２４】
DRAMのワーク領域へアクセスする場合は、DRAM内ワーク領域へのアクセスに必要なアドレス信号やコマンド信号を入力する。制御回路(CTL#LOGIC)はDRAM内ワーク領域へのアドレスを生成し、DRAMへのアクセスを行う。リードアクセスの場合にはDRAMからの読み出しデータはDRAM用データI/O(D1-DQ0〜D1-DQ15あるいはD2-DQ0〜D2-DQ15)を通り、データ入出力線(S-I/O0〜S-I/O15)へ出力される。ライトアクセスの場合は書込みデータはメモリモジュールのデータ入出力線(S-I/O0〜S-I/O15)から入力され、その後DRAM用データI/O(D1-DQ0〜D1-DQ15および D2-DQ0 〜D2-DQ15 )を通してDRAMへ入力される。
【０２２５】
DRAM1への電源はLD-VCC、LD-VSSから供給され、制御回路(CTL#LOGIC)を通してD1-VCC,D1-VSS,D1-VCCQおよびD1-VSSQへ接続される。DRAMへの電源供給はコマンド信号PSによって制御され、必要に応じて切断することが出来る。
【０２２６】
DRAMの電源遮断時には、制御回路（CTL#LOGIC）はDRAMからFLASHへ書き戻しが必要なデータのみを自動的に書き戻し、データの書き戻しが終了してからDRAMの電源を遮断する。
【０２２７】
切断したDRAMの電源を再投入する場合にはDRAMおよびFLASHの初期化を行う必要がある。DRAMの初期化に必要な信号生成やタイミング制御は制御回路(CTL#LOGIC)が行う。
【０２２８】
また、DRAMのリフレッシュを行う場合には制御回路(CTL#LOGIC)が定期的にバンクアクティブコマンドを投入して行うことが出来る。一般にDRAMのリフレッシュ特性は高温時に悪化するが、制御回路(CTL#LOGIC)に温度計を設けて高温時にバンクアクティブコマンドの投入間隔を狭めることによってDRAMをより広い温度範囲で使用することが出来る。
【０２２９】
さらに、２つのDRAMによってワーク領域、およびFLASH領域を二重化させており、１つのデータは２つのDRAMに保持させた上で、リフレッシュを行うタイミングを調整することによってメモリモジュール外部からはリフレッシュ動作によってアクセスに制限が生じないようリフレッシュを隠蔽する。
【０２３０】
以上説明した実施例によれば、SRAMインターフェイス方式を踏襲しながら安価な汎用SDRAMとFLASHを用いた大容量かつアクセス速度がSRAMと同等なメモリモジュールが実現出来る。本発明によるメモリモジュールでは、FLASHの一部のデータ、あるいは全データをコピーできる領域をDRAM内に確保し、あらかじめFLASHからDRAMへデータを転送しておくことで、SRAMと同等な速度でFLASHのデータを読み出すことができる。FLASHへデータを書く際は、いったんデータをDRAMに書き込み、必要に応じてFLASH へ書き戻すことができるため、データの書き込み速度もSRAMと同等にできる。
【０２３１】
大容量SDRAMを用いることで、SDRAMにFLASHのデータをコピーできる領域のほかに大容量のワーク領域を確保できる。
【０２３２】
FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、信頼性を保つことができる。大容量SDRAMを用いるため、SDRAMにFLASHのデータをコピーできる領域のほかに大容量のワーク領域を確保できる。
【０２３３】
本発明によるメモリモジュールではDRAMが使用されているがDRAMに必要なリフレッシュはモジュール内部で実行されるためSRAMと同様にリフレッシュを考慮せずに使用することが出来る。また、モジュール内部で実行されるリフレッシュの間隔を温度によって変えることによってDRAMの使用温度範囲を広げることが可能となり、使用温度範囲の広い大容量メモリモジュールが実現できる。
【０２３４】
さらに、DRAMにおけるデータ保持の二重化とリフレッシュを行うタイミングを調整することによりDRAMのリフレッシュをメモリモジュール外部から隠蔽することが出来るため、本メモリモジュールにアクセスする場合にリフレッシュを考慮してタイミングを調整する必要は無い。従って従来のSRAMだけを用いたメモリモジュールと同様に使用することが出来るため、従来システムを変更せずに大容量メモリモジュールを使用することが出来る。本発明の別の目的はデータ保持電流の少ないメモリモジュールを実現することである。この目的のために、特に低温時にはモジュール内部で実行されるリフレッシュ間隔を伸ばす事によって、データ保持電流を削減することが出来る。さらにデータ保持電流を削減するためにはDRAMへ供給する電源を切断し、SRAMに記憶されたデータだけを保持すればよい。保持すべきデータだけをSRAMに記憶して、保持する必要の無いデータが記憶されたメモリへの電源供給を停止することによって最小限のデータ保持電流で必要なデータだけを保持することが可能である。
【０２３５】
図36はCHIP2(SRAM+CTL#LOGIC)の回路ブロック図を示したものである。CHIP2(SRAM+CTL#LOGIC) はSRAMと制御回路(CTL#LOGIC)から構成されており、集積されるSRAM は従来より一般的に使用されている非同期SRAMである。制御回路(CTL#LOGIC)はCHIP2のSRAM以外の部分で、図36では破線に囲まれた領域として示されており、AS、MMU、ATD、CTD、FIFO、R/W BUFFER, CACHE、A#CONT、INT、 TMP、RC、PM、CLK#GEN、COM#GENによって構成される。
【０２３６】
以下で各回路ブロックの動作を説明する。初期化回路INTは、電源供給時にメモリマネージメントユニットMMU内のコントロールレジスタの初期化とDRAMの初期化を行う。コマンドレジスタREGは、外部から入力したロード命令、ストア命令、MMU変更命令などの命令を保持する。
【０２３７】
メモリマネージメントユニットMMUは内蔵するコントロールレジスタに設定された値に従って、外部より入力されたアドレスを変換し、コマンドレジスタREGやSRAM、DRAM内のワーク領域、DRAM内のFLASHデータコピー領域、FLASHを選択しアクセスを行う。コントロールレジスタの値は、電源供給時に初期化回路INTにより初期設定される。コントロールレジスタの値はコマンドレジスタREGに、MMU変更命令が入力した時に変更される。
【０２３８】
SRAMが選択された場合にはアクセススイッチ(AS)によってSRAMへアドレス信号とコマンド信号が送られ、SRAMへのアクセスが行われる。
【０２３９】
アドレストランジションディテクタ回路(ATD)はアドレス信号とコマンド信号の変化を検出してパルスを出力する。また、コマンドトランジションディテクタ回路(CTD)はコマンド信号の変化を検出してパルスを出力する。これらの検出回路が信号の変化を検出することによってメモリへのアクセスが開始される。
【０２４０】
R/W BUFFERはDRAMの読み出し、書込みの為にデータを一時的に保持する。ファーストインファーストアウトメモリ（FIFO）は先入れ先出しのバッファ回路でDRAMへの書込みデータとそのアドレスを一時的に保持する。CACHEはリフレッシュを行うDRAMの切り替えや一回のアクセスが長期間にわたって行われた場合にDRAMへの書き込みデータ及びDRAMからの読み出しデータを一時的に記憶する。さらに、CACHEは、ロード命令による、DRAMへの書きこみデータも一次的に記憶する。
【０２４１】
データ更新管理回路CPBは、DRAMに割り当てているFLASHデータコピー領域内のアドレスで、データが更新されたアドレスにあるいはアドレス範囲、つまり、書き込みが行われたアドレスあるいはアドレス範囲の情報を保持する。
【０２４２】
コマンドレジスタREGには、ロード命令、ストア命令、メモリマネージメントユニットMMU変更命令、電源遮断命令などの命令コードや、ロード開始アドレス、ロード終了アドレス、ストア開始アドレス、ストア終了アドレスなどのアドレスが書き込まれ保持される。
【０２４３】
コマンドジェネレータCOM#GENはDRAMへのアクセスに必要なコマンドを生成する。アクセスコントローラA#CONTはCHIP２の全体制御とDRAMへアクセスを行うためのアドレスを生成する。
【０２４４】
フラッシュ制御信号生成回路FGENはFLASHのデータの読み出し、書き込みの制御を行う。
【０２４５】
エラー訂正回路ECCはFLASHから読み出したデータにエラーがあるかどうかをチェックし、エラーがあれば訂正を行う。代替処理回路REPは、FLASHへの書き込みが正しく行われたかをチェックし、正しく行われなかった場合は、FLASHにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。
【０２４６】
温度計測モジュール(TMP)は温度を測定し、測定した温度に応じた信号をRCとA#CONT に出力する。RCはリフレッシュカウンタで、DRAMのリフレッシュ間隔にあわせてリフレッシュを行うアドレスを生成する。また、温度計測モジュール(TMP)の出力信号によって温度に応じたリフレッシュ間隔の変更を行う。
【０２４７】
パワーモジュール(PM)はCHIP2の制御回路(CTL#LOGIC)と DRAMへの電源供給及び電源の制御を行う。クロックジェネレータ(CLK#GEN)はクロックを生成し、DRAMと制御回路(CTL#LOGIC)へ供給する。コマンドジェネレータ(COM#GEN)はDRAMへのアクセスに必要なコマンドを生成する。アクセスコントローラ(A#CONT)はCHIP2 (SRAM+CTL#LOGIC)全体動作の制御と、DRAMへアクセスを行うためのアドレスを発生する。
【０２４８】
次に本メモリモジュールの動作を説明する。
【０２４９】
CHIP2(SRAM+CTL#LOGIC)へメモリアクセスを行うには、従来より一般に使用されている非同期SRAM方式でインターフェイスする。
【０２５０】
アドレス信号(A0〜A24)あるいはコマンド信号(S-/LB, S-/UB, S-/WE, S-/CE1, S-CE2, S-/OE) が変化するとATDがこれを検知してコマンドレジスタREG、SRAM、DRAMへのアクセスが開始される。
【０２５１】
外部から入力されたアドレス信号(A0〜A24)の値はまずMMUによって変換される。変換のパターンはあらかじめMMU内部のレジスタに入力した値によって決められる。変換されたアドレスによってアクセス先がコマンドレジスタREGかSRAMかDRAM かが決定する。
【０２５２】
SRAMへアクセスが行われる場合にはMMUは変換したアドレスをSRAMへ送ると同時に、アクセススイッチ(AS)にコマンド転送を指示する。アクセススイッチ(AS)はコマンドをSRAMへ転送し、SRAMへのアクセスが開始される。これ以降の動作はいわゆる非同期SRAMへのアクセスが行われる。
【０２５３】
DRAMへリードアクセスを行う場合には、外部から入力されてMMUによって変換されたアドレスとATDで検知されたコマンドがA#CONTに送られる。A#CONTは送られたアドレスとコマンドからアクセスがDRAMに対して実行される事を判断し、COM#GENにDRAMへのコマンド発行を指示する。また、A#CONTはMMUから受け取ったアドレスをDRAMのロウアドレスとカラムアドレスに変換して、2つのＤＲＡＭのうちアクセスを担当しているＤＲＡＭに出力する。COM#GENはCLK#GENが生成したクロックに同期してアドレスと同様にアクセスを担当しているDRAMにコマンドを発行する。コマンドとアドレスを受け取ったDRAMはデータを出力し、出力されたデータはR/W BUFFERを介してI/O0〜I/O15へ転送されてリードアクセスが終了する。DRAMへライトアクセスを行う場合は、外部から入力されMMUによって変換されたアドレスとATDで検知されたコマンド及びDTDで検知されたコマンドとデータがA#CONTに送られる。A#CONTは送られたアドレスとコマンドからアクセスがDRAMへ実行される事を判断し、COM#GENにDRAMへのコマンド発行を指示する。また、A#CONTはMMUから受け取ったアドレスをDRAM用に変換して、2つのＤＲＡＭのうちアクセスを担当しているDRAMへ出力する。COM#GENはCLK#GENが生成したクロックに同期してアドレスと同様にアクセスを担当しているDRAMにコマンドを発行する。書込まれるデータはI/O0〜I/O15から入力されR/W BUFFERに一旦保持された後、アクセスを担当しているDRAMに送られて書込みが行われる。また、書込まれるデータとそのアドレスは一旦FIFOにも保持され、もう一方のDRAMにもリフレッシュが終了した後に書込まれる。メモリモジュールを高温で使用する場合にはDRAMのリフレッシュ間隔を短くして頻繁にリフレッシュを行えばよい。そこで本メモリモジュールでは温度計測モジュール(TMP)が温度を測定してリフレッシュカウンタとアクセスコントローラに通知する。高温になればリフレッシュカウンタはリフレッシュ間隔を短く変更してリフレッシュ用アドレスを出力する。また、逆に低温時にはＤＲＡＭのリフレッシュ間隔を長く変更すればデータ保持電流を削減する事も出来る。この様な場合にも温度計測モジュール(TMP)が温度を測定してリフレッシュカウンタとアクセスコントローラに通知する。低温になればリフレッシュカウンタはリフレッシュ間隔を長く変更してリフレッシュ用アドレスを出力する。
【０２５４】
メモリモジュールが実装された機器は動作状態に応じて消費電流を削減したい場合がある。そこで、パワーモジュールによってメモリの動作状態を変えて消費電力を削減する方法について説明する
電源制御の説明。
【０２５５】
まず、最も簡単なものはパワーモジュールがコマンド信号PSに従ってリフレッシュカウンタが行うリフレッシュを停止させるものである。これによって、DRAMに記憶されたデータは破壊されるが、リフレッシュに必要な電力を削減することが出来る。
【０２５６】
さらに消費電力を削減したい場合にはメモリモジュール内部においてDRAMへ供給する電源を切断する。この場合にはパワーモジュールが機器が出力するコマンド信号PSにしたがってDRAMへ供給されるD1-VCC, D2-VCCへの電力供給を停止する。電源の切断は2個のDRAMに対して行っても良いし、片方のDRAMの電源を切断するにとどめても良い。
【０２５７】
この上、一段と消費電力を削減したい場合はパワーモジュールがコマンド信号PSにしたがってCHIP2(SRAM+CTL#LOGIC)のうちDRAMへのメモリアクセスに関与する部分への電源供給も停止すれば良い。この状態では例えばCHIP2(SRAM+CTL#LOGIC)のうちSRAMの他にはMMUとASだけに電源を接続して動作状態とし、SRAMへのアクセスだけを実行するモードとすることが可能である。
【０２５８】
さらにコマンドPSによってSRAMのデータ保持だけを行う動作状態とすることも可能である。この場合にはSRAMへ接続される電源(S-VCC, S-VSS)以外を切断し、メモリへのアクセスは禁止される。この状態ではメモリモジュールはSRAMに記憶されたデータの保持を行う。
【０２５９】
一旦ＤＲＡＭへの電源供給を停止して動作を停止した後にDRAMを再び動作させるためには電源供給の再開の他、DRAMの初期化を行う必要がある。初期化方法は一般的なものだが本メモリモジュールではイニシャル回路(INT)が初期化の手順をアクセスコントローラ(A#CONT)に指示して初期化が実行される。
【０２６０】
なお、DRAMのリフレッシュを停止した場合にもDRAMを再び動作させるためにはDRAMの初期化が必要であるが、やはりイニシャル回路(INT)が初期化の手順をアクセスコントローラ(A#CONT)に指示して初期化が実行される。
【０２６１】
図37はMMUによって変換されるメモリマップの一例を示したものである。これらのメモリマップはいずれもMMU内部のレジスタに設定された値にしたがって選択することが出来る。本実施例では特に限定されないが、FLASHの記憶領域が256+8Mb、SRAMによるデータ保持領域が2Mb、DRAMの記憶領域が256Mbあるメモリモジュールを例に代表的なメモリマップを説明する。
【０２６２】
図37では外部から入力されたアドレスA0〜A24を元に、メモリマネージメントユニットMMUが、コマンドレジスタREG、SRAM、DRAM内Work領域、DRAM内FLASHコピー領域、FLASHにアドレス変換したメモリマップを示す。アドレスによってそれぞれが選択され、アクセスされる。
【０２６３】
制御回路(CTL#LOGIC)内部に存在するコマンドレジスターREGには外部より、ロード命令、ストア命令、MMUレジスタ変更命令、電源遮断命令などの命令コードやロード命令やストア命令時の開始アドレスや終了アドレスが書きこまれる。
【０２６４】
コマンドレジスタREGにロード命令が書き込まれると、制御回路はFLASHからDRAMへデータ転送をおこなう。つまりDRAMに対しては、書き込みを行う。ストア命令が書き込まれると、制御回路はDRAMからFLASHへデータ転送を行う。つまりDRAMに対しては読み出しを行う。
【０２６５】
２個のDRAM(CHIP3とCHIP4)は同一のアドレス空間にマッピングされて同一のデータを保持している。それぞれのDRAMはアクセスを担当する期間(WORK期間)とリフレッシュを優先して実行する期間(REF.期間)を交互に繰り返す。外部からのメモリアクセスはWORK期間中のDRAMに対して実行される。
【０２６６】
また、この例では2MbのSRAM領域はアドレス空間の下部に集中して設定されている。この領域はDRAMと重複してメモリ空間にマッピングされているが、DRAMへのアクセスは行われず、SRAMへのみアクセスが行われる。
【０２６７】
メモリモジュールの電源を制御してSRAMのデータだけを保持して使用するような場合にはSRAMの領域を集中して管理することが出来る。
【０２６８】
アクセスされないDRAMの領域(SHADOW)はDRAMのメモリセルを救済する為に使用する事が出来る。本メモリモジュールには低温時にリフレッシュ間隔を延長して消費電力を下げる為の工夫がなされているが、その場合にはデータ保持が困難なメモリセル(Fail bit)も生じる。そこで、このSHADOWとなるDRAMを使用してFail bitの代替を行うことができる。図37ではWORK期間中のDRAMにFail bit Aが有り、REF.期間中のDRAMにFail bit Bがあるが、これらのアドレスは前もって登録されており、アクセスがFail bitに行われる場合にはその代わりにそれぞれのSHADOWが代わりにアクセスされる。SHADOWによる代替によってFail bitが救済され低温時にリフレッシュ間隔を延長することによって消費電力の少ないメモリモジュールが実現できる。
【０２６９】
図38はDRAMのリフレッシュを隠蔽する為のアクセス制御方式の原理を示したものである。本発明におけるDRAMの動作はREF期間中のバンクへのアクセスに優先順位を付けて実行するという考え方で説明出来る。
【０２７０】
図35(A)はアクセスの優先順位を模式的に表したものである。この図では、DRAM１がWORK期間中で、DRAM２がREF.期間中であることが表されている。また、一時的にアクセスを肩代わりするCACHE、書き込みデータを一時的に保管するFIFO、RCから発生したリフレッシュ要求、ロードおよびストア命令時のDRAMアクセスが表されている。
【０２７１】
WORK期間中のDRAM1では外部からのアクセスだけが行われる。一方、REF期間中のDRAM２ではまずリフレッシュが最優先で行われる。次に、FIFOに保持されたデータの書込みが実行される。次に、CACHEが保持しているロード命令によるDRAMへの書きこみデータの書き戻し、最後に、ロード命令やストア命令によるDRAMアクセスが実行される。これらの動作はアクセス制御回路(A#CONT)によって優先順位が判定されて実行される。
【０２７２】
また、外部アクセスは一回のアクセスが80nsで実行されるが、リフレッシュとFIFOからの書き戻し、CACHEからのライトアクセス、ロード、ストア命令時のアクセスは70nsで実行される。本メモリモジュールではこの時間差を利用して外部からリフレッシュを隠蔽している。
【０２７３】
図38(B)はリードアクセスが実行される様子を示したものである。DRAM1がWORK期間中にリードアクセスが連続して行われた場合を示した。DRAM1では外部アクセスだけが80nsで実行され、データが読み出されてアクセスは完了する。一方、DRAM2ではリフレッシュが70nsで実行されるだけである。
【０２７４】
ライトアクセスが行われる場合を図38(C)に示した。外部からのライトアクセスはまずWORK期間中であるDRAM1で実行される。同時に書き込みデータは、一旦FIFOに保持される。REF期間中のDRAM２では、まずリフレッシュが最優先で行われる。次に、FIFOに保持されていたデータの書き戻しが実行される。
【０２７５】
ここで、WORK期間中のDRAM１は一回の動作に80nsを要しているのに対してREF期間中のDRAM2では一回の動作が70nsで終了している。したがって、DRAM２がリフレッシュ動作を行っても、書き込み動作をDRAM1より高速に行うのでいずれFIFOにある全てのデータ書き込みを終了してDRAM１に追いつくことが出来る。
【０２７６】
図39はロードおよびストア命令によりDRAMへの書き込みや読み出しアクセスの隠蔽動作を示している。
【０２７７】
図39(A)はストア命令よるDRAMへのリードアクセスが実行されている時、外部よりリードアクセスとライトアクセスが発生した場合のＤＲＡＭへのアクセスの様子を示したものである。DRAM1がWORK期間中で、DRAM2がREFRESH期間中である場合の例を示した。DRAM1では外部からのリードアクセスだけが80nsで実行される。一方、DRAM2ではストア命令よるDRAMへのリードアクセスが70nsで実行されているだけである。
【０２７８】
図39(B)には、ロード命令よるDRAMへのライトアクセスが実行されている時、外部よりライトアクセスが発生した場合のDRAMへのアクセスの様子を示したものである。DRAM1では外部からのライトアクセスが80nsで実行され、同時に書き込みデータは一旦FIFOに保持される。REF期間中のDRAM２では、ロード命令よるDRAMへのライトアクセスが行われて
おり、同時に、書き込みデータはCACHEへ保持される。次に、FIFOに保持されているデータの書き込みが実行される。また、CACHEに保持されたデータは、DRAM1 がREFRESH期間となった時にDRAM1へ書き戻す。ここで、WORK期間中のDRAM１は一回の動作に80nsを要しているのに対してREF期間中のDRAM2では一回の動作が70nsで終了している。したがって、DRAM２がロード命令による書き込み動作を行っても、書き込み動作をDRAM1より高速に行うのでいずれFIFOにある全てのデータ書き込みを終了してDRAM１に追いつくことが出来る。
【０２７９】
図39(C)には、DRAM1がREFRESH期間、DRAM2がWORK期間に交代した際のCACHEからのDRAMへのライトアクセスが実行されている時、外部よりライトアクセスが発生した場合のDRAMへのアクセスの様子を示したものである。DRAM2では外部からのライトアクセスが80nsで実行され、同時に書き込みデータは一旦FIFOに保持される。REF期間中のDRAM1では、CACHEからのDRAMへのライトアクセスが実行され、次に、FIFOに保持されているデータの書き込みが実行される。ここで、WORK期間中のDRAM2は一回の動作に80nsを要しているのに対してREF期間中のDRAM1では一回の動作が70nsで終了している。したがって、DRAM1がCACHEからの書き込み動作を行っても、書き込み動作をDRAM2より高速に行うのでいずれFIFO にある全てのデータ書き込みを終了してDRAM２に追いつくことが出来る。このように、ロード命令やストア命令によるDRAMへの内部アクセスを隠蔽し、外部からアクセスを実行できる。
【０２８０】
図40にはDRAMのリフレッシュやロード命令やストア命令によるDRAMへの内部アクセスを隠蔽するため、2個のDRAMを時分割で動作させる様子を示した。図40(A)は通常使用温度範囲である75℃以下でのDRAMの動作例である。2個のDRAM(DRAM1とDRAM2)がWORK期間とREF.期間を交互に繰り返している。WORKと表示されたWORK期間中のDRAMが外部アクセスに対して動作する。最初のDRAM1がWORK期間となり外部からのアクセスに対応している。一方でREF.期間中のDRAMはリフレッシュ動作を優先して行い、外部アクセスが書き込みの場合にはりフレッシュ終了後にデータの書き込みを行う。
【０２８１】
DRAMのメモリセルは通常64ms以内にリフレッシュを行う必要があるが、図示した例ではこの時間内に8回WORK期間とREF.期間を切り替えており、DRAM１とDRAM2がそれぞれ交互にWORK期間とREF.期間を4回ずつ繰り返している。
【０２８２】
ここで、一回のREF.期間である8msの間に行われるリフレッシュに必要な時間をT1、同じくその間に行われるライトアクセスの結果FIFOに溜まったデータをライトバックするのに必要な時間をT2、ロード命令時のライトアクセスが可能な時間T3としてREF.期間中にリフレッシュとロード時ライトアクセスとライトバックが行える事を説明する。
【０２８３】
256MbitのSDRAMを例に取ると、そのメモリ構成は8192ロウx512カラムx16ビットx4バンクとなっており、64msの間に32768回(8192ロウx4バンク分)のリフレッシュを行えば良い。したがって、図40(A)の例では1個のDRAMに対して64msの間にREF.期間が4回有るので、一回のREF.期間(8ms)の間に8192回のリフレッシュを行う事になる。
【０２８４】
一回のリフレッシュに必要な時間は70nsなのでT1＝70ns x 8192回 = 0.574msとなる。一方で、8msの間に外部から行われるライトアクセスの最大値を求めると、毎回のアクセスがすべてライトだったとして100000回(8ms / 80ns)になる。これをREF.期間中のDRAMにライトバックする為に必要な時間T1は7ms(70ns x 100000回) である。ロード時ライトアクセスを4096回行うとすると、ロード時ライトアクセスに必要な時間T3=70ns x 4096回 = 0.287msとなる。
【０２８５】
したがって、T1 + T2 + T3 = 7.861ms < 8msとなり、REF.期間中にリフレッシュとロード命令によるライトアクセスとライトバックを十分実行できる事がわかる。また、リフレッシュはREF期間中のDRAM内の複数のバンクで同時に実行することも出来る。この場合にはT1期間に実行するリフレッシュの回数を減らす事が出来るので、T1期間を短縮する事が出来る。T1期間が短縮されればFIFOの記憶容量を減らすことが出来るほか、外部からアクセスされる間隔をより短くして高速なメモリが実現できる。
【０２８６】
図40(B)はDRAMのリフレッシュ間隔を変更した場合について示した。一般にDRAMのリフレッシュ特性は高温時に悪化する。従って例えば75℃以上の高温時にはリフレッシュ間隔を短くすればデータを保持が可能となり、より広い温度範囲で動作させることが可能である。この例では高温時にリフレッシュ間隔を48msに短縮している。T1は変わらないが、T2は5.25ms、T3を0.144ms とすると、T1 + T2 + T3 = 5.97ms < 6msとなり、REF.期間中にリフレッシュとロード時ライトアクセスとライトバックを十分実行できる事がわかる。
【０２８７】
一方、低温時にはリフレッシュ間隔を短縮してデータ保持電流を削減する事が出来る。図示した例では低温時にリフレッシュ間隔を倍の128msに延長している。この場合はREF期間は16msとなる。T1は変わらないが、T2は14msとなり、T3を1.15ms とすると、T1 + T2 +T3 = 15.8ms < 16msとなり、REF.期間中にリフレッシュとロード時ライトアクセスとライトバックを十分実行できる事がわかる。
【０２８８】
本実施例ではDRAMの動作単位をチップ毎として説明したが、メモリモジュールの性能やメモリチップの構成に応じてたとえばバンクを動作単位としても良い。また、リフレッシュ間隔である64msを8つの期間に分割してWORK期間とREF期間にしたが、さらに細かく分割すればデータとアドレスを保持するFIFOの記憶容量を少なくすることが出来る。逆に大きく分割すればWORK期間とREF期間の切り換え回数を減らせるため、切り換えに伴う制御回路が簡略化出来る。
【０２８９】
図41はCACHEの働きを説明する図面である。図41（A）ではWORK期間とREF.期間の切り替わり直前に外部からライトアクセスが行われた場合について示した。ここではDRAM１のWORK期間終了間際に外部アクセスAが行われている。このような場合にはDRAM1のWORK期間はライトアクセスの終了までdTだけ延長される。一方で、DRAM2は予定どおりWORK期間となり、ライトデータを書き込まずにライトアクセスの終了まで待機する。DRAM2に書き込まれなかったデータは一旦CACHEに保持される。WORK期間中にCACHEに保持されているのと同一のアドレスにアクセスが生じた場合はDRAM２ではなくCACHEに対して読み書きを行う。なお、アクセスが書き込みの場合はREF.期間中のDRAM1には通常どおりFIFOを経由して書き込みが行われる。CACHEに保持されたデータはDRAM2のWORK期間が終了した次のREF.期間に書き戻される。この書き戻しが終了すればCACHEの内容はクリアされる。アクセスがリードの場合はアクセスの終了までDRAM1のWORK期間がdTだけ延長されるだけである。
【０２９０】
図41（B）は一回のアクセスがWORK期間及びREF.期間よりも長く行われた場合や、延長期間dTではカバーし切れない場合について示した。DRAM1がWORK期間中に開始された外部アクセスBは延長時間dTを超過してそのまま次のREF.期間中も継続してアクセスが続いている。この場合にはアクセスをCACHEに引き継ぎ、DRAM１はREF.期間に入る。DRAM2は予定どおりWORK期間に入り待機状態となる。リードアクセスの場合はデータがDRAM1からCACHEに引き継がれる。ライトアクセスの場合は継続していたアクセスが終了したら、CACHEに書き込まれたデータをDRAM１とDRAM2に書き戻す。書き戻しはそれぞれのDRAMがREF.期間に入ったときに行う。両方の書き戻しが終了すればCACHEの内容はクリアされる。このようにCACHEを使用してWORK期間とREF.期間にまたがるアクセスや、一回または複数回のWORK期間を超えるアクセスを処理することができる。
【０２９１】
図42は本発明であるメモリモジュールの動作波形の一例を示したものである。A0〜A20, S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WEはメモリモジュールへ入力される信号で、いわゆる非同期SRAMのインターフェイス信号である。データ入出力信号I/O0〜I/O15はデータの入力と出力を分けて夫々DIN、DOUTとして表した。MMU, ATD, DTDは夫々MMU回路、ATD回路、CTD回路の出力信号を表している。D1-CLKはDRAM1へ供給されるクロック、D1-COMはDRAM1へ供給されるコマンド信号の総称、 D1-A0〜D1-A15はDRAMのDRAM1へ供給されるアドレス信号、D1-DQ0〜D1-DQ15はDRAMのI/O線はDRAM1の入出力データ信号である。D2-CLKはDRAM2へ供給されるクロック、D2-COMはDRAM2へ供給されるコマンド信号の総称、 D2-A0〜D2-A15はDRAMのDRAM2へ供給されるアドレス信号、D2-DQ0〜D2-DQ15 はDRAMのI/O線はDRAM2の入出力データ信号である。
【０２９２】
まず、最初に行われているリードアクセスについて説明する。アドレスA0〜A24が入力されるとMMU回路は変換したアドレスを出力する。 ATD回路はアドレスA0〜A24とコマンド類(S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WE)の変化を検知し、アドレスとコマンドが確定するとパルスを出力する。このパルスをきっかけにWORK期間中のDRAM1へバンクアクティブコマンドAとロウアドレスRa、続いてリードコマンドRとカラムアドレスCoが発行される。DRAM１から読み出されたデータはD-DQ0〜D-DQ15に出力され、一旦R/W BUFFERを通してからI/O0〜I/O15へ出力される。また、REF.期間中のDRAM２にはバンクアクティブコマンドAとプリチャージコマンドPによって、リフレッシュが行われる。次のサイクルではライトアクセスの実行例を示した。ライトアクセスの場合もリードアクセスと同様にATD信号の立ち下がりをきっかけにバンクアクティブコマンドAとロウアドレスRaがDRAM1およびDRAM2へ発行される。ライトアクセス時にリフレッシュ動作が行われていないので、コマンドおよびアドレスはDRAM1およびDRAM2双方に発行される。その後、CTD回路がコマンド類(S-/CE1, S-CE2, S-/LB, S-/UB, S-/OE, S-/WE)の変化を検知してライト動作であること認識し、パルスを出力する。このパルスをきっかけにライトコマンドWとカラムコマンドCoがDRAM1およびDRAM2双方へ発行されてライトが実行される。
【０２９３】
以上説明した実施例によれば、SRAMインターフェイス方式を踏襲しながら安価な汎用DRAMを用いた大容量メモリモジュールが実現出来る。本発明による制御回路(CTL#LOGIC)ではDRAMが使用されているがDRAMに必要なリフレッシュは制御回路(CTL#LOGIC)によって実行されるためSRAMと同様にリフレッシュを考慮せずに使用することが出来る。さらに、DRAMにおけるデータ保持の二重化とリフレッシュを行うタイミングおよびロードやストア命令によるDRAMへの内部アクセスを調整することによりDRAMのリフレッシュや内部アクセスをメモリモジュール外部から隠蔽することが出来るため、本メモリモジュールにアクセスする場合にリフレッシュやDRAMの内部アクセスを考慮してタイミングを調整する必要は無い。従って従来のSRAMだけを用いたメモリモジュールと同様に使用することが出来るため、従来システムを変更せずに大容量メモリモジュールを使用することが出来る。また、DRAMのリフレッシュ間隔を狭めることによって高温時にもDRAMを動作させることが可能となり、使用温度範囲の広いメモリモジュールを実現できる。一方、低温時にはDRAMのリフレッシュ間隔を広げることによって、データ保持に必要な電力を削減し、データ保持電力の少ないメモリモジュールを実現することが出来る。パワーモジュールPMの働きによってはDRAMの一部、あるいは全部の電源供給を停止して記憶領域を限定してデータ保持に必要な電力を削減する事もできる。さらに、制御回路の電源供給も停止してよりデータ保持電力の少ないメモリモジュールを実現することも出来る。また、このような場合にはMMUによってデータ保持を行う記憶領域が自在に設定出来るため、様々な機器に対応して幅広く用いることが可能である。
【０２９４】
＜実施例５＞
図43は本発明におけるメモリモジュールの第四の実施例を示したものである。図43(A)には上面図、図43(B)には断面図を示した。本メモリモジュールはボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボードPCB)上にCHIP1(FLASH)、CHIP2(SRAM+CTL#LOGIC)、CHIP3(DRAM1) 及びCHIP4(DRAM2)が搭載されている。とくに制限されないが、CHIP3及びCHIP4にはいわゆるチップの中央に信号及び電源パッド列が１列に並ぶ汎用DRAMのベアチップが使用されている。また、とくに制限されないが、CHIP1にはいわゆるチップの一端に信号及び電源パッド列が１列に並ぶFLASHの汎用ベアチップが使用されている。
【０２９５】
CHIP1と基盤上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIP2と基盤上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。CHIP3及びCHIP4はCHIP2とボンディングワイヤ(PATH1)で接続される。CHIP1とCHIP2とボンディングワイヤ(PATH４)で接続される。チップの搭載された基盤上面は樹脂モールドが行われて各チップと接続配線を保護する。なお、さらにその上から金属、セラミック、あるいは樹脂のカバー(COVER)を使用しても良い。
【０２９６】
本発明による実施例ではプリント回路ボードPCB上にベアチップを直接搭載する為、実装面積の小さなメモリモジュールを構成することが出来る。また、各チップを近接して配置することが出来るため、チップ間配線長を短くすることが出来る。チップ間の配線及び各チップと基盤間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することが出来る。さらにチップ間をボンディングワイヤで直接配線することによって基盤上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することが出来る。大量に量産される汎用DRAMのベアチップを用いることができるため、メモリモジュールを安価に安定供給することが出来る。樹脂のカバーを使用した場合にはより強靭なメモリモジュールを構成することが出来る。セラミックや金属のカバーを使用した場合には強度のほか、放熱性やシールド効果に優れたメモリモジュールを構成することが出来る。
【０２９７】
図44は本発明におけるメモリモジュールの図43の変形例である。図44(A)には上面図、図44(B)には断面図を示した。この例ではCHIP2(SRAM+CTL#LOGIC)がCHIP3及びCHIP4上に搭載されている。CHIP2とCHIP3又はCHIP4への配線にはPATH5が用いられている。CHIP1と基盤上のボンディングパットはボンディングワイヤ(PATH2) で接続され、CHIP2と基盤上のボンディングパットはボンディングワイヤ(PATH3) で接続されている。CHIP1とCHIP2とボンディングワイヤ(PATH４)で接続される。
【０２９８】
この実装方法によってプリント回路ボードPCBの面積を削減する事が出来る。また、積層したチップ間の配線PATH1によって、配線長を短くする事が出来る為、配線の信頼性を向上できるほか、外部へのノイズ輻射を低減することが出来る。
【０２９９】
＜実施例６＞
図45は本発明におけるメモリモジュールを利用した携帯電話機の実施例を示したものである。携帯電話は、アンテナANT、無線ブロックRF、ベースバンドブロックBB、音声コーデックブロックSP、スピーカーSK、マイクMK、プロセッサCPU、液晶表示部LCD、キーボードKEY、本発明のメモリモジュールMEMで構成される。
【０３００】
通話時の動作を説明する。アンテナANTを通って受信された音声は無線ブロックで増幅され、ベースバンドブロックBBへ入力される。ベースバンドブロックBBでは、音声のアナログ信号をデジタル信号に変換し、エラー訂正と復号処理おこない、音声コーデックブロックSPへ出力する。音声コーデックブロックがデジタル信号をアナログ信号に変換しスピーカーSKに出力すると、スピーカーから相手の声が聞こえる。
【０３０１】
携帯電話機から、インターネットのホームページにアクセスし、音楽データをダウンロードし、再生して聞き、最後にダウンロードした音楽データを保存するという一連の作業を行うときの動作を説明する。メモリモジュールMEMには、基本プログラム、アプリケーションプログラム（メール、Webブラウザ、音楽再生、ゲームなど）が格納されている。キーボードより、Webブラウザの起動を指示すると、メモリモジュールMEM内のFLASHに格納されているWebブラウザのプログラムが、同じメモリモジュール内のDRAMへと転送される。DRAMへの転送が終了するとプロセッサCPUはDRAM内のWebブラウザのプログラムを実行し、液晶表示LCDにWebブラウザが表示される。所望のホームページにアクセスし、気に入った音楽データのダウンロードをキーボードより指示すると、音楽データは、アンテナANTを通って受信され、無線ブロックで増幅され、ベースバンドブロックBBへ入力される。ベースバンドブロックBBでは、アナログ信号である音楽データをデジタル信号に変換し、エラー訂正と復号処理おこなう。最終的に、デジタル信号化された音楽デーたはメモリモジュールMEMのDRAMへ一旦、格納され、FLASHへと転送される。次にキーボードKEYより、音楽再生プログラムの起動を指示するとメモリモジュールMEM内のFLASHに格納されている音楽再生プログラムが、同じメモリモジュール内のDRAMへと転送される。DRAMへの転送が終了するとプロセッサCPUはDRAM内の音声再生プログラムを実行し、液晶表示LCDに音楽再生プログラムが表示される。キーボードより、DRAMへダウンロードした音楽データを聞くための指示を行うと、プロセッサCPUは音楽再生プログラムを実行し、DRAMへ保持している音楽データ処理し、最終的にスピーカーSKから音楽が聞こてくる。このとき、本発明のメモリモジュールは大容量のDRAMを用いているため、Webブラウザと音楽再生プログラムはDRAMに保持されており、どちらのプログラムもCPUによって同時に実行されている。さらに、電子メールプログラムを起動し、電子メールプログラム、メールの送受信も同時にできる。Webのブラウザを停止した場合でも、メモリモジュール内のDRAMには保持しているため、再起動時はすぐに起動することができる。キーボードより電源遮断の指示が入力されると、メモリモジュールは、SRAMのみ動作させ、最低限のデータ時保持を行い、消費電力を極端に小さくできる。
【０３０２】
このように、本発明のメモリモジュールを用いることにより、大量のメール、音楽再生、アプリケ-ションプログラムや音楽データ、静止画像データ、動画データなどを格納でき、さらに複数のプログラムを同時に実行できる。
【０３０３】
以上説明したように本発明の好ましい実施例によって得られる効果は以下の通りである。FLASHのデータをDRAMにコピーすることで、FLASHデータの読み出しおよび書き込み速度をSDRAMやSRAMと同等にすることができる。
【産業上の利用可能性】
【０３０４】
この発明は、複数の異種メモリを含む複合型のメモリモジュールとコントローラに広く利用することができる。
【符号の説明】
【０３０５】
CHIP1…不揮発性メモリ、
CHIP2…制御回路(CTL#LOGIC)またはスタティックランダムアクセスメモリ(SRAM)と制御回路(CTL#LOGIC)が集積された半導体チップ、
CHIP3…ダイナミックランダムアクセスメモリ(DRAM)あるいはダイナミックランダムアクセスメモリ(DRAM1)、CHIP4…ダイナミックランダムアクセスメモリ(DRAM2)、
S-VCC…CHIP2の電源、S-VSS…CHIP2のグラウンド、PS…パワー制御信号、L-VCC…CHIP2の電源、
L-VSS…CHIP2グラウンド、CLK…CHIP2のクロック信号、CKE…CHIP2のクロックイネーブル信号、/CS…CHIP2のチップセレクト信号、/RAS…CHIP2のロウアドレスストローブ信号、/CAS…CHIP2のカラムアドレスストローブ信号、/WE…CHIP2のライトイネーブル信号、DQMU/DQML…CHIP2のインプット/アウトプットマスク信号、WAIT…CHIPのウエィト信号、A0〜A15…CHIP2のアドレス信号、D1-CLK…CHIP3のクロック信号、D1-CKE…CHIP3のクロックイネーブル信号、
D1-/CS…CHIP3のチップセレクト信号、
D1-/RAS…CHIP3のロウアドレスストローブ信号、
D1-/CAS…CHIP3のカラムアドレスストローブ信号、
D1-/WE…CHIP3のライトイネーブル信号、  D1-A0〜D1-A15…CHIP3のアドレス信号、  D1-DQMU/DQML…CHIP3のインプット/アウトプットマスク信号、
D1-DQ0〜D2-DQ15…CHIP3のデータ入出力、
D1-VCC…CHIP3の電源、  D1-VSS…CHIP3のグラウンド、
D1-VCCQ…CHIP3のI/O用電源、
D1-VSSQ…CHIP3のI/O用グラウンド、F-/CE…CHIP1のチップイネーブル信号、
F-/OE…CHIP1のアウトプットイネーブル信号、  F-/WE…CHIP1のライトイネーブル信号、
F-SC…CHIP1のシリアルクロック信号、F-/RES…CHIP1のリセット信号、F-CDE…CHIP1のコマンドデータイネーブル信号、F-RDY/BUSY…CHIP1のレディ/ビジィ信号、I/O0〜I/O7…CHIP1の入出力信号、COM#GEN…コマンドジェネレータ、INT…初期化回路、MMU…メモリマネージメントユニット、CPB…データ更新アドレス管理回路、REG…コマンドレジスタ、A#CONTアクセスコントローラ、
PM…パワーマネージメントモジュール、
R/W BUFFER…リード/ライトバッファ、CLKBUF…クロックバッファ、FGEN…フラッシュ制御信号生成回路、ECC…エラー訂正回路、REP…代替処理回路、FLASH  Copy  Area…フラッシュデータコピー領域、Work  Area…ワーク領域、MD-Area…メインデータ領域、REP−Area…代替領域、Fail Area B…不良領域B、Fail Area C…不良領域C、A、As…アクティブ命令、R、Rs…リード命令、W…ライト命令、RR、R0、R1、RD、RT、RU…ロウアドレス、RC、C0、C1、CD、CF、CT、CU、CR…カラムアドレス、Ld…ロード命令コード、Sa…開始アドレス、Ea…終了アドレス、P、Ps…プリチャージ命令、In…入力データ、Ｏ、Ｏｓ…出力データ、St…ストア命令コード、B、BOs…バンクアドレス、C-BUF…コントロール信号バッファ、CTL…コマンドコントローラ、MUX…マルチプレクサ、DI-BUF…データインプットバッファ、インプットデータコントローラIDC…インプットデータコントローラ、SA-BUF…セクタアドレスバッファ、X-DEC…Xデコーダ、MA…メモリアレイ、Y-CT…Yアドレスカウンタ、Y-DEC…Yデコーダ、YGATE/SENSE-AMP…Yゲート＆センスアンプ回路、DATA-REG…データレジスタ、DO-BUF…データアウトプットバッファ、Rcode…リード命令コード、AD1、AD2、AD3…アドレス、F-/CE…チップイネーブル信号、F-CLE…コマンドラッチイネーブル信号、F-ALE…アドレスラッチイネーブル信号、F-/WE…ライトイネーブル信号，F-/RE…リードイネーブル信号、F-/WP…ライトプロテクト信号、F-R/B…レディ/ビジィ信号，I/O0〜I/O7…入出力信号でアドレスの入力や、データの入出力に使用する。L-CONT…動作ロジックコントローラ、CTL…制御回路、I/O-CONT…入出力コントロール回路、STREG…ステータスレジスタ、ADREG…アドレスレジスタ、COMREG…コマンドレジスタ、R-B…レディ・ビジー回路、VL-GEN…高電圧発生回路、ROW-BUF …ローアドレスバッファ、ROW-DEC…ローアドレスデコーダ、COL-BUF …カラムバッファ、COL-DEC…カラムデーコーダ、DATA-REG…データレジスタ、SENSE-AMP…センスアンプ、MA…メモリアレイ、X-ADB…Ｘアドレスバッファ、REF.COUNTER…リフレッシュカウンタ, X-DEC…Ｘデコーダ、MA…メモリアレイ, Y-ADB…Ｙアドレスバッファ、Y-AD COUNTER…Ｙアドレスカウンタ、Y-DEC…Ｙデコーダ,SENS AMP.& I/O BUS…センスアンプ回路＆Ｙゲート、INPUT BUFFER…入力データバッファ回路、OUTPUT BUFFER…出力データバッファ回路、 CONTROL LOGIC& TG…制御回路＆タイミング発生回路、S-/CE1,、S-CE2…チップイネーブル信号、 S-/OE…アウトプットイネーブル信号、 S-/WE…ライトイネーブル信号、 S-/LB…ロアーバイト選択信号、S-/UB…アッパーバイト選択信号、AS…アクセススイッチ回路、  SRAM…スタティックランダムアクセスメモリ、
ATD…アドレストランジションディテクタ、
CTD…コマンドトランジションディテクタ、TMP…温度測定モジュール、
RC…リフレッシュカウンタ、X-DEC…Ｘデコーダ、MA(SRAM) …メモリアレイ、Y-GATE…Ｙゲート、Y-DEC…Ｙデコーダ、D#CTL…入力データ制御回路、CONTROL LOGIC…制御回路、PCB…プリント回路基板、  COVER…モジュールの封止カバー、
PATH1…CHIP1とCHIP3又はCHIP4を接続するボンディング配線、
PATH2…PCBとCHIP1を接続するボンディング配線、
PATH3…PCBとCHIP2 とを接続するボンディング配線、
PATH4…CHIP1とCHIP2を接続するボンディング配線、
PATH5…CHIP3又はCHIP4とCHIP3及びCHIP4上に搭載されたCHIP2とを接続するボンディング配線、
FIFO…ファーストインファーストアウト(メモリ)、
CACHE…キャッシュメモリ、SHADOW…シャドウ領域、WORK…ワーク期間、
REF…リフレッシュ期間、ANT…アンテナ、RF…無線ブロック、BB…ベースバンドブロック、SP…音声コーデックブロック、SK…スピーカー、MK…マイク、CPU…プロセッサ、LCD…液晶表示部、KEY…キーボード、MEM…本発明のメモリモジュール
【図１】
0005391370.tif 000002
【図２】
0005391370.tif 000003
【図３】
0005391370.tif 000004
【図４】
0005391370.tif 000005
【図５】
0005391370.tif 000006
【図６】
0005391370.tif 000007
【図７】
0005391370.tif 000008
【図８】
0005391370.tif 000009
【図９】
0005391370.tif 000010
【図１０】
0005391370.tif 000011
【図１１】
0005391370.tif 000012
【図１２】
0005391370.tif 000013
【図１３】
0005391370.tif 000014
【図１４】
0005391370.tif 000015
【図１５】
0005391370.tif 000016
【図１６】
0005391370.tif 000017
【図１７】
0005391370.tif 000018
【図１８】
0005391370.tif 000019
【図１９】
0005391370.tif 000020
【図２０】
0005391370.tif 000021
【図２１】
0005391370.tif 000022
【図２２】
0005391370.tif 000023
【図２３】
0005391370.tif 000024
【図２４】
0005391370.tif 000025
【図２５】
0005391370.tif 000026
【図２６】
0005391370.tif 000027
【図２７】
0005391370.tif 000028
【図２８】
0005391370.tif 000029
【図２９】
0005391370.tif 000030
【図３０】
0005391370.tif 000031
【図３１】
0005391370.tif 000032
【図３２】
0005391370.tif 000033
【図３３】
0005391370.tif 000034
【図３４】
0005391370.tif 000035
【図３５】
0005391370.tif 000036
【図３６】
0005391370.tif 000037
【図３７】
0005391370.tif 000038
【図３８】
0005391370.tif 000039
【図３９】
0005391370.tif 000040
【図４０】
0005391370.tif 000041
【図４１】
0005391370.tif 000042
【図４２】
0005391370.tif 000043
【図４３】
0005391370.tif 000044
【図４４】
0005391370.tif 000045
【図４５】
0005391370.tif 000046