(57)【特許請求の範囲】
【請求項１】
シングルチップ上に、
データ入出力を提供するための第１および第２の外部入出力ポートと、
データを記憶するための第１のメモリと、
前記第１のメモリよりも小さい記憶容量を有し、かつ前記第１および第２の外部入出力ポートに結合されて、前記第１または第２の外部入出力ポートから出力されるべきデータを記憶し、かつ前記第１または第２の外部入出力ポートから入力されるデータを受取るための、第２のメモリとを含み、
前記第２のメモリは、記憶セルを含み、前記記憶セルは、前記第１および第２の外部入出力ポートにそれぞれ結合されて前記記憶セルへのアクセスを可能にするための第１および第２のポートと、前記第１のメモリに結合されて、前記第１のメモリが前記第１および第２の外部入出力ポートの少なくとも一方と並行して前記記憶セルにアクセスすることを可能にするための第３のポートとを有する、メモリ装置。
【請求項２】
前記第２のメモリは、各々が複数のトリプルポート記憶セルを有する複数のラインで構成される、請求項１に記載のメモリ装置。
【請求項３】
前記記憶セルの第１、第２、および第３のポートの各々は、前記記憶セル内に書込まれるべきデータを受取るための入力データ線と、前記記憶セルから読出されるデータを転送するための出力データ線とを含む、請求項１に記載のメモリ装置。
【請求項４】
前記記憶セルの第１、第２および第３のポートの各々は、前記記憶セル内に入力されるデータを制御するための書込制御線と、前記記憶セルから出力されるデータを制御するための読出制御線とをさらに含む、請求項３に記載のメモリ装置。
【請求項５】
前記記憶セルは、前記入力データ線に応答してデータをラッチするためのラッチ回路を含む、請求項４に記載のメモリ装置。
【請求項６】
前記記憶セルは、対応する書込制御線内の書込制御信号にそれぞれ応答して、前記第１、第２または第３のポートの入力データ線を介してデータが前記ラッチ回路に送られることを可能にするための第１、第２および第３の入力パスゲートをさらに含む、請求項５に記載のメモリ装置。
【請求項７】
前記記憶セルは、第１、第２および第３の読出制御信号にそれぞれ応答して、前記第１、第２および第３のポートの出力データ線を介してデータを前記ラッチ回路から転送するための第１、第２および第３の出力パスゲートをさらに含む、請求項６に記載のメモリ装置。
【請求項８】
前記第１、第２および第３の読出制御信号のうち２以上の信号が前記出力パスゲートに並行に供給されて、前記記憶セルへの多重読出アクセスが同時に提供される、請求項７に記載のメモリ装置。
【請求項９】
前記第１のポートは、前記第２のポートを介して行われる前記記憶セルからのデータ読出動作と並行して前記記憶セルへのデータ書込動作を可能にする、請求項１に記載のメモリ装置。
【請求項１０】
前記記憶セルはＳＲＡＭセルである、請求項１に記載のメモリ装置。
【請求項１１】
第１および第２の外部データポートとＤＲＡＭとを有するメモリチップ上に配されたＳＲＡＭセルであって、前記ＳＲＡＭセルは、
データをラッチするためのラッチ回路と、
前記第１および第２の外部データポートと前記ラッチ回路との間の双方向のデータ転送を行うための第１および第２のポートと、
前記ＤＲＡＭが前記ラッチ回路へ前記第１および第２の外部データポートと並行してアクセスすることを可能にする第３のポートとを有する、ＳＲＡＭセル。
【請求項１２】
前記第１および第２のポートは、前記ラッチ回路を前記第１および第２の外部データポートにそれぞれ結合するための、第１および第２の入力データ線ならびに第１および第２の出力データ線を含む、請求項１１に記載のＳＲＡＭセル。
【請求項１３】
前記第３のポートは、前記ラッチ回路を前記ＤＲＡＭに結合するための、第１および第２の入力データ線ならびに第１および第２の出力データ線を含む、請求項１２に記載のＳＲＡＭセル。
【請求項１４】
前記第１および第２のポートは、前記第１および第２の外部データポートに前記ＳＲＡＭセルへの書込および読出アクセスを提供するための、第１および第２の書込制御線ならびに第１および第２の読出制御線をさらに含む、請求項１３に記載のＳＲＡＭセル。
【請求項１５】
前記第３のポートは、前記ＤＲＡＭに前記ＳＲＡＭセルへの書込および読出アクセスを提供するための、第３の書込制御線と第３の読出制御線をさらに含む、請求項１４に記載のＳＲＡＭセル。
【請求項１６】
前記第１、第２および第３の入力データ線と前記ラッチ回路との間にそれぞれ結合されて、前記第１、第２および第３の書込制御線にそれぞれ接続されたゲート電極を有する、第１、第２および第３の入力パストランジスタをさらに含む、請求項１５に記載のＳＲＡＭセル。
【請求項１７】
前記第１、第２および第３の出力データ線と前記ラッチ回路との間にそれぞれ結合されて、前記第１、第２および第３の読出制御線にそれぞれ接続されたゲート電極を有する、第１、第２および第３の出力パストランジスタをさらに含む、請求項１６に記載のＳＲＡＭセル。
【請求項１８】
第１および第２の外部入出力ポートと、ＤＲＡＭと、前記第１および第２の外部入出力ポートに結合された第１および第２のデータポートならびに前記ＤＲＡＭに結合された第３のデータポートを持つＳＲＡＭ記憶セルとを有するメモリ装置における、データ修正方法であって、
前記ＳＲＡＭ記憶セルから前記第１のデータポートを介してデータを読出すステップと、
前記読出されたデータを修正するステップと、
前記第２のポートを介して該修正されたデータを前記ＳＲＡＭ記憶セルに書込むステップと、
前記データを前記ＳＲＡＭ記憶セルから前記第３のデータポートを介して前記ＤＲＡＭに読出すステップとを含む、方法。
【発明の詳細な説明】
【０００１】
【発明の分野】
この出願は、メモリ装置に関し、より特定的には、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、３つの入出力（ＩＯ）ポートを持つセルを有するスタティックランダムアクセスメモリ（ＳＲＡＭ）とを組込む、マルチポートランダムアクセスメモリ（ＭＰＲＡＭ）に関する。
【０００２】
【背景技術】
コンピュータグラフィックスシステムを開発するには、３Ｄグラフィックスデータ等の大量のデータを記憶することのできる、高速メモリが必要となる。そのようなメモリの１つに、より高速なＳＲＡＭキャッシュメモリを利用することによってＤＲＡＭメインメモリ性能を改良するように開発された、最も共通にアクセスされるデータを記憶するための、キャッシュ式のメモリがある。たとえば、米国特許番号第５，５６６，３１８号は、シングルチップ上でＳＲＡＭキャッシュメモリをＤＲＡＭと統合する、強化されたＤＲＡＭを開示する。ＳＲＡＭキャッシュとＤＲＡＭメモリアレイとの間には、センスアンプと列書込選択レジスタとが結合される。列デコーダは、ＳＲＡＭキャッシュと関連して、ＳＲＡＭの所望の列へのアクセスを提供する。行デコーダはＤＲＡＭメモリアレイと関連して、ＤＲＡＭの特定の行へのアクセスを可能にする。入出力制御およびデータラッチは、ＳＲＡＭからデータを受取って、データ入出力線を介してデータ出力を提供する。ＤＲＡＭメモリアレイからアクセスされる現時点のデータの行は、ＳＲＡＭキャッシュメモリ内に保持される。キャッシュ「ミス」が検出された場合には、キャッシュメモリ全体がＤＲＡＭメモリアレイから、ＤＲＡＭからキャッシュメモリへのバスを通じて、再び満たされる。
【０００３】
ＲＡＭの速度および性能を改良するために、２つの別個の入出力ポートがメモリアレイにアクセスできるようにする、デュアルポートＲＡＭが開発されてきている。しかしながら、デュアルポートＲＡＭは、データの入力および出力を有効に制御することができない。なぜなら、ポート同士を交換できないためである。たとえば、データトラフィックは、それらポートのうち一方に負荷がかかりすぎて他方の負荷が不足する場合にも、ポート間で再配分することができない。
【０００４】
したがって、交換可能なポートを有するマルチポートＲＡＭチップを提供することが所望される。
【０００５】
さらに、デュアルポートＲＡＭはグラフィックスコントローラ等の外部装置に対して、メモリアレイへの書込または読出アクセスのうちどちらか一方のみしか一度に提供できない。たとえば、一方ポートがメモリアレイに対してデータを書込むのに使用されている間に、他方ポートがメモリアレイからデータを読出すことはできない。
【０００６】
異なるポートからの読出アクセスおよび書込アクセスを同時に行なうことが可能な、マルチポートＲＡＭを提供することが望まれる。
【０００７】
ＲＡＭ内のデータ読出および書込の速度は、ＲＡＭが活性化される瞬間と、有効なデータが入力または出力に現われる瞬間との間のスイッチング遅延によって制限される。たとえば、ＤＲＡＭ読出動作は、行アドレスストローブ／ＲＡＳおよび列アドレスストローブ／ＣＡＳをローレベルに切換えることによって起動され得る。たとえば、データ読出における遅延は、／ＲＡＳ信号がローに遷移する瞬間と、有効なデータが出力に現われる瞬間との間の遅延に対応する、ＲＡＳの待ち時間によって決定される。
【０００８】
ＤＲＡＭの動作が起動された後にＳＲＡＭの書込または読出動作を続行するために、ＤＲＡＭとＳＲＡＭとの並行の動作を提供することが所望される。これは、ＲＡＳの待ち時間によって生じるＲＡＭのスイッチング遅延を排除することによって、ＲＡＭ内のデータ転送の帯域幅を増すことができるであろう。
【０００９】
ＳＲＡＭが外部ＩＯポートおよびＤＲＡＭからのアクセスを支持できるようにするためには、ＭＰＲＡＭの外部ＩＯポートおよびＤＲＡＭに結合された多数のＩＯポートを有する、ＳＲＡＭセルを提供することが所望される。
【００１０】
【発明の開示】
したがって、この発明の１つの利点は、交換可能な入出力ポートを有するマルチポートメモリチップを提供することである。
【００１１】
この発明の別の利点は、異なるポートからの読出および書込アクセスが同時に行なわれることを可能にする、マルチポートＲＡＭを提供することである。
【００１２】
この発明のさらなる利点は、ＤＲＡＭの動作とＳＲＡＭの動作とを並行に実行できるようにする、マルチポートＲＡＭを提供することである。
【００１３】
この発明の別の利点は、ＭＰＲＡＭの外部ＩＯポートおよびＤＲＡＭに結合された多数のＩＯポートを有するセルから構成されるＳＲＡＭを有する、マルチポートＲＡＭを提供することである。
【００１４】
この発明の上記および他の利点は、シングルチップ上に配されて第１および第２の外部入出力ポートを有するメモリ装置を提供することによって、少なくともいくぶん達成される。第１のメモリは、データを記憶するよう構成され得る。第１のメモリよりも小さい記憶容量を有する第２のメモリは、入出力ポートに結合されて、それらポートから出力されるべきデータを記憶し、かつ、ポートから入力されるデータを受取る。第２のメモリは、第１および第２の外部入出力ポートにそれぞれ結合されて、それらが記憶セルへのデータの書込および記憶セルからのデータの読出をできるようにするための第１および第２のポートと、第１のメモリに結合されて、それが記憶セルへのデータの書込および記憶セルからのデータの読出をできるようにするための第３のポートとを有する、記憶セルを含む。たとえば、第２のメモリは、複数のラインに配された、トリプルポートＳＲＡＭ記憶セルを含み得る。
【００１５】
この発明の第１の局面に従えば、第１、第２および第３のポートの各々は、記憶セル内に書込まれるべきデータを受取るための入力データ線と、記憶セルから読出されるデータを転送するための出力データ線と、記憶セルに入力されるデータを制御するための書込制御線と、記憶セルから出力されるデータを制御するための読出制御線とを含み得る。
【００１６】
この発明のさらなる局面に従えば、記憶セルは、入力データ線に応答してデータをラッチするためのラッチ回路を有し得る。第１、第２および第３の入力パスゲートは、対応する書込制御線内の信号によって活性化されて、データが対応するポートの入力データ線を介してラッチ回路に渡されるようにする。第１、第２および第３の出力パスゲートは、対応する読出制御線内の信号によって活性化されて、データが対応する出力データ線を介してラッチ回路から転送されるようにする。
【００１７】
この発明の別の局面に従えば、２以上の読出制御信号が同時に出力パスゲートに供給されて、記憶セルへの多重読出アクセスが同時に提供され得る。
【００１８】
この発明のさらなる局面に従えば、第３のポートは、外部入出力ポートから記憶セルへのアクセスと並行に行なわれる、第１のメモリと記憶セルとの間のデータ転送を支持できる。
【００１９】
この発明の別の局面に従えば、第１のポートは、第２のポートを介して行なわれる記憶セルからのデータ読出と並行して、記憶セルへのデータ書込を支持できる。
【００２０】
この発明の方法に従えば、ＳＲＡＭとＤＲＡＭとを有するマルチポートＲＡＭ内でデータを転送するために、以下のステップが実行される。すなわち：
ＳＲＡＭ記憶セル内に、その第１および第２のデータポートのうち一方を介してデータエレメントを書込むステップと、
そのデータエレメントを、ＳＲＡＭ記憶セルから、その第３のデータポートを介してＤＲＡＭに読出すステップとを含む。
【００２１】
さらに、ＳＲＡＭ記憶セル内のデータを修正するために、以下のステップが実行され得る。すなわち：
ＳＲＡＭ記憶セルから第１のデータポートを介してデータを読出すステップと、
そのデータを修正するステップと、
修正されたデータを第２のデータポートを介してＳＲＡＭ記憶セル内に書込むステップとを含む。
【００２２】
この発明のこれらおよび他の目的ならびに利点は、以下の詳細な説明から当業者には容易に明らかとなろう。詳細な説明には、この発明の好ましい実施例のみを示しかつ説明しており、この発明を実現するのに考えられるベストモードを単に例示しているにすぎない。理解されるように、この発明は他のおよび異なる実施例が可能であり、そのいくつかの詳細は、すべてこの発明から離れることのない、種々の明らかな観点から修正が可能である。したがって、ここに提示する図面および説明は、例示のためのものと見なされるべきであって、限定を加えるものではないと考えられたい。
【００２３】
【この発明を実行するためのベストモード】
この発明は、メモリ装置分野の全般に適用が可能であるが、この発明を実行するためのベストモードは、一つには、図１に示すマルチポートＲＡＭ（ＭＰＲＡＭ）１０の実現に基づく。シングルチップ上に配されるＭＰＲＡＭ１０は、ＤＲＡＭ１２を含み、ＤＲＡＭ１２は、各々が４メガビットの、個別にアドレス可能な４つのメモリバンクに分割される。各バンクは５１２行×３２列×２５６ビットで構成されたメモリアレイを含む。後により詳細に説明するように、単一の２５６ビットグローバル入出力（ＩＯ）バス１４が、ＤＲＡＭ１２の４つのバンクすべてによって共有され、ＤＲＡＭ１２をＳＲＡＭ１６に接続する。
【００２４】
４キロビットＳＲＡＭ１６は、１６ライン×１６ワード×１６ビットとして構成され得る。ＤＲＡＭ１２とＳＲＡＭ１６との間の各々の２５６ビット転送は、ＳＲＡＭ１６内の１６ラインのうち１ラインを置換するかまたは更新する。
【００２５】
ＭＰＲＡＭ１０は、２つの同一でありかつ独立した、１６ビットＩＯポートＡおよびＢを有する。ポートＡおよびＢの各々は、ＳＲＡＭ１６の各セルに対して読出アクセスおよび書込アクセスを提供する。ＩＯデータピン１８および２０はそれぞれ、ポートＡおよびＢに接続されて、１６ビットデータＤＱＡおよびＤＱＢの入力および出力を提供する。
【００２６】
ポートＡおよびＢのためのＳＲＡＭ制御信号ＳＣＡおよびＳＣＢはそれぞれ、ポートＡ制御回路２２およびポートＢ制御回路２４を介して供給されて、データ読出または書込、およびバースト終了等のＳＲＡＭの動作を規定する。ポートＡおよびＢのためのライトイネーブルコマンド／ＷＥＡおよび／ＷＥＢは、それぞれ、ポート制御回路２２および２４を介して提供されて、ＳＲＡＭの書込動作を復号化する。さらに、ポート制御回路２２および２４は、ライトパービット動作モードを可能にするために、また、バーストを終了させるために、特別機能コマンドＳＦＡおよびＳＦＢをそれぞれ受取ることも可能である。
【００２７】
マスタクロック信号ＣＬＫが与えられるクロック発生器２６は、ＭＰＲＡＭ動作のための内部クロックを提供する。ＭＰＲＡＭのすべての入力信号は、マスタクロックＣＬＫの立上がり端縁を基準とする。マスタクロックイネーブル信号ＣＫＥはクロック発生器２６に供給されて、内部クロック発生をイネーブルする。チップ選択信号／ＳＤおよび／ＳＳは、それぞれ、ＤＲＡＭ１２およびＳＲＡＭ１６にチップ選択機能を提供する。
【００２８】
ポート制御回路２２および２４、ならびにクロック発生器２６は、ＳＲＡＭ１６に対する書込および読出アクセスを制御するＳＲＡＭ制御回路２８に結合される。データ書込またはデータ読出のための、ＩＯデータピン１８および２０の各々とＳＲＡＭ１６との間のデータ転送経路は、２ステージパイプラインとして構成される。
【００２９】
ＳＲＡＭ１６へのデータ書込のために、ポートＡおよびＢのためにそれぞれ書込コマンドＷＡおよびＷＢが、第１のクロックサイクル時にＳＲＡＭ制御回路２８によって発せられ得る。書込まれるべきデータは、第２のクロックサイクル時に供給される。ＳＲＡＭ１６のアドレスされるラインおよびワードは、ポート制御回路２２および２４に供給される、それぞれポートＡおよびＢのための８ビットアドレス信号ＡＤＡおよびＡＤＢによって判定される。たとえば、アドレスされるラインは、アドレス信号ＡＤＡおよびＡＤＢの上位４ビットによって規定され、アドレスされる１６ビットのワードは、アドレス信号ＡＤＡおよびＡＤＢの下位４ビットによって決定され得る。
【００３０】
ＳＲＡＭ１６からのデータ読出のために、読出コマンドＲＡおよびＲＢが、第１のクロックサイクル時にＳＲＡＭ制御回路２８によって発せられ得る。データは、第２のクロックの立上がり端縁においてアクセスされて、第３のクロックサイクル時に有効にされる。書込動作と同様、ＳＲＡＭ１６のアドレスされるラインおよびワードは、ポートＡおよびＢのそれぞれのためのアドレス信号ＡＤＡおよびＡＤＢによって判定される。たとえば、アドレスされるラインは、アドレス信号ＡＤＡおよびＡＤＢの上位４ビットによって規定され、アドレスされる１６ビットのワードは、アドレス信号ＡＤＡおよびＡＤＢの下位４ビットによって決定され得る。
【００３１】
下により詳細に説明するように、ポートＡおよびＢは独立しており、ＳＲＡＭ１６内のいかなるロケーションに対しても、同時に、データの読出および書込を提供できる。しかしながら、ユーザは、両方のポートから同時に同じＳＲＡＭセルに書込むことができないようにされている。ＩＯバッファ３０および３２がそれぞれ、ポートＡおよびＢに結合されて、読出動作および書込動作中にデータをバッファする。
【００３２】
ＩＯバッファ３０および３２にそれぞれ接続されたライトパービットマスクレジスタ３４および３６は、ポートＡおよびＢからのマスクされた書込動作を行なうのに使用される。ＳＲＡＭ制御回路は、ポートＡおよびＢに対してそれぞれマスクされた書込コマンドＭＷＡおよびＭＷＢを発して、ＳＲＡＭ１６から読出されるかまたはＳＲＡＭ１６に書込まれるＤＱＡデータおよびＤＱＢデータをマスクする。ピン３８および４０はそれぞれ、ポートＡおよびＢに対して２ビットのマスク制御データＤＱＭＡおよびＤＱＭＢを供給する。マスク制御データＤＱＭＡおよびＤＱＭＢのいずれかのビットがハイにされると、それぞれ、読出されるかまたは書込まれるＤＱＡデータおよびＤＱＢデータがマスクされる。たとえば、マスク制御データＤＱＭＡおよびＤＱＭＢの上位ビットがそれぞれ、ＤＱＡおよびＤＱＢデータの上位バイトを制御する。マスク制御データＤＱＭＡおよびＤＱＭＢの下位ビットがそれぞれ、ＤＱＡデータおよびＤＱＢデータの下位バイトを制御し得る。ロードマスクレジスタコマンドＬＭＲＡおよびＬＭＲＢがそれぞれポートＡおよびＢのためにＳＲＡＭ制御回路２８によって発せられて、ライトパービットレジスタ３４および３６をロードすることが可能である。
【００３３】
ＭＰＲＡＭ１０は、ＳＲＡＭ１６とＤＲＡＭ１２とが並行に動作することを可能にする。ＤＲＡＭ制御回路４２は、制御信号／ＲＡＳおよび／ＣＡＳによって規定されるＤＲＡＭ制御コマンドを形成する。２ビットのバンクアドレスコマンドＢＡは、４つのＤＲＡＭバンクのうち１つを選択する。１１ビットのアドレスコマンドＡＤＤは、ＤＲＡＭの行および列アドレス、ＤＲＡＭの転送動作、および、ＳＲＡＭ１６内のラインのうち、データがそのラインからＤＲＡＭ１２に転送され得るライン、または、データがそのラインにＤＲＡＭ１２から転送され得るライン、を選択する。たとえば、ＡＤＤコマンドの下位９ビットがＤＲＡＭ行アドレスを選択し、下位５ビットがＤＲＡＭ列アドレスを選択し、ＡＤＤコマンドの２ビットがＤＲＡＭ転送動作を規定するのに使用され得る。また、上位４ビットが、ＳＲＡＭ内の１６ラインのうち１ラインを選択することが可能である。
【００３４】
ＤＲＡＭ制御回路４２は、ＤＲＡＭ読出転送コマンドＤＲＴを形成して、データの３２ブロックのうちＡＤＤコマンドによって指定された１ブロックを、ＳＲＡＭ１６内の１６ラインのうち１ラインへと転送させる。ＤＲＡＭ書込転送コマンドＤＷＴもまたＤＲＡＭ制御回路４２によって形成されて、ＳＲＡＭの１６ラインのうちＡＤＤコマンドによって指定された１ラインから、ＤＲＡＭ１２内の３２ブロックのうち１ブロックに、データが転送される。
【００３５】
データ転送レジスタ４４は、ＤＲＡＭ１２とＳＲＡＭ１６との間に配されて、ＤＲＡＭ１２とＳＲＡＭ１６との間のデータ転送を支持する。ＤＲＡＭ書込転送をマスクするのに、３２ビットのバイトライトイネーブルマスクレジスタ４６が使用される。このレジスタ４６は、ロードマスクレジスタコマンドＬＭＲが発せられると、ポートＡまたはポートＢのいずれかからロードされ得る。レジスタ４６内の各ビットは、２５６ビットのグローバルＩＯバス１４の１バイトをマスクする。バイトライトイネーブルマスクレジスタ４６と、ライトパービットマスクレジスタ３４および３６とは、それぞれ、ＤＲＡＭ１２およびＳＲＡＭ１６への書込中に、バイパスされ得る。
【００３６】
ＭＰＲＡＭ１０は、プログラマブルバーストモードを有する。このモードは、ポートＡおよびＢからＳＲＡＭ１６に書込まれるデータのバーストのために、または、ＳＲＡＭ１６からポートＡおよびＢに読出されるデータのバーストのために、ユーザが１、２、４および８のバースト長を選択できるようにする。順次またはインタリーブバーストが選択され得る。ＤＲＡＭ制御回路４２によって発せられるセットモードレジスタコマンドＳＭＲは、内部モードレジスタ内にバーストの長さおよび種類をプログラムできるようにする。モードレジスタ内にプログラムされるモードレジスタコード（ＭＲＣ）は、ＡＤＤコマンドを使用して入力され得る。ＭＲＣは、それが次のＳＭＲコマンドによってオーバライトされるまで、または、ＭＰＲＡＭ１０に電力が供給されなくなるまで、モードレジスタ内に記憶される。ＳＭＲコマンドは、ＤＲＡＭ１２およびＳＲＡＭ１６がアイドル状態にあるときに発せられ得る。バースト終了コマンドＢＴＡおよびＢＴＢは、ＳＲＡＭ制御回路２８によって発せられて、ポートＡおよびＢからのまたはそれらへのバーストシーケンスをそれぞれ、終了させることができる。
【００３７】
図２は、ＳＲＡＭ１６、ＤＲＡＭ１２、外部ポートＡおよびＢ、ポートＡ制御回路２２、ポートＢ制御回路２４、およびＤＲＡＭ制御回路４２の間の相互接続を概略的に示す。ＳＲＡＭ１６は、各ラインが２５６個の記憶セルを有する、１６ラインで構成され得る。３つのＩＯポートＡ、Ｂ、およびＤは、ＳＲＡＭ１６と、外部ポートＡおよびＢと、ＤＲＡＭ１２との間のデータ転送を支持する。ＳＲＡＭポートＡ、Ｂ、およびＤの各々は、ＩＯデータバスおよびコントロールバスを有する。
【００３８】
ＳＲＡＭポートＡおよびＢは、外部メモリコントローラが外部ポートＡおよびＢをそれぞれ介してＳＲＡＭ１６にアクセスできるようにする。ポートＡ入出力および制御回路１６２とポートＢ入出力および制御回路１６４とは、ＳＲＡＭポートＡおよびＢのための、データの転送と、制御およびアドレス信号とを支持する。たとえば、１６ビットのデータＤＱＡおよびＤＱＢは、それぞれ、外部ポートＡおよびＢのＩＯデータピン１８および２０と、ＳＲＡＭポートＡおよびＢとの間で転送される。ＳＲＡＭポートＡおよびＢを介した外部ポートＡおよびＢからの読出および書込ＳＲＡＭアクセスは、ポートＡ制御回路２２およびポートＢ制御回路２４にそれぞれ供給される、制御およびアドレス信号によって制御される。
【００３９】
ＳＲＡＭポートＤは、ＳＲＡＭ１６とＤＲＡＭ１２との間のデータ転送を支持する。たとえば、ＳＲＡＭポートＤは、グローバルＩＯバス１４に結合され得る。ＤＲＡＭ制御回路４２は、ポートＤを介する読出および書込ＳＲＡＭアクセスを制御する。グローバルＩＯバス１４を介したＳＲＡＭ１６とＤＲＡＭ１２との間のデータ転送は、この出願と同時に出願されて、ここに引用により援用される、「共有グローバルバスを有するマルチポートＲＡＭ（“MULTI-PORT RAM HAVING SHARED GLOBAL BUS ”）」と題された、本出願人の同時係属中の出願ＳＮ 
内により詳細に開示されている。
【００４０】
図３を参照して、ＳＲＡＭ１６の各記憶セル１６０は、３つのポートＡ、Ｂ、およびＤを有し、その各々は、データＩＯ線および制御線を備える。ポートＡ、Ｂ、およびＤのデータＩＯ線は、それぞれ、ＳＲＡＭ１６のＡ、Ｂ、およびＤポートのデータＩＯバスに結合される。ポートＡ、Ｂ、およびＤの制御線は、それぞれ、ＳＲＡＭポートＡ、Ｂ、およびＤのコントロールバスに接続される。
【００４１】
図４に示すように、ＳＲＡＭセル１６０の各ポートは、読出および書込データ経路と、読出および書込アドレス制御線とを有する。書込アドレス線ＷＹＡ、ＷＹＢ、およびＷＹＤは、それぞれ、セルポートＡ、Ｂ、およびＤに対して書込アドレス信号を提供する。読出アドレス線ＲＸＡ、ＲＸＢ、およびＲＸＤは、それぞれ、セルポートＡ、Ｂ、およびＤに対して読出アドレス信号を提供するのに使用される。入力データ線ＷＬＡ、ＷＬＢ、およびＷＬＤは、外部ポートＡおよびＢ、ならびにＤＲＡＭ１２からのデータを、セルポートＡ、Ｂ、およびＤを介してＳＲＡＭセル１６０内に書込むことを可能にする。出力データ線ＲＬＡ、ＲＬＢ、およびＲＬＤは、セルポートＡ、Ｂ、およびＤを介した、セル１６０から外部ポートＡおよびＢならびにＤＲＡＭ１２への、データの読出を支持する。
【００４２】
たとえば、外部ポートＡからセル１６０内に書込まれるべきデータは、入力データ線ＷＬＡ上に置かれる。セル１６０をアドレスするために書込アドレス線ＷＹＡ上に提供される書込アドレス信号は、ＡＤＡアドレス信号に基づいて、ポートＡ制御回路２２によって生成される。
【００４３】
外部ポートＡからのデータ読出を行なうために、ポートＡ制御回路２２は、ＡＤＡアドレス信号に基づいて、読出アドレス信号を生成する。読出アドレス信号は、セル１６０をアドレスするために、読出アドレス線ＲＸＡ上に提供される。読出されたデータは、出力データ線ＲＬＡを介して、外部ポートＡに転送される。外部ポートＢからのセル１６０への読出および書込アクセスは、出力データ線ＲＬＢ、読出アドレス線ＲＸＢ、入力データ線ＷＬＢおよび書込アドレス線ＷＹＢを使用して、同様の方法で行なわれる。
【００４４】
ＤＲＡＭ１２は、入力データ線ＷＬＤおよび出力データ線ＲＬＤをそれぞれ介して、セル１６０へのデータの書込およびセル１６０からのデータの読出を行なう。データ読出を行なうために、セル１６０は読出アドレス線ＲＸＤを介してアドレスされる。読出アドレス信号は、ＡＤＤアドレス信号に基づいてＤＲＡＭ制御回路４２によって生成される。ＡＤＤアドレスに基づいてＤＲＡＭ制御回路４２によって形成されたセル１６０への書込アドレス信号は、書込アドレス線ＷＹＤ上に提供される。
【００４５】
図５は、論理１値を含むトリプルポートＳＲＡＭセル１６０内に、外部ポートＡから論理０値を書込む動作を示す。その後、セル１６０によってそのポートＡを介して受取られたデータは、セルポートＤを介してＤＲＡＭ１２に読出される。図５に示すように、外部ポートＡからの論理０は、内部クロック信号ＣＬＫの立上がり端縁上で、ＳＲＡＭセル１６０のＷＬＡデータ線上に置かれる。ＷＹＡ線にはポートＡ制御回路２２から書込アドレス信号が供給されて、ポートＡデータがセル１６０内に記憶されるのを可能にする。
【００４６】
その後、ＤＲＡＭ制御回路４２はセル１６０のＲＸＤ線に読出アドレス信号を供給して、記憶されたデータがＤＲＡＭ１２に読出されるようにする。論理０値は、セル１６０のＲＬＤデータ線を介して、ＳＲＡＭセル１６０からＤＲＡＭ１２に転送される。
【００４７】
したがって、外部ポートＡおよびＤＲＡＭ１２は、同じＳＲＡＭセルに対して書込および読出アクセスを並行に行なうことが可能となる。
【００４８】
図６に、トリプルポートＳＲＡＭセル１６０の例示的な構成を示す。セル１６０は、入力データ線ＷＬＡ、ＷＬＢおよびＷＬＤと、インバータＩ１、Ｉ２、およびＩ３によって形成されてデータをラッチするためのラッチ回路との間にそれぞれ接続された、入力パストランジスタＱ１、Ｑ２、およびＱ３を含み得る。インバータＩ１およびＩ２は、交差結合される。インバータＩ３は、インバータＩ１の出力に結合される。インバータＩ１〜Ｉ３の各々は、ＭＯＳトランジスタの対によって設けられ得る。
【００４９】
出力パストランジスタＱ４、Ｑ５、およびＱ６は、ラッチ回路と、出力データ線ＲＬＡ、ＲＬＢ、およびＲＬＤとの間にそれぞれ、接続される。パストランジスタＱ１、Ｑ２、およびＱ３のゲートはそれぞれ、書込アドレス線ＷＹＡ、ＷＹＢおよびＷＹＤに接続される。パストランジスタＱ４、Ｑ５、およびＱ６のゲートはそれぞれ、読出アドレス線ＲＸＡ、ＲＸＢ、およびＲＸＤに接続される。たとえば、ＭＯＳトランジスタが、入力および出力パストランジスタとして使用され得る。
【００５０】
外部ポートＡおよびＢのうちの１つまたはＤＲＡＭ１２がＳＲＡＭセル１６０へのデータの書込を開始すると、対応する書込アドレス信号が入力パストランジスタＱ１〜Ｑ３のうち１つを活性化して、入力データ線のうちの１本に供給されたデータがラッチ回路Ｉ１〜Ｉ３内に流れるようにする。２以上のポートから単一のＳＲＡＭセル１６０に同時に書込アクセスがなされた場合には、無効データが提供されるおそれがある。したがって、ＭＰＲＡＭ１０は、外部ポートＡとＢとの両方から、または、ＤＲＡＭ１２と外部ポートのうち一方との両方から、同じＳＲＡＭセルに対して並行に書込ができないようにされる。
【００５１】
読出アドレス信号は、１または複数の出力パストランジスタＱ４〜Ｑ６を活性化して、データがラッチ回路から対応する出力データ線に送られることを可能にする。したがって、トリプルポートＳＲＡＭセル１６０は、多重読出動作が並行して行なわれるのを支持することができる。
【００５２】
ＳＲＡＭ動作は、ポートＡ、Ｂ、およびＤのどの１つからも、一度に１つの動作のみが行なわれ得るため、トリプルポートＳＲＡＭセル１６０は、最高３つの動作が並行して行なわれるのを支持することができる。たとえば、ポートＡおよびＤにセル１６０から読出を行なうのと並行して、ポートＡがセル１６０への書込を行なうことが可能である。
【００５３】
したがって、トリプルポートＳＲＡＭセル１６０は、ＭＰＲＡＭ１０が、ポートＡおよびＢを介して外部メモリコントローラからＳＲＡＭ１６に対して読出および書込アクセスを行なうのと並行に、ポートＤを介してＤＲＡＭ１２にまたはＤＲＡＭ１２からＳＲＡＭデータを読出すかまたは書込むことを可能にする。したがって、ＤＲＡＭおよびＳＲＡＭの動作は、同時に行なうことが可能となる。
【００５４】
外部ポートＡおよびＢの両方が各ＳＲＡＭセル１６０へのアクセスを有するため、外部ポートＡおよびＢに結合された外部メモリコントローラは、読出サイクルと書込サイクルとの間で待つ必要なく、ＳＲＡＭ１６内のデータを修正することが可能である。すべてのクロックサイクル上で、外部ポートのうち一方ポートが読出動作を行ない、他方ポートが書込動作を行なうことができる。たとえば、図７（Ａ）および（Ｂ）に示すように、第１のクロックサイクル上で、ポートＢはＳＲＡＭセル１６０からデータエレメントＤ１を読出すことができる。ただし、外部メモリコントローラがデータエレメントＤ１を修正するのに、１クロックサイクルを要するものと仮定する。その後、ポートＡは、その修正されたデータエレメントＤ１をＳＲＡＭセル１６０内に書込むことができる。それ以後のデータエレメントＤ２、Ｄ３およびＤ４は、同様に修正される。したがって、ＳＲＡＭ１６のための読出−修正−書込（ＲＭＷ）サイクルの帯域幅は、格段に改善される。
【００５５】
以上に、ＳＲＡＭ、ＤＲＡＭ、および２つの外部ＩＯポートを有する、メモリを説明した。各ＳＲＡＭセルは、外部ＩＯポートに結合された２つのＩＯポートと、ＤＲＡＭにおよびＤＲＡＭからデータを転送するための１つのＩＯポートとを備える。このトリプルポートＳＲＡＭセルは、ラッチ回路に結合されて、外部ＩＯポートおよびＤＲＡＭから供給されたデータを書込むための３本の入力データ線と、ラッチシステムに結合されて、記憶されたデータを外部ＩＯポートおよびＤＲＡＭに読出すための３本の出力データ線とを含む。３本の書込アドレス線および３本の読出アドレス線は、外部ＩＯポートおよびＤＲＡＭによって行なわれるデータ書込および読出動作のために、ＳＲＡＭセルのアドレス指定を行なう。
【００５６】
この開示においては、この発明の好ましい実施例のみを示しかつ説明しているが、この発明は、前掲の請求の範囲に示した本発明の概念の範囲内で、変更および修正が可能であると理解されたい。
【図面の簡単な説明】
【図１】マルチポートＲＡＭチップのアーキテクチャを示すブロック図である。
【図２】マルチポートＲＡＭ内のＳＲＡＭの構成を示すブロック図である。
【図３】各ＳＲＡＭセルのポートを示す図である。
【図４】ＳＲＡＭセルのデータおよびアドレス線を示す図である。
【図５】ＳＲＡＭセルへのデータ書込およびＳＲＡＭセルからのデータ読出を示すタイミング図である。
【図６】ＳＲＡＭセルの例示的な回路図である。
【図７】（Ａ）および（Ｂ）は、ＳＲＡＭ内の読出−修正−書込サイクルを示す図である。
【符号の説明】
１０  マルチポートＲＡＭ
１２  ＤＲＡＭ
１４  グローバル入出力バス
１６  ＳＲＡＭ
２２  ポートＡ制御回路
２４  ポートＢ制御回路
１６２  ポートＡ入出力および制御回路
１６４  ポートＢ入出力および制御回路
【図１】
0003863280.tif 000002
【図２】
0003863280.tif 000003
【図３】
0003863280.tif 000004
【図４】
0003863280.tif 000005
【図５】
0003863280.tif 000006
【図６】
0003863280.tif 000007
【図７】
0003863280.tif 000008