JP2005032225A5 - - Google Patents

Download PDF

Info

Publication number
JP2005032225A5
JP2005032225A5 JP2004136005A JP2004136005A JP2005032225A5 JP 2005032225 A5 JP2005032225 A5 JP 2005032225A5 JP 2004136005 A JP2004136005 A JP 2004136005A JP 2004136005 A JP2004136005 A JP 2004136005A JP 2005032225 A5 JP2005032225 A5 JP 2005032225A5
Authority
JP
Japan
Prior art keywords
sequence number
grant
data
interconnect device
interconnect
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.)
Withdrawn
Application number
JP2004136005A
Other languages
English (en)
Other versions
JP2005032225A (ja
Filing date
Publication date
Priority claimed from US10/431,975 external-priority patent/US20040225734A1/en
Application filed filed Critical
Publication of JP2005032225A publication Critical patent/JP2005032225A/ja
Publication of JP2005032225A5 publication Critical patent/JP2005032225A5/ja
Withdrawn legal-status Critical Current

Links

Claims (51)

  1. 複数の相互接続デバイス間におけるデータの通信方法であって、ソース相互接続デバイスが宛先相互接続デバイスへデータを通信することを許可する各許可に関連づけされたシーケンス番号を割り当て、キューイングされた許可のシーケンス番号を基準送信シーケンス番号と比較し、該比較に応じてデータを通信する、という各ステップを含む、複数の相互接続デバイス間におけるデータの通信方法。
  2. 前記シーケンス番号が許可シーケンス番号であり、前記データがデータパケットという形のものであり、該方法が、各許可に許可シーケンス番号を1つずつ割り当て、該許可シーケンス番号が、各許可を実行すべき順序を画定し、キューイングされた許可の許可シーケンス番号を基準送信シーケンス番号と比較し、該比較に応じて許可を実行することによりデータを通信する、という各ステップを含む、請求項1に記載の方法。
  3. 各相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準送信シーケンス番号と比較するステップを含む、請求項2に記載の方法。
  4. アービタにおいて一連の許可シーケンス番号を特定の相互接続デバイスの各々に割り当るステップを含み、該許可シーケンス番号が、特定の相互接続デバイスの各々に一意に関連づけされ、及び他の相互接続デバイスが該特定の相互接続デバイスへデータパケットを通信する順序を画定する、請求項3に記載の方法。
  5. 前記特定の相互接続デバイスへデータパケットが通信された際に、他の全ての相互接続デバイスにおいて、前記特定の相互接続デバイスに関連づけされた基準送信シーケンス番号をインクリメントするステップを含む、請求項4に記載の方法。
  6. 既定の最大数の許可が未実行のままになっているときに更なる許可シーケンス番号の発行を控えるステップを含む、請求項4に記載の方法。
  7. 前記許可シーケンス番号及び前記送信シーケンス番号がnビットのバイナリ値である、請求項2に記載の方法。
  8. 前記相互接続デバイスが、スイッチの一部を形成する入出力ポートであり、該方法が、許可の実行時に該スイッチを介してデータパケットを通信するステップを含む、請求項2に記載の方法。
  9. 前記シーケンス番号が許可シーケンス番号であり、前記データがデータパケットという形のものであり、該方法が、各許可に許可シーケンス番号を1つずつ割り当て、該許可シーケンス番号が、各許可に関連づけされたデータパケットをプリフェッチバッファへ移動する順序を画定し、キューイングされた許可の許可シーケンス番号を基準プリフェッチシーケンス番号と比較し、該比較に応じてデータパケットを前記プリフェッチバッファに移動する、という各ステップを含む、請求項1に記載の方法。
  10. 各相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、前記相互接続デバイスから次に通信すべきデータパケットに関連づけされた許可のプリフェッチシーケンス番号を識別する基準プリフェッチシーケンス番号と比較するステップを含む、請求項9に記載の方法。
  11. アービタにおいて一連の許可シーケンス番号を特定の相互接続デバイスの各々に割り当るステップを含み、該許可シーケンス番号が、特定の相互接続デバイスの各々に一意に関連づけされ、及び該許可シーケンス番号に応じて通信のためにプリフェッチバッファ内にデータパケットを移動する順序を画定する、請求項10に記載の方法。
  12. データパケットが前記プリフェッチバッファへ移動された際に、前記特定の相互接続デバイスに関連づけされた基準プリフェッチシーケンス番号を他の全ての相互接続デバイスにおいてインクリメントするステップを含む、請求項11に記載の方法。
  13. 前記許可シーケンス番号及び前記プリフェッチシーケンス番号がnビットのバイナリ値である、請求項9に記載の方法。
  14. データの通信を許可する許可を受信し、該許可から許可シーケンス番号を抽出する、という各ステップを更に含む、請求項1に記載の方法。
  15. 前記データがデータパケットという形のものであり、該方法が、前記相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準送信シーケンス番号と比較するステップを含む、請求項14に記載の方法。
  16. 複数の関連づけされた相互接続デバイスの各々毎の基準送信シーケンス番号を該相互接続デバイスにおいて記憶するステップを含み、各基準送信シーケンス番号が、特定の関連づけされた相互接続デバイスと一意に関連づけされ、及び前記相互接続デバイスがデータパケットを関連づけされた相互接続デバイスに通信する順序を画定する、請求項15に記載の方法。
  17. 特定の相互接続デバイスによりデータパケットが通信されている間に基準送信インクリメント信号を関連づけされた相互接続デバイスに通信するステップを含む、請求項16に記載の方法。
  18. 前記基準送信インクリメント信号に応じて、前記複数の関連づけされた相互接続デバイスの各々毎に前記基準送信シーケンス番号をインクリメントするステップを含む、請求項17に記載の方法。
  19. 前記許可シーケンス番号がnビットのバイナリ値である、請求項14に記載の方法。
  20. 前記相互接続デバイスが、スイッチの一部を形成する入出力ポートである、請求項14に記載の方法。
  21. 相互接続デバイスが関連づけされた相互接続デバイスのうちの1つにデータパケットを通信することを許可する許可に関連づけされた許可シーケンス番号を受信し、該許可シーケンス番号が、各許可に関連づけされたデータパケットを前記相互接続デバイスのプリフェッチバッファへ移動する順序を画定し、前記許可の前記許可シーケンス番号を基準プリフェッチシーケンス番号と比較し、該比較に応じてデータパケットを前記プリフェッチバッファ内に移動する、という各ステップを含む、請求項14に記載の方法。
  22. 各相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準プリフェッチシーケンス番号と比較するステップを含む、請求項21に記載の方法。
  23. アービタが一連の許可シーケンス番号を全ての相互接続デバイスに割り当るステップを含み、該許可シーケンス番号が、特定の相互接続デバイスの各々に一意に関連づけされ、及び該許可シーケンス番号に応じて通信のために前記プリフェッチバッファ内にデータパケットを移動する順序を画定する、請求項22に記載の方法。
  24. データパケットが前記プリフェッチバッファ内へ移動された際に、関連づけされた相互接続デバイスへ基準プリフェッチインクリメント信号を通信するステップを含む、請求項23に記載の方法。
  25. 前記基準プリフェッチインクリメント信号に応じて前記複数の関連づけされた相互接続デバイスの各々毎に前記基準プリフェッチシーケンス番号をインクリメントするステップを含む、請求項23に記載の方法。
  26. 前記許可シーケンス番号及び前記プリフェッチシーケンス番号がnビットのバイナリ値である、請求項21に記載の方法。
  27. 宛先インタフェースデバイスにデータを通信するための許可要求を相互接続デバイスから受信し、許可を実行すべきときを画定する許可シーケンス番号を前記許可に選択的に割り当て、前記許可シーケンス番号を前記相互接続デバイスに通信する、という各ステップを更に含む、請求項1に記載の方法。
  28. 前記許可シーケンス番号が、前記相互接続デバイスに通信される許可内に含まれている、請求項27に記載の方法。
  29. アービタにおいて各特定の相互接続デバイス毎に一連の許可シーケンス番号を割り当てるステップを含み、該許可シーケンス番号が、特定の相互接続デバイスが宛先相互接続デバイスとして機能しているときに該各特定の相互接続デバイスと一意に関連づけされ、及び他の相互接続デバイスがデータパケットという形のデータを宛先相互接続デバイスに通信する順序を画定する、請求項27に記載の方法。
  30. 既定の最大数の許可が未実行のままになっているときに更なる許可シーケンス番号の発行を控えるステップを含む、請求項27に記載の方法。
  31. 許可が実行されたときを監視し、許可の実行に応じて未処理の許可カウンタをデクリメントする、という各ステップを含む、請求項30に記載の方法。
  32. 前記許可シーケンス番号がnビットのバイナリ値である、請求項27に記載の方法。
  33. 請求項1ないし請求項32の各ステップの全てをコンピュータ上で実行するためのコンピュータプログラムコード手段を含む、コンピュータプログラム。
  34. コンピュータにより読み出すことができる媒体で実施された、請求項33に記載のコンピュータプログラム。
  35. 複数の相互接続デバイス間でデータを通信するシステムであって、ソース相互接続デバイスが宛先相互接続デバイスへデータを通信することを許可する各許可に関連づけされたシーケンス番号を割り当てるアービタと、キューイングされた許可のシーケンス番号を基準送信シーケンス番号と比較するコンパレータと、該比較に応じてデータを通信するデータ送信モジュールとを含むシステム。
  36. 前記シーケンス番号が許可シーケンス番号であり、前記データがデータパケットという形のものであり、 前記アービタが、各許可に許可シーケンス番号を1つずつ割り当て、該許可シーケンス番号が、各許可を実行すべき順序を画定し、前記コンパレータが、キューイングされた許可の許可シーケンス番号を基準送信シーケンス番号と比較し、前記データ送信モジュールが、前記比較に応じて許可を実行することによりデータを通信する、請求項35に記載のシステム。
  37. 前記コンパレータが、各相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準送信シーケンス番号と比較する、請求項36に記載のシステム。
  38. 前記シーケンス番号が許可シーケンス番号であり、前記データがデータパケットという形のものであり、前記アービタが、許可シーケンス番号を各許可に割り当て、該許可シーケンス番号が、各許可に関連づけされたデータパケットをプリフェッチバッファに移動する順序を画定し、前記コンパレータが、キューイングされた許可の許可シーケンス番号を基準プリフェッチシーケンス番号と比較し、前記データ送信モジュールが、前記比較に応じてデータパケットを前記プリフェッチバッファに移動する、請求項35に記載のシステム。
  39. 前記コンパレータが、各相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、前記相互接続デバイスから次に通信すべきデータパケットに関連づけされた許可の許可シーケンス番号を識別する基準プリフェッチシーケンス番号と比較する、請求項38に記載のシステム。
  40. 相互接続により受信されたデータを、関連づけされた相互接続デバイスに通信することを許可する許可を受信するよう構成された許可モジュールと
    前記許可から許可シーケンス番号を抽出して該許可シーケンス番号を基準送信シーケンス番号と比較するよう構成されたプロセッサ
    を含む、請求項35に記載のシステム
  41. 前記データがデータパケットという形のものであり、前記プロセッサが、前記相互接続デバイスにおいて、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準送信シーケンス番号と比較する、請求項40に記載のシステム
  42. 複数の関連づけされた相互接続デバイスの各々毎の基準送信シーケンス番号を記憶するバッファを含み、各基準送信シーケンス番号が、特定の関連づけされた相互接続デバイスと一意に関連づけされて、前記相互接続デバイスがデータパケットを関連づけされた相互接続デバイスに通信する順序を画定する、請求項41に記載のシステム
  43. 特定の相互接続デバイスによりデータパケットが通信されている間に基準送信インクリメント信号を関連づけされた相互接続デバイスに通信する、請求項42に記載のシステム
  44. 相互接続デバイスがデータパケットを関連づけされた相互接続デバイスのうちの1つに通信することを許可する許可に関連づけされた許可シーケンス番号を記憶するメモリを含み、前記許可シーケンス番号が各許可に関連づけされたデータパケットを相互接続デバイスのプリフェッチバッファに移動する順序を画定し、前記プロセッサが許可の許可シーケンス番号を基準プリフェッチシーケンス番号と比較し、該比較に応じてデータパケットを前記プリフェッチバッファに移動する、請求項42に記載のシステム
  45. 前記プロセッサが、次のキューイングされた許可の許可シーケンス番号を、次に実行すべき許可の許可シーケンス番号を識別する基準プリフェッチシーケンス番号と比較する、請求項44に記載のシステム
  46. 前記プリフェッチバッファにデータパケットが移動した際に、前記データ送信モジュールが、基準プリフェッチインクリメント信号を、関連づけされた相互接続デバイスに通信する、請求項45に記載のシステム
  47. 前記プロセッサが、関連づけされたプリフェッチ入力信号に応じて、複数の関連づけされた相互接続デバイスの各々毎に基準プリフェッチシーケンス番号をインクリメントする、請求項45に記載のシステム
  48. 前記アービタが複数の相互接続デバイスに発行された許可の実行を管理するよう構成され、該アービタが許可アロケータを含み、該許可アロケータが、宛先インタフェースデバイスにデータを通信するための許可要求を相互接続デバイスから受信し、許可を実行すべき時を画定する許可シーケンス番号を前記許可に選択的に割り当て、及び前記許可シーケンス番号を前記相互接続デバイスに通信するよう構成されている請求項35に記載のシステム
  49. 前記許可シーケンス番号が、前記相互接続デバイスに通信される許可内に含まれている、請求項48に記載のシステム
  50. 前記アロケータが、各特定の相互接続デバイス毎に一連の許可シーケンス番号を割り当て、該許可シーケンス番号が、特定の相互接続デバイスが宛先相互接続デバイスとして機能しているときに各特定の相互接続デバイスと一意に関連づけされて、他の相互接続デバイスがデータパケットという形のデータを宛先相互接続デバイスに通信する順序を画定する、請求項48に記載のシステム
  51. 前記アロケータが、既定の最大数の許可が未実行のままになっているときに、更なる許可シーケンス番号の発行を控える、請求項50に記載のシステム
JP2004136005A 2003-05-07 2004-04-30 複数の相互接続デバイス間のデータ通信を制御する方法及びシステム Withdrawn JP2005032225A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/431,975 US20040225734A1 (en) 2003-05-07 2003-05-07 Method and system to control the communication of data between a plurality of inteconnect devices

Publications (2)

Publication Number Publication Date
JP2005032225A JP2005032225A (ja) 2005-02-03
JP2005032225A5 true JP2005032225A5 (ja) 2007-06-07

Family

ID=32393608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004136005A Withdrawn JP2005032225A (ja) 2003-05-07 2004-04-30 複数の相互接続デバイス間のデータ通信を制御する方法及びシステム

Country Status (3)

Country Link
US (1) US20040225734A1 (ja)
JP (1) JP2005032225A (ja)
GB (1) GB2401519B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058947B1 (en) * 2000-05-02 2006-06-06 Microsoft Corporation Resource manager architecture utilizing a policy manager
US20040254931A1 (en) * 2003-05-29 2004-12-16 Marconi Communications, Inc. Multiple key self-sorting table
US7733855B1 (en) 2004-06-08 2010-06-08 Oracle America, Inc. Community separation enforcement
US7639616B1 (en) 2004-06-08 2009-12-29 Sun Microsystems, Inc. Adaptive cut-through algorithm
US8964547B1 (en) 2004-06-08 2015-02-24 Oracle America, Inc. Credit announcement
US7602712B2 (en) * 2004-06-08 2009-10-13 Sun Microsystems, Inc. Switch method and apparatus with cut-through routing for use in a communications network
US7860096B2 (en) * 2004-06-08 2010-12-28 Oracle America, Inc. Switching method and apparatus for use in a communications network
US7533109B2 (en) * 2005-04-26 2009-05-12 Hewlett-Packard Development Company, L.P. Item queue management
CA2562592A1 (en) * 2005-11-28 2007-05-28 Tundra Semiconductor Corporation Method and system for handling multicast event control symbols
WO2010110289A1 (ja) * 2009-03-24 2010-09-30 日本電気株式会社 ルータ装置、半導体集積回路装置、ルーティング方法及びプログラム
CN103040139A (zh) * 2012-12-25 2013-04-17 苏州铭晋纺织有限公司 新型可调节松紧的衣服
US9306865B2 (en) * 2014-03-12 2016-04-05 Oracle International Corporation Virtual port mappings for non-blocking behavior among physical ports
US11284301B2 (en) * 2017-04-17 2022-03-22 Qualcomm Incorporated Flow control for wireless devices

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4473880A (en) * 1982-01-26 1984-09-25 Intel Corporation Arbitration means for controlling access to a bus shared by a number of modules
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines
FI99186C (fi) * 1995-11-07 1997-10-10 Nokia Oy Ab Yläsuunnan saantimenetelmä kaksisuuntaisessa tietoliikennejärjestelmässä
US7102999B1 (en) * 1999-11-24 2006-09-05 Juniper Networks, Inc. Switching device
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6636913B1 (en) * 2000-04-18 2003-10-21 International Business Machines Corporation Data length control of access to a data bus
GB0012592D0 (en) * 2000-05-24 2000-07-12 Power X Limited High speed digital switch arbiter
EP1168725B1 (en) * 2000-06-19 2005-06-15 Broadcom Corporation Switch fabric with path redundancy
US7042891B2 (en) * 2001-01-04 2006-05-09 Nishan Systems, Inc. Dynamic selection of lowest latency path in a network switch
US20020118692A1 (en) * 2001-01-04 2002-08-29 Oberman Stuart F. Ensuring proper packet ordering in a cut-through and early-forwarding network switch
JP3854132B2 (ja) * 2001-11-26 2006-12-06 富士通株式会社 ルーティング装置及びルータ装置
US7072352B2 (en) * 2002-02-21 2006-07-04 Intel Corporation Inverse multiplexing of unmanaged traffic flows over a multi-star network
US6879590B2 (en) * 2002-04-26 2005-04-12 Valo, Inc. Methods, apparatuses and systems facilitating aggregation of physical links into logical link
US6954811B2 (en) * 2002-07-19 2005-10-11 Calix Networks, Inc. Arbiter for an input buffered communication switch
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US7193994B1 (en) * 2002-08-16 2007-03-20 Intel Corporation Crossbar synchronization technique
US20040081108A1 (en) * 2002-10-02 2004-04-29 Andiamo Systems Arbitration system
US7221650B1 (en) * 2002-12-23 2007-05-22 Intel Corporation System and method for checking data accumulators for consistency
US7519060B2 (en) * 2003-03-19 2009-04-14 Intel Corporation Reducing inter-packet gaps in packet-based input/output communications
US7089380B1 (en) * 2003-05-07 2006-08-08 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system to compute a status for a circular queue within a memory device

Similar Documents

Publication Publication Date Title
US7826349B2 (en) Connection management mechanism
JP2005032225A5 (ja)
EP1861787B1 (en) Bus access arbitration scheme
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
US10261926B2 (en) Semaphore for multi-core processor
JPH02242462A (ja) データ・バスへのアクセスを制御する装置
JP2009508247A (ja) バス調停に関する方法及びシステム
CN109388338B (zh) 云计算环境中的基于NVMe的存储系统的混合框架
US10031786B2 (en) Lockless multithreaded completion queue access
US10929025B2 (en) Data storage system with I/O determinism latency optimization
KR20210129585A (ko) 계층적 대역폭 할당 버스 중재기
US20040190554A1 (en) Fair multilevel arbitration system
JP2002217962A5 (ja)
US20190012096A1 (en) Apparatus and method for enforcing timing requirements for a memory device
CN113595926A (zh) 基于数据中台的api数据传输方法、装置、设备和介质
CN112181887B (zh) 数据传输方法及装置
US11256621B2 (en) Dual controller cache optimization in a deterministic data storage system
US20040225734A1 (en) Method and system to control the communication of data between a plurality of inteconnect devices
WO2007034184A2 (en) Address encryption/rate pacing
US8140728B1 (en) Data packet arbitration system
JP2013101617A5 (ja)
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US20070005866A1 (en) System and method for managing the sharing of PCI devices across multiple host operating systems
US8135878B1 (en) Method and apparatus for improving throughput on a common bus
KR100973419B1 (ko) 버스 중재 방법 및 장치