JP2008118630A - バスポートルータ管理システム - Google Patents

バスポートルータ管理システム Download PDF

Info

Publication number
JP2008118630A
JP2008118630A JP2007263553A JP2007263553A JP2008118630A JP 2008118630 A JP2008118630 A JP 2008118630A JP 2007263553 A JP2007263553 A JP 2007263553A JP 2007263553 A JP2007263553 A JP 2007263553A JP 2008118630 A JP2008118630 A JP 2008118630A
Authority
JP
Japan
Prior art keywords
data packet
smbus
block
control processor
router
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
JP2007263553A
Other languages
English (en)
Inventor
Stephen Cooley
スティーヴン・クーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
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 Honeywell International Inc filed Critical Honeywell International Inc
Publication of JP2008118630A publication Critical patent/JP2008118630A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】システムコンポーネント間でデータパケット及びコマンドを転送することを可能とする。
【解決手段】制御プロセッサと複数の周辺コンポーネントとの間でデータパケットを送信する方法は、ルータにおいて、第1のプロトコルでフォーマットされたコマンドデータパケット内に埋め込まれた情報を取得することと、ルータにおいて、再フォーマットされたコマンドデータパケットを形成することと、及びルータから前記再フォーマットされたコマンドデータパケットを送信すること、とからなる。再フォーマットされたコマンドデータパケットは、第2のプロトコルに従ってフォーマットされ、前記再フォーマットされたコマンドデータパケットは、前記取得したデータを含む。
【選択図】図1

Description

本出願は、2006年8月31日に出願された、合衆国特許出願No.11/469,176(代理人整理番号No.H0011947.72856)題名:「システム管理バスポートスイッチ」(また「11/469,176出願」としてここでは参照する)に関連する。11/469,176出願は、この参照により本願に取り入れる。本出願はまた、2006年8月31日に出願された、合衆国特許出願No.11/469,207(代理人整理番号No.H0012926−5802)題名:「システム管理バス実装のためのプロトコル埋め込み方法」(また「11/469,207出願」としてここでは参照する)。11/469,207出願は、この参照により本願に取り入れる。
埋め込み(embedded)計算機システムは通常、システムのコンポーネント間でデータパケット及びコマンドを転送するために使用されるルータを含む。
周辺コンポーネントが、制御プロセッサ又は周辺コンポーネントのマスタへのアクセスを有することは有用である。例えば、システム設計者は、時々制御プロセッサのメモリ内部にあるバッファ内へ及び外に、周辺コンポーネントがデータを転送できることを望む。中には周辺コンポーネントが制御プロセッサへステータス及び構成情報を送信中の役割をアクティブに維持するように要求されるシステムもある。これは一般に、周辺コンポーネントそれぞれの調子及びステータスを決定するために、周辺コンポーネントを継続的又は周期的にポーリングするマスタ又は制御プロセッサによって実現される。
プライマリバスが中断されても周辺コンポーネント上でステータスチェックを維持することは有用である。
US特許出願 No.11/469,176 題名:「A SYSTEM MANAGEMENT BUS PORT SWITCH」 US特許出願 No.11/469,207 題名:「A METHOD TO EMBED PROTOCOL FOR SYSTEM MANAGEMENT BUS IMPLEMENTATION」
一実施形態において、制御プロセッサと複数の周辺コンポーネントとの間でデータパケットを送信する方法は、ルータにおいて、第1のプロトコルでフォーマットされたコマンドデータパケット内に埋め込まれた情報を取得することと、ルータにおいて、再フォーマットされたコマンドデータパケットを形成することと、及びルータから前記再フォーマットされたコマンドデータパケットを送信すること、とからなる。再フォーマットされたコマンドデータパケットは、第2のプロトコルに従ってフォーマットされ、前記再フォーマットされたコマンドデータパケットは、前記取得したデータを含む。
一般的な習慣により、多様に記述された特徴は、一定の縮尺で記述されているのではなく、本発明に関係ある特徴を強調して描いている。参照の数字や符号といった文字は、図や文の始めから終わりまで、同様の構成要素を意味する。
後述する詳細部分では、明細書の一部をなす添付図面を参照している。図面では、本発明を実施できるように特定の実施形態を図によって示す。これらの実施形態は、当業者が本発明を実施できるように、十分に詳細に記述する。さらに本発明の趣旨及び範囲を逸脱することなく、他の実施形態も利用でき、また論理的、機械的、電気的変更も本発明の範囲から逸脱することなしに実施され得ることが理解できる。従って以下の詳細な記述は、限定を意図したものではないと言うことができる。
図1は、本発明によるルータ30を実現するためのシステム10の一実施形態のブロック図である。システム10は、制御プロセッサ20、ルータ30及び番号55で一般的に示される複数の周辺コンポーネントを含む。制御プロセッサ20は、ルータ30と通信可能に接続される。制御プロセッサ20は、ルータ30にデータパケットを送信し、複数のコンポーネント55の周辺コンポーネントそれぞれは、制御プロセッサ20へデータパケットを送信する。データパケットという語句はまた、ここで「コマンドデータパケット」としても参照され、マスタはスレーブが応答するように読み出しコマンド又は書込みコマンドを開始する。コマンドデータパケットは、スレーブアドレス、コマンドコード、バイトカウント、アドレスオフセット、ブロック長、データバイト及びパケットエラーコードのような埋め込まれた情報を含む。
ルータ30は、コントローラインタフェース(I/F)35、バスインタフェース(I/F)36及びポート番号40、41及び42によって一般的に示された複数のポートを含む。バスインタフェース36は、(図1の状態機械37のように表示される)マスタ/スレーブ状態機械37を含む。ルータ30はまた、ここで説明される方法を実行するためのソフトウェア、ファームウェア又は別のプログラムコードのような計算機実行可能命令39を有する計算機可読メディア38も含む。計算機可読メディア38及び計算機実行可能命令39が、バスインタフェース(I/F)36及びマスタ/スレーブ状態機械37とは別に示されるが、この実施形態の一実装においては、計算機可読メディア38及び計算機実行可能命令39が、バスインタフェース(I/F)36及びマスタ/スレーブ状態機械37と一体なものである。
制御インタフェース35は、制御プロセッサ20から第1のプロトコルに従ってフォーマットされたデータパケットを受信する。バスインタフェース36は、受信したデータパケットを第1のプロトコルから第2のプロトコルへ再フォーマットする。制御プロセッサ20から受信された各データパケットは、第2のプロトコルに従ってフォーマットされ、通信可能に接続されたポート40、41又は42のうち1つを経由し、複数の周辺コンポーネント55の1つ以上へ転送される。第2のプロトコルに従って再フォーマットされたデータパケットは、ここで「再フォーマットされたデータパケット」として参照される。同様に、通信可能に接続されたポート40、41又は42のうちの1つを経由して複数の周辺コンポーネント55のうちの1つから受信したそれぞれのデータパケットは、第2のプロトコルに従ってフォーマットされ、制御プロセッサ20へ転送される。バスインタフェース36内のマスタ/スレーブ状態機械37は、データパケットの再フォーマットの間、バスインタフェース36の機能を制御する。
複数の周辺コンポーネント55は、複数の周辺コンポーネント55のサブセット50、51及び52からなる。複数の周辺コンポーネント55のサブセット50は、ルータ30のポート40に通信可能に接続される。サブセット50は、周辺コンポーネント60〜62を含む。ポート40を経由して転送されるデータパケットは、周辺コンポーネント60〜62へ送信される。
複数の周辺コンポーネント55のサブセット51は、ルータ30のポート41に通信可能に接続される。サブセット51は、周辺コンポーネント63〜65を含む。ポート41を経由して転送されるデータパケットは、周辺コンポーネント63〜65へ送信される。
同様に、複数の周辺コンポーネント55のサブセット52は、ルータ30のポート42に通信可能に接続される。サブセット52は、周辺コンポーネント66を含む。ポート42を経由して転送されるデータパケットは、周辺コンポーネント66へ送信される。この実施形態の一実装においては、サブセット52は、1つ以上の周辺コンポーネントを含む。
この実施形態の一実装においては、ルータ30は12個のポートを含む。この実施形態の別の実装においては、ルータ30は、12個のポートを含み、各ポートは5つの周辺コンポーネントと通信可能に接続される。
複数の周辺コンポーネント55のそれぞれは、メモリロケーション、ステータスレジスタ及び構成レジスタのような1つ以上の内部ロケーションを含む。例示した実施形態において、周辺コンポーネント60は、内部ロケーション70、71及び72を含み、周辺コンポーネント63は、内部ロケーション80、81及び82を含み、周辺コンポーネント66は、内部ロケーション90、91及び92を含む。周辺コンポーネント61、62、64及び65内の内部ロケーションは、図1中に示されていない。制御プロセッサ20は、その内部ロケーションで機器構成及び制御レジスタにアクセスする。例えば、制御プロセッサ20は、周辺コンポーネント60、63及び66において、それぞれ内部ロケーション70〜72、80〜82、90〜92で機器構成及び制御レジスタにアクセスする。
ルータ30のマスタ/スレーブ状態機械37は、制御プロセッサ20から受信したデータパケットを再フォーマットする。特にバスインタフェース36は、ルータ30から送信されたデータパケットが第2のプロトコルに従ってフォーマットされるように、第1のプロトコルに従ってフォーマットされる受信したデータパケットを修正する。このようにしてバスインタフェース36及びルータ30内のマスタ/スレーブ状態機械37は、制御プロセッサ20とその複数の周辺コンポーネント55との間でコマンドを転送する。コントローラインタフェース35は、周辺コンポーネント60、61、62、63、64、65又は66のアドレス及びアドレス指定された周辺コンポーネント60、61、62、63、64、65又は66に送信されるべきデータを受信する。アドレス指定された周辺コンポーネント60、61、62、63、64、65又は66は、ここで「ターゲットの周辺コンポーネント60、61、62、63、64、65又は66」として参照される。複数の周辺コンポーネント55は、制御プロセッサ20がデータパケットを開始し、複数の周辺コンポーネント55のうちの1つがデータパケットを完了するとき、ルータ30にとってスレーブ装置である。
同様に、複数の周辺コンポーネント55のうちの1つがデータパケットを開始し、制御プロセッサ20がデータパケットを完了するとき、ルータ30から送信されたデータパケットが第1のプロトコルに従ってフォーマットされるように、バスインタフェースは、第2のプロトコルに従ってフォーマットされた受信したデータパケットを修正する。この場合、制御プロセッサ20は、ルータ30にとってスレーブ装置であり、周辺コンポーネント60、61、62、63、64、65又は66は、ルータ30にとってマスタ装置である。
この実施形態の一実装においては、コントローラ20から受信した第1のプロトコルデータパケットは、RS232データパケットである。この実施形態の別の実装においては、コントローラ20から受信した第1のプロトコルデータパケットは、スペースワイヤプロトコル(宇宙機用ネットワーク規格)に従ってフォーマットされる。実施形態のさらに別の実装においては、コントローラ20から受信した第1のプロトコルデータパケットは、ラピッドIOプロトコルに従ってフォーマットされる。実施形態のさらに別の実装においては、コントローラ20から受信した第1のプロトコルデータパケットは、スペースワイヤプロトコルに従ってフォーマットされ、ルータ30から送信された第2のプロトコルデータパケットは、システム管理バスプロトコルに従ってフォーマットされる。後者の実施形態を実装するシステムを図2に示す。
制御プロセッサ20は、システム10のルータ30を経由して周辺コンポーネント60〜66へデータパケットを送信する。この実施形態の別の実装においては、制御プロセッサ20は、システムステータス及び構成の問い合わせを実施するためにルータ30を経由して周辺コンポーネント60〜66へデータパケットを送信する。この実施形態のさらに別の実装においては、制御プロセッサ20は、プライマリバスの活動を中断せずにシステムステータス及び構成の問い合わせを実施するためにルータ30を経由して周辺コンポーネント60〜66へデータパケットを送信する。この実施形態の一実装においては、制御プロセッサは、プライマリバスが多用による失敗又は速度低下のときに代替バスを経由してシステムステータス及び構成の問い合わせを実施する。この実施形態の別の実装においては、制御プロセッサ20は、代替バスを経由し、システムステータス及び構成のすべての問い合わせを実施する。
この実施形態のさらに別の実装においては、周辺コンポーネント60、61、62、63、64、65又は66は、システム10のルータ30を経由し、制御プロセッサ20へデータパケット送信を開始する。このような一実装では、ここで説明されるように周辺コンポーネント60がデータパケットを送信開始するとき、周辺コンポーネントは、制御プロセッサへステータス及び/又は構成情報を報告している。このような別の実装では、ここで説明されるように周辺コンポーネント60がデータパケットを送信開始するとき、周辺コンポーネントは、制御プロセッサによる問い合わせをリクエストしている。したがって、「開始する」という語句は、周辺コンポーネントに関して使用されるとき、「報告する」及び/又は「問い合わせをリクエストする」という語句と交換できる。この実施形態の例示的な実装においては、周辺コンポーネント60、61、62、63、64、65又は66は、制御プロセッサ20へステータスデータ、例えばシステムステータス及び構成を送信するために、ルータ30を経由して制御プロセッサ20へデータパケットを送信することによって制御プロセッサ20に報告する。この実施形態の別の例示的な実装においては、周辺コンポーネント60、61、62、63、64、65又は66は、プライマリバスの活動を中断せずに、制御プロセッサ20へステータスデータを送信するためにルータ30を経由して制御プロセッサ20へデータパケットを送信することによって制御プロセッサ20に報告する。この実施形態のさらに別の例示的な実装では、周辺コンポーネント60、61、62、63、64、65又は66は、プライマリバスが多用による失敗又は速度低下するときに代替バスを経由して周辺コンポーネントのシステムステータス及び構成について制御プロセッサによる問い合わせをリクエストする。この実施形態の別の例示的な実装においては、周辺コンポーネント60、61、62、63、64、65又は66は、すべての問い合わせリクエストを作成し、代替バスを経由して制御プロセッサによるすべての問い合わせに応答する。
図2は、本発明によるルータを実現するためのルータシステム12の一実施形態のブロック図である。ルータシステム12は、ルータ30が、ここではまた「SMBusルータ130」及び「ルータ130」として参照されるシステム管理バス(SMBus)ポートルータ130と置き換えられるシステム10の実施形態である。SMBusポートルータ130は、SMBusコントローラインタフェース(I/F)135、SMBusインタフェース(I/F)136及び複数のポート140〜142を含む。SMBusインタフェース136は、(図2のSMBus状態機械137のように示される)SMBusマスタ/スレーブ状態機械137を含む。ルータ30はまた、ここで説明される方法を実行するためのソフトウェア、ファームウェア又は別のプログラムコードのような計算機実行可能命令239を有する計算機可読メディア238も含む。計算機可読メディア238及び計算機実行可能命令239は、バスインタフェース(I/F)136及びSMBusマスタ/スレーブ状態機械137と別に示されるが、この実施形態の一実装では、計算機可読メディア238及び計算機実行可能命令239が、バスインタフェース(I/F)136及びSMBusマスタ/スレーブ状態機械137と一体なものである。
特にSMBusポートルータ130内部でバスインタフェース36は、システム管理バスインタフェース136と置き換えられ、マスタ/スレーブ状態機械37は、システム管理バスインタフェース136の機能を制御するシステム管理バスマスタ/スレーブ状態機械137に置き換えられる。このようにルータシステム12は、制御プロセッサ20、SMBusポートルータ130及びSMBusポートルータ130のポート140、141又は142の1つと通信可能に接続された複数の周辺コンポーネント55を含む。制御プロセッサ20は、SMBusポートルータ130と通信可能に接続されている。制御プロセッサ20は、SMBusポートルータ130にデータパケットを送信する。この実施形態の一実装においては、ルータシステム12は、プライマリバスの失敗が検出されるときか又はシステムステータス及び構成の問い合わせがプライマリバスの活動を中断せずに実現されるときに実装される。
複数の周辺コンポーネント55は、図1の参照して前述したように、サブセット50、51及び52からなる。サブセット50は、ルータ130のポート140と通信可能に接続されている。ポート140を経由して転送されたデータパケットは、周辺コンポーネント60〜62へ送信される。サブセット51は、ルータ130のポート141と通信可能に接続されている。ポート141を経由して転送されたデータパケットは、周辺コンポーネント63〜65へ送信される。同様にして、サブセット52は、ルータ130のポート142と通信可能に接続されている。ポート142を経由して転送されたデータパケットは、周辺コンポーネント66へ送信される。
コントローラインタフェース135は、制御プロセッサ20からの第1のプロトコルに従ってフォーマットされたデータパケットを受信する。この実施形態の一実装においては、その第1のプロトコルは、スペースワイヤプロトコルである。この実施形態の別の実装においては、その第1のプロトコルは、ラピッドIOである。この実施形態の別の実装においては、第1のプロトコルは、RS232データパケットである。バスインタフェース136は、受信したデータパケットを第1のプロトコルからシステム管理バス(SMBus)プロトコルへ再フォーマットする。SMBusプロトコルに従ってフォーマットされたデータパケットは、各ポート140、141又は142を経由して複数の周辺コンポーネント55のサブセット50、51又は52へ転送される。SMBusマスタ/スレーブ状態機械137は、そのデータパケットを再フォーマットする間、SMBusインタフェース136の機能を制御する。
ルータ130のSMBusマスタ/スレーブ状態機械37は、制御プロセッサ20から受信したデータパケットを再フォーマットする。特にSMBusインタフェース136は、ルータ130から複数の周辺コンポーネント55へ送信されたデータパケットが、第2のプロトコルに従ってフォーマットされるように、第1のプロトコルに従ってフォーマットされた受信したデータパケットを修正する。このようにしてルータ130内のSMBusインタフェース136及びマスタ/スレーブ状態機械137は、制御プロセッサ20とその複数の周辺コンポーネント55との間でコマンドを転送する。コントローラインタフェース135は、周辺コンポーネント60、61、62、63、64、65又は66のアドレス及びアドレス指定されたその周辺コンポーネント60、61、62、63、64、65又は66へ送信されるデータを受信する。アドレス指定された周辺コンポーネント60、61、62、63、64、65又は66は、ここで「ターゲットの周辺コンポーネント60、61、62、63、64、65又は66」として参照される。制御プロセッサ20がデータパケットを開始し、周辺コンポーネント60、61、62、63、64、65又は66がデータパケットを完了するとき、複数の周辺コンポーネント55は、ルータ130にとって、スレーブ装置である。
同様に、周辺コンポーネント60、61、62、63、64、65又は66がデータパケットを開始し、制御プロセッサ20がデータパケットを完了するとき、ルータ130から送信されたデータパケットが第1のプロトコルに従ってフォーマットされるように、バスインタフェース136は、第2のプロトコルに従ってフォーマットされた受信データパケットを修正する。この場合、制御プロセッサ20は、ルータ130にとってスレーブ装置であり、周辺コンポーネント60、61、62、63、64、65又は66は、ルータ130にとってマスタ装置である。
この実施形態の一実装においては、ルータシステム12のプライマリバスは、制御プロセッサ20と複数の周辺コンポーネント55との間でコマンド及びデータを転送するための埋め込みシステムプライマリバスアーキテクチャを使用する。データパケット転送中に、プライマリバスがロックアップされるか、もしくは、エラーを発生しているとき、制御プロセッサ20は、ルータ130を使用し、それは制御プロセッサ20用の代替バスとして機能する。プライマリバスに対する代替バスとして機能するために、ルータ130におけるSMBusマスタ/スレーブ状態機械137は、データパケットを再フォーマットする。特にバスインタフェース136は、ルータ130から送信されたデータパケットが、SMBusプロトコルに従ってフォーマットされるように、第1のプロトコルに従ってフォーマットされたデータパケットを受信する。このようにして、SMBusインタフェース136及びSMBusポートルータ130内のSMBusマスタ/スレーブ状態機械137は、制御プロセッサ20と複数の周辺コンポーネント55との間でコマンドを送信するために埋め込みシステムプライマリバスアーキテクチャに代替バスを提供する。
図3〜5は、本発明によるルータ内で転送されるデータパケットの実施形態のブロック図である。SMBusプロトコルに従って、ルータ30又はSMBusポートルータ130によって再フォーマットされたデータパケットの構造が図3〜5中に示される。図3〜5中に示された例示的データパケットに関して、区分けはデータフィールドを示し、例えば図4中のデータバイトフィールド158は、データがスレーブからマスタへ送信されることを示すために網掛けされる。同様に、網掛けでない区分けの例えば図3中のスレーブアドレスフィールド150は、そのデータがマスタからスレーブへ送信されることを示す。
制御プロセッサ20がデータパケットを開始する場合、制御プロセッサ20は、マスタであり、ターゲットの周辺コンポーネントはスレーブである。複数の周辺コンポーネント55のうちの1つが、データパケットを開始する場合、開始している周辺コンポーネント60、61、62、63、64、65又は66がマスタであり、制御プロセッサ20はスレーブである。この後者の実施形態の一実装においては、スレーブアドレスは、制御プロセッサ20のアドレスである。この後者の別の実施形態においてスレーブアドレスは、制御プロセッサ20に通信可能に接続されたルータ130のアドレスである。
図3は、本発明によるシステム管理バスプロトコルに従ってフォーマットされた書込みコマンドデータパケット100のブロック図である。SMBusポートルータ130又は前記開始周辺コンポーネント60、61、62、63、64、65又は66の一方であるマスタが、第1のSMBusブロック書込み101及び第2のSMBusブロック書込み102として構造化されたデータパケット100を使用し、システム書込みのための情報を転送する。SMBusブロック書き込みはまた、ここでは「SMBusブロック書き込みデータパケット」として参照され、SMBusブロック読み出しはまた、ここでは「SMBusブロック読み出しデータパケット」として参照される。特に書き込みコマンドデータパケット100は、第2のSMBusブロック書き込み102があとに続く第1のMBusブロック書き込み101を含む。
図3は、本発明による適合したシステム管理バスプロトコルに従って周辺コンポーネント60、61、62、63、64、65又は66の内部ロケーションへ又はからシステムデータを書き込むために使用されるSMBusデータブロック書き込みがあとに続くSMBusアドレスブロック書き込みである。SMBusポートルータ130は、第1のSMBusブロック書き込み101及び第2のSMBusブロック書き込み102として構造化されたデータパケット100を使用し、システム書き込みのための情報を転送する。SMBusブロック書き込み101はまた、ここで「SMBusブロック書き込みデータパケット101」として参照される。SMBusブロック読み出し102はまた、ここで「SMBusブロック読み出しデータパケット102」として参照される。具体的には、再フォーマットされた書込みコマンドデータパケット100は、第2のSMBusブロック書込み102が後に続く第1のSMBusブロック書込み101を含む。
制御プロセッサ20が、周辺コンポーネント60、61、62、63、64、65又は66のうちの1つに、第1のSMBusブロック書込み101及び第2のSMBusブロック書込み102として構造化されたデータパケット100を使用してシステム書込みのための情報を転送している場合、そのデータパケット完了の間、制御プロセッサ20は、マスタであり、周辺コンポーネント60、61、62、63、64、65又は66はスレーブである。この実装は11/469,176出願で詳細に説明されており、そこではここで説明されるルータ機能がスイッチによって実行されていて、ここでは繰り返し言及しない。
複数のコンポーネント55のうちの1つが、第1のSMBusブロック書込み101及び第2のSMBusブロック書込み102として構造化されたデータパケット100を使用し、システム書込みのための情報を制御プロセッサ20へ転送している場合、データパケット100完了の間、周辺コンポーネント60、61、62、63、64、65又は66はマスタであり、制御プロセッサ20はスレーブである。
複数のコンポーネント55のうちの1つが、制御プロセッサ20へ第1のSMBusブロック書込み101及び第2のSMBusブロック書込み102として構造化されたデータパケット100を使用してシステム書込みのための情報を転送しているとき、ここで「アドレスブロック書込み101」としても参照されるSMBusブロック書込み101は、スレーブアドレスフィールド150内のルータ130又は制御プロセッサ20のアドレスを転送する。ここで「データブロック書込み102」としても参照される第2のSMBusブロック書込み102は、データバイトフィールド155、156及び157内の制御プロセッサ20へのデータを転送する。より多くの又はより少ないデータバイトフィールドが、必要に応じて使用され得る。SMBusブロック書込み102内のスレーブアドレスフィールド152は、SMBusブロック書込み101内のスレーブアドレスフィールド150と同様であり、ルータ130のアドレスか制御プロセッサ20のアドレスの一方である。
周辺コンポーネント60、61、62、63、64、65又は66がマスタの場合、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、制御プロセッサ20がアドレス指定されていると決定するためにSMBusポートルータ130によってデコードされる。この実施形態の一実装では、周辺コンポーネント60、61、62、63、64、65及び/又は66に通信可能に接続された1つ以上の制御プロセッサがある。この場合、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、制御プロセッサ20に通信可能に接続されている物のどれがアドレス指定されているかを決定するためにSMBusポートルータ130によってデコードされる。この実施形態の別の実装においては、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、SMBusポートルータ130のアドレスを含み、システム管理バスポートルータ130が、通信可能に接続されたどの制御プロセッサがデータパケット100を完了し得るかを決定するために、SMBusブロック書込み101のアドレスオフセットフィールド145をデコードする。
ブロック長は、ブロック長フィールド148内の第1のSMBusブロック書き込み101に埋め込まれたターゲットアドレスバイトに追加される。制御プロセッサ20は、アクセスされているデータワード数を決定するために、そのブロック長フィールド148内のデータをデコードする。SMBusブロック書き込み101に関するバイトカウントは常に4である。その制御プロセッサ20は、その2つの転送が正当であると確認するために、アドレスブロック書き込み101内で受信されたブロック長を持つデータブロック書き込み102内のバイトカウントフィールド163内で受信したバイトカウントをチェックする。制御プロセッサ20は、SMBusブロック書き込み101及びSMBusブロック書き込み102内に送信されたデータの整合性を守るために、チェックサムとしてパケットエラーコード(PEC)データフィールド149内にデータを受信する。
図4は、本発明による再フォーマットされた読み出しコマンドデータパケット105のブロック図である。ターゲットの周辺コンポーネント60、61、62、63、64、65又は66は、制御プロセッサ20によって開始されるデータパケット105の受信に応答して、SMBusポートルータ130へシステム読み出しのための情報を転送する。同様に、制御プロセッサ20は、複数の周辺コンポーネント55のうちの1つによって開始されるデータパケット105の受信に応答して、SMBusポートルータ130へシステム読み出しのための情報を転送する。データパケット105は、SMBusブロック読み出し104があとに続く1つのSMBusブロック書き込み103として構造化される。SMBusブロック書込み103はまた、ここで「アドレスブロック書込み103」としても参照され、スレーブアドレスフィールド150内のスレーブのアドレスを転送する。複数の周辺コンポーネント55のうちの1つがデータパケット105を開始する場合、制御プロセッサ20は、データパケット105が完了される間、スレーブである。同様に、制御プロセッサ20がデータパケット105を開始する場合、周辺コンポーネント60、61、62、63、64、65又は66は、データパケット105が完了される間、スレーブである。
ターゲットのアドレスは、MBusブロック書き込み103を使用して送信され、これはここで「アドレスブロック書き込み103」としても参照される。アドレス転送は、前述の方法でシステム書込みへの参照と共に実現される。システム読み出しの間リクエストされるデータは、SMBusブロック読み出し104を使用してマスタへ逆に転送される。この転送は、「データブロック読み出し104」として参照される。
データパケット105の受信に応答し、ターゲット周辺コンポーネントがSMBusポートルータ130へシステム読出しのための情報を転送する仕方が11/469,176出願で詳細に説明されており、そこではここで説明されているルータ機能がスイッチによって実行され、ここでは繰り返し言及しない。
周辺コンポーネント55のうちの1つがマスタのとき、制御プロセッサ20は、データパケット105の受信に応答してSMBusポートルータ130へシステム読出しのための情報を転送する。この場合、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、制御プロセッサ20がアドレス指定されていると決定するために、SMBusポートルータ130によってデコードされる。この実施形態の一実装においては、周辺コンポーネント60、61、62、63、64、65及び/又は66に通信可能に接続された1つ以上の制御プロセッサがある。この場合、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、制御プロセッサ20に通信可能に接続されている物のどれがアドレス指定されているかを決定するために、SMBusポートルータ130によってデコードされる。この実施形態の別の実装においては、スレーブアドレスフィールド150及び152内の上位4バイナリビットのようなアドレスブロックの第1の部分は、SMBusポートルータ130のアドレスを含み、通信可能に接続されたどの制御プロセッサがデータパケット105を完了し得るかを決定するために、システム管理バスポートルータ130が、SMBusブロック書込み103のアドレスオフセットフィールド145、146及び/又は147をデコードする。
SMBusブロック読み出し104は、制御プロセッサ20から、データバイトフィールド158と159内のSMBusポートルータ130へデータを転送する。より多くの又はより少ないデータバイトフィールドが必要に応じて使用可能である。
周辺コンポーネントは、SMBusブロック書き込みのアドレスオフセットフィールド145、146及び/又は147内に包含された内部ロケーションアドレスへ読み出すために要求されるワード数を決定するために、SMBusブロック書き込み103のブロック長フィールド148内に送信されるブロック長を使用する。
制御プロセッサ20が、SMBusブロック読み出し104内のコマンドコード161の受信を確認するために、データフィールド169内で1つのアクノリッジメントを送信した後、SMBusポートルータ130は、第2のスレーブアドレスフィールド162内のルータ130又は制御プロセッサ20のアドレスを再送する。第2のスレーブアドレスフィールド162は、SMBusブロック読み出し104が読み出しデータパケットであることをルータ130又は制御プロセッサ20へ示す。
制御プロセッサ20は、SMBusブロック読み出し104内のバイトカウントフィールド163内にSMBusブロック書き込み103のブロック長フィールド148内に送信されたブロック長を埋め込む。そのあと制御プロセッサ20は、制御プロセッサ20からデータを転送する。データは、SMBusポートルータ130へ、制御プロセッサ20からデータバイトフィールド158及び159内で送信される。周辺コンポーネント60、61、62、63、64、65又は66は、データ転送が正当であると確認するために、SMBusブロック読み出し104内で受信したバイトカウントフィールド163内のバイトカウントとSMBusブロック書き込み103内に送信されたブロック長フィールド148内のブロック長とを比較する。この方法で制御プロセッサ20からの情報は、読み出しコマンドデータパケット105の転送に応答してルータ130に送信される。
ある例示的な場合において、ターゲットの周辺コンポーネント63は、ポート141を経由してルータ130へ読み出しコマンドデータパケット105を送信する。周辺コンポーネント63は、制御プロセッサ20がSMBusブロック書き込み103のスレーブアドレスフィールド150内のターゲットであることを決定する。制御プロセッサ20は、コマンドデータパケット105内のSMBusブロック読み出し104の部分としてデータバイトフィールド158及び159内のデータをルータ130ポート142経由でデータを要求した周辺コンポーネント60、61、62、63、64、65又は66へ送信することによって、第2のスレーブアドレスフィールド154の受信に応答する。制御プロセッサ20は、SMBusブロック書き込み103内に送信されたデータの整合性を守るために、チェックサムとしてPECデータフィールド149内のデータを受信する。制御プロセッサ20は、SMBusブロック読み出し104内に送信されたデータの整合性を守るために、チェックサムとしてPECデータフィールド250内のデータを送信する。この方法でプロトコルは、第1のシステム管理バスブロック書込みのブロック長フィールド内のデータと第2のシステム管理バスブロック書込みのバイトカウントフィールド内のデータとを比較することによってチェックされる。
このような方法で、SMBusブロック読み出し104は、ルータ130を伴うトランザクションを完了する。この実施形態の一実装においては、このプロセスは、図1を参照した前述のルータ30とともに実現される。
SMBusプロトコルは、システム問い合わせが固有のコマンドコードと共にSMBusブロック読み出しを使用し、構造化されるように適合される。この問い合わせトランザクションは、SMBusアドレスブロック読み出し内で実現される。この場合、SMBusアドレスブロック読み出しのためのバイトカウントは常に4である。
図5は、本発明によるシステム問い合わせにおいて、SMBusポートルータ130を経由して制御プロセッサ20からコマンドコードを転送するために再フォーマットされた、読み出しコマンドデータパケット110のブロック図である。この実施形態の一実装においては、SMBusポートルータ130は、制御プロセッサ20が複数の周辺コンポーネント55内のターゲットの周辺コンポーネントを問い合わせるために、SMBusアドレスブロック読み出し107として構造化されたデータパケット110に読み出しコマンドを再フォーマットする。この実施形態の別の実装においては、SMBusポートルータ130は、複数の周辺コンポーネント55のうちの1つが制御プロセッサ20を問い合わせするために、SMBusアドレスブロック読み出し107として構造化されたデータパケット110に読み出しコマンドを再フォーマットする。
複数の周辺コンポーネント55のうちの1つが読み出しコマンドデータパケット110で問い合わせられる場合、制御プロセッサ20は、データパケット110が完了される間、マスタである。この実装は11/469,176で詳細に説明され、そこではここで説明されるルータ機能がスイッチによって実行されており、ここでは繰り返し言及しない。
制御プロセッサ20が読み出しコマンドデータパケット110で問い合わせられる場合、データパケット110を開始した複数の周辺コンポーネント55のうちの周辺コンポーネント60、61、62、63、64、65又は66は、データパケット110が完了される間、マスタである。この実装において、SMBusアドレスブロック読み出し107は、スレーブアドレスフィールド160内及びスレーブアドレスフィールド162内にルータ130又は制御プロセッサ20のアドレスを含む。SMBusアドレスブロック読み出し107は、コマンドコードフィールド161内に選択されたコマンドコードを含む。制御プロセッサ20がコマンドコード161のアクノリッジ受信へデータフィールド169内のアクノリッジを送信した後、周辺コンポーネント60、61、62、63、64、65又は66は、SMBusアドレスブロック読み出し107が読み出しデータパケットであることをスレーブに示すために、スレーブアドレスフィールド162内のルータ130又は制御プロセッサのアドレスを再送信する。
制御プロセッサ20は、周辺コンポーネント60、61、62、63、64、65又は66それぞれの内部ロケーション70、71、72、80、81、82、90、91又は92を用いる前回のSMBusトランザクションで、制御プロセッサ20にアクセスされたデータバイト数を示すデータを転送する。この実施形態の一実装においては、制御プロセッサ20は、データパケット110を開始する周辺コンポーネント60、61、62、63、64、65又は66を用いる前回のSMBusトランザクションで制御プロセッサ20によってアクセスされたデータバイト数を示すデータを転送する。
前回のSMBusトランザクションで制御プロセッサ20にアクセスされたデータバイト数を示すデータは、SMBusアドレスブロック読み出し107のバイトカウントフィールド163内のSMBusルータ130を経由し、周辺コンポーネント60、61、62、63、64、65又は66へ制御プロセッサ20から送信される。
このような方法で、データパケット110を開始した周辺コンポーネント60、61、62、63、64、65又は66が、前回のトランザクションが周辺コンポーネント60、61、62、63、64、65又は66のそれぞれ(図2)へSMBusルータ130を経由して転送される間、制御プロセッサ20によってアクセスされたバイト数を示す情報を受信し、SMBusアドレスブロック読み出し107は、SMBusルータ130を伴うトランザクションを完了する。
ルータへの応答のデータのタイプは、コマンドコードフィールド161内のコマンドコードに依存する。いくつか選択された例示的なコマンドコードは、コマンドに割り当てられた関連するバイナリバイト及びコマンドに関連する説明と共に表1に示される。
Figure 2008118630
例示的な場合において、制御プロセッサ20は、ルータ130を介して複数の周辺コンポーネントのうちの1つからSMBusアドレスブロック読み出し107を受信する。SMBusアドレスブロック読み出し107は、コマンドコードフィールド161内に(表1の行4に示す)選択されたコマンドコード「10011001」及びスレーブアドレスフィールド160と162内に制御プロセッサ20のアドレスを含む。この例示的な場合、制御プロセッサ20は、制御プロセッサ20からルータ130へ送信されているデータバイトの数を示すバイトカウントフィールド163内のデータを送信することによって、SMBusアドレスブロック読み出し107内の第2のスレーブアドレスフィールド162に応答する。その後、制御プロセッサ20は、前回のSMBusトランザクション内で使用された制御プロセッサ20からデータを受け取るべき周辺コンポーネント60の内部ロケーション91を示すSMBusアドレスブロック読み出し107のアドレスオフセットフィールド245、246及び/又は247内のデータを送信する。この実施形態の一実装においては、制御プロセッサ20は、以前のSMBusトランザクション中に制御プロセッサ20からデータを受信した周辺コンポーネント60の内部ロケーション91を示すSMBusアドレスブロック読み出し107のアドレスオフセットフィールド245、246及び/又は247中のデータを送信する。制御プロセッサ20は、その後、前回のSMBusトランザクションの間制御プロセッサ20内でアクセスされたデータバイト数を示すために、ブロック長フィールド248内のデータを送信する。制御プロセッサ20は、その後SMBusアドレスブロック読み出し107内に送信されたデータの整合性を守るために使用されるチェックサムとしてルータ130へPECデータフィールド250を送信する。この実施形態の1つの実装においては、このプロセスは、図1を参照して前述したルータ30と共に実現される。
図6は、本発明によるシステム管理バスインタフェース136の一実施形態のブロック図である。この例示的な場合、システム管理バスインタフェース(SMBus IF)136は、ポート140〜142(図2)のような12のポートを有するSMBusポートルータ130のためのものである。システム管理バスインタフェース136は、データパケット100、105及び110を形成するデータパケットの再フォーマットの間、SMBusインタフェース136の機能性を制御するためのSMBusマスタ/スレーブ状態機械137を含む。SMBusマスタ/スレーブ状態機械137は、SMBusインタフェース136が、データパケットを完了する間、マスタとして周辺コンポーネント又は処理プロセッサを認識するか否かを制御するために、SMBusスレーブポートデマルチプレクサ170、SMBusデータワードマルチプレクサ172、SMBus読み出しデータワードデマルチプレクサ173及びアービタ(arbiter)138と通信可能に接続されている。こうしてアービタ138は、データパケットが完了される間、制御プロセッサ20又は複数の周辺コンポーネント55のうちの1つがSMBusマスタ/スレーブ状態機械137を制御する事を可能にする。SMBusスレーブポートデマルチプレクサ170は、ポート140〜142(図2)のようなポートに通信可能に接続されている。
SMBusインタフェース136中で実現されている信号名及び関連した説明の例示的なリストを表2に示す。表2の信号名の列は、図6で示された12のポートに関するSMBusインタフェース136の実施形態の中で示される信号を含んでいる。説明の列は、各信号の機能の説明及び各信号に対して必要な有効バイト数を含む。
Figure 2008118630
図7は、本発明によるシステム管理バスマスタ/スレーブ状態機械の一実施形態のフロー図700である。フローは、SMBus状態機械の実現のために記述され、SMBus状態機械は図6のSMBusインタフェース136に示されるSMBus状態機械137である。リセット(ブロック714)は、SMBusマスタ/スレーブ状態機械をリセットモードにする。その後、SMBus状態機械は、リセット後又はトランザクション完了後、アイドル状態に入る。制御プロセッサ20がデータパケットを開始する場合、SMBusマスタ/スレーブ状態機械137のフローは、破線ボックス740内部に進む。この場合、データパケットが完了される間、制御プロセッサ20はマスタである。複数の周辺コンポーネント55の周辺コンポーネント60、61、62、63、64、65または66のうちの1つがデータパケットを開始する場合、システム管理バスマスタ/スレーブ状態機械137のフローは、破線ボックス750の内部に進む。この場合、データパケットが完了される間、開始した周辺コンポーネント60、61、62、63、64、65または66がマスタである。
SMBusマスタ/スレーブ状態機械137がアイドル中(ブロック702)のとき、SMBusマスタ/スレーブ状態機械137は、SMBusマスタ/スレーブ状態機械137がアイドル状態中であることを示すために、信号例えばSm_busy=0を出力する。SMB_RD=1又はSMB_WRT=1信号が、制御プロセッサ20からSMBusマスタ/スレーブ状態機械137において受信されるとき、制御プロセッサ調停リクエストが受信される(ブロック716)。ポートは、SMBusマスタ/スレーブ状態機械137によって選択される(ブロック704)。SMBusマスタ/スレーブ状態機械137は、ビジーであることを示す信号(Smb_busy=1)を出力し、どのポートを選択するかを制御するための信号(Ld_smb_addr=1,Sm_sel_port=1)及びデータのフローの方向示すための信号(Sm_mstr_rls=1)を出力する。
アドレスブロック書き込みデータパケット101(図3)又はアドレスブロック書き込みデータパケット103(図4)が形成される(ブロック706)。読み出しコマンドSMB_RD=1がSMBusマスタ/スレーブ状態機械137において受信される場合、フローはブロック706からブロック708に進み、データブロック読み出しデータパケット104が、ブロック706で形成された書き込みデータパケット103に続いて形成される。アドレスブロック読み出しデータパケット105(図4)が周辺コンポーネント60、61、62、63、64、65又は66によって受信される。SMBusマスタ/スレーブ状態機械137は、アドレスブロック読み出しデータパケット105の完了時、アイドル(ブロック702)に戻る。
書き込みコマンドSMB_WRT=1がSMBusマスタ/スレーブ状態機械137で受信される場合、フローはブロック706からブロック710へ進み、第2のデータブロック書き込みデータパケット102(図3)が、ブロック706で形成された第1の書き込みデータパケット101のあとに続いて形成される。アドレスブロック読み出しデータパケット100(図3)は、周辺コンポーネント60、61、62、63、64、65又は66によって受信される。SMBusマスタ/スレーブ状態機械137は、アドレスブロック読み出しデータパケット100の完了時、アイドル(ブロック702)に戻る。
アドレスブロック読み出しパケット107(図5)がSMBusマスタ/スレーブ状態機械137で開始される場合、フローはブロック704からブロック712に進み、SMBusブロック読み出し107(図5)として構造化された再フォーマットされた読み出しコマンドデータパケット110が形成される。アドレスブロック読み出しデータパケット107(図5)は、周辺コンポーネント60、61、62、63、64、65又は66によって受信される。SMBusマスタ/スレーブ状態機械137は、データブロック書き込みデータパケット完了時、アイドル(ブロック702)に戻る。
周辺コンポーネントの調停(arbiter)リクエストが、受信され(ブロック718)、スレーブアドレスが、周辺コンポーネント60、61、62、63、64、65または66のうちの1つからSMBusマスタ/スレーブ状態機械137において受信される。スレーブアドレスは、データパケット100(図3)又は105(図4)のスレーブアドレスフィールド150内又はデータパケット110(図5)のスレーブアドレスフィールド160内の複数の周辺コンポーネント55の周辺コンポーネント60、61、62、63、64、65又は66のうちの1つから受信し得る。そのあと、SMBusブロック書き込み101(図3)又はSMBusブロック書き込み103(図4)又はSMBusアドレスブロック読み出し107(図5)のコマンドコードフィールド153、151又は151内で受信された周辺コンポーネントコマンドは、それぞれSMBusマスタ/スレーブ状態機械137によってデコード(ブロック720)される。
デコードされたコマンドコードフィールドがアドレスブロック書き込みデータパケット101(図3)又はアドレスブロック書き込みデータパケット103(図4)のいずれか一方が形成されるべきことを示す場合、フローは、ブロック722に進む。アドレスブロック書き込みデータパケット101及びアドレスブロック書き込みデータパケット103は同一に構造化される。ブロック722でデータパケット101(図3)又はデータパケット103(図4)が形成される。フローはブロック724へ進み、SMBusマスタ/スレーブ状態機械137は、次の周辺コンポーネントコマンドの受信を待つ。(データパケット101(図3)又はデータパケット103(図4)の完了後)次のコマンドが受信されると、フローはブロック720へ進み、そこで周辺コンポーネントコマンドがデコードされる。コマンドコードがコマンドコードフィールド161である場合、フローはブロック730へ進み、SMBusブロック読み出し104のような周辺コンポーネントデータブロック読み出しデータパケットが、SMBusマスタ/スレーブ状態機械137によって形成される。SMBusマスタ/スレーブ状態機械137は、SMBusブロック読み出し104の完了時、アイドル(ブロック702)に戻る。
ブロック724で受信したコマンドコードが、コマンドコードフィールド153の場合、フローはブロック726へ進み、SMBusブロック書き込み102のような周辺コンポーネントデータブロック読み出しデータパケットが、SMBusマスタ/スレーブ状態機械137によって形成される。SMBusマスタ/スレーブ状態機械137は、SMBusブロック書き込み102の完了時、アイドル(ブロック702)に戻る。
デコードされたコマンドコードフィールドが、アドレスブロック読み出しデータパケット107(図5)が形成されるべきことを示す場合、ブロック720からフローは、ブロック728へ進む。ブロック728で、アドレスブロック読み出しデータパケット107(図5)が形成される。SMBusマスタ/スレーブ状態機械137は、SMBusブロック書き込み102の完了時、アイドル(ブロック702)に戻る。
図8は、本発明による制御プロセッサ20と周辺コンポーネント60〜66との間でデータパケットを送信する方法800の一実施形態のフロー図である。
ブロック802で第1のプロトコルでフォーマットされたコマンドデータパケット内に埋め込まれた情報がルータにおいて取得される。埋め込まれた情報は、アドレス、コマンドコード、バイトカウント及びアドレスオフセットのうち少なくとも1つを含む。この実施形態の一実装においては、SMBusポートルータ130は、第1のプロトコルでフォーマットされたコマンドデータパケットを取得する。この実施形態の一実装においては、第1のプロトコルは、スペースワイヤプロトコル、ラピッドIO又はRS232データパケットである。
ブロック804で再フォーマットされたコマンドデータパケットは、第2のプロトコルに従って形成される。図3、4又は5にそれぞれ示すデータパケット100、105又は110のように再フォーマットされたコマンドデータパケットは、前記取得した情報を含む。この実施形態の一実装においては、SMBusポートルータ130は、第2のプロトコルに従って再フォーマットされたコマンドデータパケットを形成する。
ブロック806で再フォーマットされたコマンドデータパケットは、SMBusポートルータ130のようなルータから転送される。
図9A〜9Bは、本発明によるルータにおいて再フォーマットされたコマンドデータパケットを形成する方法900の一実施形態のフロー図である。図9Aのブロック902〜910の後に図9Bのブロック912〜920が続く。ブロック902〜910は、周辺コンポーネントがマスタであるルータにおいて、再フォーマットされたコマンドデータパケットを形成する方法を説明する。ブロック912〜920は、制御プロセッサがマスタであるルータにおいて、再フォーマットされたコマンドデータパケットを形成する方法を説明する。方法900のこの実装においては、第1のプロトコルは、スペースワイヤプロトコル、ラピッドIO、RS232データパケットのうちの少なくとも1つであり、第2のプロトコルは、システム管理バスプロトコルである。
図9Aのブロック902で示すように、アドレスは、第1のSMBusブロック書き込みとして構造化されたデータパケット内のシステム書き込みコマンド内で制御プロセッサへ転送される。この実施形態の一実装でSMBusポートルータ130は、第1のSMBusブロック書き込みとして構造化されたデータパケット101内のシステム書き込みコマンド内の制御プロセッサ20へアドレスを転送する。
ブロック904でデータは、第2のSMBusブロック書き込みとして構造化されたデータパケット内のシステム書き込みコマンド内で制御プロセッサへ転送される。この実施形態の一実装においては、SMBusポートルータ130は、第2のSMBusブロック書き込み102として構造化されたデータパケットを使用し、システム書き込みコマンド内で制御プロセッサ20へデータを転送する。データパケット100(図3)は、周辺コンポーネントがマスタである場合、ブロック902及び904の処理によって完了される。
ブロック906でアドレスは、SMBusブロック書き込みとして構造化されたデータパケット内のシステム読み出しコマンド内で制御プロセッサへ転送される。この実施形態の一実装においては、SMBusポートルータ130は、SMBusブロック書き込み103として構造化されたデータパケットを使用し、システム読み出しコマンド内で制御プロセッサ20へアドレスを転送する。
ブロック908でデータは、SMBusブロック読み出しとして構造化されたデータパケット内のシステム読み出しコマンド内で制御プロセッサから転送される。この実施形態の一実装においては、SMBusポートルータ130は、SMBusブロック読み出し104として構造化されたデータパケットを使用し、システム読み出しコマンド内で制御プロセッサ20からデータを転送する。データパケット105(図4)は、周辺コンポーネントがマスタである場合、ブロック906及び908の処理によって完了される。
図9Bのブロック910で示すように、制御プロセッサの前回のトランザクションでアクセスされたアドレス情報及びデータバイト数が、SMBusブロック読み出しとして構造化されたデータパケット内で転送される。この実施形態の一実装においては、SMBusポートルータ130は、制御プロセッサの前回のトランザクションでアクセスされたアドレス情報及びデータバイト数をSMBusブロック読み出し107として構造化されたデータパケット内で転送する。
ブロック912でアドレスは、第1のSMBusブロック書き込みとして構造化されたデータパケット内のシステム書き込みコマンド内で周辺コンポーネントへ転送される。この実施形態の一実装においては、SMBusポートルータ130は、第1のSMBusブロック書き込みとして構造化されたデータパケット101内のシステム書き込みコマンド内で周辺コンポーネント60、61、62、63、64、65又は66へアドレスを転送する。
ブロック914でデータは、第2のSMBusブロック書き込みとして構造化されたデータパケット内のシステム書き込みコマンド内で周辺コンポーネントへ転送される。この実施形態の一実装においては、SMBusポートルータ130は、第2のSMBusブロック書き込み102として構造化されたデータパケット内のシステム書き込みコマンド内で周辺コンポーネント60、61、62、63、64、65又は66へデータを転送する。データパケット100(図3)は、周辺コンポーネントがスレーブである場合において、ブロック910及び912の処理によって完了される。
ブロック916でアドレスは、SMBusブロック書き込みとして構造化されたデータパケット内のシステム読み出しコマンド内で周辺コンポーネントへ転送される。この実施形態の一実装においては、SMBusポートルータ130は、SMBusブロック書き込み103として構造化されたデータパケット内のシステム読み出しコマンド内で周辺コンポーネント60、61、62、63、64、65又は66へアドレスを転送する。
ブロック918でデータは、SMBusブロック読み出しとして構造化されたデータパケット内のシステム読み出しコマンド内で周辺コンポーネントから転送される。この実施形態の一実装においては、SMBusポートルータ130は、SMBusブロック読み出し104として構造化されたデータパケットを使用し、システム読み出しコマンド内で周辺コンポーネント60、61、62、63、64、65又は66からデータを転送する。データパケット105(図4)は、周辺コンポーネントがスレーブである場合において、ブロック916及び918の処理によって完了される。
ブロック920で周辺コンポーネントの前回のトランザクション内でアクセスされたアドレス情報及びデータバイト数が、SMBusブロック読み出しとして構造化されたデータパケット内で転送される。この実施形態の一実装においては、SMBusポートルータ130は、SMBusブロック読み出し107として構造化されたデータパケット内で周辺コンポーネント60の前回のトランザクションでアクセスされたアドレス情報及びデータバイト数を転送する。この実施形態の別の実装においては、SMBusポートルータ130は、SMBusブロック読み出し107として構造化されたデータパケット内で周辺コンポーネント60のような周辺コンポーネントの内部ロケーション70のような内部ロケーションの、前回のトランザクションでアクセスされたアドレス情報及びデータバイト数を転送する。
図10は、本発明による周辺コンポーネントにおいて再フォーマットされたデータパケットを受信する方法1000の一実施形態のフロー図である。
ブロック1002でデータパケットは、アドレスブロックの第1の部分によってアドレス指定されたルータにおいて受信される。この実施形態の一実装においては、SMBusポートルータ130は、スレーブアドレスフィールド150の第1の部分によってアドレス指定されたデータパケットを受信する。
ブロック1004でデータパケット内のアドレスブロックの第2の部分が、ルータにおいてデコードされる。この実施形態の一実装においては、SMBusポートルータ130は、データパケット101内のスレーブアドレスフィールド150の第2の部分をデコードする。この実施形態の一実装においては、アドレスブロックの第2の部分は、スレーブアドレスフィールド150内の最後の3ビットである。
ブロック1006でルータは、データパケットが前記ルータにアドレス指定されていることを確認する。確認はブロック1004の間にデコードされたアドレスブロックの第2の部分を基にする。
ブロック1008でルータは、データパケットにアクセスされている制御プロセッサのアドレスを決定するために、アドレスオフセットバイトをデコードする。この実施形態の一実装においては、SMBusポートルータ130は、データパケットにアクセスされている制御プロセッサのアドレスを決定するために、少なくとも1つのアドレスオフセットブロック145〜147をデコードする。
図11は、本発明によるスレーブにおいて再フォーマットされたデータパケットを受信する方法1100の一実施形態のフロー図である。
ブロック1102でデータパケットが、アドレスブロックの第1の部分によってアドレス指定された制御プロセッサにおいて受信される。この実施形態の一実装においては、制御プロセッサ20は、SMBusブロック書き込み101(図3)のスレーブアドレスフィールド150のような、アドレスブロックの第1の部分によってアドレス指定されたデータパケット100のようなデータパケットを受信する。
ブロック1104でデータパケット内のアドレスブロックの第2の部分が、制御プロセッサにおいてデコードされる。この実施形態の一実装においては、制御プロセッサ20は、SMBusブロック書き込み101(図3)のスレーブアドレスフィールド150のようなアドレスブロックの第2の部分をデコードする。
ブロック1106で制御プロセッサは、データパケットが制御プロセッサへアドレス指定されていることを確認する。この実施形態の一実装においては、制御プロセッサ20は、SMBusブロック書込み101が制御プロセッサ20へアドレス指定されていることを確認する。
ブロック1108でデータパケットは、アドレスブロックの第1の部分によってアドレス指定された周辺コンポーネントにおいて受信される。この実施形態の一実装においては、周辺コンポーネント63のような周辺コンポーネントは、周辺コンポーネント63がアドレスブロックの第1の部分によってアドレス指定されているのでデータパケット100を受信する。
ブロック1110でデータパケット内のアドレスブロックの第2の部分は、周辺コンポーネントにおいてデコードされる。この実施形態の一実装においては、周辺コンポーネント63のような周辺コンポーネントは、データパケット100内のアドレスブロックの第2の部分をデコードする。
ブロック1112で周辺コンポーネントは、データパケットがそのデータパケットを受信している周辺コンポーネントへアドレス指定されることを確認する。この実施形態の一実装においては、周辺コンポーネント63は、データパケット100が周辺コンポーネント63へアドレス指定されていることを確認する。
ブロック1114で、周辺コンポーネントは、データパケットによってアクセスされる周辺コンポーネントの少なくとも1つの内部ロケーションを決定するために、アドレスオフセットバイトをデコードする。この実施形態の一実装においては、周辺コンポーネント63は、データパケット100によってアクセスされる周辺コンポーネント63の少なくとも1つの内部ロケーション80〜82を決定するために、アドレスオフセットバイト145〜147をデコードする。
図12は、本発明によるアドレス情報を転送する方法1200の一実施形態のフロー図である。方法1200でSMBusブロック読み出しは、問い合わせデータパケットであり、そこでスレーブの前回のトランザクションでアクセスされたアドレス情報及びデータバイト数が、SMBusブロック読み出しとして構造化されたデータパケット内で転送される。
ブロック1202で最後のトランザクション内で使用された制御プロセッサのアドレスが、SMBusブロック読み出しの少なくとも1つのアドレスオフセットフィールド内に埋め込まれる。この実施形態の一実装においては、最後のトランザクションで使用された制御プロセッサ20のアドレスは、SMBusブロック読み出し107(図5)の少なくとも1つのアドレスオフセットフィールド245〜247内に埋め込まれる。
ブロック1204で最後のトランザクションで制御プロセッサによって使用されたデータバイト数が、SMBusブロック読み出しのブロック長フィールド内に埋め込まれる。この実施形態の一実装においては、最後のトランザクションで制御プロセッサ20によって使用されたデータバイト数は、SMBusブロック読み出し107(図5)のブロック長フィールド248内に埋め込まれる。ブロック1202及び1204は、周辺コンポーネントがマスタであって制御プロセッサの問い合わせを開始するとき、実現される。
ブロック1206で最後のトランザクションにおいて使用された周辺コンポーネントの内部ロケーションのアドレスは、SMBusブロック読み出しの少なくとも1つのアドレスオフセットフィールド内に埋め込まれる。この実施形態の一実装においては、最後のトランザクションで使用された周辺コンポーネント63の内部ロケーション80のアドレスは、SMBusブロック読み出し107の少なくとも1つのアドレスオフセットフィールド245〜248内に埋め込まれる。
ブロック1208で最後のトランザクションで周辺コンポーネントによって使用されたデータバイト数は、SMBusブロック読み出しのブロック長フィールド内に埋め込まれる。この実施例の一実装においては、最後のトランザクション内で周辺コンポーネント63によって使用されたデータバイト数の埋め込みは、SMBusブロック読み出し107のブロック長フィールド248内に埋め込まれる。ブロック1206及び1208は、制御プロセッサがマスタであって周辺コンポーネントの問い合わせを開始するとき、実現される。
こうして、システム10(図1)及びシステム11(図2)は、周辺コンポーネントにおける第1のシステム管理バスブロック書込み内の7ビットを上限とする長さを有するアドレスオフセットフィールド内に制御プロセッサのアドレスを埋め込むことと、システムトランザクションを完了するために周辺コンポーネントと制御プロセッサとの間でデータが送信されるように、第1のシステム管理バスブロック書込み及び第2のシステム管理バスブロック書込みを伴うシステムトランザクションを完了することと、データワードペイロードが制御プロセッサへ書き込まれるように、第2のシステム管理バスブロック書込み内の4データバイトフィールドから32データバイトフィールドの範囲でデータワードペイロードを埋め込むことと、及び第1のシステム管理バスブロック書込みのブロック長フィールド内のデータと第2のシステム管理バスブロック書込みのバイトカウントフィールド内のデータとを比較することによってプロトコルをチェックすること、とからなる方法を実行するための計算機実行可能命令、例えば、ソフトウェア、ファームウェア又は別のプログラムコードを有する計算機可読メディアを使用できる。前記データワードペイロードは、32バイトまでの長さを有する。この実装においては、マスタ(周辺コンポーネント)が、システム書き込みコマンドを開始する。
この実施形態の別の実装においては、システム10(図1)及びシステム11(図2)は、システム管理バスブロック書込み内の7ビットを上限とする長さを有するアドレスオフセットフィールド内に制御プロセッサのアドレスを埋め込むことと、システムトランザクションを完了するために、周辺コンポーネントと制御プロセッサとの間でデータが送信されるようにシステム管理バスブロック書込み及びシステム管理バスブロック読み出しを伴うシステムトランザクションを完了することと、システム管理バスブロック読み出しのコマンドコードフィールドに先行するスレーブアドレスフィールド内及びコマンドコードフィールドの後のスレーブアドレスフィールド内に制御プロセッサのアドレスを埋め込むことと、データワードペイロードがシステム管理バスブロック読み出し内の第2のアドレスに応答して制御プロセッサから送信されるように、システム管理バスブロック読み出し内の4データバイトフィールドから32データバイトフィールドの範囲でデータワードペイロードを埋め込むことと、及び第1のシステム管理バスブロック書込みのブロック長フィールド内のデータと第2のシステム管理バスブロック書込みのバイトカウントフィールド内のデータとを比較することによってプロトコルをチェックすること、とからなる方法を実行するための命令、例えば、ソフトウェア、ファームウェア又は別のプログラムコードを使用できる。この実装においては、マスタ(周辺コンポーネント)が、システム読み出しコマンドを開始する。
この実施形態のさらに別の実装においては、システム10(図1)及びシステム11(図2)は、第1のシステム管理バスブロック書込み内の7ビットを上限とする長さを有するアドレスオフセットフィールド内に周辺コンポーネントの内部ロケーションのアドレスを埋め込むことと、システムトランザクションを完了させるために制御プロセッサと周辺コンポーネントとの間でデータが送信されるようにシステム管理バスブロック書込み及び第2のシステム管理バスブロック書込みを伴うシステムトランザクションを完了することと、データワードペイロードが周辺コンポーネントへ書き込まれるように、第2のシステム管理バスブロック書込み内の4データバイトフィールドから32データバイトフィールドの範囲でデータワードペイロードを埋め込むことと、及び第1のシステム管理バスブロック書込み内のブロック長フィールド内のデータと第2のシステム管理バスブロック書込み内のバイトカウントフィールド内のデータとを比較することによってプロトコルをチェックすること、とからなる方法を実行する命令、例えば、ソフトウェア、ファームウェア又は別のプログラムコードを使用できる。この実装においては、マスタ(周辺コンポーネント)が、システム書き込みコマンドを開始する。
この実施形態のさらに別の実装においては、システム10(図1)及びシステム11(図2)は、システム管理バスブロック書込み内の7ビットを上限とする長さを有するアドレスオフセットフィールド内に周辺コンポーネントの内部ロケーションのアドレスを埋め込むことと、システムトランザクションを完了させるために、制御プロセッサと周辺コンポーネントとの間でデータが送信されるようにシステム管理バスブロック書込み及びシステム管理バスブロック読み出しを伴うシステムトランザクションを完了することと、システム管理バスブロック読み出しのコマンドコードフィールドに先行するスレーブアドレスフィールド内及びコマンドコードフィールドの後のスレーブアドレスフィールド内に周辺コンポーネントのアドレスを埋め込むことと、データワードペイロードがシステム管理バスブロック読み出し内の第2のアドレスに応答して、周辺コンポーネントから送信されるように、システム管理バスブロック読み出し内の4データバイトフィールドから32データバイトフィールドの範囲でデータワードペイロードを埋め込むことと、及び第1のシステム管理バスブロック書込み内のブロック長フィールド内のデータと第2のシステム管理バスブロック書込み内のバイトカウントフィールド内のデータとを比較することによってプロトコルをチェックすること、とからなる方法を実行する命令、例えば、ソフトウェア、ファームウェア又は別のプログラムコードを使用できる。この実装においては、マスタ(周辺コンポーネント)が、システム読み出しコマンドを開始する。
スイッチにおいてデータパケットを形成するように11/469,207出願の中で説明されたプロトコルは、普通の当業者にとって理解されるように本発明のルータによるデータパケットの形成へと拡張できる。
図1は、本発明によるルータを実現するためのシステムの一実施形態のブロック図である。 図2は、本発明によるルータを実現するためのシステムの一実施形態のブロック図である。 図3は、本発明によるルータの中で転送されるデータパケットの一実施形態のブロック図である。 図4は、本発明によるルータの中で転送されるデータパケットの一実施形態のブロック図である。 図5は、本発明によるルータの中で転送されるデータパケットの一実施形態のブロック図である。 図6は、本発明によるシステム管理バスインタフェースの一実施形態のブロック図である。 図7は、本発明によるシステム管理バス状態機械の一実施形態のフロー図である。 図8は、本発明による制御プロセッサと複数の周辺コンポーネントとの間でデータパケットを送信する一実施形態のフロー図である。 図9Aは、本発明によるルータにおいて再フォーマットされたコマンドデータパケットを形成する方法の一実施形態のフロー図である。 図9Bは、本発明によるルータにおいて再フォーマットされたコマンドデータパケットを形成する方法の一実施形態のフロー図である。 図10は、本発明による周辺コンポーネントにおいて再フォーマットされたデータパケットを受信する方法の一実施形態のフロー図である。 図11は、本発明による周辺コンポーネントにおいて再フォーマットされたデータパケットを受信する方法の一実施形態のフロー図である。 図12は、本発明によるアドレス情報を転送する方法の一実施形態のフロー図である。

Claims (3)

  1. 制御プロセッサ(20)と複数の周辺コンポーネント(55)との間でデータパケット(100)を送信する方法であって、
    ルータ(130)において、第1のプロトコルでフォーマットされたコマンドデータパケット内に埋め込まれた情報を取得するステップと、
    前記ルータにおいて、再フォーマットされたコマンドデータパケットを形成するステップと、
    前記ルータから前記再フォーマットされたコマンドデータパケットを転送するステップと、
    からなり、
    前記再フォーマットされたコマンドデータパケットは、第2のプロトコルに従ってフォーマットされており、前記再フォーマットされたコマンドデータパケットは、前記取得した情報を含む方法。
  2. 前記第1のプロトコルが、スペースワイヤプロトコル、ラピッドIO、RS232Cデータパケットのうちの少なくとも1つであって、前記第2のプロトコルが、システム管理バス(SMBus)プロトコルであって、前記ルータにおける再フォーマットされたコマンドデータパケットの形成がさらに、
    第1のSMBusブロック書き込み(101)として構造化されたデータパケット内のシステム書き込みコマンド内で制御プロセッサ(20)へアドレスを転送するステップと、
    第2のSMBusブロック書き込み(102)として構造化されたデータパケット内のシステム書き込みコマンド内で制御プロセッサ(20)へデータを転送するステップと、
    SMBusブロック書き込み(103)として構造化されたデータパケット内のシステム読み出しコマンド内で制御プロセッサ(20)へアドレスを転送するステップと、
    SMBusブロック読み出し(104)として構造化されたデータパケット内のシステム読み出しコマンド内で制御プロセッサ(20)からデータを転送するステップと、
    SMBusブロック読み出し(107)として構造化されたデータパケット内の前記制御プロセッサの前回のトランザクションでアクセスされたアドレス情報及びデータバイト数を転送するステップ、とからなる請求項1記載の方法。
  3. SMBusブロック読み出し(107)として構造化されたデータパケット内の前記制御プロセッサの前回のトランザクションでアクセスされたアドレス情報及びデータバイト数を転送するステップが、問い合わせのデータパケットを転送することからなり、前記方法がさらに、
    最後のトランザクションで使用された制御プロセッサ(20)のアドレスを埋め込むステップからなり、前記制御プロセッサの前記アドレスは、前記SMBusブロック読み出しの少なくとも1つのアドレスオフセットフィールド(245)内に埋め込まれ、
    前記SMBusブロック読み出しのブロック長フィールド(248)内に最後のトランザクションで前記制御プロセッサに使用されたデータバイト数を埋め込むステップ、とからなる請求項2記載の方法。
JP2007263553A 2006-10-09 2007-10-09 バスポートルータ管理システム Withdrawn JP2008118630A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/539,760 US20080084886A1 (en) 2006-10-09 2006-10-09 System management bus port router

Publications (1)

Publication Number Publication Date
JP2008118630A true JP2008118630A (ja) 2008-05-22

Family

ID=39086528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007263553A Withdrawn JP2008118630A (ja) 2006-10-09 2007-10-09 バスポートルータ管理システム

Country Status (3)

Country Link
US (1) US20080084886A1 (ja)
EP (1) EP1912384A1 (ja)
JP (1) JP2008118630A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7080175B2 (ja) 2016-02-26 2022-06-03 マイクロ モーション インコーポレイテッド 2つ以上のスレーブとの通信

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917595B2 (en) * 2007-01-11 2014-12-23 Broadcom Corporation Method and system for a distributed platform solution for supporting CIM over web services based management
US20080244104A1 (en) * 2007-03-28 2008-10-02 Johnson Controls Technology Company Building automation system field devices and adapters
WO2011136796A1 (en) * 2010-04-30 2011-11-03 Hewlett-Packard Development Company, L.P. Management data transfer between processors
US9355053B2 (en) 2012-01-12 2016-05-31 Intel Corporation PCIe SMBus slave address self-selection
CN103684945B (zh) * 2012-09-25 2016-12-21 上海航天测控通信研究所 通用SpaceWire节点装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system
NL8802132A (nl) * 1988-08-30 1990-03-16 Philips Nv Lokaal kommunikatiebussysteem, station voor gebruik in zo een systeem, en poortverbindingselement voor gebruik in zo een systeem, en apparaat bevattende zo een poortverbindingselement.
US5347272A (en) * 1991-09-13 1994-09-13 Fuji Xerox Co., Ltd. System for determining communication routes in a network
US5559502A (en) * 1993-01-14 1996-09-24 Schutte; Herman Two-wire bus system comprising a clock wire and a data wire for interconnecting a number of stations and allowing both long-format and short-format slave addresses
US6446153B2 (en) * 1997-03-14 2002-09-03 Intel Corporation Shared embedded microcontroller interface
US6122189A (en) * 1998-10-02 2000-09-19 Rambus Inc. Data packet with embedded mask
US6526464B1 (en) * 1999-07-07 2003-02-25 Micron Technology, Inc. Mechanism to expand address space of a serial bus
US6728793B1 (en) * 2000-07-11 2004-04-27 Advanced Micro Devices, Inc. System management bus address resolution protocol proxy device
US7451335B2 (en) * 2001-04-24 2008-11-11 Broadcom Corporation Selectively disabling a portion of ASF operations when ASF device is powered by auxiliary power
US7328399B2 (en) * 2002-08-06 2008-02-05 Network Equipment Technologies, Inc. Synchronous serial data communication bus
US6954809B2 (en) * 2002-09-27 2005-10-11 Via Technologies, Inc. Apparatus and method for accessing computer system resources via serial bus
US7573876B2 (en) * 2002-12-05 2009-08-11 Intel Corporation Interconnecting network processors with heterogeneous fabrics
US7047343B2 (en) * 2003-11-26 2006-05-16 Dell Products L.P. System and method for communication of keyboard and touchpad inputs as HID packets embedded on a SMBus
US7096310B2 (en) * 2004-03-16 2006-08-22 Hewlett-Packard Development, L.P. Switch configurable for a plurality of communication protocols
DE102005010820C5 (de) * 2005-03-07 2014-06-26 Phoenix Contact Gmbh & Co. Kg Kopplung von sicheren Feldbussystemen
KR100722271B1 (ko) * 2005-03-15 2007-05-28 엘지전자 주식회사 빌딩관리시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7080175B2 (ja) 2016-02-26 2022-06-03 マイクロ モーション インコーポレイテッド 2つ以上のスレーブとの通信

Also Published As

Publication number Publication date
EP1912384A1 (en) 2008-04-16
US20080084886A1 (en) 2008-04-10

Similar Documents

Publication Publication Date Title
US20220100696A1 (en) Techniques for command validation for access to a storage device by a remote client
JP2008059554A (ja) システム管理バス実装のためのプロトコル埋め込み方法
US9986028B2 (en) Techniques to replicate data between storage servers
TWI354230B (en) Method and apparatus for speculative prefetching i
JP4163440B2 (ja) メモリにアクセスする方法及び装置
TWI249671B (en) Method and system for controlling memory accesses to memory modules having a memory hub architecture
US8700856B2 (en) Method for accessing mirrored shared memories and storage subsystem using method for accessing mirrored shared memories
JP2008118630A (ja) バスポートルータ管理システム
JP5209461B2 (ja) 集積回路内のデバイス間のデータ転送
JP2003132037A (ja) 分割サーバにおけるドメイン間低オーバヘッドメッセージ受渡しのためのシステム及び方法
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
WO2019057005A1 (zh) 数据校验的方法、装置以及网卡
US7460531B2 (en) Method, system, and program for constructing a packet
CN112106032A (zh) I/o主设备和cpu之间优化数据共享的有序写存储的高性能流
JP2006190257A (ja) データ転送装置およびデータ転送方法
US7743179B2 (en) Data transmission methods
JP4104939B2 (ja) マルチプロセッサシステム
US7574529B2 (en) Addressing logical subsystems in a data storage system
JP2011113163A (ja) Ioアクセス通信システムにおけるエンドポイント間通信制御装置および方法
CN1318991C (zh) 具有对多个相干性区组支持的数据传送装置
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2007213304A (ja) キャッシュメモリシステム及びマルチプロセッサシステム
KR20230145907A (ko) 주소 변환 캐시를 미리 채우기 위한 시스템 및 방법
JP6028470B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
JP5076348B2 (ja) 共有メモリのアクセス方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110104