JP2010067091A - 共有メモリシステム - Google Patents
共有メモリシステム Download PDFInfo
- Publication number
- JP2010067091A JP2010067091A JP2008233949A JP2008233949A JP2010067091A JP 2010067091 A JP2010067091 A JP 2010067091A JP 2008233949 A JP2008233949 A JP 2008233949A JP 2008233949 A JP2008233949 A JP 2008233949A JP 2010067091 A JP2010067091 A JP 2010067091A
- Authority
- JP
- Japan
- Prior art keywords
- data
- shared memory
- memory
- input
- switch
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- 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/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/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- 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/3036—Shared 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 本発明に係るスイッチは、メモリの格納効率を落とすことなくレイテンシを短縮して高速に伝送可能とすることを目的とする。
【解決手段】本発明に係る共有メモリシステムの一側面によれば、複数のデータを並行して共有メモリに格納可能な共有メモリシステムにおいて、該共有メモリを共有し、該複数のデータをそれぞれ受信する複数のポートと、該複数のポートから転送される複数のデータをそれぞれ所定のブロック単位で保持する複数のバッファと、該ポートから該バッファへのデータ転送速度と該バッファから該共有メモリへのデータ転送速度の差に応じて、該データの転送を該所定のブロック単位で一旦停止し、該複数のブロックごとに該共有メモリにデータ転送を開始する制御部とを有することを特徴とする。
【選択図】 図3
Description
本実施例では、スイッチ100におけるパケットデータのメモリへの格納を例にとり、共有メモリシステムについて説明する。
[2.スイッチ100]
図1は本実施例に係るスイッチ100の構成図である。スイッチ100は、入力ポート101〜106、入力バッファ107〜112、共有メモリ113、出力バッファ114〜119、出力ポート120〜125、TAGメモリ126、制御部127を有している。また図3はスイッチ100の共有メモリの詳細を示す構成図である。そして図3に示すように共有メモリ113はスイッチングユニット301、302、メモリバンク303〜308を有している。なお図3において制御機構128(TAGメモリ126、制御部127)と入力ポート101〜106、出力ポート120〜125との接続関係は簡略化して記載している。制御機構128と入力ポート101〜106、出力ポート120〜125との接続関係は図1に示す接続関係となっている。
[2.1.制御部127]
まず制御部127は、入力バッファ107〜112を介して、入力ポート101〜106に入力されるパケットデータを共有メモリ113に格納する制御を行う。また制御部127は、出力バッファ114〜119を介して、共有メモリ113からパケットデータを読み出して、出力ポート120〜125から受信側情報処理装置にパケットデータを転送する。制御部127は、メモリバンク303〜308を指定するアドレスと、メモリバンク303〜308内のアドレスを指定して共有メモリ113へパケットデータの書き込み、共有メモリ113からパケットデータの読み出しを行う。本実施例においてスイッチ100が取り扱うパケットデータは可変長である。つまりパケットデータのサイズは、一定の大きさではなく、情報処理装置が送受信するデータ量、データの種類に応じて異なるものである。
ユニットであり、ネットワークのトラフィックを制御するユニットである。フォワーディングは、スイッチ100が入力ポート101〜106で受信したパケットデータを出力ポート120〜125からネットワーク(所望の情報処理装置)へ転送する処理のことである。フィルタリングは、スイッチ100が受信したパケットデータを所定のルールに従って廃棄する処理のことである。制御部127によるフォワーディング、フィルタリングの制御処理により、スイッチ100はネットワークにおけるトラフィックを制御する。
[2.2.入力バッファ107〜112、出力バッファ114〜119]
入力バッファ107〜112は、入力ポート101〜106のパケットデータの転送レート(入力バッファ107〜112への書き込み速度)と入力バッファ107〜112から共有メモリ113への書き込み速度を調整(緩和)するものである。入力バッファ107〜112は、制御部127が入力バッファ107〜112から共有メモリ113へ書き込むデータ単位(後述するブロック201〜206単位)でパケットデータを保持する。
[2.3.共有メモリ113]
次に共有メモリ113について説明する。共有メモリ113は、図3が共有メモリ113の具体的な構成を示した構成図である。本実施例に係る共有メモリ113は、スイッチングユニット301、302、メモリバンク303〜308から構成されている。
めの入力ポートからパケットデータを出力する。上記のとおりスイッチ100の制御部127は、スイッチングユニット301、302を制御してインターリービング方式でパケットデータをメモリバンク303〜308に書き込み、及びメモリバンク303〜308からパケットデータの読み出しを行う。
[2.4.TAGメモリ126]
TAGメモリ126は、ギャップ情報を格納するメモリである。本実施例に係るスイッチ100は、入力ポート101〜106、出力ポート120〜125の入出力スループットよりも共有メモリ113のポート当たりの入出力スループットが大きいスイッチである。そしてスイッチ100は、この入出力スループットの差によって生じるギャップに関する情報(ギャップ情報)をTAGメモリ126に格納する。
[3.データの格納態様]
次にスイッチ100が共有メモリ113にデータを格納する一態様について説明する。図2は本実施例に係るスイッチ100のパケットデータのアクセスに関する概念図である。また図4は本実施例に係るスイッチ100のスイッチスケジューリングを示す概念図である。図5は本実施例に係るスイッチのパケット転送を示す概念図である。図6は本実施例に係るスイッチ100のストリームデータのアクセスに関する概念図である。
[3.1.ギャップ情報の管理]
図2は、入力ポート101〜106、出力ポート120〜125の入出力スループットと共有メモリ113のポート当たりの入出力スループットが一致する場合であって、共有メモリ113内にギャップが生じない場合のパケットデータの格納を示す概念図である。図2は共有メモリ113を構成する6つのメモリバンク303〜308の論理構造を示す図である。なお入力ポート101〜106、出力ポート120〜125の入出力スループットと共有メモリ113のポート当たりの入出力スループットが一致しない場合、つまり共有メモリ113内にギャップが生じる場合については、図6を用いて後述する。
3のワード210に分割データを格納し、順次にブロック203のワード211、212、207、208、209と格納していく(「6」、「7」、・・・「11」と分割データを格納していく)。さらに制御部127はブロック204のワード210、211に分割データを格納し、パケットデータの格納処理を終了する(「12」、「13」と分割データを格納してパケットデータの格納処理を終了する)。
分割データはメモリバンク304に書き込まれ、続いてメモリバンク305、306、・・・、メモリバンク303の順に周期的に書き込まれることを示している。また図4は、出力ポート120から出力される分割データがメモリバンク303から読み出されるタイミングで出力ポート125から出力される分割データもメモリバンク304から読み出され、続いてメモリバンク305、306、・・・、メモリバンク303の順に読み出されることを示している。
度に対する入出力バッファの共有メモリ113への読み出し/書き出し速度の高速化した比率を示すものあり、tp(m)/tp(p)と表せる。tp(m)は、入出力バッファの共有メモリ113への読み出し/書き出し速度である。tp(p)は、入出力ポートの入出力バッファへの読み出し/書き出し速度である。そのためインプットバッファ107への入力はギャップを含んだパケットデータとして扱われなければならない。そのことを模式的にパケット502で示している。共有メモリ113を論理的に構成するブロック単位で入力バッファ107から共有メモリ113に格納し、また該ブロック単位で共有メモリ113から出力バッファ114に書き込む。パケットデータ503は、入力バッファ107、出力バッファ114と共有メモリ113との間において制御部127がギャップを含まないブロック単位のパケットデータを転送することを模式的に示した図である。すなわち、ギャップはブロック間にのみ存在することを表す。そして制御部127が出力バッファよりスループット(8B(バイト)×156.25MHz)のスループットでギャップなしのパケットデータ504を出力する。
れている。そして連続したメモリアドレスが各メモリバンク303〜308をまたいで割り振られている。
[4.ギャップ情報の管理に関するフローチャート]
図7は本実施例に係るパケットデータ格納時におけるギャップ管理に関するフローチャートである。
113への読み出し/書き出し速度である。tp(p)は、入出力ポートの入出力バッファへの読み出し/書き出し速度である。最小格納サイズは、入出力ポートの入出力バッファへの読み出し/書き出し速度と入出力バッファの共有メモリ113への読み出し/書き出し速度との速度差を吸収するためのバッファ蓄積量に相当する格納容量である。そのためスイッチ100は、入力バッファに保持するパケットデータのサイズが最小格納サイズよりも大きい場合には、共有メモリ113内でブロック内にギャップを発生させることなく、1ブロック分のデータを共有メモリ内に書きこむことができる。
なブロックに分割データを格納する(ステップS708)。
ブロック単位で保持することにより、メモリの格納効率を落とすことなくレイテンシを短縮して高速に伝送可能とすることができる。イーサネット(登録商標)により送受信するパケットデータを格納する共有メモリ上で、ギャップ情報を記憶するだけの十分な空き領域を設けるのは容易である。ある実施例では、共有メモリの語長をパケット書き込み時の語長より大きくし、その差分によって生じる記憶領域にギャップ情報を格納する。また、ある実施例では、ブロック内の1語を用いてギャップ情報を格納する。スイッチ100は
その空領域を活用してギャップ情報をパケットデータに付随して管理することができる。
101…入力ポート
102…入力ポート
103…入力ポート
104…入力ポート
105…入力ポート
106…入力ポート
107…入力バッファ
108…入力バッファ
109…入力バッファ
110…入力バッファ
111…入力バッファ
112…入力バッファ
113…共有メモリ
114…出力バッファ
115…出力バッファ
116…出力バッファ
117…出力バッファ
118…出力バッファ
119…出力バッファ
120…出力ポート
121…出力ポート
122…出力ポート
123…出力ポート
124…出力ポート
125…出力ポート
126…TAGメモリ
127…制御部
301…スイッチングユニット
302…スイッチングユニット
303…メモリバンク
304…メモリバンク
305…メモリバンク
306…メモリバンク
307…メモリバンク
308…メモリバンク
Claims (4)
- 複数のデータを並行して共有メモリに格納可能な共有メモリシステムにおいて、
該共有メモリを共有し、該複数のデータをそれぞれ受信する複数のポートと、
該複数のポートから転送される複数のデータをそれぞれ所定のブロック単位で保持する複数のバッファと、
該ポートから該バッファへのデータ転送速度と該バッファから該共有メモリへのデータ転送速度の差に応じて、該データの転送を該所定のブロック単位で一旦停止し、該複数のブロックごとに該共有メモリにデータ転送を開始する制御部と、
を有することを特徴とする共有メモリシステム。 - 請求項1に記載の共有メモリシステムはさらに、
該共有メモリから転送される該所定のブロック単位の複数のデータを保持する複数の他のバッファを有し、
該制御部は、該他のバッファに該共有メモリからデータを転送する際にデータを所定のブロック単位で分割して転送を一旦停止し、該複数のブロックごとに該他のバッファにデータを転送することを特徴とする共有メモリシステム。 - 請求項2に記載の共有メモリシステムにおいて、
該次ブロックにおけるアクセス開始する位置を示す情報を保持する記憶部をさらに有することを特徴とする共有メモリシステム。 - 請求項2に記載の共有メモリシステムにおいて、
該次ブロックにおけるアクセス開始位置を示す情報を先行するデータに付随して格納することを特徴とする共有メモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008233949A JP5332430B2 (ja) | 2008-09-11 | 2008-09-11 | 共有メモリシステム |
US12/556,164 US8116306B2 (en) | 2008-09-11 | 2009-09-09 | Shared memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008233949A JP5332430B2 (ja) | 2008-09-11 | 2008-09-11 | 共有メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010067091A true JP2010067091A (ja) | 2010-03-25 |
JP5332430B2 JP5332430B2 (ja) | 2013-11-06 |
Family
ID=41799235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008233949A Active JP5332430B2 (ja) | 2008-09-11 | 2008-09-11 | 共有メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8116306B2 (ja) |
JP (1) | JP5332430B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4889646B2 (ja) | 2004-10-12 | 2012-03-07 | アウェア, インコーポレイテッド | 電気通信環境における資源の共有 |
EP2178254B1 (en) | 2006-04-12 | 2017-02-08 | TQ Delta, LLC | Packet retransmission and memory sharing |
US9063841B1 (en) * | 2011-08-01 | 2015-06-23 | Marvell Israel (M.L.S.L.) Ltd. | External memory management in a network device |
AU2014401914B2 (en) | 2014-08-13 | 2017-05-25 | Huawei Technologies Co., Ltd. | Storage system, method, and apparatus for processing operation request |
US11481158B2 (en) * | 2018-12-05 | 2022-10-25 | International Business Machines Corporation | Enabling compression based on queue occupancy |
US11343207B1 (en) * | 2020-05-11 | 2022-05-24 | Amazon Technologies, Inc. | Configuring of a shared memory buffer in a network device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11510285A (ja) * | 1995-08-07 | 1999-09-07 | エム・エム・シー・ネットワークス・インコーポレイテッド | メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法 |
JP2000516423A (ja) * | 1996-12-16 | 2000-12-05 | ジュニパー ネットワークス | 高速スイッチング装置 |
JP2004242332A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でパケットを交換するシステム、方法及び論理 |
JP2004240980A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でメモリインターリービングするシステム、方法及び論理 |
JP2006524477A (ja) * | 2003-04-22 | 2006-10-26 | アギア システムズ インコーポレーテッド | 共用マルチバンク・メモリのための方法および装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745277B1 (en) * | 2000-10-04 | 2004-06-01 | Force10 Networks, Inc. | Intelligent interleaving scheme for multibank memory |
US7634622B1 (en) * | 2005-06-14 | 2009-12-15 | Consentry Networks, Inc. | Packet processor that generates packet-start offsets to immediately store incoming streamed packets using parallel, staggered round-robin arbitration to interleaved banks of memory |
-
2008
- 2008-09-11 JP JP2008233949A patent/JP5332430B2/ja active Active
-
2009
- 2009-09-09 US US12/556,164 patent/US8116306B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11510285A (ja) * | 1995-08-07 | 1999-09-07 | エム・エム・シー・ネットワークス・インコーポレイテッド | メモリインタフェースユニット、共有メモリスイッチシステムおよび関連の方法 |
JP2000516423A (ja) * | 1996-12-16 | 2000-12-05 | ジュニパー ネットワークス | 高速スイッチング装置 |
JP2004242332A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でパケットを交換するシステム、方法及び論理 |
JP2004240980A (ja) * | 2003-02-07 | 2004-08-26 | Fujitsu Ltd | 高速交換環境でメモリインターリービングするシステム、方法及び論理 |
JP2006524477A (ja) * | 2003-04-22 | 2006-10-26 | アギア システムズ インコーポレーテッド | 共用マルチバンク・メモリのための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5332430B2 (ja) | 2013-11-06 |
US8116306B2 (en) | 2012-02-14 |
US20100061376A1 (en) | 2010-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9608940B2 (en) | Ultra low latency network buffer storage | |
US6795886B1 (en) | Interconnect switch method and apparatus | |
US8225026B2 (en) | Data packet access control apparatus and method thereof | |
US6757791B1 (en) | Method and apparatus for reordering packet data units in storage queues for reading and writing memory | |
US7546399B2 (en) | Store and forward device utilizing cache to store status information for active queues | |
JP5332430B2 (ja) | 共有メモリシステム | |
US11799799B2 (en) | Use of stashing buffers to improve the efficiency of crossbar switches | |
US20060047891A1 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
US7627672B2 (en) | Network packet storage method and network packet transmitting apparatus using the same | |
JP2005287038A (ja) | Ddrsdramを用いた小型パケット交換ノード記憶装置およびメモリへのアクセス方法 | |
US7991926B1 (en) | Scalable memory architecture for high speed crossbars using variable cell or packet length | |
US9838500B1 (en) | Network device and method for packet processing | |
US9063841B1 (en) | External memory management in a network device | |
EP2524295B1 (en) | Memory management using packet segmenting and forwarding | |
KR102524566B1 (ko) | 언더런을 방지하기 위한 패킷 메모리 시스템, 방법, 및 디바이스 | |
KR100548214B1 (ko) | 복수의 인터페이스를 통해 패킷을 전송하기 위한 정보 독출을 미리 수행하여 패킷 전송을 빠르게 수행하는 패킷 포워딩 시스템 및 그 방법 | |
US8923315B2 (en) | Packet router having a hierarchical buffer structure | |
US8050263B1 (en) | Device and process for efficient multicasting | |
JP5497743B2 (ja) | 複数のプロセスからメモリ領域へのアクセスを制御する方法、及び、本方法を実現するためのメッセージメモリを備えた通信モジュール | |
US20080273531A1 (en) | Data switch and a method of switching | |
JP6206497B2 (ja) | データ転送装置およびデータ転送方法 | |
JP5691419B2 (ja) | 要求転送装置及び要求転送方法 | |
CN112088521A (zh) | 一种用于高带宽、高容量交换机的内存设备 | |
JP2005252953A (ja) | クロスバスイッチ及びネットワーク転送装置 | |
KR20110084592A (ko) | 신호 전달 제어 장치 및 그의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110613 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130607 |
|
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: 20130702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130715 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5332430 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |