JP3241045B2 - マルチポート共有メモリインタフェースおよび関連の方法 - Google Patents
マルチポート共有メモリインタフェースおよび関連の方法Info
- Publication number
- JP3241045B2 JP3241045B2 JP50719295A JP50719295A JP3241045B2 JP 3241045 B2 JP3241045 B2 JP 3241045B2 JP 50719295 A JP50719295 A JP 50719295A JP 50719295 A JP50719295 A JP 50719295A JP 3241045 B2 JP3241045 B2 JP 3241045B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- ram
- subset
- circuit
- different
- 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
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
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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
-
- 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
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
-
- 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
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Static Random-Access Memory (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Dram (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Information Transfer Systems (AREA)
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
Description
し、より特定的には、マルチプロセッサシステムおよび
通信における交換のような適用例のための、複数の装置
による共有メモリへのアクセスを与えおよび調停するた
めの方法および装置に関する。
易にするために用いられる。通常の共有メモリ実現例
は、複数のポートの使用を伴う。各ポートが異なる外部
装置に共有メモリアクセスを与えてもよい。異なる装置
は、データを送る、異なるプロセスの制御または実行に
関連してもよい。
影響されない、共有メモリへのアクセスを、各ポートに
与えるために、共有メモリへの経路は通常は個々のポー
トの帯域幅の総和に近い帯域幅で設計される。これによ
り、たとえば複数のポートが共有メモリへのアクセスを
求めても、共有メモリにアクセスすることにおいていず
れのポートも大きな遅延を被らないほど経路のデータ伝
搬能力が十分大きいことが保証される。一般に、これは
2つの方法のうちの1つ、またはそれらの何らかの組合
せで達成される。第1に、共有メモリアクセス時間は、
個々のポートに対するデータ転送時間よりもはるかに高
速であるよう設計すればよい。第2に、共有メモリへの
経路幅が、個々のポートの経路幅よりもはるかに大きい
ように設計されてもよい。
リから読出されまたはそこに書込まれ得るタイムスロッ
トを割当てることである。各ポートに対し、割当てられ
るタイムスロットは、ポートを通してデータを転送する
のに必要な実際の時間よりも短い。したがって、データ
はその転送中にポートと共有メモリとの間で一時的にバ
ッファされる。普通は、ポートのタイムスロットの長さ
は、共有メモリへのアクセスを共有する装置の数に反比
例する。特定のポートを用いる装置は、そのポートに対
して割当てられたタイムスロットの間のみメモリへのア
クセスを得ることができる。データは、タイムスロット
とタイムスロットとの間ではバッファされる。このアプ
ローチには欠点があった。たとえば、このアプローチ
は、メモリアクセス時間がポートのデータ転送時間より
もかなり短いことを必要とする。しかしながら、ポート
と共有メモリとに対するデータ転送速度間においてその
ような不一致を有することは非実用的であることがしば
しばある。
当てることを伴う。たとえば、共有メモリへの書込み
は、それぞれのポートで受信された複数のデータワード
を一時的にバッファし、次いで、それらを、そのポート
に対して指定されるタイムスロットの間に、すべて1つ
のメモリアクセスサイクルで、幅の広いメモリ経路上で
メモリに与えることを伴う。逆に、共有メモリからの読
出しは、複数のワードを、それぞれのポートに対して指
定されるタイムスロットの間に、すべて1つのメモリア
クセスサイクルで、幅の広い経路上で与えることと、メ
モリから読出されたワードを一時的にバッファすること
と、次いでそのワードをポートを通して転送することと
を伴う。この第2のアプローチは、データワードがそれ
ぞれのポートを通してマルチワードバーストで通信され
るバーストモードシステムに特によく適合する。バース
ト全体が、メモリアクセスバッファに一時的に記憶さ
れ、次いで1つのメモリアクセスサイクル中に共有メモ
リへのそのような広帯域幅経路を通して書込みまたは読
出しされるだろう。適当に大きい帯域幅を有する経路を
設けることによって、各ポートは、他のポートを通るデ
ータ転送によって妨害されない、共有メモリへの排他的
アクセスを有するように見えるようにされるだろう。
るk個のポートが共通のメモリを等しく共有するマルチ
ポートメモリシステムのこれまでの実現例を示す。各バ
ーストはk個のワードを含む。k個のメモリアクセスバ
ッファはk個のmビットワードを各々有し得る。各バッ
ファはk×mライン幅の経路によって共有メモリに接続
される。共有メモリはk×mビット幅である。
チポートメモリシステムにおいて用いられるデータフォ
ーマットを示す。共有メモリへのデータの転送中、mビ
ットワードからなるkワードのバーストがポートを通過
する。このバースト全体は1つのメモリアクセスバッフ
ァに短時間記憶される。次いで、所定のタイムスロット
中に、バーストのk個のワードすべては、バッファから
同時に転送され、k×m経路上で共有メモリに書込まれ
る。共有メモリからのデータの転送中は、k個のワード
が別の所定のタイムスロット中に共有メモリから読出さ
れて1つのメモリアクセスバッファに転送される。次い
で、バッファされたデータは、そのバッファに関連する
ポートを通って転送される。
するポートと異なってもよい。バーストが入力ポートか
ら出力ポートに送られ得るよう、共有メモリはバースト
を一時的に記憶する。したがって、図1のシステムはポ
ート間でデータを送るのに用いられ得る。
て、それぞれのポートを通して受信されたk個のmビッ
トワードは、そのポートに割当てられたメモリアクセス
バッファによってバッファされる。続いて、そのメモリ
アクセスバッファに対して予約されたタイムスロット中
に、割当てられたバッファに記憶されたk個のmビット
ワードのすべては、共有されるk×mビット幅経路上で
共有メモリに同時に書込まれる。同様の態様で、他のバ
ッファの各々は、それら自身の関連するポートのために
mビットワードを記憶し得る。各個々のバッファの内容
全体(k個のワードすべて)は、そのバッファに対して
予約された個々のタイムスロット中に、共有メモリに書
込まれ得る。メモリ読出動作は、書込み動作のステップ
が逆になることを除き、同様である。
ステムにおいてバッファとバスとの間に多数の相互接続
ピンが必要となることである。図3は、別の従来のマル
チポート共有メモリシステムを示すブロック図である。
使用されるデータフォーマットは、1ワードに付き72ビ
ット(64ビットデータに8ビットパリティを加えたも
の)の16ワードのバーストを伴う。共有メモリバスは11
52線幅を有する(16ワード×72ビット/ワード)。バス
は16のメモリアクセスバッファの各々に接続される。各
バッファは、バスに接続される1152本、およびポートに
接続される72本を含む、1224よりも多いデータピンを必
要とするだろう。残念なことに、バスに接続される1152
のデータピンは、16のバッファすべてと共有メモリとに
接続されるバス上で動作する高い駆動能力を各々必要と
するだろう。図3は、バッファピンによって克服されな
ければならない例示的バス容量を示す。
えるための改善されたアーキテクチャが要求されてい
る。このアーキテクチャは、メモリアクセスバッファの
ために必要なピンがより少なくあるべきであり、かつバ
ッファピンのための高い駆動能力を必要とするべきでは
ない。この発明はこれらの要求を満たすものである。
モリシステムはランダムアクセスメモリを含む。複数の
バッファが、それぞれのポートとランダムアクセスメモ
リとの間におけるデータの転送中にデータを一時的に記
憶するために設けられる。データパスが、ランダムアク
セスメモリと複数のバッファとを相互接続する。相互接
続回路が、ポートおよび異なる所定のバッファの間で、
データの異なる所定のサブセットを送る。
データポートとの間におけるポートバーストの転送のた
めの方法が提供される。ポートバーストとは、1つのポ
ートを通して転送されるデータの複数ワードのバースト
である。それぞれのポートバーストにおけるデータワー
ドは複数のサブセットに区分される。各データワードサ
ブセットは一時記憶バッファと関連付けられる。データ
ワードサブセットは、それぞれのポートと、それらデー
タワードサブセットが一時的に記憶されるそれらがそれ
ぞれ関連付けられたバッファとの間で伝導される。ポー
トバーストの全体が、複数のバッファとランダムメモリ
との間を、1つのメモリアクセスサイクル内に転送され
得る。
数ワードのバーストを転送するのに必要なピン接続の数
を低減する。さらに、この発明の現在の実施例は、メモ
リアクセスバッファの出力駆動要件を低減する。
当業者には、添付の図面と関連して以下の詳細な説明か
ら明らかとなるであろう。
ロック図であり、 図2は、図1の以前のシステムにおいて用いられ得る
データフォーマットであり、 図3は、別の以前のマルチポート共有メモリシステム
のブロック図であり、 図4は、この発明に従う第1のマルチポート共有メモ
リシステムの、一般化されたブロック図であり、 図5は、図4の実施例において用いられるデータフォ
ーマットおよびデータフローを示し、 図6は、図4の実施例のメモリアクセスバッファおよ
び制御論理のより詳細なブロック図であり、 図7は、図6のメモリアクセスバッファのデュアルレ
ジスタ対のひとつのブロック図であり、 図8は、図6の制御論理とメモリアクセスバッファと
の動作を説明するタイミング図であり、 図9は、図7のデュアルレジスタ対の動作を説明する
タイミング図であり、 図10は、この発明に従う非同期転送モード交換機のブ
ロック図である。
するための新規な方法および装置を含む。以下の説明
は、当業者であればこの発明を実施できるように述べら
れる。特定の適用例の説明は、例としてのみ与えられ
る。好ましい実施例に対するさまざまな変更は当業者に
は容易に明らかとなり、ここに定義される一般原理はこ
の発明の精神および範囲から逸脱することなく他の実施
例および適用例に適用されてもよい。したがって、この
発明は、示される実施例に限定されることは意図され
ず、ここに開示される原理および特徴と整合性のある最
も広い範囲と一致される。
チポート共有メモリシステム18のブロック図が示され
る。第1のシステム18は、nワードバーストでmビット
データワードを各々が入力/出力するk個のポート20の
組と、相互接続マトリックス回路22と、m個のメモリア
クセスバッファ24の組と、共有メモリ26とを含む。ポー
トは、デジタル情報がデータバスのような外部回路へま
たは外部から転送され得る2方向デジタルパスとして働
く。ポート構造は、当業者には周知であり、ここに記載
される必要はない。共有メモリ26内の、破線で示される
特定領域は、バッファ24に一時的に記憶されるデータの
サブセットのために予約される。
続される個々の外部装置(図示せず)からの二進データ
を転送する。これらのポート20は受信した二進データを
相互接続マトリックス22に与え、相互接続マトリックス
22はポートを介して転送されたデータをメモリアクセス
バッファ24間に分配する。この実施例において、この分
配は、各メモリアクセスバッファ24がポートの各々によ
って転送されるデータのサブセットを受取るようにして
達成される。この実施例では、各バッファ24は、個々の
ポートからそのバッファによって受取られたデータのす
べてをメモリ26に並列で転送し得る。さらに、そのよう
な個々のポートから受取られるデータの並列転送のすべ
ては、1つのメモリアクセスサイクル中に起こり得る。
あるが、逆向きである。つまり、n個のmビットワード
のためのビットは、共有メモリから転送されてメモリア
クセスバッファ24間に分配される。相互接続マトリック
ス22は次いでその分配されたビットを1つのポート20に
与え、それを通して、n個のmビットワードを含むベー
ストが外部装置(図示せず)に転送される。
在用いられる相互接続マトリックス回路22とデータフォ
ーマットとデータフローとの詳細を示す図が示される。
各メモリアクセスバッファ24は、どのポートであれそれ
を通して転送されるすべてのデータワードに対して、特
定のビット位置を記憶するための専用となっている。デ
ータワードは、データおよびパリティ情報を含んでもよ
い。現在の好ましい実施例において、メモリアクセスバ
ッファの総数はワードごとのビットの総数(m)に等し
く、したがって、各バッファに、すべてのワードにおけ
る1つのビット位置を担わせることができる。たとえ
ば、メモリアクセスバッファ24−1はポート20−1ない
し20−kのいずれかを通して転送される各ワードのビッ
ト1(B1)を記憶し、メモリアクセスバッファ24−2は
ポート20−1ないし20−kのいずれかを通して転送され
る各ワードのビット2(B2)を記憶する、というように
なる。
−1〜24−kは、nビットデータ線28−1〜28−kの組
によって共有メモリ26に接続される。したがって、異な
る序列のビットのm個のサブセットが、メモリ26とバッ
ファ24との間で同時に転送され得る。この実施例におい
ては、m個のサブセットの各々に対してnビットあり、
つまり、nワードのバーストにおけるn個のワードの各
々に対して1つのビットがある。特定的には、バースト
ごとにnワードありかつワードごとにmビットある場
合、バーストごとに序列B1のnビットがあり、バースト
ごとに序列B2のnビットがあり、…、バーストごとに序
列Bmのnビットがある。所定の序列のnビットのすべて
は、その序列のビットを記憶するために割当てられたバ
ッファに接続されたnビット線上でメモリ26に同時に与
えられ得る。たとえば、B1のnビットのすべては、バッ
ファ24−1に接続されるnビット線上に与えられる。こ
れは、バッファがメモリのアドレスされた位置へまたは
その位置から一度にnワードを転送し得ることを意味す
る。以下に説明されるように、これらの転送されるワー
ドのすべては、同じ外部装置で生じ、またはそれを目標
とされたものであろう。
(図示せず)との間でデータを所定のフォーマットで転
送する。この書類では、「ポートバースト」とは、外部
回路へまたはそこからの両方向において1つのポートを
介して転送されるデータバーストを意味する。図5に示
される現在の実施例においては、mビットのデータワー
ドは、バッファ24への転送のためにポートによって相互
接続マトリックス22へ与えられるであろう。逆に、mビ
ットのデータワードは、外部装置への転送のために相互
接続マトリックス22によってそのようなポートへ与えら
れるであろう。データワードフォーマットは、ビットB1
〜Bmが所定の順序で与えられるデータワードを含む。相
互接続マトリックスはそれらのビットを上述のように分
配する。
回路基板(PCB)、ワイヤラップ、またははんだ付けワ
イヤを用いて実現され得る。現在の好ましい実施例にお
いて、相互接続マトリックスはポートとバッファとの間
における接続を与える。以下に説明されるように、たと
えば、ポート20−1を介して転送される各ワード内の各
B1は、マトリックス22によって、ポート20−1と関連付
けされたバッファ24−1の記憶素子に接続され、ポート
20−2を介して転送される各ワード内の各B1は、マトリ
ックス22によって、ポート20−2と関連付けされたバッ
ファ24−1の記憶素子に接続され、…ポート20−kを介
して転送される各ワード内の各B1は、マトリックス22に
よって、ポート20−kと関連付けされたバッファ24−1
の記憶素子に接続される。
論理のいずれを用いても実現され得る。図6〜図9は、
メモリアクセスバッファ24とメモリアクセスバッファ24
のうちの1つのデュアルレジスタ対34との動作を例示し
説明する。図6の例示的ブロック図は、メモリアクセス
バッファ24と、制御論理29と、バッファ24を相互接続マ
トリックス(図示せず)に接続する直列入力/出力線30
と、nビット並列入力/出力バス32とを示す。制御論理
29は、線30上の直列I/Oと、バス32上の並列I/Oとを制御
する。制御論理の動作は、図8のタイミング図を参照し
て説明される。
とつが示される。この発明の現在の実施例において、各
メモリアクセスバッファ24は図7に示されるようなk個
のデュアルレジスタ対を含み、バッファ24ごとに合計し
て2k個のレジスタがある。各バッファ内の各レジスタ対
はポートの1つに関連付けされる。各レジスタ対は、そ
のレジスタ対に関連付けされたポートへまたはポートか
ら転送されるすべてのデータワード内の所定の位置(序
列)にあるすべてのビットを記憶するための専用となっ
ている。つまり、それぞれのバッファの各それぞれのデ
ュアルレジスタ対は、それぞれのポートを介して転送さ
れる各データワードからの同じ序列のビットのすべてを
記憶し転送する。
いて、デュアルレジスタ対Ri1は、ポートPi(図示せ
ず)を介して転送される各データワードの(序列が)第
1のビットB1を受取って記憶する。バッファ24−2内に
おいて、デュアルレジスタ対Ri2は、ポートPiを介して
転送される各ワードの(序列が)第2のビットB2を受取
って記憶する。バッファ24−m内において、デュアルレ
ジスタ対Rimは、ポートPiを介して転送される各ワード
の(序列が)第mのビットBmを受取って記憶する。した
がって、たとえば、ポートPiを介して転送されるすべて
のB1は、そのポートを介して転送されるデータのサブセ
ットを表わす。同様に、たとえば、すべてのB2は別のサ
ブセットを表わし、すべてのBmも同様である。
フトアウトレジスタ38とを含む。シフトインレジスタ36
は、まずデータのnビットを記憶し、次いでそれが共有
メモリ26に書込まれるようそれをメモリバス32上に並列
でアサートする。シフトアウトレジスタは、共有メモリ
26から読み「出された」nビットのデータをメモリバス
32から並列で読出して記憶する。
マトリックス22からシフトインレジスタ36へシリアルに
シフトされ、そこからそれはバス32上に並列でアサート
されて上述のようにメモリ26に書込まれる。逆に、シフ
トアウトレジスタ38に記憶されるデータはそれがメモリ
26から読出された後バス32からシフトアウトレジスタへ
並列で読出され、そこからそれはシフトアウトレジスタ
から相互接続マトリックス22へシリアルにシフトされ
る。出力イネーブルバッファ40は、シフトアウトレジス
タ38から相互接続マトリックス22へのデータの直列転送
を制御する。
ファのためのタイミング図が示される。図8のタイミン
グ図は、各ポートがバーストサイズ32ワード(n=32)
を有する32ポートシステム(k=32)のためのタイミン
グを示す。したがって、n=kである。現在の実施例に
おいて、メモリアクセスは、32のメモリ読出しサイクル
と、それに続く32のメモリ書込みサイクルとの間を交互
する。
データ書込み期間(クロックティック33〜64)の間に、
異なる32ワードのデータのバーストが、各ポート20に対
して、共通のメモリ26に書込まれ得る。各ポートは、そ
のポートを介して転送されるデータがメモリ26に書込ま
れ得るクロックサイクルを有する。連続するポートのデ
ータは、連続クロックサイクルで書込まれ、それらはそ
れぞれのポートに対するそれぞれの書込み「タイムスロ
ット」である。各ポートに割当てられる書込みタイムス
ロットに対して準備するために、各ポートはそのタイム
スロットの32クロックサイクル前にデータをメモリアク
セスバッファに転送し始め得るので、ポートのタイムス
ロットの到着前に、ポートによって受信されたバースト
の32ワードのすべてを、ポートに割当てられたバッファ
に転送するのに十分な時間がある。したがって、メモリ
データタイミング線上の「w1.C」に先行する32クロック
サイクルの間には、ポート20−1から相互接続マトリッ
クス22を介してメモリアクセスバッファ24−1へ、ポー
ト20−1データ線上に「w1.1」、「w1.2」…「w1.32」
として示される32の転送がある。各ポートは異なるタイ
ムスロットを有するので、各ポートのバーストが、その
ポートのタイムスロットのすぐ前に共有メモリへの転送
準備ができるように、ポートからの転送は適当にずらさ
れる。
20−1のデータ書込みサイクル中に、ポート20−1を介
して転送される第1のワードにあるすべてのビットは、
相互接続マトリックス22によって、メモリアクセスバッ
ファ24の割当てられたデュアルポートレジスタ対間に分
配される。たとえば、1バーストに付き32ワードありか
つ1ワードに付きmビットあるとすると、第1のポート
20−1のデータ書込みサイクル(w1.1)の間、ポート20
−1を介して転送されるワード1(W1)のビット1(B
1)はバッファ24−1にある所定のレジスタ対にシリア
ルに書込まれ、W1のB2はバッファ24−2にある所定のレ
ジスタ対にシリアルに書込まれ、W1のB3はバッファ24−
3にあるレジスタ対にシリアルに書込まれる、というよ
うになる。W1のBmはバッファ24−mのレジスタ対にシリ
アルに書込まれる。
みサイクル(W1.32)の間、ポート20−1を介して転送
されるW32のB1は、ポート20−1を介して転送されるW1
のB1と同じ、ポート24−1のレジスタ対にシリアルに書
込まれる。同様に、たとえば、第3のポート20−1のデ
ータ書込みサイクル(W1.3)の間、ポート20−1を介し
て転送されるW3のB6は、ポート20−1を介して転送され
るW1のB6と同じ、メモリアクセスバッファ24−6(図示
せず)にあるレジスタ対にシリアルに書込まれる。
サイクル(w1.1〜w1.32)の間、データはそれぞれのメ
モリアクセスバッファ24−1〜24−mにある指定された
シフトインレジスタにシリアルにシフトされる。メモリ
データサイクルw1.Cの間、事前の32の直列シフトインサ
イクル(w1.1〜w1.32)の間にポート20−1のシフトイ
ンレジスタにシリアルにシフトされたすべてのデータ
は、共有メモリ26に書込まれ得るようバス32上に並列に
アサートされる。
2)の間、32ワードのデータが、各ポートに対して、共
有メモリから読出され得る。たとえば、r1.Cでの1つの
クロックメモリアクセスサイクルの間に、32ワードがメ
モリ26から読出され得、これらのワードはポート20−1
を介して外部装置へ転送され得る。したがって、r1.Cは
ポート20−1に対する読出し「タイムスロット」であ
る。同様に、たとえば、r31.Cはポート20−31に対する
読出しタイムスロットを表わす。
ファ24−1内にあるシフトアウトレジスタは、メモリ26
から並列に読出される32ワードのすべてのB1を並列に受
取る。同様に、たとえば、タイムスロットr1.Cで、バッ
ファ24−18(図示せず)内にあるシフトアウトレジスタ
は、メモリ26から並列に読出される32ワードのすべての
B18を並列に受取る。
1.32)の間、メモリデータ読出しサイクル(r1.C)中に
メモリ26から読出されたワードは相互接続マトリックス
22を介してポート20−1にシリアルに転送される。たと
えば、データ読出しサイクル(r1.1)の間、ポート20−
1を介して転送されるべき第1のワード(W1)に対する
すべてのビットは、m個の異なるバッファ24内にあるm
個の異なるシフトアウトレジスタから同時にシリアルに
シフトされ、マトリックス22を介してW1をポート20−1
に与える。同様に、たとえば、データ読出しサイクル
(r1.31)の間、ポート20−1を介して転送されるべき
第31のワード(W31)に対するすべてのビットは、m個
の異なるバッファ24内にあるm個の異なるシフトアウト
レジスタから同時にシリアルにシフトされ、マトリック
ス22を介してW31をポート20−1に与える。
リ26に書込まれるとき、相互接続マトリックスは、各バ
ッファが各ワードのうちの記憶されるべきサブセットだ
けを記憶するよう、データワードビットを複数のバッフ
ァ間に分配する。好ましい実施例では、各バッファは所
定の序列のビットのみを記憶する。したがって、各バッ
ファは、バス32に、メモリに同時に転送されるべきすべ
てのデータのサブセットを与えるだけでよい。
出力されるときは、複数のバッファ間に分配されたビッ
トが一連の完全なワード(すなわちバースト)として出
力されるよう、相互接続マトリックスはそれらを再結合
する。あるポートを介して転送されるべきデータ全体
は、メモリから並列に出力されてバッファに入力され
る。しかしながら、各バッファはその全体データのサブ
セットを受取るにすぎない。相互接続マトリックス22は
サブセットをデータのバーストに再結合する。
タ対の動作を示す。P.WRITEパルスの間、(rX.c)メモ
リデータサイクル中に共有メモリ26から読出されたデー
タはシフトアウトレジスタ38に並列に書込まれる。各SH
IFT−OUTパルスの間、1つのビットがそれぞれのポート
への転送のためにシフトアウトレジスタから相互接続マ
トリックス22へシフトアウトされる。たとえば、バッフ
ァ24−1の場合、各SHIFT−OUTパルスは図8のr1.Xパル
スに対応する。各SHIFT−INパルスの間では、データの
1つのビットがシフトインレジスタにシフトインされ
る。たとえば、バッファ24−1の場合、各SHIFT−INパ
ルスは図8のw1.Xパルスに対応する。P.READパルスの間
では、シフトインレジスタにシフトインされたすべての
データは並列に読出されてw1.Cサイクルの間に共有メモ
リ26に書込まれ得る。
リ幅を有する標準的ランダムアクセスメモリ(RAM)構
成であり得る。したがって、メモリは、図5に示される
ように、メモリアクセスバッファ24へまたはそこからデ
ータの(n×m)ビットを同時に転送でき、すべての
(n×m)ビットを1つのアドレス指定されるメモリ位
置に記憶することができる。この実施例では、ポートか
らの各ワードを連続するビットとして記憶するのではな
く、これらワードは「インタリーブ」され、すべての第
1の序列=序列ビット(B1)が連続的に記憶され、それ
にすべての第2の序列ビット(B2)等が続き、以下同様
である。この構成では、特定のポート20からまたはそこ
へのnワードを表わすすべてのビットは、共有メモリ26
の1ラインとして容易に記憶され得る。
る。しかしながら、タイムスロットは優先順位に基づい
て調停されてもよい。さらに、この実施例では、k個の
ポート20の各々は共有メモリ26と通信するために1つの
クロックサイクルのタイムスロットを必要とし、かつ各
ポートはメモリアクセスバッファ24へまたはそこからn
ワードのデータバーストの全体を転送するためにそのタ
イムスロットの前にnクロックサイクルを必要とするた
め、バーストごとのワード数(n)をポート数(k)と
等しく設定し、それによって、ボルトネックやアイドル
時間なしにデータを転送するための円滑なサイクルプロ
セスを提供するようにするのが効率的である。しかしな
がら、ポート数とバーストごとのワード数との関係は、
この発明から逸脱することなく変更可能である。
(ATM)交換機のブロック図である。ATMは、セルと呼ば
れる固定サイズのパケットを用いる情報転送のためのペ
イロード多重化技術である。現在の実現例では、ATMセ
ルは、53バイト長であり、かつ経路情報を伝搬する5バ
イトのヘッダに48バイトの情報フィールド(ペイロー
ド)が続くものからなる。交換機に入る各ATMセルのペ
イロードは、共有メモリ内の特定の位置に置かれる。AT
Mセルのペイロードは48バイト幅(1バイトに付き8ビ
ット)であるので、共有メモリは384ビット幅(48×8
=384)にされる。この実現例は、メモリアクセスバッ
ファからメモリへの32ビットのバスを有し、各ポートワ
ードが12ビット幅であり、かつ32ワードのポートバース
トを用いるように選択された。384は(12×32)にも等
しく、つまり、セルは12ビットワードからなる32ワード
のバーストで転送されることに注目されたい。
のようなセルに含まれる経路情報に従って、宛先ポート
へ送る。より特定的には、セルはポートから転送されて
共有メモリに記憶される。次いで、それは、共有メモリ
から取出されて、セル内に示された宛先ポートへ転送さ
れる。この態様で、データをポート間で交換できる。制
御メモリおよび交換制御装置の動作は、当業者によって
理解され、この発明のいかなる部分も形成しないだろう
から、ここに記載される必要はない。
たが、この発明の範囲から逸脱することなくさまざまな
修正が好ましい実施例になされ得る。したがって、前述
の記載は、添付の請求の範囲において規定されるこの発
明を限定することを意図するものではない。
Claims (29)
- 【請求項1】ランダムアクセスメモリ(RAM)と複数の
データポートとを含むマルチポートメモリシステムにお
いて、前記複数のデータポートの任意の一つと前記RAM
との間で、複数個のサブセットを含むデータバーストを
送信するためのメモリインタフェースシステムであっ
て、 各々が、 前記複数のデータポートのそれぞれ互いに異なるデータ
ポートと前記RAMとの間で送信される複数のデータバー
ストのそれぞれのサブセットを同時に記憶するための複
数の記憶素子と、 個々の記憶素子と前記RAMとの間で接続可能な並列デー
タパス回路とを含む、 複数のバッファと、 それぞれのデータポートと前記RAMとの間で送信される
任意の所与のデータバーストの異なるそれぞれのサブセ
ットが、異なるそれぞれのデータ線を介して異なるそれ
ぞれのバッファへまたはそれらから伝導されるように、
各それぞれのデータポートを複数のそれぞれのバッファ
と相互接続する複数のデータ線を含む相互接続回路とを
含む、メモリインタフェースシステム。 - 【請求項2】それぞれの記憶素子は、データバーストの
サブセットを前記相互接続回路へおよびそこからシリア
ルに転送する直列転送回路を含む、請求項1に記載のシ
ステム。 - 【請求項3】それぞれの記憶素子は、前記相互接続回路
からのそれぞれのデータバーストのサブセットをシリア
ルにシフトインするためのそれぞれのシフトインレジス
タ回路を含み、かつ前記相互接続回路へそれぞれのデー
タバーストのサブセットをシリアルにシフトアウトする
ためのそれぞれのシフトアウトレジスタ回路を含む、請
求項1に記載のシステム。 - 【請求項4】それぞれの記憶素子は、前記相互接続回路
からそれぞれのデータバーストのサブセットをシリアル
にシフトインするための、および前記RAMへのそのよう
なデータバーストのサブセットの並列シフトアウトのた
めの、それぞれの直列シフトイン/並列シフトアウトレ
ジスタ回路を含み、 それぞれの記憶素子は、前記RAMからのそれぞれのデー
タバーストのサブセットの並列シフトインのための、お
よび前記相互接続回路へのそのようなデータバーストの
サブセットをシリアルにシフトアウトするための、それ
ぞれの並列シフトイン/直列シフトアウトレジスタ回路
をさらに含む、請求項1に記載のシステム。 - 【請求項5】それぞれの記憶素子は、前記相互接続回路
からのそれぞれのデータバーストのサブセットをシリア
ルにシフトインするための、および前記RAMへのそのよ
うなデータバーストのサブセットの並列シフトアウトの
ための、それぞれの直列シフトイン/並列シフトアウト
レジスタ回路を含み、 それぞれの記憶素子は、前記RAMからのそれぞれのデー
タバーストのサブセットの並列シフトインのための、お
よびそのようなデータバーストのサブセットを前記相互
接続回路へシリアルにシフトアウトするための、それぞ
れの並列シフトイン/直列シフトアウトレジスタ回路を
さらに含み、 それぞれの並列データパス回路はそれぞれの直列シフト
イン/並列シフトアウトレジスタ回路を前記RAMと断続
的に接続し、 それぞれの並列データパス回路はそれぞれの並列シフト
イン/直列シフトアウトレジスタ回路を前記RAMと断続
的に接続する、請求項1に記載のシステム。 - 【請求項6】それぞれの記憶素子は、データバスのサブ
セットを前記相互接続回路へまたはそこから一度に1ビ
ットシリアルに転送する直列転送回路を含む、請求項1
に記載のシステム。 - 【請求項7】前記相互接続回路はプリント基板を含む、
請求項1に記載のシステム。 - 【請求項8】ランダムアクセスメモリ(RAM)と複数の
データポートとを含むマルチポートメモリシステムにお
いて、前記複数のデータポートの任意の一つと前記RAM
との間で、複数個のサブセットを含むデータバーストを
送信するためのメモリインタフェースであって、前記メ
モリインタフェースは、 複数のバッファと、 プリント基板相互接続回路とを含み、 前記複数のバッファの各々が、 前記複数のデータポートの、それぞれ互いに異なるデー
タポートと前記RAMとの間で移動中の複数のデータバー
ストのそれぞれのサブセットを同時に記憶するための複
数の記憶素子を含み、 それぞれの記憶素子は、前記相互接続回路からのそれぞ
れのデータバーストのサブセットをシリアルにシフトイ
ンするための、および前記RAMへのそのようなデータバ
ーストのサブセットの並列シフトアウトのための、それ
ぞれの直列シフトイン/並列シフトアウトレジスタ回路
を含み、 それぞれの記憶素子は、前記RAMからのそれぞれのデー
タバーストのサブセットの並列シフトインのための、お
よびそのようなデータバーストのサブセットを前記相互
接続回路にシリアルにシフトアウトするための、それぞ
れの並列シフトイン/直列シフトアウトレジスタ回路を
さらに含み、 前記複数のバッファを構成するそれぞれのバッファは、
それぞれの直列シフトイン/並列シフトアウトレジスタ
回路を前記RAMと断続的に接続し、それぞれの並列シフ
トイン/直列シフトアウトレジスタ回路を前記RAMと断
続的に接続する、それぞれの並列データパス回路をさら
に含み、 前記プリント基板相互接続回路は、それぞれのデータポ
ートと前記RAMとの間を移動中の任意の所与のデータバ
ーストの異なるそれぞれのサブセットが、異なるそれぞ
れのデータ線を介して異なるそれぞれのバッファへまた
はそれらから伝導されるように、各それぞれのデータポ
ートを複数のそれぞれのバッファと相互接続する複数の
データ線を含む、メモリインタフェース。 - 【請求項9】ランダムアクセスメモリ(RAM)と、 複数のデータポートと、 複数のバッファとを含み、前記複数のデータポートの任
意の一つと前記RAMとの間で、複数個のサブセットを含
むデータバーストを送信するためのマルチポートメモリ
システムであって、 各々の前記バッファは、 前記複数のデータポートのそれぞれ互いに異なるデータ
ポートと前記RAMとの間で送信される複数のデータバー
ストの、それぞれのサブセットを同時に記憶するための
複数の記憶素子と、 個々の記憶素子と前記RAMとの間で接続可能な並列デー
タパス回路と含み、 さらに、 それぞれのデータポートと前記RAMとの間で送信される
任意の所与のデータバーストの異なるそれぞれのサブセ
ットが、異なるそれぞれのデータ線を介して異なるそれ
ぞれのバッファへまたはそれらから伝導されるように、
各それぞれのデータポートを複数のそれぞれのバッファ
と相互接続する複数のデータ線を含む相互接続回路を含
む、マルチポートメモリシステム。 - 【請求項10】前記RAMと任意の所与のデータバースト
の異なるサブセットを記憶する複数の異なるバッファと
の間におけるそのような所与のデータバーストのすべて
のサブセットの同時並列転送を制御する制御信号を与え
る制御回路をさらに含む、請求項9に記載のシステム。 - 【請求項11】それぞれの前記記憶素子は、前記相互接
続回路へおよびそこからデータバーストのサブセットを
シリアルに転送する直列転送回路を含む、請求項9に記
載のシステム。 - 【請求項12】それぞれの前記記憶素子は、前記相互接
続回路へおよびそこからデータバーストのサブセットを
シリアルに転送する直列転送回路を含み、 前記RAMと任意の所与のデータバーストの異なるサブセ
ットを記憶する複数の異なるバッファとの間におけるそ
のような所与のデータバーストのすべてのサブセットの
同時並列転送を制御する制御信号を与え、前記相互接続
回路と、異なるそれぞれのバッファとの間におけるデー
タバーストのサブセットの転送を制御する制御信号を与
える、制御回路をさらに含む、請求項9に記載のシステ
ム。 - 【請求項13】それぞれの前記記憶素子は、前記相互接
続回路からのそれぞれのデータバーストのサブセットを
シリアルにシフトインするためのそれぞれのシフトイン
レジスタ回路を含み、かつ前記相互接続回路へそれぞれ
のデータバーストのサブセットをシリアルにシフトアウ
トするためのそれぞれのシフトアウトレジスタ回路を含
む、請求項9に記載のシステム。 - 【請求項14】それぞれの前記記憶素子は、前記相互接
続回路からのそれぞれのデータバーストのサブセットを
シリアルにシフトインするための、および前記RAMへの
そのようなデータバーストのサブセットの並列シフトア
ウトのための、それぞれの直列シフトイン/並列シフト
アウトレジスタ回路を含み、 それぞれの記憶素子は、前記RAMからのそれぞれのデー
タバーストのサブセットの並列シフトインのための、お
よびそのようなデータバーストのサブセットを前記相互
接続回路にシリアルにシフトアウトするための、それぞ
れの並列シフトイン/直列シフトアウトレジスタ回路を
さらに含む、請求項9に記載のシステム。 - 【請求項15】それぞれの前記記憶素子は、前記相互接
続回路からのそれぞれのデータバーストのサブセットを
シリアルにシフトインするための、および前記RAMへの
そのようなデータバーストのサブセットの並列シフトア
ウトのための、それぞれの直列シフトイン/並列シフト
アウトレジスタ回路を含み、 それぞれの記憶素子は、前記RAMからのそれぞれのデー
タバーストのサブセットの並列シフトインのための、お
よびそのようなデータバーストのサブセットを前記相互
接続回路へシリアルにシフトアウトするための、それぞ
れの並列シフトイン/直列シフトアウトレジスタ回路を
さらに含み、 それぞれの並列データパス回路はそれぞれの直列シフト
イン/並列シフトアウトレジスタ回路を前記RAMと断続
的に接続し、 それぞれの並列データパス回路はそれぞれの並列シフト
イン/直列シフトアウトレジスタ回路を前記RAMと断続
的に接続する、請求項9に記載のシステム。 - 【請求項16】それぞれの前記記憶素子は、データバー
ストのサブセットを前記相互接続回路へまたはそこから
一度に1ビットシリアルに転送する直列転送回路を含
む、請求項9に記載のシステム。 - 【請求項17】前記相互接続回路はプリント基板を含
む、請求項9に記載のシステム。 - 【請求項18】ランダムアクセスメモリ(RAM)と、 複数のデータポートと、 複数のバッファと、 相互接続回路と、 制御回路とを含み、 前記複数のデータポートの任意の一つと前記RAMとの間
で、複数個のサブセットを含むデータバーストを送信す
るためのマルチポートメモリシステムであって、 前記複数のバッファを構成する各バッファは、 前記複数個のデータポートの、それぞれ互いに異なるデ
ータポートと前記RAMとの間で送信される複数のデータ
バーストの、それぞれのサブセットを同時に記憶するた
めの複数の記憶素子を含み、 それぞれの前記記憶素子は、前記相互接続回路からのそ
れぞれのデータバーストのサブセットをシリアルにシフ
トインするための、および前記RAMへのそのようなデー
タバーストのサブセットの並列シフトアウトのための、
それぞれの直列シフトイン/並列シフトアウトレジスタ
回路を含み、 それぞれの前記記憶素子は、前記RAMからのそれぞれの
データバーストのサブセットの並列シフトインのため
の、およびそのようなデータバーストのサブセットを前
記相互接続回路にシリアルにシフトアウトするための、
それぞれの並列シフトイン/直列シフトアウトレジスタ
回路をさらに含み、 前記バッファの各々は、それぞれの直列シフトイン/並
列シフトアウトレジスタ回路を前記RAMと断続的に接続
し、それぞれの並列シフトイン/直列シフトアウトレジ
スタ回路を前記RAMと断続的に接続する、それぞれの並
列データパス回路をさらに含み、 前記相互接続回路は、それぞれのデータポートと前記RA
Mとの間で送信される任意の所与のデータバーストの異
なるそれぞれのサブセットが、異なるそれぞれのデータ
線を介して異なるそれぞれのバッファへまたはそれらか
ら伝導されるように、各それぞれのデータポートを複数
のそれぞれのバッファと相互接続する複数のデータ線を
含み、 前記制御回路は、前記RAMと任意の所与のデータバース
トの異なるサブセットを記憶する複数の異なるバッファ
との間におけるそのような所与のデータバーストのすべ
てのサブセットの同時並列転送を制御する制御信号を与
え、前記相互接続回路と異なるそれぞれのバッファとの
間におけるデータバーストのサブセットの転送を制御す
る制御信号を与える、マルチポートメモリシステム。 - 【請求項19】ランダムアクセスメモリ(RAM)と、 k個のデータポート(ただしkは2以上の整数)と、 m個のバッファ(ただしmは2以上の整数)とを含み、 前記k個のデータポートの任意の一つと前記RAMとの間
で、m個のサブセットを含むデータバーストを送信する
ためのマルチポートメモリシステムであって、 各々の前記バッファは、 前記k個のデータポートのそれぞれ互いに異なるデータ
ポートと前記RAMとの間で送信される、それぞれがnワ
ードからなる複数のデータバーストの、それぞれのnビ
ットのサブセットを同時に記憶するためのk個の記憶素
子と、 個々の記憶素子と前記RAMとの間で接続可能な並列デー
タパス回路とを含み、 各それぞれのnビットのサブセットは、それぞれのnワ
ードデータバーストの異なるそれぞれのデータワードに
おいて同じそれぞれのビット位置を占有するn個のすべ
てのそれぞれのビットから成り、さらに、 それぞれのデータポートと前記RAMとの間で送信される
任意の所与のnワードのデータバーストのm個の異なる
それぞれのnビットのサブセットが、m個の異なるそれ
ぞれのバッファへまたはそれらから伝導されるように、
各それぞれのデータポートをm個の異なるバッファと相
互接続する複数のデータ線を含む相互接続回路を含む、
マルチポートメモリシステム。 - 【請求項20】k=nである、請求項19に記載のシステ
ム。 - 【請求項21】k個(ただしkは2以上の整数)のデー
タポートの任意の一つとランダムアクセスメモリ(RA
M)との間で、ワードごとにmビット(ただしmは2以
上の整数)を含むnワードからなる、各々が複数のサブ
セットを含むデータバーストを転送するための方法であ
って、前記方法は、各々がk個の記憶素子を含むm個の
バッファを用いるものであり、 前記方法は、 それぞれのデータポートを介して転送されるデータバー
ストを、それぞれのデータバーストのサブセットであっ
て、各それぞれのサブセットがn個のそれぞれのビット
を含むサブセットに分けるステップを含み、そのような
n個のそれぞれのビットは、それぞれのデータバースト
の異なるデータワードにおいて同じそれぞれのビット位
置を占有するものであり、さらに、 異なるバッファ内の異なる記憶素子に、前記k個のデー
タポートの任意の一つとRAMとの間で移動中のあるデー
タバーストの、別々のサブセットを一時的に記憶するス
テップと、 異なるバッファにある異なる記憶素子とRAMとの間で、
前記k個のデータポートの任意の一つとRAMとの間で移
動中のあるデータバーストの別々のサブセットのすべて
を並列に転送するステップとを含む、データバーストの
転送方法。 - 【請求項22】k=nである、請求項21に記載の方法。
- 【請求項23】各データバーストのサブセットはn個の
ビットを含む、請求項21に記載の方法。 - 【請求項24】任意のそれぞれのデータポートと異なる
バッファにある異なる記憶素子との間において、そのよ
うなそれぞれのデータポートおよびRAMへまたはそれら
から送信されるそれぞれのデータバーストのそれぞれの
データバーストのサブセットをシリアルに転送するステ
ップをさらに含む、請求項21に記載の方法。 - 【請求項25】任意のそれぞれのデータポートと異なる
バッファにある異なる記憶素子との間において、そのよ
うなそれぞれのデータポートおよびRAMへまたはそれら
から移動中のそれぞれのデータバーストのそれぞれのデ
ータバーストのサブセットを一度に1ビットシリアルに
転送するステップをさらに含む、請求項21に記載の方
法。 - 【請求項26】ランダムアクセスメモリ(RAM)と、 k個のデータポート(ただしkは2以上の整数)と、 それぞれ前記k個のデータポートの任意の一つを介して
転送されるデータバーストを、それぞれn個のそれぞれ
のビットを含むm個のサブセット(ただし、mは2以上
の整数)に分けるための手段とを含み、そのようなn個
のそれぞれのビットは、それぞれのデータバーストの異
なるデータワードにおいて同じそれぞれのビット位置を
占有するものであり、さらに、 m個のバッファ手段を含み、各々の前記バッファ手段
は、異なるバッファ手段内の異なる記憶素子手段に、前
記k個のデータポートの任意の一つとRAMとの間で移動
中のデータバーストの別々のサブセットを一時的に記憶
するためのk個の記憶素子手段を含み、さらに、 異なるバッファ手段にある異なる記憶素子手段とRAMと
の間で、前記k個のデータポートの任意の一つとRAMと
の間で移動中のそれぞれのデータバーストの別々のサブ
セットのすべてを並列に転送するための手段を含む、マ
ルチポートメモリシステム。 - 【請求項27】k=nである、請求項26に記載のシステ
ム。 - 【請求項28】ランダムアクセスメモリ(RAM)と複数
のデータポートとを含むマルチポートメモリシステムに
おいて、前記複数のデータポートの任意の一つと前記RA
Mとの間でデータバーストを転送するためのメモリイン
タフェースシステムであって、前記データバーストは複
数のサブセットを含み、 前記メモリインタフェースシステムは、複数のバッファ
を含み、 前記複数のバッファの各々は、 前記複数のデータポートのそれぞれ互いに異なるデータ
ポートと前記RAMとの間で送信される複数のデータバー
ストのそれぞれのサブセットを同時に記憶するための複
数の記憶素子を含み、 それぞれのデータポートと前記RAMとの間で送信される
任意の所与のデータバーストの異なるそれぞれのサブセ
ットが、異なるそれぞれのデータ線を介して異なるそれ
ぞれのバッファへまたはそれから伝導されるように、各
それぞれのデータポートを複数のそれぞれのバッファと
相互接続する複数のデータ線を含む相互接続回路とを含
む、メモリインタフェースシステム。 - 【請求項29】それぞれのバッファは、個々の記憶素子
と前記RAMとの間で接続可能な並列データパス回路を含
み、 それぞれの記憶素子は、前記相互接続回路へおよびそれ
からデータバーストサブセットをシリアルに転送する直
列転送回路を含む、請求項28に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/109,805 US5440523A (en) | 1993-08-19 | 1993-08-19 | Multiple-port shared memory interface and associated method |
US08/109,805 | 1993-08-19 | ||
US109,805 | 1993-08-19 | ||
PCT/US1994/009364 WO1995005635A1 (en) | 1993-08-19 | 1994-08-17 | Multiple-port shared memory interface and associated method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09502818A JPH09502818A (ja) | 1997-03-18 |
JP3241045B2 true JP3241045B2 (ja) | 2001-12-25 |
Family
ID=22329660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50719295A Expired - Lifetime JP3241045B2 (ja) | 1993-08-19 | 1994-08-17 | マルチポート共有メモリインタフェースおよび関連の方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5440523A (ja) |
EP (1) | EP0714534B1 (ja) |
JP (1) | JP3241045B2 (ja) |
KR (1) | KR100303574B1 (ja) |
AT (1) | ATE182700T1 (ja) |
AU (1) | AU682211B2 (ja) |
CA (1) | CA2168666C (ja) |
DE (1) | DE69419760T2 (ja) |
WO (1) | WO1995005635A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5732041A (en) * | 1993-08-19 | 1998-03-24 | Mmc Networks, Inc. | Memory interface unit, shared memory switch system and associated method |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
WO1996007139A1 (en) * | 1994-09-01 | 1996-03-07 | Mcalpine Gary L | A multi-port memory system including read and write buffer interfaces |
US5696991A (en) * | 1994-11-29 | 1997-12-09 | Winbond Electronics Corporation | Method and device for parallel accessing data with optimal reading start |
JPH08278916A (ja) * | 1994-11-30 | 1996-10-22 | Hitachi Ltd | マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路 |
US5808487A (en) * | 1994-11-30 | 1998-09-15 | Hitachi Micro Systems, Inc. | Multi-directional small signal transceiver/repeater |
US6185222B1 (en) | 1995-09-28 | 2001-02-06 | Cisco Technology, Inc. | Asymmetric switch architecture for use in a network switch node |
US5617555A (en) * | 1995-11-30 | 1997-04-01 | Alliance Semiconductor Corporation | Burst random access memory employing sequenced banks of local tri-state drivers |
JP3603440B2 (ja) * | 1996-01-12 | 2004-12-22 | 富士通株式会社 | 半導体記憶装置 |
US5724358A (en) * | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US6373846B1 (en) | 1996-03-07 | 2002-04-16 | Lsi Logic Corporation | Single chip networking device with enhanced memory access co-processor |
US5959993A (en) * | 1996-09-13 | 1999-09-28 | Lsi Logic Corporation | Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture |
US5831980A (en) * | 1996-09-13 | 1998-11-03 | Lsi Logic Corporation | Shared memory fabric architecture for very high speed ATM switches |
US5924117A (en) * | 1996-12-16 | 1999-07-13 | International Business Machines Corporation | Multi-ported and interleaved cache memory supporting multiple simultaneous accesses thereto |
US6487207B1 (en) * | 1997-02-26 | 2002-11-26 | Micron Technology, Inc. | Shared buffer memory architecture for asynchronous transfer mode switching and multiplexing technology |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
US6170046B1 (en) * | 1997-10-28 | 2001-01-02 | Mmc Networks, Inc. | Accessing a memory system via a data or address bus that provides access to more than one part |
US6590901B1 (en) * | 1998-04-01 | 2003-07-08 | Mosaid Technologies, Inc. | Method and apparatus for providing a packet buffer random access memory |
US6307860B1 (en) | 1998-04-03 | 2001-10-23 | Mmc Networks, Inc. | Systems and methods for data transformation and transfer in networks |
US7126137B2 (en) * | 1998-05-05 | 2006-10-24 | Carl Zeiss Smt Ag | Illumination system with field mirrors for producing uniform scanning energy |
US6650637B1 (en) * | 1998-12-14 | 2003-11-18 | Lucent Technologies Inc. | Multi-port RAM based cross-connect system |
DE19936080A1 (de) * | 1999-07-30 | 2001-02-15 | Siemens Ag | Multiprozessorsystem zum Durchführen von Speicherzugriffen auf einen gemeinsamen Speicher sowie dazugehöriges Verfahren |
DE19937176A1 (de) * | 1999-08-06 | 2001-02-15 | Siemens Ag | Multiprozessor-System |
EP1222780A1 (en) * | 1999-10-06 | 2002-07-17 | Tenor Networks, Inc. | Hierarchical output-queued packet-buffering system and method |
US6850490B1 (en) | 1999-10-06 | 2005-02-01 | Enterasys Networks, Inc. | Hierarchical output-queued packet-buffering system and method |
DE19961138C2 (de) * | 1999-12-17 | 2001-11-22 | Siemens Ag | Multiport-RAM-Speichervorrichtung |
US6560160B1 (en) * | 2000-11-13 | 2003-05-06 | Agilent Technologies, Inc. | Multi-port memory that sequences port accesses |
US6842837B1 (en) * | 2001-02-13 | 2005-01-11 | Digeo, Inc. | Method and apparatus for a burst write in a shared bus architecture |
US7571287B2 (en) * | 2003-03-13 | 2009-08-04 | Marvell World Trade Ltd. | Multiport memory architecture, devices and systems including the same, and methods of using the same |
US7707330B2 (en) * | 2003-09-18 | 2010-04-27 | Rao G R Mohan | Memories for electronic systems |
US7769942B2 (en) | 2006-07-27 | 2010-08-03 | Rambus, Inc. | Cross-threaded memory system |
WO2008014413A2 (en) * | 2006-07-27 | 2008-01-31 | Rambus Inc. | Cross-threaded memory device and system |
US8234425B1 (en) | 2007-06-27 | 2012-07-31 | Marvell International Ltd. | Arbiter module |
US7949817B1 (en) | 2007-07-31 | 2011-05-24 | Marvell International Ltd. | Adaptive bus profiler |
US8131915B1 (en) | 2008-04-11 | 2012-03-06 | Marvell Intentional Ltd. | Modifying or overwriting data stored in flash memory |
US8683085B1 (en) | 2008-05-06 | 2014-03-25 | Marvell International Ltd. | USB interface configurable for host or device mode |
WO2010093538A1 (en) | 2009-02-11 | 2010-08-19 | Rambus Inc. | Shared access memory scheme |
US8423710B1 (en) | 2009-03-23 | 2013-04-16 | Marvell International Ltd. | Sequential writes to flash memory |
US8213236B1 (en) | 2009-04-21 | 2012-07-03 | Marvell International Ltd. | Flash memory |
US8688922B1 (en) | 2010-03-11 | 2014-04-01 | Marvell International Ltd | Hardware-supported memory management |
US8756394B1 (en) | 2010-07-07 | 2014-06-17 | Marvell International Ltd. | Multi-dimension memory timing tuner |
JP5229922B2 (ja) * | 2010-11-08 | 2013-07-03 | ルネサスエレクトロニクス株式会社 | 情報処理システム |
US9343124B1 (en) * | 2011-07-29 | 2016-05-17 | Altera Corporation | Method and system for operating a multi-port memory system |
CN107562549B (zh) * | 2017-08-21 | 2019-12-03 | 西安电子科技大学 | 基于片上总线和共享内存的异构众核asip架构 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142638A (en) | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61150059A (ja) * | 1984-12-24 | 1986-07-08 | Sony Corp | デ−タ処理装置 |
US4891794A (en) * | 1988-06-20 | 1990-01-02 | Micron Technology, Inc. | Three port random access memory |
US4888741A (en) * | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
US5204841A (en) * | 1990-07-27 | 1993-04-20 | International Business Machines Corporation | Virtual multi-port RAM |
US5278967A (en) * | 1990-08-31 | 1994-01-11 | International Business Machines Corporation | System for providing gapless data transfer from page-mode dynamic random access memories |
JP2871967B2 (ja) * | 1991-08-20 | 1999-03-17 | 日本電気アイシーマイコンシステム株式会社 | デュアルポート半導体記憶装置 |
JPH05151769A (ja) * | 1991-11-28 | 1993-06-18 | Mitsubishi Electric Corp | マルチポートメモリ |
-
1993
- 1993-08-19 US US08/109,805 patent/US5440523A/en not_active Expired - Lifetime
-
1994
- 1994-08-17 AT AT94925950T patent/ATE182700T1/de not_active IP Right Cessation
- 1994-08-17 EP EP94925950A patent/EP0714534B1/en not_active Expired - Lifetime
- 1994-08-17 WO PCT/US1994/009364 patent/WO1995005635A1/en active IP Right Grant
- 1994-08-17 CA CA002168666A patent/CA2168666C/en not_active Expired - Lifetime
- 1994-08-17 AU AU76000/94A patent/AU682211B2/en not_active Expired
- 1994-08-17 KR KR1019960700802A patent/KR100303574B1/ko not_active Expired - Fee Related
- 1994-08-17 DE DE69419760T patent/DE69419760T2/de not_active Expired - Lifetime
- 1994-08-17 JP JP50719295A patent/JP3241045B2/ja not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5142638A (en) | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
Also Published As
Publication number | Publication date |
---|---|
EP0714534A1 (en) | 1996-06-05 |
CA2168666A1 (en) | 1995-02-23 |
CA2168666C (en) | 2001-06-12 |
WO1995005635A1 (en) | 1995-02-23 |
US5440523A (en) | 1995-08-08 |
JPH09502818A (ja) | 1997-03-18 |
KR100303574B1 (ko) | 2001-11-22 |
AU7600094A (en) | 1995-03-14 |
AU682211B2 (en) | 1997-09-25 |
EP0714534B1 (en) | 1999-07-28 |
ATE182700T1 (de) | 1999-08-15 |
DE69419760D1 (de) | 1999-09-02 |
DE69419760T2 (de) | 2000-03-09 |
KR960704271A (ko) | 1996-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3241045B2 (ja) | マルチポート共有メモリインタフェースおよび関連の方法 | |
JP3628706B2 (ja) | メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法 | |
US7046673B2 (en) | Method and apparatus for manipulating an ATM cell | |
US5261059A (en) | Crossbar interface for data communication network | |
JP2538720B2 (ja) | パケット/回線スイッチング装置 | |
JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
US6108335A (en) | Method and apparatus for switching, multicasting, multiplexing and demultiplexing an ATM cell | |
US6205523B1 (en) | Memory access with plural memories written with the same data | |
JPH0828742B2 (ja) | パケット順次分配機能を持つ自己ル−ティングパケット交換ネットワ−ク | |
US20050125590A1 (en) | PCI express switch | |
US4276611A (en) | Device for the control of data flows | |
US6728206B1 (en) | Crossbar switch with communication ring bus | |
EP0960501A2 (en) | Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method | |
US6683876B1 (en) | Packet switched router architecture for providing multiple simultaneous communications | |
US4714922A (en) | Interconnection networks | |
JPS63136395A (ja) | 半導体記憶装置 | |
US7046580B1 (en) | Apparatus and method for address selection | |
US20060034307A1 (en) | Method and apparatus for controlling storage of data | |
JPH10207762A (ja) | メモリおよび電子装置 | |
JPH07152683A (ja) | バッファメモリ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S631 | Written request for registration of reclamation of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313631 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081019 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091019 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101019 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111019 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121019 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131019 Year of fee payment: 12 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |