(57)【特許請求の範囲】
【請求項１】
ミラーリングされている複数のＤＲＡＭを備え、
プロセッサおよび外部装置からのリード要求に対して前記複数のＤＲＡＭのうちリフレッシュをしていないものからデータを読み出し、
さらに中継装置を備え、
前記中継装置は、前記複数のＤＲＡＭのリフレッシュが重ならないように制御する手段と、前記複数のＤＲＡＭがリフレッシュをしているか否かを判定する手段と、前記複数のＤＲＡＭをミラーリングさせる手段と、信号を変換して前記プロセッサおよび前記外部装置と前記複数のＤＲＡＭとのインターフェースを制御する手段とを有することを特徴とするフラッシュＲＯＭエミュレータ。
【請求項２】
前記外部装置からのライト要求に対して前記複数のＤＲＡＭに同一のデータを書き込むことで前記ミラーリングがなされることを特徴とする請求項１記載のフラッシュＲＯＭエミュレータ。
【請求項３】
前記複数のＤＲＡＭのリフレッシュが重ならないように制御する手段は、前記ＤＲＡＭのリフレッシュが必要な一サイクル期間を、期間中は任意のタイミングで自中継装置が前記ＤＲＡＭに対してリフレッシュコマンドを発行することができるリフレッシュ可能期間とそれ以外に分け、前記複数のＤＲＡＭの前記リフレッシュ可能期間が重ならないように制御し、
前記複数のＤＲＡＭがリフレッシュをしているか否かを判定する手段は、前記リフレッシュコマンドを発行したタイミングと、所定の１回のリフレッシュに必要な時間とに基づいてリフレッシュの終了時間を算定して判定し、
前記複数のＤＲＡＭをミラーリングさせる手段は、前記外部装置からのライト要求に対して前記複数のＤＲＡＭに、前記複数のＤＲＡＭのいずれもがリフレッシュしていないタイミングで、同一のデータを書き込むことを特徴とする請求項１または２記載のフラッシュＲＯＭエミュレータ。
【請求項４】
信号を変換して前記外部装置と前記中継装置とのインターフェースを制御する他のプロセッサを備えることを特徴とする請求項１から３のいずれか１項に記載のフラッシュＲＯＭエミュレータ。
【請求項５】
中継装置が、複数のＤＲＡＭをミラーリングさせるステップと、
前記中継装置が、前記複数のＤＲＡＭのリフレッシュが重ならないように制御するステップと、
前記中継装置が、前記複数のＤＲＡＭのうちリフレッシュしていない方のＤＲＡＭを判定し、プロセッサおよび外部装置からのリード要求に対して前記複数のＤＲＡＭのうちリフレッシュをしていないものからデータを読み出させるステップと、
前記中継装置が、前記複数のＤＲＡＭがリフレッシュをしているか否かを判定するステップと、
前記中継装置が、信号を変換して前記プロセッサおよび前記外部装置と前記複数のＤＲＡＭとのインターフェースを制御するステップとを有し、
前記ミラーリングするステップにおいて、前記外部装置からのライト要求に対して前記複数のＤＲＡＭに同一のデータを書き込むことを特徴とするデータ制御方法。
【請求項６】
前記複数のＤＲＡＭのリフレッシュが重ならないように制御するステップにおいて、前記ＤＲＡＭのリフレッシュが必要な一サイクル期間を、期間中は任意のタイミングで自中継装置が前記ＤＲＡＭに対してリフレッシュコマンドを発行することができるリフレッシュ可能期間とそれ以外に分け、前記複数のＤＲＡＭの前記リフレッシュ可能期間が重ならないように制御し、
前記複数のＤＲＡＭがリフレッシュをしているか否かを判定するステップにおいて、前記リフレッシュコマンドを発行したタイミングと、所定の１回のリフレッシュに必要な時間とに基づいてリフレッシュの終了時間を算定して判定し、
前記複数のＤＲＡＭをミラーリングさせるステップにおいて、前記外部装置からのライト要求に対して前記複数のＤＲＡＭに、前記複数のＤＲＡＭのいずれもがリフレッシュしていないタイミングで、同一のデータを書き込むことを特徴とする請求項５記載のデータ制御方法。
【請求項７】
他のプロセッサが、信号を変換して前記外部装置と前記中継装置とのインターフェースを制御するステップを有することを特徴とする請求項５又は６に記載のデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションのデバッグ等に用いられるフラッシュＲＯＭエミュレータの技術に関する。
【背景技術】
【０００２】
図６に示すような、ＣＰＵ（Central Processing Unite）・ＶＤＰ（Video Display Processor）２１とバッファ２２とフラッシュＲＯＭ２３とが１つの基板上に配置された構成において、少なくとも１つ以上のフラッシュＲＯＭ２３に格納されるアプリケーション等のデータは、リード要求の場合、バッファを介してＣＰＵ・ＶＤＰ２１等からのチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を受けて、データバス（ＤＴ）からリードされ実行される。これらの一連のやりとりはフラッシュＲＯＭインターフェースにより行われる。
【０００３】
フラッシュＲＯＭに格納されるアプリケーション等の開発段階におけるデバッグ等に際しては、フラッシュＲＯＭを内蔵したマイクロコンピュータは所定の構成により基板に実装された状態でフラッシュＲＯＭの内容を書き換える（リード・ライト）ことができる。すなわち、フラッシュＲＯＭを内蔵したマイクロコンピュータは、フラッシュＲＯＭに対してプログラムのリード・ライト処理を行うフラッシュ制御回路と、フラッシュＲＯＭに対するリード・ライト処理用のプログラムが格納されたフラッシュ制御ＲＯＭ等とを備えることにより、フラッシュＲＯＭの書き換え時、ＣＰＵはフラッシュ制御ＲＯＭに格納されたプログラムに従い、フラッシュ制御回路を用いてフラッシュＲＯＭに対するプログラムのリード・ライト処理を行うことができる。
ここで、フラッシュＲＯＭに格納されるアプリケーション等の開発段階におけるデバッグ等の作業中には頻繁にフラッシュＲＯＭの書き換えが発生するので、アプリケーションのデバッグ効率を上げるために、フラッシュＲＯＭの書き換えを短時間（高アクセス速度）で行いたいという要望がある。
【０００４】
そこで、フラッシュＲＯＭの替わりに、フラッシュＲＯＭエミュレータとして、フラッシュＲＯＭよりアクセス速度が速い疑似ＳＲＡＭ（ＰＳＲＡＭ：ハードウェアによって実装されるエミュレータ）を使用することが提案されている。
その場合の構成を図７に示す。図７では、ＣＰＵ・ＶＤＰ３１とバッファ・セレクタ３２と疑似ＳＲＡＭ３３とが開発用の専用の１つの基板上に配置され、所定のＣＰＵ３５が他の基板上に配置され、外部にデバッグ等の作業を行うＰＣ（Personal Computer）３４が設けられている。
【０００５】
ＣＰＵ・ＶＤＰ３１〜バッファ・セレクタ３２〜疑似ＳＲＡＭ３３
図７に示すような構成において、少なくとも１つ以上の疑似ＳＲＡＭ３３に格納されるアプリケーション等のデータは、リード要求の場合、バッファ・セレクタ３２を介してＣＰＵ・ＶＤＰ３１等からのチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を受けて、データバス（ＤＴ）を経由してリードされる。これらの一連のやりとりは上記のフラッシュＲＯＭインターフェースと同一のインターフェースであるＳＲＡＭインターフェースにより行われる。
【０００６】
ＰＣ３４〜ＣＰＵ３５〜バッファ・セレクタ３２〜疑似ＳＲＡＭ３３
一方、図７に示すような構成において、デバッグ等の作業を行うＰＣ３４等はＵＳＢ等を経由して、ＵＳＢインターフェース等からＳＲＡＭインターフェースへ変換する機能を有する所定のＣＰＵ３５を介してチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）・ライト（ＷＲ）等の命令を送る。この命令はバッファ・セレクタ３２を介してデータバス（ＤＴ）を経由して疑似ＳＲＡＭ３３に送られ、ライト要求の場合、疑似ＳＲＡＭ３３にデータがライトされ、一方リード要求の場合、疑似ＳＲＡＭ３３に格納されるアプリケーション等のデータは、バッファ・セレクタ３２を介してデータバス（ＤＴ）を経由してリードされる。これらの一連のやりとりのうちＵＳＢインターフェースによるＰＣ３４と所定のＣＰＵ３５とのやりとり以外は、上記のフラッシュＲＯＭインターフェースと同一のインターフェースであるＳＲＡＭインターフェースにより行われる。
なお、最終的にデバッグ等が済んだアプリケーション等は、ＲＯＭライタにより図６に示すような構成におけるフラッシュＲＯＭ２３に格納される。
【０００７】
しかし、近時、例えば、以下のような数値のようにフラッシュＲＯＭのアクセス速度が速くなり、疑似ＳＲＡＭでは対応できなくなってきている。
【０００８】
フラッシュＲＯＭのアクセス速度（要求されるアクセス速度）
ランダムアクセス：９６ｎｓ（ナノ秒、以下同様）
ページアクセス（連続したアドレスに短いタイミングでアクセス可能）：１５ｎｓ
疑似ＳＲＡＭを使用した場合のアクセス速度
ランダムアクセス：７０ｎｓ
ページアクセス：２０ｎｓ
【０００９】
従って、上記の疑似ＳＲＡＭに代わるフラッシュＲＯＭエミュレータが求められることとなる。
【００１０】
ここで、フラッシュＲＯＭエミュレータとして、疑似ＳＲＡＭの替わりに、例えば、以下のような数値の性能であるＤＤＲ２−ＳＤＲＡＭを使用できれば、低コストでアクセス速度の問題を解決できる。
【００１１】
ＤＤＲ２−ＳＤＲＡＭのアクセス速度
ランダムアクセス：６６．６ｎｓ
ページアクセス：０ｎｓ（ランダムアクセスの６６．６ｎｓで、実質的に１ページ分（８ワード：１６ｂｉｔ）のデータをリード可能なので）
【００１２】
価格比較
疑似ＳＲＡＭ：１２８Ｍｂｉｔで市場価格５００円
１６Ｇｂｉｔ：５００円×１２８個＝６４，０００円
ＤＤＲ２−ＳＤＲＡＭ：１６Ｇｂｉｔで市場価格５，０００円
【００１３】
フラッシュＲＯＭに格納されたプログラムをデバッグする際の関連技術として、フラッシュＲＯＭエミュレータを用いるのではなく、ＣＰＵと、ＣＰＵで実行するプログラムが書き換え可能に格納されるフラッシュＲＯＭとを有するマイクロコンピュータにおいて、フラッシュＲＯＭに格納されたプログラムをデバッグするためのデバッグプログラムが格納されたメモリと、デバッグ時に、ＣＰＵにデバッグプログラムを実行させる切換回路とを有することで、プリント基板に実装された状態でのデバッグを可能にする技術もある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開平１１−６５８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、フラッシュＲＯＭエミュレータとして、ＤＤＲ２−ＳＤＲＡＭを使用した場合には、定期的にリフレッシュ（データを保持するためにＤＲＡＭの素子に電荷を補充すること）が必要で、リフレッシュ期間中はノイズの発生等に起因してＤＤＲ２−ＳＤＲＡＭのリードを実施できないという問題があるため、リフレッシュ中にＤＤＲ２−ＳＤＲＡＭのリードを実施できるようにするための工夫が必要になる。
【００１６】
本発明の目的は、フラッシュＲＯＭエミュレータとして、ＤＤＲ２−ＳＤＲＡＭ等のＤＲＡＭを使用した場合のリフレッシュ期間中であってもＤＲＡＭのリードを実施できるフラッシュＲＯＭエミュレータおよびデータ制御方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明のフラッシュＲＯＭエミュレータは、ミラーリングされている複数のＤＲＡＭを備え、
プロセッサおよび外部装置からのリード要求に対して前記複数のＤＲＡＭのうちリフレッシュをしていないものからデータを読み出すことを特徴とする。
【００１８】
また、本発明のデータ制御方法は、複数のＤＲＡＭをミラーリングするステップと、
プロセッサおよび外部装置からのリード要求に対して前記複数のＤＲＡＭのうちリフレッシュをしていないものからデータを読み出すステップとを有することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、フラッシュＲＯＭエミュレータとして、ＤＤＲ２−ＳＤＲＡＭ等のＤＲＡＭを使用した場合のリフレッシュ期間中であってもＤＲＡＭのリードを実施できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係るフラッシュＲＯＭエミュレータの構成を示す図である。
【図２】本発明の実施の形態に係るリフレッシュの仕様の一例を示す図である。
【図３】本発明の実施の形態に係るリード処理のシーケンス図である。
【図４】本発明の実施の形態に係るリード処理のシーケンス図である。
【図５】本発明の実施の形態に係るライト処理のシーケンス図である。
【図６】フラッシュＲＯＭエミュレータを用いない構成を示す図である。
【図７】フラッシュＲＯＭエミュレータとして疑似ＳＲＡＭを用いた構成を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１に示す本実施の形態におけるフラッシュＲＯＭエミュレータは、ＣＰＵ・ＶＤＰ１１とＰＬＤ（Programmable Logic Device）１２とＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２とが、例えば、開発用の専用の１つの基板上に配置され、所定のＣＰＵ１５が他の基板上に配置され、外部にデバッグ等の作業を行うＰＣ（Personal Computer）１４が設けられ構成されている。
【００２２】
本実施の形態におけるフラッシュＲＯＭエミュレータ１３−１、１３−２は、従来の疑似ＳＲＡＭの替わりに、ＤＤＲ２−ＳＤＲＡＭを使用している。なお、同等の機能を有するメモリ装置であればＤＤＲ２−ＳＤＲＡＭに限定されない。
【００２３】
フラッシュＲＯＭエミュレータとして、ＤＤＲ２−ＳＤＲＡＭを使用した場合には、定期的にリフレッシュ（データを保持するためにＤＲＡＭの素子に電荷を補充することＤＲＡＭの素子に電荷を補充すること）が必要で、リフレッシュ期間中はノイズの発生等に起因してＤＤＲ２−ＳＤＲＡＭのリードを実施できないという問題があるため、リフレッシュ中にＤＤＲ２−ＳＤＲＡＭのリードを実施できるようにするための工夫が必要になる。
【００２４】
図１の構成では、少なくとも１つ以上のＤＤＲ２−ＳＤＲＡＭ（ＳＯ−ＤＩＭＭ）を２チャネル（２セット）備えている。なお、少なくとも１チャネルが常にリード可能であればよく２チャネルでなく３チャネル以上であってもよい。
また、上記の図６・図７のフラッシュＲＯＭと疑似ＳＲＡＭとが単純に置換可能であったのとは異なり、フラッシュＲＯＭとＤＤＲ２−ＳＤＲＡＭとは単純に置換可能ではないのでＰＬＤ１２が設けられている。
【００２５】
図１に示す２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２は、ＰＬＤ１２によりミラーリングするように制御される。また、ＤＤＲ２−ＳＤＲＡＭは、データを保持するために定期的にリフレッシュを行う必要がある。このとき、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２を同時にリフレッシュしないよう、すなわちリフレッシュのタイミングが重ならないように、ＰＬＤ１２は各チャネルを交互にリフレッシュするように制御する。
【００２６】
ＰＬＤ１２の機能についてより詳細に説明する。特に、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のリフレッシュが重ならないように制御する機能と、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がリフレッシュをしているか否かを判定する機能と、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２をミラーリングさせる機能とについて説明する。
リフレッシュの仕様の一例として、ＥＢＥ２１ＵＥ８ＡＣＵＡのデータシートに基づくリフレッシュの仕様を図２に示す。図２を参照すると、
（１）Ｒｅｆｒｅｓｈ ｃｙｃｌｅｓ：８１９２ｃｙｃｌｅｓ／６４ｍｓ（（２）と同様）
（２）Ｒｅｆｒｅｓｈ ｒａｔｅ：７．８ｕｓ（すなわち、各チャネルは、７．８ｕｓに１回リフレッシュが必要である）
（３）Ａｕｔｏ ｒｅｆｒｅｓｈ ｃｏｍａｎｄ ｃｙｃｌｅ(ｔＲＦＣ)：１２７ｎｓ（すなわち、１回のリフレッシュに必要な時間は１２７ｎｓである）
従って、リフレッシュに必要な時間の割合は、１２７ｎｓ／７．８ｕｓ×１００％＝１．６％であり、残り９８．４％の時間はリードを行うことが可能である。
２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のリフレッシュが重ならないように制御する機能について、図２の「Ｒｅｆｒｅｓｈ」の枠（７．８ｕｓを２等分した３．９ｕｓ：リフレッシュ可能期間）は、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２で重ならないように設定されるので、図２の「Ｒｅｆｒｅｓｈ」の枠のタイミングで、各チャネルがリフレッシュを行うようにＰＬＤ１２は、自分自身が２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２の各チャネルに対してリフレッシュコマンドを発行する。なお、１回のリフレッシュは、７．８ｕｓを２等分した３．９ｕｓの間の任意のタイミングで、１２７ｎｓ×１回のリフレッシュを行えばよい。７．８ｕｓを２等分した３．９ｕｓは一例であり、分割割合等は複数チャネルのＤＤＲ２−ＳＤＲＡＭのリフレッシュ可能期間が重ならない限り種々のものが適用可能である。
２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がリフレッシュをしているか否かを判定する機能について、ＰＬＤ１２は、自分自身が２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２の各チャネルに対して、リフレッシュのタイミングが重ならないようにリフレッシュコマンドを発行するため、リフレッシュの開始タイミングは自分自身で把握しており、また、１回のリフレッシュに必要な時間は、上記の１２７ｎｓと分かっているので、加算により算定しリフレッシュの終了時間も把握できるので、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２についてリフレッシュしているか否かを判断可能である。
ＣＰＵ・ＶＤＰ１１やＰＣ１４からのリード要求があった場合は、図２の「Ｒｅａｄ」の枠の（７．８ｕｓを２等分した３．９ｕｓ）タイミング（リフレッシュ中でないことを保証）にある、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のいずれかのチャネルからリードする。
また、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２をミラーリングさせる機能について、ＰＬＤ１２は、ＰＣ１４からＣＰＵ１５を経由して、ライトデータを受け取ると、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２の各チャネルに受け取ったライトデータを書き込む（ミラーリング）が、ライトする場合の必要時間制限はないので、例えば図２の「Ｒｅａｄ」の枠のタイミングで行えばよい。
【００２７】
ＣＰＵ・ＶＤＰ１１〜ＰＬＤ１２〜ＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２
図１に示すような構成において、リード要求の場合、ＣＰＵ・ＶＤＰ１１等からのチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令は、ＣＰＵ・ＶＤＰ１１から接続相手がフラッシュＲＯＭであるように見せる必要があるため、上記のフラッシュＲＯＭインターフェースと同一のインターフェースであるＳＲＡＭインターフェースにより行われ、ＰＬＤ１２によりＤＤＲ２−ＳＤＲＡＭインターフェースに変更され、ＰＬＤ１２から２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭに送られ、リードを行う。なお、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がいずれもリフレッシュしていない場合は、いずれか一方に送られ、リードを行うことであってよい。
そして、ＰＬＤ１２からチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を送られたＤＤＲ２−ＳＤＲＡＭに格納されるアプリケーション等のデータは、当該ＤＤＲ２−ＳＤＲＡＭからＤＤＲ２−ＳＤＲＡＭインターフェースにより送られ、ＰＬＤ１２によりＳＲＡＭインターフェースに変更され、データバス（ＤＴ）を経由してＣＰＵ・ＶＤＰ１１に送られリードの実施が完了する。
【００２８】
ＰＣ１４〜ＣＰＵ１５〜ＰＬＤ１２〜ＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２
一方、図１に示すような構成において、デバッグ等の作業を行うＰＣ１４等はＵＳＢ等を経由して、ＵＳＢインターフェース等からＳＲＡＭインターフェースへ変換する機能を有する所定のＣＰＵ１５を介してチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）・ライト（ＷＲ）等の命令を送る。この命令はＰＬＤ１２によりＤＤＲ２−ＳＤＲＡＭインターフェースに変更され、ライト要求の場合、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２にそれぞれ同じデータがライトされ、一方リード要求の場合、ＰＬＤ１２から２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭに送られ、リードを行う。なお、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がいずれもリフレッシュしていない場合は、いずれか一方に送られ、リードを行うことであってよい。
そして、ＰＬＤ１２からチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を送られたＤＤＲ２−ＳＤＲＡＭに格納されるアプリケーション等のデータは、ＤＤＲ２−ＳＤＲＡＭからＤＤＲ２−ＳＤＲＡＭインターフェースにより送られ、ＰＬＤ１２によりＳＲＡＭインターフェースに変更され、データバス（ＤＴ）を経由して所定のＣＰＵ１５に送られ、さらに所定のＣＰＵ１５によりＵＳＢインターフェースに変更され、ＵＳＢを経由してＰＣ１４に送られ、リードの実施が完了する。
【００２９】
最終的にデバッグ等が済んだアプリケーション等は、ＰＣ１４等からＲＯＭライタにより図６に示すような構成におけるフラッシュＲＯＭ２３に格納される。
【００３０】
なお、ＣＰＵ・ＶＤＰ１１からのランダムリード要求で、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭから１ページ分全てリードしてＰＬＤ１２内のバッファにバッファリングしておく。そして、ＣＰＵ・ＶＤＰ１１からのページリード要求では、先のランダムリード要求でリードしてバッファリングしておいたデータをＰＬＤ１２のバッファからリードし、ＣＰＵ・ＶＤＰ１１に出力することであってよい。
ＤＤＲ２−ＳＤＲＡＭのランダムアクセスの速度、６６．６ｎｓで、実質的に１ページ分（８ワード：１６ｂｉｔ）のデータをリード可能だからである。
【００３１】
以下、本実施の形態のフラッシュＲＯＭエミュレータの処理動作を示す図３〜４のシーケンス図を参照して詳細に説明する。
【００３２】
図３は、図１に示すような構成において、ＣＰＵ・ＶＤＰ１１〜ＰＬＤ１２〜ＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のリード要求の場合のシーケンス図である。
【００３３】
図３を参照すると、まず、ＣＰＵ・ＶＤＰ１１等からチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令がＰＬＤ１２に送られる（Ｓ２０１）。なお、ＣＰＵ・ＶＤＰ１１から接続相手がフラッシュＲＯＭであるように見せる必要があるため、上記のフラッシュＲＯＭインターフェースと同一のインターフェースであるＳＲＡＭインターフェースにより行われる。
そして、チップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令はＰＬＤ１２によりＤＤＲ２−ＳＤＲＡＭインターフェースに変更される（Ｓ２０２）。
ＰＬＤ１２は、上述のとおり、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２を同時にリフレッシュしないよう、すなわちリフレッシュのタイミングが重ならないように、ＰＬＤ１２は各チャネルを交互にリフレッシュするように制御する機能を有しているので、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭを判定し（Ｓ２０３）、ＰＬＤ１２から２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭ（図３中ではＤＤＲ２−ＳＤＲＡＭ１３−１とする）にＤＤＲ２−ＳＤＲＡＭインターフェースに変更されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令が送られ、リードを行う（Ｓ２０４、Ｓ２０５）。なお、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がいずれもリフレッシュしていない場合は、いずれか一方に送られ、リードを行うことであってよい。
さらに、ＰＬＤ１２からＤＤＲ２−ＳＤＲＡＭインターフェースに変更されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を送られたＤＤＲ２−ＳＤＲＡＭに格納されるアプリケーション等のデータは、当該ＤＤＲ２−ＳＤＲＡＭからＤＤＲ２−ＳＤＲＡＭインターフェースによりＰＬＤ１２に送られ（Ｓ２０６）、ＰＬＤ１２によりＳＲＡＭインターフェースに変更され（Ｓ２０７）、データバス（ＤＴ）を経由してＣＰＵ・ＶＤＰ１１に送られ（Ｓ２０８）、リードの実施が完了する。
【００３４】
図４は、図１に示すような構成において、ＰＣ１４〜ＣＰＵ１５〜ＰＬＤ１２〜ＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のリード要求の場合のシーケンス図である。
【００３５】
図４を参照すると、まず、デバッグ等の作業を行うＰＣ１４等からＵＳＢ等を経由して、チップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令が所定のＣＰＵ１５に送られる（Ｓ３０１）。
そして、チップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令は所定のＣＰＵ１５によりＵＳＢインターフェース等からＳＲＡＭインターフェースへ変換される（Ｓ３０２）。
所定のＣＰＵ１５からＳＲＡＭインターフェースへ変換されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令がＰＬＤ１２に送られる（Ｓ３０３）。
そして、チップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令はＰＬＤ１２によりＤＤＲ２−ＳＤＲＡＭインターフェースに変更される（Ｓ３０４）。
ＰＬＤ１２は、上述のとおり、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２を同時にリフレッシュしないよう、すなわちリフレッシュのタイミングが重ならないように、ＰＬＤ１２は各チャネルを交互にリフレッシュするように制御する機能を有しているので、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭを判定し（Ｓ３０５）、ＰＬＤ１２から２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のうちリフレッシュしていない方のＤＤＲ２−ＳＤＲＡＭ（図４中ではＤＤＲ２−ＳＤＲＡＭ１３−１とする）にＤＤＲ２−ＳＤＲＡＭインターフェースに変更されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令が送られ、リードを行う（Ｓ３０６、Ｓ３０７）。なお、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２がいずれもリフレッシュしていない場合は、いずれか一方に送られ、リードを行うことであってよい。
さらに、ＰＬＤ１２からＤＤＲ２−ＳＤＲＡＭインターフェースに変更されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・リード（ＲＤ）等の命令を送られたＤＤＲ２−ＳＤＲＡＭに格納されるアプリケーション等のデータは、当該ＤＤＲ２−ＳＤＲＡＭからＤＤＲ２−ＳＤＲＡＭインターフェースによりＰＬＤ１２に送られ（Ｓ３０８）、ＰＬＤ１２によりＳＲＡＭインターフェースに変更され（Ｓ３０９）、データバス（ＤＴ）を経由して所定のＣＰＵ１５に送られ（Ｓ３１０）、所定のＣＰＵ１５によりＵＳＢインターフェースに変更され（Ｓ３１１）、ＵＳＢを経由してＰＣ１４等に送られ（Ｓ３１２）、リードの実施が完了する。
【００３６】
図５は、図１に示すような構成において、ＰＣ１４〜ＣＰＵ１５〜ＰＬＤ１２〜ＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のライト要求の場合のシーケンス図である。
【００３７】
図５を参照すると、まず、デバッグ等の作業を行うＰＣ１４等からＵＳＢ等を経由して、チップセレクト（ＣＳ）・アドレス（ＡＤ）・ライト（ＷＲ）等の命令が所定のＣＰＵ１５に送られる（Ｓ４０１）。
そして、チップセレクト（ＣＳ）・アドレス（ＡＤ）・ライト（ＷＲ）等の命令は所定のＣＰＵ１５によりＵＳＢインターフェース等からＳＲＡＭインターフェースへ変換される（Ｓ４０２）。
所定のＣＰＵ１５からＳＲＡＭインターフェースへ変換されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・ライト（ＷＲ）等の命令がＰＬＤ１２に送られる（Ｓ４０３）。
そして、チップセレクト（ＣＳ）・アドレス（ＡＤ）・ライト（ＷＲ）等の命令はＰＬＤ１２によりＤＤＲ２−ＳＤＲＡＭインターフェースに変更される（Ｓ４０４）。
ＰＬＤ１２は、上述のとおり、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２を同時にリフレッシュしないよう、すなわちリフレッシュのタイミングが重ならないように、ＰＬＤ１２は各チャネルを交互にリフレッシュするように制御する機能を有しているので、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のいずれかがリフレッシュしているか判定し（Ｓ４０５）、いずれかがリフレッシュしている場合には、リフレッシュが終了してから、ＰＬＤ１２は、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２にそれぞれＤＤＲ２−ＳＤＲＡＭインターフェースに変更されたチップセレクト（ＣＳ）・アドレス（ＡＤ）・ライト（ＷＲ）等の命令を送り、同一のデータの書き込みを行いライトを実施する（Ｓ４０６、Ｓ４０７）。なお、２チャネルのＤＤＲ２−ＳＤＲＡＭ１３−１、１３−２のいずれかがリフレッシュ中であってもライトは要求されるアクセス速度・タイミングに余裕があるのでリフレッシュが終了してからライトを実施すればよい。
【００３８】
上記の本実施の形態によれば、フラッシュＲＯＭのアクセス速度（要求されるアクセス速度）である、ランダムアクセス：９６ｎｓ、ページアクセス：１５ｎｓに対応可能であり、また転送速度も従来：２７３秒／１６Ｇｂｉｔから１３２秒／１６Ｇｂｉｔへ短縮される。
【００３９】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、本フラッシュＲＯＭエミュレータの機能を実現するためのプログラムを各装置に読込ませて実行することにより各装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるＣＤ−ＲＯＭまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。また、各装置の機能が他の装置によりまとめて実現されたり、追加の装置により機能が分散されて実現される形態も本発明の範囲内である。
【符号の説明】
【００４０】
１１    ＣＰＵ・ＶＤＰ
１２    ＰＬＤ
１３−１、１３−２    ＤＤＲ２−ＳＤＲＡＭ
１４    ＰＣ
１５    ＣＰＵ
【図１】
0005676169.tif 000002
【図２】
0005676169.tif 000003
【図３】
0005676169.tif 000004
【図４】
0005676169.tif 000005
【図５】
0005676169.tif 000006
【図６】
0005676169.tif 000007
【図７】
0005676169.tif 000008