JP4046943B2 - マルチポート内部キャッシュdram - Google Patents
マルチポート内部キャッシュdram Download PDFInfo
- Publication number
- JP4046943B2 JP4046943B2 JP2000504513A JP2000504513A JP4046943B2 JP 4046943 B2 JP4046943 B2 JP 4046943B2 JP 2000504513 A JP2000504513 A JP 2000504513A JP 2000504513 A JP2000504513 A JP 2000504513A JP 4046943 B2 JP4046943 B2 JP 4046943B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- dram
- data
- resource
- array
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の背景】
図1を参照して後述する前記係属出願におけるマルチポート内部キャッシュDRAM(AMPIC DRAMと呼ぶ)は、中央処理装置(CPU)のようなマスターコントローラを有するシステムにおいて、高いシステム帯域幅を使用するために設計される。このマスターコントローラは、それぞれが共通のシステムバスインターフェースに接続され、それに対するアクセスが競合するところのパラレルデータポートとダイナミックランダムアクセスメモリを備えている。これによって、マルチポート内部キャッシュDRAMからなる改良されたDRAMアーキテクチャが提供されるが、このDRAMアーキテクチャには、それぞれが、個別の外部I/Oリソースと、内部DRAMメモリとの間に対応するバッファを介して接続された複数の独立したシリアルデータインターフェース、シリアルインターフェースとバッファの間に配置されたスイッチングモジュール、及び、所望のデータに対する経路指定機能の割り当てを適切に切り換えるために、前記CPUのようなバスマスターコントローラによる動的配置の下に、シリアルインターフェースをバッファに接続するためのスイッチングモジュールロジック制御が含まれる。この技術によれば、メモリチップ内部のデータブロックの転送を従来のアプローチに比べて桁違いの速さで実行することができ、現行システムの帯域幅制限及び関連する問題を除去することができる。そして、この場合、非常に高度化されたシステム性能が低コストで提供されるとともに、統一化されたメモリアーキテクチャが提供される結果として、多くのアプリケーションに対して、実質的に統括的な使用が可能となる。
【0002】
前記係属出願においては、各々が広いデータバスを有する非常に多くのシステムI/Oリソースをサポートすることができるが、図2を参照して後述するように、AMPIC DRAMデバイスにおけるピン数は、これらのいくつかのデバイスを、サポートするシステムI/Oリソースの数に応じてスタックする(重ねる)ことによって、依然として少なく維持される。そして、各システムI/Oリソースバスの広さ(幅)は、技術的な制限によってのみ制限される。
【0003】
前述した、また、前記係属出願に記載されたかかるアーキテクチャは、DRAMのアクセスに際して、各システムI/Oリソースに対して非常に大きな帯域幅をみごとに提供するものであるが、該システムは、あるシステムI/Oリソースが、他のシステムI/Oリソースにデータを送信することができるメカニズムを提供しない。そして、これに対する改良が本発明によってもたらされる。一例として、システムI/Oリソースmが、システムI/Oリソースnに送信すべき多ビット(マルチビット)メッセージを有している場合に、システムI/Oリソースmが、AMPIC DRAMスタックまたはアレイにこの多ビットメッセージを書き込むと、本発明のメカニズムにより、かかるメッセージの存在と、AMPIC DRAMアレイ内のメッセージ位置の両方が、システムI/Oリソースnに通知される。さらに、システムI/Oリソースnが、アレイにおけるメッセージの存在とその位置を通知されると、本発明に従って、システムI/Oリソースnが、該アレイからメッセージを取り出すことを可能とする技術が提供される。このように、メッセージデータが、AMPIC DRAMアレイ全体間に分散配置され、さらに、アレイの各要素がデータの一部のみを保持する限り、完全な信号情報は、AMPIC DRAMアレイの個々の要素に送信されなければならない。
【0004】
さらに、本発明は、いくつかの小サイズ同時転送、または、単一の大規模転送のいずれも可能にする分割技法をさらに改良し、広い(広帯域)システム内部データバスをより効率的に使用して、小さな単位量及び大きな単位量のデータ転送の両方に対応するものである。
【0005】
【発明の目的】
従って、本発明の第1の目的は、マルチポート内部キャッシュDRAM等の性能をアークテクチャ上改善するための、新規で改良された装置及び方法を提供することであり、これは、システムI/Oリソースが、互いにメッセージデータを送信し、かかるメッセージの存在とメッセージ位置の両方を通知し、そして、メッセージを取り出すことを可能とするための新規なメカニズム及び技法を提供することによってなされる。
【0006】
本発明の別の目的は、新規な分割技法を使用して、かかる改良されたシステムを提供することであり、このシステムにおいては、広システム内部データバスをより効率的に使用して、小さな単位量及び大きな単位量の内部データ転送に対応し、いくつかの同時小メッセージ転送または単一の大規模転送が可能となる。
【0007】
本発明のさらに他の目的については後述するが、それらは特許請求の範囲により詳細に記載されている。
【0008】
本発明のより広い1態様において要約すると、本発明は、AMPIC DRAMユニットのマルチポート内部キャッシュアレイを含み、複数のシステムI/Oリソースは、アレイの各ユニットにおいて対応するDRAMコアに接続された共通の内部データバスを介してインターフェースしており、CPUまたは同様のソースからのデータもまた、データ転送サイクルの間にバスを介して各ユニットに伝送される。また、本発明は、性能を改良する方法を含み、該方法は、データ転送と同時に、前記データ転送サイクルの間に、あるシステムI/OリソースからアレイのすべてのAMPIC DRAMユニットにメッセージを送信することによって、システムI/Oリソースが、互いにマルチビットメッセージを、さらに、DRAM内のメッセージアドレス位置に関するビット情報もそれと同時に、送信することができるようにすることを含む。
【0009】
好ましくかつベストモードである構成、装置、技法、及び代替構造について、以下に詳述する。尚、本発明は、添付の図面を参照して説明される。
【0010】
【本発明の好ましい実施態様】
前述したように、前記係属出願のAMPIC DRAMデバイスによって提供される基本構造を図1に示す。この基本構造は、AMPIC DRAMデバイス内に配置されたDRAMメモリアレイ中の対応するデータポートによって、システムI/OリソースNo.1...No.n間に非常に広帯域の接続を提供する。かかるAMPIC DRAMデバイスのフレキシビリティは、図2の例で説明するように、(また、前述したように)複数のAMPIC DRAMデバイスを「スタック」する能力によって、さらに強化される。図2には、AMPIC No.0〜No.3の4つのAMPIC DRAMデバイスからなるシステムが示されている。システム内のAMPIC DRAMデバイスの実際の数は、技術上の制限によってのみ制限される。AMPIC DRAMデバイスのかかるスタックまたはアレイが構築された場合は、システムI/Oリソースが利用可能な全DRAMアレイのサイズは、各AMPIC DRAMデバイスのDRAMアレイのサイズに、スタック内のデバイスの数を乗じたものに等しい。例えば、図2に示した各AMPIC DRAMが、64MビットDRAMを含むものと仮定すると、図示したAMPIC DRAMスタックNo.0〜No.3は、システムI/OリソースNo.1〜No.4に対して256ビットDRAMアレイを提供することになる。
【0011】
かかるアーキテクチャは、DRAMをアクセスするために、各システムI/Oリソースに極めて広帯域の帯域幅を提供するが、このシステムでは、以前指摘したように、あるシステムI/Oリソースから他のシステムI/Oリソースに、データを送ることができない。例えば、システムI/Oリソースmが、システムI/Oシステムnに対して32Kビットのメッセージを送る必要があり、次に、システムI/Oリソースmが、AMPIC DRAMアレイNo.0〜No.3にこのメッセージを書き込んだ場合、メッセージの存在と、AMPIC DRAMアレイ内のメッセージ位置の両方についてシステムI/Oリソースnに通知するための新しいメカニズムが本発明によって提供されなければならない。システムI/Oリソースnがメッセージの存在とAMPIC DRAMアレイ内のメッセージ位置を通知されると、システムI/OリソースnがそのメッセージをAMPIC DRAMアレイから取り出すことを可能とせしめるための、追加の新規なメカニズムが再び本発明に従ってさらに提供されなければならない。前述したように、メッセージデータがAMPIC DRAMアレイ全体間に分散配置され、アレイの各要素がデータの一部のみを保持する限り、完全な信号情報は、AMPIC DRAMアレイの個々の要素に送信されなければならないということに注意することが重要である。
【0012】
本発明によって提供されるような上述の及び後述するようなタイプの新規なメカニズムの存在を想定すると、このメカニズムによって、システムI/Oリソースは、AMPIC DRAMアレイを介して互いにメッセージを送信することができる。システムI/Oリソースmが、システムI/Oリソースnに32Kビットのメッセージを送信する例では、1Kバイトの内部データバスにより、わずか2(つの)AMPIC DRAM転送サイクルで、2つのシステムI/Oリソース間のメッセージの転送が可能となる。説明のために、AMPIC DRAM転送サイクルの時間を50ナノ秒(nS)と仮定した場合は、AMPIC DRAMにおいて利用可能な全帯域幅は、32Kビット/50nS、すなわち、655ギガビット/秒であることがわかる。しかし、この非常に広帯域幅のバスは、小さなメッセージをシステムI/Oリソース間で転送するのにはあまり適さない。小さなメッセージをシステムI/Oリソース間で転送することを必要とするアプリケーションには、例えば、ATMネットワーキングがある。ATMでは、データは、わずか424ビットの単位で伝送される。システムI/Oリソースmとnが共に、ATMネットワークデバイスの場合は、システムI/Oリソースmは、システムI/Oリソースnに送信するための424ビットのメッセージを有することができる。この場合は、32Kビット幅の内部バスが、わずか2AMPIC DRAM転送サイクルで転送を完了させるために使用されることになるが、あまりにも広帯域の内部バスは、この転送では無駄である。メッセージが、32Kビット幅のバスの424ビットしか占めていない場合でも、他のすべてのシステムI/Oリソースは、システムI/Oリソースmとnがそれらの転送を完了するまでの間、データバスを使用することができないことになる。この例を説明するために、AMPIC DRAMの転送サイクルを今度も、50nSと仮定すると、この例で使用される全帯域幅は、たったの424ビット/50nS、すなわち、約8.5ギガビット/秒である。AMPIC DRAMにおいて利用可能な帯域幅のわずか約1.3%が、この例で実際に使用されるということに留意されたい。
【0013】
本発明は、非常に広帯域の内部データバスをかかる状況においてより効率的に利用し、小さな単位量及び大きな単位量のデータ転送に対して、AMPIC DRAMアーキテクチャを同じように好適なものにすることによって、該アーキテクチャの有用性をさらに高めるものである。
【0014】
本発明がこれらの改良点を実現するアーキテクチャについて、これから説明する。特に、システムI/OリソースmがAMPIC DRAMに書き込むメッセージを有しているときには、システムI/Oリソースは、メッセージを配置すべきDRAMアドレスについて、システム内のすべてのAMPIC DRAMに通知することができなければならない。本発明は、これを実現するために、図3に開示したアーキテクチャ及びメカニズムを提供する。図3に示したシステムでは、図2の4つのAMPIC DRAMがチップ(CHIP)0〜3として図示されており、これらは各々が、システムI/Oリソースに対して1ビット幅のシリアルインターフェースを備えている。前記係属出願に開示されているような図2の例においては、第1のデータ転送サイクルで、チップ0がデータビット0を取得し、チップ1がデータビット8を取得し、チップ2がデータビット16を取得し、チップ3がデータビット24を取得する。次のクロックサイクルで、すべてのデータビットがインクリメントされる。このプロセスは、メッセージ全体がAMPIC DRAMに送信されるまで継続する。
【0015】
図3に示す本発明によれば、このデータ転送と同時に、システムI/Oリソースは、また、DRAM内のデータを配置すべきアドレスを転送することを要求される。システムI/Oリソース内のアドレスレジスタの幅は、AMPIC DRAM内のDRAMアレイのサイズ、及び、システム内のAMPIC DRAMデバイスの数によって決定される。
【0016】
上述の例では、各々が64MビットDRAMを含む、4つのAMPIC DRAMデバイスを具備するシステムにより、25アドレスビットを必要とする256MビットAMPIC DRAMアレイが提供される。しかし、大きなメモリアレイが多数のアドレスビット数を要求するために、システムI/OリソースとAMPIC DRAM間のアドレスバスを、アドレス全体のサイズより小さくなるように規定し、複数の転送を使用してAMPIC DRAMに完全なアドレスを送信する必要がある場合がある。例えば、アドレスバスが4ビット幅として規定されている場合は、7サイクルが、完全な25ビットアドレスをAMPIC DRAMに転送するために使用される。このアドレス転送は、図3に示すシステムI/Oリソースからのデータ転送と同時に起こる。第1の転送サイクルで、「アドレス」のビット0から3までが転送される。第2の転送サイクルで、アドレスのビット4から7までが転送され、全アドレスがすべてのAMPIC DRAMに転送されるまで、以下同様にして転送される。データ転送と異なり、システム内の各AMPIC DRAMは、異なるデータ部分を受信し、図3のシステム内の各AMPIC DRAMは、完全なDRAMアドレスの全く同じコピーを受信し、従って、各AMPIC DRAMは、システムI/Oリソースによって送信されたメッセージを、内部DRAMアレイの同じ位置に書き込むということに留意することが重要である。
【0017】
メッセージをその宛先のシステムI/Oリソースに到達させるために、図3に示すような、同様なアドレス指定プロセスが、宛先側でも生じる必要がある。システムI/Oリソースmが、AMPIC DRAMアレイにメッセージを書き込むと、メッセージが書かれたアドレスとメッセージの全体サイズを、宛先のシステムI/Oリソースに送らなければならない。メッセージのアドレスを受信すると、宛先のシステムI/Oリソースは、そのアドレスを各AMPIC DRAMデバイスに送り込む。各AMPIC DRAMデバイスは、その与えられたアドレスにより、それのDRAMアレイからメッセージデータのその部分を読み出して、そのメッセージを宛先のシステムI/Oリソースに送り始める。本発明の好適な実施態様では、メッセージがDRAMアレイに書き込まれるときに、メッセージのサイズもまた、DRAMアレイに記憶される。AMPIC DRAMデバイスが、メッセージを受信すると、それは、メッセージ内のビット数をカウントする。図3に示すように、データ有効(DATA VALID)信号が、すべてのAMPIC DRAMのデータ受信ポートに与えられる。送信元のシステムI/Oリソースは、メッセージデータが、AMPIC DRAMに送信されている間、アサートされているデータ有効信号を保持し、AMPIC DRAMは、このデータ有効信号のアサートを使用してメッセージの長さを決定する。データがDRAMアレイに書き込まれるとき、このビット計数値(ビットカウント)もメッセージ自身と共に記憶される。メッセージがDRAMアレイから読み出されるときは、対応するビット計数値もそのデータと共に読み出される。そして、AMPIC DRAMは、このビット計数値を使用して送信すべきメッセージの長さを決定する。AMPIC DRAMは、データ有効信号を、それが、メッセージのビット計数値によって表明されるのと同じ時間だけアサートすることによって、メッセージのサイズを宛先のシステムI/Oリソースに示す。
【0018】
各AMPIC DRAM内の各メッセージDRAMアドレスの存在によって、あるシステムI/Oリソースが、他のいくつかのシステムI/Oリソースに送信する必要がある単一メッセージを有する場合に、効率的な解決法が提供されるが、これについては図4に示す。このタイプのメッセージは、マルチキャストメッセージとして定義される。マルチキャストメッセージの場合は、送信元のシステムI/Oリソースは、標準的な、すなわち、ユニキャストのメッセージを書き込むのと同様にして、AMPIC DRAMにメッセージを書き込む。DRAMアレイ内のこのマルチキャストメッセージのアドレスは、次に、このメッセージを受信することが必要とされているすべてのシステムI/Oリソースに送られる。宛先のシステムI/OリソースNo.1〜No.mの各々は、次に、マルチキャストメッセージのアドレスをAMPIC DRAMデバイスに送り込み始める。AMPIC DRAMデバイスが、図4に示す、異なるシステムI/Oリソースから受信したDRAMアドレスを比較することができるアドレス比較ロジックを具備する場合は、AMPIC DRAMのマルチキャスト制御部は、同じDRAMアドレスが、マルチキャストメッセージシステムI/Oリソースの各々から受信されたことを認識し、単一のDRAM読み出しサイクルを実行する必要があるだけである。この読み出しサイクルで読み出されたDRAMデータは、次に、図4に示すマルチキャスト制御ロジックによって、同時にすべての宛先システムI/OリソースNo.1〜No.mに送られ、従って、マルチキャストメッセージ用に複数のDRAM読み出しを行う必要がなくなる。
【0019】
本発明の好適な実施態様では、メッセージを書き込むべきDRAMの位置を特定するのに必要な全アドレスビット数は、DRAMを多くの同じ大きさの部分(セクション)に論理的に分割することによって、さらに少なくなる。例えば、256MビットのAMPIC DRAMアレイが、4つのAMPIC DRAMデバイス全体に広がっている場合は、このアレイを、例えば、2048ビットのセクションに分割することができる。この場合は、DRAMアレイは、128Kのセクションから構成され、各AMPIC DRAMデバイスは、128Kのセクションの各々について512ビットを記憶する。この結果、AMPIC DRAMに対するアドレスを完全に指定するために、17のアドレスビットが必要となるだけである。4ビット幅のアドレスバスの例に戻ると、システムI/Oリソースから、全AMPIC DRAMデバイスにアドレスを転送するためには、5サイクルだけが必要である。このようにメモリを分割する際には、無駄なメモリ空間を最小限にするために、セクションのサイズを小さく維持することが望ましい。上記2048ビットセクションの例では、例えば、システムI/Oリソースmが、AMPIC DRAMに書き込むべき512ビットのメッセージを有している場合、このメッセージはDRAMセクションの一部分のみを満たすことになり、結果として、メモリ空間に無駄が生じる。
【0020】
しかし、本発明は、小さなセクションサイズを維持する一方で、システムI/Oリソースmが、AMPIC DRAMに書き込むべき1つのセクションより大きいメッセージを有する場合に対処するメカニズムも提供する。
【0021】
本発明の好適な実施態様におけるこの問題の解決策を図5に示す。各DRAMセクションA〜Cは、リンクアドレス(Link Address)と呼ばれるものを含むために数ビットを確保している。システムI/Oリソースmが、AMPIC DRAMに書き込むべき、現在規定されているセクションサイズより大きなメッセージを有している場合、システムI/Oリソースは、最初に、メッセージをいくつかの部分に分割することが必要である。この部分のサイズは、現在規定されているセクションサイズ以下である。メッセージの第1の部分は、第1のDRAMセクションに配置され、そのセクションのリンクアドレスは、次のDRAMセクションを指示するように設定され、そこに、メッセージの第2の部分が配置され、全メッセージが、AMPIC DRAMアレイに書き込まれるまで、以下同様に配置される。メッセージが3つのDRAMセクションを占める例の結果を図5に示す。説明のために、メッセージのサイズは5120ビットと仮定され、セクションサイズは、上記したように2048ビットと仮定する。この場合、メッセージの1〜2048ビットは、DRAMセクションAに、ビット2049〜4096は、DRAMセクションBに、そして、ビット4097〜5120は、DRAMセクションCに存在することになり、結果として、図5に示すように、DRAMセクションは部分的に満たされることになる。リンクアドレスは、メッセージデータと共にAMPIC DRAMアレイに記憶されるので、AMPIC DRAMは、メッセージを宛先のシステムI/Oリソースに送信するときに、完全なメッセージを再構築する。あるセクションがAMPIC DRAMアレイから読み出されるときに、AMPIC DRAM内のロジックが、そのセクションのリンクアドレス部分を検査して、このDRAMセクションがより大きなメッセージの一部分であるかどうかを判定する。リンクアドレスが、DRAMの別のセクションを指示している場合、AMPIC DRAMは、DRAMアレイからそのセクションを読み出して宛先ポートに送る。このプロセスは、他のセクションを指示していないDRAMセクションのリンクアドレスを、AMPIC DRAMが見つけるまで続行される。該DRAMセクションが見つかった時点で、メッセージ全体が再構築される。このメッセージの再構築は、宛先のシステムI/Oリソースの部分に関与することなく実行される。すなわち、この再構築は、AMPIC DRAM内のロジックによって全て処理される。
【0022】
本発明の代替実施態様では、セクションのサイズは、AMPIC内で一定ではないが、図6に示すような異なる値の範囲にプログラムすることができる。例えば、主に、小さなメッセージがシステムI/Oリソース間を伝送されるシステムでは、セクションサイズを、例えば、256ビットに設定することができる。主に、大きなメッセージがシステムI/Oリソース間を伝送されるシステムでは、セクションサイズを、例えば、2048ビットに設定することができる。かかるサイズの範囲は、DRAMアレイを最大限に使用し、かつ、セクションのサイズより小さなメッセージによって生じる無駄なメモリ空間を最小限にするように、AMPIC DRAMデバイスによって与えられる。図6に、3つの異なるセクションサイズ、A、B、Cの例、及び結果として生成されるDRAMアレイ構造を示す。他の代替実施態様では、図7に示すように、DRAMアレイをセクションに全く分割しないことによって、無駄なDRAM空間を完全に無くすことができる。この実施態様では、メッセージは、常に、それらのサイズに関係なく、DRAMアレイ内に背中合わせに配置される。DRAMアドレスを追跡(把握)するために必要なアドレスビットの数は増加するが、この実施態様は、メモリを最も有効に使用するという利点を有する。図7に、異なるサイズのメッセージをDRAMアレイ内に分布させた様子を示す。
【0023】
本発明の好適な形態では、送信元のシステムI/Oリソースと宛先のシステムI/Oリソース間のアドレスのすべての転送は、AMPIC DRAM外部のロジックで起こる。代替実施態様では、この機能は、図8に示すように、AMPIC DRAMそれ自体によって処理される。この場合、送信元のシステムI/Oリソースから宛先のシステムI/Oリソースへの全てのアドレス指定及びアドレスの転送はAMPIC DRAMそれ自体の内部で起こる。この実施態様では、システムI/Oリソースは、メッセージが、AMPIC DRAMアレイ内に配置されるDRAMアドレスについて何ら知っている必要はない。例えば、送信元のシステムI/Oリソースが、宛先のシステムI/Oリソースに送るべきメッセージを有している場合、送信元システムI/Oリソースは、そのメッセージデータをAMPIC DRAM内に送るが、この場合も、あるアドレスに関して送る必要はない。図8には、AMPIC DRAMデバイスが1つだけしか示されていないが、これらのことは、前述したように、複数のAMPIC DRAMから構成されるシステムにも同様に適用できることに留意すべきである。メッセージデータを受信すると、AMPIC DRAMは、空きアドレスリストからそれのDRAMアレイ内の空きアドレスを選択して、その位置にメッセージを書き込む。次に、そのアドレスは、宛先のシステムI/Oリソースが接続されているAMPIC DRAMのポートに送られる。次に、AMPIC DRAMは、宛先のシステムI/Oリソースに、それ宛てのメッセージがAMPIC DRAM内にあることを、図8に示すMESSAGE READY信号を使用して通知する。ある時間経過後、宛先のシステムI/Oリソースは、図8のI/O RESOURCE READY信号によって、メッセージを受け入れる準備ができていることを示し、この時点で、各AMPIC DRAMデバイスは、DRAMアレイからメッセージデータのその部分を取り出して、そのデータを宛先のシステムI/Oリソースに送る。このようにして、システムI/Oリソースは、AMPIC DRAMデバイスの内部構造から完全に独立したものとされる。すなわち、AMPIC DRAMアレイは、記憶及び送信用のm×nの交差接続アレイとして機能する。この実施態様では、AMPIC DRAMは、DRAMアレイ内のメッセージ位置を把握することに加えて、DRAMアレイに残存している空き空間の大きさも把握しなければならない。DRAMアレイが、満杯になり始めたときには、AMPIC DRAMは、システムI/Oリソースに、DRAMアレイが空になり始めるまで、ある時間の間いかなるメッセージも送信しないように合図することができなければならない。図8に示す空きアドレスリストは、この目的のために使用される。
【0024】
図9に示すような、データをAMPIC DRAMデバイス内で転送する好適なメカニズムについてこれから説明する。AMPIC DRAMデバイスのDRAMアレイが、いくつかの独立した被制御バンクに物理的に区分けされて、すなわち分割されて示されている。実装されるDRAMバンク(DRAMバンク1〜m)の実際の数は、AMPIC DRAMを実施するために使用される技術にのみ依存する。説明を簡明にするために、1つだけのAMPIC DRAMデバイスからなるシステムをここでは説明するが、この説明は、複数のAMPIC DRAMデバイスからなるシステムにも同様に適用することができる。後者の場合、各AMPIC DRAMデバイス内のDRAMアレイは、全く同様に分割される。
【0025】
DRAMバンクの数は、AMPIC DRAMに接続することができるシステムI/Oリソースの数以上であることが好ましい。各DRAMバンク間に等しく分割された、非常に広帯域の内部データバスを図9に示す。例えば、64のDRAMバンクと32Kビット幅のデータバスを備えるAMPIC DRAMの実装では、各DRAMバンクに対するデータバスは、512ビット幅である。64の512ビット幅のバスが、32Kビット幅のデータバスを構成するために結合される。前記係属出願及び図1に記載されているように、各システムI/Oリソースは、AMPIC DRAM内のデータポートに接続されており、さらに、データポートは、内部の非常に幅の広い(超広帯域の)データバスに接続している。図9に示す実施態様では、これらのデータポートの各々は、たくさんのスロット(0〜m)に分割される。各データポートのスロットの数は、DRAMバンクの数に等しい。以前に説明した例では、各データポートは、32Kビット幅であり、それぞれ512ビットの64のセクションに分割される。各スロットは、DRAMアレイの1つのバンクに対応する。データが、システムI/Oリソースから到着すると、そのデータは、そのシステムI/Oリソースのデータポートの適切なスロットに流れ込む。この適切なスロットは、データが書かれるDRAMアドレスによって決定されるが、これによって、どのDRAMバンクにそのデータを書き込むかが決定される。本発明の好適な実施態様において、このアドレスは、メッセージデータと同時にシステムI/Oリソースによって提供されるということを想起されたい。例えば、入力メッセージが32Kビット幅の場合、全メッセージをデータポートの64のすべてのスロットに送り込むことができ、次に、単一のAMPIC DRAMの書き込みサイクルで、DRAMアレイに書き込むことができる。50nSという例示の値を、AMPIC DRAMの転送サイクル時間として再度仮定すると、結果として生じる内部AMPIC DRAMの帯域幅は、32Kビット/50nS、すなわち、655ギガビット/秒であることがわかる。
【0026】
代替的に、前述のATMネットワーキングの例に戻ると、入力メッセージが非常に短い場合、例えば、424ビットの場合、システムI/Oリソースのデータポートの1つのスロットのみを使用するだけでよい。この場合において、他のいくつかのシステムI/Oリソースが、それらのデータポートのそれぞれのスロットを同様の大きさ(サイズ)のメッセージで一杯にしている場合は、それらのすべてのメッセージを、同時にDRAMに転送することができ、従って、非常に広いデータバスをより効率的に使用することができるようになる。代替的には、単一のシステムI/Oリソースは、複数の短いメッセージを蓄積して、メッセージデータをDRAMアレイに書き込む前に、自身のデータポートのいくつかのスロットを一杯にすることができる。各々のメッセージが、そのメッセージアドレスによって示されている異なるDRAMバンクに向けられたものである場合は、単一のシステムI/Oリソースは、それ自身のデータポートにいくつかの短いメッセージを蓄積するだけであるということに留意されたい。いずれにしても、64のDRAMバンクという現在の例では、64までのメッセージを、同じシステムI/Oリソースからであろうと、あるいは、多くの異なるシステムI/Oリソースからであろうと、AMPIC DRAM内に同時に転送することができる。従って、AMPIC DRAMの転送サイクルの時間が50nSという例示の値を使用すると、ATMネットワーキングで使用される帯域幅は、(64×424)ビット/50nS、すなわち、542ギガビット/秒として、従って、利用可能な全帯域幅のほとんど83%であるとして計算される。この全帯域幅の利用度は、AMPIC DRAMデバイスに設けられるDRAMバンクの数が増えるにつれて増加する。従って、本明細書で開示されたDRAM及びバッファリング構造は、異なるシステムI/Oリソースからのいくつかの小規模のデータ転送が同時に起こることを可能にすることによって、少数の非常に広帯域幅のデータ転送と、多数の小さなデータ転送をサポートすることにおけるバランスを提供するものである。
【0027】
しかし、前述した本発明の実施態様には、システムI/Oリソースが、AMPIC DRAMに、そのいずれもが同じDRAMバンクを宛先とする2つの連続するメッセージを送信するときに制限がある。この特殊な場合では、両方のメッセージが、データポートの同じスロットを使用しなければならないため、2番目のメッセージは、データポートに書かれる前に、1番目のメッセージがDRAMアレイに書き込まれるまで待たなければならない。この問題を緩和するための本発明の代替実施態様を図10に示す。この実施態様では、m×nのクロスバースイッチが、各システムI/Oリソースのデータポート(1〜n)とDRAMアレイ(バンク1〜m)の間に配置される。この場合、DRAMアレイはm個のバンクから構成され、バッファはs個のスロットから構成される。クロスバースイッチにより、バッファの任意のセクションを、任意の1つのDRAMバンクに送ることができ、従って、使用されるDRAMアドレスからバッファを独立したものとすることができる。どのバッファセクションにデータを書き込まなければならないかを制御するのではなくて、DRAMアドレスがスイッチの機能を制御する。この例では、システムI/Oリソース1が、DRAMバンク1に宛てて424ビットをデータポートのスロット0に書き込み、システムI/Oリソースnが、DRAMバンクmに宛てて424ビットをデータポートのスロット1に書き込んだ場合は、両方のメッセージを同時にDRAMに書き込むことができる。AMPIC DRAM内のロジックは、各ポートのスイッチを適切に制御して、それぞれの転送毎に、正しいデータポートのスロットを正しいDRAMバンクに切り換える必要がある。このスイッチは、また、双方向に動作する必要があるということに留意することは重要である。すなわち、AMPIC DRAMからシステムI/Oリソースにデータを送信することになるDRAMの読み出しの場合は、スイッチは、適切なDRAMバンクから適正なデータポートのスロットにデータを移動させることができなければならない。本発明の好適な実施態様によって提供される全帯域幅の利用度を利用を変更せずに、バッファセクションを使用する際にアドレスの独立性を提供することによって、この代替実施態様におけるクロスバースイッチは、全データポートをはるかにフレキシビルに使用することを可能にする。例えば、両方とも同じDRAMバンクに宛てた2つの連続するメッセージを、AMPIC DRAMに送る前述したシステムI/Oリソースの例では、この場合、2番目のメッセージは、その最終的な宛先DRAMバンクがどれであるかに関係なく、次の利用可能なデータポートのスロットに書き込まれる。m×nのクロスバースイッチは、メッセージをDRAMに書き込む時間になったとき、メッセージを適切なDRAMバンクに送信するために使用される。
【0028】
他の修正が当業者には工夫されるであろうが、そのような修正等は、特許請求の範囲で規定されている本発明の思想及び範囲内に存するものとみなされる。
【図面の簡単な説明】
【図1】 前記係属出願のAMPIC DRAMの内部アーキテクチャの例示的なブロック図であり、本発明によってその動作は拡張される。
【図2】 図1のAMPIC DRAMに基づく例示的なシステムアーキテクチャのブロック図である。
【図3】 新規な装置及び方法を示す図であって、本発明に従って、アドレス及びデータが、システムI/OリソースによりAMPIC DRAMデバイスに配信される。
【図3a】 新規な装置及び方法を示す図であって、本発明に従って、データが、AMPIC DRAMデバイスからシステムI/Oリソースに配信される。
【図4】 AMPIC DRAMが、メッセージの宛先ポートの各々に、マルチキャストメッセージを効率的に配信することができる、新規な装置及び方法を示す図である。
【図5】 いつかのDRAMセクションにわたって存在する1単位量のデータを1つに「結合(linking)」する様子を示す図である。
【図6】 DRAMアレイを複数の等しいサイズのセクションに分割した図であり、3つのセクションのサイズについてそれぞれ示している。
【図7】 DRAMアレイを、サイズがそれぞれ異なる多くのセクションに分割した図である。
【図8】 AMPIC DRAMが、その内部において、送信元のシステムI/Oリソースから宛先のシステムI/Oリソースへのメッセージの送信のすべて実行する、装置及び方法を示す図である。
【図9】 AMPIC DRAMの内部システムバスの好適なアーキテクチャのブロック図であり、複数の小規模同時転送と、1つの超広帯域転送の両方を可能にする本発明の新規な分割技法を示す。
【図10】 AMPIC DRAMの内部システムバスの代替実施態様を示す図であり、図9のシステムで達成される結果と同様の結果を実現するために、各AMPIC DRAMのポートバッファとDRAMアレイの間にクロスバースイッチが配置されている。
Claims (39)
- 複数のマルチポート内部キャッシュDRAM(AMPIC DRAM)ユニットからなるアレイにおける性能を改良する方法であって、複数のシステムI/Oリソースが、該アレイの各ユニット内の対応するDRAMコアに接続された共通の内部データバスを介してインターフェースしており、処理ソースからのデータもまた、データ転送サイクルの間にバスを介して各ユニットに伝送されるようになっており、前記方法が、
データ転送と同時に、前記データ転送サイクルの間に、あるシステムI/Oリソースから前記アレイのすべてのAMPIC DRAMユニットにメッセージを送信することによって、システムI/Oリソースが、互いにマルチビットメッセージを、DRAM内のメッセージのアドレス位置に関するビット情報と同時に送信できるようにするステップを含み、
各システムI/Oリソースが前記AMPIC DRAMアレイ内の対応する1つのデータポートに接続され、前記アレイを複数のDRAMバンクに分割するステップと、前記各データポートをDRAMバンクの数に等しい数のスロットに分割するステップと、前記システムI/Oリソースから到来したデータを、該データが書き込まれることになるDRAMアドレスによって決定される、前記システムI/Oリソースのデータポートの適切なスロットに送るステップと、どのDRAMバンクに該データを書き込むかを決定するステップが実施されることからなる、方法。 - ATMネットワーキングにおけるような比較的短いメッセージを使用し、あるシステムI/Oリソースから到来したメッセージデータを前記システムI/Oリソースのデータポートのスロットに送る、請求項1の方法であって、他のシステムI/Oリソースが、それらの対応するデータポートのそれぞれ異なるスロットを同様に短いメッセージで満たしている場合は、すべてのそれらのメッセージを書き込み対象のDRAM バンクに同時に送信し、それによって、前記データバスを効率的に使用することを可能にする、方法。
- 各AMPIC DRAMユニットは、前記データ転送の間に異なるデータ部分を受信するが、同じDRAMメッセージのアドレス位置を受信し、各AMPIC DRAMが、システムI/Oリソースによって送信されたメッセージを、内部DRAMアレイの同じ位置に書き込むことができるようにする、請求項1または2の方法。
- メッセージの宛先のシステムI/Oリソースで、メッセージが読み出される、請求項3の方法。
- システムI/Oリソースによって送信されたメッセージのAMPIC DRAMアレイへの書き込みに続いて、該メッセージが送られる宛先のシステムI/Oリソースに、メッセージの存在と、前記AMPIC DRAMアレイ内の該メッセージのアドレス位置の両方を通知するステップを実行する、請求項1の方法。
- 前記のように通知された際に、メッセージが送られる前記宛先のシステムI/Oリソースが、前記AMPIC DRAMアレイから該メッセージを取り出す、請求項5の方法。
- 前記メッセージデータが、前記AMPIC DRAMアレイ全体にわたって分布し、該アレイの各要素が、該データの一部を保持し、前記メッセージの完全な信号情報が、前記AMPIC DRAMアレイの各要素に送信される、請求項6の方法。
- 前記メッセージビットのアドレス位置情報が、DRAMアレイにおいて複数のセクションに論理的に分割される、請求項4の方法。
- 前記セクションのサイズが等しい、請求項8の方法。
- リンクアドレスビットが、前記セクションより大きなメッセージの部分を結合するメッセージ位置情報に含まれる、請求項8の方法。
- 前記AMPIC DRAMアレイが、AMPIC DRAMに結合されたシステムI/Oリソースの数以上の、複数の独立に制御されるバンクに分割され、各内部データバスが該各DRAMバンク間に均等に分割される、請求項1の方法。
- 各転送に対して、適切なデータポートを適切なDRAMバンクに双方向に切り換えるために、各システムI/Oリソースのデータポートと前記DRAMアレイの間にクロスバースイッチを配置する、請求項11の方法。
- 前記メッセージのサイズもまた、前記メッセージのアドレス位置と共に、前記宛先のシステムI/Oリソースに送られる、請求項5の方法。
- 前記メッセージが、DRAMアレイ内に書き込まれるときに、該DRAMアレイに前記メッセージのサイズを記憶し、データ有効信号がメッセージのビットカウントによって表明されている間、前記データ有効信号をアサートすることによって、該メッセージのサイズを宛先のシステムI/Oリソースに示す、請求項13の方法。
- 前記宛先システムI/Oリソースが、前記メッセージのアドレス位置を受信すると、各AMPIC DRAMに前記アドレス位置を送る、請求項4の方法。
- 前記メッセージのアドレス位置が各AMPIC DRAMに送られると、前記アレイの各AMPIC DRAMから、メッセージデータのその部分を読み出すことによって、前記メッセージの取り出しを実行し、該メッセージを前記宛先のシステムI/Oリソースに送信する、請求項6の方法。
- 前記メッセージが、マルチキャストメッセージとして複数の宛先のシステムI/Oリソースに送信されて、同じDRAMアドレスが、各マルチキャストメッセージシステムI/Oリソースから受信されたことを認識すると、単一のDRAM読み出しサイクルが実行される、請求項15の方法。
- AMPIC DRAMアレイの連続するセクションからのメッセージの読み出しにおいて、あるセクションのリンクアドレスが、他のセクションを指示していない場合に、全メッセージの読み出しが終了する、請求項10の方法。
- 前記セクションのサイズが、主として比較的小さなメッセージと大きなメッセージのそれぞれに対応するために、可変サイズの値の範囲にプログラムされる、請求項8の方法。
- メッセージのサイズに関係なく、メッセージをDRAMアレイ内に背中合わせに記憶し、それに応じて、異なるサイズのメッセージがアレイ内に分布する、請求項4の方法。
- システムI/Oリソース間のアドレスの伝送が、AMPIC DRAM外部のロジックで実行される、請求項4の方法。
- 前記AMPIC DRAMユニットは、メッセージデータを受信すると、DRAMアレイ内の空きアドレス位置を選択して、その位置にメッセージを書き込み、そして、前記宛先のシステムI/OリソースにMESSAGE READY 信号で通知し、前記宛先のシステムI/Oリソースが、メッセージを受け取る準備ができている場合には、前記アレイの各DRAMから前記メッセージデータのその部分を取り出して、該データを、前記AMPIC DRAMユニットの内部構造からすべてが独立した、前記宛先のシステムI/Oリソースに送り、前記アレイは、記憶及び送信用の交差接続アレイとして機能することからなる、請求項1の方法。
- 複数のマルチポート内部キャッシュDRAM(AMPIC DRAM)ユニットからなるアレイの性能を高めるための装置であって、複数のシステムI/Oリソースが、該アレイの各ユニット内の対応するDRAMコアに接続された共通の内部データバスを介してインターフェースしており、該装置は、データ転送サイクルの間に、あるシステムI/Oリソースから前記アレイのすべてのAMPIC DRAMユニットにメッセージを送信することによって、システムI/Oリソースが、互いにマルチビットメッセージを、DRAM内のメッセージのアドレス位置に関する情報と同時に送信することができるようにするための論理回路を備え、
処理ソースからのデータもまた、前記データ転送サイクルの間にバスを介して各ユニットに伝送されるようになっており、
各AMPIC DRAMユニットは、前記データ転送中に異なるデータ部分を受信し、各AMPIC DRAMユニットは、同じDRAMのメッセージのアドレス位置を受信して、内部DRAMアレイ内の同じ位置に、システムI/Oリソースによって送信されたメッセージを書き込むように接続され、
前記アレイが複数の独立に制御されるDRAMバンクに分割され、各システムI/OリソースがAMPIC DRAMアレイ内の対応する1つのデータポートに接続され、前記各ポートがDRAMバンクの数に等しい複数のスロットに分割され、システムI/Oリソースから到来するデータを、データを書き込むべきDRAMアドレスによって決定される、システムI/Oリソースのデータポートの適切なスロットに送り、該データを書き込むDRAMバンクを決定する、装置。 - 比較的短いメッセージを ATM ネットワーキングで使用し、あるシステムI/Oリソースから到来するメッセージデータを、該システムI/Oリソースのデータポートのスロットに送ることからなる請求項23の装置であって、他のシステムI/Oリソースが、それらの対応するデータポートのそれぞれ異なるスロットを同様に短いメッセージで満たしている場合は、すべてのそれらのメッセージを書き込み対象のDRAM バンクに同時に送信し、前記データバスを効率的に使用することを可能にするための手段を備える、装置。
- メッセージの宛先のシステムI/Oリソースが、メッセージを読み出すことを可能にするための手段を備える、請求項23の装置。
- システムI/Oリソースによって送信されたメッセージのAMPIC DRAMアレイへの書き込みに続いて、該メッセージが送られる宛先のシステムI/Oリソースに、メッセージの存在と、前記AMPIC DRAMアレイ内の該メッセージのアドレス位置との両方を通知するよう動作する手段を備える、請求項24の装置。
- 前記のように通知された際に、メッセージが送られる前記宛先のシステムI/Oリソースが、前記AMPIC DRAMアレイから該メッセージを取り出すことができるようにするための手段を備える、請求項26の装置。
- 前記メッセージデータが、前記AMPIC DRAMアレイ全体にわたって分布し、該アレイの各要素が該データの一部を保持し、前記メッセージの完全な信号情報が、前記AMPIC DRAMアレイの各要素に送信されることからなる、請求項27の装置。
- 前記論理回路によって、前記メッセージのサイズもまた、前記メッセージのアドレス位置と共に、前記宛先のシステムI/Oリソースに送ることが可能である、請求項26の装置。
- 前記論理回路は、前記メッセージがDRAMアレイ内に書き込まれるときに、該DRAMアレイに前記メッセージのサイズを記憶し、データ有効信号がメッセージのビットカウントによって表明されている間、前記データ有効信号をアサートすることによって、該メッセージのサイズを宛先のシステムI/Oリソースに示す、請求項29の装置。
- 前記メッセージのアドレス位置を受信したときに、各AMPIC DRAMに前記アドレス位置を送るように前記宛先のシステムI/Oリソースを動作させるための手段を備える、請求項26の装置。
- 前記メッセージのアドレス位置が各AMPIC DRAMに送られると、前記アレイの各AMPIC DRAMから、メッセージデータのその部分を読み出すための手段によって、前記メッセージの取り出しを実行して、該メッセージを前記宛先のシステムI/Oリソースに送信する、請求項27の装置。
- 前記メッセージが、マルチキャストメッセージとして複数の宛先のシステムI/Oリソースに送信され、同じDRAMアドレスが、各マルチキャストメッセージシステムI/Oリソースから受信されたことを認識すると、単一のDRAM読み出しサイクルを実行する、請求項31の装置。
- 前記メッセージビットのアドレス位置情報が、DRAMアレイにおいて複数の同様のセクションに論理的に分割される、請求項25の装置。
- リンクアドレスビットが、前記セクションより大きなメッセージの部分を結合するメッセージアドレス位置情報に含まれる、請求項34の装置。
- 前記アレイの連続するセクションからのメッセージの読み出し中に、あるセクションのリンクアドレスが、他のセクションを指示していない場合に、全メッセージの読み出しが終了する、請求項35の装置。
- 前記セクションのサイズが、比較的小さなメッセージと大きなメッセージの両方に対応するために、可変サイズの値の範囲にプログラムされる、請求項34の装置。
- メッセージのサイズに関係なく、メッセージをDRAMアレイ内に背中合わせに記憶し、それに応じて、異なるサイズのメッセージがアレイ内に分布する、請求項25の装置。
- システムI/Oリソース間のアドレスの伝送が、AMPIC DRAM外部のロジック回路で実行される、請求項25の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/901,502 US6212597B1 (en) | 1997-07-28 | 1997-07-28 | Apparatus for and method of architecturally enhancing the performance of a multi-port internally cached (AMPIC) DRAM array and like |
US901,502 | 1997-07-28 | ||
PCT/IB1998/001121 WO1999005604A1 (en) | 1997-07-28 | 1998-07-23 | Multi-port internally cached drams |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001511559A JP2001511559A (ja) | 2001-08-14 |
JP4046943B2 true JP4046943B2 (ja) | 2008-02-13 |
Family
ID=25414315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000504513A Expired - Lifetime JP4046943B2 (ja) | 1997-07-28 | 1998-07-23 | マルチポート内部キャッシュdram |
Country Status (10)
Country | Link |
---|---|
US (1) | US6212597B1 (ja) |
EP (1) | EP1015989B1 (ja) |
JP (1) | JP4046943B2 (ja) |
CN (1) | CN1159655C (ja) |
AU (1) | AU748133B2 (ja) |
CA (1) | CA2297836C (ja) |
DE (1) | DE69810132T2 (ja) |
HK (1) | HK1030281A1 (ja) |
IL (1) | IL134222A (ja) |
WO (1) | WO1999005604A1 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251249B2 (en) * | 2000-01-26 | 2007-07-31 | Tundra Semiconductor Corporation | Integrated high speed switch router using a multiport architecture |
US7016349B1 (en) * | 2000-09-29 | 2006-03-21 | Cypress Semiconductor Corp. | Logic for generating multicast/unicast address (es) |
US6604176B1 (en) * | 2000-12-21 | 2003-08-05 | Emc Corporation | Data storage system having plural fault domains |
US6919592B2 (en) * | 2001-07-25 | 2005-07-19 | Nantero, Inc. | Electromechanical memory array using nanotube ribbons and method for making same |
US6643165B2 (en) | 2001-07-25 | 2003-11-04 | Nantero, Inc. | Electromechanical memory having cell selection circuitry constructed with nanotube technology |
US7566478B2 (en) * | 2001-07-25 | 2009-07-28 | Nantero, Inc. | Methods of making carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US6574130B2 (en) * | 2001-07-25 | 2003-06-03 | Nantero, Inc. | Hybrid circuit having nanotube electromechanical memory |
US6706402B2 (en) | 2001-07-25 | 2004-03-16 | Nantero, Inc. | Nanotube films and articles |
US6835591B2 (en) * | 2001-07-25 | 2004-12-28 | Nantero, Inc. | Methods of nanotube films and articles |
US6567329B2 (en) | 2001-08-28 | 2003-05-20 | Intel Corporation | Multiple word-line accessing and accessor |
US6784028B2 (en) | 2001-12-28 | 2004-08-31 | Nantero, Inc. | Methods of making electromechanical three-trace junction devices |
US7176505B2 (en) * | 2001-12-28 | 2007-02-13 | Nantero, Inc. | Electromechanical three-trace junction devices |
US7335395B2 (en) * | 2002-04-23 | 2008-02-26 | Nantero, Inc. | Methods of using pre-formed nanotubes to make carbon nanotube films, layers, fabrics, ribbons, elements and articles |
US7738496B1 (en) | 2002-12-31 | 2010-06-15 | Cypress Semiconductor Corporation | Device that provides the functionality of dual-ported memory using single-ported memory for multiple clock domains |
CN100390755C (zh) * | 2003-10-14 | 2008-05-28 | 中国科学院计算技术研究所 | 含有显式高速缓冲存储器的计算机微体系结构 |
US7934057B1 (en) | 2003-12-24 | 2011-04-26 | Cypress Semiconductor Corporation | Logic for implementing a dual clock domain read access with predictable timing for bi-directional inputs/outputs |
JP2005327062A (ja) * | 2004-05-14 | 2005-11-24 | Oki Electric Ind Co Ltd | 入出力端子装置の制御方法及び入出力端子装置 |
JP4565981B2 (ja) * | 2004-11-29 | 2010-10-20 | ソニー・エリクソン・モバイルコミュニケーションズ株式会社 | 不揮発性メモリのデータ保存方法、コンピュータプログラムおよび携帯端末 |
US8135933B2 (en) | 2007-01-10 | 2012-03-13 | Mobile Semiconductor Corporation | Adaptive memory system for enhancing the performance of an external computing device |
US8145809B1 (en) | 2007-03-09 | 2012-03-27 | Cypress Semiconductor Corporation | Busy detection logic for asynchronous communication port |
JP5599969B2 (ja) | 2008-03-19 | 2014-10-01 | ピーエスフォー ルクスコ エスエイアールエル | マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム |
JP5449686B2 (ja) * | 2008-03-21 | 2014-03-19 | ピーエスフォー ルクスコ エスエイアールエル | マルチポートメモリ及びそのマルチポートメモリを用いたシステム |
US9514069B1 (en) | 2012-05-24 | 2016-12-06 | Schwegman, Lundberg & Woessner, P.A. | Enhanced computer processor and memory management architecture |
US9773531B2 (en) | 2012-06-08 | 2017-09-26 | Hewlett Packard Enterprise Development Lp | Accessing memory |
MA41915A (fr) * | 2015-04-07 | 2018-02-13 | Benjamin Gittins | Unités de requête de transfert de mémoire programmable |
CN109857342B (zh) * | 2019-01-16 | 2021-07-13 | 盛科网络(苏州)有限公司 | 一种数据读写方法及装置、交换芯片及存储介质 |
US11842762B2 (en) | 2019-03-18 | 2023-12-12 | Rambus Inc. | System application of DRAM component with cache mode |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6339763U (ja) * | 1986-08-30 | 1988-03-15 | ||
JPH0834481B2 (ja) * | 1989-07-03 | 1996-03-29 | 日本電気株式会社 | パケット交換機 |
JPH0554655A (ja) * | 1991-08-22 | 1993-03-05 | Nec Corp | 半導体メモリ装置 |
JP2947664B2 (ja) * | 1992-03-30 | 1999-09-13 | 株式会社東芝 | 画像専用半導体記憶装置 |
US5581773A (en) * | 1992-05-12 | 1996-12-03 | Glover; Michael A. | Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements |
JP3104429B2 (ja) * | 1992-10-08 | 2000-10-30 | 株式会社日立製作所 | コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法 |
US5442747A (en) * | 1993-09-27 | 1995-08-15 | Auravision Corporation | Flexible multiport multiformat burst buffer |
AU3412295A (en) * | 1994-09-01 | 1996-03-22 | Gary L. Mcalpine | A multi-port memory system including read and write buffer interfaces |
JPH08241186A (ja) * | 1995-03-07 | 1996-09-17 | Fujitsu Ltd | バッファメモリ管理ユニット及びバッファメモリ管理方法 |
WO1997011419A2 (en) * | 1995-09-08 | 1997-03-27 | Shablamm Computer, Inc. | Synchronous multi-port random access memory |
US5875470A (en) * | 1995-09-28 | 1999-02-23 | International Business Machines Corporation | Multi-port multiple-simultaneous-access DRAM chip |
US5799209A (en) * | 1995-12-29 | 1998-08-25 | Chatter; Mukesh | Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration |
-
1997
- 1997-07-28 US US08/901,502 patent/US6212597B1/en not_active Expired - Lifetime
-
1998
- 1998-07-23 CN CNB988077248A patent/CN1159655C/zh not_active Expired - Lifetime
- 1998-07-23 EP EP98932443A patent/EP1015989B1/en not_active Expired - Lifetime
- 1998-07-23 IL IL13422298A patent/IL134222A/en not_active IP Right Cessation
- 1998-07-23 DE DE69810132T patent/DE69810132T2/de not_active Expired - Lifetime
- 1998-07-23 AU AU82367/98A patent/AU748133B2/en not_active Expired
- 1998-07-23 JP JP2000504513A patent/JP4046943B2/ja not_active Expired - Lifetime
- 1998-07-23 WO PCT/IB1998/001121 patent/WO1999005604A1/en active IP Right Grant
- 1998-07-23 CA CA002297836A patent/CA2297836C/en not_active Expired - Fee Related
-
2001
- 2001-02-13 HK HK01101019A patent/HK1030281A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1999005604A1 (en) | 1999-02-04 |
HK1030281A1 (en) | 2001-04-27 |
IL134222A0 (en) | 2001-04-30 |
EP1015989B1 (en) | 2002-12-11 |
AU748133B2 (en) | 2002-05-30 |
CA2297836A1 (en) | 1999-02-04 |
IL134222A (en) | 2004-07-25 |
EP1015989A1 (en) | 2000-07-05 |
AU8236798A (en) | 1999-02-16 |
CN1159655C (zh) | 2004-07-28 |
DE69810132D1 (de) | 2003-01-23 |
CN1266517A (zh) | 2000-09-13 |
US6212597B1 (en) | 2001-04-03 |
DE69810132T2 (de) | 2003-11-06 |
CA2297836C (en) | 2006-04-11 |
JP2001511559A (ja) | 2001-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4046943B2 (ja) | マルチポート内部キャッシュdram | |
EP1192753B1 (en) | Method and apparatus for shared buffer packet switching | |
US7675925B2 (en) | Method and apparatus for providing a packet buffer random access memory | |
JP3899085B2 (ja) | ネットワーク装置 | |
US6795886B1 (en) | Interconnect switch method and apparatus | |
EP0702500A2 (en) | Method of multicasting and multicast system | |
JP3644741B2 (ja) | Atmセルを切替え、同報通信し、多重化し、且つ逆多重化する方法及び装置 | |
US6446173B1 (en) | Memory controller in a multi-port bridge for a local area network | |
EP1237337A2 (en) | Efficient optimization algorithm in memory utilization for network applications | |
JPH10511208A (ja) | マルチポートram用の拡張可能なデータ幅を有するsam | |
KR20070065261A (ko) | 중재 패킷 프로토콜을 구비한 메모리 중재 시스템 및 방법 | |
US6697362B1 (en) | Distributed switch memory architecture | |
US7535898B2 (en) | Distributed switch memory architecture | |
EP1070408A1 (en) | Ampic dram system in a telecommunication switch | |
US6185206B1 (en) | ATM switch which counts multicast cell copies and uses a second memory for a decremented cell count value | |
US20070101045A1 (en) | Efficient Utilization of Shared Buffer Memory and Method for Operating the Same | |
US6314489B1 (en) | Methods and systems for storing cell data using a bank of cell buffers | |
EP1526753B1 (en) | Method for accessing data segments having arbitrary alignment | |
US20020181456A1 (en) | Switch device and data transfer system | |
JP3598335B2 (ja) | Atmセルを操作する方法及び装置 | |
JPH0158542B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040726 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061025 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070329 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070405 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070926 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131130 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |