JP2013137841A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP2013137841A
JP2013137841A JP2013083870A JP2013083870A JP2013137841A JP 2013137841 A JP2013137841 A JP 2013137841A JP 2013083870 A JP2013083870 A JP 2013083870A JP 2013083870 A JP2013083870 A JP 2013083870A JP 2013137841 A JP2013137841 A JP 2013137841A
Authority
JP
Japan
Prior art keywords
memory
data
cache
address
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013083870A
Other languages
English (en)
Inventor
Seishi Miura
誓士 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013083870A priority Critical patent/JP2013137841A/ja
Publication of JP2013137841A publication Critical patent/JP2013137841A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】使い勝手の良い大記憶容量のROMとRAMを含むメモリシステムを提供する。
【解決手段】不揮発性メモリ、キャッシュメモリ、制御回路、情報処理装置を含むメモ
リシステムを構成する。不揮発性メモリのデータをキャッシュメモリへ転送させ、保持す
ることにより高速化を図る。不揮発性メモリのデータをキャッシュメモリへ転送させる際
は、エラー訂正を行い、信頼性の向上を図る。情報処理装置から、独立にキャッシュメモ
リと不揮発性メモリへのアクセスを行えることにより、使い勝手の向上を図る。これら複
数のチップからなるメモリシステムを、各チップが相互に積層して配置され、ボールグリ
ッドアレイ(BGA)やチップ間のボンディングによって配線されたメモリシステム・モジュ
ールとして構成する。
【選択図】図1

Description

本発明は、不揮発性メモリを含むメモリシステムおよびメモリシステムの制御方法に関する。
従来、フラッシュメモリ(32M bit容量)とスタティックランダムアクセスメモリ(NOR(4M bit容量))とがスタックチップでFBGA(Fine pitch Ball Grid Array)型パッケージに一体封止された複合型半導体メモリがある。フラッシュメモリとNORとは、FBGA型パッケージの入出力電極に対してアドレス入力端子とデータ入出力端子が共通化されている。但し各々の制御端子はそれぞれ独立とされている(例えば、非特許文献1参照。)。
また、フラッシュメモリチップとDRAMチップとがリードフレーム型パッケージに一体封止された複合型半導体メモリもある。この複合型半導体メモリはフラッシュメモリとDRAMとはパッケージの入出力電極に対してアドレス入力端子、データ入出力端子、及び制御端子が共通化されて入出力される(例えば、特許文献1の図1及び図15、特許文献2参照。)。
また、主記憶装置として扱われるフラッシュメモリとキャッシュメモリとコントローラとCPUから構成されるシステムもある(例えば、特許文献3の図1参照。)。
また、フラッシュメモリとDRAMと転送制御回路からなる半導体メモリもある(例えば、特許文献4の図2、特許文献5参照。)。
"複合メモリ(スタックドCSP)フラッシュメモリ+RAM データシート"、形名LRS1380、[online]、平成13年12月10日、シャープ株式会社、[平成14年8月21日検索]、インターネット<URL:http://www.sharp.co.jp/products/device/flash/cmlist.html>
特開平05−299616号公報 欧州特許出願公開第0566306号明細書 特開平07−146820号公報 特開2001−5723号公報 特開2002−366429号公報
本願発明者等は、本願に先立って携帯電話及びそれに使用されるプロセッサと、フラッシュメモリと、ランダムアクセスメモリから構成されたメモリシステムとその動作について検討を行った。
図33に示すように携帯電話には情報処理装置PRCとメモリモジュールMCMが使用されている。
情報処理装置PRCは中央演算装置CPUとSRAMコントローラから構成される。メモリモジュールMCMはNOR型フラッシュメモリNOR FLASHとSRAMから構成される。情報処理装置PRCはメモリモジュールMCMにアクセスを行い、データの読み出しおよび書き込みを行う。
電源投入後、情報処理装置PRCは、NOR型フラッシュメモリNOR FLASHに格納されているブートデータを読み出し、自らを立ち上げる。その後、情報処理装置PRCはNOR型フラッシュメモリNOR FLASHより必要に応じてアプリケーションプログラムを読みだし、中央演算装置CPUで実行する。SRAMはワークメモリとして機能し、中央演算装置CPUでの演算結果などが保存される。
近年、携帯電話が取り扱うアプリケーション、データ、ワークエリアは携帯電話に付加される機能(音楽やゲーム等配信等)が増えるにつれて大きくなり、より大きな記憶容量のフラッシュメモリおよびランダムアクセスメモリが必要と予想される。さらに最近の携帯電話は高機能化が目覚しく、高速かつ大容量メモリのニーズが高まっている。
現在、携帯電話に用いられているNOR型フラッシュメモリは、NOR構成と呼ばれるメモリアレイ方式を用いたNOR型フラッシュメモリである。NOR型は、メモリセルアレイの寄生抵抗を小さく抑えたアレイ構成であり、並列接続したメモリセル2個につき1個の割合でメタルビット線コンタクトを設けることで低抵抗化を図っている。このため、読み出し時間は約80nsとNORの読み出し時間とほぼ同等にすることができる。しかし、その反面、セル2個につき1個のコンタクトを設ける必要があるため、コンタクト部のチップ面積に占める割合が高く、1ビットのメモリセル当たりの面積が大きくなり、大容量化には対応仕切れないという課題がある。
また、代表的な大容量フラッシュメモリには、メモリアレイにAND構成を用いているAND型フラッシュメモリとNAND構成を用いているNAND型フラッシュメモリがある。これらのフラッシュメモリは、16〜128個のセルに対し1個のビット線コンタクトを設けるため、高密度のメモリアレイを実現できる。したがって、1ビットのメモリセル当たりの面積をNOR型フラッシュメモリより小さくでき、大容量化に対応できる。しかし、その反面、最初のデータを出力するまでの読み出し時間が、約25μsから100μsと遅く、NOR型フラッシュメモリとの整合性が取れないことが判明した。
フラッシュメモリは書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にあることが判明した。
また、半導体封止材中のウランなどの放射性物質から放出されるα線がランダムアクセスメモリRAMのメモリアレイに入射することによって、このメモリアレイに保持されている記憶データが破壊されることが稀にあり、ランダムアクセスメモリRAMの信頼性を劣化させる要因となっていることが判明した。
そこで本発明の目的の一つは、記憶容量が大きくかつ低コストで、使い勝手の良いROMとRAMを含むメモリシステムを提供することである。
本発明の代表的な手段を示せば以下の通りである。情報処理装置と、フラッシュメモリと、キャッシュメモリと、メモリコントローラを一つの封止体に実装し、封止体に半導体チップとの配線を行うための電極と、封止体と封止体外部との接続を行うための電極を設ける。
この際に、情報処理装置からのフラッシュメモリ内のデータの読み出し要求に対する読み出し時間を高速化するため、キャッシュメモリとフラッシュメモリへメモリコントローラを接続し、メモリコントローラによりフラッシュメモリからキャッシュメモリへデータ転送を行う。
電源投入後は、フラッシュメモリのデータの少なくとも一部をキャッシュメモリへ転送する制御を行うとよい。
情報処理装置から入力したアドレスをキャッシュメモリのインデックスアドレスへ分散されるように制御すると良い。
前記メモリコントローラは前もって、情報処置装置が利用するデータをキャッシュメモリへ転送するように制御すると良い。
また、フラッシュメモリ内のバッファをキャッシュメモリとして利用すると良い。
前記メモリコントローラはフラッシュメモリからデータを読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うと良い。また、フラッシュメモリ内のメモリセルへの書き込み回数を平均化する制御を行うと良い。さらに、キャッシュメモリからデータをも読み出した後エラー検出を行うと良い。
情報処理装置が要求したデータの到着を知ることができる信号線を設けると良い。
前記メモリコントローラは、キャッシュメモリからデータを読み出している間でも、前記情報処置装置よりフラッシュメモリへの読出し及び書きこみのアクセスを受付け、データの読出し及び書きこみが行われるように制御しても良い。
高機能なメモリを実現できる。
本発明を適用したメモリシステムの構成図。 本発明を適用したメモリシステムのアドレスマップの一例を示す説明図。 本発明を適用したメモリシステムのレジスタブロックの一例を示す説明図。 本発明を適用したメモリシステムの電源投入時の動作の一例を示す図。 本発明を適用したメモリシステムのアドレス変換およびキャッシュメモリの一例を示す図。 本発明を適用したメモリシステムのアドレス変換およびキャッシュメモリの一例を示す図。 本発明を適用したメモリシステムのアドレス変換の一例を示す図。 本発明を適用したメモリシステムのキャッシュメモリの一例を示す図。 本発明を適用したメモリシステムのキャッシュメモリのデータ更新の一例を示す図。 本発明を適用したメモリシステムのキャッシュメモリのデータ更新の一例を示す図。 本発明を適用したメモリシステムのレジスタブロックへの設定方法の一例を示す図。 本発明を適用したメモリシステムのレジスタブロックへの設定方法の一例を示す図。 本発明を適用したメモリシステムのレジスタブロックへの設定方法の一例を示す図。 本発明を適用したメモリシステムのデータ読み出し動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムのデータ書込み動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムのデータ消去動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムの読み出し動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムのキャッシュメモリの一例を示す図。 本発明を適用したメモリシステムのキャッシュロック解除方法の一例を示す図。 本発明を適用したメモリシステムのデータ読み出し動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムのデータ読み出し動作の流れの一例を示すフローチャート。 本発明を適用したメモリシステムの構成図。 本発明を適用したメモリシステムの構成図。 本発明を適用したメモリシステムの構成図。 本発明を適用したメモリシステムの構成図。 本発明によるメモリシステムの実装形態の一例を示す図。 本発明によるメモリシステムの実装形態の一例を示す図。 本発明によるメモリシステムの実装形態の一例を示す図。 本発明によるメモリシステムの実装形態の一例を示す図。 本発明によるメモリシステムの実装形態の一例を示す図。 本発明によるメモリシステムを利用した携帯電話の構成例を示すブロック図。 本発明によるメモリシステムを利用した携帯電話の構成例を示すブロック図。 携帯電話に利用されている従来のメモリ構成例を示すブロック図。
以下、本発明の実施の形態例につき添付図面を参照しながら詳細に説明する。実施の形態例において各ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような1個の半導体基板上に形成される。
図1は本発明を適用した第1の実施の形態例である情報処理装置CPU_CHIPとメモリモジュールMSMとから構成されるメモリシステムを示したものである。以下におのおのについて説明する。
メモリモジュールMSMはFLASH_CHIPとCT_CHIPとから構成される。FLASH_CHIPは不揮発性メモリである。不揮発性メモリにはROM(リードオンリーメモリ)、EEPROM(エレクトリカリイレーサブルアンドプログラマブルROM)、フラッシュメモリ等を用いることができる。本実施の形態例ではフラッシュメモリを例に説明する。
代表的な大容量フラッシュメモリには、メモリアレイにAND構成を用いているAND型フラッシュメモリとNAND構成を用いているNAND型フラッシュメモリがあり、本発明には双方のフラッシュメモリを利用することができる。また、NANDインターフェースを装備している大容量フラッシュメモリと、ANDインターフェースを装備している大容量フラッシュメモリとがあり、本発明には双方のフラッシュメモリを利用することができる。本実施例ではNANDインターフェースを装備している大容量フラッシュメモリを例に説明する。
特に限定しないが、FLASH_CHIPとして用いられる典型的なフラッシュメモリはNANDインターフェースを装備している大容量フラッシュメモリであり、約2Gbitの大きな記憶容量をもち、読み出し時間(読み出し要求からデータが出力されるまでの時間)は約25μsから100μsと比較的遅い。
DRAM_CHIPはダイナミックランダムアクセスメモリで内部構成やインターフェースの違いから、EDO(Extended Data Out)、SDRAM(Synchronous DRAM)、DDR(Double Data Rate)等様々な種類がある。メモリモジュールMSMにはいずれのDRAMでも用いることができる。本実施の形態例ではSDRAMを例に説明する。ダイナミックランダムアクセスメモリDRAM_CHIPは情報処理装置CPU_CHIPにてアプリケーションプログラムを実行するため一時的なワークメモリとして利用される。
特に限定しないが、DRAM_CHIPとして用いられる典型的なSDRAMは約256Mbitの大きな記憶容量を持っている。
制御回路CT_CHIPは、FLASH_CHIPと情報処理装置CPU_CHIPとのデータ転送を制御する制御回路であり、特に限定しないが記憶容量が1MバイトであるキャッシュメモリL2Cacheを内蔵しており、読み出し時間は30nsから90ns程度で、従来のNOR型フラッシュより短時間あるいは同等である。
キャッシュメモリL2Cacheは、不揮発性メモリであるマグネティックランダムアクセスメモリMRAMおよび相変化メモリPRAMや、揮発性メモリであるスタティックランダムアクセスメモリSRAMにて実現でき、メモリモジュールMSMにはいずれのランダムアクセスメモリでも用いることができる。本実施の形態例では、キャッシュメモリL2Cacheに揮発性メモリであるスタティックランダムアクセスメモリSRAMを利用した例に説明する。
フラッシュメモリFLASH_CHIPと制御回路CT_CHIP間のデータ転送はNANDインターフェースNAND IF2で行われ、情報処理装置CPU_CHIPとイナミックランダムアクセスメモリDRAM_CHIPとのデータ転送はSDRAMインターフェースSDRAM IFで行われる。
情報処理装置CPU_CHIPは中央演算装置CPUと、NORフラッシュコントローラNRCと、NANDフラッシュコントローラNDCと、DRAMコントローラSDCとから構成される。NORコントローラNRCはNORインターフェースでメモリモジュールMSM へアクセスを行い、データの読み書きを行う。DRAMコントローラSDCはSDRAMインターフェース(SDRAM IF)でDRAM_CHIPへアクセスを行いデータの読み書きを行う。
NANDフラッシュコントローラNDCは、NANDインターフェース(NAND IF1)でメモリモジュールMSM へアクセスを行い、データの読み書きを行う。
フラッシュメモリFLASH_CHIPは、制御回路FCNTと、データバッファDREGと、メモリセルアレイMARYとから構成される。制御回路FCNTは、制御回路CT_CHIPのNANDインターフェースNAND IF2からの読み出し及び書き込み命令によって動作する回路である。
読み出し要求が制御回路FCNTへ入力されると、メモリセルアレイMARYからデータバッファDREGへ、特に限定しないが、データサイズが2KB程度のデータが転送され、NANDインターフェースNAND IF2より制御回路CT_CHIPへ転送される。
また、データバッファDREGへ転送されたデータはそのまま保持される。
書き込み要求および書き込みデータが制御回路FCNTへ入力されると、特に限定しないが、データサイズが2KB程度のデータがデータバッファDREGへ入力され、最終的にメモリセルアレイMARYへ書き込まれる。また、データバッファDREGへ入力されたデータはそのまま保持される。
フラッシュメモリFLASH_CHIPは、特に制限はないが、メインデータ領域と代替領域REPAREAに分かれている。
メインデータ領域には初期プログラム領域が含まれており、初期プログラム領域内には、電源投入直後に、情報処理装置CPU_CHIPを立ち上げるためのブートプログラムと、フラッシュメモリFLASH_CHIPからキャッシュメモリL2Cacheへ自動転送するためのキャッシュ領域内のデータ範囲を示す自動転送領域指定データが格納されている。
<制御回路CT_CHIPの構成>
制御回路CT_CHIPは、NORインターフェース(NOR IF)からの読み出しおよび書き込み要求を受け取るNORインターフェース回路NRIF、NANDインターフェース(NAND IF)からの読み出しおよび書き込み要求を受け取るNANDインターフェース回路NDIF、レジスタブロックREG、アドレス変換回路DSTR、キャッシュメモリL2Cache、PL2A,PL2B、プリフェッチ制御回路PREF、フラッシュ制御回路FLCT、バッファ回路BFBK、フラッシュエラー制御回路FLSPから構成される。
キャッシュメモリL2Cacheは、特に限定しないが、1Mバイト程度の容量をもつ。また、キャッシュメモリPL2AおよびPL2Bは、特に限定しないが、それぞれ512バイトの容量を持つ。
プリフェッチ制御回路PREFは、ヒット判定回路PL2Hit、L3Hit、先読み制御回路から構成される。バッファ回路BFBKは、リードバッファRBUF、書き込みバッファWBUFから構成される。
フラッシュ制御回路FLCTは、クロック制御回路OSC、メモリアドレス管理回路MMG、アクセス調停回路ARB、制御回路RWCLから構成される。
フラッシュエラー制御回路FLSPは、エラー検出訂正回路ECC、バッファ回路BUF、代替処理回路REP、書き込み回数平均化回路WLVから構成される。
以下に本メモリシステムの動作を説明する。先ず、電源投入直後の動作について説明する。
<電源投入直後の動作説明>
情報処理装置CPU_CHIP、ダイナミックランダムアクセスメモリDRAM_CHIP、制御回路CT_CHIPおよびフラッシュメモリFLASH_CHIPへ電源投入を行うと、フラッシュ制御回路FLCTは、FLASH_CHIPの初期プログラム領域のデータをバッファ回路BUFへ読み出し、エラー検出訂正回路ECCにて、エラーがあるかどうかをチェックする。エラーがなければ、初期プログラム領域内のブートプログラムをキャッシュメモリPL2Aへ転送し、エラーがあれば訂正を行い、初期プログラム領域内のブートプログラムをキャッシュメモリPL2Aへ転送する。このように、電源投入直後にブートプログラムをFLASH_CHIPからキャッシュメモリPL2Aへ自動転送することにより、情報処理装置CPU_CHIPはこのブートプログラムを読み出し、すばやく自らを立ち上げ、さらにダイナミックランダムアクセスメモリDRAM_CHIPの初期設定を行うことができる。
情報処理装置CPU_CHIPが立ち上げを行っている間にフラッシュ制御回路FLCTは自動転送領域指定データをバッファ回路BUFより読み出し、このデータに示されている範囲のフラッシュメモリFLASH_CHIP内のデータをバッファ回路BUFへ順に読み出し、エラー検出訂正回路ECCにてエラーがあるかどうかをチェックする。エラーがなければ、キャッシュメモリPL2Bを経由しキャッシュメモリL2Cacheへ転送し、エラーがあれば訂正を行い、キャッシュメモリPL2Bを経由し、キャッシュメモリL2Cacheへ転送する。この自動データ転送が終了した時点で、メモリモジュールMSMは、一連の初期動作が終了したことを示す初期動作完了信号PCMPをHighにする。
また、アクセス調停回路ARBは、レジスタブロックREGに対してデータ転送の完了を示す転送完了フラグを書き込む構成にしても良い。この場合、初期動作完了信号PCMPは必要ないため信号ピンを減らすことができる。
情報処理装置CPU_CHIPは、メモリモジュールMSMの初期動作完了信号PCMPをチェックすることによって電源投入直後のデータ転送が完了したことを知ることができるため、すぐにキャッシュメモリL2Cahceアクセスすることができる。
このように、電源投入直後にブートプログラムをFLASH_CHIPからキャッシュメモリL2Cacheへ自動転送することにより、情報処理装置CPU_CHIPは、このブートデータを読み出し、すばやく自らを立ち上げることができる。さらに、情報処理装置CPU_CHIPが立ち上げを行っている間に、FLASH_CHIPのデータをキャッシュメモリL2Cacheへ自動転送することにより、情報処理装置CPU_CHIPが立ちあがった時点で、すぐにメモリモジュールMSMへアクセスすることができるため高性能化が図れる。
<レジスタブロックの説明>
次に、レジスタブロックREGについて説明する。レジスタブロックREGには、特に限定しないが、読み出しモード設定レジスタRModeReg、キャッシュ領域設定レジスタCAreaReg、キャッシュロック領域設定レジスタCaLockReg、ライトプロテクト領域設定レジスタWproReg、書き込み回数平均化処理領域設定レジスタWlvlRegがある。
キャッシュ領域および非キャッシュ領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからキャッシュ領域設定レジスタCAreaRegの値を書き換えることで、キャッシュ領域および非キャッシュ領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域がキャッシュ領域となっている。
キャッシュ領域内データはキャッシュメモリL2Cache,PL2A,PL2Bへ転送され、非キャッシュ領域内データはキャッシュメモリL2Cache,PL2A,PL2Bへ転送されない。
キャッシュロック領域、非キャッシュロック領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからキャッシュ領域設定レジスタCAreaRegの値を書き換えることで、キャッシュロック領域、非キャッシュロック領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域が非キャッシュロック領域となっている。
キャッシュロック領域内のデータは、一旦キャッシュメモリL2Cacheへ転送されると、キャッシュロック解除命令によってキャッシュ領域設定レジスタが書き換えられるまで、キャッシュメモリL2Cacheに存在することができる。また、非キャッシュロック領域内データは、キャッシュメモリL2Cacheから追い出される可能性がある。
書き込み回数平均化処理領域、非書き込み回数平均化処理領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFから書き込み回数平均化処理領域設定レジスタWlvlRegの値を書き換えることで、書き込み回数平均化処理領域、非書き込み回数平均化処理領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの半分の領域が書き込み回数平均化処理領域となっている。
書き込み回数平均化処理領域内データには、書き込み回数平均化回路WLVが、書き換えが集中していたと判断した場合は、書き込み回数平均化処理が行われる。
非書き込み回数平均化処理領域内データには書き込み回数平均化処理が行われない。
ライトプロテクト領域、非ライトプロテクト領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからライトプロテクト領域設定レジスタWproRegの値を書き換えることで、ライトプロテクト領域、非ライトプロテクト領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域が非ライトプロテクト領域となっている。
ライトプロテクト領域には書き込みが行われず、非ライトプロテクト領域には、書込みが可能である。
メモリモジュールMSMが装備するNORインターフェースは、クロック信号CLKに同期して動作する同期型NORインターフェースと、クロック信号CLKには同期しない非同期型NORインターフェースであり、いずれかのNORインターフェースで動作する。特に限定しないが、メモリモジュールMSMは、電源投入直後には非同期NORインターフェースで動作する。
アドレス変換回路DSTRは、特に限定しないが、複数のアドレス変換方式(簡易インデックス変換方式、インデックスビットシフト変換方式、インデックス演算方式)を実現でき、いずれかのアドレス変換方式で動作する。特に限定しないが電源投入直後には、アドレス変換回路DSTRはインデックス演算方式にて動作する。
特に限定しないが、NORインターフェースNOR IFから読み出しモード設定レジスタRModeRegの値を書き換えることで、メモリモジュールMSMが装備するNORインターフェースやアドレス変換方式を変更することができる。
以上説明したように、同期型NORインターフェースや非同期型NORインターフェース、アドレス変換方式、キャッシュ領域および非キャッシュ領域、キャッシュロック領域および非キャッシュロック領域、書き込み回数平均化処理領域および非書き込み回数平均化処理領域、ライトプロテクト領域および非ライトプロテクト領域は、それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
<通常動作の説明>
電源投入時のパワーオンシーケンスが終了した後のフラッシュメモリFLASH_CHIPと情報処理装置CPU_CHIP間のデータ転送について説明する。
先ず、情報処理装置CPU_CHIPがNORインターフェースNOR IFより読み出し要求を入力した場合の動作について説明する。
情報処理装置CPU_CHIPがNORインターフェース(NOR IF)より読み出し命令およびアドレスRADDを制御回路CT_CHIPへ入力すると、制御回路CT_CHIP 内のNORインターフェース回路NRIFは、これらの読み出し命令およびアドレスを保持する。NORインターフェース回路NRIFへ保持された読み出し命令及びアドレスRADDはメモリアドレス管理回路MMG、アクセス調停回路ARBおよびアドレス変換回路DSTRへ入力される。
メモリアドレス管理回路MMGはレジスタブロックREGに保持されているキャッシュ領域を示すアドレス情報とアドレスRADDとを比較する。
アドレスRADDがキャッシュ領域の範囲外であれば、キャッシュ領域範囲外情報がメモリアドレス管理回路MMGからNORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ通達される。
アクセス調停回路は、NORインターフェース回路NRIFから入力された読み出し要求と、NANDインターフェース回路NDIFからの読み出しや書き込み要求との調停を行う。
まず、アクセス調停回路へNORインターフェース回路NRIFから読み出し要求が入力されると、アクセス調停回路は、NANDインターフェース回路NDIFからの読み出しや書き込み要求があるかないか、さらに、NANDインターフェース回路NDIFからの読み出しや書き込み要求に対する動作を行っているかどうかをチェックする。
NANDインターフェース回路NDIFからの読み出しや書き込み要求があり、この要求に対する動作がまだ行われていない場合は、NANDインターフェース回路NDIFからの読み出しや書き込み要求を後回しに、NORインターフェース回路NRIFから読み出し要求を優先的に許可する。
NANDインターフェース回路NDIFからの読み出しや書き込み要求に対する動作が実行中の場合は、この実行中の動作を一旦中断し、NORインターフェース回路NRIFから読み出し要求を優先的に許可する。
アクセス調停回路へNANDインターフェース回路NDIFから読み出し及び書き込み要求が入力されると、アクセス調停回路は、NORインターフェース回路NRIFからの読み出しや書き込み要求があるかないか、さらに、NORインターフェース回路NRIFからの読み出しや書き込み要求に対する動作を行っているかどうかをチェックする。
NORインターフェース回路NRIFからの読み出しや書き込み要求に対する動作が実行中の場合は、この動作が完了して後に、NANDインターフェース回路NDIFから読み出し及び書き込み要求を許可する。
NORインターフェース回路NRIFからの読み出しや書き込み要求がなく、この要求に対する動作が行われていない場合は、NANDインターフェース回路NDIFから読み出し及び書き込み要求を許可する。
アドレス変換回路は、キャッシュメモリL2Cache,PL2A,PL2Bの利用率やヒット率を高める目的で、アドレスRADDをアドレスMRADDへ変換する。
アドレス変換回路によって変換されたアドレスMRADDは、キャッシュメモリL2Cache及びプリフェッチ制御回路PREFへ入力される。
キャッシュメモリL2Cacheでは、先ず、アドレスMRADDで指定されたデータがキャッシュメモリL2Cache内に存在するかどうかのヒット判定を行う。アドレスMRADDで指定されたデータがキャッシュメモリL2Cache内に存在した場合はL2Cacheヒットとなり、存在しない場合はL2Cacheミスとなる。
プリフェッチ制御回路PREF内のヒット判定回路PL2Hitでは、アドレスMRADDで指定されたデータがキャッシュメモリPLA2およびPL2Bのいずれかに存在するかどうかのヒット判定を行う。
アドレスMRADDで指定されたデータがキャッシュメモリPL2A及びPL2Bのいずれかに存在した場合はPL2ヒットとなり、存在しない場合はPL2ミスとなる。
また、プリフェッチ制御回路PREF内のヒット判定回路L3Hitでは、アドレスMRADDで指定されたデータがフラッシュメモリFLASH_CHIP内のデータレジスタDREGに存在するかどうかのヒット判定を行う。
アドレスMRADDで指定されたデータがフラッシュメモリFLASH_CHIP内のデータレジスタDREGに存在した場合はL3ヒットとなり、存在しない場合はL3ミスとなる。
<L2Cacheヒットの動作説明>
L2Cacheヒットの場合は、直接キャッシュメモリL2Cacheよりデータが出力され、NORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
Wait信号がLowになると情報処理装置CPU_CHIPは、要求したデータが到着したことを知り、この要求データを取り込む。
つまりL2Cacheヒット場合は、フラッシュメモリFLASH_CHIPからキャッシュメモリL2Cacheへのデータ転送を行う必要がなく、直接キャッシュメモリL2Cacheからデータを読み出すことができ、データ転送を高速に行うことができる。
<PL2ヒットの動作説明>
L2Cacheミスで、PL2ヒットの場合は、直接キャッシュメモリPL2AおよびPL2Bのいずれかよりデータが出力され、NORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。この際の読み出し時間はL2Cacheからの読み出し時間と同等となる。
つまり、PL2ヒット場合は、フラッシュメモリFLASH_CHIPからキャッシュメモリPL2AおよびPL2Bへのデータ転送を行う必要がなく、直接キャッシュメモリPL2AあるいはPL2Bからデータを読み出すことができ、データ転送を高速に行うことができる。
このように、キャッシュメモリL2Cache、PL2AおよびPL2Bへヒットした場合は、キャッシュメモリL2Cache、PL2A,PL2Bから直接データを出力でき、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。
<L2Cacheミス、PL2ミス、L3ヒットの動作説明>
次に、L2Cacheミスで、PL2ミス且つL3ヒットの場合のデータ転送について説明する。
L2Cacheミスで、PL2ミス且つL3ヒットの場合は先ず、アクセス調停回路にてNORインターフェース回路NRIFからの読み出し要求が許可されると、制御回路RWCLが制御回路FCNTへ、Nページ目データの読み出し要求を入力し、データレジスタDREG内のNページ目データをバッファ回路BUFへ転送する。
データレジスタDREG内のNページ目データをバッファ回路BUFへ転送している時間を利用し、現在、キャッシュメモリPL2A及びPL2Bへ保持されているデータをキャッシュメモリL2Cacheへ転送し、キャッシュメモリL2Cacheを更新する。
バッファ回路BUFへ転送されたNページ目データはエラー検出訂正回路ECCにて、エラー検出を行われる。バッファ回路BUFへ転送されたNページ目データにエラーが無ければ、このNページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送され、エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される。キャッシュメモリPL2Aへ転送されたNページ目データの中の情報処理装置CPU_CHIPに要求されたデータはNORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
特に限定しないが、データが出力されるまではWait信号はHighとなり、情報処理装置CPU_CHIPはデータの到着を待つ。Wait信号がLowになると情報処理装置CPU_CHIPは、要求したデータが到着したことを知り、この要求データを取り込む。
さらに、先読み指示回路PRECTが制御回路RWCLへデータの先読みを指示し、制御回路RWCLが制御回路FCNTへ読み出し要求を入力し、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータをバッファ回路BUFへ転送する。
バッファ回路BUFへ転送されたN+1ページ目データはエラー検出訂正回路ECCにて、特に限定しないが512B毎にエラー検出を行う。バッファ回路BUFへ転送されたN+1ページ目データにエラーが無ければ、このN+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送され、エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った後、N+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Bへ転送される。フラッシュメモリFLASH_CHIPのデータレジスタDREGへヒットした場合は、メモリセルアレイMARYからデータレジスタDREGへのデータ転送を行う必要がなく、直接データレジスタDREGからデータを読み出すことができ、データを高速に転送することができる。
このように、フラッシュメモリFLASH_CHIPのデータレジスタDREGをキャッシュメモリとして利用することで、キャッシュメモリの容量を実効的に増やすことでヒット率を向上でき、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。
さらに、データの先読み機能により、情報処理装置CPU_CHIPが要求したデータの、次ページ目のデータを前もってキャッシュメモリPL2Bへ転送することにより、ヒット率を向上させることができデータ転送を高速化できる。
<L2Cacheミス、PL2ミス、L3ミスの動作説明>
L2Cacheミスで、PL2ミス且つL3ミスが生じた場合のデータ転送動作を説明する。
アクセス調停回路にてNORインターフェース回路NRIFからの読み出し要求が許可されると、まず、制御回路RWCLが制御回路FCNTへ、Nページ目データの読み出し要求を入力する。制御回路FCNTは、メモリセルアレイMARY内のNページ目データをデータレジスタDREGへ転送する。次にデータレジスタDREGNページ目データを制御回路RWCLへ出力する。制御回路RWCLは、このデータをバッファ回路BUFへ転送する。
データレジスタDREGからバッファ回路BUFへのデータ転送中に、現在、キャッシュメモリPL2A及びPL2Bへ保持されているデータをキャッシュメモリL2Cacheへ転送し、キャッシュメモリL2Cacheを更新する。
バッファ回路BUFへ転送されたNページ目データはエラー検出訂正回路ECCにて、特に限定しないが512B毎にエラー検出を行う。バッファ回路BUFへ転送されたNページ目データにエラーが無ければ、このNページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送され、エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される。キャッシュメモリPL2Aへ転送されたNページ目データの中の情報処理装置CPU_CHIPに要求されたデータはNORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
特に限定しないが、データが出力されるまでは、Wait信号はHighとなり、情報処理装置CPU_CHIPはデータの到着を待つ。
さらに、先読み指示回路PRECTが制御回路RWCLへデータの先読みを支持すると、制御回
路RWCLが制御回路FCNTへ読み出し要求を入力し、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータをバッファ回路BUFへ転送する。
バッファ回路BUFへ転送されたN+1ページ目データはエラー検出訂正回路ECCにて、特に限定しないが512B毎にエラー検出を行う。バッファ回路BUFへ転送されたN+1ページ目データにエラーが無ければ、このN+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送され、エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った後、N+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Bへ転送される。
また、データレジスタDREGへ転送されたデータはそのまま保持され、データレジスタDREGはキャッシュメモリとして利用される。
さらに、先読み機能により、情報処理装置CPU_CHIPが要求したデータがNページ目データの、次のN+1ページ目のデータをキャッシュメモリPL2Bへ転送することにより、ヒット率を向上させることができ高速にデータ転送を行うことができる。
このように、フラッシュメモリFLASH_CHIPのデータバッファDREGをキャッシュメモリとして扱い、このデータバッファDREGへヒットすることで、直接メモリセルアレイMARYからデータバッファDREGへのデータ転送を行う必要が無いため高速なデータ転送を実現できる。
さらに、データの先読み機能により、情報処理装置CPU_CHIPが要求したデータの、次ページ目のデータを前もってキャッシュメモリPL2Bへ転送することにより、ヒット率を向上させることができデータ転送を高速化できる。
また、キャッシュメモリPL2A及びPL2BからキャッシュメモリL2Cacheへのデータ更新は、L2CacheミスかつPL2ミス時に行われるデータレジスタDREGからバッファ回路BUFへのデータ転送と同時に行うため、キャッシュメモリL2Cacheへのデータ更新時間を隠蔽し、無駄のないデータ転送を実現できる。
<NANDインターフェースNAND IF1からの読み出し動作の説明>
次に、情報処理装置CPU_CHIPがNANDインターフェースNAND IF1より読み出し要求を入力した場合の動作について説明する。
アクセス調停回路ARB にてNANDインターフェース回路NDIFから読み出し要求が許可されると、まず、制御回路RWCLが制御回路FCNTへデータの読み出し要求を入力する。制御回路FCNTは、メモリセルアレイMARY内のデータをデータレジスタDREGへ転送する。次にデータレジスタDREGのデータを制御回路RWCLへ出力する。制御回路RWCLは、このデータをバッファ回路BUFへ転送する。
バッファ回路BUFへ転送されたデータはエラー検出訂正回路ECCにてエラー検出を行う。バッファ回路BUFへ転送されたデータにエラーが無ければ、制御回路RWCLによってリードバッファRBUFへ転送され、エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った後、制御回路RWCLによってリードバッファRBUFへ転送される。
リードバッファRBUFへ転送されたデータの中で、情報処理装置CPU_CHIPに要求されたデータはNANDインターフェース回路NDIFを通じてNANDインターフェースNAND IF1より情報処理装置CPU_CHIPへ出力される。
<NANDインターフェースNAND IF1からの書込み動作の説明>
次に、情報処理装置CPU_CHIPがNANDインターフェースNAND IF1より書き込み要求を入力した場合の動作について説明する。
NANDインターフェース回路NDIFへ書き込み要求、書き込みアドレスNWADDおよび書き込みデータNWDATAが入力されると、書き込みデータNWDATAはライトバッファWBUFへ転送され、書き込みアドレスNWADDはアドレス調停回路ARBへ転送される。
アドレス調停回路ARBは、書き込みアドレスNWADDをアドレス変換回路DSTRへ転送する。アドレス変換回路DSTRはアドレスNWADDへ演算を施し、アドレスMNWADDへ変換しキャッシュメモリL2Cacheヒット判定回路PL2Hitへ入力する。
この後、キャッシュメモリL2Cacheはおよびヒット判定回路PL2Hitは、アドレスMNWADDを利用しキャッシュメモリL2Cache,PL2A,PL2Bとのデータの一貫性を保つための処理を行う。具体的には、キャッシュメモリL2Cacheは、アドレスMNWADDのデータが存在するかどうかをチェックし、存在すれば、そのデータを無効にする。また、ヒット判定回路PL2Hitは、キャッシュメモリPL2AおよびPL2BにアドレスMNWADDのデータが存在するかどうかをチェックし、存在すれば、そのデータを無効にする。キャッシュメモリL2Cache,PL2A,PL2B内データの無効化が終了すると、ヒット判定回路L3HitによってデータバッファDREGのデータを無効にする。
すべてのキャッシュメモリの無効化が完了すると、アクセス調停回路ARBがNANDインターフェース回路NDIFからの書き込み要求を許可する。
アクセス調停回路ARB にてNANDインターフェース回路NDIFからの書き込み要求が許可されると、まず、制御回路RWCLが制御回路FCNTへデータの書き込み要求および書き込みデータWDataを入力する。制御回路FCNTは、書き込みデータWdataをデータレジスタDREGへ転送し、さらにデータレジスタDREGへ転送したデータをメモリセルアレイMARYへ書き込む。
代替処理回路REPは、メモリセルアレイMARYへの書き込みが成功したかどうかをチェックし、成功すれば処理を終了する。書き込みが失敗した時には、フラッシュメモリFLASH_CHIPにあらかじめ用意されている代替用の新たなアドレスに対して書き込みを行う。代替え処理を行った際は、不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったかというアドレス情報を保持し管理する。
また、メモリアドレス管理回路MMGは、書き込みアドレスNWADDが書き込み回数平均化処理領域内のアドレスかどうかをチェックする。
書き込みアドレスNWADDが書き込み回数平均化処理領域内のアドレスであった場合は、メモリセルアレイMARYへデータWDATAが書きこまれた後に、書き込み回数平均化回路WLVが管理している書き込み回数と消去回数の総和を一つ増やす。さらに、この書き込み回数と消去回数の総和が、書き込み回数平均化回路WLVが保持している書き込み回数と消去回数の総和閾値に到達した場合は、書き込み回数平均化回路WLVは、書き換えが集中していると判断し、特に限定しないが、64ページ単位のデータ毎に物理アドレスと論理アドレスの対応を変更し、この物理アドレスと論理アドレスの対応情報を保持する。このように書き込み回数平均化回路WLVによってメモリアレイの書き換え回数を平均化することができ、信頼性を向上させることができる。
<NANDインターフェースNAND IF1からの消去動作の説明>
次に、情報処理装置CPU_CHIPがNANDインターフェースNAND IF1より消去要求を入力した場合の動作について説明する。
NANDインターフェース回路NDIFへ消去要求、消去アドレスNEADDが入力されると、消去要求及び消去アドレスNEADDアドレスが調停回路ARBへ転送される。
アドレス調停回路ARBは、消去アドレスNEADDをアドレス変換回路DSTRへ転送する。アドレス変換回路DSTRはアドレスNEADDへ演算を施し、アドレスMNEADDへ変換し、キャッシュメモリL2Cacheヒット判定回路PL2Hitへ入力する。
この後、キャッシュメモリL2Cacheはおよびヒット判定回路PL2Hitは、アドレスMNEADDを利用しキャッシュメモリL2Cache,PL2A,PL2Bとのデータの一貫性を保つための処理を行う。具体的には、キャッシュメモリL2Cacheは、アドレスMNEADDのデータが存在するかどうかをチェックし、存在すれば、そのデータを無効にする。また、ヒット判定回路PL2Hitは、キャッシュメモリPL2AおよびPL2BにアドレスMNEADDのデータが存在するかどうかをチェックし、存在すれば、そのデータを無効にする。キャッシュメモリL2Cache,PL2A,PL2B内データの無効化が終了すると、ヒット判定回路L3HitによってデータバッファDREGのデータを無効にする。
すべてのキャッシュメモリの無効化が完了すると、アクセス調停回路ARBがNANDインターフェース回路NDIFからの消去要求を許可する。
アクセス調停回路ARB にてNANDインターフェース回路NDIFからの消去要求が許可されると、まず、制御回路RWCLが制御回路FCNTへデータの消去要求および消去アドレスMNEADDを入力する。制御回路FCNTは、消去要求および消去アドレスMNEADDに従ってメモリセルアレイMARYのデータを消去する。
また、メモリアドレス管理回路MMGは、消去アドレスNEADDが書き込み回数平均化処理領域内のアドレスかどうかをチェックする。
消去アドレスNEADDが書き込み回数平均化処理領域内のアドレスであった場合は、メモリセルアレイMARYのデータが消去された後に、書き込み回数平均化回路WLVが管理している書き込み回数と消去回数の総和を一つ増やす。さらに、この書き込み回数と消去回数の総和が、書き込み回数平均化回路WLVが保持している書き込み回数と消去回数の総和閾値に到達した場合は、書き込み回数平均化回路WLVは、書き換えが集中していると判断し、特に限定しないが64ページ単位のデータ毎に物理アドレスと論理アドレスの対応を変更し、この物理アドレスと論理アドレスの対応情報を保持する。このように書き込み回数平均化回路WLVによってメモリアレイの書き換え回数を平均化することができ、信頼性を向上させることができる。
なお、図1ではエラー検出訂正回路ECCと代替処理回路REP及び書き込み回数平均化回路WLVは、制御回路CT_CHIPに設けたが、もちろんフラッシュメモリFLASH_CHIPに設けて、フラッシュメモリFLASH_CHIP側でエラー検出、エラー訂正、アドレス代替処理および書き込み回数平均化処理を構成としても良い。
<NORインターフェースNOR IFからの書込み動作の説明>
次に、情報処理装置CPU_CHIPがNORインターフェースNOR IFより書き込み要求を入力した場合の動作について説明する。
特に限定しないが、NORインターフェース回路NRIFへ書き込み要求、書き込みアドレスNORWADDおよび書き込みデータNORWDATAが入力されると、書き込みデータNWDATAはフラッシュ制御回路FLCTを介してライトバッファWBUFへ転送され、書き込みアドレスNORWADDは、NANDインターフェース回路NDIFを介して 調停回路ARBへ転送される。この後メモリモジュールMSMは、NANDインターフェースNAND IF1へ書き込み要求が入力された場合と同じの動作を行う。
このように、NORインターフェースNOR IFからの書き込みアドレスNORWADDおよび書き込みデータNORWDATAを、NANDインターフェース回路NDIFへ引き渡すことで、NORインターフェースNOR IFからの書き込み動作を実現できる。
<NORインターフェースNOR IFからの消去動作の説明>
次に、情報処理装置CPU_CHIPがNORインターフェースNOR IFより消去要求を入力した場合の動作について説明する。
特に限定しないが、NORインターフェース回路NRIFへ消去要求、消去アドレスNOREADDが入力されると、消去アドレスNOREADDは、NANDインターフェース回路NDIFを介して 調停回路ARBへ転送される。
後のメモリモジュールMSMは、上述したNANDインターフェースNAND IF1へ消去要求が入力された場合と同じの動作を行う。
このように、NORインターフェースNOR IFからの消去アドレスNOREADDを、NANDインターフェース回路NDIFへ引き渡すことで、NORインターフェースNOR IFからの消去動作を実現できる。
クロック制御回路OSCは、特に限定しないが、電源投入直後のメモリモジュールMSMでのデータ転送、NORインターフェースNOR IFおよびNANDインターフェースからメモリモジュールMSMへのアクセスが発生した際のデータ転送開始にクロック動作を開始し、データ転送が終了した時点でロック動作を止める。
このように、クロック制御回路OSCは、データ転送に必要な場合のみ、動作し低電力化を図ることができる。
<実施例1の効果>
以上説明したように、NORインターフェースおよびNANDインターフェース方式を踏襲し、電源投入直後にフラッシュメモリFLASH_CHIP内のブートプログラムをキャッシュメモリL2Cacheへ自動転送することにより、情報処理装置CPU_CHIPはこのブートプログラムですばやく自らを立ち上げることができる。さらに、情報処理装置CPU_CHIPが立ち上げを行っている間に、フラッシュメモリFLASH_CHIPのデータをキャッシュメモリL2Cacheへ自動転送することにより、情報処理装置CPU_CHIPが立ちあがった時点で、すぐにメモリモジュールMSMへアクセスすることができるため高性能化が図れる。フラッシュメモリ内のアドレスマップを設定できる。また、同期型NORインターフェースや非同期型NORインターフェース、アドレス変換方式、キャッシュ領域および非キャッシュ領域、キャッシュロック領域および非キャッシュロック領域、書き込み回数平均化処理領域および非書き込み回数平均化処理領域、ライトプロテクト領域および非ライトプロテクト領域は、それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
<<キャッシュメモリ>>
情報処理装置CPU_CHIPはメモリモジュールMSMが内蔵しているキャッシュメモリLaCache、PL2A、PL2Bから直接データを出力することができるので、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。アドレス変換回路 および アドレス変換を選択できる。アドレス変換回路は、情報処理装置CPU_CHIPから入力した読み出しアドレスが、キャッシュメモリL2Cacheのインデックスアドレスへ分散されるように、アドレス変換を行うため、キャッシュメモリL2Cache、PL2A、PL2Bの利用率が向上し、ヒット率が向上し、データ転送を高速化できる。
<<先読み>>
さらに、データの先読み機能により、現在、情報処理装置CPU_CHIPが要求したデータの次ページ目のデータを前もってキャッシュメモリへ転送することで、キャッシュメモリへヒット率を上昇させ、転送を高速化できる。
<<L3キャッシュ>>
フラッシュメモリFLASH_CHIPのデータレジスタDREGをキャッシュメモリとして利用することで、キャッシュメモリの容量を実効的に増やすことでヒット率を向上でき、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。
<<キャッシュデータの更新>>
また、キャッシュメモリPL2A及びPL2BからキャッシュメモリL2Cacheへのデータ更新は、L2CacheミスかつPL2ミス時に行われるデータレジスタDREGからバッファ回路BUFへのデータ転送と同時に行うため、キャッシュメモリL2Cacheへのデータ更新時間を隠蔽でき、データ転送時間の無駄を省くことができる。
<<エラー検出訂正、アドレス代替処理>>
メモリモジュールMMの内部で、FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、かつ信頼性を保つことができる。
<<書き込み回数の平均化>>
書き込み回数平均化回路WLVによってメモリアレイの書き換え回数を平均化することができ、さらに信頼性を向上させることができる。
<<Wait信号>>
Wait信号によって、情報処理装置CPU_CHIPは要求データの到着を知ることができ、キャッシュメモリL2Cacheのヒット判定、ヒット判定回路PL2HitおよびL3Hit でのヒット判定結果によってデータの読み出し時間が異なる場合でも、確実に要求データを取り込むことができる。
また、本実施例では、メモリモジュールMSMには一つのフラッシュメモリが含まれているを例について説明しているが、メモリモジュールMSMに複数個のフラッシュメモリが含まれる場合であっても本発明を実現できるのは言うまでもない。
<メモリマップの説明>
図2は、レジスタブロックREG内の各レジスタ(モード設定レジスタRModeReg、キャッシュ領域設定レジスタCAreaReg、キャッシュロック領域設定レジスタCaLockReg、ライトプロテクト領域設定レジスタWproReg、書き込み回数平均化処理領域設定レジスタWlvlReg)に設定された値を基に、メモリアドレス管理回路MMGが管理するフラッシュメモリFLASH_CHIPに対するメモリマップの一例を示したものである。本実施の形態例では、特に限定されないが、フラッシュメモリFLASH_CHIPの記憶領域が1Gbit+32Mbit(32Mbitは代替領域)であるメモリモジュールを例に代表的なメモリマップを説明する。
特に制限はないが、フラッシュメモリFLASH_CHIPはメイン領域MAINと代替領域REPAREAに分かれている。また、メイン領域MAINは領域AREA-A、領域AREA-B、、領域AREA-C、、領域AREA-D、初期プログラム領域InitProgに分かれている。
領域AREA-Aは、非キャッシュ領域NONCAREA、且つ書き込み回数平均化処理領域WLV、且つ非ライトプロテクト領域NONWPROとして管理されている。
領域AREA-Bは、キャッシュ領域CAREA、且つキャッシュロック領域CALOCK、且つ書き込み回数平均化処理領域WLVL、且つ非ライトプロテクト領域NONWPROとして管理されている。
領域AREA-Cは、キャッシュ領域CAREA、且つ非キャッシュロック領域UNCALOCK、且つ非書き込み回数平均化処理領域NONWLV、且つ非ライトプロテクト領域NONWRPROとして管理されている。
領域AREA-Dは、キャッシュ領域CAREA、且つ非キャッシュロック領域UNCALOCK、且つ非書き込み回数平均化処理領域NONWLV、且つライトプロテクト領域WPROとして管理されている。
初期プログラム領域InitProgは、キャッシュ領域CAREA、且つ非キャッシュロック領域UNCALOCK、且つ非書き込み回数平均化処理領域NONWLV、且つライトプロテクト領域WPROとして管理されている。
初期プログラム領域InitProgには、特に限定しないが、ブートプログラムや、自動転送領域指定データが格納される。
領域AREA-Dには、特に限定しないが、オペレイティングシステムなどが格納される。
領域AREA-B及び領域AREA-Cには、特に限定しないが、アプリケーションプログラムが格納される。
領域AREA-Aには、特に限定しないが、音楽データ、音声データ、動画データ、静止画データなどのデータが格納される。
また、FLASHは書き換えを繰り返すことによって、信頼性が低下し、書き込み時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。代替領域REPAREAは、このように不良となったプログラムやデータを新たな領域へ置き換えるために設けられている。代替領域REPAREAの大きさは、特に限定しないが、フラッシュメモリFLASH_CHIPが保証する信頼性が確保できるように決めると良い。
キャッシュ領域CAREA、非キャッシュ領域NONCAREA、ライトプロテクト領域WRPRO、非ライトプロテクト領域NONWRPRO、書き込み回数平均化処理領域WLVLおよび非書き込み回数平均化処理領域NONWLVLは、キャッシュロック領域CALOCK、非キャッシュロック領域UNCALOCK、NORインターフェースNOR IFよりレジスタブロックREG内の各レジスタへプログラムすることで、独それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
<電源投入直後の動作>
電源投入時のフラッシュメモリFLASH_CHIPからキャッシュメモリL2Cache、PL2AおよびPL2Bへのデータ転送について説明する。
電源投入後、フラッシュ制御回路FLCTは、フラッシュメモリFLASH_CHIPの初期プログラム領域InitProg内のデータを回路BUFへ読み出し、エラー検出訂正回路ECCにて、エラーがあるかどうかをチェックする。エラーがなければ、初期プログラム領域内のブートプログラムをキャッシュメモリPL2Aへ転送し、エラーがあれば訂正を行い、初期プログラム領域内のブートプログラムをキャッシュメモリPL2Aへ転送する。次に制御回路FLCTは自動転送領域指定データをバッファ回路BUFより読み出し、このデータに示されている範囲のフラッシュメモリFLASH_CHIP内のデータをバッファ回路BUFへ順に読み出し、エラー検出訂正回路ECCにてエラーがあるかどうかをチェックする。エラーがなければ、キャッシュメモリPL2Bを経由しキャッシュメモリL2Cacheへ転送し、エラーがあれば訂正を行い、キャッシュメモリPL2Bを経由し、キャッシュメモリL2Cacheへ転送する。
このように、電源投入直後に、必要なデータを予めキャッシュメモリへ転送することによって、情報処理装置CPU_CHIPは自らが立ち上がった後、キャッシュメモリからこのブートプログラムを読み出し、すばやく自らを立ち上げ、さらにダイナミックランダムアクセスメモリDRAM_CHIPの初期設定を行うことができる。
<読み出し動作の説明>
キャッシュメモリ(L2Cache、PL2AおよびPL2B)には、キャッシュ領域CAREA内のデータが保持されており、キャッシュメモリ(L2Cache、PL2AおよびPL2B)へヒットした場合は、直接、キャッシュメモリ(L2Cache、PL2AおよびPL2B)よりデータが出力され、NORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
キャッシュメモリ(L2Cache、PL2AおよびPL2B)をミスした場合は、フラッシュメモリFLASH_CHIPからキャッシュメモリ(L2Cache、PL2AおよびPL2Bへデータが転送される。つぎに、フラッシュメモリFLASH_CHIPのデータをキャッシュメモリL2Cache、PL2A,PL2Bへ転送する動作を説明する。
NORインターフェースNOR IFからの読み出し要求が、L2Cacheミス且つPL2ミス且つL3ヒットの場合あるいは、L2Cacheミス且つPL2ミス且つL3ミスの場合に、フラッシュメモリFLASH_CHIPからキャッシュメモリL2Cache、PL2A,PL2Bへのデータ転送が生じる。
まず、NORインターフェースNOR IFからの読み出し要求が、L2Cacheミス且つPL2ミス且つL3ヒットとなった場合のデータ転送について説明する。
要求データはキャッシュ領域内のデータであれば、フラッシュメモリFLASH_CHIPのデータレジスタDREG内のNページ目データをバッファ回路BUFへ転送する。
データレジスタDREG内の1ページ分のデータをバッファ回路BUFへ転送している間に、現在、キャッシュメモリPL2A及びPL2Bへ保持されているデータをキャッシュメモリL2Cacheへ転送し、キャッシュメモリL2Cacheを更新する。
バッファ回路BUFへ転送されたNページ目のデータはエラー検出訂正回路ECCにて、よってエラーがあるかどうかをチェックされ、エラーがなければ、直接、キャッシュメモリPL2Aへ転送される。エラーがあれば、エラー訂正されたデータが、キャッシュメモリPL2Aへ転送される。
さらに、先読み機能によって、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータがバッファ回路BUFへ転送される。
バッファ回路BUFへ転送されたN+1ページ目のデータはエラー検出訂正回路ECCにて、よってエラーがあるかどうかをチェックされ、エラーがなければ、直接、キャッシュメモリPL2Bへ転送される。エラーがあれば、エラー訂正されたデータが、キャッシュメモリPL2Bへ転送される。
次に、NORインターフェースNOR IFからの読み出し要求が、L2Cacheミス且つPL2ミス且つL3ミスとなった場合のデータ転送について説明する。
読み出し要求のアドレスがキャッシュ領域内であれば、フラッシュメモリFLASH_CHIPのメモリセルアレイMARY内のNページ目データはデータレジスタDREGへ転送される。その後、データレジスタDREG内のNページ目データはバッファ回路BUFへ転送される。
データレジスタDREG内のデータをバッファ回路BUFへ転送している間に、現在、キャッシュメモリPL2A及びPL2Bへ保持されているデータをキャッシュメモリL2Cacheへ転送し、キャッシュメモリL2Cacheを更新する。
バッファ回路BUFへ転送されたNページ目のデータはエラー検出訂正回路ECCにて、よってエラーがあるかどうかをチェックされ、エラーがなければ、直接、キャッシュメモリPL2Aへ転送される。エラーがあれば、エラー訂正されたデータが、キャッシュメモリPL2Aへ転送される。
さらに、先読み機能によって、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータがバッファ回路BUFへ転送される。
バッファ回路BUFへ転送されたN+1ページ目のデータはエラー検出訂正回路ECCにて、よってエラーがあるかどうかをチェックされ、エラーがなければ、直接、キャッシュメモリPL2Bへ転送される。エラーがあれば、エラー訂正されたデータが、キャッシュメモリPL2Bへ転送される。
NORインターフェースNOR IFからの読み出し要求が、L2Cacheヒットとなった場合は、キャッシュメモリL2Cacheより直接データを読み出す。また、NORインターフェースNOR IFからの読み出し要求が、PL2ヒットとなった場合は、キャッシュメモリPL2あるいはPL2Bより、直接データを読み出す。
<効果の説明>
<<キャッシュメモリ>>
キャッシュ領域内のデータはキャッシュメモリ(L2Cache、PL2A、PL2B)へ転送され、情報処理装置CPU_CHIPから読み出し要求がキャッシュメモリ(L2Cache、PL2A、PL2B)へヒットした場合は、キャッシュメモリ(L2Cache、PL2A、PL2B)から直接データを出力することができるので、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。
<<先読み>>
データの先読み機能により、現在情報処理装置CPU_CHIPが要求したデータの次ページ目のデータを前もってキャッシュメモリへ転送することで、キャッシュメモリへヒット率を上昇させ、データ転送を高速化できる。
<<L3キャッシュ>>
フラッシュメモリFLASH_CHIPのデータレジスタDREGをキャッシュメモリとして利用することで、キャッシュメモリの容量を実効的に増やすことでヒット率を向上でき、情報処理装置CPU_CHIPとメモリモジュールMSM間のデータ転送を高速に行うことができる。
<<アドレス代替処理>>
フラッシュメモリFLASH_CHIPへのデータ書きこみ時は、書き込みが正しく行われなかった不良アドレスに対して代替処理領域REPAREAへ代替処理を行うことができ、信頼性を保つことができる。
<レジスタブロックの説明>
図3は、レジスタブロックREGを構成する複数のレジスタを示す一例である。
レジスタブロックREGは、特に限定しないが読み出しモード設定レジスタRModeReg、キャッシュ領域設定レジスタCAreaReg、キャッシュロック領域設定レジスタCaLockReg、ライトプロテクト領域設定レジスタWproReg、書き込み回数平均化処理領域設定レジスタWlvlRegから構成される。
キャッシュ領域および非キャッシュ領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからキャッシュ領域設定レジスタCAreaRegの値を書き換えることで、キャッシュ領域および非キャッシュ領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域がキャッシュ領域となっている。
キャッシュ領域内データはキャッシュメモリL2Cache,PL2A,PL2Bへ転送され、非キャッシュ領域内データはキャッシュメモリL2Cache,PL2A,PL2Bへ転送されない。
キャッシュロック領域、非キャッシュロック領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからキャッシュ領域設定レジスタCAreaRegの値を書き換えることで、キャッシュロック領域、非キャッシュロック領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域が非キャッシュロック領域となっている。
キャッシュロック領域内のデータは、一旦キャッシュメモリL2Cacheへ転送されると、キャッシュロック解除命令によってキャッシュ領域設定レジスタが書き換えられるまで、キャッシュメモリL2Cacheに存在することができる。また、非キャッシュロック領域内データは、キャッシュメモリL2Cacheから追い出される可能性がある。
書き込み回数平均化処理領域、非書き込み回数平均化処理領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFから書き込み回数平均化処理領域設定レジスタWlvlRegの値を書き換えることで、書き込み回数平均化処理領域、非書き込み回数平均化処理領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの半分の領域が書き込み回数平均化処理領域となっている。
書き込み回数平均化処理領域内データには、書き込み回数平均化回路WLVが、書き換えが集中していたと判断した場合は、書き込み回数平均化処理が行われる。
非書き込み回数平均化処理領域内データには書き込み回数平均化処理が行われない。
ライトプロテクト領域、非ライトプロテクト領域を変更する場合は、特に限定しないが、NORインターフェースNOR IFからライトプロテクト領域設定レジスタWproRegの値を書き換えることで、ライトプロテクト領域、非ライトプロテクト領域を変更することができる。特に限定しないが、電源投入直後には、フラッシュメモリFLASH_CHIPの全領域が非ライトプロテクト領域となっている。
ライトプロテクト領域には書き込みが行われず、非ライトプロテクト領域には、書き込みが可能である。
メモリモジュールMSMが装備するNORインターフェースは、クロック信号CLKに同期して動作する同期型NORインターフェースと、クロック信号CLKには同期しない非同期型NORインターフェースがあり、いずれかのNORインターフェースで動作する。特に限定しないが、メモリモジュールMSMは、電源投入直後には非同期NORインターフェースで動作する。また、メモリモジュールMSMが装備するNORインターフェースを変更する場合は特に限定しないが、NORインターフェースNOR IFから、読み出しモード設定レジスタRModeRegの値を書き換えることで、同期型NORインターフェースや非同期型NORインターフェースへ変更することができる。
アドレス変換回路DSTRでは、特に限定しないが、複数のアドレス変換方式(簡易インデックス変換方式、インデックスビットシフト変換方式、インデックス演算方式)を実現でき、いずれかのアドレス変換方式で動作する。特に限定しないが電源投入直後には、アドレス変換回路DSTRはインデックス演算方式にて動作する。
特に限定しないが、NORインターフェースNOR IFから読み出しモード設定レジスタRModeRegの値を書き換えることで、メモリモジュールMSMが装備するNORインターフェースやアドレス変換方式を変更することができる。
以上説明したように、同期型NORインターフェースや非同期型NORインターフェース、アドレス変換方式、キャッシュ領域および非キャッシュ領域、キャッシュロック領域および非キャッシュロック領域、書き込み回数平均化処理領域および非書き込み回数平均化処理領域、ライトプロテクト領域および非ライトプロテクト領域は、それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
<電源投入時の初期シーケンス>
図4は、メモリモジュールMSMの電源投入時の初期シーケンスを示す。
T1の期間(PWON)で制御回路CT_CHIP、フラッシュメモリFLASH_CHIPおよびダイナミックランダムアクセスメモリDRAM_CHIPへ電源投入を行い、T2の期間(RESET)でリセットを行う。リセットが解除された次のT3の期間(Initload)でFLASH_CHIPの初期プログラム領域InitProg内のデータは制御回路CT_CHIPへ転送される。T4の期間(AutoLoad)初期プログラム領域内の自動転送領域指定データに指定された範囲のデータが、フラッシュメモリFLASH_CHIPから制御回路CT_CHIPへ転送される。動転送領域指定データに指定された範囲のデータの転送が終了すると初期動作完了信号PCMPをHighにする。T5の期間(IDLE)以降、メモリモジュールMSMはアイドル状態となり、情報処理装置CPU_CHPからの要求を待つ状態となる。
<アドレス変換 ストレート>
図5から図7は、アドレス変換回路DSTRによって行われるNORインターフェースNOR IFからのアドレスとキャッシュメモリL2Cacheアドレスとのアドレス変換の一例を示している。
先ず、図5を説明する。図5(a)にはNORインターフェースNOR IFからのアドレスとキャッシュメモリL2Cacheアドレスとのアドレス変換方法の一例を示しており、図5(b)には、キャッシュメモリL2Cacheの構成の一例を示している。
キャッシュメモリL2Cacheの構成は、特に限定しないが、容量は1Mバイト、ラインサイズは512バイト、インデックスアドレスは0から511まであり、セットアソシアティブは4ウェイセットアソシアティブである。
NORインターフェースNOR IFからのアドレスNRADは0から31の32ビットあり、最大4Gバイトのアドレス空間に対応可能である。
本例では、フラッシュメモリFLASH_CHIPの容量が256Mバイトの場合について説明する。
アドレスNRADの0〜8ビット目のアドレスAdd0はキャッシュメモリL2Cacheのラインサイズに対応しており、9〜17ビット目のアドレスAdd1はキャッシュメモリL2CacheのインデックスアドレスIndex2に対応しており、18〜27ビット目のアドレスAdd2はキャッシュメモリL2CacheのタグアドレスTag2に対応している。
つぎに、アドレスAdd1の値が511で、アドレスADD2の値がAdd2-511である場合のキャッシュメモリL2Cacheの動作について説明する。
アドレスAdd1でキャッシュメモリL2CacheのインデックスアドレスIndex2が検索され、4ウェイセットアソシアティブなので、4種類のタグアドレスが選択される。
比較回路COMPはアドレスAdd2と選択されたタグアドレスを比較する。アドレスAdd2はAdd2-511でタグアドレスと一致、つまりヒットしたので、データアレイからデータData511が選択される。
最後に、アドレスAdd0が選択回路SELへ入力し、512バイトのデータData1の中の1バイトを出力する。
<アドレス変換 ビットシフト>
つぎに、図6を説明する。図6(a)にはNORインターフェースNOR IFからのアドレスとキャッシュメモリL2Cacheアドレスとのアドレス変換方法の一例を示しており、図6(b)には、キャッシュメモリL2Cacheの構成の一例を示している。
キャッシュメモリL2Cacheの構成は、特に限定しないが図5と同様である。
NORインターフェースNOR IFからのアドレスNRADは0から31の32ビットあり、最大4Gバイトのアドレス空間に対応可能である。
本例では、フラッシュメモリFLASH_CHIPの容量が256Mバイトの場合について説明する。
アドレスNRADの0〜8ビット目のアドレスAdd0はキャッシュメモリL2CacheのラインサイズLine2に対応している。
アドレスNRADの9〜11ビット目及び13〜18ビット目は、アドレスAdd3の0〜2ビット目及び3〜8ビット目に、それぞれ対応し、キャッシュメモリL2CacheのインデックスアドレスIndex2に対応している。
アドレスNRADの12ビット目及び19〜27ビット目は、アドレスAdd4の0ビット目及び1〜8ビット目に、それぞれ対応し、キャッシュメモリL2CacheのタグアドレスTag2に対応している。
つぎに、アドレスAdd3の値が1で、アドレスAdd4の値がAdd5-1である場合のキャッシュメモリL2Cacheの動作について説明する。
アドレスAdd3でキャッシュメモリL2CacheのインデックスアドレスIndx2 の1が検索され、4ウェイセットアソシアティブなので、4種類のタグアドレスが選択される。
比較回路COMPはアドレスAdd4と選択されたタグアドレスを比較する。アドレスAdd4はAdd5-1でタグアドレスと一致、つまりヒットしたので、データアレイからデータData0が選択される。
最後に、アドレスAdd0が選択回路SELへ入力し、512バイトのデータData0の中の1バイトを出力する。
<アドレス変換 拡散>
次に、図7を説明する。図7(a)にはNORインターフェースNOR IFからのアドレスとキャッシュメモリL2Cacheアドレスとのアドレス変換方法の一例を示しており、図7(b)には、キャッシュメモリL2Cacheの構成の一例を示している。
キャッシュメモリL2Cacheの構成は、特に限定しないが、図4と同様である。
NORインターフェースNOR IFからのアドレスNRADは0から31の32ビットあり、最大4Gバイトのアドレス空間に対応可能である。
本例では、フラッシュメモリFLASH_CHIPの容量が256Mバイトの場合について説明する。
アドレスNRADの0〜8ビット目のアドレスAdd0はキャッシュメモリL2CacheのラインサイズLine2に対応している。アドレスNRADの9〜17ビット目のアドレスAdd1と、18〜26ビット目のアドレスAdd5は、アドレス変換回路DSTRによってアドレスAdd6へ変換される。アドレスAdd6はキャッシュメモリL2CacheのインデックスアドレスIndex2に対応している。
アドレスNRADの18〜27ビット目のアドレスAdd2はキャッシュメモリL2CacheのタグアドレスTag2に対応している。
アドレスAdd1とアドレスAdd5のビット幅は、キャッシュメモリのインデックスアドレスと等しく、アドレス変換回路DSTRでは、アドレスAdd1[8:0]とアドレスAdd5[8:0]との和をもとめ、さらに、その和の8ビット目から0ビット目をアドレスAdd6[8:0]へ変換し、インデックスアドレスIndex2へ割り当てる。
キャッシュメモリの記憶容量や構成によってラインサイズ、インデックスアドレス、タグアドレスは変わるので、一般化して説明する。
キャッシュメモリL2Cacheの記憶容量が、2Nバイトで、のラインサイズLine2がLビット、インデックスアドレスIndex2のサイズがIビット、タグアドレスTag2のサイズが(N-I-L)ビットである場合、アドレスNRADは、下位ビットから、Add0[L-1:0]、Add1[I-1:0]、Add2[N-L-I-1:0]に分かれる。
アドレスAdd0[L-1:0]は、キャッシュメモリL2CacheのラインサイズLine2[L-1:0]に対応し、アドレスAdd2[N-L-I-1:0]はキャッシュメモリL2CacheのタグアドレスTag2[N-I-1:0]に対応する。また、Add1[I-1:0]は、インデックスアドレスIndex2と同じサイズとなる。
タグアドレスTag2サイズがインデックスアドレスIndex2のサイズ以上であれば、アドレスAdd2[N-L-I-1:0]の下位ビットから、インデックスアドレスIndex2と同じサイズにアドレスAdd5[I-1:0]が割り当てられる。
タグアドレスTag2サイズがインデックスアドレスIndex2のサイズより小さければ、アドレスAdd2[N-L-I-1:0]はAdd5[N-L-I-1:0]となる。
タグアドレスTag2サイズがインデックスアドレスIndex2のサイズ以上であれば、
アドレス変換回路DSTRでは、アドレスAdd1[I-1:0]とアドレスAdd5[I-1:0]の和を求め、さらに、その和の(I-1)ビット目から0ビット目をアドレスAdd6[I-1:0]へ変換し、インデックスアドレスIndex2[I-1:0]へ割り当てる。
タグアドレスTag2サイズがインデックスアドレスIndex2のサイズより小さければ、アドレス変換回路DSTRでは、アドレスAdd1[I-1:0]とアドレスAdd5[N-L-I-1:0]の和を求め、さらに、その和の(I-1)ビット目から0ビット目をアドレスAdd6[I-1:0]へ変換し、インデックスアドレスIndex2[I-1:0]へ割り当てる。
図8はアドレスAdd6の値が0で、アドレスADD2の値がAdd2-0である場合のキャッシュメモリL2Cacheの動作について説明する。
アドレスAdd6でキャッシュメモリL2CacheのインデックスアドレスIndx2が検索され、4ウェイセットアソシアティブなので、4種類のタグアドレスが選択される。
比較回路COMPはアドレスAdd2と選択されたタグアドレスを比較する。アドレスAdd2はAdd2-0でタグアドレスと一致、つまりヒットしたので、データアレイからデータData0が選択される。最後に、アドレスAdd0が選択回路SELへ入力し、512バイトのデータData0の中の1バイトを出力する。
<アドレス変換 効果>
図9および図10は、図5および図7で説明したアドレス変換を行った際に、キャッシュメモリL2Cacheの更新が発生することを示す一例である。
情報処理装置CPU_CHIPでアプリケーションを実行している最中に、情報処理装置CPU_CHIPからメモリモジュールMSMへ入力する読み出し要求には特徴があること見出した。
1つ目の特徴は、アドレスAdd1は分散して生じ、アドレスAdd2は、その中で、特定のアドレス範囲を繰り返すような読み出し要求が連続することである。
2つ目の特徴は、アドレスAdd2は分散して生じ、アドレスAdd1は、その中で特定のアドレス範囲を繰り返すような読み出し要求が連続することである。
図9(a)は、上記、1つ目の特徴を持つ読み出し要求がメモリモジュールへ入力した際に、図7で示したインデックス演算方式によるアドレス変換によって生じるキャッシュメモリL2Cacheのデータ更新replaceを示している。
図9(b)は、上記、1つ目の特徴を持つ読み出し要求がメモリモジュールへ入力した際に、図5で示した簡易インデックス変換方式によるアドレス変換によって生じるキャッシュメモリL2Cacheのデータ更新replaceを示している。
図10(a)は、上記、2つ目の特徴を持つ読み出し要求がメモリモジュールへ入力した際に、図7で示したインデックス演算方式によるアドレス変換によって生じるキャッシュメモリL2Cacheのデータ更新replaceを示している。
図10(b)は、上記、2つ目の特徴を持つ読み出し要求がメモリモジュールへ入力した際に、図5で示した簡易インデックス変換方式によるアドレス変換によって生じるキャッシュメモリL2Cacheのデータ更新replaceを示している。
図9(b)に示すように、図5で説明した簡易インデックス変換方式によるアドレス変換方法ではアドレスAdd1をキャッシュメモリL2CacheのインデックスアドレスIndex2へ、アドレスAdd2をタグアドレスTag2へ対応させている。そのため、1つ目の特徴を持つ読み出し要求がメモリモジュールへ入力した際は、インデックスアドレスIndexは分散されるた
め、インデックスアドレスIndexが分散されるためキャッシュメモリL2Cacheのリプレースreplaceは生じない。
図9(a)に示すように、図7のインデックス演算方式によるアドレス変換方法では、アドレスAdd1とアドレスAdd2を演算し、分散するようにアドレスAdd10を生成させ、このアドレスAdd10をキャッシュメモリL2CacheのインデックスアドレスIndex2へ対応させている。このため、1つ目の特徴を持つ読み出し要求がL2キャッシュへ入力した場合、インデックスアドレスIndexが分散されるためキャッシュメモリL2Cacheのリプレースreplaceは生じない。つまり、図7で説明したインデックス演算方式によるアドレス変換方法によってキャッシュメモリL2cacheを有効的に利用できヒット率が向上する。
図10(b)に示すように、図5で説明した簡易インデックス変換方式によるアドレス変換方法ではアドレスAdd1をキャッシュメモリL2CacheのインデックスアドレスIndex2へ、アドレスAdd2をタグアドレスTag2へ対応させている。そのため、2つ目の特徴を持つ読み出し要求がL2キャッシュへ入力した場合は、特定のインデックスアドレスIndexへの検索が頻繁に発生し、尚且つ、タグアドレスTag2が分散しているためミスが発生しキャッシュメモリL2Cacheのリプレースreplaceが頻繁に生じてしまう。つまり、キャッシュメモリL2Cacheの一部分しか利用できずに、キャッシュメモリL2Cacheのリプレースreplaceが頻繁に生じてしまう。
図10(a)に示すように、図7のインデックス演算方式によるアドレス変換方法では、アドレスAdd1とアドレスAdd2を演算し、分散するようにアドレスAdd10を生成させ、このアドレスAdd10をキャッシュメモリL2CacheのインデックスアドレスIndex2へ対応させている。このため、2つ目の特徴を持つ読み出し要求がL2キャッシュへ入力した場合においても、インデックスアドレスIndexが分散されるためキャッシュメモリL2Cacheのリプレースreplaceは生じない。つまり、図7で説明したインデックス演算方式によるアドレス変換方法によってキャッシュメモリL2cacheを有効的に利用できヒット率が上がる。
このように、図5の簡易インデックス変換方式によるアドレス変換方法では1つ目の特徴を持つ読み出し要求に対してはインデックスを分散させることができるが、2つ目の特徴を持つ読み出し要求に対してはインデックスを分散させることができず、キャッシュメモリL2Cacheのリプレースreplaceが頻繁に生じてしまう。
図7で示したインデックス演算方式では、上記、1つ目の特徴を持つ読み出し要求および2つ目の特徴を持つ読み出し要求の双方に対応し、インデックスを分散させることができ、キャッシュメモリL2cacheを有効的に利用できヒット率を向上させることができる。
また、図5で示した簡易インデックス変換方式、図6で示したインデックスビットシフト変換方式および、図7で示したインデックス演算方式は、NORインターフェースNOR IFから読み出しモード設定レジスタRModeRegの値を書き換えることで、選択できる。このように、アドレス変換方式は、システムにあわせて利用者側で自由に選択できる。
<レジスタへの設定>
図11(a),(b)及び(c)は、同期型NORインターフェースおよび非同期型NORインターフェースの選択、バースト長の選択、アドレス変換回路DSTRで行うアドレス変換方法の選択を行うための一例を示すフローチャートである。
同期型NORインターフェースおよび非同期型NORインターフェースの選択、バースト長の選択、アドレス変換回路DSTRで行うアドレス変換方法の選択は、読み出しモード設定レジスタRmodeRegへ設定値を書き込むことで、同時に選択できる。
同期型NORインターフェースおよび非同期型NORインターフェースのいずれかの選択、バースト長の選択、アドレス変換回路DSTRで行うアドレス変換方法の選択を行う場合、特に限定しないが、NORインターフェースNOR IFから、読み出しモード設定レジスタRModeRegの値を設定する命令RModeSetを入力し(Step1)、次に読み出しモード設定レジスタRmodeRegへ設定値を書き込む(Step2)。
図11(a)は、NORインターフェースを同期型NORインターフェースへ、バースト長を4へ、アドレス変換方法をインデックス演算方式へ、選択する一例である。
図11(b)は、NORインターフェースを同期型NORインターフェースへ、バースト長を8へ、アドレス変換方法をインデックスビットシフト変換方式へ、選択する一例である。
図11(b)は、NORインターフェースを非同期型NORインターフェースへ、バースト長を4へ、アドレス変換方法を簡易インデックス変換方式へ、選択する一例である。
図11(d)は、読み出しモード設定レジスタRmodeReg内の設定値を読み出すための一例を示すフローチャートである。
読み出しモード設定レジスタRmodeReg内の設定値を読み出すためには、特に限定しないが、NORインターフェースNOR IFから、読み出しモード設定レジスタリード命令RmodeReadを入力すると(Step1)、NORインターフェースNOR IFを通じて、読み出しモード設定レジスタRmodeReg内の設定値がへ出力される(Step2)。
図12(a)はキャシュ領域および非キャッシュ領域の範囲を設定するための一例を示すフローチャートである。
キャシュ領域および非キャッシュ領域の設定を行う場合、特に限定しないが、NORインターフェースNOR IFから、キャッシュ領域を設定するための命令CAreaSetを入力し(Step1)、次にキャッシュ領域設定レジスタCAreaRegへ、キャシュ領域の開始アドレス値を書き込む(Step2)、次にキャッシュ領域設定レジスタCAreaRegへ、キャシュ領域の終了アドレス値を書き込む(Step3)。キャシュ領域の開始アドレス値と終了アドレス値の間がキャッシュ領域となり、それ以外は非キャッシュ領域となる。
図12(c)はキャッシュ領域設定レジスタCAreaReg内の設定値を読み出すための一例を示すフローチャートである。
キャッシュ領域設定レジスタCAreaReg内の設定値を読み出すためには、特に限定しないが、NORインターフェースNOR IFから、キャッシュ領域設定レジスタCAreaRegリード命令CAreaReadを入力すると(Step1)、NORインターフェースNOR IFを通じて、キャッシュ領域設定レジスタCAreaReg内の設定値がへ出力される(Step2)。
図12(b)はキャシュロック領域および非キャッシュロック領域の範囲を設定するための一例を示すフローチャートである。
キャシュロック領域および非キャッシュロック領域の設定を行う場合、特に限定しないが、NORインターフェースNOR IFから、キャッシュロック領域設定を設定するための命令CaLOckSetを入力し(Step1)、次にキャッシュロック領域設定レジスタCaLockRegへ、キャシュロック領域の開始アドレス値を書き込む(Step2)、次にキャッシュロック領域設定レジスタCaLockRegへ、キャシュロック領域の終了アドレス値を書き込む(Step3)。キャシュロック領域の開始アドレス値と終了アドレス値の間がキャッシュロック領域となり、それ以外は非キャッシュロック領域となる。また、キャッシュロック領域は、キャッシュ領域内に設定すると良い。
図12(d)はキャッシュロック領域設定レジスタCaLockReg内の設定値を読み出すための一例を示すフローチャートである。
キャッシュロック領域設定レジスタCaLockReg内の設定値を読み出すためには、特に限定しないが、NORインターフェースNOR IFから、キャッシュロック領域設定レジスタCaLockRegリード命令CaLockReadを入力すると(Step1)、NORインターフェースNOR IFを通じて、キャッシュロック領域設定レジスタCaLockReg内の設定値がへ出力される(Step2)。
図13(a)は書き込み回数平均化処理領域および非書き込み回数平均化処理領域を設定するための一例を示すフローチャートである。
書き込み回数平均化処理領域および非書き込み回数平均化処理領域の設定を行う場合、特に限定しないが、NORインターフェースNOR IFから、書き込み回数平均化処理領域を設定するための命令WlvlSetを入力し(Step1)、次に書き込み回数平均化処理領域設定レジスタWlvlRegへ、書き込み回数平均化処理領域の開始アドレス値を書き込む(Step2)、次に書き込み回数平均化処理領域設定レジスタWlvlRegへ、書き込み回数平均化処理領域の終了アドレス値を書き込む(Step3)。書き込み回数平均化処理領域の開始アドレス値と終了アドレス値の間が書き込み回数平均化処理領域となり、それ以外は非書き込み回数平均化処理領域となる。
図13(c)は書き込み回数平均化処理領域設定レジスタWlvlReg内の設定値を読み出すための一例を示すフローチャートである。
書き込み回数平均化処理領域設定レジスタWlvlReg内の設定値を読み出すためには、特に限定しないが、NORインターフェースNOR IFから、書き込み回数平均化処理領域設定レジスタWlvlRegリード命令WlvlReadを入力すると(Step1)、NORインターフェースNOR IFを通じて、書き込み回数平均化処理領域設定レジスタWlvlReg内の設定値がへ出力される(Step2)。
図13(b)はライトプロテクト領域および非ライトプロテクト領域を設定するための一例を示すフローチャートである。
ライトプロテクト領域および非ライトプロテクト領域の設定を行う場合、特に限定しないが、NORインターフェースNOR IFから、ライトプロテクト領域を設定するための命令WproSetを入力し(Step1)、次にライトプロテクト領域設定レジスタWproRegへ、ライトプロテクト領域の開始アドレス値を書き込む(Step2)、次にライトプロテクト領域設定レジスタWproRegへ、ライトプロテクト領域の終了アドレス値を書き込む(Step3)。ライトプロテクト領域の開始アドレス値と終了アドレス値の間が書き込み回数平均化処理領域となり、それ以外は非ライトプロテクト領域となる。
図13(d)はライトプロテクト領域設定レジスタWproReg内の設定値を読み出すための一例を示すフローチャートである。
ライトプロテクト領域設定レジスタWproReg内の設定値を読み出すためには、特に限定しないが、NORインターフェースNOR IFから、ライトプロテクト領域設定レジスタリード命令WproReadを入力すると(Step1)、NORインターフェースNOR IFを通じて、ライトプロテクト領域設定レジスタWproReg内の設定値がへ出力される(Step2)。
以上説明したように同期型NORインターフェースや非同期型NORインターフェース、キャッシュ領域および非キャッシュ領域、キャッシュロック領域および非キャッシュロック領域、書き込み回数平均化処理領域および非書き込み回数平均化処理領域、ライトプロテクト領域および非ライトプロテクト領域は、それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
<読み出しフロー>
図14は、NORインターフェースNOR IFより、読み出し要求が入力した場合の、メモリモジュールMSMの読み出し動作の一例を示すフローチャートである。
NORインターフェースNOR IFより、メモリモジュールMSMへ読み出し要求と読み出しアドレスRAddが入力すると(Step1)、NANDインターフェースNAND IF1からの書き込みあるいは消去要求が発生し、書き込みあるいは消去アドレスWorEAdが読み出しアドレスRaddと一致しているかをチェックし(Step2)、書込みあるいは消去アドレスWorEAddが読み出しアドレスRaddと一致していれば、メモリモジュールMSMはエラーをNORインターフェースNOR IFを通じて出力する(Step3)。
書込みあるいは消去アドレスWorEAddが読み出しアドレスRaddと一致していなければ、メモリアドレス管理回路MMGがアドレスRaddがキャッシュアドレス範囲内であるかをチェックし(Step4)、アドレスRaddがキャッシュアドレス範囲外であれば、メモリモジュールMSMはエラーをNORインターフェースNOR IFを通じて出力する(Step3)。
アドレスRaddがキャッシュアドレス範囲内であれば、アクセス調停回路ARBは、NANDインターフェース回路NDIFからの読み出しや書き込み要求があるかないか、さらに、NANDインターフェース回路NDIFからの読み出しや書き込み要求に対する動作を行っているかどうかをチェックする。 NANDインターフェース回路NDIFからの読み出しや書き込み要求があり、この要求に対する動作がまだ行われていない場合は、一旦NANDインターフェース回路NDIFからの読み出しや書き込み要求を後回しに、NORインターフェースNOR IFからの読み出し要求を優先的に許可する(Step4)。また、NANDインターフェース回路NDIFからの読み出しや書き込み要求に対する動作が実行中の場合は、この実行中の動作を一旦中断し、NORインターフェースNOR IFからの読み出し要求を優先的に許可する(Step5)。
次に、アドレス変換回路DSTRがアドレスRaddをアドレスMRaddへ変換する(Step6)。次にアドレスMraddが、キャッシュメモリL2Cacheと、ヒット判定回路PL2HitおよびL3Hitへ入力され、キャッシュメモリL2Cacheにてヒット判定(Step7)、ヒット判定回路PL2Hitでのヒット判定(Step8)、ヒット判定回路L3Hitでのヒット判定(Step9)が行われる。キャッシュメモリL2Cacheがヒットした場合、キャッシュメモリL2Cacheからデータが出力され(Step10)、NORインターフェースNOR IFを通じて読み出される(Step11)。キャッシュメモリL2Cacheがミスし、ヒット判定回路PL2Hitがヒットした場合は、キャッシュメモリPL2AおよびPL2Bのいずれかよりデータが出力され(Step12)、NORインターフェースNOR IFを通じて読み出される(Step11)。
キャッシュメモリL2Cacheがミスし、ヒット判定回路PL2Hitがミスし、ヒット判定回路L3Hitがヒットした場合、フラッシュメモリFLASH_CHIP内のデータレジスタDREG内のNページ目データはバッファ回路BUFへ転送される(Step13)。
次に、Nページ目データはバッファ回路BUFへ転送されながらエラー検出訂正回路ECCにて、エラー検出が行われる(Step14)。次に、エラー検出訂正回路ECCエラーがあったかどうかをチェックし(Step15)、エラーが無ければ、バッファ回路BUFへ転送されたNページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される。エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った(Step16)後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される(Step17)。
キャッシュメモリPL2Aへ転送されたNページ目データの中の情報処理装置CPU_CHIPに要求されたデータはNORインターフェース回路NRIFを通じてNORインターフェースNOR IFから読み出される。
さらに、先読み指示回路PRECTが制御回路RWCLへデータの先読みを支持し、制御回路RWCLが制御回路FCNTへ読み出し要求を入力し、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータをバッファ回路BUFへ転送する。
次に、N+1ページ目データはバッファ回路BUFへ転送されながらエラー検出訂正回路ECCにて、エラー検出が行われる(Step19)。次に、エラー検出訂正回路ECCエラーがあったかどうかをチェックし(Step20)、エラーが無ければ、バッファ回路BUFへ転送されたN+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Bへ転送される。エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った(Step12)後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される(Step22)。
キャッシュメモリL2Cacheがミスし、ヒット判定回路PL2Hitがミスし、ヒット判定回路L3Hitがミスした場合、まず、制御回路RWCLが制御回路FCNTへ、Nページ目データの読み出し要求を入力する。制御回路FCNTは、メモリセルアレイMARY内のNページ目データをデータレジスタDREGへ転送する(Step23)。次に、データレジスタDREG内のNページ目データはバッファ回路BUFへ転送される(Step13)。
次に、Nページ目データはバッファ回路BUFへ転送されながらエラー検出訂正回路ECCにて、エラー検出が行われる(Step14)。次に、エラー検出訂正回路ECCエラーがあったかどうかをチェックし(Step15)、エラーが無ければ、バッファ回路BUFへ転送されたNページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される。エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った(Step16)後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される(Step17)。
キャッシュメモリPL2Aへ転送されたNページ目データの中の情報処理装置CPU_CHIPに要求されたデータはNORインターフェース回路NRIFを通じてNORインターフェースNOR IFから読み出される。
さらに、先読み指示回路PRECTが制御回路RWCLへデータの先読みを支持し、制御回路RWCLが制御回路FCNTへ読み出し要求を入力し、データレジスタDREG内の次ページ目のデータ、つまりN+1目のデータをバッファ回路BUFへ転送する。
次に、N+1ページ目データはバッファ回路BUFへ転送されながらエラー検出訂正回路ECCにて、エラー検出が行われる(Step19)。次に、エラー検出訂正回路ECCエラーがあったかどうかをチェックし(Step20)、エラーが無ければ、バッファ回路BUFへ転送されたN+1ページ目データは制御回路RWCLによってキャッシュメモリPL2Bへ転送される。エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った(Step12)後、Nページ目データは制御回路RWCLによってキャッシュメモリPL2Aへ転送される(Step22)。
<書き込み動作>
図15は、NANDインターフェースNAND IF1より書き込み要求が発生し、NORインターフェースより読み出し要求が発生した場合の、メモリモジュールMSMのアクセス調停および書き込み動作の一例を示すフローチャートである。
NANDインターフェースNAND IF1より書き込みアドレスNWADDおよび書き込みデータNWDATAが入力される(Step1)と、書き込みアドレスNWADDはメモリアドレス管理回路MMGへ転送され、書き込みデータNWDATAはライトバッファWBUFへ転送される(Step2)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step3)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの書き込み要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step4)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの書き込み要求による動作に戻り、書き込みアドレスNWADDがキャッシュアドレス領域内に存在するかをチェックし(Step5)、アドレス変換回路DSTRにてアドレスNWADDをアドレスMNWADDへ変換する(Step6)。
アドレスMNWADDとキャッシュメモリL2Cacheのタグアドレスを比較し(Step7)、一致したタグアドレスを無効にする(Step8)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step9)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの書き込み要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step10)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの書き込み要求による動作に戻り、ライトバッファWBUFへ保持されている書き込みデータNWDATAをデータレジスタDREGへデータを転送する(Step11)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step12)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの書き込み要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step13)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの書き込み要求による動作に戻り、データレジスタDREGへ保持されている書き込みデータNWDATAをメモリセルアレイMARYへ書き込む(Step14)。
代替処理回路REPは、メモリセルアレイMARYへの書き込みが成功したかどうかをチェックし(Step15)、書き込みが失敗した時には、フラッシュメモリFLASH_CHIPにあらかじめ用意されている代替用の新たなアドレスを準備し(Step16)、このアドレスに対して書き込みを行う(Step14)。書き込みが成功した後、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step17)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの書き込み要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step18)。この読み出し動作が完了したら、最後に、書き込みアドレスNWADDをクリアする。
<NAND IF1より消去動作>
図16は、NANDインターフェースNAND IF1より消去要求が発生し、NORインターフェースより読み出し要求が発生した場合の、メモリモジュールMSMのアクセス調停および消去動作の一例を示すフローチャートである。
NANDインターフェースNAND IF1よ消去命令と消去アドレスNEADDが入力され,消去アドレスNEADDはメモリアドレス管理回路MMGへ転送される(Step1)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step2)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの消去要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step3)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの消去要求による動作に戻り、消去アドレスNWADDがキャッシュアドレス領域内に存在するかをチェックし(Step4)、アドレス変換回路DSTRにてアドレスNEADDをアドレスMNEADDへ変換する(Step5)。
アドレスMNEADDとキャッシュメモリL2Cacheのタグアドレスを比較し(Step6)、一致したタグアドレスを無効にする(Step7)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step8)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの消去要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step9)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの消去要求による動作に戻り、メモリセルアレイMARYを消去する(Step11)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step11)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの書き込み要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step12)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの消去要求による動作に戻り、アドレスNEADDが書き込み回数平均化領域内に存在しているかをチェックする(Step13)。アドレスNEADDが書き込み回数平均化領域内に存在している場合は、書き込み回数と消去回数の総和が、書き込み回数平均化回路WLVが保持している書き込み回数と消去回数の総和閾値に到達しているかをチェックし(Step14)、その総和閾値に到達すると書き込み回数平均化回路WLVは、書き換えが集中していると判断し、書き込み回数平均化処理を行う(Step15)。この書き込み回数平均化処理はブロック(64ページ)ごとに物理アドレスと論理アドレスの対応を変更し、この物理アドレスと論理アドレスの対応情報を保持することである。
アドレスNEADDが書き込み回数平均化領域内に存在しない場合もしくは、書き込み回数平均化処理が終了した後、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step16)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの消去要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step17)。この読み出し動作が完了したら、最後に、消去アドレスNEADDをクリアする(Step18)。
<NAND IF1よりリード命令>
図17は、NANDインターフェースNAND IF1より読み出し要求が発生し、さらにNORインターフェースより読み出し要求が発生した場合の、メモリモジュールMSMのアクセス調停および読み出し動作の一例を示すフローチャートである。
NANDインターフェースNAND IF1より読み出し命令と読み出しアドレスNRADDが入力されると(Step1)、次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step2)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの読み出し要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step3)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの読み出し要求による動作に戻り、メモリセルアレイMARYからデータ読み出しデータバッファDREG転送する(Step4)。
次に、アクセス調停回路ARB はNORインターフェースNOR IFから読み出し要求が入力したかをチェックし(Step5)、読み出し要求が入力した場合は、NANDインターフェースNAND IF1からの読み出し要求による動作を一時停止し、優先的に図20で示した読み出し動作を行う(Step6)。この読み出し動作が完了したら、NANDインターフェースNAND IF1からの読み出し要求による動作に戻り、データバッファDREGに保持されているデータをバッファ回路BUFへ転送する(step7)。
データはバッファ回路BUFへ転送されながらエラー検出訂正回路ECCにて、エラー検出が行われる(Step8)。次に、エラー検出訂正回路ECCエラーがあったかどうかをチェックし(Step9)、エラーが無ければ、バッファ回路BUFへ転送されたデータはリードバッファRBUFへ転送される(Step11)。エラーがあればエラー検出訂正回路ECCにてエラー訂正を行った(Step10)後、リードバッファRBUFへ転送される(Step11)。最後に、リードバッファRBUFに保持されているデータはNORインターフェースNOR IFへ読み出される(Step12)。
<キャッシュロック用 L2Cache構成>
図18は、キャッシュロック動作を行うために必要なキャッシュメモリL2Cacheの構成
を示す一例である。
アドレスAdd6, アドレスAdd2およびアドレスAdd0は図8で説明したアドレスと同等である。
キャッシュメモリL2Cacheの構成は、特に限定しないが、アドレスアレイAddressArrayとデータアレイDataArrayから構成されており、データアレイDataArrayの容量は256Mバイト、ラインサイズは512バイト、インデックスアドレスIndex2は0から511まであり、セットアソシアティブは4ウェイセットアソシアティブである。また、アドレスアレイAddressArrayはタグアドレスTag2と有効ビットvld、ダーティビットdt、キャッシュロックフラグlckから構成され、データアレイDataArrayは一つのインデックスアドレスに対して512バイトのデータが保持される。
キャッシュロックアドレス範囲内に存在するタグアドレスのキャッシュロックフラグlckの値は1となり、キャッシュロックアドレス範囲外に存在するタグアドレスのキャッシュロックフラグlckの値は0となる。
キャッシュロックフラグlckの値が1であるデータはデータ更新の対象外のデータであり、キャッシュロックフラグlckが0にならない限りキャッシュメモリL2Cacheから追い出されることはない。
キャッシュロックフラグlckが0であるデータはデータ更新の対象となるデータであり、キャッシュメモリL2Cacheから追い出される可能性がある。
<キャッシュロックフラグ解除>
図21は、キャッシュロック解除の一例を示すフローチャートである。NORインターフェースNOR IFより、キャッシュロック領域設定レジスタCaLockRegへキャッシュロック解除命令を書き込む(Step1)と、キャッシュメモリL2Cacheは自らのすべてのキャッシュロックフラグlckを0(Low)にし(Step2)、キャッシュロック領域設定レジスタCaLockRegへ設定されたキャッシュロック範囲アドレスを無効にし(Step3)、最後にキャッシュメモリL2Cacheキャッシュロック解除が完了したことを示すキャッシュロック解除完了信号をHighにする(Step4)。以上の手続きにより、キャッシュロックを行うアドレス範囲が無効になったことが、メモリアドレス管理回路MMGへ入力される。
<キャッシュロック語の読み出し動作>
図20は、キャッシュロックが設定された場合の、キャッシュメモリL2Cache、PL2A、PL2Bの動作の一例について説明するフローチャートである。
NORインターフェースNOR IFよりメモリモジュールMSMへリード要求とアドレスRADDが入力される(Step1)と、メモリアドレス管理回路MMGはアドレスRADDが、キャッシュロックを行うアドレス範囲内であるかをチェックする(Step2)。アドレスRADDが、キャッシュロックを行うアドレス範囲外であればStep26へ進む。Step26からの動作の詳細は、図21に示されている。
また、アドレスRADDが、キャッシュロックを行うアドレス範囲内であれば、キャッシュメモリL2Cacheにてヒット判定を行う(Step3)。
キャッシュメモリL2Cacheへヒットした場合は、ヒットしたタグアドレスに対応したキャッシュロックフラグがHighになっているかどうかをチェックし(Step4)、キャッシュロックフラグがHighの場合には、キャッシュメモリL2Cacheからデータを出力する(Step24)。キャッシュロックフラグがLowの場合には、このキャッシュロックフラグをHighにし(Step5)、キャッシュメモリL2Cacheからデータを出力する(Step24)。
キャッシュメモリL2Cacheへミスした場合は、キャッシュメモリPL2AおよびPL2Bへのヒット判定を行い(Step6)、ヒットした場合、キャッシュメモリPL2AおよびPL2BのデータをキャッシュメモリL2Cacheへ転送し、更新する(Step12)。データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。次に、キャッシュロックフラグをHighにし(Step13)、キャッシュメモリPL2AおよびPL2Bを無効化し(Step14)、キャッシュメモリPL2AおよびPL2Bからデータを出力する(Step24)。
キャッシュメモリPL2AおよびPL2Bにてミスの場合、キャッシュメモリPL2AおよびPL2Bが有効であるかをチェックし(Step7)、有効であれば、現在、キャッシュメモリPL2AおよびPL2Bに存在するデータをキャッシュメモリL2Cacheへ転送し、更新する(Step8)。データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。
次に、キャッシュロックフラグをHighにし(Step9)、キャッシュメモリPL2AおよびPL2Bを無効化する(Step10)。つぎに、要求データをフラッシュメモリFLASH_CHIPからキャッシュメモリPL2Aへ転送し(Step11)、キャッシュメモリPL2AのデータをキャッシュメモリL2Cacheへ転送し、更新する(Step15)。
データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。次に、キャッシュロックフラグをHighにし(Step16)、キャッシュメモリPL2Aを無効化し(Step17)、キャッシュメモリPL2Aからデータを出力する(Step24)。これと同時に、先読み機能により、次ページのデータをフラッシュメモリFLASH_CHIPからキャッシュメモリPL2Bへ転送し(Step18)、つぎにキャッシュロックを行うアドレス範囲内であるかをチェックする(Step19)。キャッシュロックを行うアドレス範囲内であれば、キャッシュメモリPL2BのデータをキャッシュメモリL2Cacheへ転送し、更新する(Step20)。データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。次に、キャッシュロックフラグをHighにし(Step21)、キャッシュメモリPL2Bを無効化する(Step22)。キャッシュロックを行うアドレス範囲外であれば、キャッシュメモリPL2Bを有効にする(Step23)。
<キャッシュロックの読み出し動作>
図21は、キャッシュロックが設定され、NORインターフェースNOR IFよりメモリモジュールMSMへ入力されたリード要求とアドレスRADDがキャッシュロックを行うアドレス範囲外である場合のキャッシュメモリL2Cache、PL2A、PL2Bの動作の一例について説明するフローチャートである。
アドレスRADDが、キャッシュロックを行うアドレス範囲外(Step25)であれば、キャッシュメモリL2Cacheにてヒット判定を行う(Step26)。
キャッシュメモリL2Cacheへヒットした場合は、ヒットしたタグアドレスに対応したキャッシュロックフラグがLowになっているかどうかをチェックし(Step27)、キャッシュロックフラグがLowの場合には、キャッシュメモリL2Cacheからデータを出力する(Step41)。キャッシュロックフラグがHighの場合には、エラーを出力する(Step28)。
キャッシュメモリL2Cacheをミスした場合は、キャッシュメモリPL2AおよびPL2Bへのヒット判定を行い(Step29)、ヒットした場合、キャッシュメモリPL2AあるいはPL2Bからデータを出力する(Step41)。
キャッシュメモリPL2AおよびPL2Bにてミスの場合、キャッシュメモリPL2AおよびPL2Bが有効であるかをチェックし(Step30)、有効であれば、現在、キャッシュメモリPL2AおよびPL2Bに存在するデータをキャッシュメモリL2Cacheへ転送し、更新する(Step31)。データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。
次に、キャッシュメモリPL2AおよびPL2Bを無効化する(Step32)。つぎに、要求データをフラッシュメモリFLASH_CHIPからキャッシュメモリPL2Aへ転送し(Step33)、キャッシュメモリPL2Aのデータを有効にする(Step34)。つぎにキャッシュメモリPL2Aからデータを出力する(Step41)。
Step41と同時に、先読み機能により、次ページのデータをフラッシュメモリFLASH_CHIPからキャッシュメモリPL2Bへ転送し(Step35)、つぎにキャッシュロックを行うアドレス範囲内であるかをチェックする(Step36)。キャッシュロックを行うアドレス範囲内であれば、キャッシュメモリPL2BのデータをキャッシュメモリL2Cacheへ転送し、更新する(Step37)。データを更新する際は、キャッシュロックフラグがLowであるデータに対して、LRU方式にて更新を行う。次に、キャッシュロックフラグをHighにし(Step38)、キャッシュメモリPL2Bを無効化する(Step39)。また、キャッシュロックを行うアドレス範囲外であれば、キャッシュメモリPL2Bを有効にする(Step40)。
<複数のメモリバンクをもつFLASH>
図22は、本発明に、複数のメモリバンクを持つフラッシュメモリFLASH_CHIP22を適用した第2の実施形態である。
情報処理装置CPU_CHIPと、メモリモジュールMSM22と、ダイナミックランダムアクセスメモリDRAM_CHIPから構成されるメモリシステムを示したものである。
メモリモジュールMSM22はフラッシュメモリFLASH_CHIP22と制御回路CT_CHIPから構成される。
情報処理装置CPU_CHIPと、制御回路CT_CHIPと、ダイナミックランダムアクセスメモリDRAM_CHIPは、それぞれ図1で示したものと同等である。
制御回路CT_CHIPは、NORインターフェース(NOR IF)からの読み出しおよび書き込み要求を受け取るNORインターフェース回路NRIF、 NANDインターフェース(NAND IF)からの読み出しおよび書き込み要求を受け取るNANDインターフェース回路NDIF、レジスタブロックREG、アドレス変換回路DSTR、キャッシュメモリL2Cache、PL2A、PL2B、プリフェッチ制御回路PREF、フラッシュ制御回路FLCT、バッファ回路BFBK、フラッシュエラー制御回路FLSPから構成される。
これらNORインターフェース(NOR IF)、NORインターフェース回路NRIF、 NANDインターフェース(NAND IF)、NANDインターフェース回路NDIF、SDRAMインターフェース(SDRAM _IF)、レジスタブロックREG、アドレス変換回路DSTR、キャッシュメモリL2Cache、PL2A、PL2B、プリフェッチ制御回路PREF、フラッシュ制御回路FLCTP、フラッシュ制御回路FLCT、バッファ回路BFBK、フラッシュエラー制御回路FLSPは、それぞれ図1で示したものと同等である。
フラッシュメモリFLASH_CHIP22は制御回路FCNT22と、データバッファDREG0からDREG3と、メモリバンクBANK0からBANK3とから構成される。
特に限定しないが、データバッファとメモリバンク間のデータ転送に関して、メモリバンクBANK0とデータバッファDREG0間のデータ転送と、モリバンクBANK1とデータバッファDREG1間のデータ転送と、メモリバンクBANK2とデータバッファDREG2間のデータ転送と、モリバンクBANK3とデータバッファDREG3間のデータ転送は、それぞれ独立に行うことができる。
特に限定しないが、1つのメモリバンクの記憶容量は64Mバイトあり、4つのメモリバンクの記憶容量の総和は256Mバイトとなる。
また、特に限定しないが、1つのデータバッファのデータサイズは2kバイトあり、4つのデータバッファのデータサイズの総和は8kバイトとなる。
制御回路FCNT22は、制御回路CT_CHIPからの読み出し及び書き込み命令によって、データバッファDREG0からDREG3とメモリバンクBANK0からBANK3間のデータ転送を制御する回路である。
フラッシュメモリFLASH_CHIP22は、ANDインターフェースおよびNANDインターフェースのどちらでも動作可能であり、ここではNANDインターフェースの場合を例に、フラッシュメモリFLASH_CHIP22の動作を説明する。
制御回路FCNT22は、制御回路CT_CHIPのNANDインターフェースNAND IF3からの読み出し及び書き込み命令によって、データバッファDREG0からDREG3とメモリバンクBANK0からBANK3間のデータ転送を制御する回路である。
制御回路CT_CHIPからのNANDインターフェースNAND IF22を通じて読み出し要求および読み出しアドレスが制御回路FCNT22へ入力されると、読み出しアドレスが指定したメモリバンクのデータは、このメモリバンクからのデータ転送に対応しているデータバッファへ転送される。つぎに、NANDインターフェースNAND IF3を通じて制御回路CT_CHIPへ転送される。
読み出しアドレスでは、メモリバンクの指定に関して、一度に全バンクを指定したり、2つのバンクを指定したり、ひとつずつ独立に指定したりできるので、たとえば、データバッファDREG0からデータを読み出している時に、バックグランドでメモリバンクBANK1からデータバッファDREG1へのデータ転送を行うことで、メモリバンクからデータバッファへのデータ転送時間を隠蔽し、データ転送の高速化が図れる。
また、データバッファへ転送されたデータはそのまま保持されるため、8kバイトのL3キャッシュとして利用でき、さらにデータ転送の高速化が図れる。
このように、複数のメモリバンクを持つフラッシュメモリFLASH_CHIP22を適用した場合でも本発明は実現できる。
本願発明者等は、本願に先立って携帯電話及びそれに使用されるスタティックランダムアクセスメモリSRAMとフラッシュメモリとが1パッケージに実装されたメモリモジュールの信頼性について検討を行った。
ソフトエラーは半導体封止材中のウランなどの放射性物質から放出されるα線がスタティックランダムアクセスメモリSRAMのメモリアレイに入射することによって、このメモリアレイに保持されている記憶データが破壊される現象であり、スタティックランダムアクセスメモリSRAMの信頼性を劣化させる要因となっている。また、スタティックランダムアクセスメモリSRAMの記憶容量が大きいほど面積も大きくなるので、α線がスタティックランダムアクセスメモリSRAMへ入射する確立が増え、さらに信頼性を劣化させてしまう。
ダイナミックランダムアクセスメモリDRAMやスタティックランダムアクセスメモリSRAMなどの揮発性メモリはα線によって信頼性を劣化させてしまうが、フラッシュメモリなどの不揮発性メモリでは、そのメモリアレイ構造からα線の影響を受けないとこが判明した。
そこで、本発明の目的の1つは、信頼性の高いROMとRAMを含むメモリシステムを提供することである。
図23は、本発明の第3の実施形態である。情報処理装置CPU_CHIP23とメモリモジュールMSM23と、ダイナミックランダムアクセスメモリDRAM_CHIPとから構成されるメモリシステムを示した実施例である。
メモリモジュールMSM23はフラッシュメモリFLASH_CHIPと制御回路CT_CHIP23とから構成される。
情報処理装置CPU_CHIPと、フラッシュメモリFLASH_CHIPと、ダイナミックランダムアクセスメモリDRAM_CHIPは、それぞれ図1で示したものと同等である。
制御回路CT_CHIP23は、NORインターフェース(NOR IF)からの読み出しおよび書き込み要求を受け取るNORインターフェース回路NRIF、 NANDインターフェース(NAND IF)からの読み出しおよび書き込み要求を受け取るNANDインターフェース回路NDIF、レジスタブロックREG、アドレス変換回路DSTR、パリティチェック回路PRCH、キャッシュメモリL2CacheP、PL2AP、PL2BP、プリフェッチ制御回路PREF、フラッシュ制御回路FLCTP、バッファ回路BFBK、フラッシュエラー制御回路FLSPから構成される。
NORインターフェース(NOR IF)、NORインターフェース回路NRIF、 NANDインターフェース(NAND IF)、NANDインターフェース回路NDIF、SDRAMインターフェース(SDRAM _IF)、レジスタブロックREG、アドレス変換回路DSTR、プリフェッチ制御回路PREF、フラッシュ制御回路FLCTP、バッファ回路BFBK、フラッシュエラー制御回路FLSPは、それぞれ図1で示したものと同等である。
パリティチェック回路PRCHは、キャッシュメモリL2CachePから読み出したデータとパリティデータを元にパリティチェックを行う回路である。
パリティチェックは偶数パリティチェックと奇数パリティチェックがあり、パリティチェック回路PRCHはどちらのパリティチェックも行うことができるが、ここでは偶数パリティチェックを例に説明する。
キャッシュメモリL2CacheP、PL2APおよびPL2BPは、パリティデータを持つキャッシュメモリであり、それ以外の構成および動作は図1で説明したものと同等である。
フラッシュ制御回路FLCTPは、パリティデータ生成回路を持つ制御回路であり、これ以外の構成及び動作は図1で説明したものと同等である。
<L2CachePの動作説明>
キャッシュメモリL2Cahceからデータを読み出す場合の動作の一例について説明する。
キャッシュメモリL2Cacheへヒットした場合は、直接、キャッシュメモリL2CahcePからデータとパリティデータを読み出し、パリティチェック回路PRCHにてパリティチェックを行う。
特に限定しないが、偶数パリティチェックでは、8ビットのデータと、これに対応するパリティビットのHighの数が偶数個かどうかをチェックし、偶数個であった場合は、データは正しく読み出されたと判断し、奇数個の場合は読み出されたデータにエラーが生じたと判断される。
パリティチェック回路PRCHにてデータが正しく読み出されたと判断されると、NORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
ソフトエラーによってキャッシュメモリL2Cacheのデータが破壊され、読み出されたデータにエラーが生じたと判断された場合は、フラッシュ制御回路FLCTPが、エラーが生じたデータの基データをフラッシュメモリFLASH_CHIPから読み出し、フラッシュエラー制御回路FLSPへ転送する。
プリフェッチ制御回路PREFは、フラッシュメモリFLASH_CHIP内のデータバッファDREG内にフラッシュ制御回路FLSPへのデータ転送が生じている間に、キャッシュメモリPL2AP及びPL2PBへ保持されているデータをキャッシュメモリL2CachePへ転送し、キャッシュメモリL2Cacheを更新する。この更新では、データと同時にパリティデータの更新を行う。
フラッシュエラー制御回路FLSPは、フラッシュメモリFLASH_CHIPから転送されたデータに対してエラー検出訂正を行い、回路ECCにて、エラーが無ければ、このデータをキャッシュメモリPL2APへ転送し、エラーがあればエラー訂正を行った後、キャッシュメモリPL2APへ転送する。また、フラッシュエラー制御回路FLSPは、このキャッシュメモリPL2APへのデータ転送の際には、特に限定しないが、8ビットのデータに対して1ビットのパリティデータを生成し、パリティデータも同時に、キャッシュメモリPL2APへ転送する。特に限定しないが、偶数パリティでは、8ビットのデータのうち、Highのビットが奇数個存在した場合、パリティデータはHighとなり、Highのビットを偶数個にする。また、8ビットのデータのうち、Highのビットが偶数個存在した場合、パリティデータはLowとなり、Highのビットを偶数個にする。
キャッシュメモリPL2APへ転送されたデータは、パリティチェック回路PRCHにてパリティチェックを行われる。特に限定しないが、偶数パリティチェックでは、8ビットのデータと、これに対応するパリティビットのHighの数が偶数個かどうかをチェックし、偶数個であった場合は、データは正しく読み出されたと判断し、奇数個の場合は読み出されたデータにエラーが生じたと判断される。
パリティチェック回路PRCHにてデータが正しく読み出されたと判断されると、NORインターフェース回路NRIFを通じてNORインターフェースNOR IFより情報処理装置CPU_CHIPへ出力される。
読み出されたデータにエラーが生じた判断された場合は、再度フラッシュメモリからデータ読み出す。
このように、ソフトエラーによってキャッシュメモリL2Cacheのデータが破壊され、パリティチェック回路PRCHによって読み出されたデータにエラーが生じたと判断された場合は、フラッシュメモリFLASH_CHIPからデータを読み出すことによって、ソフトエラーによる信頼性の劣化を防ぐことができる。
<DRAMがMCP内>
図24は本発明を適用した別の実施の形態例である。情報処理装置CPU_CHIPとメモリモジュールMSM24とから構成されるメモリシステムを示したものである。
メモリモジュールMSM24は、フラッシュメモリFLASH_CHIPと制御回路CT_CHIPと、ダイナミックランダムアクセスメモリDRAM_CHIPとから構成される。
特に限定しないが、フラッシュメモリFLASH_CHIPとして用いられる典型的なフラッシュメモリはNANDインターフェースを装備している大容量フラッシュメモリであり、本実施の形態例ではANDインターフェースを装備している大容量フラッシュメモリを適用している例である。
ダイナミックランダムアクセスメモリDRAM_CHIPは内部構成やインターフェースの違いから、EDO(Extended Data Out)、SDRAM(Synchronous DRAM)、DDR(Double Data Rate)等様々な種類がある。メモリモジュールMSM24には、いずれのDRAMでも用いることができる。本実施の形態例ではSDRAMを例に説明する。
制御回路CT_CHIPは、NORインターフェースNOR IFと、NANDインターフェースNAND IFを装備しており、フラッシュメモリFLASH_CHIPと情報処理CPU_CHIPとの間のデータ転送を制御する回路であり、それそれは、図1で示したものと同等である。
また、ダイナミックランダムアクセスメモリDRAM_CHIPは、メモリモジュールMSM24へ搭載されており、SDRAMインターフェースSDRAM IFにて情報処理装置CPU_CHIPと直接、データ転送を行う構成になっているため、NORインターフェース、NANDインターフェースおよびSDRAMインターフェースを装備したメモリモジュールMSM24は、図1に示した本発明を実現することができる。
このように、ダイナミックランダムアクセスメモリDRAM_CHIPをメモリモジュールに内蔵することによって、装置の小型化を可能とし、本発明を実現できる。
<ハードディスク>
図25は本発明を適用した第5の形態例である。
情報処理装置CPU_CHIPとメモリモジュールMSM25と、ダイナミックランダムアクセスメモリDRAM_CHIPから構成されるメモリシステムを示したものである。メモリモジュールMSM25はハードディスクHDiskと制御回路CT_CHIP25から構成される。
情報処理装置CPU_CHIPと、ダイナミックランダムアクセスメモリDRAM_CHIPは、それぞれ図1で示したものと同等である。
本実施例は、フラッシュメモリの代わりにハードディスクHDiskを適用した一例である。
ハードディスクHDiskは、フラッシュメモリFLASH_CHIPより大容量かつ低コストを実現できるメモリである。ハードディスクHDiskからデータを読み出すためのインターフェースには、IDE、ATAおよびUltraATAなどがあるが、本実施例ではUltraATAを一例にあげているがIDE、ATAなどを適用できることは言うまでもない。
データの読み出し単位や、アドレス管理方法や、エラー検出訂正方法に関していえば、もともとハードディスクで実現していたデータの読み出し単位や、アドレス管理方法や、エラー検出訂正方法などをフラッシュメモリが引き継いでおり、フラッシュメモリの代わりにハードディスクHDiskを用いることができる。
制御回路CT_CHIP25は、NORインターフェース(NOR IF)からの読み出しおよび書き込み要求を受け取るNORインターフェース回路NRIF、 NANDインターフェース(NAND IF)からの読み出しおよび書き込み要求を受け取るNANDインターフェース回路NDIF、レジスタブロックREG、アドレス変換回路DSTR、キャッシュメモリL2Cache、PL2A、PL2B、プリフェッチ制御回路PREF、ハードディスク制御回路FLCT25、バッファ回路BFBK、フラッシュエラー制御回路FLSPから構成される。
NORインターフェース(NOR IF)、NORインターフェース回路NRIF、 NANDインターフェース(NAND IF)、NANDインターフェース回路NDIF、SDRAMインターフェース(SDRAM _IF)、レジスタブロックREG、アドレス変換回路DSTR、キャッシュメモリL2Cache、PL2AおよびPL2B、プリフェッチ制御回路PREF、バッファ回路BFBK、フラッシュエラー制御回路FLSPは、それぞれ図1で示したものと構成および動作は同等である。
ハードディスク制御回路FLCT25は、クロック制御回路OSC、メモリアドレス管理回路MMG、アクセス調停回路ARB、制御回路HRWCLから構成される。
クロック制御回路OSC、メモリアドレス管理回路MMG、アクセス調停回路ARBは、それぞれ図1で示したものと構成および動作は同等である。また、制御回路HRWCLは、図1で示した制御回路RWCLへ、UハードディスクHDiskからデータを読み出すため、UltraATAインターフェースを装備した制御回路であり、ハードディスクHDiskからデータを読み出した後の動作は図1で示した制御回路RWCLと同等である。したがって、ハードディスクHDiskを適用し、本発明が実現できることがわかる。
以上説明したように、ハードディスクHDiskを利用することによって、より大容量かつ低コストのメモリシステムを実現することができる。
図26は本発明における第6の実施の形態例を示したものである。図26(a)は上面図であり、図26(b)は上面図に示したA−A’線に沿った部分の断面図である。
本実施の形態のマルチチップ・モジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2が搭載されている。CHIPM1は不揮発性メモリで、CHIPM2はDRAMである。
本マルチチップ・モジュールにより、図1で示すメモリモジュールMSMおよび、図22で示すメモリモジュールMSM22を1つの封止体に集積できる。
CHIPM1と基盤PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基盤PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。CHIPM1とCHIPM2はボンディングワイヤ(PATH3)で接続される。
チップの搭載された基盤PCBの上面は樹脂モールドが行われて各チップと接続配線を保護する。なお、さらにその上から金属、セラミック、あるいは樹脂のカバー(COVER)を使用しても良い。
本実施の形態例ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを積層することができるため、チップと基盤PCB間の配線長を短くすることができ、実装面積を小さくすることができる。チップ間の配線及び各チップと基盤間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。
さらにチップ間をボンディングワイヤで直接配線することによって基盤上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することができる。樹脂のカバーを使用した場合には、より強靭なメモリモジュールを構成することができる。セラミックや金属のカバーを使用した場合には、強度のほか、放熱性やシールド効果に優れたメモリモジュールを構成することができる。
図27は本発明における第6の実施の形態例を示したものである。図27(a)は上面図であり、図27(b)は上面図に示したA−A’線に沿った部分の断面図である。
本実施の形態のマルチチップ・モジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。CHIPM1は不揮発性メモリ、CHIP2MはDRAMである。CHIP3Mは、中央演算装置CPUとNORコントローラNRCとDRAMコントローラSDCとから構成される情報処理装置、あるいはCHIP1MとCHIP2Mのデータ転送を制御する制御回路である。
本マルチチップ・モジュールにより、図24で示すメモリモジュールMSM24を1つの封止体に集積できる。
CHIPM1と基盤PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基盤PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。CHIPM1とCHIPM2はボンディングワイヤ(PATH3)で接続される。また、CHIP3Mの実装および配線にボールグリッドアレイが用いられている。
本実装方法では3チップを積層することができるので実装面積を小さく保つことができる。さらに、CHIPM3と基盤間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
図27は本発明に係るマルチチップ・モジュールの第8の実施の形態例を示したものである。図27(a)は上面図であり、図27(b)は上面図に示したA−A’線に沿った部分の断面図である。
図28は本発明に係るマルチチップ・モジュールの第7の実施の形態例を示したものである。図28(a)は上面図であり、図28(b)は上面図に示したA−A’線に沿った部分の断面図である。
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3、CHIPM4が搭載されている。CHIPM1は不揮発性メモリ、CHIPM3はDRAMである。CHIPM2はCHIPM1とCHIPM2のデータ転送を制御する制御回路であり、CHIPM4は中央演算装置CPUとNORコントローラNRCとDRAMコントローラSDCとから構成される情報処理装置である。
本実装方法では、 図1で示すメモリシステム、 図22で示すメモリシステムモジュール、 図23で示すメモリシステムおよび図24で示すメモリシステムを1つの封止体に集積できる。
CHIPM1と基盤PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基盤PCB上のボンディングパットはボンディングワイヤ(PATH4)で接続され、CHIPM3と基盤PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続されている。
CHIPM1とCHIPM3はボンディングワイヤ(PATH3)で接続され、CHIPM2とCHIPM3はボンディングワイヤ(PATH5)で接続される。
CHIPM4の実装および配線にボールグリッドアレイ(BGA)が用いられている。
本実装方法ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。
チップ間をボンディングワイヤで直接配線することによって基盤上のボンディングパット数とボンディングワイヤの本数を削減して少ない工程数でメモリモジュールを製造することができる。
さらに、CHIPM4と基盤間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
図29は本発明に係るメモリシステムの第9の実施の形態例を示したものである。図29(a)は上面図であり、図29(b)は上面図に示したA−A’線に沿った部分の断面図である。
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3が搭載されている。CHIPM1は不揮発性メモリ、CHIPM2およびCHIPM3はDRAMである。チップ間の配線及び各チップと基盤間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。本実装方法では、 図24で示すモジュールMSM24を1つの封止体に集積できる。
CHIPM1と基盤PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基盤PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続され、CHIPM3と基盤PCB上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。
本実施の形態例ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。
各チップと基盤間の配線をボンディングワイヤ方式で統一することによって少ない工程数でメモリモジュールを製造することができる。
図30は本発明に係るメモリシステムの第9の実施の形態例を示したものである。図30(a)は上面図であり、図30(b)は上面図に示したA−A’線に沿った部分の断面図である。
本実施の形態のメモリモジュールは、ボールグリッドアレイ(BGA)によって装置に実装する基盤(例えばガラスエポキシ基板でできたプリント回路ボード)PCB上に、CHIPM1、CHIPM2、CHIPM3、CHIPM4が搭載されている。CHIPM1は不揮発性メモリ、CHIPM2およびCHIPM3はDRAMである。CHIPM4は中央演算装置CPUとNORコントローラNRCとDRAMコントローラSDCとから構成される情報処理装置である。
本実装方法では、図1で示すメモリシステム、図22で示すメモリシステム、図23で示すメモリシステムおよび図24で示すメモリシステムを図1で示すメモリシステム、を1つの封止体に集積できる。
CHIPM1と基盤PCB上のボンディングパットはボンディングワイヤ(PATH2)で接続され、CHIPM2と基盤PCB上のボンディングパットはボンディングワイヤ(PATH1)で接続され、CHIPM3と基盤PCB上のボンディングパットはボンディングワイヤ(PATH3)で接続されている。CHIPM4の実装および配線にボールグリッドアレイ(BGA)が用いられている。
本実施の形態例ではプリント回路ボードPCB上にベアチップを直接搭載するため、実装面積の小さなメモリモジュールを構成することができる。また、各チップを近接して配置することができるため、チップ間配線長を短くすることができる。CHIPM4と基盤間とのボンディングは不要となりボンディング配線の本数を削減することができるため組み立て工数を削減できる上、より信頼性の高いマルチチップモジュールが実現できる。
図31に、本発明に係るメモリモジュールを利用した携帯電話機の第10の実施の形態例を示す。携帯電話は、アンテナANT、無線ブロックRF、ベースバンドブロックBB、音声コーデックブロックSP、スピーカーSK、マイクロホンMK、プロセッサCPU、ダイナミックランダムアクセスメモリDRAM、液晶表示部LCD、キーボードKEYおよび本発明のメモリモジュールMSMで構成される。
通話時の動作を説明する。
アンテナANTを通って受信された音声は無線ブロックRFで増幅され、ベースバンドブロックBBへ入力される。ベースバンドブロックBBでは、音声のアナログ信号をデジタル信号に変換し、エラー訂正と復号処理おこない、音声コーデックブロックSPへ出力する。音声コーデックブロックがデジタル信号をアナログ信号に変換しスピーカーSKに出力すると、スピーカーから相手の声が聞こえる。
携帯電話機から、インターネットのホームページにアクセスし、音楽データをダウンロードし、再生して聞き、最後にダウンロードした音楽データを保存するという一連の作業を行うときの動作を説明する。
メモリモジュールMSMには、基本プログラム、アプリケーションプログラム(メール、Webブラウザ、音楽再生プログラム、動作再生プログラム、ゲームプログラムなど)、音楽データ、静止画データ、動画データなどが格納されている。
キーボードより、Webブラウザの起動を指示すると、メモリモジュールMSM内のFLASHに格納されているWebブラウザのプログラムが、同じメモリモジュール内のキャッシュメモリへと転送される。キャッシュへの転送が終了するとプロセッサCPUはDRAM内のWebブラウザのプログラムを実行し、液晶表示LCDにWebブラウザが表示される。所望のホームページにアクセスし、気に入った音楽データのダウンロードをキーボードKEYより指示すると、音楽データは、アンテナANTを通って受信され、無線ブロックRFで増幅され、ベースバンドブロックBBへ入力される。ベースバンドブロックBBでは、アナログ信号である音楽データをデジタル信号に変換し、エラー訂正と復号処理おこなう。デジタル信号化された音楽データはDRAMへ一旦、保持され、最終的に、メモリモジュールMSMのFLASHへと転送され格納される。
次に、キーボードKEYより、音楽再生プログラムの起動を指示するとメモリモジュールMSM内のFLASHに格納されている音楽再生プログラムが、同じメモリモジュール内のキャッシュメモリへと転送される。キャッシュメモリへの転送が終了するとプロセッサCPUはキャッシュメモリ内の音声再生プログラムを実行し、液晶表示LCDに音楽再生プログラムが表示される。
キーボードKEYより、FLASHへダウンロードした音楽データを聞くための指示を行うと、プロセッサCPUは音楽再生プログラムを実行し、FLASHに保持している音楽データを処理し、最終的にスピーカーSKから音楽が聞こてくる。
このとき、本発明のメモリモジュールは大容量のキャッシュメモリを用いているため、Webブラウザと音楽再生プログラムはキャッシュメモリに保持されており、どちらのプログラムもCPUによって同時に実行されている。さらに、電子メールプログラムを起動し、電子メールプログラム、メールの送受信も同時にできる。
Webのブラウザを停止した場合でも、メモリモジュール内のキャッシュメモリには保持しているため、再起動時はすぐに起動することができる。
キーボードより電源遮断の指示が入力されると、メモリモジュールは、キャッシュメモリのみ動作させ、最低限のデータ時保持を行い、消費電力を極端に小さくできる。
このように、本発明に係るメモリモジュールを用いることにより、大量のメール、音楽再生、アプリケ-ションプログラムや音楽データ、静止画像データ、動画データなどを格納でき、さらに複数のプログラムを同時に実行できる。
図32に、本発明に係るメモリシステムを利用した携帯電話機の第12の実施の形態例を示す。携帯電話は、アンテナANT、無線ブロックRF、ベースバンドブロックBB、音声コーデックブロックSP、スピーカーSK、マイクロホンMK、プロセッサCPU、液晶表示部LCD、キーボードKEYおよび、プロセッサCPUと、ダイナミックランダムアクセスメモリDRAMと、メモリモジュールMSMを1つの封止体に集積した本発明のメモリシステムSLPで構成される。
本発明のメモリシステムSLでを用いることによって、部品点数を削減できるため、低コスト化ができ、携帯電話の信頼性が向上する、携帯電話機を構成する部品の実装面積を小さくでき、携帯電話小型化ができる。
以上説明したように本明細書に開示される発明によって得られる主な効果は以下の通りである。
第1に、電源投入時にブートプログラムをFLASHからキャッシュメモリへ自動転送することで、携帯機器は、キャッシュメモリのブートプログアムを読み出し、すばやくが立ちあがることができる。
第2に、電源投入時に必要なプログラムをFLASHからキャッシュメモリへ自動転送することで、携帯機器が立ちあがった時点ですぐに本メモリモジュールへアクセスすることができるため携帯機器の高性能化が図れる。
第3に、本発明に係るメモリシステムを適用したメモリモジュールではFLASHのデータはキャッシュメモリ内に転送及び保持され、携帯機器は、直接キャッシュメモリへアクセスでき、高速データ転送を実現できる。
第4に、本発明に係るメモリシステムを適用したメモリモジュールではデータの先読み機能を持ち、次に利用されるデータを、あらかじめ、前もってキャッシュメモリへ転送することで、キャッシュメモリへヒット率を向上させ、データ転送を高速化できる。
第5に、本発明に係るメモリシステムを適用したメモリモジュールでは、フラッシュメモリ内のデータレジスタをキャッシュメモリとして利用することができ、キャッシュメモリの容量を実効的に増やすことでヒット率を向上させ、データ転送を高速に行うことができる。
第6に、本発明に係るメモリシステムを適用したメモリモジュールでは、アドレス変換を行いキャッシュメモリのインデックスアドレスを分散させ、キャッシュメモリの利用率を高めることで、ヒット率が向上させ、データ転送を高速化できる。
第7に、フラッシュメモリへの書き込みが行われている場合でも、キャッシュメモリからデータを読み出すことができるため携帯機器の高速化が図れる。
第8に、同期型および非同期型インターフェースやアドレス変換方式、キャッシュ領域および非キャッシュ領域、キャッシュロック領域および非キャッシュロック領域、書き込み回数平均化処理領域および非書き込み回数平均化処理領域、ライトプロテクト領域および非ライトプロテクト領域は、それぞれ独立に設定することができ、システムにあわせて利用者側で自由に選択できる。
第9に、本メモリモジュールの内部で、FALSHからの読み出し時は、エラー検出と訂正を行い、書きこみ時は、書きこみが正しく行われなかった不良アドレスに対して代替処理を行うため、処理が高速にでき、かつ信頼性を保つことができる。
第10に、本メモリモジュールの内部で、キャッシュメモリの読み出し時は、エラー検出を行い、エラーの場合は、フラッシュメモリからデータ読み出しを行うため、処理が高速にでき、かつ信頼性を保つことができる。
第11に、本メモリモジュールの内部で、フラッシュメモリの書き込み平均化処理を行うため、処理が高速にでき、かつ信頼性を保つことができる。
第12に、一般的なインターフェースであるNORインターフェースや、NANDインターフェースおよびANDインターフェースを通じてブートプログラムや自動転送領域指定データをFLASHの初期プログラム領域へ書き込み、電源投入直後のブート方法やデータ転送領域を変えることができるため、携帯機器の要求に応じて柔軟に対応でき、高機能化が図れる。
第13に、複数の半導体チップを一つの封止体に実装することによって実装面積の小さなシステムメモリ・モジュールを提供できる。
CPU_CHIP…情報処理装置、CPU…情報演算装置、MSM…メモリモジュール、NRC…NORフラッシュコントローラ、NDC…NANDフラッシュコントローラ、SDC…DRAMコントローラ、NOR IF…NORインターフェース、NAND IF1、NAND_IF2…NANDインターフェース、SDRAM IF…SDRAMインターフェース、NRIF…NORインターフェース回路、NDIF…NANDインターフェース回路、CT_CHIP…制御回路、REG…レジスタブロック
DSTR…アドレス変換回路、L2Cache…キャッシュメモリ、PL2A…キャッシュメモリ、PL2B…キャッシュメモリ、PREF…プリフェッチ制御回路、PL2Hit…ヒット判定回路、L3Hit…ヒット判定回路、PRECT…先読み指示回路、FLCT…フラッシュ制御回路、 OSC…クロック制御回路、MMG…メモリアドレス管理回路、ARB…アクセス調停回路、RWCL…制御回路、FLSP…フラッシュエラー制御回路、ECC…エラー検出訂正回路、BUF…バッファ回路、REF…代替処理回路、WLV…書き込み回数平均化回路、FLASH_CHIP…フラッシュメモリ、FCNT…制御回路、DREG…データバッファ、MARY…メモリセルアレイ、DRAM_CHIP…ダイナミックランダムアクセスメモリ、CLK…クロック信号、Wait…ウエィト信号、PCMP…初期動作完了信号、MSM22…メモリモジュール、FLASH_CHIP22…フラッシュメモリ、FCNT22…制御回路、DREG0,1,2,3…データバッファ、BANK0,1,2,3…メモリバン、NAND IF22…NANDインターフェース、MSM23…メモリモジュール、CT_CHIP23…制御回路、FLCTP…フラッシュ制御回路、L2CacheP、PL2AP、PL2BP…キャッシュメモリ、MSM24…メモリモジュール、MSM25…メモリモジュール、FLCT25…フラッシュ制御回路、CT_CHIP25…制御回路、HRWCL…制御回路、HDisk…ハードディスク、MAIN…メイン領域、REPAREA…代替領域、NONCAREA…非キャッシュ領域、CAREA…キャッシュ領域、WLVL…書き込み回数平均化処理領域、NONWLVL…非書き込み回数平均化処理領域、CALOCK…キャッシュロック領域、UNCALOCK…非キャッシュロック領域、WPRO…ライトプロテクト領域、NONWPRO…非ライトプロテクト領域、WPRO…ライトプロテクト領域、NONWPRO…非ライトプロテクト領域、InitProg…初期プログラム領域、AREA-A…メイン領域内領域、AREA-B…メイン領域内領域、AREA-C…メイン領域内領域、AREA-D…メイン領域内領域、RModeReg…読み出しモード設定レジスタ、CAreaReg…キャッシュ領域設定レジスタ、CaLockReg…キャッシュロック領域設定レジスタ、WproReg…ライトプロテクト領域設定レジスタ、WlvlReg…書き込み回数平均化処理領域設定レジスタ、PWON…電源投入期間、RESET…リセット期間、InitLoad…初期ロード期間、AutoLoad…初期プログラム転送期間、IDLE…アイドル期間、NRAD…NORインターフェースからのアドレス信号、Tag2…タグアドレス、Index2…インデックスアドレス、Line2…ラインサイズ、vld…データバリッドビット信号、dt…ダーティビット信号、lck…キャッシュロックビット信号、LRU…キャッシュデータ更新順序指定信号、AddressArray…キャッシュ・タグアドレスアレイ、DataArray…キャッシュ・データアレイ、COMP…比較回路、SEL…選択回路、CHIPM1、CHIPM2、CHIP3M、CHIP4M…半導体チップ、PCB…プリント回路基板、COVER…モジュールの封止カバー、PATH1〜PATH5…ボンディング配線、ANT…アンテナ、RF…無線ブロック、BB…ベースバンドブロック、SP…音声コーデックブロック、SK…スピーカー、MK…マイクロホン、CPU…プロセッサ、DRAM…ダイナミックランダムアクセスメモリ、LCD…液晶表示部、KEY…キーボード、MSM…メモリモジュール、SLP…プロセッサCPUとメモリモジュールMSMと、ダイナミックランダムアクセスメモリDRAMを1つの封止体に集積したモジュール、PRC…情報処理装置、MCM…メモリモジュール、CPU…中央演算装置、SRC…メモリコントローラ、NOR FLASH…NOR型フラッシュメモリ、SRAM…スタティックランダムアクセスメモリ。

Claims (4)

  1. 不揮発性メモリと、キャッシュメモリと、前記不揮発性メモリと前記キャッシュメモリとの間でアクセスを行う制御回路を含む不揮発性メモリシステムと、ダイナミックランダムアクセスメモリと、情報処理装置とを有し、
    前記情報処理装置は第1の不揮発性メモリインターフェースを介して、前記キャッシュメモリとのデータ転送を行い、第2の不揮発性メモリインターフェースを介して前記不揮発性メモリとのデータ転送を行い、ダイナミックランダムアクセスメモリインターフェースを介して前記ダイナミックランダムアクセスメモリとのデータ転送を行い、
    前記第1の不揮発性メモリインターフェースからの前記キャッシュメモリへのアクセスと、前記第2の不揮発性メモリインターフェースからの前記不揮発性メモリへのアクセスを同時に行うことができることを特徴とするメモリシステム。
  2. 請求項1において、
    電源投入直後の初期化期間においては前記情報処理装置は、前記第1の不揮発性メモリインターフェースを介して、前記キャッシュメモリからブートプログラムを読み出すことを特徴とするメモリシステム。
  3. 請求項1において、
    前記制御回路は前記不揮発性メモリと前記第2の不揮発性メモリインターフェースとの間でアクセスを行うことを特徴とするメモリシステム。
  4. 請求項1乃至請求項3において、
    前記第1の不揮発性メモリインターフェースから前記不揮発性メモリへの読み出しアクセスは、前記キャッシュメモリを経由してデータ転送を行い、
    前記第2の不揮発性メモリインターフェースから前記不揮発性メモリへの読み出しアクセスは、前記キャッシュメモリを経由せず、データ転送を行うことを特徴とするメモリシステム。
JP2013083870A 2013-04-12 2013-04-12 メモリシステム Pending JP2013137841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013083870A JP2013137841A (ja) 2013-04-12 2013-04-12 メモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013083870A JP2013137841A (ja) 2013-04-12 2013-04-12 メモリシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005147957A Division JP2006323739A (ja) 2005-05-20 2005-05-20 メモリモジュール、メモリシステム、及び情報機器

Publications (1)

Publication Number Publication Date
JP2013137841A true JP2013137841A (ja) 2013-07-11

Family

ID=48913418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013083870A Pending JP2013137841A (ja) 2013-04-12 2013-04-12 メモリシステム

Country Status (1)

Country Link
JP (1) JP2013137841A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001266580A (ja) * 2000-01-26 2001-09-28 Samsung Electronics Co Ltd 半導体メモリ装置
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001266580A (ja) * 2000-01-26 2001-09-28 Samsung Electronics Co Ltd 半導体メモリ装置
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器

Similar Documents

Publication Publication Date Title
KR101310481B1 (ko) 메모리 모듈, 메모리 시스템,및 정보기기
JP4499982B2 (ja) メモリシステム
KR101151085B1 (ko) 반도체 기억 장치
JP5138869B2 (ja) メモリモジュール及びメモリシステム
US9852061B2 (en) Memory device and operating method of memory device
JP2006323739A5 (ja)
JP4922860B2 (ja) 半導体装置
CN106874223B (zh) 数据传输方法、存储器存储装置及存储器控制电路单元
JP2013137841A (ja) メモリシステム
JP5391370B2 (ja) メモリモジュールとコントローラ
KR100958767B1 (ko) 메모리 모듈
JP4766526B2 (ja) メモリモジュール
JP2010225161A (ja) 半導体記憶装置
JP5532059B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140520