(57)【特許請求の範囲】
【請求項１】
複数のメモリセルアレイと、
コマンド端子及びアドレス端子における入力に基づいて、データの入出力を行うデータ端子を有する複数のポートと、
前記コマンド端子及び前記アドレス端子から入力されるデータ転送コマンドに基づくデータ転送を行う際に、前記データ転送コマンドに含まれるアドレス信号に基づき、転送元メモリセルアレイにおける転送元アドレス又は転送先メモリセルアレイにおける転送先アドレスを生成する複数の内部アドレス生成回路と、
前記データ転送コマンドに基づき、前記転送元メモリセルアレイにおける前記転送元アドレスで指定される領域から読み出すデータを、順次内部データバスを介して、前記転送先メモリセルアレイにおける前記転送先アドレスで指定される領域に書き込む制御回路と、
を備えることを特徴とする半導体記憶装置。
【請求項２】
前記データ転送コマンドは、
前記ポートのコマンド端子及びアドレス端子から入力されるバースト読み出しコマンドと、該ポートから続いて入力されるバースト書き込みコマンドとの組み合せで示されるコマンドであり、
前記制御回路は、
前記データ転送コマンドのバースト読み出しコマンドにより読み出されるデータを、順次前記内部データバスを介して、前記データ転送コマンドのバースト書き込みコマンドで用いられる書き込みデータとする、
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記メモリセルアレイは、
それぞれ１つの前記ポートのみから読み出し及び書き込みが行われる複数の専用メモリセルアレイと、
複数の前記ポートから読み出し及び書き込みが行われる共有メモリセルアレイと、
を備え、
前記ポート及び前記共有メモリセルアレイは、それぞれ前記内部アドレス生成回路を備え、
異なる前記専用メモリセルアレイの間のデータ転送は、
転送元の前記専用メモリセルアレイを前記転送元メモリセルアレイとして当該専用メモリセルアレイから読み出されたデータを、前記共有メモリセルアレイを前記転送先メモリセルアレイとして記録し、当該共有メモリセルアレイを前記転送元メモリセルアレイとして当該共有メモリセルアレイから読み出されたデータを、転送先の前記専用メモリセルアレイを前記転送先メモリセルアレイとして記録することで行われる、
ことを特徴とする請求項１又は請求項２に記載の半導体記憶装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載の半導体記憶装置と、
前記半導体記憶装置が有する各ポートに１つずつ接続された複数のプロセッサと、
を備えることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に半導体記憶装置において、複数のプロセッサに接続する複数のポートと、プロセッサからアクセスされる共有メモリ領域及び専用メモリ領域とを備える半導体記憶装置及びその半導体記憶装置を含むデータ処理システムに関する。
【背景技術】
【０００２】
近年、携帯電話などに搭載されるデータ処理システムは、メールの編集やウェブブラウジングなどのアプリケーションを実行するアプリケーションプロセッサと、通話及び通信に関する処理を実行するベースバンドプロセッサとの間のデータ転送に用いられるＤＲＡＭ（Dynamic Random Access Memory）を備えている。データ処理システム内のバスを使用するよりも高速にアプリケーションプロセッサとベースバンドプロセッサとの間のデータ転送が行えると共に、部品点数を削減できるＤＲＡＭとしてマルチポートＤＲＡＭが提案されている（例えば、特許文献１、特許文献２、特許文献３及び非特許文献１参照）。マルチポートＤＲＡＭが備えるそれぞれのポートは、汎用のＤＲＡＭと同じ入出力を有しており、汎用ＤＲＡＭと同じプロトコルを用いてアクセスできるため、マルチポートＤＲＡＭはメモリコントロールのプロトコルを変更することなく利用できる利便性がある。
【０００３】
また、マルチポートＤＲＡＭに備えられる複数のメモリセルアレイは、接続される各プロセッサの作業領域としてのポートごとに対応づけられ当該ポートからのみアクセスできる専用メモリセルアレイと、各ポートで共有されデータを転送するに用いられるデータ受渡し領域としての共有メモリセルアレイとを備える。共有メモリセルアレイに記憶されるデータを専用メモリセルアレイに転送する際、各プロセッサは、共有メモリセルアレイからプロセッサが接続されるポートの専用メモリセルアレイへデータを転送してから処理を行い、他のプロセッサのマルチポートＤＲＡＭへのアクセスのデータ転送の妨げにならないようにしている。
【０００４】
図５は、従来例として、マルチポートＤＲＡＭとして２つのポートを備えるＤｕａｌＰｏｒｔＤＲＡＭ６０を備えたデータ処理システム２とプロセッサとしてのベースバンドプロセッサ１０及びアプリケーションプロセッサ４０との接続を示す概略ブロック図である。ベースバンドプロセッサ１０が、データをアプリケーションプロセッサ４０にデータを転送する動作は、次のステップで行う。
ベースバンドプロセッサ１０は、ＤｕａｌＰｏｒｔＤＲＡＭ６０とベースバンドプロセッサ１０とを接続するＢ−Ｐｏｒｔバス２１を介して、転送するデータを共有メモリセルアレイ６１６にデータを記憶させる（ステップａ）。
次に、アプリケーションプロセッサ４０は、ＤｕａｌＰｏｒｔＤＲＡＭ６０とアプリケーションプロセッサ４０とを接続するＡ−Ｐｏｒｔバス３１を介して、当該データを共有メモリセルアレイ６１６から読み出す（ステップｂ）。続いて、アプリケーションプロセッサ４０は、Ａ−Ｐｏｒｔバス３１を介して、読み出したデータをＡ−Ｐｏｒｔバス３１に対応する専用メモリセルアレイ６０５へ記憶させる（ステップｃ）。
以上の動作により、ベースバンドプロセッサ１０からアプリケーションプロセッサ４０へ、データの転送を行う。
【０００５】
図６は、ＤｕａｌＰｏｒｔＤＲＡＭ６０の内部構成を示した概略ブロック図である。
コマンド端子（ＣＬＫａ、ＣＫＥａ、／ＣＳａ、／ＲＡＳａ、／ＣＡＳａ及び／ＷＥａ）、アドレス端子（Ａ０ａ、…、Ａｎａ）及びデータ端子（ＤＱ０ａ、…、ＤＱ３１ａ、ＤＱＳ０ａ、…、ＤＱＳ３ａ）を含むポートであるＡ−Ｐｏｒｔ３０からの読み出し及び書き込みは、クロック生成回路６００、コマンドデコーダ６０１、アドレス生成回路６０２及び制御回路６０３を用いて、専用メモリセルアレイ６０４及び専用メモリセルアレイ６０５と、共有メモリセルアレイ６１６とに対して行われる。また、コマンド端子（ＣＬＫｂ、ＣＫＥｂ、／ＣＳｂ、／ＲＡＳｂ、／ＣＡＳｂ及び／ＷＥｂ）、アドレス端子（Ａ０ｂ、…、Ａｎｂ）及びデータ端子（ＤＱ０ｂ、…、ＤＱ３１ｂ、ＤＱＳ０ｂ、…、ＤＱＳ３ｂ）を含むポートであるＢ−Ｐｏｒｔ２０からの読み出し及び書き込みは、クロック生成回路６１２、コマンドデコーダ６１３、アドレス生成回路６１４及び制御回路６１５を用いて、専用メモリセルアレイ６１７と、共有メモリセルアレイ６１６とに対して行われる。
【０００６】
図７はデータ処理システム２のＤｕａｌＰｏｒｔＤＲＡＭ６０に備えられる共有メモリセルアレイ６１６が記憶するデータを、アプリケーションプロセッサ４０のＡ−Ｐｏｒｔ３０を介した操作で、専用メモリセルアレイ６０５へ転送する動作を示すタイミングチャートである。なお、ＤｕａｌＰｏｒｔＤＲＡＭ６０は、読み出し及び書き込みコマンドのレイテンシは２クロックサイクルである。
タイミングＴ１において、Ａ−Ｐｏｒｔ３０から共有メモリセルアレイ６１６を読み出し及び書き込みができるアクティブな状態にするコマンド信号であるＡＣＴと共に、共有メモリセルアレイ６１６に対するアドレス信号であるＲｏｗＡＤＤが入力され、共有メモリセルアレイ６１６は、読み出し及び書き込みが可能な状態になる。また、タイミングＴ３において、専用メモリセルアレイ６０５に対するコマンド信号ＡＣＴとアドレス信号ＲｏｗＡＤＤが、Ａ−Ｐｏｒｔ３０から入力され、専用メモリセルアレイ６０５は読み出し及び書き込みが可能な状態になる。
【０００７】
タイミングＴ６において、Ａ−Ｐｏｒｔ３０から共有メモリセルアレイ６１６に対するデータのバースト読み出しコマンド信号であるＲＥＤとアドレスを示す信号であるＣｏｌＡＤＤとが入力される。これにより、タイミングＴ８において、共有メモリセルアレイ６１６に記憶されるデータは、Ａ−Ｐｏｒｔ３０が有するデータ端子ＤＱ０ａ、…、ＤＱ３１ａから出力される。タイミングＴ１２まで、読み出されたデータは、クロックサイクルごとにＡ−Ｐｏｒｔ３０が有するデータ端子ＤＱ０ａ、…、ＤＱ３１ａから順次出力される。
アプリケーションプロセッサ４０は、データの読み出しが完了するのを待ち、読み出したデータを専用メモリセルアレイ６０５に記憶させる動作を行う。
タイミングＴ１４において、Ａ−Ｐｏｒｔ３０から専用メモリセルアレイ６０５に対する書き込みコマンド信号であるＷＲＴとアドレスを示す信号であるＣｏｌＡＤＤが入力される。続くタイミングＴ１５からタイミングＴ２０まで、アプリケーションプロセッサ４０は、Ａ−Ｐｏｒｔ３０のデータ端子ＤＱ０ａ、…、ＤＱ３１ａに順次読み出したデータを順次入力し、１クロック遅れたタイミングＴ１６からタイミングＴ２０までに、専用メモリセルアレイ６０５に記憶させる。
【０００８】
以上の動作により、共有メモリセルアレイ６１６に記録されたデータは、専用メモリセルアレイ６０５に転送される。なお、専用メモリセルアレイ６０４や専用メモリセルアレイ６０５から共有メモリセルアレイ６１６へのデータの転送についても、同様の動作にて行う。また、ベースバンドプロセッサ１０が、アプリケーションプロセッサ４０からデータを受取る際の共有メモリセルアレイ６１６から専用メモリセルアレイ６１７へのデータ転送も同様に行う。
【特許文献１】米国特許出願公開第２００６／０１６１３３８号明細書
【特許文献２】米国特許出願公開第２００６／０２３６０４１号明細書
【特許文献３】特開２００７−３５０３９号公報
【非特許文献１】Kyung woo Nam、他１５名、“A 512Mb 2−Channel Mobile DRAM （OneDRAM（登録商標）） with Shared Memory Array”、IEEE Asian Solid−State Circuits Conference、Korea、November 12−14, 2007、７−１、ｐ２０４−２０７
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、マルチポートＤＲＡＭを用いたデータ転送においても、近年の携帯電話などの高機能化により転送するデータのサイズは増大しており、プロセッサの作業領域としての専用メモリ領域とデータを転送するために一時的にデータを蓄える共有メモリ領域との間の転送に要するクロックサイクルが増加し、データ処理性能が低下するという問題がある。
【００１０】
本発明は、上記問題を解決すべくなされたもので、その目的は、共有メモリセルアレイと専用メモリセルアレイとの間のデータ転送に要するクロックサイクルを削減することのできる複数のポートを備える半導体記憶装置及びその半導体記憶装置を含むデータ処理システムを提供することにある。
【課題を解決するための手段】
【００１１】
上記問題を解決するために、本発明は、複数のメモリセルアレイと、コマンド端子、アドレス端子及びデータ端子をそれぞれ有する複数のポートと、前記ポートのコマンド端子及びアドレス端子から入力されるデータ転送コマンドに基づくデータ転送を行う際に、前記データ転送コマンドに含まれるアドレス信号に基づき、転送元メモリセルアレイにおける転送元アドレス又は転送先メモリセルアレイにおける転送先アドレスを生成する複数の内部アドレス生成回路と、前記データ転送コマンドに基づき、前記転送元メモリセルアレイにおける前記転送元アドレスで指定される領域から読み出すデータを、順次内部データバスを介して、前記転送先メモリセルアレイにおける前記転送先アドレスで指定される領域に書き込む制御回路と、を備えることを特徴とする半導体記憶装置である。
【００１２】
また、本発明は、上記に記載の発明において、前記データ転送コマンドは、前記ポートのコマンド端子及びアドレス端子から入力されるバースト読み出しコマンドと、該ポートから続いて入力されるバースト書き込みコマンドとの組み合せで示されるコマンドであり、前記制御回路は、前記データ転送コマンドのバースト読み出しコマンドにより読み出されるデータを、順次前記内部データバスを介して、前記データ転送コマンドのバースト書き込みコマンドで用いられる書き込みデータとすることを特徴とする。
【００１３】
また、本発明は、上記に記載の発明において、前記メモリセルアレイは、それぞれ１つの前記ポートのみから読み出し及び書き込みが行われる複数の専用メモリセルアレイと、複数の前記ポートから読み出し及び書き込みが行われる共有メモリセルアレイと、を備え、前記ポート及び前記共有メモリセルアレイは、それぞれ前記内部アドレス生成回路を備え、異なる前記専用メモリセルアレイの間のデータ転送は、転送元の前記専用メモリセルアレイを前記転送元メモリセルアレイとして当該専用メモリセルアレイから読み出されたデータを、前記共有メモリセルアレイを前記転送先メモリセルアレイとして記録し、当該共有メモリセルアレイを前記転送元メモリセルアレイとして当該共有メモリセルアレイから読み出されたデータを、転送先の前記専用メモリセルアレイを前記転送先メモリセルアレイとして記録することで行われることを特徴とする。
【００１４】
また、上記問題を解決するために、本発明は、上記に記載の発明における半導体記憶装置と、前記半導体記憶装置が有する各ポートに１つずつ接続された複数のプロセッサと、を備えることを特徴とするデータ処理システムである。
【発明の効果】
【００１５】
この発明によれば、半導体記憶装置は、複数のメモリセルアレイと、コマンド端子、アドレス端子及びデータ端子をそれぞれ有する複数のポートと、ポートのコマンド端子及びアドレス端子で入力されるデータ転送コマンドに基づくデータ転送を行う際に、データ転送コマンドに含まれるアドレス信号に基づき、転送元メモリセルアレイにおける転送元アドレス及び転送先メモリセルアレイにおける転送先アドレスを出力する複数の内部アドレス生成回路と、データ転送コマンドに基づき、転送元メモリセルアレイにおける転送元アドレスで指定される領域から読み出すデータを、内部データバスを介して、転送先メモリセルアレイにおける転送先アドレスで指定される領域に書き込む制御回路と、を備える構成とした。これにより、データ転送コマンドが入力された半導体記憶装置は、転送元のメモリセルアレイが記憶するデータを、内部データバスを介して、転送先のメモリセルアレイへ入力することが可能となり、一旦半導体記憶装置に接続される外部装置へデータを読み出すことなく、データの転送を行うことが可能となる。そのため、外部装置は、半導体記憶装置からデータの読み出しが完了せずとも、データの書き込みが可能となる。すなわち、内部データバスを介して、転送元のメモリセルアレイから読み出すデータを、順次転送先のメモリセルアレイへ書き込みデータとして入力することで、読み出しの動作と書き込みの動作とが並行して行われることになる。したがって、データ転送に要するクロックサイクルが削減されて、データ処理性能の効率化を図ることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について図１から図４を参照して説明する。本実施形態のマルチポートＤＲＡＭの一例として、２つのポートを有するメモリコアであるＤｕａｌＰｏｒｔＤＲＡＭ７０及びＤｕａｌＰｏｒｔＤＲＡＭ７０を用いたデータ処理システム１について説明する。
図１は、本実施形態のデータ処理システム１の構成例を示す概略ブロック図である。データ処理システム１は、ベースバンドプロセッサ１０と、ＤｕａｌＰｏｒｔＤＲＡＭ７０と、アプリケーションプロセッサ４０と、ベースバンドプロセッサ１０とＤｕａｌＰｏｒｔＤＲＡＭ７０とを接続するＢ−Ｐｏｒｔバス２１と、アプリケーションプロセッサ４０とＤｕａｌＰｏｒｔＤＲＡＭ７０とを接続するＡ−Ｐｏｒｔバス３１とを有している。以下の説明では、アプリケーションプロセッサ４０とベースバンドプロセッサ１０とを外部装置として説明する。
【００１７】
次に、図２は、本実施形態のＤｕａｌＰｏｒｔＤＲＡＭ７０の内部構成を示した概略ブロック図である。
ＤｕａｌＰｏｒｔＤＲＡＭ７０は、クロック信号が入力されるＣＬＫａ端子及びＣＫＥａ端子と、コマンド信号が入力される／ＣＳａ端子、／ＲＡＳａ端子、／ＣＡＳａ端子及び／ＷＥａ端子と、アドレス信号が入力されるＡ０ａ、…、Ａｎａ端子と、データ信号が入力されるＤＱ０ａ、…、ＤＱ３１ａ端子と、データストローブ信号が入力されるＤＱＳ０ａ、…、ＤＱＳ３ａ端子とを含むポートであるＡ−Ｐｏｒｔ３０を備えている。また、ＤｕａｌＰｏｒｔＤＲＡＭ７０は、クロック信号が入力されるＣＬＫｂ端子及びＣＫＥｂ端子と、コマンド信号が入力される／ＣＳｂ端子、／ＲＡＳｂ端子、／ＣＡＳｂ端子及び／ＷＥｂ端子と、アドレス信号が入力されるＡ０ｂ、…、Ａｎｂ端子と、データ信号が入力されるＤＱ０ｂ、…、ＤＱ３１ｂ端子と、データストローブ信号が入力されるＤＱＳ０ｂ、…、ＤＱＳ３ｂ端子とを含むポートであるＢ−Ｐｏｒｔ２０を備えている。
【００１８】
また、ＤｕａｌＰｏｒｔＤＲＡＭ７０は、クロック生成回路７００及び７１２と、コマンドデコーダ７０１及び７１３と、アドレスラッチ回路７０２及び７１４と、専用メモリセルアレイ７０４、７０５及び７１７と、共有メモリセルアレイ７１６とを備えている。また、ＤｕａｌＰｏｒｔＤＲＡＭ７０は、読み出しデータ増幅回路であるＤａｍｐ７０６、７０８、７１８及び７２０と、書き込みデータバッファであるＷｂｕｆ７０７、７０９、７１９及び７２１と、出力データバッファ７１０及び７２２と、入力データバッファ７１１及び７２３と、データバッファ７２４及び７２５とを備えている。また、ＤｕａｌＰｏｒｔＤＲＡＭ７０は、内部アドレス生成回路７２６、７２７及び７２８と、制御回路７２９及び７３０と、選択回路であるＭＵＸ７３１と、内部データバスであるＡリードバス７５１、Ａライトバス７５２、Ｂリードバス７５３及びＢライトバス７５４を有している。
【００１９】
なお、ＣＬＫａ端子、ＣＫＥａ端子、／ＣＳａ端子、／ＲＡＳａ端子、／ＣＡＳａ端子、／ＷＥａ端子、ＣＬＫｂ端子、ＣＫＥｂ端子、／ＣＳｂ端子、／ＲＡＳｂ端子、／ＣＡＳｂ端子及び／ＷＥｂ端子は、コマンド端子である。また、Ａ０ａ、…、Ａｎａ端子とＡ０ｂ、…、Ａｎｂ端子とは、アドレス端子である。また、ＤＱ０ａ、…、ＤＱ３１ａ端子と、ＤＱＳ０ａ、…、ＤＱＳ３ａ端子と、ＤＱ０ｂ、…、ＤＱ３１ｂ端子と、ＤＱＳ０ｂ、…、ＤＱＳ３ｂ端子とは、データ端子である。
なお、ＤｕａｌＰｏｒｔＤＲＡＭ７０は、読み出し及び書き込みコマンドのレイテンシは２クロックサイクルである。レイテンシが２クロックサイクルとは、読み出しコマンドを入力した２クロックサイクル後にデータが出力されることであり、また、書き込みコマンドを入力した２クロックサイクル後に、書き込みを行うメモリセルアレイにデータを入力することである。ＤｕａｌＰｏｒｔＤＲＡＭ７０には、その１クロック前にデータを入力することになるため、書き込みコマンドが入力された１クロックサイクル後にデータが入力されることになる。また、バースト長は８であり、入出力されるデータ幅は３２ビットである。
【００２０】
Ａ−Ｐｏｒｔ３０に対応する専用メモリセルアレイ７０４及び専用メモリセルアレイ７０５は、Ａ−Ｐｏｒｔ３０を通じてのみデータの読み出し及び書き込みが行われる記憶領域である。また、共有メモリセルアレイ７１６は、Ａ−Ｐｏｒｔ３０及びＢ−Ｐｏｒｔ２０の両方を通じてデータの読み出し及び書き込みが行われる記憶領域である。また、Ｂ−Ｐｏｒｔ２０に対応する専用メモリセルアレイ７１７は、Ｂ−Ｐｏｒｔ２０を通じてのみデータの読み出し及び書き込みが行われる記憶領域である。
【００２１】
クロック生成回路７００は、Ａ−Ｐｏｒｔ３０の有するＣＬＫａ端子及びＣＫＥａ端子からクロック信号が入力され、入力されたクロック信号に基づき生成したクロック信号をコマンドデコーダ７０１、アドレスラッチ回路７０２及び制御回路７２９へ出力する。
【００２２】
コマンドデコーダ７０１は、Ａ−Ｐｏｒｔ３０のコマンド端子からコマンド信号が入力され、クロック生成回路７００からクロック信号が入力される。コマンドデコーダ７０１は、入力されたクロック信号に同期して、入力されたコマンド信号をデコードする。また、コマンドデコーダ７０１は、連続するクロックサイクルで最初にＡ−Ｐｏｒｔ３０のコマンド端子から共有メモリセルアレイ７１６への読み出しコマンドが入力され、その後Ａ−Ｐｏｒｔ３０のコマンド端子から専用メモリセルアレイ７０４又は専用メモリセルアレイ７０５への書き込みコマンドが入力されると、共有メモリセルアレイ７１６から専用メモリセルアレイ７０４又は専用メモリセルアレイ７０５へのデータ転送コマンドとしてデコードする。
【００２３】
また、コマンドデコーダ７０１は、連続するクロックサイクルで最初にＡ−Ｐｏｒｔ３０のコマンド端子から入力される専用メモリセルアレイ７０４又は専用メモリセルアレイ７０５への読み出しコマンドが入力され、その後共有メモリセルアレイ７１６への書き込みコマンドが入力されると、専用メモリセルアレイ７０４又は専用メモリセルアレイ７０５から共有メモリセルアレイ７１６へのデータ転送コマンドとしてデコードする。また、コマンドデコーダ７０１は、デコード結果を内部アドレス生成回路７２６と、内部アドレス生成回路７２７と、制御回路７２９とへ出力する。
アドレスラッチ回路７０２は、Ａ−Ｐｏｒｔ３０のアドレス端子からアドレス信号が入力され、クロック生成回路６００が生成するクロック信号が入力される。また、アドレスラッチ回路７０２は、入力されたクロック信号に同期して入力されたアドレス信号を読み取り、内部アドレス生成回路７２６及び内部アドレス生成回路７２７に出力する。
【００２４】
専用メモリセルアレイ７０４は、ロウアドレスをデコードするロウデコーダ、カラムアドレスをデコードするカラムデコーダ及びセンスアンプを有している。また、専用メモリセルアレイ７０４は、読み出し動作において、制御回路７２９から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２６から入力されるロウアドレス及びカラムアドレスで特定されるメモリセルに記憶されているデータをＤａｍｐ７０６へ出力する。また、専用メモリセルアレイ７０４は、書き込み動作において、制御回路７２９から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２６から入力されるロウアドレス及びカラムアドレスで特定される領域に、Ｗｂｕｆ７０７から入力されるデータを記憶する。
【００２５】
専用メモリセルアレイ７０５は、ロウアドレスをデコードするロウデコーダ、カラムアドレスをデコードするカラムデコーダ及びセンスアンプを有している。また、専用メモリセルアレイ７０５は、読み出し動作において、制御回路７２９から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２６から入力されるロウアドレス及びカラムアドレスで特定されるメモリセルに記憶されているデータをＤａｍｐ７０８へ出力する。また、専用メモリセルアレイ７０５は、書き込み動作において、制御回路７２９から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２６から入力されるロウアドレス及びカラムアドレスで特定される領域に、Ｗｂｕｆ７０９から入力されるデータを記憶する。
【００２６】
Ｄａｍｐ７０６は、制御回路７２９から入力されるＡリードバス制御信号に従い、専用メモリセルアレイ７０４が出力するデータをＡリードバス７５１へ出力する。
Ｗｂｕｆ７０７は、制御回路７２９から入力されるＡライトバス制御信号に従い、Ａライトバス７５２からデータを読み取り、読み取ったデータを専用メモリセルアレイ７０４へ出力する。
Ｄａｍｐ７０８は、制御回路７２９から入力されるＡリードバス制御信号に従い、専用メモリセルアレイ７０５が出力するデータをＡリードバス７５１へ出力する。
Ｗｂｕｆ７０９は、制御回路７２９から入力されるＡライトバス制御信号に従い、Ａライトバス７５２からデータを読み取り、読み取ったデータを専用メモリセルアレイ７０５へ出力する。
【００２７】
出力データバッファ７１０は、制御回路７２９から入力されるＡリードバス制御信号に従い、Ａリードバス７５１からデータを読み取り、Ａ−Ｐｏｒｔ３０が有するＤＱ０ａ、…、ＤＱ３１ａ端子へデータを出力する。また、出力データバッファ７１０は、データストローブ信号をデータの出力に併せて遷移させることで、データを出力することをＡ−Ｐｏｒｔ３０の有するＤＱＳ０ａ、…、ＤＱＳ３ａ端子を通じて外部装置に通知する。
入力データバッファ７１１は、制御回路７２９から入力されるＡリードバス制御信号とＡ−Ｐｏｒｔ３０が有するＤＱＳ０ａ、…、ＤＱＳ３ａ端子から入力されるデータストローブ信号に従い、Ａ−Ｐｏｒｔ３０が有するＤＱ０、…、ＤＱ３１ａ端子から入力されるデータを読み取り、読み取ったデータを書き込みＡライトバス７５２へ出力する。
【００２８】
クロック生成回路７１２は、Ｂ−Ｐｏｒｔ２０の有するＣＬＫｂ端子及びＣＫＥｂ端子からクロック信号が入力される。また、クロック生成回路７１２は、入力されたクロック信号に基づき生成したクロック信号をコマンドデコーダ７１３、アドレスラッチ回路７１４及び内部アドレス生成回路７２８へ出力する。
コマンドデコーダ７１３は、Ｂ−Ｐｏｒｔ２０のコマンド端子からコマンド信号が入力され、クロック生成回路７１２からクロック信号が入力される。また、コマンドデコーダ７１３は、入力されたクロック信号に同期して、入力されたコマンド信号をデコードする。また、コマンドデコーダ７１３は、連続するクロックサイクルで最初にＢ−Ｐｏｒｔ２０のコマンド端子から共有メモリセルアレイ７１６への読み出しコマンドが入力され、その後Ｂ−Ｐｏｒｔ２０のコマンド端子から専用メモリセルアレイ７１７への書き込みコマンドが入力されると、共有メモリセルアレイ７１６から専用メモリセルアレイ７１７へのデータ転送コマンドとしてデコードを行う。また、コマンドデコーダ７１３は、連続するクロックサイクルで最初にＢ−Ｐｏｒｔ２０のコマンド端子から専用メモリセルアレイ７１７への読み出しコマンドと、その後Ｂ−Ｐｏｒｔ２０のコマンド端子から共有メモリセルアレイ７１６への書き込みコマンドが入力されると、専用メモリセルアレイ７１７から共有メモリセルアレイ７１６へのデータ転送コマンドとしてデコードする。また、コマンドデコーダ７１３は、デコード結果を内部アドレス生成回路７２７と、内部アドレス生成回路７２８と、制御回路７３０とへ出力する。
【００２９】
アドレスラッチ回路７１４は、Ｂ−Ｐｏｒｔ２０のアドレス端子からアドレス信号が入力され、クロック生成回路７１２からクロック信号が入力される。また、アドレスラッチ回路７１４は、入力されたクロック信号に同期して、入力されたアドレス信号を読み取り、内部アドレス生成回路７２７及び内部アドレス生成回路７２８へ出力する。
共有メモリセルアレイ７１６は、ロウアドレスをデコードするロウデコーダ、カラムアドレスをデコードするカラムデコーダ及びセンスアンプを有している。また、共有メモリセルアレイ７１６は、読み出し動作において、選択回路であるＭＵＸ７３１から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２７から入力されるロウアドレス及びカラムアドレスで特定される領域に記憶されているデータをＤａｍｐ７１８へ出力する。また、共有メモリセルアレイ７１６は、書き込み動作において、ＭＵＸ７３１から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２７から入力されるロウアドレス及びカラムアドレスで特定される領域に、Ｗｂｕｆ７１９から入力されるデータを記憶する。
【００３０】
専用メモリセルアレイ７１７は、ロウアドレスをデコードするロウデコーダ、カラムアドレスをデコードするカラムデコーダ及びセンスアンプを有している。また、専用メモリセルアレイ７１７は、読み出し動作において、制御回路７３０から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２８から入力されるロウアドレス及びカラムアドレスで特定される領域に記憶されているデータをＤａｍｐ７２０へ出力する。また、専用メモリセルアレイ７１７は、書き込み動作において、制御回路７３０から入力されるセンスアンプ活性化信号に従い、内部アドレス生成回路７２８から入力されるロウアドレス及びカラムアドレスで特定される領域に、Ｗｂｕｆ７２１から入力されるデータを記憶する。
【００３１】
Ｄａｍｐ７１８は、制御回路７２９が出力するＡリードバス制御信号に従い、共有メモリセルアレイ７１６から入力されるデータをＡリードバス７５１へ出力する。また、Ｄａｍｐ７１８は、制御回路７３０が出力するＢリードバス制御信号に従い、共有メモリセルアレイ７１６から入力されるデータをＢリードバス７５３へ出力する。
Ｗｂｕｆ７１９は、制御回路７２９が出力するＡライトバス制御信号に従い、Ａライトバス７５２からデータを読み取り、読み取ったデータを共有メモリセルアレイ７１６へ出力する。また、Ｗｂｕｆ７１９は、制御回路７３０の出力するＢライトバス制御信号に従い、Ｂライトバス７５４からデータを読み取り、読み取ったデータを共有メモリセルアレイ７１６へ出力する。
Ｄａｍｐ７２０は、制御回路７３０が出力するＢリードバス制御信号に従い、専用メモリセルアレイ７１７から入力されるデータをＢリードバス７５３へ出力する。
Ｗｂｕｆ７２１は、制御回路７３０が出力するＢライトバス制御信号に従い、Ｂライトバス７５４からデータを読み取り、読み取ったデータを専用メモリセルアレイ７１７へ出力する。
【００３２】
出力データバッファ７２２は、制御回路７３０が出力するＢリードバス制御信号に従い、Ｂリードバス７５３からデータを読み取り、Ｂ−Ｐｏｒｔ２０が有するＤＱ０ｂ、…、ＤＱ３１ｂ端子へデータを出力する。また、出力データバッファ７２２は、データストローブ信号をデータの出力に合わせて遷移させることで、読み出したデータを出力することをＢ−Ｐｏｒｔ２０の有するＤＱＳ０ｂ、…、ＤＱＳ３ｂ端子を通じて外部装置に通知する。
入力データバッファ７２３は、制御回路７３０が出力するＢライトバス制御信号と、Ｂ−Ｐｏｒｔ２０が有するＤＱＳ０ｂ、…、ＤＱＳ３ｂ端子から入力されるデータストローブ信号とに従い、Ｂ−Ｐｏｒｔ２０が有するＤＱ０ｂ、…、ＤＱ３１b端子から入力されるデータを読み取り、読み取ったデータをＢライトバス７５４へ出力する。
【００３３】
データバッファ７２４は、制御回路７２９が出力するＡリードバス制御信号及びＡライトバス制御信号に従い、Ａリードバス７５１からデータを読み取り、読み取ったデータをＡライトバス７５２へ出力する。
データバッファ７２５は、制御回路７３０が出力するＢリードバス制御信号及びＢライトバス制御信号に従い、Ｂリードバス７５３からデータを読み取り、読み取ったデータをＢライトバス７５４へ出力する。
【００３４】
内部アドレス生成回路７２６は、コマンドデコーダ７０１からデコード結果と、アドレスラッチ回路７０２からアドレス信号とが入力される。また、内部アドレス生成回路７２６は、入力されるデコード結果に基づいて、入力されたアドレス信号からロウアドレス及びカラムアドレスを生成する。また、内部アドレス生成回路７２６は、生成したロウアドレス及びカラムアドレスを専用メモリセルアレイ７０４及び専用メモリセルアレイ７０５に出力する。
【００３５】
内部アドレス生成回路７２７は、コマンドデコーダ７０１からデコード結果と、アドレスラッチ回路７０２からアドレス信号と、コマンドデコーダ７１３からデコード結果と、アドレスラッチ回路７１４からアドレス信号とが入力される。また、内部アドレス生成回路７２７は、コマンドデコーダ７０１から入力されるデコード結果に基づいて、アドレスラッチ回路７０２から入力されたアドレス信号よりロウアドレス及びカラムアドレスを生成する。また、内部アドレス生成回路７２７は、コマンドデコーダ７１３から入力されるデコード結果に基づいて、アドレスラッチ回路７１４から入力されるアドレス信号よりロウアドレス及びカラムアドレスを生成する。また、内部アドレス生成回路７２７は、生成したロウアドレス及びカラムアドレスを共有メモリセルアレイ７１６へ出力する。
内部アドレス生成回路７２８は、コマンドデコーダ７１３からデコード結果と、アドレスラッチ回路７１４からアドレス信号とが入力される。また、内部アドレス生成回路７２８は、入力されたデコード結果に基づいて、入力されたアドレス信号から、ロウアドレスとカラムアドレスとを生成する。また、内部アドレス生成回路７２８は、生成したロウアドレス及びカラムアドレスを専用メモリセルアレイ７１７へ出力する。
【００３６】
制御回路７２９は、クロック生成回路７００が生成したクロック信号と、コマンドデコーダ７０１がデコードした結果とが入力される。また、制御回路７２９は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、センスアンプ活性化信号を生成し、生成したセンスアンプ活性化信号を専用メモリセルアレイ７０４及び専用メモリセルアレイ７０５と、選択回路であるＭＵＸ７３１とへ出力する。また、制御回路７２９は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、Ａリードバス７５１のデータの流れを指示するＡリードバス制御信号を生成し、読み出しデータ増幅器であるＤａｍｐ７０６、Ｄａｍｐ７０８、Ｄａｍｐ７１８及び出力データバッファ７１０へ生成したＡリードバス制御信号を出力する。また、制御回路７２９は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、Ａライトバス７５２のデータの流れを指示するＡライトバス制御信号を生成し、書き込みデータバッファであるＷｂｕｆ７０７、Ｗｂｕｆ７０９、Ｗｂｕｆ７１９及び入力データバッファ７１１へ生成したＡライトバス制御信号を出力する。
【００３７】
制御回路７３０は、クロック生成回路７１２が生成したクロック信号と、コマンドデコーダ７１３がデコードした結果とが入力される。また、制御回路７３０は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、センスアンプ活性化信号を生成し、生成したセンスアンプ活性化信号を専用メモリセルアレイ７１７及びＭＵＸ７３１へ出力する。また、制御回路７３０は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、Ｂリードバス７５３のデータの流れを選択するＢリードバス制御信号を生成し、読み出しデータ増幅器であるＤａｍｐ７１８と、Ｄａｍｐ７２０と、出力データバッファ７２２とへ生成したＢリードバス制御信号を出力する。また、制御回路７３０は、入力されたクロック信号に同期して、入力されたデコード結果に基づき、Ｂライトバス７５４のデータの流れを選択するＢライトバス制御信号を生成し、書き込みデータバッファであるＷｂｕｆ７１９と、Ｗｂｕｆ７２１と、入力データバッファ７２３とへ生成したＢライトバス制御信号を出力する。
ＭＵＸ７３１は、制御回路７２９及び制御回路７３０が出力するセンスアンプ活性化信号を選択し、選択したセンスアンプ活性化信号を共有メモリセルアレイ７１６へ出力する。
【００３８】
次に、図３は、ＤｕａｌＰｏｒｔＤＲＡＭ７０における共有メモリセルアレイ７１６が記憶するデータを、Ａ−Ｐｏｒｔ３０からの操作で、専用メモリセルアレイ７０５へ転送する動作を示すタイミングチャートである。このデータの転送は、外部装置からＡ−Ｐｏｒｔ３０を通じて、共有メモリセルアレイ７１６からデータを読み出すコマンドが入力されたクロックサイクルの次のクロックサイクルに、Ａ−Ｐｏｒｔ３０を通じて、専用メモリセルアレイ７０５へデータを書き込むコマンドが入力されることで行われる。
【００３９】
まず、タイミングＴ１において、Ａ−Ｐｏｒｔ３０のコマンド端子を介して、外部装置から共有メモリセルアレイ７１６を読み出し及び書き込みが行えるアクティブな状態にするコマンド信号であるＡＣＴが入力される。また、Ａ−Ｐｏｒｔ３０のアドレス端子を介して、共有メモリセルアレイ７１６のアドレス信号であるＲｏｗＡＤＤが入力される。コマンドデコーダ７０１は、Ａ−Ｐｏｒｔ３０のコマンド端子から入力されるコマンド信号をデコードし、デコード結果を内部アドレス生成回路７２７及び制御回路７２９へ出力する。
【００４０】
また、アドレスラッチ回路７０２は、Ａ−Ｐｏｒｔ３０のアドレス端子から入力されるアドレス信号であるＲｏｗＡＤＤを読み取り、内部アドレス生成回路７２７へ出力する。更に、内部アドレス生成回路７２７は、入力されるデコード結果に基づいて、入力されたアドレス信号をデコードし、ロウアドレスを共有メモリセルアレイ７１６へ出力する。これにより、共有メモリセルアレイ７１６は、入力されたロウアドレスで指定される領域が読み出し及び書き込み可能な状態になる。
【００４１】
続いて、タイミングＴ３において、Ａ−Ｐｏｒｔ３０のコマンド端子を介して、外部装置からＡ−Ｐｏｒｔ３０の専用メモリセルアレイ７０５を読み出し及び書き込みが行えるアクティブな状態にするコマンド信号であるＡＣＴが入力される。また、Ａ−Ｐｏｒｔ３０のアドレス端子を介して、専用メモリセルアレイ７０５のアドレスを示す信号であるＲｏｗＡＤＤが入力される。コマンドデコーダ７０１は、Ａ−Ｐｏｒｔ３０のコマンド端子から入力されるコマンド信号をデコードし、デコード結果を内部アドレス生成回路７２６及び制御回路７２９へ出力する。
【００４２】
また、アドレスラッチ回路７０２は、Ａ−Ｐｏｒｔ３０のアドレス端子から入力されるアドレス信号であるＲｏｗＡＤＤを読み取り、内部アドレス生成回路７２６へ出力する。更に、内部アドレス生成回路７２６は、入力されるデコード結果に基づいて、入力されたアドレス信号をデコードし、ロウアドレスを専用メモリセルアレイ７０５へ出力する。これにより、専用メモリセルアレイ７０５は、入力されたロウアドレスで指定される領域が読み出し及び書き込み可能な状態になる。
【００４３】
次に、タイミングＴ６において、Ａ−Ｐｏｒｔ３０のコマンド端子を介して、外部装置から共有メモリセルアレイ７１６のデータを読み出すコマンド信号であるＲＥＤと、共有メモリセルアレイ７１６のアドレスを示す信号であるＣｏｌＡＤＤが入力される。コマンドデコーダ７０１は、Ａ−Ｐｏｒｔ３０のコマンド端子から入力されるコマンド信号をデコードし、デコード結果を制御回路７２９及び内部アドレス生成回路７２７へ出力する。また、アドレスラッチ回路７０２は、Ａ−Ｐｏｒｔ３０のアドレス端子から入力されるアドレス信号であるＣｏｌＡＤＤを読み取り、内部アドレス生成回路７２７へ出力する。内部アドレス生成回路７２７は、入力されるデコード結果に基づいて、入力されたアドレス信号から、８つのカラムアドレスを順次毎クロックサイクルごとに共有メモリセルアレイ７１６へ出力する。また、制御回路７２９は、入力されたデコード結果に基づいて、Ｄａｍｐ７１８及び出力データバッファ７１０を経由して、共有メモリセルアレイ７１６の出力するデータをＡ−Ｐｏｒｔ３０の有するＤＱ０ａ、…、ＤＱ３１ａ端子へデータを出力するためのＡリードバス制御信号を生成し、生成したＡリードバス制御信号をＤａｍｐ７１８及び出力データバッファ７１０へ出力する。
【００４４】
続いて、タイミングＴ７において、Ａ−Ｐｏｒｔ３０のコマンド端子を介して、外部装置から専用メモリセルアレイ７０５へデータを書き込むコマンド信号であるＷＲＴと、専用メモリセルアレイ７０５のアドレスを示す信号であるＣｏｌＡＤＤが入力される。コマンドデコーダ７０１は、タイミングＴ６での共有メモリセルアレイ７１６への読み出しコマンドと、続くクロックサイクルであるタイミングＴ７で入力された専用メモリセルアレイ７０５への書き込みコマンドと、を共有メモリセルアレイ７１６から専用メモリセルアレイ７０５へのデータ転送コマンドとしてデコードし、デコード結果を制御回路７２９及び内部アドレス生成回路７２６へ出力する。アドレスラッチ回路７０２は、Ａ−Ｐｏｒｔ３０のアドレス端子から入力されるアドレス信号であるＣｏｌＡＤＤを読み取り、内部アドレス生成回路７２６へ出力する。内部アドレス生成回路７２６は、コマンドデコーダ７０１から入力されたデコード結果に基づき、入力されたアドレス信号から、８つのカラムアドレスを順次クロックサイクルごとに専用メモリセルアレイ７０５へ出力する。
【００４５】
また、コマンドデコーダ７０１は、データ転送コマンドを識別することで、次の動作を行うＡリードバス制御信号及びＡライトバス制御信号を生成し、生成したＡリードバス制御信号を出力データバッファ７１０及びデータバッファ７２４へ出力し、生成したＡライトバス制御信号を入力データバッファ７１１及びデータバッファ７２４へ出力する。このときのＡリードバス制御信号は、出力データバッファ７１０にデータバス７５１からのデータの読み取りの停止及びＡ−Ｐｏｒｔ３０が有するＤＱ０ａ、…、ＤＱ３１ａ端子へデータ信号の出力の停止をさせる。また、Ａライトバス制御信号は、入力データバッファ７１１にＡ−Ｐｏｒｔ３０の有するＤＱ０ａ、…、ＤＱ３１ａ端子からデータの読み取りの停止及びＡライトバス７５２へデータの出力の停止をさせる。
また、当該Ａリードバス制御信号及びＡライトバス制御信号は、Ａリードバス７５１に出力される共有メモリセルアレイ７１６の読み出しデータを、データバッファ７２４に順次読み取らせＡライトバス７５２へ出力させる。
【００４６】
タイミングＴ８において、タイミングＴ６で入力された読み出しコマンドに対応するデータが共有メモリセルアレイ７１６から出力される。データバッファ７２４は、Ｄａｍｐ７１８を介してＡリードバス７５１へ出力されたデータを読み取り、読み取ったデータをＡライトバス７５２に出力する。
タイミングＴ９において、Ｗｂｕｆ７０９は、前サイクルでＡライトバス７５２に出力されたデータを読み取り、タイミングＴ７で入力された書き込みコマンドに対応するデータとして、読み取ったデータを専用メモリセルアレイ７０５へ出力する。また、データバッファ７２４は、共有メモリセルアレイ７１６から出力されるデータを、Ａリードバス７５１から読み取り、読み取ったデータをＡライトバス７５２へ出力する。
以降、タイミングＴ１３まで、同様に、共有メモリセルアレイ７１６からデータが順次出力され、データバッファ７２４を介して、専用メモリセルアレイ７０５へ入力される。これにより、専用メモリセルアレイ７０５は、共有メモリセルアレイ７１６の記憶する８つのデータを記憶する。
【００４７】
以上の動作により、共有メモリセルアレイ７１６に記憶されたデータを、専用メモリセルアレイ７０５に転送する。共有メモリセルアレイ７１６からのデータ読み出しの完了を待たずに、転送先の専用メモリセルアレイ７０５へデータの書き込みを行うことで、データ転送に要するクロッククロックサイクルを削減する。バースト長が長くなるほど、削減されるクロックサイクル数が増え、効率的にデータの転送を行うことが可能となる。
また、逆方向である専用メモリセルアレイ７０４及び専用メモリセルアレイ７０５から共有メモリセルアレイ７１６へのデータ転送も同様の動作にて行う。また、他の専用メモリセルアレイ７１７と共有メモリセルアレイ７１６との間のデータ転送も同様に行う。
【００４８】
図４は、上述の構成を有するＤｕａｌＰｏｒｔＤＲＡＭ７０を用いたデータ処理システム１のベースバンドプロセッサ１０とアプリケーションプロセッサ４０との接続を示す概略ブロック図である。ベースバンドプロセッサ１０は、Ｂ−Ｐｏｒｔバス２１を介して、ＤｕａｌＰｏｒｔＤＲＡＭ７０のＢ−Ｐｏｒｔ２０に接続されている。また、アプリケーションプロセッサ４０は、Ａ−Ｐｏｒｔバス３１を介して、ＤｕａｌＰｏｒｔＤＲＡＭ７０のＡ−Ｐｏｒｔ３０に接続されている。
また、図４は、ベースバンドプロセッサ１０からアプリケーションプロセッサ４０へデータの転送を行う際のデータの流れも示している図である。
ベースバンドプロセッサ１０は、アプリケーションプロセッサ４０へ転送するデータをＢ−Ｐｏｒｔバス２１を介して、共有メモリセルアレイ７１６へ書き込む（ステップｄ）。続いて、アプリケーションプロセッサ４０は、Ａ−Ｐｏｒｔバス３１を介して、上述のデータ転送コマンドをＤｕａｌＰｏｒｔＤＲＡＭ７０へ入力する。ＤｕａｌＰｏｒｔＤＲＡＭ７０は、データ転送コマンドに基づき、共有メモリセルアレイ７１６から専用メモリセルアレイ７０５へ、データの転送を行う（ステップｅ）。以上の動作で、ベースバンドプロセッサ１０からアプリケーションプロセッサ４０へデータの転送が行われる。このように、共有メモリセルアレイ７１６からのデータの読み出し完了を待つことなく、また、アプリケーションプロセッサ４０にデータを一旦保持する必要もなく、共有メモリセルアレイ７１６から専用メモリセルアレイ７０５へ、データの転送を行うことでる。これにより、データ処理システム１のデータ転送に要するクロックサイクルを削減することができ、データ処理システム１は、データ転送を効率的に行うことが可能となる。
また、アプリケーションプロセッサ４０からベースバンドプロセッサ１０へデータの転送も同様の動作で行う。
【００４９】
本実施形態の構成を有するＤｕａｌＰｏｒｔＤＲＡＭ７０を用いることで、データ処理システム１は、ベースバンドプロセッサ１０とアプリケーションプロセッサ４０との間のデータの転送で行われる共有メモリセルアレイ７１６から専用メモリセルアレイ７０４、７０５又は７１７へと、専用メモリセルアレイ７０４、７０５又は７１７から共有メモリセルアレイ７１６へのデータを転送に要する時間をデータのバースト書き込みに相当するクロックサイクル程度に短縮することが可能となる。
また、データ転送コマンドは、バースト読み出し及びバースト書き込みコマンドで構成されているので、マルチポートＤＲＡＭで使用されるプロトコルを用いることができるので、データ処理システム１に適用されるメモリコントロールのプロトコルを変更することなく利用できるという利便性がある。
【００５０】
また、データを送る側のベースバンドプロセッサ１０は、ＤｕａｌＰｏｒｔＤＲＡＭ７０が備える共有メモリセルアレイ７１６を経由して、データをアプリケーションプロセッサ４０に転送する。これにより、ベースバンドプロセッサ１０は、アプリケーションプロセッサ４０が専用メモリセルアレイ７０４及び専用メモリセルアレイ７０５へのアクセスすることを妨げることなく、データを出力することが可能である。また、ベースバンドプロセッサ１０は、送るべきデータが発生する度にアプリケーションプロセッサ４０がデータを受取れる状態か否かなどの確認をする必要がないので、ベースバンドプロセッサ１０は、アプリケーションプロセッサ４０に依存することなく、データの転送を行うことができる。また、アプリケーションプロセッサ４０がベースバンドプロセッサ１０へデータを転送する場合も同様である。
【００５１】
また、各ポートＡ−Ｐｏｒｔ３０及びＢ−Ｐｏｒｔ２０に対応する内部アドレス生成回路７２６及び７２８を備えるだけでなく、共有メモリセルアレイ７１６に対応する内部アドレス生成回路７２７を備えることで、どちらかのポートで共有メモリセルアレイ７１６とのデータ転送を行っている間も、他のポートは対応するメモリセルアレイへのアクセスが妨げられることはない。
また、共有メモリセルアレイ７１６とのデータ転送において、データが外部装置に出力されないのでデータ転送が完了を外部装置は待つ必要がなく、他の処理を行うことができるので、データ処理の効率化を図ることができる。
なお、本実施形態においては、例として２つのポートを有するＤＲＡＭであるＤｕａｌＰｏｒｔＤＲＡＭ７０を用いて説明したが、ポート数はこれに限られるものではない。
【００５２】
なお、本発明に記載の半導体記憶装置は、ＤｕａｌＰｏｒｔＤＲＡＭ７０に対応する。また、本発明に記載のポートは、Ａ−Ｐｏｒｔ３０及びＢ−Ｐｏｒｔ２０が対応する。また、本発明に記載のプロセッサは、ベースバンドプロセッサ１０及びアプリケーションプロセッサ４０が対応する。また、本発明に記載の制御回路は、コマンドデコーダ７０１、コマンドデコーダ７１３、制御回路７２９及び制御回路７３０が対応する。また、本発明に記載の内部データバスは、Ａリードバス７５１、Ａライトバス７５２、Ｂリードバス７５３及びＢライトバス７５４に対応する。
【図面の簡単な説明】
【００５３】
【図１】本実施形態のデータ処理システムの構成例を示す概略ブロック図である。
【図２】同実施形態におけるＤｕａｌＰｏｒｔＤＲＡＭの内部構成を示す概略ブロック図である。
【図３】同実施形態における共有メモリセルアレイから専用メモリセルアレイへのデータ転送動作におけるタイミングチャートである。
【図４】同実施形態におけるデータ処理システムにおけるデータ転送の手順を示す図である。
【図５】従来例のＤｕａｌＰｏｒｔＤＲＡＭを用いたデータ処理システムの接続とデータ転送の手順を示す概略構成図である。
【図６】従来例のＤｕａｌＰｏｒｔＤＲＡＭの内部構成を示す概略ブロック図である。
【図７】従来例のＤｕａｌＰｏｒｔＤＲＡＭの共有メモリセルアレイから専用メモリセルアレイへのデータ転送動作におけるタイミングチャートである。
【符号の説明】
【００５４】
１…データ処理システム
２…データ処理システム
１０…ベースバンドプロセッサ
２０…Ｂ−Ｐｏｒｔ
３０…Ａ−Ｐｏｒｔ
２１…Ｂ−Ｐｏｒｔバス、３１…Ａ−Ｐｏｒｔバス
４０…アプリケーションプロセッサ、
６０、７０…ＤｕａｌＰｏｒｔＤＲＡＭ
６００、６１２…クロック生成回路、６０１、６１３…コマンドデコーダ
６０２、６１４…アドレス生成回路、６０３、６１５…制御回路
６０４、６０５、６１７…専用メモリセルアレイ
６１６…共有メモリセルアレイ
７００、７１２…クロック生成回路、７０１、７１３…コマンドデコーダ
７０２、７１４…アドレスラッチ回路
７０４、７０５、７１７…専用メモリセルアレイ
７１６…共有メモリセルアレイ
７０６、７０８、７１８、７２０…Ｄａｍｐ
７０７、７０９、７１９、７２１…Ｗｂｕｆ
７１０、７２２…出力データバッファ、７１１、７２３…入力データバッファ
７２４、７２５…データバッファ、
７２６、７２７、７２８…内部アドレス生成回路、７２９、７３０…制御回路、
７３１…ＭＵＸ
７５１…Ａリードバス、７５２…Ａライトバス、７５３…Ｂリードバス、７５４…Ｂライトバス
【図１】
0005731730.tif 000002
【図２】
0005731730.tif 000003
【図３】
0005731730.tif 000004
【図４】
0005731730.tif 000005
【図５】
0005731730.tif 000006
【図６】
0005731730.tif 000007
【図７】
0005731730.tif 000008