JP3899085B2 - ネットワーク装置 - Google Patents

ネットワーク装置 Download PDF

Info

Publication number
JP3899085B2
JP3899085B2 JP2004131369A JP2004131369A JP3899085B2 JP 3899085 B2 JP3899085 B2 JP 3899085B2 JP 2004131369 A JP2004131369 A JP 2004131369A JP 2004131369 A JP2004131369 A JP 2004131369A JP 3899085 B2 JP3899085 B2 JP 3899085B2
Authority
JP
Japan
Prior art keywords
memory
data
port
read
network
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
Application number
JP2004131369A
Other languages
English (en)
Other versions
JP2004320786A (ja
Inventor
アレクサンダー,ヨーフィ
Original Assignee
アプライド マイクロサーキッツ コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アプライド マイクロサーキッツ コーポレイション filed Critical アプライド マイクロサーキッツ コーポレイション
Publication of JP2004320786A publication Critical patent/JP2004320786A/ja
Application granted granted Critical
Publication of JP3899085B2 publication Critical patent/JP3899085B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1576Crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/606Hybrid ATM switches, e.g. ATM&STM, ATM&Frame Relay or ATM&IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

この発明は一般にメモリインタフェースシステムを利用するネットワーク装置に関し、より特定的には、マルチプロセッサシステムおよび通信における交換のような適用例のための、複数の装置による共有メモリへのアクセスを与えおよび調停するための方法および装置に関する。
共有メモリは、複数のプロセス間でのデータ伝送を容易にするために用いられる。通常の共有メモリ実現例は、複数のポートの使用を伴う。各ポートが異なる外部装置に共有メモリアクセスを与えてもよい。異なる装置は、データを送る、異なるプロセスの制御または実行に関連してもよい。
他のポートによる共有メモリアクセスによって大きく影響されない、共有メモリへのアクセスを、各ポートに与えるために、共有メモリへの経路は通常は個々のポートの帯域幅の総和に近い帯域幅で設計される。これにより、たとえ複数のポートが共有メモリへのアクセスを求めても、共有メモリにアクセスすることにおいていずれのポートも大きな遅延を被らないほど経路のデータ伝搬能力が十分大きいことが保証される。一般に、これは2つの方法のうちの1つ、またはそれらの何らかの組合せで達成される。第1に、共有メモリアクセス時間は、個々のポートに対するデータ転送時間よりもはるかに高速であるよう設計すればよい。第2に、共有メモリへの経路幅が、個々のポートの経路幅よりもはるかに大きいように設計されてもよい。
第1のアプローチは、各ポートに、データが共有メモリから読出されまたはそこに書込まれ得るタイムスロットを割当てることである。各ポートに対し、割当てられるタイムスロットは、ポートを通してデータを転送するのに必要な実際の時間よりも短い。したがって、データはその転送中にポートと共有メモリとの間で一時的にバッファされる。普通は、ポートのタイムスロットの長さは、共有メモリへのアクセスを共有する装置の数に反比例する。特定のポートを用いる装置は、そのポートに対して割当てられたタイムスロットの間のみメモリへのアクセスを得ることができる。データは、タイムスロットとタイムスロットとの間ではバッファされる。このアプローチには欠点があった。たとえば、このアプローチは、メモリアクセス時間がポートのデータ転送時間よりもかなり短いことを必要とする。しかしながら、ポートと共有メモリとに対するデータ転送速度間においてそのような不一致を有することは非実用的であることがしばしばある。
第2のアプローチも、各ポートにタイムスロットを割当てることを伴う。たとえば、共有メモリへの書込みは、それぞれのポートで受信された複数のデータワードを一時的にバッファし、次いで、それらを、そのポートに対して指定されるタイムスロットの間に、すべて1つのメモリアクセスサイクルで、幅の広いメモリ経路上でメモリに与えることを伴う。逆に、共有メモリからの読出しは、複数のワードを、それぞれのポートに対して指定されるタイムスロットの間に、すべて1つのメモリアクセスサイクルで、幅の広い経路上で与えることと、メモリから読出されたワードを一時的にバッファすることと、次いでそのワードをポートを通して転送することとを伴う。この第2のアプローチは、データワードがそれぞれのポートを通してマルチワードバーストで通信されるバーストモードシステムに特によく適合する。バースト全体が、メモリアクセスバッファに一時的に記憶され、次いで1つのメモリアクセスサイクル中に共有メモリへのそのような広帯域幅経路を通して書込みまたは読出しされるだろう。適当に大きい帯域幅を有する経路を設けることによって、各ポートは、他のポートを通るデータ転送によって妨害されない、共有メモリへの
排他的アクセスを有するように見えるようにされるだろう。
図1の例示的ブロック図は、ワード幅mを各々が有するk個のポートが共通のメモリを等しく共有するマルチポートメモリシステムのこれまでの実現例を示す。各バーストはk個のワードを含む。k個のメモリアクセスバッファはk個のmビットワードを各々有し得る。各バッファはk×mライン幅の経路によって共有メモリに接続される。共有メモリはk×mビット幅である。
図2の例示的な図は、図1のそれのような通常のマルチポートメモリシステムにおいて用いられるデータフォーマットを示す。共有メモリへのデータの転送中、mビットワードからなるkワードのバーストがポートを通過する。このバースト全体は1つのメモリアクセスバッファに短時間記憶される。次いで、所定のタイムスロット中に、バーストのk個のワードすべては、バッファから同時に転送され、k×m経路上で共有メモリに書込まれる。共有メモリからのデータの転送中は、k個のワードが別の所定のタイムスロット中に共有メモリから読出されて1つのメモリアクセスバッファに転送される。次いで、バッファされたデータは、そのバッファに関連するポートを通って転送される。
最初にバーストを入力したポートは、バーストを出力するポートと異なってもよい。バーストが入力ポートから出力ポートに送られ得るよう、共有メモリはバーストを一時的に記憶する。したがって、図1のシステムはポート間でデータを送るのに用いられ得る。
より特定的には、たとえば、メモリ書込み動作において、それぞれのポートを通して受信されたk個のmビットワードは、そのポートに割当てられたメモリアクセスバッファによってバッファされる。続いて、そのメモリアクセスバッファに対して予約されたタイムスロット中に、割当てられたバッファに記憶されたk個のmビットワードのすべては、共有されるk×mビット幅経路上で共有メモリに同時に書込まれる。同様の態様で、他のバッファの各々は、それら自身の関連するポートのためにmビットワードを記憶し得る。各個々のバッファの内容全体(k個のワードすべて)は、そのバッファに対して予約された個々のタイムスロット中に、共有メモリに書込まれ得る。メモリ読出動作は、書込み動作のステップが逆になることを除き、同様である。
複数のポートで共有されるメモリとポートとの間でデータを転送するための構成が、下記の特許文献において開示されている。
国際公開第95/05635号パンフレット 特開平1−256246号公報 特願平7−102839号(特開平7−321824号公報)
この従来の実現例の不利な点は、大型マルチポートシステムにおいてバッファとバスとの間に多数の相互接続ピンが必要となることである。図3は、別の従来のマルチポート共有メモリシステムを示すブロック図である。使用されるデータフォーマットは、1ワードに付き72ビット(64ビットデータに8ビットパリティを加えたもの)の16ワードのバーストを伴う。共有メモリバスは1152線幅を有する(16ワード×72ビット/ワード)。バスは16のメモリアクセスバッファの各々に接続される。各バッファは、バスに接続される1152本、およびポートに接続される72本を含む、1224よりも多いデータピンを必要とするだろう。残念なことに、バスに接続される1152のデータピンは、16のバッファすべてと共有メモリとに接続されるバス上で動作する高い駆動能力を各々必要とするだろう。図3は、バッファピンによって克服されなければならない例示的バス容量を示す。
したがって、共有メモリへの複数ポートアクセスを与えるための改善されたアーキテクチャが要求されている。このアーキテクチャは、メモリアクセスバッファのために必要なピンがより少なくあるべきであり、かつバッファピンのための高い駆動能力を必要とするべきではない。この発明はこれらの要求を満たすものである。
この発明の1つの局面では、各々がデータをネットワークと送受信するための複数のネットワーク回路と、データがネットワークに送信される前にネットワーク回路により受取られるデータを一時的に記憶するための共有メモリとを含み、この共有メモリはこれらの複数のネットワーク回路が各々アクセス可能である複数のメモリバンクを含み、動作時、あるネットワーク回路に対し、ネットワークに送信されるべきデータを読出すようにあるメモリバンクへの読出アクセスが与えられると、別のネットワーク回路に対してネットワークから受信されるデータを書き込むように別のメモリバンクに対して書込アクセスが与えられる、ネットワーク装置が提供される。
この発明は、マルチポート共有メモリシステムを実現するための新規な方法および装置を含む。以下の説明は、当業者であればこの発明を実施できるように述べられる。特定の適用例の説明は、例としてのみ与えられる。好ましい実施例に対するさまざまな変更は当業者には容易に明らかとなり、ここに定義される一般原理はこの発明の精神および範囲から逸脱することなく他の実施例および適用例に適用されてもよい。したがって、この発明は、示される実施例に限定されることは意図されず、ここに開示される原理および特徴と整合性のある最も広い範囲と一致される。
ここで図4を参照すると、この発明に従う第1のマルチポート共有メモリシステム18のブロック図が示される。第1のシステム18は、nワードバーストでmビットデータワードを各々が入力/出力するk個のポート20の組と、相互接続マトリックス回路22と、m個のメモリアクセスバッファ24の組と、共有メモリ26とを含む。ポートは、デジタル情報がデータバスのような外部回路へまたは外部から転送され得る2方向デジタルパスとして働く。ポート構造は、当業者には周知であり、ここに記載される必要はない。共有メモリ26内の、破線で示される特定領域は、バッファ24に一時的に記憶されるデータのサブセットのために予約される。
メモリ書込み動作中において、ポート20は、それに接続される個々の外部装置(図示せず)からの二進データを転送する。これらのポート20は受信した二進データを相互接続マトリックス22に与え、相互接続マトリックス22はポートを介して転送されたデータをメモリアクセスバッファ24間に分配する。この実施例において、この分配は、各メモリアクセスバッファ24がポートの各々によって転送されるデータのサブセットを受取るようにして達成される。この実施例では、各バッファ24は、個々のポートからそのバッファによって受取られたデータのすべてをメモリ26に並列で転送し得る。さらに、そのような個々のポートから受取られるデータの並列転送のすべては、1つのメモリアクセスサイクル中に起こり得る。
メモリ読出し動作は、書込み動作のステップと同様であるが、逆向きである。つまり、n個のmビットワードのためのビットは、共有メモリから転送されてメモリアクセスバッファ24間に分配される。相互接続マトリックス22は次いでその分配されたビットを1つのポート20に与え、それを通して、n個のmビットワードを含むバーストが外部装置(図示せず)に転送される。
次に図5を参照すると、第1のシステム18において現在用いられる相互接続マトリックス回路22とデータフォーマットとデータフローとの詳細を示す図が示される。各メモリアクセスバッファ24は、どのポートであれそれを通して転送されるすべてのデータワードに対して、特定のビット位置を記憶するための専用となっている。データワードは、データおよびパリティ情報を含んでもよい。現在の好ましい実施例において、メモリアクセスバッファの総数はワードごとのビットの総数(m)に等しく、したがって、各バッファに、すべてのワードにおける1つのビット位置を担わせることができる。たとえば、メモリアクセスバッファ24−1はポート20−1ないし20−kのいずれかを通して転送される各ワードのビット1(B1)を記憶し、メモリアクセスバッファ24−2はポート20−1ないし20−kのいずれかを通して転送される各ワードのビット2(B2)を記憶する、というようになる。
図4を再び参照すると、各メモリアクセスバッファ24−1〜24−mは、nビットデータ線28−1〜28−kの組によって共有メモリ26に接続される。したがって、異なる序列のビットのm個のサブセット(各サブセットはn個のビットを伴う)が、メモリ26とバッファ24との間で同時に転送され得る。この実施例においては、m個のサブセットの各々に対してnビットあり、つまり、nワードのバーストにおけるn個のワードの各々に対して1つのビットがある。特定的には、バーストごとにnワードありかつワードごとにmビットある場合、バーストごとに序列B1のnビットがあり、バーストごとに序列B2のnビットがあり、…、バーストごとに序列Bmのnビットがある。所定の序列のnビットのすべては、その序列のビットを記憶するために割当てられたバッファに接続されたnビット線上でメモリ26に同時に与えられ得る。たとえば、B1のnビットのすべては、バッファ24−1に接続されるnビット線上に与えられる。これは、m個のバッファがメモリのアドレスされた位置へまたはその位置から一度にnワードを転送し得ることを意味する。以下に説明されるように、これらの転送されるワードのすべては、同じ外部装置で生じ、またはそれを目標とされたものであろう。
各ポート20は、相互接続マトリックス22と外部回路(図示せず)との間でデータを所定のフォーマットで転送する。この書類では、「ポートバースト」とは、外部回路へまたはそこからの両方向において1つのポートを介して転送されるデータバーストを意味する。図5に示される現在の実施例においては、mビットのデータワードは、バッファ24への転送のためにポートによって相互接続マトリックス22へ与えられるであろう。逆に、mビットのデータワードは、外部装置への転送のために相互接続マトリックス22によってそのようなポートへ与えられるであろう。データワードフォーマットは、ビットB1〜Bmが所定の順序で与えられるデータワードを各々に対して含む。相互接続マトリックスはそれらのビットを上述のように分配する。
相互接続マトリックス回路22は、たとえば、プリント回路基板(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のタイミング図を参照して説明される。
図7を参照して、デュアルnビットレジスタ対34のひとつが示される。この発明の現在の実施例において、各メモリアクセスバッファ24は図7に示されるようなk個のデュアルレジスタ対を含み、バッファ24ごとに合計して2k個のレジスタがある。各バッファ内の各レジスタ対はポートの1つに関連付けされる。各レジスタ対は、そのレジスタ対に関連付けされたポートへまたはポートから転送されるすべてのデータワード内の所定の位置(序列)にあるすべてのビットを記憶するための専用となっている。つまり、それぞれのバッファの各それぞれのデュアルレジスタ対は、それぞれのポートを介して転送される各データワードからの同じ序列のビットのすべてを記憶し転送する。
たとえば、図5を参照すると、バッファ24−1内において、デュアルレジスタ対Ri1は、ポートPi (図示せず)を介して転送される各データワードの(序列が)第1のビットB1を受取って記憶する。バッファ24−2内において、デュアルレジスタ対Ri2は、ポートPi を介して転送される各ワードの(序列が)第2のビットB2を受取って記憶する。バッファ24−m内において、デュアルレジスタ対Rimは、ポートPi を介して転送される各ワードの(序列が)第mのビットBm を受取って記憶する。したがって、たとえば、ポートPi を介して転送されるすべてのB1は、そのポートを介して転送されるデータのサブセットを表わす。同様に、たとえば、すべてのB2は別のサブセットを表わし、すべてのBm も同様である。
図7を参照して、代表的な1つのメモリアクセスバッファのシフトイン/シフトアウトレジスタ対の詳細を示す。デュアルレジスタ対34は、シフトインレジスタ36とシフトアウトレジスタ38とを含む。シフトインレジスタ36は、まずデータのnビットを記憶し、次いでそれが共有メモリ26に書込まれるようそれをメモリバス32上に並列でアサートする。シフトアウトレジスタは、共有メモリ26から読み「出された」nビットのデータをメモリバス32から並列で読出して記憶する。
シフトインレジスタ36に記憶されるデータは相互接続マトリックス22からシフトインレジスタ36へシリアルにシフトされ、そこからそれはバス32上に並列でアサートされて上述のようにメモリ26に書込まれる。逆に、シフトアウトレジスタ38に記憶されるデータはそれがメモリ26から読出された後バス32からシフトアウトレジスタへ並列で読出され、そこからそれはシフトアウトレジスタから相互接続マトリックス22へシリアルにシフトされる。出力イネーブルバッファ40は、シフトアウトレジスタ38から相互接続マトリックス22へのデータの直列転送を制御する。
図8を参照すると、図4〜図6のメモリアクセスバッファ24−1〜24−mのためのタイミング図が示される。図8のタイミング図は、各ポートが32ワードのバーストサイズ(n=32)を有する32ポートシステム(k=32)のためのタイミングを示す。したがって、n=kである。現在の実施例において、メモリアクセスは、32のメモリ読出しサイクルと、それに続く32のメモリ書込みサイクルとの間を交互する。
メモリ書込みのタイミングにまず注目すると、メモリデータ書込み期間(クロックティック33〜64)の間に、異なる32ワードのデータのバーストが、各ポート20に対して、共通のメモリ26に書込まれ得る。各ポートは、そのポートを介して転送されるデータがメモリ26に書込まれ得るクロックサイクルを有する。連続するポートのデータは、連続クロックサイクルで書込まれ、それらはそれぞれのポートに対するそれぞれの書込み
「タイムスロット」である。各ポートに割当てられる書込みタイムスロットに対して準備するために、各ポートはそのタイムスロットの32クロックサイクル前にデータをメモリアクセスバッファに転送し始め得るので、ポートのタイムスロットの到着前に、ポートによって受信されたバーストの32ワードのすべてを、ポートに割当てられたm個のバッファレジスタ(各々、異なるメモリアクセスバッファにある)に転送するのに十分な時間がある。したがって、メモリデータタイミング線上の「w1.C」に先行する32クロックサイクルの間には、ポート20−1から相互接続マトリックス22を介してメモリアクセスバッファ24−1へ、ポート20−1データ線上に「w1.1」、「w1.2」…「w1.32」として示される32直列ビット転送がある。各ポートは異なるタイムスロットを有するので、各ポートのバーストが、そのポートのタイムスロットのすぐ前に共有メモリへの転送準備ができるように、ポートからの転送は適当にずらされる。より特定的には、たとえば、図8に示される各ポート20−1のデータ書込みサイクル中に、ポート20−1を介して転送される第1のワードにあるすべてのビットは、相互接続マトリックス22によって、メモリアクセスバッファ24の割当てられたデュアルポートレジスタ対間に分配される。たとえば、1バーストに付き32ワード(n=32)ありかつ1ワードに付きmビットあるとすると、第1のポート20−1のデータ書込みサイクル(w1.1)の間、ポート20−1を介して転送されるワード1(W1)のビット1(B1)はバッファ24−1にある所定のレジスタ対にシリアルに書込まれ、W1のB2はバッファ24−2にある所定のレジスタ対にシリアルに書込まれ、W1のB3はバッファ24−3にあるレジスタ対にシリアルに書込まれる、というようになる。W1のBmはバッファ24−mのレジスタ対にシリアルに書込まれる。
同様に、たとえば、第32のポート20−1のデータ書込みサイクル(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(図示せず)にあるレジスタ対にシリアルに書込まれる。
したがって、ポート20−1に対する32のデータ書込みサイクル(w1.1〜w1.32)の間、データはそれぞれのメモリアクセスバッファ24−1〜24−mにある指定されたシフトインレジスタにシリアルにシフトされる。メモリデータサイクルw1.Cの間、事前の32の直列シフトインサイクル(w1.1〜w1.32)の間にポート20−1からバッファ24−1〜24−mのシフトインレジスタにシリアルにシフトされたすべてのデータは、共有メモリ26に書込まれ得るようバス32上に並列にアサートされる。
同様に、メモリ読出し期間(クロックティック1〜32)の間、32ワードのデータが、各ポートに対して、共有メモリから読出され得る。たとえば、r1.Cでの1つのクロックメモリアクセスサイクルの間に、32ワードが、ポート20−1を介する外部装置への後の転送のために、メモリ26から読出され得る。したがって、r1.Cはポート20−1に対する読出し「タイムスロット」である。同様に、たとえば、r31.Cはポート20−31に対する読出しタイムスロットを表わす。
特定的には、たとえば、タイムスロットr1.Cで、バッファ24−1内にあるシフトアウトレジスタは、メモリ26から並列に読出される32ワードのすべてのB1を並列に受取る。同様に、たとえば、タイムスロットr1.Cで、バッファ24−18(図示せず)内にあるシフトアウトレジスタは、メモリ26から並列に読出される32ワードのすべてのB18を並列に受取る。
ポート20−1の32のデータ読出しサイクル(r1.1〜r1.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に書込まれるとき、相互接続マトリックスは、各バッファが各ワードのうちの記憶されるべきサブセットだけを記憶するよう、データワードビットをバッファ24−1〜24−m間に分配する。好ましい実施例では、各バッファは所定の序列のビットのみを記憶する。したがって、各バッファは、バス32に、メモリに同時に転送されるべきすべてのデータのサブセットを与えるだけでよい。
逆に、メモリから読出されるデータが所定のポートに出力されるときは、複数のバッファ間に分配されたビットが一連の完全なワード(すなわちバースト)として出力されるよう、相互接続マトリックスはそれらを再結合する。あるポートを介して転送されるべきデータ全体は、メモリから並列に出力されてバッファに入力される。しかしながら、各バッファはその全体データのサブセットを受取るにすぎない。相互接続マトリックス22はサブセットをデータのバーストに再結合する。
したがって、m個のそれぞれのバッファの各々は1つのnビットサブセットを1度にその並列バス32へ同時に接続する。図4に示されるように、任意の所与の時間において、m個のバッファと共有メモリ26との間にはm×nの接続しかない。したがって、各バッファは共有メモリと相互接続するのに端子の数がより少なくてすみ、その数の少ない接続端子のため容量負荷がより少ない。
図9の例示的タイミング図は、図7のデュアルレジスタ対の動作を示す。P.WRITEパルスの間、(rX.c)メモリデータサイクル中に共有メモリ26から読出されたデータはシフトアウトレジスタ38に並列に書込まれる。各SHIFT−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に書込まれ得る。
この実施例では、共有メモリ26は、(n×m)のメモリ幅を有する標準的ランダムアクセスメモリ(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)と等しく設定し、それによって、ボトルネックやアイドル時間なしにデータを転送するための円滑なサイクルプロセスを提供するようにするのが効率的である。しかしながら、ポート数とバーストごとのワード数との関係は、この発明から逸脱することなく変更可能である。
図10は、この発明に従う32ポート非同期転送モード(ATM)交換機のブロック図である。ATMは、セルと呼ばれる固定サイズのパケットを用いる情報転送のためのペイロード多重化技術である。現在の実現例では、ATMセルは、53バイト長であり、経路情報を伝搬する5バイトのヘッダに48バイトの情報フィールド(ペイロード)が続くものからなる。交換機に入る各ATMセルのペイロードは、共有メモリ内の特定の位置に置かれる。ATMセルのペイロードは48バイト幅(1バイトに付き8ビット)であるので、共有メモリは384ビット幅(48×8=384)にされる。この実現例は、メモリアクセスバッファからメモリへの32ビットのバスを有し、各ポートワードが12ビット幅であり、かつ32ワードのポートバーストを用いるように選択された。384は(12×32)にも等しく、つまり、セルは12ビットワードからなる32ワードのバーストで転送されることに注目されたい。
ATM交換機は、ポート上の各受信されたセルを、各そのようなセルに含まれる経路情報に従って、宛先ポートへ送る。より特定的には、セルはポートから転送されて共有メモリに記憶される。次いで、それは、共有メモリから取出されて、セル内に示された宛先ポートへ転送される。この態様で、データをポート間で交換できる。制御メモリおよび交換制御装置の動作は、当業者によって理解され、この発明のいかなる部分も形成しないだろうから、ここに記載される必要はない。
図11の例示的な図は、この発明の現在好ましい実施例に従うメモリインタフェースユニット(MIU)100を含むスイッチシステム98のブロック図を示す。このMIU100は構成可能スイッチ104とデータ転送バッファ106とを含む。バスインタフェースレジスタ102は、バーストモードバス108へおよびバーストモードバス108からデジタル情報を転送するよう結合される。データ転送バッファ106は、デジタルメモリ(図示せず)と構成可能スイッチ104との間で移動中のデータを一時的に記憶するよう結合される。デジタルデータはi/oドライバ100を介してメモリへおよびメモリから転送される。アドレスレジスタ112はバス108からデジタルアドレス情報を受取る。レジスタ112によって受取られたアドレス情報は別のi/oドライバ114を介してデジタルメモリに与えられる。制御ユニット116はMIU100およびメモリの動作を制御する。
この発明の現在の実施例の構成可能スイッチ104は、バスインタフェースレジスタ102と、転送バッファ106またはポートp0、p1もしくはp2のマスタ(mn )相互接続との間においてバーストサブセットを転送するよう選択的に構成可能である。スイッチ104は、さらに、転送バッファ106と、バスインタフェースレジスタ102またはポートp0、p1もしくはp2のスレーブ相互接続(sn )との間においてバーストサブセットを転送するよう構成可能である。この発明の現在の好ましい実施例では、スイッチ104は3つの異なる構成、つまりスタンドアローン、2MIUおよび4MIUのいずれ
にも置かれ得る。スタンドアローン構成では、データは直接スイッチ104を介して線b0〜b3から線c0〜c3へ送られる。2MIU例における接続は図19において示される。4MIU例における接続は図26に示される。
この発明のスイッチシステムは、したがって、異なるバーストモードバスに各々が接続されるような異なるポート間でのメモリの共有を可能にする。たとえば、PCI、SBUSまたはGIO等のバーストモードバスは、そのバス上に与えられるデータに伴うアドレスを与えることを可能にする。さらに、個々のMIUは、異なるバーストモードバスに接続される装置による共有メモリへのアクセスを調整するため、ともに「チェーンされ」るかまたは「スタックされ」得る。
図12は、図11のスイッチシステム98のデータ線および制御線をより詳細に示す例示的ブロック図である。システム98はバスへおよびバスから信号を転送する。現在の実施例では、バスはPCIバスである。しかしながら、MIUは、SBUS、GIOなど、他のタイプのバーストモードバスとも通信し得る。データ、アドレスおよび読出/書込制御信号は、スイッチシステム98に接続されるデジタルメモリに与えられ得る。システム98は、たとえば、他のスイッチシステム(図示せず)に信号を転送するために使用され得る3つのポートp0、p1およびp2を含む。各ポートは8つのマスタデータ線および1つのマスタ要求線を含む。さらに、各ポートは、8つのスレーブデータ線と1つのスレーブ要求線とを含む。データは、図11に示される転送バッファ106へおよび転送バッファ106から転送される。アドレスはアドレスレジスタ112によって与えられる。R/W信号はコントローラ116によって発生される。ポート相互接続は構成可能スイッチ104へのアクセスを与える。
再び図11を参照して、この新規なスイッチシステム98の動作を、まずメモリ書込動作を詳細に説明し、次にメモリ読出動作を詳細に説明することによって説明する。書込中、デジタル情報のバーストがバス108からバスインタフェースレジスタ102へ転送される。現在の実施例では、バス108は32ビット幅であり、バーストは4つの32ビット幅データワードが後に続く32ビット幅アドレスワードを含んでもよい。バーストは、b0、b1、b2およびb3と表示した複数ビット線を介して、構成可能スイッチ104に転送される。スイッチ104は、そのバーストのうちのあるサブセットを、c0、c1、c2およびc3と符号づけられる複数ビット線の1つ以上を介して、データ転送バッファ106へ直接転送するよう構成され得る。さらに、スイッチ104は、ポート0、ポート1およびポート2を介してそれぞれアクセス可能なm0、m1およびm2と表示したマスタ相互接続の1つ以上を介して、他のメモリ(図示せず)に関連づけられる1つ以上の他のスイッチシステム(図示せず)へ、そのバーストの残りのサブセットを与えるよう構成され得る。マスタ相互接続を介して他のスイッチシステムに与えられたサブセットは、それら他のシステムに関連づけられるデジタルメモリに記憶される。他のメモリに転送されるサブセットの記憶については、例示的な2MIUおよび4MIUシステムに関連して後に論ずることにする。転送バッファ106は、それに転送されたサブセットを記憶し、次いでそれらを、d0、d1、d2およびd3と表示した複数ビット線の1つ以上を介して、スイッチシステム98に関連づけられるデジタルメモリにおける記憶のためにそれらを与えるi/oドライバ100に与える。バーストに関連してバス108から受取られるデジタルアドレス信号は、サブセットが記憶されることになるメモリ位置を指定するのに用いられる。現在の実施例では、同じメモリアドレスが、スイッチシステム98に関連づけられるメモリと、他のスイッチシステムに関連づけられる他のメモリとの両方に対して用いられる。したがって、異なる、バーストのサブセットが、異なるメモリにおける同じアドレスに記憶されるかもしれない。
メモリ読出動作のはじめにおいて、バーストのサブセットは、いくつかの異なるスイッ
チシステム(図11には図示せず)を介してアクセス可能ないくつかの別個のデジタルメモリ(図11には図示せず)間に分配されるかもしれない。図11を参照して、読出動作中、アドレス信号はバスのうえに置かれる。このアドレスは、アドレスレジスタ112を介して受取られ、これら別個のメモリの各々へ与えられる。図11は、これらのメモリの1つへのアクセスを与える単一のスイッチシステム98のみを示していることを理解すべきである。下で説明されるように、他のメモリへのアクセスを与えるよう接続される他の同様のスイッチシステムが存在してもよい。アドレス信号は、別個のバーストサブセットを、それらが記憶される別個のメモリから検索するのに用いられる。スイッチシステム98を介してアクセスされるメモリに記憶されるバーストサブセットは、そのメモリによってi/oドライバ110に与えられ、それはそのようなサブセットを複数ビット線d0、d1、d2およびd3の1つ以上を介して一時的な記憶のために転送バッファ106に転送する。バッファ106は、次いで、それらのサブセットを複数ビット線c0、c1、c2およびc3の1つ以上を介して構成可能スイッチ104へ与える。構成可能スイッチ104は、それらを、バスインタフェースレジスタ102に接続される複数ビット線b0、b1、b2およびb3の1つ以上に直接与えるよう構成され得る。スイッチシステム98を介してアクセスされるメモリに記憶されないサブセットは、ポート1、ポート2またはポート3のそれぞれs0、s1およびs2と表示した複数ビットスレーブ相互接続の1つ以上を介してスイッチシステム98に転送される。より特定的には、他のメモリに記憶されるそれらサブセットは、まずそれらメモリから検索され、次いでスイッチシステム98のスレーブ相互接続の1つ以上に転送される。これら他のメモリからのサブセットの検索については、例示的な2MIUおよび4MIUシステムに関連して後に論ずることにする。構成可能スイッチ104は、そのスレーブ相互接続上にて複数ビットb0、b1、b2およびb3の1つ以上へ与えられるサブセットをレジスタ102に転送するよう構成され得る。
図13は、この発明の現在の実施例に従うスイッチ104の1つの考えられる得る構成を示す図11のバスインタフェースレジスタ102と構成可能スイッチ104と転送バッファ106との単純化されたブロック図である。スイッチ104(破線内に示される)は、バーストサブセットをバッファ106とレジスタ102との間において「直接」相互接続経路105を介して転送するよう構成される。マスタ相互接続m0、m1およびm2は、レジスタ102への、およびレジスタ102からのバーストサブセットの転送のための経路を与える。スレーブ相互接続s0、s1およびs2は、転送バッファ106への、および転送バッファ106からのバーストサブセットの転送のための経路を与える。
さらに図13を参照して、メモリ書込動作中、たとえば、バーストはバスインタフェースレジスタ102によって受取られる。第1のバーストサブセットは直接経路105を介してバッファ106に転送される。第2のバーストサブセットは、マスタ経路m0を介してレジスタ102から遠ざかるように転送される。第3のバーストサブセットは、マスタ経路m1を介してレジスタから遠ざかるように転送される。第4のバーストサブセットは、マスタ経路m2を介してレジスタから遠ざかるように転送される。このように、第1のバーストサブセットはバッファ106に接続されるメモリ(図示せず)に記憶され得、第2、第3および第4のバーストサブセットは他の場所、経路m0、m1およびm2を介してアクセスされるメモリに記憶され得る。
逆に、メモリ読出動作中、たとえば、第1のバーストサブセットはまずバッファ106に接続されるメモリ(図示せず)に記憶され、第2、第3および第4のバーストサブセットは他の場所で異なるデジタルメモリ(図示せず)に記憶される。第1のサブセットがバッファ106に接続されるメモリから検索されると、転送バッファ106はその第1のサブセットを一時的に記憶し得る。次いで、バッファはその第1のサブセットをレジスタに直接経路105を介して転送する。第2のバーストサブセットはスレーブ経路s0を介し
て受取られる。第3のバーストサブセットはスレーブ経路s1を介して受取られる。第4のサブセットはスレーブ経路s2を介して受取られる。このようにして、異なるメモリ間に分散されたバーストサブセットは、バスへの伝送のためレジスタ102に集められる。
図13の構成はスイッチ104の考えられ得る1つの構成のみを表わしていることに注意されたい。たとえば、このスイッチは、代わりに、バスインタフェース論理116とバッファ106との間に複数の直接経路を与えるよう構成されるかもしれない。2MIUシステム120および4MIUシステム106に関連する下の議論は、いくつかの例示的な代替スイッチ構成を説明するものである。
図14Aを参照して、スイッチ14の信号線の多くを示す現在の好ましい実施例の構成可能スイッチ104のブロック図が示される。このスイッチは、当業者には容易に理解されるであろう態様で、マルチプレクサとして実現される。例示の形として、図14Bは、下に記載される2MIU実現例による「読出」動作中にc0出力の発生を担う内部論理を示すゲートレベル論理図である。図14Cは、下に記載される2MIU実現例による「書込」動作中におけるb0出力の発生を担う内部論理を示すゲートレベル論理図である。2MIU実現例では、P0入力は、たとえば、右側MIUを指定し、P1は左側MIUを指定してもよい。
以下の等式は、2MIU実現例に対する書込中における構成可能スイッチ(マルチプレクサ)104の完全な機能性を表現する。
Figure 0003899085
以下の等式は、2MIU実現例に対する読出中における構成可能スイッチ(マルチプレクサ)104の完全な機能性を表現する。
Figure 0003899085
下に記載される4MIU実現例には、4つの異なるMIUを区別するのに用いられてもよい4つの異なる論理値P0、P1、P2およびP3があることが理解されるだろう。しかしながら、4つのMIU間で信号を切換えるのに用いられる基本的な多重化技術および論理回路は当業者には周知であり、ここでさらに説明する必要もない。図15の例示的な図は図11の転送バッファ106のさらなる詳細を示す。現在の好ましい実施例では、バッファ106は4つのメモリアクセスバッファ106−1、106−2、106−3および106−4を含む。これらメモリアクセスバッファはそれぞれのP_READ、P_W
RITE、OE(0−3)およびW(0−3)制御信号を受取る。構成可能スイッチ104は、バイト幅入力/出力線c0、c1、c2およびc3を介してアクセス可能なメモリアクセスバッファにアクセスする。現在の実施例では、各直列線は1バイト幅である。しかしながら、バーストサブセットの、異なるサイズの複数ビットフラグメントが可能である。メモリ(図示せず)は、線d0、d1、d2およびd3を介して32ビットメモリバス224上でメモリアクセスバッファを通してアクセスされる。
メモリバス224は、個々のメモリアクセスバッファと、バッファ106に接続されるデジタルメモリ(図示せず)との間でデジタル情報を転送する。メモリ書込中、たとえば、バーストサブセットは(1度にすべてが)メモリアクセスバッファ106−1からメモリへバス224を介して並列転送されるかもしれない。メモリ読出中、たとえば、バーストサブセットは(1度にすべてが)メモリからメモリアクセスバッファ106−1へバス224を介して並列転送されるかもしれない。
図16の例示的な図を参照して、この発明の現在の実施例に従う例示的なメモリアクセスバッファ106−2の詳細を示す。シフトインレジスタ226は、バーストサブセットの全体が累積されるまで、線c1上の一連のバイト幅バーストサブセットフラグメントを受取る。このシフトインレジスタはその完全なバーストサブセットを一時的に記憶し得る。サブセット全体は次いで並列に(すべてのバイト幅フラグメントが1度に)メモリバス224へアサートして、そのサブセットがデジタルメモリに並列に書込まれ得るようにする。
シフトアウトレジスタ228はメモリ読出中に用いられる。メモリから読出されたバーストサブセット全体はシフトアウトレジスタ228に並列にメモリバス224を介して与えられる。このシフトアウトレジスタはバーストサブセットの全体を一時的に記憶し得る。次いで、このレジスタは、そのバーストサブセット全体が構成可能スイッチ104に送られてしまうまで、線c1上において一連のバイト幅のバーストサブセットのフラグメントを与え得る。出力バッファ230は、シフトアウトレジスタから線c1へサブセットのフラグメントを与えることを制御する。
この発明の現在の実現例では、各個々のスイッチシステムは、関連の転送バッファの動作を制御する制御信号を発行する制御ユニットを含むことが理解されるべきである。たとえば2MIU構成または4MIU構成におけるように、ともに接続される複数のスイッチシステムがある場合、この異なるスイッチシステムのコントローラ間での調整を行なってメモリの共有を達成することが必要である。この調整は、たとえば、共有メモリに対する複数のスイッチシステムのアクセスを調整するよう用いられるアルゴリズムを各コントローラに実行させることによって達成され得る。いくつかの周知のアルゴリズムが用いられ得る。たとえば、異なるスイッチシステムによるメモリアクセスに対する要求は、スイッチ間での固定された優先順位に従うかまたはラウンド・ロビン方式に従って取扱われ得る。
図17は、この発明の現在の実施例に従う2MIUシステム120の例示的ブロック図である。簡略にするため、制御論理およびバスインタフェース論理等の詳細は図示されない。2つのMIU112および124は図示されるように相互接続される。つまり、MIUスイッチ123およびMIUスイッチ125のm0およびs0相互接続がそれらのそれぞれのポートp0を介して互いに接続されるように、MIUスイッチ123および125は構成される。同様に、MIUスイッチ123およびMIUスイッチ125のm2およびs2相互接続はそれらのそれぞれのポートp2を介して互いに接続される。さらに、スイッチ123は、バスインタフェース論理126とバッファ130との間において直接相互接続141および142を与えるよう構成される。さらに、スイッチ125は、バスイン
タフェース論理128とバッファ132との間において直接相互接続143および144を与えるよう構成される。バッファ130はデジタルメモリ134へ、およびデジタルメモリ134からバーストサブセットを転送するよう接続される。バッファ132は、デジタルメモリ136へ、およびデジタルメモリ136からバーストサブセットを転送するよう接続される。
図18は、ともになって2MIUシステム120を収容する、2つの積み重ねられた箱156および158の単純化された側面図である。箱156は、MIU122と、メモリ134と、バスインタフェース論理126とを収容する。箱158は、MIU124とメモリ136とバスインタフェース論理128とを収容する。各箱156および158は3つのポートp0、p1およびp3を有する。さらに、各箱は、各箱が付近の箱とアドレス情報を共有し得る共有アドレスバスを有する。ポートp0およびポートp2ならびに共有アドレスバスは図示されるように接続される。
図19は、図17の2MIUシステムの2つのMIU122および124間の相互接続を表わすマトリックスである。線の交差部の「0」はMIUスイッチ123内の相互接続を示す。線の交差部の「1」はMIUスイッチ125内の相互接続を示す。左上の四半分はスレーブ線s0、s1およびs2とバスインタフェース論理線b0、b1、b2およびb3との間の接続を表現する。右下の四半分は、マスタ線m0、m1およびm2とMIUバッファ線c0、c1、c2およびc3との間の接続を表現する。左下の四半分は、インタフェース論理線b0、b1、b2およびb3とMIUバッファ線c0、c1、c2およびc3との間の接続を表わす。MIUスイッチ123の相互接続は以下のとおりであり:b0はc0に直接接続され;b1はm0に接続され;b2はc2に直接接続され;b3はm2に接続され;c1はs0に接続され;c3はs2に接続される。MIUスイッチ125の相互接続は以下のとおりであり:b0はm0に接続され;b1はc1に直接接続され;b2はm2に接続され;b3はc3に直接接続され;c0はs0に接続され;c2はs2に接続される。
動作において、バーストは、MIU122および124と外部バス(図示せず)との間でバスインタフェース論理ユニット126および128を介して転送される。単純化のため、外部バスに接続されるアドレスおよびデータレジスタはバスインタフェース論理ユニットに合わせて示される。論理126を介して転送される例示的な4ワードバースト127の全体を示す。このバースト27は、複数ビットフラグメントA00、A01、A02およびA03を含むものとして識別されるデジタルワードを含む。この発明の現在の実施例では、各フラグメントは複数の論理ビットを含む。しかしながら、この発明は、代替的に1ビットフラグメントを用いて実現されてもよい。A00、A10、A20およびA30を含むバーストサブセットと、A02、A12、A22およびA32を含むバーストサブセットとは、バスインタフェース論理126とバッファ130との間で直接相互接続141および142を介して転送される。A01、A11、A21およびA31を含むバーストサブセットは、バスインタフェース論理126とバッファ132との間において、スイッチ123および125のポートp0相互接続を介して転送される。A03、A13、A23およびA33を含むバーストサブセットは、バスインタフェース論理126とバッファ132との間において、スイッチ123および125のポートp2相互接続を介して転送される。
同様に、論理128を介して転送される例示的な4ワードバースト129の全体を示す。このバーストは、複数ビットフラグメントB00、B01、B02およびB03を含むものとして識別されるデジタルワードを含む。B00、B10、B20およびB30を含むバーストサブセットと、B02、B12、B22およびB32を含むバーストサブセットとは、バスインタフェース論理128とバッファ132との間で直接相互接続143お
よび145を介して転送される。B01、B11、B21およびB31を含むバーストサブセットは、バスインタフェース論理128とバッファ130との間において、スイッチ123および125のポートp0相互接続を介して転送される。B03、B13、B23およびB33を含むバーストサブセットは、バスインタフェース論理128とバッファ130との間において、スイッチ123および125のポートp2相互接続を介して転送される。
バスインタフェース論理126を介して転送されたバースト127からの2つのサブセットと、インタフェース論理128を介して転送されたバースト129からの2つのサブセットとは、図示されるように2つのバッファ130および132の各々において一時的に記憶され得る。同様に、図示されるように、各バーストからの2つのサブセットはデジタルメモリ134に記憶され、2つのバーストの各々からの2つのサブセットはデジタルメモリ136に記憶される。したがって、バスインタフェース論理ユニット126または128のどちらかを介して転送されるどのバーストの内容も、2つの異なるデジタルメモリ間に分配されそこにおいて一時的に記憶される。現在の実施例では、SRAMが用いられる。しかしながら、この発明と整合する、DRAM等の他のメモリアーキテクチャも用いられ得る。
図20は、代表的なメモリ書込動作中における図17の2MIUシステム120を介したバーストサブセットの流れを示す。5ワードバースト146がバスインタフェース論理(図示せず)によって受取られる。このバーストの最初のワードはアドレス情報を含む。次の4つのワードはデジタルメモリ134および136に書込まれるべきデジタル情報を含む。アドレス情報はMIU122によってMIUアドレスレジスタ148に転送される。MIUアドレスレジスタ148は、そのバーストアドレスを、デジタルメモリ134および136のメモリアドレスレジスタ150および152に、接続154を介して与える。バーストサブセットd00、d10、d20およびd30とバーストサブセットd02、d12、d22およびd32とは、メモリアドレスレジスタ150によって指定されるアドレス位置での記憶のために、MIU122によってデジタルメモリ134に転送される。バーストサブセットd31、d21、d11およびd01は、MIU122からMIU124へそれらのそれぞれのポートp0相互接続を介して転送され、次いで、メモリアドレスレジスタ152により指定されるメモリ位置での記憶のためにMIU124によってデジタルメモリ136に転送される。同様に、バーストサブセットd33、d23、d13およびd03は、MIU122からMIU124へそれらのそれぞれのポートp2相互接続を介して転送され、次いで、メモリアドレスレジスタ152により指定されるメモリ位置での記憶のためにMIU124によってデジタルメモリ136へ転送される。MIU122からMIU124に転送されるバーストサブセットの各々は、読出が行なわれることになるのかまたは書込が行なわれることになるのかを示すRq信号により先行される。
図21は、図17の2MIUシステム120に対する図17のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル1〜2の間において、アドレスがバスから受取られる。クロックサイクル2〜3の間で、データワードD0がセグメントバスから受取られ、Rq信号がp0およびp2相互接続を介してMIU124に送られる。クロックサイクル3〜4の間において、データワードD1がセグメントバスから受取られ、バーストサブセットフラグメントd01およびd03がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル4〜5の間において、データワードD2がセグメントバスから受取られ、バーストサブセットフラグメントd11およびd13がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル5〜6の間において、データワードD3がセグメントバスから受取られ、バーストサブ
セットフラグメントD21およびD23がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル6〜7の間において、バーストサブセットフラグメントd31およびd33がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。さらに、クロック5〜7の間において、レジスタ150および154にあるバーストに関連づけられるメモリアドレスがデジタルメモリ134および136の各々に与えられる。クロックサイクル6〜8の間において、メモリ書込イネーブル信号が2つのMIUを制御する2つの制御ユニットによって同時にアサートされ、転送バッファ130および132に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ134および136に並列に書込まれる。
図22は、代表的なメモリ読出動作中における図17の2MIUシステム120を介したバーストサブセットの流れを示す。まず、バーストの4つのワードが2つの異なるデジタルメモリ134および136内に分配される。メモリアドレス125はMIUアドレスバッファ148に与えられ、それはそのアドレスを接続154を介してメモリアドレスレジスタ150および152に与える。デジタルメモリ134はバーストサブセットd00、d10、d20およびd30をMIU122に与え、MIU122はそれをバスインタフェース論理126へ直接転送する。さらに、デジタルメモリ134はバーストサブセットd02、d12、d22およびd32をMIU122に与え、MIU122はそれをバスインタフェース論理(図示せず)に直接転送する。デジタルメモリ136はバーストサブセットd01、d11、d21およびd31をMIU124に転送し、MIU124はそれをMIU122にそれらのポートp0相互接続を介して転送する。次いで、MIU122はそのサブセットをそれのバスインタフェース論理に転送する。同様に、デジタルメモリ136はバーストサブセットd03、d13、d23およびd33をMIU124に転送し、MIU124はそれをMIU122にそれらのポートp2相互接続を介して転送する。次いで、MIU122はそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト146は異なるメモリから検索され、バスインタフェース論理において利用可能とされる。
図23は、図17の2MIUシステム120に対する図22のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル1〜2中において、アドレス信号がセグメントバスから受取られる。クロックサイクル2〜3中において、バスインタフェース論理によって発生されたRq信号がMIU124のp0およびp2相互接続を介して送られる。クロックサイクル4〜6中において、メモリアドレスレジスタ150および152の各々におけるメモリアドレスがメモリ134および136に与えられる。クロックサイクル5〜7中において、メモリ出力イネーブル信号がメモリの各々に与えられ、データバーストサブセット全体が2つのメモリ134および136の各々から並列に読出され、一時的な記憶のために転送バッファ130および132に与えられる。クロックサイクル6〜7中において、フラグメントd01およびd03がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送される。クロックサイクル7〜8中において、フラグメントd11およびd13がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD0がセグメントバスに与えられる。クロックサイクル8〜9中において、フラグメントd21およびd23がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD1がセグメントバスに与えられる。クロックサイクル9〜10中において、フラグメントd31およびd33がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD2がセグメントバスに与えられる。クロックサイクル10〜11中において、データワードD3がセグメントバスに与えられる。
図24は、この発明の現在の好ましい実施例に従う4MIUシステム160の単純化されたブロック図である。以下の説明を簡単にするため、制御論理およびバスインタフェース論理の詳細は省略する。システム160は4つのMIU162、164、166および168を含む。各MIUは電気的相互接続線の構成可能マトリックスを含む。各MIUは3つのポートp0、p1およびp2を含む。各MIUはバッファ部186、188、190および192をさらに含む。4つのMIUの各々は4つのデジタルメモリ170、172、174および176のうちの異なる1つに接続される。4つのMIUの各々は、4つのバスインタフェース論理ユニット178、180、182および184のうちの異なる1つにも接続される。
図25は、ともになって図23の4MIUシステム160を収容する、積み重ねられた箱194、196、198および200の側面図である。箱194はMIU162とメモリ170とバスインタフェース論理178とを収容する。箱196はMIU164とメモリ172とバスインタフェース論理180とを収容する。箱198はMIU166とメモリ174とバスインタフェース論理182とを収容する。箱200はMIU168とメモリ176とバスインタフェース論理184とを収容する。各箱は3つのポートp0、p1およびp2を有する。さらに、各箱は、付近の箱とアドレス情報を共有し得るアドレスバスを有する。ポートおよびアドレスバスは図示されるように接続される。
たとえば、箱194の中のMIU162および箱198の中のMIU166のポートp1相互接続は、その2つのMIU間でバーストサブセットを転送するよう結合される。特定的には、たとえば、MIU162のポートp1マスタ相互接続がMIU166のポートp1スレーブ相互接続に結合される。逆に、MIU162のポートp1スレーブ接続はMIU166のポートp1マスタ相互接続に結合される。動作において、バーストセグメントA02、A12、A22およびA32はバスインタフェース論理178とデジタルメモリ174との間においてMIU162のポートp1マスタ相互接続とMIU166のポートp1スレーブ相互接続とを介して転送される。さらに、動作においては、バーストセグメントC00、C10、C20およびC30はバス相互接続論理182とデジタルメモリ170との間においてMIU162のポートp1スレーブ相互接続とMIU166のポートp1マスタ相互接続とを介して転送される。
図26は、図24の4MIUシステム160の4つのMIU162、164、166および168間の相互接続を表現するマトリックスである。線の交差部の「0」はMIUスイッチ162内の相互接続を示す。線の交差部の「1」はMIUスイッチ164内の相互接続を示す。線の交差部の「2」はMIUスイッチ166内の相互接続を示す。線の交差部の「3」はMIUスイッチ168内の相互接続を示す。たとえば、MIUスイッチ162に対する相互接続は以下のとおりであり:b0はc0に直接接続され;c1はs0に接続され;c2はs1に接続され;c3はs2に接続され;b1はm0に接続され;b2はm1に接続され;b3はm2に接続される。MIUスイッチ166の相互接続は、たとえば、以下のとおりであり:b0はm2に接続され;b1はm1に接続され;b2はm0に接続され;b3はc3に直接接続され;c0はs2に接続され;c1はs1に接続され;c2はs0に接続される。MIU164および168の相互接続は図22のマトリックスおよび上述の議論から容易に理解されるであろう。
バーストサブセットを転送する際の図24の4MIUシステム160の動作は、バスインタフェース論理178、180、182および184を通して転送されるバーストを観察することにより;バッファ186、188、190および192間でのバーストサブセットの分配を観察することにより;およびデジタルメモリ170、172、174および176におけるバーストサブセットの記憶を観察することにより理解され得る。たとえば、デジタルメモリ172を参照すると、サブセットA01、A11、A21、A31は4
ワードバーストの一部としてバスインタフェース論理178を通して転送される。サブセットB01、B11、B21およびB31は4ワードバーストの一部としてバスインタフェース論理180を通して転送される。サブセットC01、C11、C21、C31は4ワードバーストの一部としてバスインタフェース論理182を通して転送される。サブセットD01、D11、D21、D31は4ワードバーストの一部としてバスインタフェース論理184を通して転送される。デジタルメモリ172とそれぞれのバスインタフェース論理ユニットとの間におけるこれら4つのバーストサブセットの任意の1つの転送過程において、そのサブセットはバッファ188に一時的に記憶される。
図27は、代表的なメモリ書込動作中における図24の4MIUシステム160を介したバーストサブセットの流れを示す。5ワードバーストがMIU162と関連づけられるバスインタフェース論理により受取られる。バーストの最初のワードはアドレス情報を含む。次の4つのワードはデジタルメモリ170、172、174および176間に分配されるよう予定される。アドレス情報はMIU162によってMIUアドレスレジスタ204に転送される。MIUアドレスレジスタ204はそのアドレスをデジタルメモリ172、174、176および178のメモリアドレスレジスタ206、208、210および212にバス214を介して与える。バーストサブセットd00、d10、d20およびd30は、メモリアドレスレジスタ206により指定されるアドレス位置での記憶のために、MIU162によってデジタルメモリ170へ直接転送される。バーストサブセットd31、d21、d11およびd01は、MIU162からMIU164へそれらのそれぞれのポートp0相互接続を介して転送され、次いで、メモリアドレスレジスタ208により指定されるメモリ位置での記憶のためにMIU164によってデジタルメモリ172に転送される。バーストサブセットd02、d12、d22およびd32は、MIU162からMIU166へそれらのそれぞれのポートp1相互接続を介して転送され、次いで、メモリアドレスレジスタ216により指定されるメモリ位置での記憶のためにMIU166によってデジタルメモリ174へ転送される。バーストサブセットd33、d23、d13およびd03は、MIU162からMIU168へそれらのそれぞれのポートp2相互接続を介して転送され、次いで、メモリアドレスレジスタ212により指定されるメモリ位置での記憶ためにMIU168によってデジタルメモリ176に転送される。MIU間において転送されるバーストサブセットの各々は、メモリ読出が行なわれることになるのかまたはメモリ書込が行なわれることになるのかを示すRq信号によって先行される。
図28は、図24の4MIUシステム160に対する図27のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル1〜2の間において、アドレスがセグメントバスから受取られる。クロックサイクル2〜3の間において、データワードD0がセグメントバスから受取られ、Rq信号がp0、p1およびp2相互接続を介してMIU164、166、168に送られる。クロックサイクル3〜4の間において、データワードD1がセグメントバスから受取られ、バーストサブセットのフラグメントd01、d02およびd03がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。クロックサイクル4〜5の間において、データワードD2がセグメントバスから受取られ、バーストサブセットのフラグメントd11、d12およびd13がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。クロックサイクル5〜6の間において、データワードD3がセグメントバスから受取られ、バーストサブセットフラグメントd21、d22およびd23がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。クロックサイクル6〜7の間において、バーストサブセットのフラグメントd31、d32およびd33がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。
さらに、クロックサイクル6〜7の間において、レジスタ206、208、210および212にあるメモリアドレスがデジタルメモリ170、172、174および176の各々に与えられる。クロックサイクル7〜8の間において、メモリ書込イネーブル信号が各MIUに関連づけられる制御ユニットによって同時にアサートされ、転送バッファ186、188、190および192に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ170、172、174および176に並列に書込まれる。
図29は、代表的なメモリ読出動作中における図24の4MIUシステム160を介したバーストサブセットの流れを示す。まず、バーストの4つのワードが4つの異なるデジタルメモリ170、172、174および176内に分配される。メモリアドレス216はMIUアドレスバッファ204に与えられ、MIUアドレスバッファ204はそのアドレスを接続214を介してメモリアドレスレジスタ206、208、210および212に与える。デジタルメモリ170はバーストサブセットd00、d10、d20およびd30をMIU162に与え、次いでそれをそのバスインタフェース論理(図示せず)に直接転送する。デジタルメモリ172はバーストサブセットd01、d11、d21およびd31をMIU164に与え、MIU164はそれをMIU162にポートp0相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ174はバーストサブセットd02、d12、d22およびd32をMIU166に転送し、MIU166はそれをMIU162にポートp1相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ176はバーストサブセットd03、d13、d23およびd33をMIU168に転送し、MIU168は次いでそれをMIU162にポートp2相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト202は異なるメモリから検索され、MIU162のバスインタフェース論理において利用可能とされる。
図30は、図24の4MIUシステム160に対する図29のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル1〜2の間において、アドレス信号がセグメントバスから受取られる。クロックサイクル2〜3の間において、バスインタフェース論理によって先行されるRq信号がMIU162のp0、p1およびp2相互接続を介して送られる。クロックサイクル4〜5の間において、メモリアドレスレジスタ206、208、210および212の各々にあるメモリアドレスがメモリ170、172、174および176に与えられる。クロックサイクル5〜6の間において、メモリ出力イネーブル信号が各メモリに与えられ、データバーストサブセットの全体が4つのメモリ170、172、174および176の各々から並列に読出されて転送バッファ186、188、190および192に一時的な記憶のために与えられる。クロックサイクル6〜7の間において、バイト幅フラグメントd01、d02およびd03がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送される。クロックサイクル7〜8の間において、フラグメントd11、d12およびd13がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD0がセグメントバスに与えられる。クロックサイクル8〜9の間において、フラグメントd21、d22およびd23がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD1がセグメントバスに与えられる。クロックサイクル9〜10の間において、フラグメントd31、d32およびd33がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD2がセグメントバスに与えられる。クロックサイクル10〜11の間において、データワードD3がセグメントバスに与えられる。
図31〜図36の例示的な図はこの発明のいくつかの考えられ得る適用例を示す。これ
らの図において、スイッチシステム98は、共有メモリの実現において、待ち行列管理ユニット(「QMU」)と呼ばれる。図31はスタンドアローン構成における基本的なスイッチの使用を示す。図32は4MIU(4QMU)スタック構成を示す。図33は、イーサネット(R)スイッチ実現例を示す。図34はATMアップリンクを伴うイーサネット(R)スイッチを示す。図35は2MIU(2QMU)スタック可能スイッチ/ルータを示す。図36はアドレス導出(AIL)を伴う4MIU(4QMU)高速イーサネット(R)スイッチを示す。
図37は、図4または図39のそれのような、2つの共有メモリスイッチを組合せて2倍の帯域幅を伴う、より大型の非ブロッキングスイッチをもたらす(たとえば、2つの32×32 155−MbpsポートATMスイッチを組合せて非ブロッキング64×64
155−MbpsポートATMスイッチを構成する)、改良された装置を示す。現在の実施例は32×32ATMスイッチを含む。この改良例に従うと、この32×32ATMスイッチは時分割多重(TDM)態様で動作する。図38の図のタイミングを参照して、このスイッチは、32クロック入力段と32クロック出力段(と4クロックギャップ)とに分けられる68クロック周期でサイクルする。2つの32×32スイッチチップセットおよび2バンクの共有メモリを使用する。各32×32チップセットがその2つのバンクのいずれかにアクセスできるようにする。一方のチップセットが入力段にあるときに他方のチップセットが出力段にあるような位相差でそれらを動作させる。ここで、出力段にある一方のチップセットが、伝送されるべきセルを、そのセルがあるバンクからフェッチするとき、入力段にある他方のチップセットは入来セルを書込むべき他方のバンクを選択する。
図39の例示的な図は、ポートとバッファとの間のマトリックス相互接続線が各バーストセグメントに対して複数ビット幅であってもよいことを明らかにするために与えられる。したがって、バーストごとの複数ビットはクロックサイクルごとに転送されてもよい。
この発明の特定的な実施例をここにおいて詳細に記載してきたが、この発明の範囲から逸脱することなくこれら好ましい実施例にさまざまな修正がなされ得る。したがって、前述の記載は、添付の請求の範囲において規定されるこの発明を限定するよう意図されるものではない。
以前のマルチポート共有メモリシステムのブロック図である。 図1の以前のシステムにおいて用いられ得るデータフォーマットである。 別の以前のマルチポート共有メモリシステムのブロック図である。 この発明に従う第1のマルチポート共有メモリシステムの、一般化されたブロック図である。 図4の実施例において用いられるデータフォーマットおよびデータフローを示す。 図4の実施例のメモリアクセスバッファおよび制御論理のより詳細なブロック図である。 図6のメモリアクセスバッファのデュアルレジスタ対のひとつのブロック図である。 図6の制御論理とメモリアクセスバッファとの動作を説明するタイミング図である。 図7のデュアルレジスタ対の動作を説明するタイミング図である。 この発明に従う非同期転送モード交換機のブロック図である。 この発明の現在の好ましい実施例に従う、メモリインタフェースユニット(MIU)ならびに関連の制御回路およびレジスタを含むスイッチシステムのブロック図である。 図11の実施例のデータ線および制御線を示す単純化されたブロック図である。 図11のスイッチシステムの構成可能スイッチの、1つの考えられる得る構成を示す単純化されたブロック図である。 図11の実施例の構成可能スイッチの信号線および制御線を示すブロック図である。 2MIU実現例においてメモリ書込中にc0を生じさせるよう用いられる、図14Aの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。 2MIU実現例においてメモリ読出中にd0を生じさせるよう用いられる、図14Aの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。 図11の実施例の転送バッファの詳細を示す例示的ブロック図である。 図15の転送バッファの個々のメモリアクセスバッファの詳細を示す例示的ブロック図である。 この発明の現在の実施例に従う2MIUシステムのブロック図である。 2つのMIU間におけるポートおよびアドレス接続を示す、図17の2MIUシステムを含む、積み重ねられた箱の側面図である。 図17の2MIUシステムの構成可能スイッチ間における相互接続を表わすマトリックスである。 メモリ書込動作中におけるバーストサブセットの流れを示す、図17の2MIUシステムの簡略化されたブロック図である。 図17の2MIUシステムに対するメモリ書込動作中におけるデータおよび制御信号のタイミングを示すタイミング図である。 メモリ読出動作中におけるサブセットの流れを示す、図17の2MIUシステムの簡略化されたブロック図である。 図17の2MIUシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。 この発明の現在の実施例に従う4MIUシステムの簡略化されたブロック図である。 MIU間におけるポートおよびアドレス接続を示す、図24の4MIUシステムを含む、積み重ねられた箱の側面図である。 図24の4MIUシステムのMIU間における相互接続を表わすマトリックスである。 読出動作中における図24の4MIUシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。 図24の4MIUシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。 メモリ書込動作中における図24の4MIUシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。 図24の4MIUシステムに対する書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。 図11の実施例を用いるスタンドアローンMIU適用例を示す。 図11の実施例を用いる4MIU適用例を示す。 図11の実施例を用いるイーサネット(R)スイッチ適用例を示す。 図11の実施例を用いるATMアップリンク適用例を伴うイーサネット(R)スイッチを示す。 図11の実施例を用いる2MIU積み重ね可能スイッチ/ルータを示す。 図11の実施例を用いる4MIU高速イーサネット(R)スイッチを示す。 時分割多重(TDM)切換を用いる、図4のスイッチの改良された実施例を示す。 図37のスイッチの動作を示すタイミング図である。 個々のバイトサブセットかスイッチマトリックス複数ビットを介して1度に伝送されてもよい、図4のスイッチの実施例の例示的な図である。
符号の説明
20−1〜20−k ポート、22 相互接続マトリックス、24−1〜24−k メモリアクセスバッファ、26 共有メモリ、29 制御論理。

Claims (14)

  1. ネットワークからデータを受けかつネットワークにデータを送信する方法であって、
    (a)各々がデータをネットワークと送受信可能な複数のネットワーク回路によりデータを受信するステップと、
    (b)ネットワーク回路から受信データを送信前に一時記憶のために共有メモリに書込むステップと、
    (c)共有メモリからデータをネットワーク回路に読出し、読出したデータをネットワーク回路により送信するステップとを備え、
    各前記ネットワーク回路は、前記動作(a)においてデータを受信するように動作可能であり、前記動作(b)においてデータを前記共有メモリに書き込むように動作可能であり、かつ前記動作(c)において前記共有メモリからデータを読出して送信するように動作可能であり、
    前記共有メモリは、各々が各ネットワーク回路によりアクセス可能である複数のメモリバンクを備え、
    前記動作(b)および(c)は複数のタイムスロットで行なわれ、各ネットワーク回路は、前記共有メモリに対して読出アクセスする予め定められたタイムスロットと、前記共有メモリに対して書込アクセスを行う別の予め定められたタイムスロットとが割当てられ、
    前記タイムスロットは、各々において1以上のネットワーク回路が前記動作(c)のために前記共有メモリに対してアクセスしかつ前記動作(b)のために1以上のネットワーク回路が前記共有メモリに対して書込アクセスを行う1以上の第1のタイムスロットを含み、
    前記方法は、各前記第1のタイムスロットについて、
    (1)前記動作(c)の第1のタイムスロットにおいて、前記第1のタイムスロットにおいて読出アクセスを行うすべてのネットワーク回路が読出すべきデータに基づいて、どのメモリバンクが、前記第1のタイムスロットにおいて読出すべきデータを格納しているかを決定するステップと、
    (2)前記動作(1)に基づいて、前記動作(b)において前記第1のタイムスロット
    において書込アクセスを行う1以上のメモリバンクを選択するステップとを備え、書込アクセスのために選択されたメモリバンクは、前記動作(1)において決定されたメモリバンクと異なり、
    (3)第1のタイムスロットにおいて、前記第1のタイムスロットにおいて読出アクセスを要求した1以上のネットワーク回路により前記動作(1)において決定されたメモリバンクすべてを読出すとともに、前記第1のタイムスロットにおいて書込要求を行なった1以上のネットワーク回路により、前記動作(2)において選択されたメモリバンクに対して書込を行うステップとを備える、方法。
  2. 前記メモリバンクは、第1のメモリバンクと第2のメモリバンクとを備え、
    前記動作(1)は、前記第1のタイムスロットにおいて読出すべきデータが前記第1のメモリバンクにあるかまたは前記第2のメモリバンクにあるかを決定するステップを備え、
    前記動作(3)は、
    前記第1のタイムスロットにおいて読出すべきデータが前記第1のメモリバンクにある場合には、読出しアクセスを要求した1以上のネットワーク回路により前記第1のタイムスロットにおいて前記第1のメモリバンクを読出し、かつ書込アクセスを要求した1以上のネットワーク回路により前記第2のメモリバンクに対して書込を行い、前記第1のタイムスロットにおいて読出すべきデータが前記第2のメモリバンクにある場合には、前記第1のタイムスロットにおいて読出アクセスを要求した1以上のネットワーク回路により前記第2のメモリバンクを読出し、かつ書込アクセスを要求した1以上のネットワーク回路により前記第1のメモリバンクに対して書込を行うステップを備える、請求項1記載の方法。
  3. 各ネットワーク回路について、各第1のタイムスロットは、前記第1のタイムスロットにおいて、ネットワーク回路が、共有メモリから読出したデータを1以上のポートに転送する読出アクセスかまたは1以上のポートに与えられたデータを書込む書込アクセスのいずれかを要求するようにネットワーク回路の1以上のポートに割当てられる、請求項1または2記載の方法。
  4. 各ポートについて、データはポートに送信される順序で共有メモリから読出される、請求項3記載の方法。
  5. 各ネットワーク回路は、連続する複数のタイムスロット各々において共有メモリに対して読出アクセスを要求し、次いで、別の連続する複数のタイムスロット各々において前記共有メモリに対して書込アクセスを要求し、各前記複数のタイムスロットは、ネットワーク回路のポートの数と同数のタイムスロットを有する、請求項1から4のいずれかに記載の方法。
  6. 各前記ネットワーク回路は、固定サイズのセルでデータを転送する、請求項1から5のいずれかに記載の方法。
  7. 各前記ネットワーク回路は、複数のポートを有するATMスイッチファブリックである、請求項1から6のいずれかに記載の方法。
  8. 請求項1の方法を行うネットワーク装置。
  9. 請求項2の方法を行うネットワーク装置。
  10. 請求項3の方法を行うネットワーク装置。
  11. 請求項4の方法を行うネットワーク装置。
  12. 請求項5の方法を行うネットワーク装置。
  13. 請求項6の方法を行うネットワーク装置。
  14. 請求項7の方法を行うネットワーク装置。
JP2004131369A 1995-08-07 2004-04-27 ネットワーク装置 Expired - Lifetime JP3899085B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/512,613 US5732041A (en) 1993-08-19 1995-08-07 Memory interface unit, shared memory switch system and associated method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP50844797A Division JP3628706B2 (ja) 1995-08-07 1996-07-18 メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法

Publications (2)

Publication Number Publication Date
JP2004320786A JP2004320786A (ja) 2004-11-11
JP3899085B2 true JP3899085B2 (ja) 2007-03-28

Family

ID=24039837

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50844797A Expired - Lifetime JP3628706B2 (ja) 1995-08-07 1996-07-18 メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法
JP2004131369A Expired - Lifetime JP3899085B2 (ja) 1995-08-07 2004-04-27 ネットワーク装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP50844797A Expired - Lifetime JP3628706B2 (ja) 1995-08-07 1996-07-18 メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法

Country Status (7)

Country Link
US (3) US5732041A (ja)
EP (2) EP0843854B1 (ja)
JP (2) JP3628706B2 (ja)
KR (1) KR100356447B1 (ja)
AU (1) AU6590596A (ja)
DE (2) DE69631055T2 (ja)
WO (1) WO1997006489A1 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
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
US5719890A (en) * 1995-06-01 1998-02-17 Micron Technology, Inc. Method and circuit for transferring data with dynamic parity generation and checking scheme in multi-port DRAM
TW301090B (en) * 1996-08-14 1997-03-21 Winbond Electronics Corp Data storing and searching method of ethernet switch mean address table and device thereof
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US6487207B1 (en) * 1997-02-26 2002-11-26 Micron Technology, Inc. Shared buffer memory architecture for asynchronous transfer mode switching and multiplexing technology
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
US5825711A (en) * 1997-06-13 1998-10-20 Micron Technology, Inc. Method and system for storing and processing multiple memory addresses
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
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
US6202119B1 (en) 1997-12-19 2001-03-13 Micron Technology, Inc. Method and system for processing pipelined memory commands
US6088285A (en) * 1998-01-20 2000-07-11 Oki Electric Industry Co., Ltd. Semiconductor memory circuit in which pattern widths of switching circuit and buffers are formed within a pattern width of a column unit
US6138219A (en) * 1998-03-27 2000-10-24 Nexabit Networks Llc Method of and operating architectural enhancement for multi-port internally cached dynamic random access memory (AMPIC DRAM) systems, eliminating external control paths and random memory addressing, while providing zero bus contention for DRAM access
US6173425B1 (en) 1998-04-15 2001-01-09 Integrated Device Technology, Inc. Methods of testing integrated circuits to include data traversal path identification information and related status information in test data streams
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
US5999478A (en) * 1998-05-21 1999-12-07 Integrated Device Technology, Inc. Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same
US6216205B1 (en) 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
US5982700A (en) * 1998-05-21 1999-11-09 Integrated Device Technology, Inc. Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same
US6434145B1 (en) 1998-06-22 2002-08-13 Applied Micro Circuits Corporation Processing of network data by parallel processing channels
US6175905B1 (en) 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
WO2000017726A2 (en) * 1998-09-18 2000-03-30 Computron Switchable master/slave memory controller
TW444478B (en) * 1998-12-10 2001-07-01 Ind Tech Res Inst Ethernet switch IC with shared memory structure and its network
US6233236B1 (en) * 1999-01-12 2001-05-15 Mcdata Corporation Method and apparatus for measuring traffic within a switch
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US6757791B1 (en) * 1999-03-30 2004-06-29 Cisco Technology, Inc. Method and apparatus for reordering packet data units in storage queues for reading and writing memory
US7031330B1 (en) * 1999-04-15 2006-04-18 Marconi Intellectual Property (Ringfence), Inc. Very wide memory TDM switching 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
FR2797969A1 (fr) * 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Dispositif a plusieurs processeurs partageant une memoire collective
JP3881477B2 (ja) 1999-09-06 2007-02-14 沖電気工業株式会社 シリアルアクセスメモリ
US6473838B1 (en) 2000-01-04 2002-10-29 International Business Machines Corporation Data transfer system for multiple network processors using dual DRAM storage
US6771654B1 (en) * 2000-01-24 2004-08-03 Advanced Micro Devices, Inc. Apparatus and method for sharing memory using a single ring data bus connection configuration
US6700894B1 (en) 2000-03-15 2004-03-02 Broadcom Corporation Method and apparatus for shared buffer packet switching
EP1137011B1 (en) * 2000-03-21 2008-12-10 STMicroelectronics S.r.l. String programmable nonvolatile memory with NOR architecture
US6434674B1 (en) 2000-04-04 2002-08-13 Advanced Digital Information Corporation Multiport memory architecture with direct data flow
KR20010106079A (ko) * 2000-05-19 2001-11-29 강 크리스토퍼 파이프라인된 스위치 구성 디바이스
US6735207B1 (en) * 2000-06-13 2004-05-11 Cisco Technology, Inc. Apparatus and method for reducing queuing memory access cycles using a distributed queue structure
US7035267B1 (en) 2000-08-11 2006-04-25 Marconi Intellectual Property (Ringfence), Inc. Transferring and queueing length and data as one stream
US6711646B1 (en) * 2000-10-20 2004-03-23 Sun Microsystems, Inc. Dual mode (registered/unbuffered) memory interface
US7006505B1 (en) * 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
US6546461B1 (en) 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
US6515914B2 (en) * 2001-03-21 2003-02-04 Micron Technology, Inc. Memory device and method having data path with multiple prefetch I/O configurations
US7139267B2 (en) * 2002-03-05 2006-11-21 Industrial Technology Research Institute System and method of stacking network switches
US7283556B2 (en) * 2001-07-31 2007-10-16 Nishan Systems, Inc. Method and system for managing time division multiplexing (TDM) timeslots in a network switch
US7215666B1 (en) * 2001-11-13 2007-05-08 Nortel Networks Limited Data burst scheduling
WO2003067445A1 (en) * 2002-02-06 2003-08-14 Koninklijke Philips Electronics N.V. Address space, bus system, memory controller and device system
US20030167408A1 (en) * 2002-03-01 2003-09-04 Fitzpatrick Gregory P. Randomized bit dispersal of sensitive data sets
US7110415B1 (en) * 2002-05-17 2006-09-19 Marvell International Ltd. Apparatus and method for dynamically limiting output queue size in a quality of service network
DE60216772T2 (de) * 2002-10-22 2007-08-30 Hewlett-Packard Development Co., L.P., Houston Verfahren und Vorrichtung zum Betreiben einer Telekommunikations-Plattform
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
US7870334B2 (en) * 2003-11-12 2011-01-11 International Business Machines Corporation Distributed task queues in a multiple-port storage system
EP1513072A3 (en) * 2003-09-02 2009-10-21 Thomson Licensing Method for multibank memory scheduling
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
US7042792B2 (en) * 2004-01-14 2006-05-09 Integrated Device Technology, Inc. Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
DE102004038211A1 (de) 2004-08-05 2006-03-16 Robert Bosch Gmbh Botschaftsverwalter und Verfahren zur Steuerung des Zugriffs auf Daten eines Botschaftsspeichers eines Kommunikationsbausteins
US20070239906A1 (en) * 2006-03-13 2007-10-11 Vakil Kersi H Input/output agent having multiple secondary ports
US7769942B2 (en) 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
US7978690B2 (en) * 2007-03-31 2011-07-12 International Business Machines Corporation Method to operate a crossbar switch
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
US8219778B2 (en) * 2008-02-27 2012-07-10 Microchip Technology Incorporated Virtual memory interface
US7761754B1 (en) * 2008-03-25 2010-07-20 Altera Corporation Techniques for testing memory circuits
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
JP5332430B2 (ja) * 2008-09-11 2013-11-06 富士通株式会社 共有メモリシステム
TWI393142B (zh) * 2008-12-29 2013-04-11 Macronix Int Co Ltd 記憶體裝置與其控制方法
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
JP5472447B2 (ja) 2010-03-25 2014-04-16 富士通株式会社 マルチコアプロセッサシステム、メモリコントローラ制御方法、およびメモリコントローラ制御プログラム
US8756394B1 (en) 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
JP5229922B2 (ja) * 2010-11-08 2013-07-03 ルネサスエレクトロニクス株式会社 情報処理システム
US8645609B2 (en) * 2010-12-06 2014-02-04 Brocade Communications Systems, Inc. Two-port memory implemented with single-port memory blocks
JP5948345B2 (ja) 2011-01-11 2016-07-06 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. 仮想アプリケーションデリバリシャーシシステム
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
US9047057B2 (en) * 2012-11-16 2015-06-02 International Business Machines Corporation Accessing additional memory space with multiple processors
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
CN105740177B (zh) * 2014-12-08 2019-05-21 台湾积体电路制造股份有限公司 信号传输的控制方法和装置、以及信号锁存装置
KR20160071290A (ko) 2014-12-11 2016-06-21 (주)두린 미서기창의 호차측 단열구조
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4750154A (en) * 1984-07-10 1988-06-07 Prime Computer, Inc. Memory alignment system and method
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
US4744078A (en) * 1985-05-13 1988-05-10 Gould Inc. Multiple path multiplexed host to network data communication system
US4754451A (en) * 1986-08-06 1988-06-28 American Telephone And Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system with variable length packets
US4760570A (en) * 1986-08-06 1988-07-26 American Telephone & Telegraph Company, At&T Bell Laboratories N-by-N "knockout" switch for a high-performance packet switching system
GB2200483B (en) * 1987-01-22 1991-10-16 Nat Semiconductor Corp Memory referencing in a high performance microprocessor
US4891795A (en) * 1987-05-21 1990-01-02 Texas Instruments Incorporated Dual-port memory having pipelined serial output
US4958341A (en) * 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
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
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
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
US5337287A (en) * 1991-08-20 1994-08-09 Nec Corporation Dual port semiconductor memory device
JPH05151769A (ja) * 1991-11-28 1993-06-18 Mitsubishi Electric Corp マルチポートメモリ
IT1259342B (it) * 1992-03-17 1996-03-12 Cselt & Centro Studi E Lab Tel Elemento di commutazione di cella ad elevata velocita' di cifra in tecnologia cmos
US5742760A (en) * 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
US5309395A (en) * 1992-10-22 1994-05-03 At&T Bell Laboratories Synchronous static random access memory
US5440523A (en) * 1993-08-19 1995-08-08 Multimedia Communications, Inc. Multiple-port shared memory interface and associated method
US5732041A (en) * 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
US5634004A (en) * 1994-05-16 1997-05-27 Network Programs, Inc. Directly programmable distribution element
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric

Also Published As

Publication number Publication date
EP0843854B1 (en) 2003-12-10
AU6590596A (en) 1997-03-05
JPH11510285A (ja) 1999-09-07
EP0843854A1 (en) 1998-05-27
US5732041A (en) 1998-03-24
JP3628706B2 (ja) 2005-03-16
DE1028380T1 (de) 2001-04-19
WO1997006489A1 (en) 1997-02-20
US6021086A (en) 2000-02-01
EP1028380A2 (en) 2000-08-16
KR100356447B1 (ko) 2003-04-10
JP2004320786A (ja) 2004-11-11
DE69631055T2 (de) 2004-07-08
KR19990036220A (ko) 1999-05-25
US5910928A (en) 1999-06-08
EP1028380A3 (en) 2005-11-09
DE69631055D1 (de) 2004-01-22

Similar Documents

Publication Publication Date Title
JP3899085B2 (ja) ネットワーク装置
EP0714534B1 (en) Multiple-port shared memory interface and associated method
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
CA2297836C (en) Multi-port internally cached drams
JPH03139044A (ja) Atmシステム用スイッチ回路網およびスイッチ―回路網モジュール
US6697362B1 (en) Distributed switch memory architecture
US7535898B2 (en) Distributed switch memory architecture
US6310875B1 (en) Method and apparatus for port memory multicast common memory switches
US6904046B2 (en) Self-route multi-memory packet switch adapted to have an expandable number of input/output ports
AU3270399A (en) Ampic dram system in a telecommunication switch
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US20020146034A1 (en) Self-route multi-memory expandable packet switch with overflow processing means
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
US7142515B2 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
CN1039339A (zh) 通信交换部件
US7130302B2 (en) Self-route expandable multi-memory packet switch

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061108

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: 20061212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061222

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: 20100105

Year of fee payment: 3

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: 20100105

Year of fee payment: 3

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: 20110105

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120105

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130105

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

EXPY Cancellation because of completion of term