(57)【特許請求の範囲】
【請求項１】
パラレルデータポートを有する中央処理装置（CPU）等のマスタコントローラとダイナミックランダムアクセスメモリ（DRAM）とを備えたシステムであって、該マスタコントローラ及び該DRAMが、共通のシステムバスインターフェイスに接続されると共に該共通のシステムバスインターフェイスへのアクセスを獲得し合う、システムにおいて、該システムが、
複数の独立したシリアルデータインターフェイスであって、その各々に対応するバッファを介して別個の外部入出力リソースと内部DRAMメモリとの間に接続された、複数の独立したシリアルデータインターフェイスと、
該シリアルデータインターフェイスと前記バッファとの間に挿入されたスイッチングモジュールと、
前記CPU等のマスタコントローラによる動的な設定の下で前記シリアルデータインターフェイスを前記バッファに接続して、データを経路指定するために前記シリアルデータインターフェイスに対する前記バッファの割り当てを切り替える、スイッチングモジュール論理制御手段であって、該シリアルデータインターフェイスの数が、前記バッファの数とは無関係であって、前記動的な設定の下で該シリアルデータインターフェイスと前記バッファとの接続関係が変動する、スイッチングモジュール論理制御手段と
からなるマルチポート内部キャッシュ型DRAM（AMPIC DRAM）を含む改善されたDRAMを備えていることを特徴とする、前記システム。
【請求項２】
前記スイッチングモジュールが、１つ若しくは２つ以上のマルチプレクサ又はクロスバースイッチ、又はそれらの組み合わせからなる、請求項１に記載のシステム。
【請求項３】
前記内部DRAMメモリが、該システムのDRAMコアメインメモリである、請求項１に記載のシステム。
【請求項４】
前記バッファがデータパケットバッファであり、様々な活動中のパケットバッファと前記CPUとの間のシステムバスインターフェイスアクセスについての仲裁を実行するための手段が設けられ、前記パケットバッファとの間での前記シリアルデータインターフェイスを介したデータの送受信に仲裁が全く必要とされない、請求項３に記載のシステム。
【請求項５】
AMPIC DRAMのスイッチングモジュールが、任意の前記バッファを任意の前記シリアルデータインターフェイスに割り当て、前記バッファと前記内部DRAMメモリとの間でデータ伝送を行う中間ステップが全く存在しない、請求項１に記載のシステム。
【請求項６】
前記の各々の独立したシリアルデータインターフェイスが１ビット幅を有するものである、請求項１に記載のシステム。
【請求項７】
複数の前記１ビット幅のシリアルデータインターフェイスが、共通の入出力リソースと共に共通のバッファに接続された狭幅バス又はポートとして構成されている、請求項６に記載のシステム。
【請求項８】
各バッファが、１つのポートとして規定された際に、最大で全てのシリアルデータインターフェイスとのインターフェイスを同時にとり、接続の対象となるポートと同一のポートサイズとなるよう構成される、請求項７に記載のシステム。
【請求項９】
対応する入出力リソースとシリアルポートとの間のシリアルデータフローを制御するための制御ラインが各ポートインターフェイス毎に設けられている、請求項１に記載のシステム。
【請求項１０】
複数のAMPIC DRAMチップが設けられ、その各々がシステムバスインターフェイスと入出力リソースのシリアルデータインターフェイスとの間に接続され、１つ又は２つ以上のシリアルデータインターフェイスが１つのポートとして機能する、請求項１に記載のシステム。
【請求項１１】
少なくとも２つの内部DRAMコアバンクが行幅インターフェイスを介して接続され、該少なくとも２つの内部DRAMコアバンクが、１つの内部DRAMコアバンク上の１つの行からデータが読み出された後に該データが少なくとも１つの別の内部DRAMコアバンクに書き込まれるように、対応するRAS信号で同時にストローブされる、行アドレスをそれぞれ有している、請求項１に記載のシステム。
【請求項１２】
内部論理回路によって方向制御が提供され、１行の伝送が完了した後に別の伝送を開始することができ、結果的に得られる並列行内部トランザクション介入(PRITI)が完了時まで続行されるようになっている、請求項11に記載のシステム。
【請求項１３】
かかる内部的な伝送中における内部DRAMコアバンクへのアクセスを否定すると共に該内部的な伝送中におけるシリアルデータインターフェイス上の伝送を可能にする手段が設けられている、請求項12に記載のシステム。
【請求項１４】
２つの記憶素子からなる行幅記憶素子セットの２つが、前記内部DRAMコアバンク間のインターフェイスをとり、前記操作と同時に各内部DRAMコアバンク中の行にアクセスし、前記記憶素子への格納を行い、次いで両方のソースに対して同時に書き戻しを行う手段を備えている、請求項13に記載のシステム。
【請求項１５】
１つの行幅記憶素子セットが行幅インターフェイス上に配置され、格納されている１つの内部DRAMコアバンクの行データが前記行幅記憶素子セットに提供され、該１つの内部DRAMコアバンクにデータが書き込まれた後に少なくとも１つの別の内部DRAMコアバンクに対する書き込みが行われる、請求項13に記載のシステム。
【請求項１６】
前記AMPIC DRAMのシステムバスインターフェイス側に、別個のシリアルデータインターフェイスに加えて、アドレス、データ、RAS、CAS、書き込み(WRITE)、待機(WAIT)、CMD/DAT、及びマスタクロック(MASTER CLOCK)ピンが設けられ、前記CPUが、前記バッファと前記内部DRAMメモリとの間で内部伝送が行われる場合に必ずWAIT信号を用いてアクセスの開始を遅延させ(待機)又はアクセスサイクルを延長させ、これにより該アクセスを伴なう処理の前における内部伝送の完了を可能にし、RASサイクル中に使用されないデータラインを介してアクセス用のコマンド制御信号が加えられ、RASライン及びCASラインにより内部DRAMメモリアドレスが提供されると共に、該データラインによりバッファ番号又は付加的な命令情報が提供され、マスタクロックによりシリアルデータインターフェイス処理が制御される、請求項１に記載のシステム。
【請求項１７】
複数のネットワークコントローラを伴なうネットワーク用途に適合された請求項１に記載のシステムであって、前記ネットワークコントローラの各々が、対応するメインメモリAMPIC DRAMの１つ又は２つ以上の内部DRAMコアバンクとインターフェイスをとり、次いでシステムバスインターフェイスの一方の側に接続され、該システムバスインターフェイスの他方の側に前記CPUが接続され、前記ネットワークコントローラと前記メインメモリとの間のデータの移動が主にシリアルであり、前記ネットワークコントローラから１つのネットワークコントローラに送信されるべきデータとして受信されたシリアルデータが、前記CPUによって割り当てられたバッファに格納される、前記システム。
【請求項１８】
１つのネットワークコントローラが第２のネットワークコントローラにデータを送信し、前記１つのネットワークコントローラのシリアルポートにより受信されたデータがそれに対応するDRAMベースのメインメモリに伝送され、該伝送が、メインメモリの帯域幅の仲裁または消費を伴なうことなく行われ、対応する内部DRAMメモリに対して行われる該データ伝送が、仲裁を介したバッファによるバスの獲得に続くたった１回のアクセスで行われて、前記内部DRAMメモリに行アドレスデータが提供され、この際にAMPIC DRAMに伝送されたパケットが前記CPUによって処理されて前記第２のネットワークコントローラのポートに転送され、仲裁後の１回のアクセスで対応するバッファへとデータが伝送され、次いで対応するシリアルポートを介して前記第２のネットワークコントローラ及び及びそのネットワークへと伝送される、請求項17に記載のシステム。
【請求項１９】
グラフィクス／マルチメディア用途に適合された請求項１に記載のシステムであって、複数の表示用シリアルデータインターフェイスポートから複数のメモリAMPIC DRAMへ、次いで前記システムバスインターフェイスの一方の側へと接続された、最小限の複数の表示行の伝送を伴ない、前記システムバスインターフェイスの他方の側に前記CPUが接続され、前記表示用シリアルデータインターフェイスポートと前記メモリとの間のデータの移動が主にシリアルであり、前記表示用シリアルデータインターフェイスポートから受信したシリアルデータが、前記CPUに割り当てられたバッファに格納される、前記システム。
【請求項２０】
前記複数の表示行を、それと同数のデータ伝送操作により伝送する手段が設けられている、請求項19に記載のシステム。
【請求項２１】
従来形式のDRAMの１つ又は２つ以上の更なる外部バンクが、シリアルデータインターフェイス処理を伴なわずに、前記システムバスインターフェイスに接続されている、請求項17に記載のシステム。
【請求項２２】
AMPIC DRAMの１つ又は２つ以上の更なる外部バンクが設けられ、該外部バンクが前記システムバスインターフェイスに接続され、グラフィクス表示用のデータポートとシリアルにインターフェイスをとる、請求項19に記載のシステム。
【請求項２３】
１つ又は２つ以上のメモリ実装型DRAMユニット又はDRAMの１つ又は２つ以上のバンクが接続されるシステムバスインターフェイスを制御するパラレルデータポートCPUを有するシステムにおいて、DRAMシステムの帯域幅の制限を解消し、データ伝送速度を大幅に増大させ、バス仲裁要件を大幅に軽減させ、入出力リソースのインターフェイス処理の向上を可能にし、及び低コスト及び低消費電力を可能にするための方法であって、
対応するシリアルデータインターフェイスを介して外部入出力データリソースとのインターフェイスをとるための補充的なシリアルデータポートを各DRAMユニットにそれぞれ設け、
各DRAMの内部に、前記シリアルデータインターフェイス毎に１つずつバッファを設けると共に、該バッファと前記シリアルデータインターフェイスとの間に介在するスイッチングモジュールを設け、
データを経路指定するために前記スイッチングモジュールのスイッチングを動的に設定することにより、前記バッファに対する前記シリアルデータインターフェイスの接続を前記CPUに制御させ、前記シリアルデータインターフェイスの数が、前記バッファの数とは無関係であって、前記動的な設定の下で該シリアルデータインターフェイスと前記バッファとの接続関係が変動する、
という各ステップを有することを特徴とする、前記方法。
【請求項２４】
マルチプレクサ処理若しくはクロスバースイッチング処理又はその両者により前記スイッチングが行われる、請求項23に記載の方法。
【請求項２５】
前記スイッチングにより前記バッファが任意のシリアルデータインターフェイスに割り当てられ、この際に前記バッファと前DRAMメモリとの間でデータを伝送する中間的なステップを伴なわず、前記バッファと前記CPUとの間のシステムバスインターフェイスアクセスについて仲裁を行うが、前記シリアルデータインターフェイスを介した前記バッファとの間でのデータの送受信に仲裁を全く必要としない、請求項23に記載の方法。
【請求項２６】
DRAMの少なくとも２つのバンク、スイッチングモジュール、及びバッファを内部的に備えるチップのための請求項１に記載のシステムであって、
内部的なデータ行の伝送のための並列行内部トランザクション介入手段であって、シリアル接続を介して入出力グラフィクス表示装置に使用される少なくとも１つのバンクと、主にメインメモリとして使用される別のバンクの、両方のバンクに接続された、並列行内部トランザクション介入手段を備えており、
前記CPUが一方又は両方のバンクとアクセスし、前記別のバンク中のデータを移動させ、該データが、前記並列行内部トランザクション介入手段の制御下で前記バンク間で移動され、これによりユニファイドメモリアーキテクチャに適したチップが提供されることを特徴とする、前記システム。
【請求項２７】
パラレルデータポートを有する中央処理装置（CPU）等のマスタコントローラとランダムアクセスメモリユニットとを備えたシステムで使用するための改善されたメモリであって、前記マスタコントローラ及び前記ランダムアクセスメモリユニットが、共通のシステムバスインターフェイスに接続されると共に該共通のシステムバスインターフェイスへのアクセスを獲得し合う、改善されたメモリであり、該メモリが、
複数の独立したシリアルデータインターフェイスであって、その各々に対応するバッファを介して別個の外部入出力リソースと前記ランダムアクセスメモリユニット中の内部メモリとの間に接続された、複数の独立したシリアルデータインターフェイスと、
前記シリアルデータインターフェイスと前記バッファとの間に挿入されたスイッチングモジュールと、
前記CPU等のマスタコントローラによる動的な設定の下で前記シリアルデータインターフェイスを前記バッファに接続して、データを経路指定するために前記シリアルデータインターフェイスに対する前記バッファの割り当てを切り替える、スイッチングモジュール論理制御手段であって、該シリアルデータインターフェイスの数が、前記バッファの数とは無関係であって、前記動的な設定の下で該シリアルデータインターフェイスと前記バッファとの接続関係が変動する、スイッチングモジュール論理制御手段と
を含むマルチポート内部キャッシュ型メモリユニットを備えていることを特徴とする、前記メモリ。
【請求項２８】
マルチポート内部キャッシュ型DRAM（AMPIC DRAM）を備えた改善されたDRAMアーキテクチャにおける共通の内部バスのデータアクセスを制御するためのシステムであって、該AMPIC DRAMが、
複数の独立したシリアルデータインターフェイスであって、その各々に対応するバッファを介して別個の外部入出力リソースと内部DRAMメモリとの間に接続され、前記共通の内部バスに接続されて該共通の内部バスへのアクセスを獲得し合う、複数の独立したシリアルデータインターフェイスと、
該シリアルデータインターフェイスと前記バッファとの間に配置されたスイッチングモジュールと、
データを経路指定するために、前記シリアルデータインターフェイスに対する前記バッファの割り当てを切り替えるための動的な設定の下で、前記シリアルデータインターフェイスを前記バッファに接続するための、スイッチングモジュール論理制御手段であって、前記シリアルデータインターフェイスの数が、前記バッファの数とは無関係であって、前記動的な設定の下で該シリアルデータインターフェイスと前記バッファとの接続関係が変動する、スイッチングモジュール論理制御手段とを備えていることを特徴とする、システム。
【請求項２９】
入出力リソースの数とAMPIC DRAMスイッチの数との一方又は両方が増大され、これに対応する内部バスサイズの有効な増大により、スイッチングされるデータの量及び内部データスイッチング能力が拡張される、請求項28に記載のシステム。
【発明の詳細な説明】
発明の分野
本発明はダイナミックランダムアクセスメモリ技術（ＤＲＡＭ）に関する。より詳しくは本発明は、現行のシステムの帯域幅の制限及び関連する問題点を排除し、著しく高いシステム性能を低減させたコストにおいて提供し、結果として統一メモリ構造を提供するような多くの用途に対して実質的に万能に使用できる、新規なＤＲＡＭシステム構造に関する。
非常に多くのこのよなシステム設計は、特にネットワーク化／通信において、システムのメインメモリ（ほとんど常にＤＲＡＭ）にアクセスする種々のリソース（resource）間での回線争奪により、性能に限界がある。多くの回線争奪は、バス（bus）がＣＰＵ、メインメモリ及びＩ/Ｏリソースと相互接続する単一バス構造の使用の直接の結果である。この構造と過去及び現行のこれと同様な構造は、重大な帯域幅の制限のため非常に多くのＩ/Ｏインターフェイスを管理するＣＰＵの性能もまた害する。
また同様なシステムの帯域幅の制限は、グラフィック／マルチメディアの設計者にメインメモリからグラフィックスメモリを分離させ、それによりシステムコストに不都合な影響を与える。グラフィック用途用の特殊なＤＲＡＭもまた開発され、ビデオデータ帯域幅の性能をさらに高める。種々の形式のＤＲＡＭが使用されるあるシステム構造が、メインメモリとグラフィックメモリの双方に使用される共通メモリであることを意図される場合には、１つの動作もしくは他の動作に対して非能率であるために、このような構造は限界のある結果を有する。
したがって低コスト、高性能の統一メモリ構造の有用性が、本発明の出現まで広く存在し続けた。本発明は、革新的なＤＲＡＭ構造とその結果として後述する独自のシステム構造を提供する。これらの構造は、広くこれらの問題点を排除し、その結果より一層のデータ帯域幅の性能を提供し、実質上性能を高めて、特により低コストで、非常により多くの数のリソースを相互接続する。この新規な構造を基礎とするシステムの構成は、メインメモリ動作とグラフィックメモリの双方に対して等しく効率的に作動し、したがってまさに低コストで、高性能の統一メモリ構造をさらに達成する。このチップ解決法（solution）は、今後「ＡＭＰＩＣ  ＤＲＡＭ」と呼ばれ、多重ポート内部キャッシュＤＲＡＭを表す。
発明の背景
議論をはじめる前に、この特徴の主な高性能システムは、単一システムバスがＣＰＵ、メインメモリ及びＩ/Ｏリソースを相互接続するバス基準構造を使用する傾向にある。これは後に記載される図１に示される（「メインメモリ」及び「システムメモリ」なるここで使用される用語は、交換可能に使用される）。これは比較的に確かで進歩した設計であり、拡張用のメモリ空間を提供するが；これは重大な制限を有する。ＣＰＵもしくは周辺装置がメインメモリ（一般にＤＲＡＭで実行される）にアクセスする必要があるときは必ず、仲裁（arbitration）がシステムバスにアクセスするように起こる。したがって内での同時作業の総量は、外部バスの全容量により制限される。
ＣＰＵの速度が増すと、システムバス帯域幅は、それに応じてシステムの完全なポテンシャルを実現するように増加しなければならない。しかしながらバス帯域幅の増加は、技術的に不可能もしくは極端に高価となる点で、非常に困難であり、かつ大変にコストがかかる。加えてバス上に存在可能なＩ/Ｏリソースの数もまた帯域幅により制限される。理論上の単一バスは高次の拡張性があると同時に、回線争奪のために実際の動作はこのような拡張を厳しく制限する。
この問題が全ての形式のアプリケーションに広く存在する。実例となるネットワーク化／グラフィックアプリケーションは、これらの問題点をより理解するために例示としてこれ以降に示されるのであって、本発明は決して例の範囲にのみに制限されるものではない。
ネットワーク化アプリケーションの例
スイッチ（switch）、ルータ（router）、ブリッジ（bridge）、ハブ（hub）等のような典型的なネットワーク化装置（相互接続装置と呼ばれる）は、ＡＴＭ（非同期転送モード）、ＳＯＮＥＴ（同期光学ネットワーク）、トークンリング（Token Ring）、ＦＤＤＩ（ファイバー分散データインタフェース）、イーサネット（Ethernet）、ファイバーチャンネル等のような後に記載される図２に示すような多重ネットワークに相互接続する。典型的な設計は、高性能のＣＰＵ及び後に記載される図３と４に表されるような従来のＤＲＡＭの使用により一般に実行される多量のメインメモリが含まれる。種々のネットワークからのデータは、ＣＰＵで処理され、さらに一般的にはそれぞれの目的ネットワークに向けられる、パケット（パケットはバイトを収集したものである）の形態でメインメモリに転送される。
全ての上述のネットワーク（ＡＴＭ、ＳＯＮＥＴ、ファイバーチャンネル、トークンリング、ＦＤＤＩ等）は、１つの点から別の点に転送データの異なる方法を提供する。それらはハードウエア、ソフトウエア及びデータ転送速度の点で異なる。相互接続装置は、異なるプロトコルにより継ぎ目なく、これらのうちの１つのネットワーク上のユーザが他のネットワーク上のユーザと通信するために必要である。
典型的な相互接続装置においては、ネットワークインタフェースは、各形式のインタフェースに対して独自のネットワークインタフェースコントローラ（ネットワークコントローラとして公知）により実行される。したがってイーサネットはファイバーチャンネルもしくはＡＴＭ（図３及び４）とは異なるネットワークインタフェースを有する。
この実例となるシステム構成の典型的なデータフローを説明するためだけの例示である、図４に示される例においては、以下の典型的なパラメータが必要とされる：
ａ．システムバスは32ビット長（４バイト）である；
ｂ．４つの従来のＤＲＡＭ、２Ｍ×８は２Ｍ×32と構成される；
ｃ．４つのネットワークインタフェース、ファイバーチャンネル、ＡＴＭ、イーサネット及びＦＤＤＩが存在する；さらに
ｄ．パケットサイズは1024バイトである。
パケットが例えばイーサネットワーク上のユーザにより例えばＦＤＤＩネットワーク上のユーザに送られるとき、この場合には注意を要する。このパケットは、相互接続装置のイーサネットインタフェースコントローラにより受信され、単に慣用のローカルＦＩＦＯ（ファーストインファーストアウト）メモリ内に記憶された関連した情報内容に対して、メインメモリに後に転送するように、コントローラチップにより解析される。システムバス上の多重デバイスがＣＰＵ及び種々のネットワークコントローラを含むので、仲裁が全ての動作リソース間で起こり、システムメモリバスが獲得される。イーサネットコントローラが仲裁を介してバスを獲得した後、さらにデータは32ビット長システムバスインタフェースを使用するシステムメモリに向かう。パケット内に1024バイト存在し、４バイトが転送に対してメインメモリに転送されるので、パケットを移動させるのにこのような256回の転送が要求される。ネットワークコントローラがバスの全獲得に対して１度に４バイトの転送しか認められないとすれば、最低256回の仲裁サイクルもまた必要とされる。（バースト転送能力がネットワークコントローラにより提供されるならば、仲裁の数はより少なくなるであろう。例としては、全獲得に対して16バイトの転送能力は、最低64回の仲裁サイクルを必要とする。）
パケットがメインメモリ内に記憶された後、それは（最初にヘッダ情報）ＣＰＵにより処理され、この例ではＦＤＤＩポートに向けて向け直される。さらに逆の処理が起こる。データはＦＤＤＩインタフェースコントローラによりメインメモリから取り上げられ、チップ内部のＦＩＦＯメモリに転送される。これも256回の転送及び関連する仲裁の回数を必要とする。データはさらにＦＤＤＩコントローラチップからそのネットワークに同時に転送される。
ＦＤＤＩは毎秒100メガビットで動作し、イーサネットは毎秒10/100メガビットで、ＡＴＭは毎秒600メガビット程度で、トークンリングは毎秒16メガビットで、さらにファイバーチャンネルは毎秒800メガビットで動作する。
多量の転送及び仲裁で費やされる時間は、利用できるデータ帯域幅の多くの部分を消費し、またＣＰＵのアクセス頻度を低下させる。ネットワークインタフェースの数が増加し、もしくはより高速のインタフェースが追加されるならば、ＣＰＵを含む各リソースに費やされる総時間は減少し、したがってシステムのピーク性能は切り取られる。これは設計者により高い性能のＣＰＵ及び関連する高価なコンポーネントを求めさせ、したがってコストが跳ね上がる。この従来技術の形式のシステムバスを介して接続することが可能なネットワークの数は、これらのきびしい制限により少なくとどめられ、さらにこの問題点は、ますます多くのネットワークがますます高速度において、例えばインターネットに関連した拡張動作を適応させて付加される際に、一層悪化する。
グラフィックス／マルチメディアアプリケーションの例
再度例示する背景を意図して、グラフィックス／マルチメディアアプリケーションを使用する。このようなグラフィックスシステム内には機能に関連する２つの主要なメモリが存在する；
ａ．表示される画像のためのスクリーンメモリを更新し、さらに
ｂ．非常に高い頻度で陰極線管（ＣＲＴ）もしくは他のスクリーンディスプレイを更新するようにスクリーンメモリを検索する。
最初のタスクは、メモリ内の１つの場所から他の場所への、「BitBlt（ビットブロック転送）」と呼ばれる、多量の頻繁なデータ転送を必要とするが；この要求は本質的にバーストである傾向がある。これはシステムの帯域幅のかなりの部分を消費し、したがって後に記載する図５に示すようにグラフィックスデータを記憶する分離したメモリの使用を要し、それによってシステムコストに不都合な影響を与える。システムメモリの16行が更新に必要であり、慣用の２Ｍ×８のＤＲＡＭコンポーネントが使用される例を考察する。新しい場所にデータの16行分を転送すると、必要とされるデータ転送の数は：
転送される行の数（16）×各行内のコラムの数（1024）＝16,384
明らかに一致する仲裁の数もまたシステムバスへ向かうのに必要である。その上さらに、この多量の転送は短時間の内に必要とされ、したがって短いスロット時間に利用できるデータ帯域幅の多くが消費され、ＣＰＵ及び他のＩ/Ｏリソースを欠乏させる。しかしながら本発明以前に、実際的な進展は、この問題を軽減するための実在するＤＲＡＭ製造によるこの分野で提案されていない。
もちろん繰り返されるスクリーンメモリの検索は、ロード（load）及びＣＲＴディスプレイをリフレッシュ（refresh）するのに必要であり、さらにディスプレイ（ＶＧＡ、スーパーＶＧＡ等）の形式に依存して、このような更新に対する帯域幅の要求は変化するが、毎秒100メガバイトもしくはそれを越える程度となる傾向がある。「BitBlt」とは異なるＣＲＴ更新要求は本質的に連続し、「BitBlt」に同様のＣＲＴ更新はまたシステム帯域幅をかなり利用する。
例示として、以下の場合を考察する：
ａ．ディスプレイサイズ1024×768ピクセル；
ｂ．非インターレース（interlace）−毎秒72回更新；さらに
ｃ．３色赤、緑及び青の各々に対してピクセル毎に８ビット。
１秒あたりのバイトのタームにおいて必要な帯域幅は：
1024×768×72×８×３／８＝170メガバイト。
メインメモリのように使用されるとすると、これはかなりの要求であり、慣用のＤＲＡＭを適用するのは困難である。その結果、これはより高価な特殊なＤＲＡＭの開発を導き、一般的にかつ広く使用されるこのような特殊なＤＲＡＭの１つとしては「ＶＲＡＭ」と呼ばれる「ビデオＤＲＡＭ」がある。ＶＲＡＭの多くは、いくつかの例外を有するデュアルポートであり、例外は第３のポートが付加されるところである。典型的なＶＲＡＭは、従来のＤＲＡＭと同様のシステムインタフェースを有するが、チップの内部に（ＳＡＭ（シリアルアクセスメモリ）と呼ばれる）行長バッファをも有し、このチップは、後に記載される図６に示すように、システムインタフェースに対して利用できるような分離はしているが等しい数のデータピンを介して、外部と相互に作用し合う、例示のように256K×８のＶＲＡＭは、ＣＲＴに連続的にリフレッシュデータを流す８ビット長の付加のポートをも有する。「ＳＡＭ」バッファは、外部ディスプレイインタフェースと固定接続を有する。動作に際して、ＣＰＵ（もしくはシステムバスマスタ）は、システムデータインタフェースを介してＶＲＡＭにアクセスし、スクリーンイメージがＶＲＡＭ内に記憶され、すなわちＶＲＡＭ内に更新される。さらに１つの全体行のスクリーンデータは、１回のアクセスで「ＳＡＭ」バッファに移動される。このデータはさらに、システムインタフェースと長さが一致するＳＡＭＩ/Ｏインタフェースを介してディスプレイにその後転送される。
このようなＶＲＡＭは、設計がただ１つのグラフィックデータ源／データ宛先に相互に作用し合う場合に対しては、満足できる解答を提供する。しかしながらそれらは、多量の付加ピン及びより大きなシリコンチップのために、従来のＤＲＡＭよりも高価であり、その構造は大変に正確な構成を提供する。より多くのインタフェースにより多くのデバイスを拡張することは、著しくピンの数を増やすことになりきびしく制限される。外部Ｉ/Ｏインタフェースへの「ＳＡＭ」接続は、固定され、データポートサイズもまた予め決められる。またこのアプローチは、高速で動く巨大なデータ移動要求の問題を解決することもない。したがってＶＲＡＭは、本発明以前のより良い代替案が欠如していることによってのみ満足な解答を提供する。
ＶＲＡＭ（特に３ポートバージョン）は、時にネットワーク化アプリケーションに向かって頻繁に要求されるが、それらの前状態の正確なＩ/Ｏ構造、リソースの数（正確には−２つのみ）相互に作用するように非常に制限された性能、より大きな基板空間、より高価な構造及びより高い消費電力のために、まれにしか使用されていない。
システム構成における技術の状態と付随する問題
その結果、要約すれば、典型的な従来技術と従来の（前述の図３のような）ＤＲＡＭに基づく現行のシステム構成は、上述の制限に悩まされる。多量の高速ネットワークが低コストにおいて相互接続される必要のある、ネットワークアプリケーションに関連する問題点は多くは未解決のままであり、したがって結果としてネットワークインタフェース毎により高価格となる。
システム帯域幅の制限及びＣＲＴディスプレイを一定に更新するという要求は、ビデオＤＲＡＭの開発を先導してきたが、ＶＲＡＭは本質的にグラフィックアプリケーション及び先に議論した図６に示すような一般的に使用される構成に向けられるものであり、この構成は、メインメモリ及びディスプレイデータの帯域幅の双方の動作要求を増大させて、従来のＤＲＡＭと比較してより良好に動作するものであるが、グラフィックメモリからメインメモリの分離による及びＶＲＡＭそれ自体のより高いコストにもよる、この構成の有害な副次的な効果はシステムにコストを付加した。
また従来技術のグラフィックＤＲＡＭの他の形式は、ＲＡＭＢＵＳ社により開発されて、250MHzで動作する「ＲＤＲＡＭ」と称され、これはグラフィックアプリケーションに対してすばらしく機能し、ハイエンドグラフィック／マルチメディア環境でＶＲＡＭよりも一層のコスト効果をも示すが；しかしこのアプローチは２つの分離バスの保有をなおも必要とする。
ＰＣ市場（全てのチップの60％がこの分野で消費される）では、コストが最高に重要なことである。さらに探索では、グラフィック及びメインメモリ機能の双方に対して共通のバスを共有して、メモリ装置のただ１つの形式を消費する、「統一メモリ構造」と称される構成が認められ始めた。
１つの可能性としてはグラフィック及びメインメモリコンポーネントの双方と同様にＶＲＡＭを使用するが；しかしコンポーネントの付加されるコストは共通メモリを有することによる達成された利益を無効とする。他の潜在的な解答は、ＶＲＡＭよりもチップあたりのピンの数の少ない、したがって結果として低消費電力であり、より小さな実占有面積でありかつ比較的低コストである、前述したＲＤＲＡＭの使用が挙げられる。しかしそれらのブロック向き（block-oriented）プロトコル及びインタフェースの制限ゆえに、あいにくＲＤＲＡＭは非ローカライズメインメモリアクセスにおいて非常に効率が悪く、したがって「統一メモリ構造」の概念にそれ自体十分に満足しない。ＲＤＲＡＭの使用はまた、設計する仕事を困難とする、放射電磁波に関連する多数の重大な電気的工学設計、ノイズ干渉及びＰＣＢ層の問題を提起する。
したがって検索は、等しく効果的である、メインおよびグラフィック双方のメモリアクセスの多様な要求に適合可能な、より実現可能な低コスト／高性能な統一メモリ構造に依然として存在する。
本発明が真に向かうところは、この緊急の問題の効果的な解答であり、本発明はＤＲＡＭ構造及び方法の新しい形式の発展において現状を打破するものであると信じられる。その構造及び方法とは；
ａ．構造として新規であるものを含み、純然たるデバイス速度よりもむしろより一層高いシステムデータ帯域幅を提供する；
ｂ．システム帯域幅の最小のインパクト（impact）をもって多重Ｉ/Ｏリソースへ／多重Ｉ/Ｏリソースから多量のデータを移動し；
ｃ．従来のアプローチを含む相当に多くの数のＩ/Ｏリソースを相互接続し；
ｄ．少なくともより速い時間フレームの大きさのオーダーで及びシステム帯域幅の極わずかなインパクトを有して、データ内部の大きなブロックをチップに移動し；
ｅ．Ｉ/Ｏリソースの異なるデータ転送速度に適応するように構成可能とし；
ｆ．入力パケットの受信及びその後の伝送の間の潜在時間を圧縮し；
ｇ．少ないピン数を提供し；
ｈ．適当なコストを提供し；
ｉ．低消費電力を提供し；
ｊ．設計する労力を最小とする単純なシステムインタフェースを提供し；
ｋ．メインメモリとグラフィック双方の要求に対して等しく効果的に動作し、それにより真の「統一メモリ構造」及び実質的な万能のアプローチを提供する。
発明の目的
それゆえ本発明の目的は、新しくかつ改良されたダイナミックランダムアクセス（ＤＲＡＭ）システム、構造及び方法を提供することであり、これは、現行システムの帯域幅制限及び関連する問題点をうまく回避する、新規な多重ポート内部キャッシュＤＲＡＭ構造に利用され、縮小したコストにおいて非常に高めたシステム性能を提供し、それにより実質的に無数のアプリケーションに対する万能の利用を可能とする。
チップへのデータ内部のブロックの転送が従来のアプローチよりも速い大きさのオーダーであり、かつ実質的に向上した性能を有し及び特により低コストで著しく多い数のリソースと相互接続することの容易さを持つ、このような新規のシステムを提供することがさらなる目的である。
さらなる目的は、さらにこの新規な構造を基礎とするシステム構成を提供することであり、この構成はメインメモリ機能とグラフィックメモリのような双方において等しく効果的に動作し、この新規な構造は真に高性能の統一メモリ構造である。
他の及びさらなる目的は、これより以下に説明され、より詳しくは添付の請求項に詳述される。
発明の概要
しかしながら、その観点の１つから要約すれば、本発明は、パラレルデータポートを有する中央処理ユニット（ＣＰＵ）のような主コントローラ、及び共通システムバスインタフェースに互いに接続されてアクセスするように競合するダイナミックランダムアクセスメモリ（ＤＲＡＭ）を有するシステムにおいて使用されることを包含し、改良されたＤＲＡＭ構造は多重ポート内部キャッシュＤＲＡＭ（ＡＭＰＩＣ ＤＲＡＭ）を含み、ＡＭＰＩＣ ＤＲＡＭは分離した外部Ｉ/Ｏリソース及び内部ＤＲＡＭメモリ間で対応するバッファ介して互いに接続される複数の独立した直列データインタフェースからなり；スイッチングモジュールは直列インタフェースとバッファの間に挿入され；さらにスイッチングモジュール論理はダイナミック構成下のバッファに直列インタフェースの接続のために、所望のデータの経路付けを可能とするように正確なスイッチング配分のための前記ＣＵＰのようなバス主コントローラにより制御する。
好ましく最良の形態の設計及び技法がこれ以降に詳細に説明される。
【図面の簡単な説明】
本発明はさらに添付の図面により慣用にしたがって説明される。以下のように図１〜６は従来の技術を図解する；
図１は、典型的な従来技術の単一バスパラレル構造のブロックダイアグラムである；
図２は、典型的な従来技術のネットワーク構成を示す；
図３及び図４は、図２の構成のような構成を使用するためのＤＲＡＭを使用する、典型的な従来技術のネットワーク化装置を図解する；
図５は、分離したメモリを有し及び従来のＤＲＡＭを使用するグラフィックアプリケーションの従来技術の構成のブロックダイアグラムである；
図６は、ＶＲＡＭを使用するグラフィックアプリケーションの典型的な構造の同様なダイアグラムである。
図７は、本発明にしたがって構成されたシステム構造のダイアグラムであり、本発明の多重ポート内部キャッシュ「（ＡＭＰＩＣ）ＤＲＡＭ」を使用する；
図８は、図７の「ＡＭＰＩＣ ＤＲＡＭ」の部分的に上位のレベルの構造の同様の概要であり、補償直列インタフェース、バッファ及びＤＲＡＭコア間の多重の／クロスバースイッチングを示す；
図９は、図８において図解される直列データ多重装置の実行の詳細を図解する；
図10は、ポートとしての多重直列インタフェース構成の例を示す；
図11は、ＡＭＰＩＣ ＤＲＡＭの例示的な２ビットポート及び関連する制御ラインのダイアグラムである；
図12及び図13は、直列データ転送フォーマットの例のブロックダイアグラムであり、１ポートあたり２ビットの実例を図13に適用している；
図14は、記憶素子を持たない、後に記載されるパラレル行内部処理介入（ＰＲＩＴＩと呼ばれる）を持つ２つのバンク「ＡＭＰＩＣ ＤＲＡＭ」制御モジュール構造の部分的に上位のレベルの例のブロックダイアグラムである；
図15は、２つのバンクからの内部データ転送を有するＰＲＩＴＩ転送の動作順序を示す；
図16は、図14と同様であるが、ＰＲＩＴＩ機能に対して提供される記憶素子の２行長セットを有する；
図17は、図16の記憶素子の２行長セットを有する「ＰＲＩＴＩ」転送を図解し、動作の順序及び２つのバンク間の内部データ交換を示す；
図18は、図17と同様であるが、記憶素子のただ１つの行長セットを使用する；
図19は、例示として９つの直列インタフェースを有する本発明の「ＡＭＰＩＣ ＤＲＡＭ」に対する有効なピンアウト（pinout）の例を示す；
図20は、ＣＰＵを有する32ビット長システムバス動作の本発明のＡＭＰＩＣ ＤＲＡＭをもって構成された例示としてのネットワーク化装置を図解する；
図21は、グラフィックアプリケーションに対する同様のダイアグラムである；
図22は、各バンクが異なるネットワークインタフェースと接続する４つのバンクシステム構造を図解する同様のダイアグラムである；
図23は、図22と同様であるが、「ＡＭＰＩＣ ＤＲＡＭ」の２つのバンク及び従来のＤＲＡＭを有する２つのバンクを使用する；
図24は、図22と同様であるが、グラフィック用の２つのバンク及び他のアプリケーション用の２つのバンクを有する；
図25は、さらに「ＡＭＰＩＣ ＤＲＡＭ」構造のさらなる変更のダイアグラムであり、そこには２つの内部バンク及び前述の「ＰＲＩＴＩ」機能が存在し、１つのバンクはメインメモリに対して使用され、他のバンクはグラフィックもしくは他のアプリケーションに対して使用される；
図26は、前述の図19のＡＭＰＩＣ ＤＲＡＭシステムの変更であり、集積メモリ構造に対して少ないピン数を有する、「ＰＡＲＡＳ」と呼ばれるインタフェース及びアクセスを使用を適合させ、これは1994年10月７日に提出されたシリアル番号08/320,058の同時係属中のアメリカ合衆国特許出願に記載される。（この出願は、新規のインタフェース及びアクセス手順により、非同期の及び同期のダイナミックランダムアクセスメモリ装置のアクセス性能を改良する方法及び装置を開示し、この新規なインタフェース及びアクセス手順では、行、列及びデータアクセスの各々に対して同じ数のピンが使用され、かつ読み出し及び書き込みの双方のサイクルにおいて同じ数のピンが使用され；このような効果的な手段はデータの帯域幅を増加させ、より少ないピン数をもって同じサイズのパッケージのアドレス範囲を実質上増加させる。）
図27は、多重バンク「ＡＭＰＩＣ ＤＲＡＭ」制御モジュール構造の部分的に上位のレベルの例のブロックダイアグラムであり、前述のパラレル行内部処理介入（ＰＲＩＴＩ）を有し、記憶素子の１つの行長セットを有する。
本発明の好適実施例
ここで、伝送の数及びそれに対応するシステムバス上の仲裁(arbitration)を劇的に低減させることによる新規の「AMPIC DRAM」を中心とした解決策における帯域その他の上述のボトルネックをなくすための本発明について説明する。本発明により、システム性能全体が実質的に改善されると共に、大幅に高速なデータ伝送能力が提供される。その他の利点として、データ帯域幅への影響が極めて小さい該システムの拡張可能性が含まれ、これにより上述のようにシステムのコストが低減されることになる。
ここで図７を参照する。図示のCPUユニット（符号も同様に示す）は、従来の主パラレルポートのデータを用いるものであり、後述する本発明の「AMPIC DRAM」を備えたメインメモリユニットに接続される。該メインメモリユニットには、個々の入出力（I/O）リソース#1〜#nからの補助シリアルインターフェイス入力（#1〜#n）が接続される。
該実施例では、多数の１ビット幅の独立したシリアルインターフェイスが、このように「AMPIC DRAM」上に設けられて、入出力リソースとメインメモリとの間でデータが伝送される。これらのシリアルインターフェイスは、中央処理装置ＣＰＵまたはそれと類似した主制御装置により使用するために、システムバスインターフェイスのための主パラレルポートに追加されたものである。かかるシリアルインターフェイスの数は、デバイス技術、ピン数、消費電力、及びコスト等によってのみ制限されるものである。該インターフェース#1〜#nを介して受信されたシリアルデータ又は送信すべきデータは、個々の小さなバッファ#1〜#nで「AMPIC DRAM」内に格納される。これを図８に完全に示す。実際上の考慮事項のため、これは64〜512バイトの範囲をとり得るものとなるが、理論的には検知用増幅器のレイアウトによって制限される。典型的なレイアウトでは、１行のDRAMコアで利用可能なデータビット数に制限される。このため、１行のアクセスにつき1024バイトが利用可能である場合には、「AMPIC DRAM」の最大バッファサイズが1024バイト／内部バンクに設計される。バッファの数を「m」、シリアルインターフェイスの数を「n」とした場合、パケットバッファの数「m」は、シリアルインターフェイスの数「n」よりも多くなる（ここで、用語「パケットバッファ」は前記用語「バッファ」と交換可能に使用されるものである）。「m」の上限は、アーキテクチャではなく技術的制約により制限される。
好適実施例によれば、マルチプレクサ及び/又はクロスバースイッチ論理回路又はその組み合わせ（図８のマルチプレクサ／クロスバースイッチ）は、「n」個のシリアルインターフェイスを「m」個のバッファに接続する。各シリアルインターフェースとバッファとの接続は、CPU（又は現行システムのバスマスタ）によって動的に構成され、データの経路指定可能性（routability）にとって適当となるように変更される。
４つのシリアルインターフェイス及び４つのバッファの構成に関し、考え得るシリアルデータインターフェイスの一実施例の機能ブロック図を図９に示す。しかしながら、所望のアーキテクチャを実施するための多数の方法が存在する（但し、基本的な考えは同じである）。パケットバッファとDRAMコアとの間でデータを移動する必要がある場合には、様々なアクティブのパケットバッファとCPUとの間の仲裁が実行される。しかしながら、シリアルインターフェイスを介したパケットバッファとの間でのデータの送受信には仲裁は不要である。
入力(incoming)パケットバッファは出力パケットバッファとして再定義することが可能であり、データは、バッファとコアDRAMとの間でデータを伝送する中間的なステップを実行することなくその宛先に経路指定される。これにより、入力パケットの受信とそれに後続するその宛先への送信に伴なうレイテンシーが短縮される。これは、マルチプレクサ／クロスバースイッチモジュールを介して任意のバッファを任意のシリアルインターフェイスに割り当てる「AMPIC DRAM」の能力によってのみ可能となる。
「AMPIC DRAM」のアーキテクチャ構成では、多数の１ビット幅のシリアルインターフェイスは、１,２,４,又は８等のサイズの（「ポート」と呼ばれる）狭帯域幅のバスとして構成することもできる。該シリアルインターフェイスは、デバイス技術により許容される１〜nの任意の数とすることが可能であり、これは実施態様に従うものでもある。多数のシリアルインターフェイスがグループ化されて１つのポートとして定義されると、それらの全てが共通のパケットバッファに接続される（図１０に一層詳細に示す）。ここで、１つの１ビット幅のポートは、１つのシリアルインターフェイスと同じである。これにより、一層高速のデータ伝送が可能になると同時に柔軟性を維持することが可能となり、これは、異なる帯域幅およびデータ伝送要件で動作するリソースとのインターフェイスをとる場合に極めて有用なものとなる。また、各パケットバッファ（図８参照）は、１つのポートとして定義された場合には、最大n個のシリアルインターフェイスと同時にインターフェイスをとる能力を有する。該バッファは、それが接続される（「ドックされる(dock)」と称される場合もある）ポートと同一のポートサイズに関して構成される。
各ポートにおけるシリアルデータのフローは、個々の制御ラインにより制御される。各ポートのインターフェイスは、１つの制御インターフェイスと１組のシリアルデータインターフェイスとから構成される。一例として、各シリアルポートが１ビット幅だけである場合には、１ビットのデータラインにつき１つの制御ラインが使用される。２つのシリアルインターフェイスが１つのポートとして構成されている場合には、２ビットのポートに１つの制御ラインが使用される（以下同様、図１１参照のこと）。更に、ピン数を最小限にするために、シリアルインターフェイスの制御ラインは、「１制御ライン／ポート」という規準が満たされる限り、１つのシリアルデータインターフェイスラインとして構成することが可能である。各制御ラインのそのポートへの結合を構成することが可能である。制御ラインの目的は、入出力リソースとシリアルポートとの間のデータフローを制御することにある。ピン数が製造上重要でない場合には、独立した制御ピンを提供することが可能である。更に、用途によっては、制御ピンは必要とされず、システムバスへの入出力リソースのパラレルインターフェイスは、制御情報の交換を行うのに十分なものとなる。
入出力リソースと「AMPIC DRAM」シリアルポートとの間のデータ伝送形式は、図１２に示すように、各メモリチップ（同じ外部バンクの一部）がそのポート上で同時にデータの送受信を行う、といったものである。これを一例を用いて一層良好に説明する。図１２に示すような32ビット幅のシステムインターフェイスを備えた４つの２Ｍ×8形式の「AMPIC DRAM」を想定する（この場合、１つのポートを１ビットのシリアルインターフェイスとして定義する）。４つのチップの各々は同時にデータを受信する。チップ0はビット0を受信し、チップ1はビット8を受信し、チップ2はビット16を受信し、チップ3はビット24を受信する。次のサイクルで全てのビット番号が１だけ増分される。これは、各チップが８ビットを受信するように32ビット全ての伝送が完了するまで続行されることになる。これが完了すると、図１２に示すように、上記プロセスが次の32ビットについて繰り返されることになる（以下同様）。
ここで、図１３に示すように１つのポートが２つのシリアルインターフェイスからなるものとして規定される別の例について考察する。この場合には、全部で８ビットのインターフェイスが入出力リソースに提供され、該入出力リソースは、各「AMPIC DRAM」にそれぞれ２ビットを同時に提供しなければならない。該ビットの順序は、同時に、チップ0がビット0及びビット1を受信し、チップ1がビット8及びビット9を受信し、チップ2がビット16及びビット17を受信し、チップ3がビット24及びビット25を受信する、といったものである。次のサイクルで、全てのビット番号が２だけ増分される。これは、各チップが８ビットを受信するように32ビット全ての伝送が完了するまで続行されることになる。これが完了すると、上記プロセスが次の32ビットについて繰り返されることになる（以下同様）。
本発明のこのアーキテクチャは、パラレルシステムバスを共有するためにネットワーク制御チップのように入出力リソースを妨げることのないものとなる（但し、そのようにすることが所望される場合）、ということに留意されたい。これは、コントローラの構成及びステータスの管理等のタスクにとって有用なものとなる。
好適には、「AMPIC DRAM」には、図１９に示すような１つのマスタクロックピンが設けられ、そのクロック速度の倍数又は約数で動作するように全てのシリアルインターフェイスが構成され、これにより、様々なリソースに適応するための柔軟性を得ることが可能となる。また、１つのマスタクロックの代わりに２つ以上の独立したクロックを設けることも可能である。この場合の制限は、デバイス技術、ピン数、及びコスト上の制約のみである。クロック周波数の割り当ては、シリアルインターフェイスの特性であってバッファの特性ではない、とうことに留意されたい。したがって、「m」個のバッファは、任意のシリアルポートにドックさせることができ、該ポートの速度で動作することができる。
更に、本発明の「AMPIC DRAM」の構成可能性(configurability)は、伝送を中断させることなくシリアルインターフェイスを１つのバッファから別のバッファへとスイッチングさせることを可能にするものである。これは、ネットワーク処理及びグラフィック処理において多数の重要な用途を有するものである。他のバッファが情報の送信に使用されている最中に、１つのバッファに１回のアクセスで１行幅のデータをロードすることが可能である。更に、類似した２つのバッファによる方法（スプリットバッファ伝送と呼ばれるもの）が他のベンダーにより既にVRAMで実施されているが、これは、バッファとのインターフェイスをとる外部I/Oが常に固定でVRAMシステムのデータ幅と同じ幅のものである点で本発明とは全く異なるものである、ということに留意されたい。本発明の「AMPIC」のマルチプレクサ／クロスバースイッチモジュールは、かかる制限の全てを完全になくすものである。
全てのバッファが行幅バス上に存在するように該行幅バスを介して接続された「AMPIC DRAM」内に２つ以上の内部バンクを設けることができ、また別の実施例では、別個のバッファグループを各内部バンク毎に設けることができる。
上述の頻繁なbit-bit動作によるシステムの帯域幅に対する影響は、図１４に示すように行幅インターフェイスを介して接続された２つ以上の内部DRAMコアバンクを有することにより大幅に低減させることができる。この場合には、メモリの１つの内部バンクから別の内部バンクへの伝送要求が行われた際に、各バンクの適当な行アドレスがそれに対応する「RAS」信号で同時にストローブされるようになっている。読み出し中の行からのデータが検知増幅器において使用可能になった後、該データが別のバンクに書き込まれる。方向の制御は内部の論理回路によって提供される。図１５はかかる動作のシーケンスを示すものである。１行の伝送が完了した後に、もう１つの伝送が開始され、該伝送が完了するまで該プロセスが続けられる。この種の伝送は、「PRITI」（Parallel Row Internal Transaction Intervention:並列行内部トランザクション介入）と呼ばれる。明らかに、かかる内部的な伝送が進行しているときには、アクセスされているバンクに対する別のアクセスは許容されない。シリアルインターフェイス上の伝送もまた、この内部的な伝送と並行して進行することが可能である、ということに留意されたい。本発明のこの特徴と後に対照をなす同様の思想が、1995年12月5日発行の米国特許第5473566号に開示されている。
この新規の技術により、１回の行アクセスの時間で大量のデータを伝送することが可能となる。その一例として、２つの内部バンクを備えた（各々が1M×8の）「AMPIC DRAM」について考察する。各バンク毎の内部構造は、８ビット幅を各々が有する1Kの行である。「PRITI」能力を用いる場合には、１回の「RAS」サイクルで８Kビットを内部的に伝送することができる。これは、今日の既存の方法と比較して大きな進歩であり、この場合には、８ビットのデータがシステムバスインターフェイスを介して伝送され、最良の場合には１Kのサイクル及びそれに対応する仲裁を要することになる。「r」個の行と「c」個の列とが存在する場合、従来の方法で必要とされる全伝送数は「r×c」であるが、本発明の「PRITI」能力で必要とされる全伝送数は「r」となる。
該プロセスは、あらゆるバンク数について同一のものとなる。行幅インターフェイスを介して接続された「m」個の内部バンクが存在する場合、「PRITI」モジュールは、１つのバンクから２つ以上の残りのバンクへ同時にデータを伝送することが可能である。これは、同報通信パケットが１つのバンクから他の全ての内部バンクへ移動される場合に極めて有用である。本発明の場合には、この操作を行うために行幅レジスタ又はラッチ（行幅記憶素子セットとも呼ばれる）が必要とならず、このため、極めてコスト効率の良好な実施態様が得られることになる。
「PRITI」モジュールの上位レベルの内部構造は、上記で説明した図１４に示されている。「PRITI」モジュールには、各バンクの開始行アドレス及び伝送カウントがロードされる。構成を行った後、「PRITI」モジュールは、両方のバンクの内部バスを獲得するよう仲裁を行う。この基本的な思想には様々な変形例が存在し、例えば、「PRITI」モジュールが行にアクセスする権利を獲得した際に該「PRITI」モジュールが所定数のバースト伝送について構成され、又は、各伝送の後にバスを解放して他のリソースがDRAMコアを共有することを可能にする。
本発明の代替実施例として、図２７に示す行幅記憶素子セット（又は論理的に等価な処理を実行することが可能なあらゆる手段）を用いてデータ交換操作を行うことが挙げられる。その一例として、1024ビットの行幅を有する1M×1のDRAMの場合、前記記憶素子セットは、1024個の記憶素子を備えることになる。このとき、１つの内部バンクの１つの行が読み出し操作でアクセスされ、該バンク（バンク2と称す）についての検知増幅器における読み出されたデータが行幅記憶素子セットに格納される。次いで他のバンク（バンク1と称す）からデータが読み出されて、バンク2に書き込まれる。この操作に続き、該記憶素子からのデータがバンク1に書き込まれる。図１８は、かかる操作の適当なシーケンスを示している。これを実施したものは、２つの記憶素子セットを用いる後述の方法よりも必要とする回路が少ないものとなり、実行が幾分か低速になるものの依然としてデータ交換が可能なものとなる。この方法は、バンク1〜「m」についての汎用的な方法となる。この能力により、極めて短い時間での大量の情報交換が可能となり、マルチメディア／グラフィック用途のための極めて有用なツールが提供される。その実施には、１つの記憶素子セットの追加による元となる方法よりも明らかに一層多くの回路が必要となるが、その場合には、元のデータをセーブした後にその場所に新たなデータを移動する、という必要がなくなる。
本発明の別の変形例では、図１６に示すような２つの記憶素子セット（又は論理的に等価な作業を行うことが可能なあらゆる回路）を使用してデータ交換操作を行う。この場合、２つの内部バンクの各々における１つの行が読み出し動作で同時にアクセスされ、検知増幅器における読み出されたデータが図１６に示すような行幅記憶素子セットに格納される。このようにして読み出されて格納されたデータは、次いで両方の行に同時に書き戻される。図１７は、かかる操作の典型的なシーケンスを示すものである。
したがって、本発明の「PRITI」方法は、２つの内部バンクのみに制限されるものではなく、DRAMチップ内のあらゆるマルチバンク構成に等しく適用可能なものである。「AMPIC DRAM」アーキテクチャの残りの部分を用いることなく従来形式のDRAMで「PRITI」能力を付与することも可能である。更に、一層高度な「PRITI」は、行に加えて列に関して規定される伝送境界を有することも可能であり、この場合には、列アドレスをロードするための更なるレジスタが必要となる。
上記の米国特許第5473566号のシステムとは異なり、本発明の好適実施例によれば、１つの行幅記憶素子セットしか必要なくなり、各内部バンク毎に１つずつ設ける必要がない。このため、本発明の方法は、汎用的な用途に適したものとなり、DRAMの構成を比較的安価に維持するものとなる。
本発明の更なる変形例は次の通りである。
a．１つ以上の行幅バスが、多数のバンクと接続する前記行幅バス自体の記憶素子セットと共に実施され、これにより２つ以上の並列の「PRITI」伝送が可能となる。一般に、「m」個のバンクが存在する場合には、冗長性なしでの考え得る行幅バスの最大数は「m/2」となる。かかる上述の記憶素子セットが１つのバスにつき１つずつ用いられる場合には、各バンク毎に１つずつの「m」個の「PRITI」伝送を同時に行うのに「m/2」個の記憶素子セットしか必要なくなる。
b．バンク数が多い場合には、該バンクを個々のバスについてサブグループ化することが可能である。その一例として、上述の「PRITI」伝送の実施の場合、８バンク構成では、４個のバンクが１つのバス上に存在する一方、他の４つのバンクが第２のバス上に存在することが可能であり、次いでこれら２つのサブグループが、上述の「PRITI」伝送能力の何れかを有する別のバスを介して接続される。
本発明では行幅バスが使用されるが、コストを削減する必要がある場合には、該行幅バスの一部を用いることも可能である。更に、この特定の能力を利用するためにメモリがDRAMである必要はない、ということに留意されたい。
「AMPIC DRAM」は、インターフェイス設計に影響を与えるものである。
チップは、その固有のアーキテクチャを反映する幾分異なるピン出力を有する。９つのシリアルインターフェイスを備えた２M×８のチップについての考え得る１つのピン出力を図１９に例示的に示す。この場合、追加されたピンは、「AMPIC DRAM」ベースのメインメモリのインターフェイス設計の変更を必要とするものである。
バッファとDRAMコアとの間で内部的な伝送が行われる場合には必ず、システムバスインターフェイスのために「WAIT（待機）」信号（図１９参照）が提供される。CPU（又はその他のマスタコントローラ）は、該「WAIT」信号を使用して、アクセスの開始を延長させ、また代替的な実施態様ではアクセスサイクルを延長させて前記アクセスに進む前に内部的な伝送を完了させることを可能にする。上述のマスタクロックピン（図示の「マスタクロック」）もまた設けられる。
「AMPIC DRAM」が高度に構成可能であるため、「通常のDRAMコアアクセス」と「構成コマンド又はバッファ伝送インタラクション」とを区別するための機構が必要になる。図１９の方法は、コマンド又はデータアクセスを示すために更なる制御信号を提供するものとなっている。
コマンドサイクルにおいて、データラインが「RAS」サイクル中で使用されていないとき、該データラインを介してコマンド命令を送ることができる。これは、DRAMコアアドレスがバッファIDと共に提供されることが必要となる内部伝送コマンドにとって特に有用である。この機構により、従来の「RAS」信号及び「CAS」信号を用いてコアDRAMアドレスを提供することが可能となる。この場合、データラインは、バッファ番号又はその他のあらゆる付加的な情報／命令を有することになる。実際に、２つのコマンドを発行することが可能であり、即ち、「RAS」が活動状態になったときに１つのコマンドを発行し、次いで「CAS」が表明されたときにもう１つのコマンドを発行することが可能である。このアクセス機構を実施するための多数の既知の方法が存在し、かかる方法はまたデバイス技術及びコスト上の考慮事項の関数となる。
本発明の「AMPIC DRAM」は、シリアルポートに起因して従来のDRAMよりも多数のピンを有するが、早期に提案された前記の継続中の出願の「PARAS」タイプのDRAMモデルが使用される場合には、ピン数の最小限の増大のみで本発明のDRAMを得ることが可能となる。
「AMPIC DRAM」を備えたネットワーク用途例
上述のように、本発明によれば、各ネットワークコントローラとメインメモリとの間にシリアルインターフェイス／ポートが提供される。該ネットワークコントローラとメインメモリとの間のデータ移動は主にシリアルで行われる。ネットワークコントローラから受信されたシリアルデータ、又は該ネットワークコントローラに送信されるべきデータは、パケットバッファ中に格納され、システムバスマスタによってそれに割り当てられる。もちろん、この論述は、ネットワークコントローラが、新たなシステムアーキテクチャにより必要とされるフォーマットでシリアルデータストリームを送受信できることを仮定したものである。
32ビット幅のバス、従来のDRAMの代わりの４つの2M×8のAMPIC DRAM、行幅パケットバッファ、及び４つのネットワークインターフェイスに関する早期の例（p27-11）について、例えばEthernetネットワーク上のユーザが例えばFDDIネットワーク上の別のユーザに1024バイトの１パケットを送る場合を考察する。この「AMPIC DRAM」ベースのメインメモリを備えた新規のシステムアーキテクチャでは、図２０に示すように、データは、Ethernetコントローラに接続された「AMPIC」上のシリアルポートによって受信されることになる。仲裁は全く必要なく、該伝送にメインメモリの帯域幅が消費されることも全くない。該データ伝送の完了後（４つの「AMPIC DRAM」は各々256バイトずつ受信したことになる）、このパケットバッファが仲裁を介して内部バスを獲得した後に１回のアクセスのみでDRAMコアに該データ全体が送信される。該DRAMコアに行アドレスが提供されると、この検知増幅器が該利用可能な行の全てのデータビットを得る。このため、パケットバッファ全体を１回のアクセスで格納することができる。パケットバッファのサイズが１つの行幅よりも小さい場合には、依然として少数であるが複数回のアクセスが必要となる。
これは、上述の今日存在するパラレルバスによる解決策（256回のアクセスとそれに対応する仲裁とを必要とするもの）と比較した場合の最も大きな利点である。
このパケットは、「AMPIC DRAM」コアに伝送された後、CPUによって処理され、この例の場合にはFDDIポートに向かって転送される。次いで、逆のプロセスが実行される。該パケットは、仲裁を必要とする１回のアクセスで、該コアから適当なパケットバッファへと伝送される。次いで、該データは、該パケットバッファからシリアルポートを介してFDDIコントローラへと伝送され、次いでFDDIコントローラチップからそのネットワークへと同時に移動される。この場合も、逆のプロセスは該伝送につき仲裁を１回しか行わないものとなり、従来の設計では256回の伝送とそれに対応する仲裁が必要となる。
この本発明による新規のDRAMで得られる更なる利点は、たった１回のアクセスで適当な全てのバッファに同報送信パケットをロードし、次いでネットワーク全体に伝送することができ、及び多数の行に順次アクセスして異なるバッファにロードし、次いでそれらのポートを介した伝送を行って大幅に高い性能を提供することができる、という事実によって達成される、極めて大きな利益にある。
「AMPIC DRAM」を備えたグラフィック／マルチメディア用途例
上述のように、あらゆるグラフィックシステムの大きな帯域幅は、「bit-bit」動作で消費され、この場合、メモリの１つの領域からの膨大な量のデータを別の場所へ移動させる必要がある。これは、システムの帯域幅のかなりの部分を消費し、このため、一般には、グラフィックス用途に使用されるDRAMをメインシステムメモリから分離させる必要があった。しかしながら、かかる必要性は、システムのコストに悪影響を与えるものとなる。本発明は、後述するように、２つの別個のバスの必要性をなくすための方法を提供するものでもある。
16行の表示を更新する必要がある図５に示す先行技術の例を用いるが、今回は、そのDRAM部分を、２つの1M×8の内部バンクを有する2M×8の同一の「AMPIC DRAM」とし、「PRITI」能力を与え、16行に相当するデータを新たなロケーションで伝送することが可能であり、該新たなDRAMについてのデータ伝送の数は、好適にも行数と全く同じになっている。
伝送の数＝伝送されるべき行の数(16)
これもまた、従来のDRAMベースの設計の場合に現在必要とされる16384回の伝送とそれに伴なう仲裁と比較して極めて大きな改善であり、３桁の性能の改善が提供されることになる。これに比例して、システムの帯域幅に対する影響も低減される。たった１行のアクセスタイムであっても、本発明により膨大な量のデータを伝送することができる。システム及びチップレベルの両者における該アーキテクチャの新規性により、独自のDRAM構成がシステム性能の向上を提供することが可能になる。
「AMPIC DRAM」はまた、上述のように構成して、表示装置にグラフィクス画面データを高速で提供することが可能である。
例えば、図２１の構成に与えられる以下の例示的なパラメータについて考察する。
a．１つのチップにつき５つのシリアルインターフェイスが利用可能である。
b．かかる４つのチップで32ビット幅のシステムバスが実施される。
c．１つのチップにつき４つのシリアルインターフェイスが１つのポートとして規定されて表示用データの伝送に使用される。
d．１ポート当たりのデータ読み出し速度が100MHzである（但し、これよりも速くすることは可能である）。
この例では、１つのチップにつき４つのシリアルインターフェイスがグラフィクスに使用されるため、各クロック毎に２バイトの速度でデータを提供することが可能な16ビット幅のグラフィクスインターフェイスが実施され、これにより、ほとんどのグラフィクス用途にとって十分な200Mバイト／秒の帯域幅が提供される。９個のシリアルインターフェイスを備えた「AMPIC DRAM」が使用される場合には、チップを８ビット幅バス用に構成して一層大きな表示用データの帯域幅を提供することができる。
「AMPIC DRAM」ベースのシステム構成の更なる例
上記で用いた例では、32ビット幅のシステムバスを有する１つの外部バンクが使用された。しかしながら、用途によっては、２つ以上の外部バンクを用いる場合があり、例えば、図２２に示すように、各々が32ビット幅の「AMPIC DRAM」のバンクを４つ使用する場合がある。このアーキテクチャにより、（必要であれば）各バンクに異なるネットワークインターフェイスを接続することが可能になる。これは、一般に普及している解決策と比較した場合に、ネットワークの相互接続性を妥当なコストの範囲内で遥かに高いレベルに向上させることが可能なものとなる。その一例として、各「AMPIC DRAM」に９つのシリアルインターフェイスが提供され、各バンクが４つのネットワークインターフェイスに接続される場合には、全部で16のネットワークを接続することが可能となる。これは、一般に４つまたは５つのインターフェイスで上限に達する既存の技術と比較して大きな利益を提供するものである。
また、該アーキテクチャによれば、２つ以上の外部バンクが使用される場合には、１つのバンクからの「AMPIC DRAM」のシリアルポートを別のバンクのシリアルポートに接続することが可能となる。これにより、該バンク間に付加的な経路が提供され、パケットバッファを使用して外部バンク間でデータを高速に伝送することが可能となる。
更に、システム構成中で全て「AMPIC DRAM」を使用する必要はない。用途によっては、図２３の変形例で提案するように「AMPIC DRAM」と既存タイプのDRAMとを組み合わせることが可能である。
更に別のシステム構成では、「AMPIC DRAM」を使用して、図２４に示すようなグラフィクス又はディスプレイインターフェイスを提供すると共に、他のタイプの入出力リソース（例えば、ビデオカメラや衛星インターフェイス等）との接続を行うことが可能となる。
汎用メモリアーキテクチャ
理想的には、上述のように、グラフィクス機能及びメインメモリ機能の両者のために共通のメモリチップを備えると共に該メモリチップにより依然として必要とされる性能が提供されることが最も有利となる。この方法は、「汎用メモリアーキテクチャ（UMA）」と称され、厳しく議論されているものであり、上述のRDRAMチップを含めて幾つかの解決策が既に提案されている。該提案は、一層少数のピンを使用するものであり、結果的に消費電力を一層低くし、実際の占有面積(real estate)を小さくし、及びコストを比較的低くするものであるが、前述のパケットベースのプロトコル及びインターフェイスに関する制限により、メインメモリとして十分に機能しないものとなり、この場合には、アクセスが非局所化される（non-localise）傾向となる。
別の考え得る解決策として、メインメモリ及びグラフィクスメモリの両者に対する上述のVRAMの使用が挙げられるが、この際に追加されるコストは該変更を正当化するものとはならない。
したがって、本発明以前には、ＰＣ市場の広範な分野の要件を満たすだけの妥当な解決策は残念ながら存在しなかった。
図１９の実施例に関して上述した本発明の「AMPIC DRAM」に基づくシステムレベルの解決策は、構成可能なインターフェイス及び該欠落部分を確実に満たす「PRITI」能力を提供するものである。該解決策は、RAMBUSにより提案されたものよりも一層多くの信号ピンを有する（但し、給電ピン及び接地ピンの数は一層少なくなる）ものであるが、VRAMよりは少数であり、両操作において等しく効率の良いものとなる。実際に、本発明のこの実施例の場合には、グラフィクス機能及びメインメモリ機能の両者が同一のメモリに存在することができ、この場合の帯域幅の減少は無視可能なものであり、これにより、「汎用メモリアーキテクチャ」の達成困難な目標が満たされる。
かかる解決策に関する代替的な実施例として、チップ中に２つの内部バンクを備えることが挙げられる。その一方の内部バンクは、グラフィクス又はそれと類似した用途のための「AMPIC」モデルに従うことが可能なものであり、他方の（おそらくは一層大きな）内部バンクは、従来のDRAMベースのメモリに類似したものとすることが可能なものであり、図２５に示すように、該両方のバンクが本発明の「PRITI」能力を共有することになる。この強力な統合により、両方の世界で最良のものが提供され、即ち、一方のバンクがメインメモリのように見え、他方のバンクが最適化されたグラフィクスメモリのように見える。このチップアーキテクチャにより、「PRITI」能力に起因するシステムの帯域幅への影響が極めて小さい状態で２つの内部バンク間での大量のデータの伝送を行うことが可能になり、これにより、全てのタイプの用途について汎用的に共通のチップ及び１つの信号バスを可能にするために必要な全ての能力が提供される。
図２６に示すように、「PARAS」と称する前記の同時係属中の米国出願のインターフェイスアクセス機構を「AMPIC」構成と共に使用して、考え得る最低限のコストでメインメモリ機能およびグラフィクス機能の両方の要件に関して最適化されたメモリチップを実施すれば、ピン数ひいてはコストを削減して本発明を更に改善することが可能である。「PARAS」インターフェイスを備えた2M×８のDRAMの例について考察すると、８つのピンが節約され、これをシリアルインターフェイスを設けるために使用することができる。シリアルインターフェイスが５つだけ実施される場合には、該高性能／低コストチップのピン数は、従来のDRAMに匹敵するものとなり、勿論、該チップは上述の極めて大きな利点を有するものとなる。かかる統合されたDRAMの利点は次の通りである。
a．純然たるデバイスの速度ではなくアーキテクチャ上の革新を備えた大幅に向上したシステムデータ帯域幅が提供される。
b．システム帯域幅に対する影響を最小限にしつつ多数の入出力リソースとの間での大量のデータの移動を可能にする。
c．入出力リソースの異なるデータ伝送速度に適応するように構成可能である。
d．システム帯域幅に対する影響を無視可能なレベルにしつつ数桁のオーダーで改善された高速な時間フレームでチップ内部の大きなデータブロックの移動が可能になる。
e．デバイスが有するピンが、提供される機能に関して一層少数となる。
f．ピン数の削減により比較的低コストとなる。
g．必要とされる消費電力が比較的低くなる。
h．該アーキテクチャにより、入力パケットの受信とそれに続く送信との間の待ち(latency)時間が短縮される。
i．従来の方法と比較して大幅に多数の入出力リソースとの接続が可能となる。
j．システム設計インターフェイスが既存のDRAMとほぼ同一となり、このため設計サイクルを最小限にすることができる。
k．メインメモリ要件及びグラフィクス要件の両者について等しく効率的に機能し、このため「汎用メモリアーキテクチャ」が提供される。
当業者であれば更なる修正例が想到可能である。特に、同じパケットバッファを同様に画定された他のポートにオフロードする(offroad)ことを可能にする論理回路及びバッファを延長させる能力を設けること、或いはDRAM以外の他のメモリデバイスへの切り替えを行うシリアルインターフェイス及びバッファを付加することが可能であり、かかる実施は、請求の範囲に記載の本発明の思想および範囲内に含まれるものと考えられる。
【図１】
0003699126.tif 000002
【図２】
0003699126.tif 000003
【図３】
0003699126.tif 000004
【図４】
0003699126.tif 000005
【図５】
0003699126.tif 000006
【図６】
0003699126.tif 000007
【図７】
0003699126.tif 000008
【図８】
0003699126.tif 000009
【図９】
0003699126.tif 000010
【図１０】
0003699126.tif 000011
【図１１】
0003699126.tif 000012
【図１２】
0003699126.tif 000013
【図１３】
0003699126.tif 000014
【図１４】
0003699126.tif 000015
【図１５】
0003699126.tif 000016
【図１６】
0003699126.tif 000017
【図１７】
0003699126.tif 000018
【図１８】
0003699126.tif 000019
【図１９】
0003699126.tif 000020
【図２０】
0003699126.tif 000021
【図２１】
0003699126.tif 000022
【図２２】
0003699126.tif 000023
【図２３】
0003699126.tif 000024
【図２４】
0003699126.tif 000025
【図２５】
0003699126.tif 000026
【図２６】
0003699126.tif 000027
【図２７】
0003699126.tif 000028