説明

半導体装置

【課題】 ランダムアクセス時間が早く、大容量、低コストかつ高セキュリティを保つメモリモジュールを提供する。
【解決手段】 フラッシュメモリと、ダイナミックランダムアクセスメモリと、制御回路とで、メモリモジュールを構成し、制御回路は、メモリモジュールのある特定のアドレスへの読み出し動作にて、フラッシュメモリからダイナミックランダムアクセスメモリへのデータ転送を行う。
また、メモリモジュールからデータを読み出す際は、前記制御回路がダイナミックランダムアクセスメモリのリフレッシュ動作を行う。
【効果】 高速なデータの読み出しが可能な高セキュリティを保った大容量、低コストのメモリモジュールが実現できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、特に、RAMと大容量フラッシュメモリとを組み合わせたメモリシステム及びメモリモジュールに関する。
【背景技術】
【0002】
近年、携帯電話機等の高機能化を代表として処理すべきアプリケーションプログラムの大規模化が進み、従来のNOR型フラッシュメモリでは容量が不足するようになってきた。その中で携帯電話機等の携帯機器に利用されるNOR型フラッシュメモリの代替として、特許文献1から2に示されるようにNAND構成を用いているNAND型フラッシュメモリと、SRAMを内蔵した制御回路から構成されたメモリモジュールが提案されている。NAND型フラッシュメモリは、16〜128個のセルに対し1個のビット線コンタクトを設けるため、1ビットのメモリセル当たりの面積をNOR型フラッシュメモリより小さくでき、大容量化に対応できるが、その反面、最初のデータを出力するまでの読み出し時間が、約25μsから50μsと遅い。
【0003】
そのため、特許文献1及び2では、メモリモジュール内に組み込まれた内蔵RAMとNAND型フラッシュメモリとを有し、NAND型フラッシュメモリから予めデータを内蔵RAMへ転送し、RAMからデータを読み出すことで、約80から200nsの読み出し時間を実現している。
【0004】
特に特許文献1や2では、NAND型フラッシュメモリから予めデータをRAMへ転送する際には、CPUから転送アドレス値や転送サイズ値などを書き込むための書き込み命令を前記制御回路へ発行し、その結果、制御回路が装備しているコントロールレジスタへ、転送アドレス値や転送サイズ値の書き込み動作が行われる。
【0005】
【特許文献1】特開2002−366429号公報
【特許文献2】特開2003−91463号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本願発明者は、本発明に先立ってアーケードゲーム機等代表されるアミューズメント機器に使用される不揮発性メモリモジュールについて検討を行った。
【0007】
アミューズメント機器が取り扱うアプリケーションやデータは、携帯機器等と同様にアミューズメント機器へ付加される機能が増えるにつれて大きくなり、より大きな記憶容量が必要とされている。また、数100ns以内の読み出し時間が要求されている。さらに、前記不揮発性メモリモジュールへの書き込みは出荷時に一度だけ行い、通常動作時においては、前記不揮発性メモリモジュールへの書き込みを行うことはできないようにすることで高いセキュリティを保っている。
【0008】
つまり、特許文献1や2に記載されるNAND型フラッシュメモリを利用した従来のNOR型代替メモリでは内蔵RAMとNAND型フラッシュメモリ間の転送時において、コントロールレジスタ等への書き込み動作を行う必要があり、アミューズメント機器向けのメモリとしては高いセキュリティを保てない。言い換えれば、アミューズメント機器のように通常動作時に外部からの書き込みを禁止することで高いセキュリティを実現しているような分野では、特許文献1や特許文献2のようなコントロールレジスタに書き込むことで転送を開始するようなメモリモジュールは、用いることが出来ない。
【課題を解決するための手段】
【0009】
本発明においては本発明の代表的な手段を示せば以下の通りである。
【0010】
ランダムアクセスメモリと、不揮発性メモリと、ランダムアクセスメモリと不揮発性メモリに接続され、ランダムアクセスメモリおよび不揮発性メモリへのアクセスを制御するための制御回路と、を有する半導体装置であって、半導体装置は、半導体装置の外部からの読出し要求に従って出力されるデータを格納する第1のアドレス領域と、第1アドレス領域外の第2アドレス領域を有し、制御回路は、半導体装置の外部から第1アドレス領域への読出し要求があった場合、ランダムアクセスメモリに格納されたデータを外部に出力し、半導体装置の外部から第2アドレス領域への読出し要求を検出して、不揮発性メモリに格納されたデータをランダムアクセスメモリへ転送する。
【発明の効果】
【0011】
本発明によれば、高いセキュリティを保った半導体装置を実現可能である。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態を図を用いて詳細に説明するが、特に断りがない限り、実施例1における変形例は他の実施例にも適用できることは言うまでもない
【実施例1】
【0013】
図1は、第1の実施の形態であるメモリモジュールMEM1と情報処理装置から構成されるメモリシステムを示したものである。
【0014】
メモリモジュールMEM1は、主に、不揮発性メモリチップFLASHと、ダイナミックランダムアクセスメモリDRAMと、制御回路MCT1とから構成される。不揮発性メモリチップFLASHには、ROM(リードオンリーメモリ)、EEPROM(エレクトリカリイレーサブルアンドプログラマブルROM)、フラッシュメモリ等を用いることが出来る。本実施例ではフラッシュメモリを例に説明する。ダイナミックランダムアクセスメモリDRAMは、内部構成やインターフェースの違いからEDOのような非同期型ダイナミックランダムアクセスメモリ、SDRAMやDDR−SDRAMのような同期型ダイナミックランダムアクセスメモリ等様々な種類がある。本メモリモジュールにはいずれのダイナミックランダムアクセスメモリDRAMでも用いることが出来るが、本実施例ではSDRAMを例に説明する。また、特に限定しないが制御回路MCT1は、マイクロコンピューターやマイクロコントローラであっても良いし、ASICであってもよい。
【0015】
制御回路MCT1は、メモリマネージメント回路MU、アクセス制御回路MCN1、バックグランド動作設定回路BGP、リフレッシュ制御回路RFB、初期化回路INT、ブートバッファBootBuf、バックグランド動作バッファBGOBuf、データバッファDBuf、ステータスバッファSTBuf、フラッシュメモリ制御回路NDcon、ダイナミックランダムアクセスメモリ制御回路Dcon、エラー検出訂正回路ECC、アドレス代替処理回路REPから構成される。
【0016】
また、制御回路MCT1は、NOR型フラッシュメモリインターフェースNOR IFとNAND型フラッシュメモリインターフェースNAND IFと、ダイナミックランダムアクセスメモリインターフェースDRAM IFを装備している。NAND型フラッシュメモリインターフェースNAND IFによって制御回路MCT1と不揮発性メモリチップFLASHとの間でデータ転送が行われる。ダイナミックランダムアクセスメモリインターフェースDRAM IFによって制御回路MCT1とダイナミックランダムアクセスメモリDRAMとの間でデータ転送が行われる。NOR型フラッシュメモリインターフェースNOR IFによってメモリモジュールMEM1と、メモリモジュールMEM1の外部との間でデータ転送が行われる。なお、本実施例では、上述の通り、現存するインターフェースを用いているがこれに制限されることはなく、夫々特殊な専用インターフェースを用いても良い。しかしながら、メモリモジュールMEM1と外部との間をNOR型フラッシュメモリインターフェースNOR IFとすることにより、外部のマスタである情報処理装置CPUに変更を加えることなく使用できる。また、NAND型フラッシュメモリインターフェース、ダイナミックランダムアクセスインターフェースを用いることにより汎用のNAND型フラッシュメモリ、ダイナミックランダムアクセスメモリを用いることができるため専用の大容量不揮発性メモリやダイナミックランダムアクセスメモリを用いたときと比較してコストを下げることが可能となる。
【0017】
メモリマネージメント回路MUは、不揮発性メモリチップFLASH内のどのアドレスのデータがダイナミックランダムアクセスメモリDRAMへ保持されているのかを管理する。また、不揮発性メモリチップFLASHのメインデータ領域MAIN Areaと、初期プログラム領域Boot Areaと、バックグランド動作指示領域BGOAreaと、初期自動転送領域InLoadのアドレスも管理する。さらにブートバッファBootBuf、バックグランド動作バッファBGOBuf、ステータスバッファSTBufのアドレスおよびダイナミックランダムアクセスメモリDRAMのアドレスを管理している。また、メモリマネージメント回路MUは、NOR型フラッシュメモリインターフェースNOR IFより入力されたアドレスから、ブートバッファBootBuf、バックグランド動作バッファBGOBuf、ステータスバッファSTBufおよびダイナミックランダムアクセスメモリDRAMを選択する。
【0018】
アクセス制御回路MCN1は、主に、NOR型フラッシュメモリインターフェースNOR IFからのアクセスと、リフレッシュ制御回路RFBからのリフレッシュアクセスと、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送を調停制御する。
【0019】
バックグランド動作設定回路BGPは、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のバックグランドデータ転送の動作手順データが格納され、アクセス制御回路MCN1は、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送をする場合に上記動作手順情報に基づいて転送を制御する。本実施例では、動作手順データは、不揮発性メモリチップFLASHの初期プログラム領域BootAreaに格納されている。なお、動作手順情報をマスクROMにてバックグランド動作設定回路BGPに設けておいても良い。ダイナミックランダムアクセスメモリDRAMは、定期的にリフレッシュ動作を行わないとメモリセルに保持されているデータが失われるという特性を持つ。そこでリフレッシュ制御回路RFBは、アクセス制御回路MCN1へリフレッシュ動作の要求を行う。
【0020】
ブートバッファBootBufは、不揮発性メモリチップFLASHの初期プログラム領域Boot Areaへ格納されているブートプログラム情報を保持する。ブートプログラム情報には、メモリモジュールMEM1の電源投入直後の初期設定動作プログラム及び、また情報処理装置CPUのブートプログラムが含まれる。バックグランド動作バッファBGOBufは、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送を行うためのアドレス情報等を保持する。データバッファDBufはDRAMからの読み出しデータあるいは、不揮発性メモリチップFALSHの読み出しデータを一時的に保持する。ステータスバッファSTBufは、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送が終了したことを示す情報や、エラー情報などを保持する。
【0021】
フラッシュメモリ制御回路NDconは、不揮発性メモリチップFLASHを直接制御する。ダイナミックランダムアクセスメモリ制御回路DconはダイナミックランダムアクセスメモリDRAMを直接制御する。
【0022】
初期化回路INTは、制御回路MCT1、不揮発性メモリチップFLASH及びダイナミックランダムアクセスメモリDRAMへ電源が投入された直後、制御回路MCT1内の全回路を初期化するための情報とDRAMの初期化するための初期化手順データを保持する。初期化手順データは、必要に応じてマスクROMとして初期化回路INT内にもってもよいし、不揮発性メモリチップへのアクセスに必要な情報以外は、不揮発性メモリチップFLASH内のブート領域Boot Areaに格納しても良い。しかしながら、マスクROMとして初期化回路INT内に保持することにより、不揮発性メモリチップFLASHにアクセスする必要が無くなり、不揮発性メモリチップの初期化と並行してダイナミックランダムアクセスメモリDRAMの初期化を行うことが可能となり、高速に初期化動作を実現できる。
【0023】
エラー検出訂正回路ECCは、不揮発性メモリチップFLASHから読み出したデータにエラーがあるかどうかをチェックし、エラーがあれば訂正を行う。
【0024】
アドレス代替処理回路REPは、不揮発性メモリチップFLASHから読み出したデータが不良となった場合、不良が発生したデータに関して不揮発性メモリチップFLASH内の代替領域FREPへの置き換えを行う。代替領域の大きさは、フラッシュメモリの保証する信頼性が確保できるように決められる。
【0025】
クロックCLKは、制御回路MCT1から入力され、制御回路MCT1内全ての回路へ入力されている(図1では省略)。ダイナミックランダムアクセスメモリ制御回路Dconへ入力されたクロックCLKはクロックDCLKとしてダイナミックランダムアクセスメモリDRAMへ入力される。
【0026】
図2は、メモリマネージメント回路MUによるメモリマップの一例である。特に限定しないが、不揮発性メモリチップFLASHの記憶領域が1Gバイト、ダイナミックランダムアクセスメモリDRAMの記憶領域が64Mバイトであり、バッファBootBufが16kバイト、バッファBGOBufが4kバイト、バッファSTBufが512バイトの記憶領域を持つとする。なお、不揮発性メモリチップの記憶容量がダイナミックランダムアクセスメモリの記憶容量より小さいことが特徴であり、上記記憶領域の大きさは、一例であることは言うまでも無い。これにより、ランダムアクセスメモリのコストを下げることが可能となる。また、本実施例では、外部の情報処理装置CPUは、図2の左側のアドレス空間NOR IF AddressによりメモリモジュールMEM1にアクセスする。NOR IF Addressのアドレス空間は、不揮発性メモリチップFLASHのアドレス空間より小さい。これは、ダイナミックランダムアクセスメモリDRAMの容量が不揮発性メモリチップFLASHの容量より小さいためである。なお、外部の情報処理装置CPUが認識するアドレス空間を不揮発性メモリチップFLASHのアドレス空間にあわせることも可能である。この場合、情報処理装置CPUは、実際にプログラムが格納されているアドレスに直接アクセスすればよい。
【0027】
そのためには、ダイナミックランダムアクセスメモリDRAMへ不揮発性メモリチップFLASHのいずれのアドレスのデータが転送されているかを保持する転送データに関するアドレス対応テーブルが必要となる。一方、本実施例では、情報処理装置CPUが認識するアドレス空間は、データを読み出す先のダイナミックランダムアクセスメモリDRAMに対応する。従って、上記の転送データ対応テーブルは不要となり、コストを低減することが可能となる。
【0028】
図2の例では、不揮発性メモリチップFLASHは、メインデータ領域MAIN Areaと、初期プログラム領域Boot Areaと、バックグランド動作指示領域BGOAreaとに分かれている。また、メインデータ領域MAIN Areaには、プログラムやデータが格納されている。また、メインデータ領域MAIN Areaには、電源投入時に、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへ自動転送される初期自動転送領域InLoadが含まれている。
【0029】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IF側のアドレス空間は、16進数で0000_0000から0400_25FFまであり、ブートバッファBootBuf(Boot Area)のアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGOAreaはアドレス範囲0000_0400から0000_13FFへ、バッファBGOBufはアドレス範囲0000_1400から0000_23FFへ、ステータスバッファSTBufはアドレス範囲0000_2400から0000_25FFへ、ダイナミックランダムアクセスメモリDRAMはアドレス範囲0000_2600から1000_25FFへ割り当てられている。
【0030】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1の不揮発性メモリFLASH側のアドレス空間は、16進数で0000_0000から3FFF_FFFFまであり、メインデータ領域MAIN Areaはアドレス範囲0000_1400から3FFF_FFFF へ、初期プログラム領域Boot Areaはアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGO Areaはアドレス範囲0000_0400から0000_13FFへ割り当てられている。メインデータ領域MAIN Area内の初期自動転送領域InLoadはアドレス範囲0000_1400から03FF_FFFFへ割り当てられている。
【0031】
次に、メモリモジュールMEM1の動作を説明する。まず、メモリモジュールMEM1の電源投入時の動作シーケンスを説明する。図3は、電源投入時に制御回路MCT1が行う初期化動作を示している。T1の期間に電源が投入されると、T2のリセット期間で制御回路MCT1は、初期回路INTに保持されている情報に基づいて、制御回路MCT1内の全回路が初期化される。メモリマネージメント回路MUのアドレス管理情報はT2の期間で初期設定される。
【0032】
T3の期間では、制御回路MCT1は、初期化回路INTの情報に基づいてDRAMの初期化動作とFLASHの初期化動作を同時に行う。即ち、T3−1(FLASHの初期化動作)では、FLASHの初期化動作後、制御回路MCT1は、フラッシュメモリ制御回路NDconを用いて、不揮発性メモリチップFLASHの初期プログラム領域Boot Areaに格納されているブートプログラム、自動転送領域指定データおよびバックグランド動作手順データを、NAND型フラッシュメモリインターフェースNAND IFを通じて、ブートバッファBootBufへ転送する。具体的には、制御回路MCT1が初期化回路INTに格納される初期化手順に従って読み出し命令をフラッシュメモリ制御回路NDconへ発行し、フラッシュメモリ制御回路NDconは、この読み出し命令により不揮発性メモリチップFLASHの初期プログラム領域Boot Area内のデータを読み出し、エラー検出訂正回路ECCにて、エラーがあるかどうかをチェックする。読み出されたブートプログラムおよび自動転送領域指定データにエラーがなければ、制御回路MCT1を通じてブートバッファBootBufへ転送され、エラーがあれば訂正を行い制御回路MCT1を通じてブートバッファBootBufへ転送される。制御回路MNT1は、初期化回路INTの初期動作手順に従って、FLASHの初期化動作と並行して、DRAMの初期化動作を行う(T3−2)。この期間には、リフレッシュ動作が含まれる。アクセス制御回路MCN1は、初期化回路INTの初期動作手順に含まれるリフレッシュ動作要求を受けて、ダイナミックランダムアクセスメモリ制御回路Dconを通じてダイナミックランダムアクセスメモリDRAMへリフレッシュ動作を行う。
【0033】
T4の期間では、不揮発性メモリチップFLASHの初期プログラム領域Boot AreaからブートバッファBootBufに転送されたブートプログラムを読み出すことによって情報処理装置CPUが起動し自らを初期化する。従って、ダイナミックランダムアクセスメモリにはアクセスしないため、T3−1の期間が終了後実行することが可能となる。T3−1、T3−2の処理が終了後、T4の期間と並行して、制御回路MCT1は、ブートバッファBootBufより読み出した自動転送領域指定データに従い不揮発性メモリチップFLASHのデータをダイナミックランダムアクセスメモリDRAMへ転送する(T5の期間)。具体的には、制御回路MCT1は、バックグランド動作手順データをバッファBootBufより読み出し、バックグランド動作設定回路BGPへ転送し、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送手順を設定する。次に、制御回路MCT1は、バックグランド動作設定回路BGPへ転送されたデータ転送手順に従って、自動転送領域指定データをブートバッファBootBufより読み出し、フラッシュメモリ制御回路NDconを介して、このデータに示されている範囲の不揮発性メモリチップFLASHのデータを順に読み出し、データバッファDBufへ転送する。データバッファDBufへ転送されたデータは、制御回路MCT1から読み出され、ダイナミックランダムアクセスメモリ制御回路Dconを通じてダイナミックランダムアクセスメモリDRAMへ転送される。ダイナミックランダムアクセスメモリへのデータ転送が終了後、制御回路MCT1は、ステータスバッファSTBufへデータ転送の完了を示す転送完了フラグが書き込まれ、初期化動作が終了する。よって、T6の期間ではメモリモジュールMEM1はアイドル状態となる。
【0034】
なお、情報処理装置CPUはNOR型フラッシュメモリインターフェースNOR IFを通じてステータスバッファSTBufへアクセスを行い、転送完了フラグを読み出すことによって、電源投入直後のデータ転送が完了したことを知ることができる。なお、NOR型フラッシュメモリインターフェースNOR IFでなく、特殊なインターフェースを用いる場合は専用線等で通知することも可能である。このように、情報処理装置CPUが立ち上げを行っている間に、不揮発性メモリチップFLASHのデータをダイナミックランダムアクセスメモリDRAMへ自動転送することにより、情報処理装置CPUが立ちあがった時点で、すぐにメモリモジュールMEM1へアクセスすることができるため高性能化が図れる。なお、本実施例では、並列に処理できる部分を並列処理するように記載したが、これに限られることはない。例えば、すべての処理をシーケンシャルに行ってもよいし、一部のみを並行に行ってもよい。但し、並列に処理できる部分を並列に処理する方が高速にアイドル状態にすることが可能となる。その反面、制御が複雑になる可能性がある。
【0035】
次に、図1及び図2を利用し電源投入時の動作シーケンスが終了した後の不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送の一例について説明する。
【0036】
メモリマネージメント回路MUによって、不揮発性メモリチップFLASHに割り当てられているアドレス空間の一部にバックグランド動作指示領域BGOAreaが設けられている。マスタである情報処理装置CPU等から、メモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IFを通じて、このバックグランド動作指示領域BGOAreaへの読み出し命令およびバックグランド動作指示領域BGOAreaを示すアドレスがアクセス制御回路MCon1へ入力される。このバックグランド動作指示領域BGOAreaへのアクセスが不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送のトリガとなる。アクセス制御回路MCN1は、バックグランド動作指示領域BGOAreaへの読出し要求が来たことを検出し場合、バックグランド動作設定回路BGPに格納されるバックグランド動作設定データに従って、フラッシュメモリ制御回路NDconを通じて、不揮発性メモリチップFLASHのバックグランド動作指示領域BGOArea内のデータを読み出す。このデータには、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を行うためのデータ転送開始アドレスやデータ転送サイズなどが含まれる。この読み出されたデータはエラー検出訂正回路ECCにてエラー検出とエラー訂正が行われ、フラッシュメモリ制御回路NDconとアクセス制御回路MCon1を通じて、バックグランド動作バッファBGOBufへ書き込まれ、保持される。次にアクセス制御回路MCN1は、バックグランド動作バッファBGOBuf内のデータ転送開始アドレス情報およびデータ転送サイズ情報を読み出し、これらの情報に従って、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへデータ転送を行う。不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送が完了した後、データ転送完了情報がステータスバッファSTBufへ書き込まれる。
【0037】
以上説明したように、電源投入時の動作シーケンスが終了した後の通常アクセスは、不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送は、情報処理装置CPUがNOR型フラッシュメモリインターフェースNOR IFを通じて不揮発性メモリチップFLASH内のバックグランド動作指示領域BGOAreaへ読出し要求を行うことで行われる。よって、NOR型フラッシュメモリインターフェースNORIFから書き込み動作を行わず、読み出し動作のみで不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現できる。
【0038】
次に、図4のフローチャートを用いて、読出し動作及びデータ転送動作について説明する。情報処理装置CPUから、メモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IFを通じて、読み出し命令およびアドレスがアクセス制御回路MCN1へ入力される(図4 Step1)。次に、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、この入力されたアドレス値がバックグランド動作指示領域BGOArea内のアドレスかチェックする(図4 Step2)。
【0039】
この入力アドレス値がバックグランド動作指示領域BGOArea内のアドレスであれば、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataからバックグランド動作指示領域BGOAreaへのアクセス受付完了データを出力する(図4 Step3)。これによって、情報処理装置CPUは、バックグランド動作指示領域BGOAreaへの読み出し命令が受け付けられたことを知ることができる。なお、情報処理装置CPUへアクセス受付完了データの出力が不要である場合は、特定のデータを出力する必要はない。しかしながら、なんらかのデータを出力しない場合、情報処理装置CPUのリードアクセスが終了しないため情報処理装置CPU内で特殊な動作が必要となる場合がある。従って、アクセス受付完了データのような特別なデータでないとしても、何らかのダミーデータを出力する方が望ましい。また、入力アドレス値がバックグランド動作指示領域内である場合、メモリモジュールMEM1は、不揮発性メモリFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送(以下、「バックグランド転送」と呼ぶ。)をするための処理に移るため、バックグランド動作設定回路BGPに格納されたバックグランド転送手順データを読み出す。
【0040】
以下、アクセス制御回路MCN1は、バックグランド転送手順データに従って、バックグランド転送を制御する。アクセス制御回路MCN1は、フラッシュメモリ制御回路NDconを通じて、不揮発性メモリチップFLASHのバックグランド動作指示領域BGOArea内のデータを読み出す(図4 Step4)。特に限定しないが、このデータには、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を行うための転送元のデータ転送開始アドレス、転送先のデータ転送開始アドレスおよびデータ転送サイズなどが含まれる。この読み出されたデータはエラー検出訂正回路ECCにてエラー検出とエラー訂正(図4 Step5)が行われ、フラッシュメモリ制御回路NDconとアクセス制御回路MCN1を通じて、バックグランド動作バッファBGOBufへ書き込まれ、保持される(図4 Step6)。
【0041】
次にアクセス制御回路MCN1は、バックグランド動作バッファBGOBuf内のデータを読み出し、転送元のデータ転送開始アドレス、転送先のデータ転送開始アドレスおよびデータ転送サイズ情報を解読し(図4 Step6)、その結果に従って、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへデータ転送を行う。また、不揮発性メモリチップFLASHからデータを読み出す時は、前述のようにエラー検出訂正回路ECCにてエラー検出及び訂正がなされる。(図4 Step7)
このデータ転送が終了した時点で、メモリマネージメント回路MUは、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへ転送されたデータのアドレスに対応したアドレス管理情報を更新する。また、ステータスバッファSTBufへデータ転送の完了を示す転送完了フラグが書き込まれる(図4 Step8)。
【0042】
したがって、情報処理装置CPUはNOR型フラッシュメモリインターフェースNOR IFでステータスバッファSTBufへアクセスを行い、転送完了フラグを読み出すことによっても、電源投入直後のデータ転送が完了したことを知ることができる。
【0043】
このように、本実施例では、予め不揮発性メモリFLASHの一部のバックグランド動作指示領域BGOAreaに不揮発性メモリFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送の情報を格納しておき、その領域へのリードアクセスを検出することにより、バックグランド転送を行う。従って、NOR型フラッシュメモリインターフェースNORIFから書き込み動作を行わず、読み出し動作のみで不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現できるため高いセキュリティを保てる。
【0044】
次に、NOR型フラッシュメモリインターフェースNOR IFからのダイナミックランダムアクセスメモリDRAMへの読み出し動作について説明する。
【0045】
情報処理装置CPUから、メモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IFを通じて、読み出し命令およびアドレスがアクセス制御回路MCN1へ入力される(図4 Step1)。
【0046】
次に、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、この入力されたアドレス値がバックグランド動作指示領域BGOArea内のアドレスであるかをチェックする(図4 Step2)。
【0047】
この入力アドレス値がバックグランド動作指示領域BGOArea内のアドレスではない場合、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、この入力されたアドレス値がダイナミックランダムアクセスメモリDRAMへ割り当てられたアドレス範囲内であるかをチェックする(図4 Step9)。この入力されたアドレス値がダイナミックランダムアクセスメモリDRAMへ割り当てられたアドレス範囲内である場合は、所望のデータはダイナミックランダムアクセスメモリDRAMから読み出され、制御回路MCT1を通じてデータバッファDBufへ転送される(図4 Step10)。次に、データバッファDBufのデータはNOR型フラッシュメモリインターフェースNOR IFを通じて情報処理装置CPUへ出力される(図4 Step11)。
【0048】
次に、図2および図4を利用し、NOR型フラッシュメモリインターフェースNOR IFからのステータスバッファSTBuf、バックグランド動作バッファBGOBufおよびブートバッファBootBufへの読み出し動作について説明する。なお、バックグランド動作バッファBGOBufは、バックグランド動作指定領域BGOAreaとは異なるアドレスに割り当てられる。これにより、バックグランド動作バッファBGOBuf内のデータを読み出すことが可能となる。
【0049】
情報処理装置CPUから、メモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IFを通じて、読み出し命令およびアドレスがアクセス制御回路MCN1へ入力される(図4 Step1)。
【0050】
次に、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、この入力されたアドレス値がバックグランド動作指示領域BGOArea内のアドレスであるかをチェックする(図4 Step2)。
【0051】
この入力アドレス値がバックグランド動作指示領域BGOArea内のアドレスではない場合、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、この入力されたアドレス値がダイナミックランダムアクセスメモリDRAMへ割り当てられたアドレス範囲内であるかをチェックする(図4 Step9)。この入力されたアドレス値がダイナミックランダムアクセスメモリDRAMへ割り当てられたアドレス範囲内には無い場合は、この入力されたアドレス値がステータスバッファSTBuf、バックグランド動作バッファBGOBufおよびブートバッファBootBufのいずれかへ割り当てられたアドレス範囲内であるかをチェックする(図4 Step12)。
【0052】
この入力されたアドレス値がステータスバッファSTBufへ割り当てられたアドレス範囲内であれば所望のデータはステータスバッファSTBufから読み出され、バックグランド動作バッファBGOBufへ割り当てられたアドレス範囲内であれば所望のデータはバックグランド動作バッファBGOBufから読み出され、ブートバッファBootBufへ割り当てられたアドレス範囲内であれば所望のデータはブートバッファBBootBufから読み出され制御回路MCT1を通じてデータバッファDBufへ転送される(図4 Step13)。次に、データバッファDBufのデータはNOR型フラッシュメモリインターフェースNOR IFを通じて情報処理装置CPUへ出力される(図4 Step14)。
【0053】
また、この入力されたアドレス値がステータスバッファSTBuf、バックグランド動作バッファBGOBufおよびブートバッファBootBufのいずれかへ割り当てられたアドレス範囲内に存在しない場合はエラー情報がNOR型フラッシュメモリインターフェースNOR IFを通じて情報処理装置CPUへ出力される(図4 Step15)。
【0054】
以上のように、メモリモジュールMEM1は、情報処理装置CPUからの読出し命令及びアドレスに従って、バックグランド転送、ダイナミックランダムアクセスメモリDRAMからのデータ出力、又は、各種バッファからのデータ読み出しを実現する。従って、情報処理装置CPUからの書込み動作は不要となり、高いセキュリティを実現できる。
【0055】
なお、図4では、入力アドレス値がどの領域へのアクセスかを判断するのに、Step2,9,12の3つのステップを行っている。しかしながら、実際の処理では、Step2,9,12を同時に行う。
【0056】
次に、ダイナミックランダムアクセスメモリDRAMからのデータの読み出し方法について図5〜図8を用いて詳細に説明する。ダイナミックランダムアクセスメモリDRAMは、定期的にリフレッシュ動作を行わないとメモリセルに保持されているデータが失われるという特性を持つが、本実施例では、メモリモジュールMEM1の内部に設けたリフレッシュ制御回路RFBがリフレッシュ要求を行うことにより、メモリモジュールMEM1外部からのリフレッシュ要求動作が不要となり、NOR型フラッシュメモリインターフェースNOR IF互換で動作可能としている。つまり、ダイナミックランダムアクセスメモリDRAMのリフレッシュ動作を隠蔽することにより、NOR型フラッシュメモリインターフェースNOR IF互換の低コストかつ大容量ランダムアクセスメモリを実現する。
【0057】
図5は、ダイナミックランダムアクセスメモリDRAMがリフレッシュ動作を行っている間(リフレッシュ期間中)に、NOR型フラッシュメモリインターフェースNOR IFからサイクル時間160nsでランダムランダム読み出しアクセス(Read0およびRead1)が連続して生じた際の動作を示す図である。なお、ここでは、リフレッシュ動作を行う場合と、行わない場合を示す。
【0058】
NOR型フラッシュメモリインターフェースNOR IFからの読み出しアクセス(READ0)では、アドレス信号線Addからアクセス制御回路MCN1へ入力されたアドレスは、ダイナミックランダムアクセスメモリ制御回路Dconにおいてロウアドレスとカラムアドレスとに分離される。さらに、アクセス制御回路MCN1は、本アクセスがランダム読み出しアクセスなのかページ読み出しアクセスなのかを判定する。即ち、ロウアドレスが変化すればランダム読み出しアクセスで、カラムアドレスのみが変化すればページ読み出しアクセスと判定する。
【0059】
ランダム読み出しアクセスの場合、リフレッシュ制御回路RFBからアクセス制御回路MCN1へリフレッシュ要求(RFrq)が行われると、アクセス制御回路MCN1から最初の80nsの期間でリフレッシュ要求(Ref)と、次の80nsの期間で読み出し要求(Read0)がダイナミックランダムアクセスメモリ制御回路Dconへ入力される。
リフレッシュ制御回路RFBからのリフレッシュ要求が、NOR型フラッシュメモリインターフェースNOR IFからのランダム読み出しアクセスが開始される以前に生じた場合は、リフレッシュ動作を先に行い、
リフレッシュ制御回路RFBからのリフレッシュ要求が、NOR型フラッシュメモリインターフェースNOR IFからのランダム読み出しアクセスが開始と同時あるいはそれ以降に生じた場合は読出し動作を先に行い、その後リフレッシュ動作を行う。
【0060】
ダイナミックランダムアクセスメモリ制御回路Dconは、先ず、ダイナミックランダムアクセスメモリDRAMのへリフレッシュ命令(Ref)を発行し、次に、アクティブ命令(Ba)、読み出し命令(Rd)、プリチャージ命令(Pre)を発行する。
【0061】
リフレッシュ命令(Ref)によって、ダイナミックランダムアクセスメモリDRAMはリフレッシュ動作を行う。リフレッシュ動作後の、アクティブ命令(Ba)、読み出し命令(Rd)、プリチャージ命令(Pre)によってランダム読み出しアクセスによる読み出し動作(READ0)を実行する。
【0062】
ダイナミックランダムアクセスメモリDRAMから読み出されたデータD0は、データバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより出力される。
【0063】
読出しアクセス(Read1)では、リフレッシュ制御回路RFBからのリフレッシュ要求が生じていないためリフレッシュ動作は行わず、通常の読み出し動作が行われる。
【0064】
以上説明したようにランダムアクセスの読み出しサイクル時間が160nsの中には、読み出しサイクル時間80nsが含まれており、残りの80nsの読出しサイクル期間でリフレッシュ動作をメモリモジュールMEM1内部でおこなうことができる。すなわち、ダイナミックランダムアクセスメモリDRAMのリフレッシュ動作を隠蔽し、NOR型フラッシュメモリインターフェースNOR IFからの読み出し動作を実現できる。なお、リフレッシュ動作の隠蔽を行うことで、情報処理装置CPUは、現存のNOR型フラッシュメモリインターフェースによりメモリモジュールMEM1にアクセス可能になる。リフレッシュ隠蔽動作は、特に限定されないが、本実施例のように読出しサイクル時間内で行うことで、アクセスの遅延等の不都合が生じなくなる。また、メモリモジュールMEM1の外部インターフェースを特別なインターフェース又はダイナミックランダムアクセスインターフェースとする場合は、必ずしもリフレッシュ動作を隠蔽する必要はない。
【0065】
図6は、バックグランドデータ転送中に、NOR型フラッシュメモリインターフェースNOR IFからサイクル時間160nsで、ランダムランダム読み出しアクセス(Read2およびRead3)が連続して生じた際の動作を示す図である。なお、本実施例では、読出しアクセス(Read2)において、バックグランドデータ転送の最後のデータがダイナミックランダムアクセスメモリに書込まれたことを示している。 NOR型フラッシュメモリインターフェースNOR IFからの読み出しアクセス(READ0)では、アドレス信号線Addからアクセス制御回路MCN1へ入力され、ロウアドレスとカラムアドレスとに分離される。
【0066】
アクセス制御回路MCN1から最初の80nsの期間でバックグランドデータ転送(BGO0)と、次の80nsの期間で読み出し要求(Read2)がダイナミックランダムアクセスメモリ制御回路Dconへ入力される。
ダイナミックランダムアクセスメモリ制御回路Dconは、先ず、ダイナミックランダムアクセスメモリDRAMのへアクティブ命令(Ba0)、書き込み命令(Wt0)、プリチャージ命令(Pre0)を発行し、次に、アクティブ命令(Ba2)、読み出し命令(Rd2)、プリチャージ命令(Pre2)を発行する。書き込み命令(Wt0)によって、不揮発性メモリチップFLASHから読み出されバッファDBufへ格納されたデータBD0はダイナミックランダムアクセスメモリDRAMへ書き込まれる。
【0067】
書き込み動作後の、アクティブ命令(Ba2)、読み出し命令(Rd2)、プリチャージ命令(Pre2)によってランダム読み出しアクセスによる読み出し動作(READ2)を実行する。
【0068】
ダイナミックランダムアクセスメモリDRAMから読み出されたデータD2はバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより出力される。
【0069】
以上説明したようにランダムアクセスの読み出しサイクル時間が160nsの中には、読み出しサイクル時間80nsが含まれており、残りの80nsの期間で書き込み動作をメモリモジュールMEM1内部でおこなうことができる。すなわち、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのバックグランドデータ転送動作を隠蔽し、NOR型フラッシュメモリインターフェースNOR IFからの読み出し動作を実現できる。
【0070】
図7は、リフレッシュ期間中に、NOR型フラッシュメモリインターフェースNOR IFから280nsの期間でページ読み出しアクセス(Read4、Pread5、Pread6、Pread7)が生じた際の動作を示す図である。
【0071】
NOR型フラッシュメモリインターフェースNOR IFからの読み出しアクセス(Read0)では、アドレス信号線Addからアクセス制御回路MCN1へ入力されたアドレスは、ダイナミックランダムアクセスメモリ制御回路Dconにおいてロウアドレスとカラムアドレスとに分離される。さらに、アクセス制御回路MCN1は、本アクセスがランダム読み出しアクセスなのかページ読み出しアクセスなのかを判定する。ロウアドレスが変化すればランダム読み出しアクセスで、カラムアドレスのみが変化すればページ読み出しアクセスと判定する。
【0072】
読み出しアクセス(Read4)がランダム読み出しアクセスの時、リフレッシュ制御回路RFBからアクセス制御回路MCN1へリフレッシュ要求(RFrq)が行われると、アクセス制御回路MCN1によって、アクセス調停回路MCN1から最初の80nsの期間でリフレッシュ要求(Ref)と、次の80nsの期間で読み出し要求(Read4)がダイナミックランダムアクセスメモリ制御回路Dconへ入力される。
【0073】
ダイナミックランダムアクセスメモリ制御回路Dconは、先ず、ダイナミックランダムアクセスメモリDRAMのへリフレッシュ命令(Ref)を発行し、次に、アクティブ命令(Ba4)、読み出し命令(Rd4)を発行する。
【0074】
リフレッシュ命令(Ref)によって、ダイナミックランダムアクセスメモリDRAMはリフレッシュ動作を行う。リフレッシュ動作後の、アクティブ命令(Ba4)、読み出し命令(Rd4)によってランダム読み出しアクセスによる読み出し動作を実行する。
【0075】
読み出し命令(Rd4)によってダイナミックランダムアクセスメモリDRAMから読み出されたデータD4は、データバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより出力される。
【0076】
次の読み出しアクセス(Pread5、Pread6、Pread7)は、ページ読み出しアクセスである。これらのページアクセスでは必要とするデータはすでにダイナミックランダムアクセスメモリDRAMのセンスアンプに保持されており、直接センスアンプから読み出すことができる。そのため、ページ読み出しの期間(Pread5、Pread6、Pread7)は40nsと短期間でデータを読み出すことができる。この間はリフレッシュ動作を行わない。ページ読み出し動作ではダイナミックランダムアクセスメモリ制御回路Dconは、ダイナミックランダムアクセスメモリDRAMへ読み出し命令(Rd5,RD6,Rd7)を順に発行する。
【0077】
読み出し命令(Rd5,RD6,Rd7)によって読みだされたデータ(D5,D6,D7)は、データバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより順に、高速に出力される。
【0078】
以上説明したように280ns期間のページ読み出しアクセスにおいても、読み出し時間200nsが含まれており、残りの80nsの期間でリフレッシュ動作をメモリモジュールMEM1内部でおこなうことができる。すなわち、ダイナミックランダムアクセスメモリDRAMへのリフレッシュ転送動作を完全に隠蔽し、NOR型フラッシュメモリインターフェースNOR IFからの読み出し動作を実現できる。
【0079】
図8は、バックグランド転送中に、NOR型フラッシュメモリインターフェースNOR IFから280nsの期間でページ読み出しアクセス(Read4、Pread5、Pread6、Pread7)が生じた際の動作を示す図である。
【0080】
NOR型フラッシュメモリインターフェースNOR IFからの読み出しアクセス(Read0)では、アドレス信号線ADからアクセス制御回路MCN1へ入力されたアドレスはロウアドレスとカラムアドレスとに分離さる。さらに、アクセス制御回路MCN1は本アクセスがランダム読み出しアクセスなのかページ読み出しアクセスなのかを判定する。ロウアドレスが変化すればランダム読み出しアクセスで、カラムアドレスのみが変化すればページ読み出しアクセスとなる。
【0081】
読み出しアクセス(Read4)がランダム読み出しアクセスの時、アクセス調停回路MCN1から最初80nsの期間でバックグランドデータ転送(BGO0)と、次の80nsの期間で読み出し要求(Read4)がダイナミックランダムアクセスメモリ制御回路Dconへ入力される。
【0082】
ダイナミックランダムアクセスメモリ制御回路Dconは、先ず、ダイナミックランダムアクセスメモリDRAMのへアクティブ命令(Ba8)、書き込み命令(Wt8)、プリチャージ命令(Pre8)を発行し、次に、アクティブ命令(Ba4)、読み出し命令(Rd4)を発行する。書き込み命令(Wt8)によって、不揮発性メモリチップFLASHから読み出されバッファDBufへ格納されたデータBD8はダイナミックランダムアクセスメモリDRAMへ書き込まれる。
【0083】
書き込み動作後の、アクティブ命令(Ba4)、読み出し命令(Rd4)によってランダム読み出しアクセスによる読み出し動作を実行する。
【0084】
読み出し命令(Rd4)によってダイナミックランダムアクセスメモリDRAMから読み出されたデータD4はバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより出力される。
【0085】
次の読み出しアクセス(Pread5、Pread6、Pread7)は、ページ読み出しアクセスである。これらのページアクセスでは必要とするデータはすでにダイナミックランダムアクセスメモリDRAMのセンスアンプに保持されており、直接センスアンプから読み出すことができる。そのため、ページ読み出しの期間(Pread5、Pread6、Pread7)は40nsと短期間でデータを読み出すことができる。この期間は、バックグランド転送を行わない。ページ読み出し動作ではダイナミックランダムアクセスメモリ制御回路Dconは、ダイナミックランダムアクセスメモリDRAMへ読み出し命令(Rd5,RD6,Rd7)を順に発行する。
【0086】
読み出し命令(Rd5,RD6,Rd7)によって読みだされたデータ(D5,D6,D7)はバッファDBufを介して、NOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataより順に、高速に出力される。
【0087】
このように280ns期間のページ読み出しアクセスにおいても、読み出し時間200nsが含まれており、残りの80nsの期間で書き込み動作をメモリモジュールMEM1内部でおこなうことができる。すなわち、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのバックグランドデータ転送動作を完全に隠蔽し、NOR型フラッシュメモリインターフェースNOR IFからの読み出し動作を実現できる。
【0088】
以上説明したように、不揮発性メモリチップFLASHへバックグランド動作指示領域BGOAreaを設け、NOR型フラッシュメモリインターフェースNORIFからは書き込み動作を一切行わず、バックグランド動作指示領域BGOAreaへの読み出し動作のみで、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現できるため高いセキュリティを保てる。また、予め、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへデータ転送を転送し、ダイナミックランダムアクセスメモリDRAMからデータを読み出す際は、メモリモジュールMEM1がダイナミックランダムアクセスメモリDRAMへのリフレッシュ動作を完全隠蔽することにより、NOR型フラッシュメモリインターフェースNOR IF互換の低コスト、大容量かつ高速なランダムアクセスメモリを実現する。
【0089】
また、本実施例ではSDRAMの同期型ダイナミックランダムアクセスメモリを利用した場合について説明したが、EDOのような非同期型ダイナミックランダムアクセスメモリを利用した場合についても、同様の動作を行い、NOR型フラッシュメモリインターフェースNOR IF互換の低コスト、大容量かつ高速なランダムアクセスメモリを実現できることは言うまでも無い。
【0090】
非同期型ダイナミックランダムアクセスメモリを利用した場合では、ダイナミックランダムアクセスメモリへのクロック信号が必要ないため、同期型ダイナミックランダムアクセスメモリを利用した場合と比較し、クロックの動作時電力を削減できる。
【実施例2】
【0091】
図9は、メモリマネージメント回路MUによるメモリマップの別の一例である。
特に限定しないが、不揮発性メモリチップFLASHの記憶領域が1Gバイト、ダイナミックランダムアクセスメモリDRAMの記憶領域が64Mバイトであり、バッファBootBufが16kバイト、バッファBGOBufが4kバイト、バッファSTBufが512バイトの記憶領域を持つとする。本実施例も実施例1と同様に、不揮発性メモリチップの記憶容量がダイナミックランダムアクセスメモリの記憶容量を小さい。これにより、ランダムアクセスメモリのコストを下げることが可能となる。
【0092】
実施例1と異なる点は、不揮発性メモリチップFLASHに設けられていたバックグランド動作指定領域BGOAreaを不揮発性メモリチップFLASHには設けず、メインデータ領域MAINAreaに割り当てられている点である。
【0093】
図9の例では、不揮発性メモリチップFLASHは、メインデータ領域MAIN Areaと、初期プログラム領域Boot Areaとに分かれている。また、メインデータ領域MAIN Areaには、プログラムやデータが格納されている。また、メインデータ領域MAIN Areaには、電源投入時に、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへ自動転送される初期自動転送領域InLoadが含まれている。
【0094】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IF側のアドレス空間は、16進数で0000_0000から0400_25FFまであり、バッファBootBuf(Boot Area)のアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGO Areaはアドレス範囲0000_0400から0000_13FFへ、バッファBGOBufはアドレス範囲0000_1400から0000_23FFへ、バッファSTBufはアドレス範囲0000_2400から0000_25FFへ、ダイナミックランダムアクセスメモリDRAMはアドレス範囲0000_2600から0400_25FFへ、割り当てられている。
【0095】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1の不揮発性メモリFLASH側のアドレス空間は、16進数で0000_0000から3FFF_FFFFまであり、メインデータ領域MAIN Areaはアドレス範囲0000_0400から3FFF_FFFF へ、初期プログラム領域Boot Areaはアドレス範囲0000_0000から0000_03FFへ割り当てられている。
メインデータ領域MAIN Area内の初期自動転送領域InLoadはアドレス範囲0000_0400から03FF_FFFFへ割り当てられている。
【0096】
図10は、図9に示すメモリマップに関するメモリモジュールMEM1の読み出し動作の別の一例を示すフローチャートである。
【0097】
図9および図10を利用しメモリモジュールMEM1の動作を説明する。メモリモジュールMEM1の電源投入時の動作シーケンスは、実施例1と同様の動作となる。次に電源投入時の動作シーケンスが終了した後の不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送の一例について説明する。
【0098】
電源投入時の動作シーケンスが終了した後の不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAM間のデータ転送は、情報処理装置CPUがNOR型フラッシュメモリインターフェースNOR IFを通じて不揮発性メモリチップFLASH内のバックグランド動作指示領域BGOAreaへ読み出し動作を行うことで行われる。
【0099】
情報処理装置CPUから、メモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IFを通じて、特に限定しないが、読み出しアドレスが16進数でそれぞれ0000_0400、0400_0000、0000_2600、000F_FFFF、であるランダムな読み出し命令が順にアクセス制御回路MCN1へ入力される(図10 Step1)。
【0100】
次に、アクセス制御回路MCN1は、メモリマネージメント回路MUからのアドレス管理情報を利用し、最初に入力されたアドレス値0000_0400がバックグランド動作指示領域BGOArea内のアドレスであるかをチェックする(図10 Step2)。
【0101】
最初の入力アドレス値はバックグランド動作指示領域BGOArea内のアドレス値であるため不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送動作を行う命令、つまりバックグランド動作命令を意味する。
【0102】
2番目の読み出しアドレス0400_0000は、データ転送元である不揮発性メモリチップFLASHのデータ転送開始アドレスを示す。3番目の読み出しアドレス0000_2600の中は、データ転送先であるダイナミックランダムアクセスメモリDRAMのデータ転送先開始アドレスを示す。4番目の読み出しアドレス000F_FFFFの中は、1Mバイトのデータ転送サイズを示す。これら2番目から4番目のアドレスは、読み出し命令と共に入力されるためダイナミックランダムアクセスメモリDRAMへのリードアクセスと同じ入力値になる可能性がある。しかしながら、最初に入力されたアドレス0000_0400にて、アクセス制御回路MCN1は既にバックグランド動作に移行しているため、2番目から4番目のアドレスをバックグランド動作命令の一部であると認識することが可能である。これらの読みだしアドレス値は、順にバックグランド動作バッファBGOBufへ格納され(図10 Step3)、これらのアドレス値のバックグランド動作バッファBGOBufへの格納が終了するとNOR型フラッシュメモリインターフェースNOR IFのデータ信号Dataからバックグランド動作受付完了データを出力する(図10 Step4)。これによって、情報処理装置CPUバックグランド動作命令が受け付けられたことを知ることができる。なお、実施例1と同様にバックグランド動作受付完了データを出力する代わりにダミーデータを出力しても良い。また、本実施例では、1回のバックグランド動作命令を入力するために複数のアドレス入力が必要である。この場合、情報処理装置CPUからの読出し命令及びアドレスの入力毎にダミーデータを出力するとよい。
【0103】
次にアクセス制御回路MCN1は、バックグランド動作バッファBGOBuf内のデータを読み出し(図10 Step5)、転送元のデータ転送開始アドレス、転送先のデータ転送開始アドレスおよびデータ転送サイズ情報を解読し(図10 Step6)、その結果に従って、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへデータ転送を行う。また、不揮発性メモリチップFLASHからデータを読み出す時は、前述のようにエラー検出訂正回路ECCにてエラー検出及び訂正がなされる。(図10 Step7)
このデータ転送が終了した時点で、メモリマネージメント回路MUは不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへ転送されたデータのアドレスに対応したアドレス管理情報を更新する。また、ステータスバッファSTBufへデータ転送の完了を示す転送完了フラグが書き込まれる(図10 Step8)。
【0104】
したがって、情報処理装置CPUはNOR型フラッシュメモリインターフェースNOR IFでステータスバッファSTBufへアクセスを行い、転送完了フラグを読み出すことによっても、電源投入直後のデータ転送が完了したことを知ることができる。
【0105】
このように、本実施例では、不揮発性メモリFLASHの外にバックグランド動作指示領域BGOAreaを設け、その領域へのリードアクセスを検出することにより、バックグランド転送を行う。また、その際の転送元アドレスや転送先アドレスも上記バックグランド動作指示領域BGOAreaへのリードアクセスに続いて読出しアドレスとして入力される。従って、NOR型フラッシュメモリインターフェースNORIFから書き込み動作を行わず、読み出し動作のみで不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現できるため高いセキュリティを保てる。
【0106】
NOR型フラッシュメモリインターフェースNOR IFからのダイナミックランダムアクセスメモリDRAMへの読み出し動作およびステータスバッファSTBuf、バックグランド動作バッファBGOBuf、ブートバッファBootBufへの読み出し動作は図4で説明した読み出し動作と同様に行われる。
【0107】
以上で説明したように、書き込み動作を一切行わず、NOR型フラッシュメモリインターフェースNORIFから不揮発性メモリチップFLASHが対応しているアドレス範囲外に、読み出し動作のみを行うことで、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現できるので、不揮発性メモリチップFLASHにはBGOAreaを設ける必要が無いため、高いセキュリティを保った上で不揮発性メモリチップFLASHのMainAreaの領域を増やすことができる。
【0108】
また、予め、不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへデータ転送を転送し、ダイナミックランダムアクセスメモリDRAMからデータを読み出す際は、実施例1と同様にメモリモジュールMEM1がダイナミックランダムアクセスメモリDRAMへのリフレッシュ動作を完全隠蔽することにより、NOR型フラッシュメモリインターフェースNOR IF互換の低コスト、大容量かつ高速なランダムアクセスメモリを実現することができる。
【実施例3】
【0109】
図11は本発明のメモリモジュールおよびメモリシステムにおける別の実施例を示す。
【0110】
メモリモジュールのMEM2は不揮発性メモリチップFLASHと、制御回路MCT2とから構成される。制御回路MCT2は、ダイナミックランダムアクセスメモリDRAM2を内蔵している。ダイナミックランダムアクセスメモリDRAM2は、ランダムアクセスおよびページアクセスが可能なダイナミックランダムアクセスメモリである。
【0111】
制御回路MCT2内のメモリマネージメント回路MU、アクセス制御回路MCN1、バックグランド動作設定回路BGP、リフレッシュ制御回路RFB、初期化回路INT、バッファBootBuf、バッファBOGBuf、バッファDBuf、バッファSTBuf、フラッシュメモリ制御回路NDcon、ダイナミックランダムアクセスメモリ制御回路Dcon、エラー検出訂正回路ECC、アドレス代替処理回路REPは、実施例1で説明した動作と同様の動作を行う。
【0112】
また、制御回路MCT2はNOR型フラッシュメモリインターフェースNOR IFとNAND型フラッシュメモリインターフェースNAND IFを装備している。
【0113】
制御回路MCT2は、NAND型フラッシュメモリインターフェースNAND IFを通じてと不揮発性メモリチップFLASHからデータを読み出し、内蔵しているダイナミックランダムアクセスメモリDRAM2へ転送する。NOR型フラッシュメモリインターフェースNOR IFによってメモリモジュールMEM1と、メモリモジュールMEM2の外部との間でデータ転送が行われる。メモリモジュールMEM2においても、実施例1、2で説明した動作を実現できるのは言うまでもない。さらに、制御回路MCT2へダイナミックランダムアクセスメモリDRAM2を内蔵されているためダイナミックランダムアクセスメモリ制御回路DconとダイナミックランダムアクセスメモリDRAM2間の配線容量を小さくすることができるため、メモリモジュールMEM2は低電力動作が可能となる。
【0114】
したがって、メモリモジュールMEM2は制御回路MCT2へダイナミックランダムアクセスメモリDRAM2を内蔵されているため、高セキュリティを保ったまま低電力で動作可能となる。
【実施例4】
【0115】
図12は本発明のメモリモジュールおよびメモリシステムにおける別の実施例を示す。メモリモジュールのMEM3は不揮発性メモリチップFLASHと、制御回路MCT3とから構成される。制御回路MCT3は、スタティックランダムアクセスメモリSRAMを内蔵している。スタティックランダムアクセスメモリSRAMは、ランダムアクセスおよびページアクセスが可能なスタティックランダムアクセスメモリSRAMである。
【0116】
制御回路MCT3内のメモリマネージメント回路MU、アクセス制御回路MCon1、バックグランド動作設定回路BGP、初期化回路INT、ブートバッファBootBuf、バックグランド動作バッファBOGBuf、データバッファDBuf、ステータスバッファSTBuf、フラッシュメモリ制御回路NDcon、エラー検出訂正回路ECC、アドレス代替処理回路REPは、実施例1で説明した動作と同様の動作を行う。
【0117】
スタティックランダムアクセスメモリ制御回路Sconは、スタティックランダムアクセスメモリSRAMを制御する。また、制御回路MCT3は、NOR型フラッシュメモリインターフェースNOR IFとNAND型フラッシュメモリインターフェースNAND IFを装備している。
【0118】
制御回路MCT3は、フラッシュメモリ制御回路NDconを介してNAND型フラッシュメモリインターフェースNAND IFから不揮発性メモリチップFLASHからデータを読み出し、データバッファDBufへ転送する。さらに、制御回路MCT3は、データバッファDBufからデータを読み出しスタティックランダムアクセスメモリ制御回路Sconを介してスタティックランダムアクセスメモリSRAMへ転送する。
【0119】
NOR型フラッシュメモリインターフェースNOR IFによってメモリモジュールMEM3と、メモリモジュールMEM3の外部との間でデータ転送が行われる。
【0120】
図13は、メモリモジュールMEM3が実現するメモリマネージメント回路MUによるメモリマップの一例である。特に限定しないが、不揮発性メモリチップFLASHの記憶領域が1Gバイト、スタティックランダムアクセスメモリSRAMの記憶領域が2Mバイトであり、バッファBootBufが16kバイト、バッファBGOBufが4kバイト、バッファSTBufが512バイトの記憶領域を持つとする。本実施例では、不揮発性メモリチップの記憶容量がスタティックランダムアクセスメモリの記憶容量を小さい。これにより、ランダムアクセスメモリのコストを下げることが可能となる。
【0121】
図13の例では、不揮発性メモリチップFLASHは、メインデータ領域MAIN Areaと、初期プログラム領域Boot Areaと、バックグランド動作指示領域BGOAreaとに分かれている。また、メインデータ領域MAIN Areaには、プログラムやデータが格納されている。また、メインデータ領域MAIN Areaには、電源投入時に、不揮発性メモリチップFLASHからスタティックランダムアクセスメモリSRAMへ自動転送される初期自動転送領域InLoadが含まれている。
【0122】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM3のNOR型フラッシュメモリインターフェースNOR IF側のアドレス空間は、16進数で0000_0000から0020_25FFまであり、バッファBootBuf(Boot Area)のアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGOAreaはアドレス範囲0000_0400から0000_13FFへ、バッファBGOBufはアドレス範囲0000_1400から0000_23FFへ、バッファSTBufはアドレス範囲0000_2400から0000_25FFへ、スタティックランダムアクセスメモリSRAMはアドレス範囲0000_2600から0020_25FFへ割り当てられている。
【0123】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1の不揮発性メモリFLASH側のアドレス空間は、16進数で0000_0000から3FFF_FFFFまであり、メインデータ領域MAIN Areaはアドレス範囲0000_1400から3FFF_FFFF へ、初期プログラム領域Boot Areaはアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGO Areaはアドレス範囲0000_0400から0000_13FFへ割り当てられている。メインデータ領域MAIN Area内の初期自動転送領域InLoadはアドレス範囲0000_1400から03FF_FFFFへ割り当てられている。
【0124】
次に、メモリモジュールMEM3の動作を説明する。図14は、メモリモジュールMEM3の読み出し動作の一例を示すフローチャートである。
【0125】
なお、メモリモジュールMEM3の電源投入時の動作シーケンスは、実施例1の動作シーケンスとほぼ同様である。しかしながら、スタティックランダムアクセスメモリSRAMは、リフレッシュ動作が不要のため、図3のT3−2で行ったリフレッシュ動作が不要となる。
【0126】
図13および図14を利用し電源投入時の動作シーケンスが終了した後の不揮発性メモリチップFLASHとスタティックランダムアクセスメモリSRAM間のデータ転送の一例について示す。図10との相違点は、ダイナミックランダムアクセスメモリDRAMではなく、スタティックランダムアクセスメモリSRAMとなった点である。その他の点は、図10と同様のため説明を省略する。
【0127】
図15は、メモリモジュールMEM3が実現するメモリマネージメント回路MUによるメモリマップの別の一例である。特に限定しないが、不揮発性メモリチップFLASHの記憶領域が1Gバイト、スタティックランダムアクセスメモリSRAMの記憶領域が2Mバイトであり、バッファBootBufが16kバイト、バッファBGOBufが4kバイト、バッファSTBufが512バイトの記憶領域を持つとする。本実施例も実施例1と同様に、不揮発性メモリチップの記憶容量がスタティックランダムアクセスメモリの記憶容量を小さい。これにより、ランダムアクセスメモリのコストを下げることが可能となる。
【0128】
図15の例では、不揮発性メモリチップFLASHは、メインデータ領域MAIN Areaと、初期プログラム領域Boot Areaとに分かれている。また、メインデータ領域MAIN Areaには、プログラムやデータが格納されている。また、メインデータ領域MAIN Areaには、電源投入時に、不揮発性メモリチップFLASHからスタティックランダムアクセスメモリSRAMへ自動転送される初期自動転送領域InLoadが含まれている。
【0129】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM1のNOR型フラッシュメモリインターフェースNOR IF側のアドレス空間は、16進数で0000_0000から0020_25FFまであり、バッファBootBuf(Boot Area)のアドレス範囲0000_0000から0000_03FFへ、バックグランド動作指示領域BGO Areaはアドレス範囲0000_0400から0000_13FFへ、バッファBGOBufはアドレス範囲0000_1400から0000_23FFへ、バッファSTBufはアドレス範囲0000_2400から0000_25FFへ、スタティックランダムアクセスメモリSRAMはアドレス範囲0000_2600から0020_25FFへ、割り当てられている。
【0130】
特に限定しないがメモリマネージメント回路MUによって管理されるメモリモジュールMEM3の不揮発性メモリFLASH側のアドレス空間は、16進数で0000_0000から3FFF_FFFFまであり、メインデータ領域MAIN Areaはアドレス範囲0000_0400から3FFF_FFFF へ、初期プログラム領域Boot Areaはアドレス範囲0000_0000から0000_03FFへ割り当てられている。
メインデータ領域MAIN Area内の初期自動転送領域InLoadはアドレス範囲0000_0400から03FF_FFFFへ割り当てられている。
【0131】
図16は、図15に示すメモリマップに関するメモリモジュールMEM3の読み出し動作の別の一例を示すフローチャートである。読出し動作自体は、図10と同様のため省略するが、ダイナミックランダムアクセスメモリDRAMをスタティックランダムアクセスメモリSRAMへ変更しても同様の効果を得ることが出来る。更に、スタティックランダムアクセスメモリSRAMでは、その容量は小さくなるが、リフレッシュ動作が不要であり、ダイナミックランダムアクセスメモリを利用した場合に必要なリフレッシュ隠蔽動作が不要となる。
次に、データの読み出し方法について図17〜図18に示す。読出し動作は、図6、図8と同様のため詳細は省略する。
【0132】
以上、実施例4で説明したとおり、実施例1から実施例3において、ダイナミックランダムアクセスメモリDRAMをスタティックランダムアクセスメモリSRAMに変更することが可能である。この場合、コスト面からランダムアクセスメモリの容量が小さくなるが、リフレッシュ動作を隠蔽する必要がなくなり、制御が容易になる利点がある。
【実施例5】
【0133】
図19は本発明のメモリモジュールおよびメモリシステムにおける別の実施例を示す。
【0134】
メモリモジュールのMEM4は不揮発性メモリコアFLASHCoreと、制御回路MCT4とから構成され、同一半導体上に形成される。制御回路MCT4は、スタティックランダムアクセスメモリSRAM含み、スタティックランダムアクセスメモリSRAMはランダムアクセスおよびページアクセスが可能なスタティックランダムアクセスメモリSRAMである。
【0135】
制御回路MCT4内のメモリマネージメント回路MU、アクセス制御回路MCon1、バックグランド動作設定回路BGP、初期化回路INT、バッファBootBuf、バッファBOGBuf、バッファDBuf、バッファSTBuf、フラッシュメモリ制御回路NDcon、エラー検出訂正回路ECC、アドレス代替処理回路REPは、スタティックランダムアクセスメモリ制御回路SconはスタティックランダムアクセスメモリSRAMを制御する。制御回路MCT4は実施例4で説明した動作と同様の動作を行う。
【0136】
制御回路MCT4はフラッシュメモリ制御回路NDconを介して不揮発性メモリコアFLASHCoreからデータを読み出し、バッファDBufへ転送する。さらに、制御回路MCT3はバッファDBufからデータを読み出しスタティックランダムアクセスメモリ制御回路Sconを介してスタティックランダムアクセスメモリSRAMへ転送する。NOR型フラッシュメモリインターフェースNOR IFによってメモリモジュールMEM3と、メモリモジュールMEM4の外部との間でデータ転送が行われる。本実施例においても、図13および図15のメモリマップを実現でき、図14および図16の読み出し動作を実現できることは言うまでもない。さらに、不揮発性メモリとスタティックランダムアクセスメモリSRAMと、制御回路とを同一半導体上に形成することにより、不揮発性メモリと制御回路とのデータ配線容量を小さくすることができるので、メモリモジュールMEM4は更なる低電力動作が可能となる。
【実施例6】
【0137】
図20は本発明における第6の実施の形態を示したものである。図20(A)は上面図であり、図20(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0138】
本実施の形態のマルチチップ・モジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。特に限定しないが、CHIPM1は第1の不揮発性メモリで、CHIPM2は第1のランダムアクセスメモリで、CHIPM3は第1の制御回路の場合、本マルチチップ・モジュールにより、図1で示すメモリモジュールMEM1を1つの封止体に集積できる。
【0139】
また、特に限定しないが、CHIPM1は第1の不揮発性メモリで、CHIPM2は第1の揮発性メモリで、CHIPM3は第1の情報処理装置の場合、本マルチチップ・モジュールにより、図11および図12で示すメモリシステムを1つの封止体に集積できる。
【0140】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。CHIPM3と基板PCB上のボンディングパットはボンディングワイヤ(PATH4)で接続されている。CHIPM1とCHIPM2はボンディングワイヤ(PATH3)で接続され、CHIPM2とCHIPM3はボンディングワイヤ(PATH5)で接続されている。
【0141】
チップの搭載された基板PCBの上面は樹脂モールドが行われて各チップと接続配線を保護する。なお、さらにその上から金属、セラミック、あるいは樹脂のカバー(COVER)を使用しても良い。
【0142】
本実施の形態ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを積層することができるため、チップと基板PCB間の配線長を短くすることができ、実装面積を小さくすることができる。チップ間の配線及び各チップと基板間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。
【0143】
さらにチップ間をボンディングワイヤで直接配線することによって基板基板上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することができる。樹脂のカバーを使用した場合には、より強靭なメモリモジュールを構成することができる。セラミックや金属のカバーを使用した場合には、強度のほか、放熱性やシールド効果に優れたメモリモジュールを構成することができる。
【実施例7】
【0144】
図21は本発明における第7の実施の形態を示したものである。図21(A)は上面図であり、図21(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0145】
本実施の形態のマルチチップ・モジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。CHIPM1は第1の不揮発性メモリ、CHIP2Mは第1のランダムアクセスメモリである。CHIP3Mは制御回路の場合、本マルチチップ・モジュールにより、図1で示すメモリモジュールMEM1を1つの封止体に集積できる。
【0146】
また、CHIPM1は第1の不揮発性メモリ、CHIP2Mは第1の揮発性メモリを内蔵した制御回路である。CHIP3Mは情報処理装置の場合、本マルチチップ・モジュールにより、図11および図12で示すメモリシステムおよびを1つの封止体に集積できる。
【0147】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。CHIPM1とCHIPM2はボンディングワイヤ(PATH3)で接続される。また、CHIP3Mの実装および配線にボールグリッドアレイが用いられている。
【0148】
本実装方法では3チップを積層することができるので実装面積を小さく保つことができる。さらに、CHIPM3と基板基板間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
【実施例8】
【0149】
図22は本発明に係るマルチチップ・モジュールの第8の実施の形態を示したものである。図22(A)は上面図であり、図22(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0150】
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3、CHIPM4が搭載されている。CHIPM1は不揮発性メモリ、およびCHIPM2はランダムアクセスメモリ、CHIPM3は制御回路、CHIPM4は情報処理装置CPUである場合、本実装方法では、図1で示すメモリシステムを1つの封止体に集積できる。
【0151】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH4)で接続され、CHIPM3と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。
【0152】
CHIPM1とCHIPM3はボンディングワイヤ(PATH3)で接続され、CHIPM2とCHIPM3はボンディングワイヤ(PATH5)で接続される。CHIPM4の実装および配線にボールグリッドアレイ(BGA)が用いられている。本実装方法ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。
【0153】
チップ間をボンディングワイヤで直接配線することによって基板基板上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することができる。さらに、CHIPM4と基板基板間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
【実施例9】
【0154】
図23は本発明に係るメモリシステムの第9の実施の形態を示したものである。図23(A)は上面図であり、図23(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0155】
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。CHIPM1は不揮発性メモリ、CHIPM2はランダムアクセスメモリ、CHIPM3は制御回路である場合、本実装方法では、図1で示すメモリモジュールMEM1を1つの封止体に集積できる。また、CHIPM1は不揮発性メモリ、CHIPM2は揮発性メモリ、CHIPM3は情報処理装置である場合、本実装方法では、図11で示すメモリシステムおよび図12で示すメモリシステムを1つの封止体に集積できる。
【0156】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続され、CHIPM3と基板PCB上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。本実施の形態ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。各チップと基板間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。
【実施例10】
【0157】
図24は本発明に係るメモリシステムの第10の実施の形態を示したものである。図24(A)は上面図であり、図24(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0158】
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3、CHIPM4が搭載されている。CHIPM1は不揮発性メモリ、CHIPM2はランダムアクセスメモリ、およびCHIPM3は制御回路、CHIPM4は情報処理装置CPUである場合、本実装方法では、図1で示すメモリシステムを1つの封止体に集積できる。
【0159】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続され、CHIPM3と基板PCB上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。CHIPM4の実装および配線にボールグリッドアレイ(BGA)が用いられている。
【0160】
本実施の形態ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。CHIPM4と基板間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
【実施例11】
【0161】
図25は本発明における第11の実施の形態を示したものである。図25(A)は上面図であり、図25(B)は上面図に示したA−A’線に沿った部分の断面図である。
【0162】
本実施の形態のマルチチップ・モジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基板(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。特に限定しないが、CHIPM1は第1の不揮発性メモリで、CHIPM2は第1のランダムアクセスメモリを含む制御回路である場合、本マルチチップ・モジュールにより、図11で示すメモリモジュールMEM2および図12で示すメモリモジュールMEM3を1つの封止体に集積できる。
【0163】
特に限定しないが、CHIPM1は第1の不揮発性メモリを含むメモリで、CHIPM2は情報処理装置である場合、図19で示したメモリシステムを1つの封止体に集積できる。
【0164】
CHIPM1と基板PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基板PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。CHIPM1とCHIPM2はボンディングワイヤ(PATH3)で接続されている。
【0165】
チップの搭載された基板PCBの上面は樹脂モールドが行われて各チップと接続配線を保護する。なお、さらにその上から金属、セラミック、あるいは樹脂のカバー(COVER)を使用しても良い。
【0166】
本実施の形態ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを積層することができるため、チップと基板PCB間の配線長を短くすることができ、実装面積を小さくすることができる。チップ間の配線及び各チップと基板間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。
【0167】
さらにチップ間をボンディングワイヤで直接配線することによって基板上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することができる。樹脂のカバーを使用した場合には、より強靭なメモリモジュールを構成することができる。セラミックや金属のカバーを使用した場合には、強度のほか、放熱性やシールド効果に優れたメモリモジュールを構成することができる。
【0168】
以上、実施例に基づいて説明してきたが、本発明により不揮発性メモリチップFLASHとダイナミックランダムアクセスメモリDRAMと制御回路とでメモリモジュールを構成し、メモリモジュール外部から書き込み動作を一切行わず、読み出し動作のみで不揮発性メモリチップFLASHからダイナミックランダムアクセスメモリDRAMへのデータ転送を実現することにより高いセキュリティを保つことができる。
【0169】
さらに、制御回路がダイナミックランダムアクセスメモリDRAMへのリフレッシュ動作を完全隠蔽することにより、NOR型フラッシュメモリインターフェースNOR IF互換の低コスト、大容量かつ高速なメモリモジュールを実現することができる。
【0170】
なお、言うまでも無いが、本実施例は種々変更を行うことが出来る。例えば、制御回路MCT1を構成する各回路は、必要に応じて削除することが可能である。また、ダイナミックランダムアクセスメモリDRAMやスタティックランダムアクセスメモリの容量が不揮発性メモリチップFLASHの容量と同じであるか、あるいは、それより大きくても問題ない。この場合、任意の期間に不揮発性メモリチップのデータをダイナミックランダムアクセスメモリやスタティックランダムアクセスメモリに転送できるメリットはあるが、コストの面でデメリットが大きい。また、不揮発性メモリの容量のほうが小さい場合は、電源投入後の初期化動作時にすべてのデータを転送可能となるため本発明のメリットは小さい。それに対し、不揮発性メモリの容量が大きい場合は、必要に応じてデータを転送しなければならないので本発明のメリットは飛躍的に大きくなる。
【図面の簡単な説明】
【0171】
【図1】本発明のメモリシステムの構成の一例を示すである。
【図2】本発明のメモリシステムのメモリマップの一例を示す図である。
【図3】本発明のメモリシステムの電源投入時の動作の一例を示す図である。
【図4】本発明のメモリシステムでのデータ読み出し動作の一例を示すフローチャートである。
【図5】本発明のメモリシステムのランダム読み出しアクセスの一例を示すタイミングチャートである。
【図6】本発明のメモリシステムのランダム読み出しアクセスの一例を示すタイミングチャートである。
【図7】本発明のメモリシステムへのページ読み出しアクセスの一例を示すタイミングチャートである。
【図8】本発明のメモリシステムへのページ読み出しアクセスの一例を示すタイミングチャートである。
【図9】本発明のメモリシステムのメモリマップの一例を示す図である。
【図10】本発明のメモリシステムでのデータ読み出し動作の一例を示すフローチャートである。
【図11】本発明のメモリシステムの構成の一例を示すである。
【図12】本発明のメモリシステムの構成の一例を示すである。
【図13】本発明のメモリシステムのメモリマップの一例を示す図である。
【図14】本発明のメモリシステムでのデータ読み出し動作の一例を示すフローチャートである。
【図15】本発明のメモリシステムのメモリマップの一例を示す図である。
【図16】本発明のメモリシステムでのデータ読み出し動作の一例を示すフローチャートである。
【図17】本発明のメモリシステムのランダム読み出しアクセスの一例を示すタイミングチャートである。
【図18】本発明のメモリシステムへのページ読み出しアクセスの一例を示すタイミングチャートである。
【図19】本発明のメモリシステムの構成の一例を示すである。
【図20】図20(A)は、メモリモジュールを実装したマルチチップモジュールの別の構成例の上面図であり、図20(B)はマルチチップモジュールの構成例の断面図である。
【図21】図21(A)は、メモリモジュールを実装したマルチチップモジュールのさらに別の構成例の上面図であり、図21(B)はマルチチップモジュールの構成例の断面図である。
【図22】図22(A)は、メモリモジュールを実装したマルチチップモジュールのさらに別の構成例の上面図であり、図22(B)はマルチチップモジュールの構成例の断面図である。
【図23】図23(A)は、メモリモジュールを実装したマルチチップモジュールのさらに別の構成例の上面図であり、図23(B)はマルチチップモジュールの構成例の断面図である。
【図24】図24(A)は、メモリモジュールを実装したマルチチップモジュールのさらに別の構成例の上面図であり、図24(B)はマルチチップモジュールの構成例の断面図である。
【図25】図25(A)は、メモリモジュールを実装したマルチチップモジュールのさらに別の構成例の上面図であり、図25(B)はマルチチップモジュールの構成例の断面図である。
【符号の説明】
【0172】
NOR IF…NOR型フラッシュメモリインターフェース、CPU…情報処理装置、CLK…クロック、DCLK…クロック、Add…アドレス信号線、Com…コマンド信号線、Data…データ入出力信号線、MCT1,MCT2,MCT3…制御回路、MCN1.MCN2,MCN3…アクセス調停回路、MU…メモリマネージメント回路、INT…初期化回路、RFB…リフレッシュ制御回路、BGP…バックグランド動作設定回路、BootBuf…ブートバッファ、BGOBuf…バックグランド動作バッファ、DBuf・・・データバッファ、STBuf…ステータスバッファ、ECC…エラー検出訂正回路、REP…アドレス代替処理回路、NDCon…フラッシュメモリ制御回路、DCon…ダイナミックランダムアクセスメモリ制御回路、FLASH…不揮発性メモリ、DRAM,DRAM1…ダイナミックランダムアクセスメモリ、NAND IF…NANDフラッシュメモリインターフェース、SDRAM IF…SDRAMインターフェース、MEM1,MEM2,MEM3…メモリモジュール、SRAM…スタティックランダムアクセスメモリ、BANK0,BANK1,BANK2,BANK3 …メモリバンク、Boot Area…ブートプログラム領域、BGO Area…バックグランドデータ転送領域、InLoad…初期自動転送領域、MAIN Area…メインデータ領域、Power on Load…自動転送、AutoBootLoad…自動ブートプログラム転送、Load…ロード転送、BGOInst1,BGOInst2,BGOInst3…バックグランドデータ転送命令領域、PCB…プリント回路基板、COVER…モジュールの封止カバー、PATH1〜PATH5…ボンディング配線。

【特許請求の範囲】
【請求項1】
ランダムアクセスメモリと、不揮発性メモリと、前記ランダムアクセスメモリと前記不揮発性メモリに接続され、前記ランダムアクセスメモリおよび前記不揮発性メモリへのアクセスを制御するための制御回路と、を有する半導体装置であって
前記半導体装置は、前記半導体装置の外部からの読出し要求に従って出力されるデータを格納する第1のアドレス領域と、前記第1アドレス領域外の第2アドレス領域を有し、
前記制御回路は、前記半導体装置の外部から前記第1アドレス領域への読出し要求があった場合、前記ランダムアクセスメモリに格納されたデータを外部に出力し、前記半導体装置の外部から前記第2アドレス領域への読出し要求を検出して、前記不揮発性メモリに格納されたデータを前記ランダムアクセスメモリに転送を行うことを特徴とする半導体装置。
【請求項2】
請求項1において、
前記不揮発性メモリは、前記ランダムアクセスメモリに転送されるデータが格納される第3アドレス領域と、前記不揮発性メモリに格納されたデータを前記ランダムアクセスメモリに転送するためのアドレス情報が格納される第4アドレス領域を有することを特徴とする半導体装置。
【請求項3】
請求項1において、
前記不揮発性メモリに格納されたデータは、前記半導体装置の外部からの前記第2アドレス領域への読出し要求により前記ランダムアクセスメモリに転送された後、前記半導体装置の外部からの前記第1アドレス領域への読出し要求により前記ランダムアクセスメモリから外部へ出力されることを特徴とする半導体装置。
【請求項4】
請求項1において、
前記不揮発性メモリから前記ランダムアクセスメモリへのデータ転送は、エラー訂正されたデータを転送することを特徴とするメモリシステム。
【請求項5】
請求項1において、
前記不揮発性メモリは、前記第3及び第4アドレス領域外にブートプログラムが格納される第5アドレス領域を有し、前記半導体装置への電源投入後、前記制御回路は、前記ブートプログラムを読み出すことを特徴とする半導体装置。
【請求項6】
請求項1において、
前記ランダムアクセスメモリは、スタティックランダムアクセスメモリであることを特徴とする半導体装置。
【請求項7】
請求項1において、
前記ランダムアクセスメモリは、ダイナミックランダムアクセスメモリであることを特徴とする半導体装置。
【請求項8】
請求項7において、
前記制御回路は、前記半導体装置の外部から前記第1アドレス領域へ読出し要求があり、かつ、前記ダイナミックランダムアクセスメモリのリフレッシュ動作を行う場合は、前記読出し要求のアクセスサイクル時間において、前記リフレッシュ動作と前記ダイナミックランダムアクセスメモリからのデータ読み出しを行うことを特徴とする半導体装置。
【請求項9】
請求項8において、
前記制御回路は、前記不揮発性メモリに格納されたデータを前記ダイナミックランダムアクセスメモリへ転送するバックグランド転送を行っている間に、前記半導体装置の外部から前記ダイナミックランダムアクセスメモリへの読出し要求が来た場合、前記読出し要求のアクセス時間において、前記不揮発性メモリに格納されたデータの前記ダイナミックランダムアクセスメモリへの書込みと、前記読出し要求に応じた前記ダイナミックランダムアクセスメモリからのデータ読み出しを行うことを特徴とする半導体装置。
【請求項10】
請求項4において、
前記不揮発性メモリは、NAND型フラッシュメモリであることを特徴とするメモリシステム。
【請求項11】
請求項1において、
前記ランダムアクセスメモリと前記不揮発性メモリと、前記制御回路が1パッケージに実装された半導体装置。
【請求項12】
請求項1において、
前記ランダムアクセスメモリと前記制御回路は同一半導体チップ上に形成されていることを特徴とする半導体装置。
【請求項13】
請求項1において、
前記ランダムアクセスメモリと前記制御回路と、前記不揮発性メモリは同一半導体チップ上に形成されていることを特徴とする半導体装置。
【請求項14】
請求項1において、
前記制御回路は、前記第2アドレス領域に第1読出し要求が来た場合に、前記第1読出し要求に続く第2読出し要求のアドレスに従って、前記不揮発性メモリに格納されたデータを前記ランダムアクセスメモリに転送することを特徴とする半導体装置。
【請求項15】
請求項1において、
前記制御回路は、前記不揮発性メモリから前記ダイナミックランダムアクセスメモリへの転送を行うための転送手順データを保持するためのバックグランド動作設定回路を有することを特徴とする半導体装置。
【請求項16】
請求項15において、
前記転送手順データは、前記不揮発性メモリに格納され、
前記半導体装置への電源投入後、前記不揮発性メモリから前記バックグランド動作設定回路に転送されることを特徴とする半導体装置。
【請求項17】
請求項1において、
前記制御回路は、ブートバッファを有し、
前記ブートバッファは、前記不揮発性メモリに格納されたブートプログラムが転送され、
前記半導体装置は、電源が投入された後、前記不揮発性メモリから前記ランダムアクセスメモリへデータを転送している期間に、前記ブートプログラムを出力可能であることを特徴とする半導体装置。
【請求項18】
請求項1において、
前記不揮発性メモリの容量は、前記ランダムアクセスメモリの容量より大きいことを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate