TWI292989B - Method,system and apparatus for hublink read return streaming and mechine-readable medium - Google Patents

Method,system and apparatus for hublink read return streaming and mechine-readable medium Download PDF

Info

Publication number
TWI292989B
TWI292989B TW092103298A TW92103298A TWI292989B TW I292989 B TWI292989 B TW I292989B TW 092103298 A TW092103298 A TW 092103298A TW 92103298 A TW92103298 A TW 92103298A TW I292989 B TWI292989 B TW I292989B
Authority
TW
Taiwan
Prior art keywords
packet
packets
data
hub
string
Prior art date
Application number
TW092103298A
Other languages
English (en)
Other versions
TW200401538A (en
Inventor
B Osborne Randy
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW200401538A publication Critical patent/TW200401538A/zh
Application granted granted Critical
Publication of TWI292989B publication Critical patent/TWI292989B/zh

Links

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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Slot Machines And Peripheral Devices (AREA)
  • Storage Of Web-Like Or Filamentary Materials (AREA)
  • Adornments (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)

Description

1292989 • ⑴· 玖、發明«明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 技術領域 本發明有關於電腦系統領域,且尤其有關於電腦系統的 裝置之間通訊的領域。 先前技術 現代的電腦系統包括複數個元件如中央處理器與系統 記憶體連接,主橋接器,周邊元件(如鍵盤,硬碟,滑鼠), 外部匯流排(如周邊元件連接(PCI)匯流排)等。介面如集 線器鏈在電腦系統中的不同集線器之間傳送資料,集線器 鏈是一種介面可經由窄且高頻寬的介面而連接核心邏輯 的建構區塊,使用封包以便經由集線器鏈而傳送資料,藉 由最新的技術如PCI-X (PCI區域匯流排規格版本Rev. 3.0) 可改良經由集線器鏈在集線器之間傳送的封包《藉由高頻 寬技術可改良延遲及整理操作的需求。 發明内容 實施方式 本發明大致有關於一種方法及裝置以改良頻寬及減少 集線器鏈上資料傳送時的延遲,本發明中的’’ 一實例”,’’ 一 個實例”,” 一些實例”,或”其他實例”是指與實例中所述 的特別功能,結構,或特徵,其包括在至少一些實例中, 但不必是本發明的所有實例。本文中出現的” 一實例”一 個實例”,或”一些實例”不必表示相同實例。若說明書提 及一元件,功能,結構,或特徵”可”,”可以",或”可能” 包括,則該特別元件,功能,結構,或特徵不必會包括在
1292989 • ' (2) 内。若說明書或申請專利範圍提及”一 ’’或”一個’’元件,它 並不表示只有一個實例,若說明書或申請專利範圍提及,,一 額外元件",則它並不排除有一個以上該額外元件的可能。 熟於此技藝者由本發明的揭示將了.解可以在本發明的 範圍對於上述說明及附圖作出許多其他變化。因此,後附 的申請專利範圍’其包括它的任何修正’可定義本發明的 範圍。參考附圖以說明本發明的典型實例,提供的典型實 例在說明本發明,因此不該將它解釋為限制本發明的範 圍。 圖1說明系統1 〇 〇,系統1 〇 〇包括集線器鏈1 〇 2,記憶體控 制集線器(MCH) 104,輸入/輸出(I/O)控制集線器(ICH) 106,中央處理器(CPU) 1〇8,記憶體周邊元件連接(pci) 匯流排1 1 2,p c 1代理者1 1 4,鍵盤1 1 8,滑鼠1 2 0,掃描器 1 2 2,及硬碟1 2 4。集線器鏈1 0 2提供具點對點介面的個別 元件,惟該注意的是集線器鏈1 0 2可提供至少3個元件間的 介面,如圖1所示,集線器鏈1 0 2用以連接晶片組中2個不 同的元件(即集線器代理者)。集線器代理者提供至少2個 不同匯流排之間的中央連線及/或它種通訊線^ ICH 106提 供系統100中各個周邊元件(如鍵盤1 18,硬碟124,掃描器 122,及/或滑鼠120)之間的連接,此外,外部匯流排及其 代理者(如PCI匯流排1 12及PCI代理者1 14),藉由連接ICH 1〇6且經由集線器鏈i〇2而直接與記憶體1 10及CPU 108連 接’而不是直接連接到MCH 104。
藉由使用集線器鏈連接MCH 104及ICH 106,可提供I/O 1292989 (3)- 一 疋件及CPU/記憶體子系統之間的存取,使用封包式分割 異動協定可跨過集線器鏈102而作異動。例如使用請求封 包以開始異動,且必要時接著使用不同的完成封包可中止 , 異動。 圖2說明跨過集線器鏈102的分割異動範例。如圖二所 不,集線器代理者開始時經由仲裁2 〇 2而取得集線器鏈丨〇 2 的所有權。仲裁後,有一请求相204。若必要(如因回復資 料用於讀取異動),完成相208會接在請求相。惟在完成之 前,回應的集線器代理者會先仲裁2〇6集線器鏈的所有權。_ 在跨過集線器鏈1〇2於傳送請求封包與對應完成封包的 時間之間,根據預設的順序規則可跨過集線器鏈而傳送不 同,不相關的封包(詳如以下所述)。例如以從周邊至記憶 體的讀取請求為例,請求資料的提供需要數個時脈周期以 使準備好待回復的資料及且包括完成封包。在此期間它取 得請求的資料,可以將不同不相關的完成及/或在佇列/ $ ’泉MCH 104中等待的請求封包傳送到〗ch 1〇6。 此外在圖2中,各請求或完成是當成封包跨過介面而傳 鲁 送’至於窝入型異動,資料與請求相關。至於寫入讀取型 異動,資料與完成相關。在一些例子中,一請求有一個以 上的完成,其中中斷完成封包以有效的將它分割成多個完 , 成封包。 集線器鏈102使用異動敘述子以寫入集線器鏈交通以及 識別出異動的屬性,例如使用敘述子以定義異動為等時或 非同步’結果是可接著根據一預設協定而處理。
1292989(4) 要同 I/O寫 述子 Μ v ,八吳動(如 入及具請求完成的記憶體窝入),藉由循序的異動敘 而將完成封包與其對應的请求封包結合 ' 集線器鍵102使用封包式協定(其具有二種封包··社欠 完成)’請求封包用於各集線器鍵異動,完成封包用於需 後讀取資料,或是認可完成某些種類的营而 ’ 內八井動(如 ;入及具請求完成的記憶體窝入),葬由俺 丁,丨·J w ^ ^ ^ 〇 面的 資料 集線器鏈介面使用對稱且分散式的仲裁協定,例如各集 線器代理者驅動一請求信號,其可由接到相同介面的其他 代璞者觀祭到。不使用允許信號,而代理者獨立的決定八 所有權。當集線器鏈代理者,,擁有”介面時(如在21 只…的過程中)即結束封包傳送,且藉由拒絕請求信號巧 放棄控制介面。此外,藉由使用一個” St〇p”(中止)信號 可達成流程控制以再嘗試或中斷封包。 使用封包式協定可跨過集線器鏈102而傳送資訊,一 ^ 麵 使用請求封包以開始異動,及使用完成封包以中止異動 集線器鏈協定也提供異動敘述機制以提供決定性的服私 品質。此機制提供的資訊用以寫入集線器鏈交通以及識別 出異動的屬性,如藉由將異動定義為等時或非同步。 圖3說明連接MCH 104及ICH 106的集線器鏈1〇2的方複 圖,集線器鏈102包括:雙向資料路徑151,至少_資料脈 衝152,流程控制信號153,仲裁信號群154,系統重設於 號155,時脈信號156,電壓參考信號157及額外的先你 (PMPT)信號158。集線器A包括資料路徑I/O單元135,而 集線器B包括資料路徑I/O單元165。二個資料路後1/〇單元 135,165與資料路徑151作介面。通常集線器鏈1〇2是一餐 !292989
機制經由較窄及較高的頻寬資料路徑15 i而連接電腦系統 (如系統1 0 0 )的核心邏輯的建構區塊。在電腦系統的個別 元件之間,如集線器A及集線器B,連接是以點對點方式 實作。 圖4說明包括32位元定址模式的請求封包表頭格式 4()〇’請求封包表頭格式400的基本部分是雙字長度(一字 等於16位元)。64位元定址模式需要額外的雙字(圖5)。資 料跨過”小-印地安”順序中的介面而傳送,即先傳送最小位 兀組用於8位元寬的資料路徑151,或是一字用於16位元寬 勺:貝料路徑15 1,封包表頭4〇〇的各欄位如以下所述。 b在罘一雙竽的位元31的請求/完成攔位(rq/cp)指示封包 否為印求封包或完成封包,較佳的,” 〇,,表示請求封包 所1表7^完成封包,因為封包表頭400是請求封包表頭, 乂應▲將此搁位設定為,,〇 M。 碑在第-雙字的位元30的讀/窝爛位(r/w)指示封包 料、3 ,’入兴動,除了請求/完成欄位讀/窝欄位也指示資 入疋否將包括在封包中。例如若封包是請求而且若指示窝 則R料會包括在封包中。此外若封包是完成封包而且 包二讀取,則資料會包括在封包中。請求封包及讀取封 礼π都表示封包中不會包括資料。同理’完成封包及 取封包都表示封包中不會包括資料…般用"G"表示讀 '動,且一般用”1"表示窝入異動。 二,求封包400的第一雙字的位元29的必須完成欄位 )和不封包的開始者是否需要回應請求封包。一般以"I, 1292989 1- ''(6) . 1^»1 表示必須完成,且一般以,,0"表示不必須完成。當封包的 開始者要求確認已完成請求時,即發出窝入請求封包表頭 其具有必須完成位元組。寫入完成應該較佳地不要回復直 到寫入已到達其最後目的地,記憶體,I/O,及配置讀取 請求最好應該一直設定必須完成位元’必須完成位元最好 應該由所有封包(包括特別周期如無操作(NOP),關機,清 除,暫停,同步(Sync),清除認可,中止允許認可等)的目 標來設定έ 在第一雙字的位元28的地址格式(af)欄位指示定址格 式為内含或明確的(32或64位元定址)。至於表頭400,將 af位元設定為” 1 ’’以指示明確定址,至於内含定址,af位 元該設定為” 0 "。 在第一雙字的位元27的鎖住(Ik)欄位指示目前封包疋 否為鎖住序列的一部分,在鎖住序列的所有請求及完成孩 將此位元設定為” 1 ”,不包括鎖住的代理者該忽略此欄位 且該一般將” 0 ”填充在此欄位。 在第一雙字的位元26-2 1的異動敘述子路由欄位是6位 元攔位用於封包路由,其他欄位寬也是可能的,用3位/ 在集線器識別(ID)上以識別含有異動啟始主控暑的代 者,路由欄位的剩餘3位元用以識 鏈代理奢中、 内部管線.,此第二組3位元予搁位稱為集管泉線ID,集線器-子欄位用以支援多重集線器鏈系括2個以上集 線器鏈代理者的系統)中的路由。來自不同集線器鏈代 者的異動(強化,具有不同的集線器j D )最妤彡相之間應 •10· 1292989 咖 ⑺ 沒有順序的要求。在以下情況集線器ID的使用是額外 的:集線器鏈式系統,其不支援2個以上集線器鏈元件, 及特別集線器鏈元件,其不是設計成集線器鏈建構區塊用 於較大配置中。 只有異動互相之間沒有順序的要求時,管線ID子欄位才 用以區分異動。對任何,其來源自不同的 、 的内部管線,保留位元2〇,19,力堂 裁有無序父通 的異動敘述子屬性欄位(T.D.Attr·)最好3子的位元18-16 當它被目標集線器鏈代理者接收時位元值以指示 異動是否該以非同步或是等時方式虛挪^處理異動,如 求應用工作負荷,其依賴資料的移動% ^ 4欄位支援要 7初及處嗖 、、 明確的服務要求品質或其他不同的姑μ ’該資料具有 (IEEE1394標準( 1394-1995IEEE標準用於* 牝外 IEEE1394 火線1995)及USB (萬用串列匯流排)能 甲列匯流排 的等時移動。 直 < 間作資料 在第一雙字的位元15, I4的空間欄位 > 目的地記憶體空間(,,〇〇"),I/O ("01,,、, 、匕是否具有 } 配薏外 或特別周期("11")。 4間("ίο”), 在位元1 3 - 8的資料長度欄位指示封包後 長度,資料長度最好是雙字且編碼,以# %資科(若有) 是1加上此數目,因此”〇〇〇〇〇〇"表示一個餡 #、的雙字數目 雙字。 在第一雙字的位元7-4的最後雙字位' 么匕 後DW BE)指示位元組致能用於任何讀取戈 把襴位(最 的最後雙字,位元組致能是低動作的"Λ 窝入清求資料 ^ V 0 11 \ ,若只有一個 -11- 1292989
用於請求的資科雙字,則此攔位必須是無動作的c,lni,,) 位兀組致此可以不連續(如” 01〇丨,,),位元組致能對於特 別周期是無意義的,因此最後DW BE欄位會與包括攔位的 特別周期重疊。
在第雙+的位元3_0的第一雙字位元組致能欄位(第 一 DW BE)指示位元組致能用於任何讀取或窝入請求至記 憶體,I/O,4配置空間的資料的第一雙字。位元組致能 疋低動作的(〇 ),若資料只有一個雙字用於請求,則最 好3使用此欄位。纟元組致能是不連續(如丄,,),位元 組致能對於特別周期是無意義的,因此第一及最後dwbe 欄位會與編碼襴位的特別周期重疊。 在第雙字的位疋7-〇的特別周期編碼攔位編碼一特別 周期型,此欄位重疊第一及最後雙字位元組致能欄位。 在第二雙字的位元31-2的地址[3 1:2]攔位指示整個地址 用於32位元明確定址模式,且提供地址的較低部分用於以 位元明確定址模式。
在第二雙字的位元0的延伸地址欄位(ea)指示3 2位元定 址(”〇’’)或64位元定址(” 1”),此欄位僅對於記憶體或特別 周期請求有效’此欄位與配置類型(e t)攔位重叠。 在第二雙字的位元0的CT欄位僅對於配置周期有效,若 設定為”0”,则此欄位指示類型,,〇,,配置周期,而且若設定 為” 1 ",則此欄位指示類型” 1 ”配置周期,這些配置周期類 型最好對應PCI配置周期類型。 圖5說明包括64位元定址模式的請求封包表頭5〇〇,封包 -12- 1292989
• (9) 表頭州的襴位與圖4所示的欄位相同再加上地址[⑽] 欄位。地址[63:42]欄位包括上地址位元用於M位元定址模 I。對於此模式’將㈡欄位設定為"卜而地址[m2]搁 位僅包括在用於64位元定址模式。 圖6說明包括内含定址模式的請求封包表頭6〇〇,封包表 頭60 0的欄位與圖5所示的欄位相同除了無第二雙字以 外。内含定址模式最好應用在 、 隹4 I括地址的特別周期,内 含定址模式也可用於可藉由μ 一 用於猎由上下又而區分地址的情況,當
使用内含模式時,不傳送地址到請求封包,“欄位設定為 0以用於内含定址模式。 圖7說明完成封包表頭7〇〇,各搁位與圖㈣示相同,除 了無必須完成欄位,地址格式欄位及空間襴位以外,用完 =狀態櫚位替代位元組致能欄位及特別周㈣位,完成狀 怨欄位最好從完成狀態及圖8的編碼表載入值。 圖9說明習知的讀取請求及讀取回復封包通訊如何操 由圖9可知 旦μ求表頭9 1 〇傳送到集線器代理者,
在發出讀取回復之前,至少一時脈有一轉變時間。讀取回 復封包包括讀取回復表頭920及64位元組封包的資料,各 %求表頭9 1 0包括開始地址,請求的資料量,及其他資訊。 對於大於64位元組資料的請求,將讀取回復分成數個封 包’而每一封包不大於64位元組的資料,其分別接到不同 的回復表頭920。64位元組資料930包括4個16位元組段, 而一段表示一時脈周期。讀取請求的習知傳送,讀取回復 及封包的初始傳送,由於讀取回復表頭與各封包相關,所 -13 - 1292989
• (10) 以會增加用於讀取封包的基本時脈,用於轉變的基本時 脈’及每一讀取回復封包的基本時脈等的整理操作。在讀 取a求與項取回復開始之間,由於在目的地處理讀取請求 的I遲’所以也有延遲。例如若一封包大小是6 4位元組, 較大的讀取回復如512位元組,由於各回復表頭與封包 相關所以會有至少3個額外整理操作時脈,因此藉由每一 項取回復封包(各有一讀取回復表頭)的整理操作貢獻可 減少可能的總頻寬。
因為轉變整理操作是讀取時不可避免的,若增加極大讀 取叫求大小’則可減少整理操作但是延遲會增加。若使用 勺㈣求封包,延遲會減少,惟由於各讀取回復表頭所以 整理操作會增加。該注意的是#寬是讀取請求大小及資料 回復封包大小的函數。在本發明的一實例,資料封包在不 :衝之下(除非不能得到集線器鏈允許),從來源流入集線 器鏈本發明的叆實例結果是在開始請求時不是所有的資 料可供利用。若在開始回覆前累加所有請求資料,則增加
乙遲為了避免延遲而形成封包其可以於使用資料時立即 傳运。在此設計中,可減少延遲但是整理操作増加,因而 減少極大頻寬。 在^本發明的一實例,資料路徑I/O單元135及資料路 1/0單元165包括—種機制用於資料流,以便在集線器鍵 將讀取回復資料形★ & 朱、、果器鍵
7成其料流。該注意的是資料路f 1/() 兀135,165能併入晶^^ 矸路仫I/O 片、、且或併入不同的電路 說明本發明的一眚A丨 . 崎策置。圖 其在集線器鏈上將讀取回復資料 -14- 1292989 (ii) 成資料流。在本發明的該實例中,藉由不連接回復表頭與 各資料段及將資料封包1〇4〇 —個接一個連接(串併)即可 減少回復表頭整理操作,這與習知相反其將讀取回復表頭 連接各封包。
不固定讀取回復封包大小(如64位元組封包),本發明的 實例允許可變長度封包。在集線器鏈上結束前一資料封包 的傳送前若相同資料流的次一資料到達,則本發明的實例 在不中斷C即無表頭)之下繼續前一封包。因此不必緩衝即 可知到更多資料,由於各回復表頭使用一個整理操作的基 本時脈’所以可以在極小數目的大封包中回復資料,因而 使完成表頭的數目減到極小。 在許多例子中,在只有一完成表頭之下可於單一封包中 傳运整個讀取回復,資料流也去除因目標緩衝讀取回復資 料導致的延遲增加’以形成夠大的集線器鏈封包以滿意地 轉讓a成表頭整理操作。例如它需要3個额外基本時脈以
片集3、、’且額外的64位疋組快取線以形成極大的2W位元組 讀取回復封包。 惟資料流能產生資料耗食沾0日 毛如 打耗盡的問題,這是可能發生的 為在所有資料從記憶體 _ ^ 缸司達集線器鏈單元之前,目 (事⑧上也鼓勵如此)開始靖? 同冷次 ]貝取回復封包。在此情況下 口奴貝料可能無法在期限前 的前一資料。 4及時到達,以尾隨集線器 在本發明的一些實例 括在集綠器鏈上分割封 中’資科路徑I/O單元135,165包 包的繁置,在本發明的這些實例 • 15 - 1292989
(12)- I’封包分割解決資料耗盡的問題。在本發 中1發生資料耗盡時,資料封包會在達反資料傳送= 络批七、 种再度到達時,即形成另一封包(接 、,封包)以便在分㈣繼續原始傳送,也可使用 封包分割技術以便在讀取 f 相同的 復。 貝取°復封包的中點先取得讀取回 在發出該封包的最後基本時脈之前(如封包表 t广)若封包傳送器拒絕其請求,或是若發生血;封 包相關的流程控制事件,則分割封包。由於以下理 生封包分割,第一理由是資料# Λ 貝科耗盡,在此例中,傳送器盔 ,料提供適封包,第二理由是先取得,在此例中,接 傳送器發出想先取得的信號,而傳送器即自動 < Ρ :叫求。可精由取樣先取得信號(ΡΜΡΤ)處理,或是若 不支援ΡΜΡΤ機制,則藉由"受; 右 相及抑挪I 則藉由君子協定”即當它取樣處理的 相反代理者的請求時,傳送器自 #、、, 目動退回其請求,而先取# 傳运器。後者機制是額外的,由使 〜先取件 若是在資料傳送期間處理一”中止” 弟一理由是 .s上 中止,則傳送器也可分判封 匕,通吊傳送器維持其請求且在 、 ”中μ次u ,, 不形成新封包义下再傳送 中止貪料",惟傳送器可選擇敌 圮 r甘 業其清求且在另一時間 (其中傳送器會形成具”中止資 貧科剩餘部分的新封包)再 度仲裁。因此當發出"中止”指令 ^ 0, AA ^ 7時可維持讀取請求,在本 發月的一實例,當拒絕讀取請 .^ 同孓時,即發生封包分割。 剩=γγγ些實例,在封包表頭分刻時,表頭將保有 、貝、、將從原始封包傳送。該注意的是在本發明的另 •16- (13) 1292989 一實例,資料分割的發生是 白ΒΦ,女的次w , 1 因此當不分刻資料封 G時大的貝料封包即伴隨著單一 立土 M A AA 1 I頭。在動態地分割資 料封包的情況下,恢復資料 士a m从本-5 B 博适時’與恢復資料封包 相關的表頭即根據已傳送的 田^ .μ . ^ 种而這蹤待傳送的資料 里,因此在原始封包中,待回 FI 1 1兮日日## 3、,、心貝科量包括在表頭中。 圖11說明根據本發明的一 1110 mne ^ 二只例的信號圖範例,表頭 1110 (H1)疋弟一請求(請求 . , 以表頭,表頭1120 (Hlc)是連 續封包1的表頭,REq是處理/拍 η μιιλλ V疋粍里/拒絕的請求信號,CLK 1140 疋仏唬1100的各時脈,在圖i J 士 1口现圖疋謂取資料流(其 具有的封包因資料耗盡而導致分割)的例子,可看出第一 請求的讀取回復(pektl)在時脈x_2時無資料,資料耗盡時 代理者即拒絕其REQ,在時脈X-1 (或任何大於x_i的時 脈),代理者已收集足夠資料以恢復資科流且處理其REQ 信號。在此範例,代理者可以在時脈x控制介面,且在時 脈X+1恢復傳送回復資料用於第一次讀取請求,表頭Hic 包括用於資料Dn+l的地址,以及當發生資料耗盡時(χ_2) 讀取回復中的剩餘資料長度。 圖12說明本發明一些實例的信號圖,用以在資料耗盡後 的”STOP”(中止)流程控制指令之後,繼續資料流。提供選 項1210 , 1220 , 1230以進一步了解一些實例在諝取回復資 料流時的實作。在信號圖1200,由於資料耗盡所以目標拒 絕其REQ信號,2個時脈後,目標傳送新的完成表頭以恢 復傳送其讀取回復封包,接著在以下時脈中處理ST〇p信 號。 -17- 1292989
在時脈X目標驅動表頭Hie以繼續讀取回復封包,在時 脈X+1,目標處理STOP信號以指示請求者拒絕資料Dn。以 下的選項與目標能如何回應STOP相關,在實作選項i 1210 的實例中’再開始發生於時脈X + 2其具有表頭H1*及資料 負荷Dn,Dn+1 , Dn+2,···。表頭H1*是具有地址修正的表 頭Η 1 c以便在地址Dn開始,且具有大小隨著Dn長度而增 加’在此實例,維持讀取回復資料流。 在實作遘項2 1220的實例中,再開始發生於時脈χ + 2其 具有表頭Η1*及資料負荷Dn。表頭Η1*是具有在Dn開始的 修正地址的表頭Hlc,且具有大小隨著“長度而修正。在 Dn之後,當目標試著在時脈χ操作時,資料流會與表頭η。 一起恢復,在此實例,直到表頭H丨c之後才恢復資料流。 在實作選項3 1230的實例中,再開始發生於時脈χ + 2其 具有表頭Η1*及資料負荷Dll,在此實例,表頭Hl*是以在 地址Dn開始的地址來修正的表頭η丨,二個時脈周期間置 後(其對應釋出資料流與在x再取得資料流之間的2個時 脈)°當目標試著在時脈X操作時,即與表頭Hlc 一起恢 復,因此從X + 4到X + 6讀取回復資料不會形成資料流,且 直到表頭Η 1 c之後才恢復β此實例允許作簡單實作因為不 必記錄與Χ + 4及Χ + 5不相關的處理ST0P信號。 圖13說明本發明的實例,其包括一動態分割資料封包, 在圖13,回復表頭131〇之後是一資料封包(如64位元組大 小),讀取回復表頭1310包括待回復的資料大小(在此例是 1 KB),在本發明的一些實例,允許讀取回復表頭提 -18- 1292989
(15) 供"不實"的待回復資料大小。在本發明的這些實例中,回 復表頭中所示的大小是待回復的資料量,然而事實上封包 能包括比所示大小更小的大小。在本發明的這些實例,成 v 串封包已完成傳送之前目標即拒絕一請求信號(圖丨丨”代 、 理者接著傳送後續封包所請求資料的剩餘部分。在代理者 已收到所有請求資料之前,代理者能傳送回覆封包,這可 在代理者傳送回覆之前,藉由不必等待代理者累積所有請 求資料,卸減少延遲。 方塊Π30說明閒置時間的整理操作時脈段,回復表頭鲁 1340包括剩餘待傳送的資料量。在圖13所示例子中,這是 回復表頭ΠΗ)中的量減去回復表頭131〇後的資料,如132〇 所示(在此例是64B)。該注意的是回復表頭134〇後的資料 封包可以是大的封包大小,其導因於資料流。 圖14說明本發明實例的方塊圖,流程14〇〇從方塊““開 始,其傳送讀取請求到讀取目標,讀取目標在方塊144〇 接收讀取請求’流程14〇〇在方機1445繼續,以便在開始讀 取回復之前取得極小的資料量。方塊1450仲裁集線器鏈,# 方塊1455形成封包,方塊1460傳送表頭方塊1465傳送請 求的資料。 方塊1470判定是否滿足讀取請求,若滿足讀取請求,則 * 執行讀取目標的流程。惟若不滿足讀取請求,流程14〇〇 ^ 即在方塊1475繼續。方塊1475判定次一請求的資料量是否 可供傳送。若方塊1475判定次一請求的資料量可供傳送。 流程1400即在方塊1465繼續。若方塊“乃判定次一請求的 -19- v 1292989
(16)- 資料量不可供傳适流程14〇〇即在方塊1485拒絕請求信號 且在方塊I445繼續。 讀取開始器在方塊141〇接收從方塊146〇發出的表頭,流 程M00在方塊14ls繼續其中讀取開始器準備接收收到表 頭中所示的資料量,方塊142〇接收資料封包,方塊1425判 足是否已接收封包表頭中所示的所有資料,若方塊1425 判足已接收封包表頭中所示的所有資料,則流程14〇〇在方 塊1426繼續。若開始器已接收所有請求的資料,則流程 1400在万塊1427中止。若開始器未接收所有請求的資料, 貝Jw程1400在方塊149〇繼續。若方塊^乃判定尚未接收封 包表頭中所不的所有資料,則流程1400在方塊1430繼續。 方塊1430判定立& _ # f ^ 4疋在所tf資料大小結束前是否拒絕一請求 4各號,若方塊1 4 3 0主1 a上 ^ , 二 〇判疋在所示資料大小結束前已拒絕請求 "ί吕號,則流程^: 、 . 0在万塊149〇繼續。若方塊143〇判定在所 示資料大小結走前火土 t i 則南未拒絕請求信號,則流程1400在方塊 1420繼續。 ::發明的_些實例中,流程Μ。。包括動態封包分 在本發明的這也音 一〖中,若目標的請求信號在完全接 争封包I前即拒絕, 則形成包括表頭及資料部分的 包。表頭包括剩餘的資 傳送。在-些例子中,^大小’^料將從原始成串 分(如“B),在其他例::封包能包括固定長度的資 其具有的資科呷八中,分割封包可以是成串封 除了併入I::待傳送的剩餘資料。
、且以外(如包括在資料路徑I/c>單元L •20- (17) Ϊ292989 l65)’上述實例也可 .^ 儲存在裝置或機器可讀取的媒髀击 L 1即儲存及/或傳送)資却Μ 4。例如機器可讀取媒I#包括唯" 、機 唯續記憶體(r〇m),隨機存 取圮憶體(RAM),磁碟儲存媒體, 瑪存 尤学儲存媒體,快Μ 2 憶體元件,電、光、聲或它種 ’ 6己 耷次匕種形式的傳播信號(如載波, 、’”線信號’數位信號等)’元件或機器可讀取媒體包括 固態記憶體元件及/或旋轉磁(或光)碟。當部分指令已八
割在不同機器(如跨過電腦連接)時,元件或機器可讀取2
體即分散。 I 雖然已在附圖中說明及顯示一些典型實例,要了解的> 這些實例只是敘述性而非限制本發明,而且本發明不限於 上述特定結構及配置,因此熟於此技藝者可以作出各種其 他改良。 圖式餘箪說 本發明是以範例來說明而且本發明不僅限於附圖其中 相同數字表示類似元件,該注意的是本發明中的一或一個 實例不必表示同一實例,而這些數字表示至少一個。 圖1說明包括集線器鏈的系統。 圖2說明跨越集線器鏈的分刻異動範例。 圖3說明集線器鏈的方塊圖。 圖4說明包括32位元足址模式的請求封包表頭格式。 圖5說明包括64位元足址模式的請求封包表頭。 圖6說明包括内含定址模式的請求封包表頭600。 -21 -
1292989 (18)- 圖7說明一完成封包表頭。 圖8說明一完成狀態及編碼表。 圖9說明讀取請求及讀取回復封包通訊。 圖10說明本發明的實例,其在集線器鏈上將讀取回復資 料形成資料流的結構。 圖1 1說明本發明實例的時序圖。 圖1 2說明本發明一些實例的時序圖。
圖1 3說明包括動態分割資料封包的本發明實例。 圖14說明本發明實例的流程圖。
圖式代表符號說明 100 系統 102 集線器鏈 104 記憶體控制集線器 106 輸入/輸出控制集線器 108 中央處理器 110 記憶體 114 PCI代理者 118 鍵盤 120 滑鼠 122 掃描器 124 硬碟 135 , 165 資料路徑I/O單元 -22-

Claims (1)

1292髮綠03298號專利申請案 * ‘中文申請專利範圍替換本(96年8月) ... ,. .- * ^ 年月曰修(更)正替換頁 拾、申請專利範圍 1. 一種集線器鏈路讀取回復資料流之裝置,包括: 一第一集線器; 一匯流排,連接至第一集線器;及 一第二集線器,連接至匯流排,其中第一集線器形 成且傳送包括一封包表頭之成串封包。 2. 如申請專利範圍第1項之裝置,其中匯流排係一集線器 鏈。 3. 如申請專利範圍第1項之裝置,其中成串封包包括串併 之資料封包,其中串併之資料封包連接至一封包表頭。 4. 如申請專利範圍第1項之裝置,其中成串封包具有一可 變長度。 5. 如申請專利範圍第1項之裝置,其中成串封包係分割, 其中一分割封包包括一表頭邵分及一資料邵分。 6. 如申請專利範圍第5項之裝置,其中成串封包之分割係 動態。 7. 如申請專利範圍第5項之裝置,其中表頭部分包括待傳 送之剩餘資料大小,其中連接至表頭部分之資料封包 大小與表頭部分所示大小相比能具有不同大小。 8. —種集線器鏈路讀取回復資料流之系統,包括·· 一處理器; 一記憶體,連接至處理器; 第一集線器,連接至處理器; 83726-960803.doc
1292989 第二集線器,連接至第一集線器;及 複數個周邊元件,連接至第二集線器; 其中第一集線器形成且傳送包括一封包表頭之成串 封包。 9. 如申請專利範圍第8項之系統,其中匯流排係一集線器 鏈。 10. 如申請專利範圍第8項之系統,其中成串封包包括串併 之資料封包。 11. 如申請專利範圍第8項之系統,其中成串封包具有一可 變長度。 12. 如申請專利範圍第8項之系統,其中成串封包分割成複 數個封包,其中各分割封包包括一表頭邵分及一資料 部分。 13. 如申請專利範圍第1 2項之系統,其中成串封包之分割 係動態。 14. 如申請專利範圍第1 2項之系統,其中表頭部分包括待 從原始傳送之剩餘資·料大小,其中連接至表頭部分之 資料封包大小與表頭部分所示大小相比能具有不同大 小〇 15. —種集線器鏈路讀取回復資料流之方法,包括: 傳送一第一請求; 接收第一請求; 形成一成串封包; 傳送成串封包;及 83726-960803.doc
1292989 ,:、t] 接收成串封包,其中成串封包包括一封包表頭。 16.如申請專利範圍第1 5項之方法,更包括:若拒絕一請 求,則將一成串封包分割成一較小封包。 Π.如申請專利範圍第1 6項之方法,其中各分割成串封包 包括一表頭部分及一資料部分。 18. 如申請專利範圍第1 7項之方法,其中成串封包之分割 係動態。 19. 如申請專利範圍第1 7項之方法,其中表頭部分包括待 從原始封包傳送之剩餘資料大小。 20. 如申請專利範圍第1 5項之方法,其中成串封包包括串 併之資料封包。 21. 如申請專利範圍第1 5項之方法,其中成串封包具有一 可變長度。 22. 如申請專利範圍第1 5項之方法,更包括: 接收所有請求資料之前,去除一讀取請求信號; 去除請求信號後,傳送後續封包,後續封包包括剩 餘之請求資料;及 收到所有請求資料之前,傳送一回覆封包。 23. —種機器可讀取媒體,其包含指令,當一機器執行該 指令時,使機器執行以下操作,包括: 傳送一第一請求; 接收第一請求; 形成一成串封包; 傳送成串封包;及 83726-960803.doc
TO QO (YQQl_ 一 —一 年月曰.(更)正替渙荀 接收成串封包,其中成串封包包括一封包表頭。 24. 如申請專利範圍第2 3項之機器可讀取媒體,更包含指 令,當一機器執行指令時,使機器執行以下操作,包 括 · 若拒絕一請求,則將一成串封包分割成一較小封包。 25. 如申請專利範圍第24項之機器可讀取媒體,其中各分 割成串封包包括一表頭邵分及一資料邵分。 26. 如申請專利範圍第24項之機器可讀取媒體,其中成串 封包之分割係動態。 27. 如申請專利範圍第24項之機器可讀取媒體,其中表頭 部分包括待從原始封包傳送之剩餘資料大小。 28. 如申請專利範圍第2 3項之機器可讀取媒體,其中成串 封包包括_併之資料封包。 29. 如申請專利範圍第23項之機器可讀取媒體,其中成串 封包具有一可變長度。 30. 如申請專利範圍第23項之機器可讀取媒體,更包含指 令,當一機器執行指令時,使機器執行以下操作,包 括: 接收所有請求資料之前,去除一讀取請求信號; 去除請求信號後,傳送後續封包,後續封包包括剩 餘之請求資料;及 收到所有請求資料之前,傳送一回覆封包。 83726-960803.doc
TW092103298A 2002-02-19 2003-02-18 Method,system and apparatus for hublink read return streaming and mechine-readable medium TWI292989B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/080,175 US7006533B2 (en) 2002-02-19 2002-02-19 Method and apparatus for hublink read return streaming

Publications (2)

Publication Number Publication Date
TW200401538A TW200401538A (en) 2004-01-16
TWI292989B true TWI292989B (en) 2008-01-21

Family

ID=27733161

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092103298A TWI292989B (en) 2002-02-19 2003-02-18 Method,system and apparatus for hublink read return streaming and mechine-readable medium

Country Status (8)

Country Link
US (1) US7006533B2 (zh)
EP (1) EP1476817B1 (zh)
CN (2) CN101819562B (zh)
AT (1) ATE315252T1 (zh)
AU (1) AU2003205389A1 (zh)
DE (1) DE60303119T2 (zh)
TW (1) TWI292989B (zh)
WO (1) WO2003071434A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215662B1 (en) * 2002-03-22 2007-05-08 Juniper Networks, Inc. Logical separation and accessing of descriptor memories
US7283528B1 (en) 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US7212530B1 (en) 2002-03-22 2007-05-01 Juniper Networks, Inc. Optimized buffer loading for packet header processing
US7236501B1 (en) * 2002-03-22 2007-06-26 Juniper Networks, Inc. Systems and methods for handling packet fragmentation
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7136958B2 (en) 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
JP3736641B2 (ja) * 2004-01-22 2006-01-18 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7257683B2 (en) 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US6980042B2 (en) 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7363419B2 (en) 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7508839B2 (en) * 2004-07-09 2009-03-24 Nokia Corporation Encapsulator and an associated method and computer program product for encapsulating data packets
JP4905395B2 (ja) * 2008-03-21 2012-03-28 富士通株式会社 通信監視装置、通信監視プログラム、および通信監視方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698804A (en) * 1985-01-22 1987-10-06 Telephone And Telegraph Company, At&T Bell Labs Shared data transmission system
EP0855820A3 (en) 1996-12-13 2003-04-16 International Business Machines Corporation A method and system for optimizing data transmission line bandwidth occupation in a multipriority data traffic environment
US5991304A (en) * 1998-02-13 1999-11-23 Intel Corporation Method and apparatus for minimizing asynchronous transmit FIFO under-run and receive FIFO over-run conditions
US6298409B1 (en) * 1998-03-26 2001-10-02 Micron Technology, Inc. System for data and interrupt posting for computer devices
US6272563B1 (en) * 1998-11-03 2001-08-07 Intel Corporation Method and apparatus for communicating routing and attribute information for a transaction between hubs in a computer system
US6145039A (en) * 1998-11-03 2000-11-07 Intel Corporation Method and apparatus for an improved interface between computer components
US6438123B1 (en) * 1998-11-10 2002-08-20 Cisco Technology, Inc. Method and apparatus for supporting header suppression and multiple microflows in a network
US6748442B1 (en) * 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US6389038B1 (en) * 1999-01-26 2002-05-14 Net 2 Phone Voice IP bandwidth utilization
GB2349554B (en) * 1999-04-29 2004-01-14 Ibm A method for encoding data
US6496895B1 (en) * 1999-11-01 2002-12-17 Intel Corporation Method and apparatus for intializing a hub interface
US6516375B1 (en) * 1999-11-03 2003-02-04 Intel Corporation Peripheral component interconnect (PCI) configuration emulation for hub interface
US6594722B1 (en) * 2000-06-29 2003-07-15 Intel Corporation Mechanism for managing multiple out-of-order packet streams in a PCI host bridge
US20030002497A1 (en) * 2001-06-29 2003-01-02 Anil Vasudevan Method and apparatus to reduce packet traffic across an I/O bus

Also Published As

Publication number Publication date
CN1636198A (zh) 2005-07-06
TW200401538A (en) 2004-01-16
EP1476817B1 (en) 2006-01-04
ATE315252T1 (de) 2006-02-15
DE60303119D1 (de) 2006-03-30
US20030156581A1 (en) 2003-08-21
CN101819562A (zh) 2010-09-01
EP1476817A2 (en) 2004-11-17
CN1636198B (zh) 2010-11-24
US7006533B2 (en) 2006-02-28
DE60303119T2 (de) 2006-08-31
AU2003205389A8 (en) 2003-09-09
WO2003071434A3 (en) 2004-02-05
WO2003071434A2 (en) 2003-08-28
AU2003205389A1 (en) 2003-09-09
CN101819562B (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
TWI292989B (en) Method,system and apparatus for hublink read return streaming and mechine-readable medium
TWI229259B (en) A method and related apparatus and computer program product for distributed memory control and bandwidth optimization
WO2018076793A1 (zh) 一种NVMe数据读写方法及NVMe设备
US7822908B2 (en) Discovery of a bridge device in a SAS communication system
JP5872560B2 (ja) 高速メモリ・システム
US6502157B1 (en) Method and system for perfetching data in a bridge system
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
US8046505B2 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
US7502377B2 (en) PCI to PCI express protocol conversion
TW200535613A (en) Method and apparatus for supporting multi-function pci devices in pci bridges
TW200304312A (en) Communicating message request transaction types between agents in a computer system using multiple message groups
TW200817897A (en) Pseudo-LRU virtual counter for a locking cache
JPH11175454A (ja) 自動直接メモリ・アクセス機能を備えたコンピュータ・システム
WO2018232736A1 (zh) 内存访问技术及计算机系统
JP2004070571A (ja) データ転送制御システム、電子機器、プログラム及びデータ転送制御方法
JPH11175455A (ja) コンピュータ・システムにおける通信方法及び装置
TWI330811B (en) Apparatus and method for sparse line write transactions
US20060271714A1 (en) Data retrieving methods
US6742074B2 (en) Bus to system memory delayed read processing
EP1742147B1 (en) Microprocessor apparatus and method for enabling variable width data transfers
TW464808B (en) System and method for transmitting data on PCI bus
WO2017005009A1 (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
TW200414130A (en) Improving optical storage transfer performance
US7882322B2 (en) Early directory access of a double data rate elastic interface
US7519755B2 (en) Combined command and response on-chip data interface for a computer system chipset

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees