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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 21
- 230000002093 peripheral effect Effects 0.000 claims abstract description 6
- 230000005540 biological transmission Effects 0.000 claims description 10
- 239000000463 material Substances 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 239000003795 chemical substances by application Substances 0.000 description 25
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000007858 starting material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000011324 bead Substances 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus 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
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)
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)
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 |
-
2002
- 2002-02-19 US US10/080,175 patent/US7006533B2/en not_active Expired - Fee Related
-
2003
- 2003-01-30 DE DE60303119T patent/DE60303119T2/de not_active Expired - Fee Related
- 2003-01-30 CN CN201010154774.1A patent/CN101819562B/zh not_active Expired - Fee Related
- 2003-01-30 AU AU2003205389A patent/AU2003205389A1/en not_active Abandoned
- 2003-01-30 EP EP03704079A patent/EP1476817B1/en not_active Expired - Lifetime
- 2003-01-30 WO PCT/US2003/002827 patent/WO2003071434A2/en not_active Application Discontinuation
- 2003-01-30 AT AT03704079T patent/ATE315252T1/de not_active IP Right Cessation
- 2003-01-30 CN CN03804203.7A patent/CN1636198B/zh not_active Expired - Fee Related
- 2003-02-18 TW TW092103298A patent/TWI292989B/zh not_active IP Right Cessation
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 |