TWI608326B - 用以測量介於具有獨立矽時脈的裝置之間的時間偏置之設備、方法及系統 - Google Patents
用以測量介於具有獨立矽時脈的裝置之間的時間偏置之設備、方法及系統 Download PDFInfo
- Publication number
- TWI608326B TWI608326B TW102125547A TW102125547A TWI608326B TW I608326 B TWI608326 B TW I608326B TW 102125547 A TW102125547 A TW 102125547A TW 102125547 A TW102125547 A TW 102125547A TW I608326 B TWI608326 B TW I608326B
- Authority
- TW
- Taiwan
- Prior art keywords
- time
- agent
- clock
- link
- request
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0673—Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
- H04J3/0697—Synchronisation in a packet node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
本揭示大致上關於電子領域。更特別地,本發明的實施例關於具有獨立矽時脈的裝置之間的測量時間偏置。
在現代的計算系統中,各式各樣的裝置經由一或更多鏈路而互連。這些鏈路允許互連的裝置之間的通訊。但是,當裝置互連時,操作正確性依靠裝置之間的時脈同步。舉例而言,假使互連裝置未準確地同步時,資料通訊會受阻。為了維持無錯誤通訊,裝置之間的鏈路速度需要降低以允許適當的同步。這接著降低性能。因此,互連裝置之間的時脈同步的準確性直接衝擊計算系統的性能。
100c‧‧‧時間同步邏輯
102‧‧‧本地時間拷貝
104‧‧‧本地計數器
106‧‧‧介面模組/單元邏輯
108‧‧‧模組
100F‧‧‧時序測量邏輯
102F‧‧‧根
104F‧‧‧開關
200‧‧‧計算系統
400‧‧‧計算系統
500‧‧‧計算系統
參考附圖,提供詳細說明。在圖式中,代號最左方的數字表示代號首次出現的圖式。在不同的圖式中使用相同
的代號表示類似的或相同的項目。
圖1A顯示根據實施例的時序測量技術的流程圖。
圖1B顯示根據某些實施例的時序測量技術的流程圖。
圖1C顯示根據實施例的時序同步邏輯100C的方塊圖。
圖1D顯示根據實施例的時間有關的控制及資料資訊的交換之流程圖。
圖1E顯示根據實施例的增加NAK訊息之時序測量協定。
圖1F顯示根據實施例的利用「拉升」模型之時序測量邏輯的方塊圖。
圖1G顯示根據實施例的提供束縛不準確時間同步的流程圖。
圖1H顯示根據實施例的提供束縛不準確時間同步的流程圖。
圖1I顯示根據實施例的提供束縛不準確時間同步的流程圖。
圖1J顯示根據實施例的提供束縛不準確時間同步的流程圖。
圖2顯示用以實施此處所述之各式各樣的實施例之計算系統的實施例的方塊圖。
圖3顯示用以實施此處所述之各式各樣的實施例之計算系統的實施例的方塊圖。
圖4顯示用以實施此處所述之各式各樣的實施例之計算系統的實施例的方塊圖。
圖5顯示用以實施此處所述之各式各樣的實施例之計算系統的實施例的方塊圖。
在下述說明中,揭示眾多特定細節以助於完整瞭解各式各樣的實施例。但是,沒有這些特定細節仍可實施某些實施例。在其它情形中,習知的方法、程序、組件、及電路未詳細說明以免模糊特定實施例。使用例如積體半導體電路(「硬體」)、組織成一或更多程式(「軟體」)之電腦可讀取指令或硬體及軟體的某組合等各種機構,執行本發明的實施例的各種態樣。為了本揭示的目的,述及「邏輯」時將意指硬體、軟體、或其某些組合。
矽基礎的時脈之一限制是無論在什麼時間或是時間多快過去,都沒有二時脈準確地相符。即使二時脈被強制在某瞬間在時間上相符,但是,它們立即開始漂離。根據現代計算系統中使用的高振盪器頻率,每佰萬僅數部份的誤差快速地累積成裝置之間的時脈值的實質不相符。而且,在此限制之下,從獨立的硬體時脈之間的精準同步獲利之應用及使用模型無法實用。某些解決之道包含專用機構以將多個時脈鏈接在一起或是在此限制附近作用。在其它情形中,設計者可以求助於類比電路以消除多個獨立的矽時脈之間的相依性。
為達此目的,某些實施例提供達成互連裝置之間的微粒時間測量的技術。在實施例中,用以互連電腦系統中的
裝置之介面是快速週邊組件互連(PCIe,例如,根據2010年11月10日之快速PCI基本規格3.0,修正版3.0,版本1.0)。在一實施例中,獨立裝置週期地取得全系統主時間的快照(例如,由系統中的所有代理器使用)。藉由同時地記錄它們在已知時間點(例如,以及以相同時間單位)的地區時脈的值及全系統主時間,裝置會報告它們的地區時脈與全系統主時間之間的關係(例如,給軟體應用、作業系統、等等)。
某些實施例提供根據例如更即時資料遞送給請求裝置而取得互連裝置之間的微粒時間測量之技術。一般而言,時序資訊在數位邏輯系統之內總是流通的。在不同的時序域之間大量頻率小波動造成時序不準確度的穩定度損失。隨著時間,這些多個誤差源可能造成無法取得準確且精準的時序資訊。
此外,某些實施例使得回應裝置能夠遞送更近的時序資訊給請求裝置。此方式降低上述很多誤差源的衝擊,並降低請求經常更新以負責這些誤差源之需求。而且,這些技術增進裝置之間傳遞的時序資訊的準確度、降低耗電、及/或保存鏈路頻寬。
因此,在實施例中,沒有裝置需要任何其它裝置的內部工作的任何知識。假使二裝置實施此處所述的同步技術,則它們能夠將準確的時序資訊從一裝置傳遞給另一裝置,而不需要彼此的操作的任何詳細知識。這接著在計算平台中允許相對很低的功率、裝置間鏈路。但是,本發明
的實施例不限於此且技術可以更廣泛地應用至任何型式的網路或裝置。
某些實施例提供技術,當測量具有獨立的矽時脈之裝置之間的時間偏置時,降低耗電。一般而言,當一裝置在某傳輸媒體上從第二連接的裝置請求時間時,產生問題。回應裝置接著從可靠的時脈源取出時間以用於傳送給請求裝置。在此情形中,回應裝置需要負責在傳送答案給請求裝置之前取出時間所消耗的時間。假使為否,則取出的值在時間被傳送時將是「陳舊的」。
此問題的一解決之道是簡單地將可靠的時間資源布置在回應裝置中。但是,這在很多裝置需要存取可靠的時間之大系統中並非總是實用的。另一選項是保持回應裝置之內的本地時間拷貝。此拷貝將接著總是保持與原始時間源相同的值,當服務請求時無需取出時間更新。本方法確實作用,但是,由於拷貝需要連續地更新,所以,其比所需消耗更多的功率。
在實施例中,用以互連電腦系統中的裝置之介面是PCIe。但是,本發明的實施例不限於此態樣,且技術可以更廣泛地應用至任何型式的網路或裝置。
某些實施例提供技術,當測量具有獨立的矽時脈之裝置之間的時間偏置時,降低耗電。舉例而言,在遠端時間源提供用於同步目的之主時間的情形中,遠端時間主裝置(例如,經由串列介面耦合至系統的外部裝置)無法立即回應。在這些情形中,主裝置如此長時間耗費,以致於請
求方錯誤地作出原始請求訊息遺失之結論。
此錯誤的「逾時」結論導致請求方採取動作以從其視為錯誤的條件恢復,例如要求鏈路重設,協商較低的鏈路速度、及/或報告錯誤給軟體。由於資源的捕捉,這些動作將明確地衝擊系統性能,以及,這些動作甚至造成使電腦重開機。此問題的一替代解決之道是將逾時設定在很大的值,這對系統效率具有不利影響。
為達此目的,實施例藉由擴展可以作為主時間源的裝置的多樣性,例如,藉由移除主時間需要被足夠快地取出以避免上述逾時條件之要求,以增進系統性能。
在一實施例中,訊息(此處也稱為「NAK」)使得回應裝置能夠發送給請求方,而回應方確認收到NAK訊號及將對其工作,其將不會具有發出用於某些時間的響應所要求的時序資訊。請求方接著等待某時間長度及再發出請求訊息,以回應收到NAK訊息。
某些實施例提供技術,用於最佳化低功率應用中的時序測量。舉例而言,時序測量將測量具有獨立矽時脈的裝置之間的時間偏置。某些實施例關於從中央時間源至具有獨立本地時脈的其它裝置之時序資料的散佈。此問題的一方式是從中央源週期地廣播時間給所有參與裝置。但是,此方式未將本身提供給很多攜式裝置所需之積極的電力管理策略。
在實施例中,用於時序/同步資料的請求流程在裝置階層中倒轉,以致於有興趣的裝置將時間從中央時間源
「拉升」而不是等待廣播。這大幅地增進電力效率及能夠有積極的電力管理策略,其中,裝置將經常處在太低的電力狀態而無法接收廣播。
某些實施例提供束縛不準確時間同步,例如,簡化晶片之間及之內的準確時間的傳輸。此外,可以與電機電子工程師學會(IEEE)標準1588-2008、IEEE標準802.1AS-2011、及/或IEEE標準802.11v中界定的協定相配合或更進步地,使用此處所述的某些實施例。雖然IEEE 802.1AS及IEEE 1588說明如何經過網路使時間有時同步至次微秒的準確度,協定要求計時器、計算、及複雜狀態機。為達此目的,某些實施例提供束縛不準確時間同步,以簡化晶片之間及之內的準確時間傳輸。此外,這些實施例作用,其中,匯流排的潛候期/顫動通常低,但是,它們能偵測假高潛候期/高顫動事件,以及再度嘗試協定。
圖1A顯示根據實施例的時序測量技術的流程圖。圖1A中所示的裝置A及B可為任何型式的裝置,例如參考圖2-5中所述的那些裝置中的任何裝置。而且,在各種實施例中,裝置A可以是上游埠及裝置B可以是下游埠。
參考圖1A,裝置A知道全系統主時間與它自己的本地時脈之間的關係。而且,裝置A的本地時脈在實施例中實際上是全系統主時間。裝置B接著尋找全系統主時間的更新以與它的本地時脈的目前值相關連。如同所示,裝置B藉由傳送請求訊息給裝置A而初始化更新,裝置A接
著會以回應訊息回應。這些訊息由各裝置傳送及接收的精確時間標示為t1至t4。當各裝置傳送或接收各訊息時,各裝置以它自己的本地時脈的觀點或相關地捕捉這些時間。
舉例而言,在圖1A中的第一請求/響應對之後,裝置B根據它的本地時脈而記錄時間t1及t4,裝置A根據它的本地時脈而記錄時間t2及t3。根據各後續的響應訊息,裝置A送出裝置A的先前響應傳送的全系統主時間(例如時間t3)以及裝置A為回應先前請求(t3-t2)而取得的時間。根據此資訊,裝置B決定全系統主時間與它自己的本地時脈之間的關係。
此外,「鏈路延遲」可以定義為特定訊息通過傳輸媒體所耗費的時間。假定沒有直接的機構來測量此鏈路延遲,則裝置可以使用某些技術以間接地計算此時間。在其它情形,從一裝置送出的時序值當它抵達其它裝置時將是陳舊的。假使用於特定媒體的鏈路延遲在二方向上大約相等時,上述請求/回應對的系統使得裝置B能夠使用下述公式以計算鏈路延遲:鏈路延遲=〔(t4-t1)-(t3-t2)〕/2
假定此鏈路延遲,則裝置B如下所述地計算對應於它的本地時脈時間t4之全系統主時間:MasterTime_at_t4=t3+鏈路延遲
然後,裝置B儲存這二個值,在t4的本地及主時間,以稍後由軟體或其它邏輯使用。
因此,在一實施例中,各裝置知道它自己的本地時脈與全系統主時間的偏移。藉由負責這些差異,邏輯可以將遍及多個獨立裝置的事件與全系統主時間精準地同步,而不使各別的矽時脈同步。
某些實施例允許下述之一或更多:(a)使裝置能夠負責傳輸媒體上的不確定鏈路延遲;(b)在裝置的本地時脈與全系統主時間之間能夠精準的相關連;(c)僅使用二訊息,保存鏈路頻寬以用於其它用途;(d)各裝置外部之實施(例如,裝置也未要求詳細知道其它裝置的內部操作);(e)藉由使裝置在低電力狀態能夠延後發出時序請求直到鏈路甦醒為止而增進電力效率;及/或(f)使特別請求/響應協定的執行與主時間的傳遞之間的時間落後最小化(例如,即使t3-t2無法同時可供利用,t2仍可立即傳遞給請求方-由於t3-t2僅被用以計算相對靜態的鏈路延遲,這仍是好的)。
此外,實施例提供裝置之間準確的時間同步之新方法,而不要求額外的接線或連接。而且,「從動」裝置可以請求主推動時間以外的時間,允許從動裝置停留在低功率狀態更長時間。
在某些實施例中,圖1A中所示的技術能夠決定二裝置之間的鏈路延遲與從裝置A至裝置B的精準時序資訊的傳輸。在來自裝置A之第二(以及每一後續的)響應訊息結束時,藉由將鏈路延遲加至被傳送的值t3,裝置B計算對應於其本地時間值t4的主時間值。
圖1B顯示根據某些實施例的時序測量技術的流程圖。圖1B中的裝置A及B可以是任何裝置型式,例如參考圖2-5中所述的那些裝置中的任何裝置。而且,在各種實施例中,裝置A可以是上游埠及裝置B可以是下游埠。
參考圖1B,顯示根據實施例之用於時間同步的替代技術。如同所示,相對於圖1A,在響應訊息中,用於在t3的主時間而傳遞的值由在t2’的主時間值取代。藉由將計算的鏈路延遲從裝置A送出的在t2’的主時間減掉裝置B現在計算在點t1’的主時間。
此外,PCIe規格規定協定以安定的資料填充訊息。任何送出的值將因而來自於以前的某事件,而不是來自目前的訊息。由於在t3’的主時間值將是目前訊息的一部份以及假使目前的訊息未成功地通過時將導致問題,所以,這排除傳送在t3’的主時間值。在此考慮下,t2’是下一個最接近的值。
傳遞來自目前的請求訊息t2’而不是來自最後響應訊息的t3將大幅降低一潛在的錯誤源:t4與t1’之間的間隔可以是任意長。在此間隔期間,來自不同的時脈源中的不確定性之小誤差繼續累積,基於在時間t3捕捉之增加的陳舊值而降低任何後續的計算之準確度。此處之議題在於當t3被捕捉時其是準確時,在計算二時脈域之間的關係時它的值隨著時間過去而變差。這些相同的錯誤源應用於時間t2’,但是由於在請求訊息的接收與相關連的響應之
傳送之間的間隔典型上是相當的短,所以,這些相同的錯誤源具有更加少的機會來累積。
除了增加裝置B的結果計算的準確度之外,此技術也有助於裝置省電及保存鏈路頻寬。藉由降低使請求訊息之間的間隔保持短的所需之努力,此方式減少傳送重複的訊息以維持可接受的準確程度之需求。在某些情形中,假使在請求之間的間隔足夠長時,二請求將需要被核發以取得準確的時間值;一是更新t3的裝置A的概念,另一是將該值傳送給裝置B。藉由圖1B的方式,此情形將不會發生。
圖1C顯示根據實施例之時間同步邏輯100C的方塊圖。邏輯100C可以併入於各種裝置中,例如參考圖1D-5所述的任何裝置。如同所示,邏輯100C包含用於本地時間拷貝102的儲存裝置及計數器104(例如,在回應裝置之內)。在實施例中,當服務向其它裝置請求時間時,僅使用本地拷貝。當時間被取出時,計數器保持追蹤消耗的時脈循環,允許本地拷貝邏輯維持休眠直到請求抵達為止。此機制保持具有中央時間源的彈性,並比總是開啟拷貝的替代方式消耗較少的功率。
此外,在圖1C中所示的實施例中,進入的時間請求從外部源抵達。介面模組/單元邏輯106接著傳送訊息給請求時間更新的晶片外時間源以及開始本地計數器104。稍後,當更新抵達時,晶片外時間源供應脈衝給同步接線以表示當遞送至介面單元的目前時間是正確的。此脈衝造
成時序模組邏輯108佇鎖報告的值。然後,本地時間拷貝102輸出作為報告的時序值與本地計數器的總合。本地計數器繼續運行,以各通過的時脈時間記號更新本地時間拷貝直到時間消耗至滿足原始的時間請求為止。在此點,本地時間拷貝被廢棄及計數器解除激勵為直到下一時間請求抵達為止。此機制造成循環準確值,以此循環準確值填充原始時間請求而不需消耗增加的電力來維持連續運行遠端時間源的本地拷貝。
圖1D顯示根據實施例之時間有關的控制及資料資訊的交換之流程圖。在某些實施例中,各遠端時間源、本地時序模組、及請求裝置可以設在系統中的代理器中,例如參考圖2-5所述的系統之組件。更具體而言,圖1D顯示本地計數器(例如圖1C的計數器104)被致動及解除致動之那些點。
如圖1D所示,請求裝置傳送時間請求給本地時序模組(例如,圖1C的模組108)。為回應時間請求,模組啟始它的本地計數器(例如,圖1C的計數器104)以及傳送更新請求給遠端時間源。在從遠端時間源收到時間更新時,本地時序模組佇鎖/儲存更新的值(例如,如參考圖1C所述般)。在實施例中,時間更新達到(或是實質上同時)同步脈衝。接著,本地時序模組提供適當的響應(例如,如參考圖1C所述般)給請求裝置。根據實施例,本地時序模組也在此點停止本地計數器以及有效地廢棄本地時間拷貝。
參考圖1E,顯示根據實施例之具有增加的NAK訊號之時序測量協定。如圖1E所示,第一請求(t1->t2)造成NAK訊息。回應方(裝置A)在接收對時間的請求時決定其未具有充份的資訊用於完整的響應訊息,因而取代地核發NAK。在再發出請求之前,請求方(裝置B)現在知道等待某(例如,特定實施)時間長度。後續的請求也接收NAK訊息直到回應方取得用於完整的響應訊息之所需資訊。
在實施例中,NAK訊息允許回應方當其繼續工作收集響應資料時確認其收到初始請求。這避免簡單地延伸傳輸媒體的交易逾時值以容納這一特定的事件或是冒著觸發交易逾時條件的風險之不良的替代方案。在一實施例中,NAK訊息可為專用的響應或是使用保留的時間值(例如所有「1」)作為標準響應的一部份。
因此,某些實施例放鬆支援精準的時間測量之系統設計的限制。未增加NAK訊號,實施者將受限於它們的主時間源的選取以及它們如何服務來自其它裝置的時序請求。一限制(起源於傳輸媒體的要求)來自所有訊息需要在某時間之內被服務或是起源方作出時序請求絕不被接收的結論。發出NAK訊息確定這將不會發生,並分配更多時間用於回應方以收集所需資料。
圖1F顯示根據實施例之利用「拉升」模型的時序測量邏輯100F的方塊圖。邏輯100F可以併入各式各樣的裝置,例如參考圖2-5所述的任何裝置。舉例而言,邏輯
100F包含根複合體102F(同於或類似於參考其餘圖式所述的RC 222)。
一般而言,當將時間資訊散佈於階層結構內時,根裝置維持主時間以及週期地廣播時序訊息給所有參與裝置。無論接收是否在當時真正地需要所有的訊息,此方式仍消耗電力以廣播所有的訊息。此外,所有介於其間的鏈路維持激勵,以致於接收方接收訊息以及裝置本身維持更高的電力狀態以接收進入的交通。
參考圖1F,顯示裝置階層結構的實施例。在實施例中,一或更多裝置僅當它們需要時間時才要求它。假使接收請求的裝置具有用於時間的有效值時,則將其立即提供給請求方。否則,接收器發出它自己的時序請求給在階層結構中在其上方的裝置。此處理繼續直到請求到達具有最新的主時間值之裝置為止。注意,在實施例中,階層結構的根將總是具有有效的主時間值。而且,在某些實施例中,附於根的開關可以是時間主裝置。根據至少一實施例,在此情形中,僅有附於該開關的裝置存取精準時間以及根本身將不會參與滿足對時間請求的響應。
舉例而言,假使裝置A請求時間以及開關104F未具有它,則開關接著發出它自己對時間的請求給在階層結構中位於其上方的下一裝置(亦即,發給根102F)。當時間從根102F抵達時,開關滿足裝置A的請求。
而且,假使裝置C不需要瞬間的時間,則其不會送出任何訊息,這接著降低耗電(例如,由於裝置C進入較低
耗電狀態)及/或保存邏輯100F中的鏈路上的頻寬(例如,當裝置C未產生交通時)。
此外,裝置B在稍後的點請求時間。僅已更新它自己的時間以回答裝置A的請求,開關可以滿足裝置B的請求(例如,取代產生增加的交通給根102F)。在實施例中,舉例而言,根據保持追蹤開關時間有多麼新近地被更新之臨界值及/或計時器值,在滿足裝置B的具有開關時間的請求之前,開關104F首先決定它的時間是否仍被視為有效且不陳舊。
由於裝置完全知道它們何時需要時間,以及僅在它們需要時才要求時間,所以,時序資訊典型上比廣播模型更加地不經常地傳遞。後者(廣播模型)週期地廣播時序資料而不知道那些裝置真正地需要它,這接著消耗增加的電力及消耗鏈路上的頻寬。而且,由於不需要為了廣播訊息而保持清醒,所以,裝置自由進入低電力狀態,甚至將它們的PCIe鏈路斷電,也不會有遺失時序資料的風險。稍後,當裝置因有工作要作而甦醒時,其可在該點發出時序請求。如同此處所述般,述及「PCI」或「PCIe」時並不僅侷限於這些裝置,且這些名詞可以與「通訊鏈路」互換。
圖1G-1J顯示根據某些實施例的提供束縛不準確時間同步的流程圖,舉例而言,以簡化晶片之間及之內的準確時間傳輸。此外,這些實施例在匯流排的潛候期/顫動通常低的情形下工作,但是,它們可以偵測假的高潛候期/
高顫動事件,以及再度嘗試協定(例如,如同所示地再嘗試圖1G-1I)。
參考圖1G-1J,一裝置被視為時間資源且被標示為「平台時間計數器」。如同所示,使用訊息遞送以將時間資源的時間傳送給所有的相關模組(在圖1G-1J中標示為模組X)。模組X具有控制單元以與時間同步單元及本地計數器通訊以計數本地時間。時間源傳送訊息給與模組X控制單元交介的時間同步單元。
參考圖1G,命令(例如同步啟始命令(SyncStartCMD)啟始束縛處理。然後傳送時間閃速訊號,這造成時間同步單元捕捉目前平台時間值的快照。此捕捉值接著派送給模組X控制單元。藉由使用供應的平台時間快照作為啟始值而啟始本地計時器,模組X控制單元使它的本地時脈與平台時間同步。確認(ACK)接著返回至時間同步單元,時間同步單元執行有限檢查,例如:比較時間閃速訊號的傳輸與從模組X控制單元接收ACK訊息之間的時間差與臨界值(y)。比較ACK訊息被接收時平台時間計數器的值與在時間閃速訊號時捕捉的儲存值相比較構成本有限檢查。假使消逝的時間差小於臨界值(y),則有限檢查成功。時間同步單元接著傳送同步比較通過訊息(經由SyncComp(OK))給模組X控制單元。上述流程是用於時間差小於臨界值(y)。但是,假使時間差大於臨界值(y),則這表示傳送捕捉的平台時間值的延遲太長,以致於值現在太陳舊而無法依賴。時間
同步單元造成再嘗試直到時間差在臨界值(y)之下。在實施例中,假使再嘗試必須被嘗試以將時間標誌為具有無效狀態時,則可以送出同步比較故障(SyncComp(Fail))。
參考圖1H,圖1G的流程大致上被依循,但是下述除外:時間同步單元將未來時間值(平台時間加上偏置(Y))傳遞給模組X控制單元。模組X本地計數器停止它的時脈及延遲它的計時器之啟始直到時間同步單元傳送同步訊號為止。模組X本地計時器將未來時間值載入它的暫存器及傳送Arm啟始標示以傳達其對於同步訊號已準備好。此訊號表示目前平台時間現在符合LocalSync(PlatformTime+Y)訊息中傳送的時間值。
參考圖1I,圖1G的流程大致上被依循,但是下述除外:模組X控制單元儲存成對的時序值快照或是時戳:一用於它的本地自由運行計數器,及另一用於平台時間計數器。為回應本地同步訊息,模組X控制單元取樣模組X本地計數器的目前值以及儲存該值與本地同步訊息中提供的平台時間值。
參考圖1J,圖1I的流程大致上被依循,但是下述除外:此流程採用同步訊號(Sync)以使得模組X控制單元在與時間同步單元取樣平台時間計數器的值相同的瞬間,能夠取樣它的自由運行本地時間計數器的值。
圖1G及1H顯示用於模組X要它的本地時間計數器含有與平台時間計數器相同的值之情形的訊號流程。圖1I
及1J顯示用於模組X已經具有獨立的時脈(例如,每當音頻介面模組傳送取樣給編解碼器(編碼器/解碼器)時,其多計數一)的情形之訊息流程。此外,圖1G和1I中所示的流程除了匯流排之外並未要求二單元之間有任何連接,但是,當與流程1H及1J相比較時,準確度更受限,流程1H及1J是採用二單元之間的接線(允許時間資訊的或多或少之模擬捕捉)及相對更佳的準確度。
此外,此處所述的某些實施例可以與電機電子工程師學會(IEEE)標準1588-2008、IEEE標準802.1AS-2011、及/或IEEE標準802.11v中界定的協定相配合或是更進步地,使用此處所述的某些實施例。
而且,此處所討論的技術可以用以便於計算系統中例如參考圖2-5中任何其餘裝置所述的裝置等各種裝置之間的時間/時脈同步,舉例而言,在計算系統中包含在處理器、晶片組、系統晶片裝置、網路裝置(例如區域網路(LAN)及/或無線LAN)裝置)、等等之中。
更特別地,圖2顯示根據本發明的實施例之計算系統200的方塊圖。系統200包含一或更多代理器202-1至202-M(於此總稱為「複數代理器202」或更一般地稱為「代理器202」)。在實施例中,代理器202是例如參考圖3-5所述的計算系統等計算系統的組件。
如圖2中所示般,代理器202經由網路結構204而通訊。在實施例中,網路結構204包含經由串列(例如,點對點)鏈路及/或共用通訊網路而通訊的一或更多互連
(或是互連網路)。各鏈路包含一或更多通道。舉例而言,某些實施例便於鏈路上驗證或組件除錯,允許具有完全緩衝的雙線上記憶體模組(FBD)之通訊,例如,FBD鏈路是用於耦合記憶體模組至主控制器裝置的串列鏈路(例如處理器或記憶體集線器)。除錯資訊從FBD通道主機傳送,以致於延著通道接通道交通軌跡捕捉工具(例如,一或更多邏輯分析儀)觀察除錯資訊。
在一實施例中,系統200支援層級協定設備,其包含實體層、鏈路層、路由層、傳輸層、及/或協定層。結構204又便於點對點網路之從一協定(例如,快取處理器或是快取察覺記憶體控制器)至另一協定的資料傳輸(例如,以分封形式)。而且,在某些實施例中,網路結構204提供依循一或更多快取同調協定之通訊。
此外,如圖2中的箭頭方向所示般,代理器202經由網路結構204而傳送及/或接收資料。因此,某些代理器利用單向鏈路,而其它代理器利用雙向鏈路以用於通訊。舉例而言,一或更多代理器(例如代理器202-M)傳送資料(例如,經由單向鏈路206)、其它代理器(例如代理器202-2)接收資料(例如,經由單向鏈路208),而某些代理器(例如代理器202-1)都傳送及接收資料(例如,經由雙向鏈路210)。
而且,根據實施例,一或更多代理器202包含一或更多輸入/輸出集線器(IOH)220以便於在代理器(例如,所示的代理器202-1)與一或更多輸入/輸出(「I/O」或
「IO」)裝置224(例如PCIe I/O裝置)之間通訊。根據PCIe規格(例如,根據PCI快速基本規格3.0,也稱為PCIe 3.0或是PCI Gen3或PCIe Gen3),IOH 220包含根複合體(RC)222(包含一或更多根埠)以耦合及/或便於代理器202-1的組件(例如處理器、記憶體子系統、等等)與I/O裝置224之間的通訊。如同參考其餘圖式進一步所討論般,在某些實施例中,多代理器系統的一或更多組件(例如處理器核心、晶片組、輸入/輸出集線器、記憶體控制器、等等)包含RC 222及/或IOH 220。
此外,舉例而言,如同參考圖1A之說明般,代理器202包含PCIe控制器235以管理PCIe介面的各種操作,舉例而言,包含代理器202中的PCIe組件的電力管理或時間同步特徵/態樣。此外,如圖2中所示般,代理器202-1存取記憶體240。如同又參考圖3-5所述般,記憶體240儲存包含例如OS、裝置驅動程式、等等各式各樣的項目。
更具體而言,圖3是根據實施例的計算系統300的方塊圖。系統300包含眾多插座302-308(顯示有四個,但是某些實施例具有更多或更少的插座)。各插座包含處理器及IOH 220、RC 222、及PCIe控制器235中之一或更多。在某些實施例中,IOH 220、RC 222、及/或PCIe控制器235出現在系統300的一或更多組件中(例如,圖3中所示的那些)。此外,取決於實施,更多或更少的220、222、及/或235區塊出現在系統中。此外,各插座
經由例如快速路徑互連(QPI)、MIPI(行動產業處理器介面)、等等點對點(PtP)鏈路、或是差動互連而耦合至其它插座。如同參考圖2的網路結構204所述般,各插座耦合至由例如包含動態隨機存取記憶體(DRAM)之眾多雙線內記憶體模組(DIMM)形成的系統記憶體的本地部份。
在另一實施例中,網路結構可以用於任何系統晶片(SoC)應用,利用客製或標準介面,例如用於AMBA(先進微控制器匯流排架構)的ARM並容介面、OCP(開放式核心協定)、MIPI(行動產業處理器介面)、PCI(週邊組件互連)或PCIe(快速週邊組件互連)。
某些實施例在例如PCI為基礎的系統等PC(個人電腦)為基礎的系統中使用能夠使用異質資源的技術,例如AXI/OCP技術,而不對IP資源本身作任何改變。實施例提供此處稱為Y單元的二個很薄的硬體區塊,以及提供墊片,能用以將AXI/OCP IP插入自動產生的互連結構以產生PCI並容系統。在一實施例中,Y單元的第一(例如,北)介面連接至配接器區,配接器區介接例如直接媒體介面(DMI)匯流排、PCI匯流排、或快速週邊組件互連(PCIe)匯流排等PCI並容匯流排。第二(例如,南)介面直接連接至例如AXI/OCP互連之非PC互連。在各式各樣的實施中,此匯流排可為OCP匯流排。
在某些實施例中,藉由將PCI配置循環轉譯成目標IP能瞭解的交易,Y單元實施PCI細目。此單元也執行
從可再定位的PCI位址至固定的AXI/OCP位址之位址轉譯,反之亦然。Y單元又實施排序機制,以滿足製造者-消費者模型(例如,PCI製造者-消費者模型)。接著,個別IP經由專用的PCI墊片而連接至互連。各墊片實施用於對應的IP之整個PCI標頭。Y單元安排所有存取至PCI頭座的之路由以及裝置記憶體空間至墊片的路由。墊片消耗所有標頭讀取/寫入交易以及傳遞其它交易給IP。在某些實施例中,墊片也實施用於IP之所有電力管理有關的特徵。
因此,實施Y單元的實施例採取分散方式而非整體並容區塊。對於所有IP共同的功能,例如位址轉譯及排序,實施於Y單元中,而例如電力管理、錯誤處理、等等IP特定功能實施於被修整適合該IP的墊片中。
依此方式,新的IP增加對Y單元最小的改變。舉例而言,在一實施中,藉由將新登錄加入位址重導向表而發生改變。雖然墊片是IP特定的,但是,在某些實施中,大量的功能(例如,90%以上)在所有IP間是共同的。這使得現有的墊片能夠快速重配置以用於新的IP。某些實施例因而能夠使用自動產生的互連結構而不用修改。在點對點匯流排架構中,設計互連結構是有挑戰的工作。上述Y單元方式以最小努力而使產業生態系統槓桿作用於PCI系統中,而未要求對工業標準工具作任何修改。
如圖3所示,各插座耦合至記憶體控制器(MC)/家代理器(HA)(例如MC0/HA0至MC3/HA3)。記憶體
控制器耦合至對應的本地記憶體(標示為MEM0至MEM3),本地記憶體是系統記憶體的一部份(例如圖4的記憶體412)。在某些實施例中,記憶體控制器(MC)/家代理器(HA)(例如MC0/HA0至MC3/HA3)同於或類似於圖2的代理器202-1,以及,標示為MEM0至MEM3的記憶體同於或類似於參考任何此處的圖式所述的記憶體裝置。一般而言,處理/快取代理器將請求送給家節點,用於存取與對應的「家代理器」相關連的記憶體位址。而且,在一實施例中,MEM0至MEM3配置成鏡資料,例如主體及從屬。而且,在某些實施例中,系統300的一或更多組件包含在相同的積體電路晶粒中。
此外,一實施(例如圖3中所示)是用於具有鏡射之插座無固著配置。舉例而言,指派給記憶體控制器(例如MC0/HA0)之資料在PtP鏈路上鏡射至另一記憶體控制器(例如MC3/HA3)。
圖4顯示根據本發明的實施例之計算系統400的方塊圖。計算系統400包含經由互連網路(或匯流排)404而通訊之一或更多中央處理單元(CPU)402-1至402-N或是處理器(於此總稱為「複數處理器402」或更一般地稱為「處理器402」)。處理器402包含一般用途處理器、網路處理器(處理電腦網路403上通訊的資料)、或是其它型式的處理器(包含精簡指令集電腦(RISC)處理器或複雜指令集電腦(CISC))。此外,處理器402具有單一或多核心設計。具有多核心設計的處理器402可以將不同
型式的處理器核心集成於相同的積體電路(IC)晶粒上。而且,具有多核心設計的處理器402可以實施成對稱的或不對稱的多處理器。
而且,參考圖1A-3所述的操作可以由系統400的一或更多組件執行。在某些實施例中,處理器402可以與圖3的處理器302-308相同或類似。此外,處理器402(或是系統400的其它組件)包含IOH 220、RC 222、及PCIe控制器235中之一或更多。此外,即使圖4顯示某些區域用於項目220/122/135,但是,這些組件仍可位於系統400中的任何它處。舉例而言,I/O裝置224可以經由匯流排422等等而通訊。
晶片組406也與互連網路404通訊。晶片組406包含圖形及記憶體控制器集線器(GMCH)408。GMCH 408包含與記憶體412通訊的記憶體控制器410。記憶體412儲存包含指令序列的資料,指令序列可以由CPU 402、或是任何包含在計算系統400中的其它裝置執行。舉例而言,記憶體412儲存如參考先前圖式所述之對應於作業系統(OS)413及/或裝置驅動程式411的資料。在實施例中,圖2的記憶體412及記憶體240可以是相同或類似的。在本發明的一實施例中,記憶體412包含一或更多依電性儲存器(或記憶體)裝置,例如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、或其它型式的儲存裝置。也可以使用非依電性記憶體,例如硬碟。其它裝置
可以經由互連網路404而通訊,例如多個CPU及/或多個系統記憶體。
此外,一或更多處理器402存取一或更多快取記憶體(在不同實施例中包含私有及/或共用快取記憶體)及相關連的快取控制器(未顯示)。快取記憶體可以附著至一或更多快取同調協定。快取記憶體可以儲存由系統400的一或更多組件使用的資料(例如,包含指令)。舉例而言,為了由處理器402的組件更快速存取,快取記憶體本地地快取儲存在記憶體412中的資料。在實施例中,快取記憶體(可以被共用)包含中級快取記憶體及/或最後級快取記憶體(LLC)。而且,各處理器402包含級2(L1)快取記憶體。經由匯流排或互連網路、及/或記憶體控制器或集線器,處理器402的各式各樣的組件與快取記憶體直接地通訊。
GMCH 408也包含經由例如圖形加速器而與顯示裝置416通訊的圖形介面414。在本發明的一實施例中,圖形介面414經由加速圖形埠(AGP)而與圖形加速器通訊。在本發明的實施例中,顯示器416(例如平板顯示器)經由例如訊號轉換器而與圖形介面414通訊,訊號轉換器將儲存在例如視頻記憶體或是系統記憶體等儲存裝置中的影像的數位表示轉換成由顯示器416解譯及顯示的顯示訊號。由顯示裝置產生的顯示訊號在被解譯及接著顯示於顯示器416上之前,通過各種控制裝置。
集線器介面418允許GMCH 408與輸入/輸出控制集
線器(ICH)420通訊。ICH 420提供介面給與計算系統400通訊的I/O裝置。ICH 420經由例如週邊組件互連(PCI)橋、通用串列匯流排(USB)控制器、或其它型式的週邊橋或控制器等週邊橋(或控制器)424而與匯流排422通訊。橋424在CPU 402與週邊裝置之間提供資料路徑。可以使用其它型式的拓蹼。而且,多個匯流排經由例如多個橋或控制器而與ICH 420通訊。此外,在本發明的不同實施例中,與ICH 420通訊的其它週邊包含集成的驅動電子(IDE)或小電腦系統介面(SCSI)硬碟機、USB埠、鍵盤、滑鼠、平行埠、串列埠、軟碟機、數位輸出支援(例如,數位視頻介面(DVI))、或其它裝置。
匯流排422與音頻裝置426、一或更多碟片驅動器428、及網路介面裝置430(與電腦網路403相通訊)通訊。其它裝置可以經由匯流排422通訊。而且,在本發明的某些實施例中,各式各樣的組件(例如網路介面裝置430)可以與GMCH 408通訊。此外,處理器402及GMCH 408及/或晶片組406中之一或更多組件可以相結合以形成單積體電路晶片(或是在其它情形中出現在相同積體電路晶粒上)。
此外,計算系統400包含依電性及/或非依電性記憶體(或儲存器)。舉例而言,非依電性記憶體包含下述之一或更多:唯讀記憶體(ROM)、可編程ROM(PROM)、可抹拭PROM(EPROM)、電氣EPROM(EEPROM)、碟片驅動器(例如428)、軟碟機、光碟
ROM(CD-ROM)、數位多樣式碟片(DVD)、快閃記憶體、磁光碟、或能夠儲存電子資料(例如包含指令)之其它型式的非依電性機器可讀取的媒體。
圖5顯示根據本發明的實施例之以點對點(PtP)配置設置的計算系統500。特別地,圖5顯示處理器、記憶體、及輸入/輸出裝置由多個點對點介面互連之系統。參考圖1A-4所述的操作可以由系統500的一或更多組件執行。
如圖5所示,系統500包含數個處理器,為了清楚起見,僅顯示其中二個處理器502、504。處理器502、504均包含本地記憶體控制器集線器(MCH)506和508,以便能與記憶體510及512通訊。記憶體510及/或512可以儲存例如參考圖4的記憶體412所述的各式各樣資料。如圖5所示,處理器502及504也包含參考圖4所述的快取記憶體。
在實施例中,處理器502和504是參考圖4所述的多個處理器402中之一。處理器502和504分別使用介面電路516和518而經由點對點(PtP)介面514以交換資料。而且,使用點對點介面電路526、528、530、及532,經過個別的PtP介面522和524,處理器502及504均與晶片組520交換資料。舉例而言,使用PtP介面電路537,經由高性能圖形介面536,晶片組520又與高性能圖形電路534交換資料。
本發明的至少一實施例可以設在處理器502及504或
晶片組520之內。舉例而言,處理器502及504及/或晶片組520包含IOH 220、RC 222、及PCIe控制器235中之一或更多。但是,本發明的其它實施例可以存在於圖5的系統500內的其它電路、邏輯單元、或是裝置中。此外,本發明的其它實施例可以分佈在圖5中的數個電路、邏輯單元、或裝置中。因此,圖5中所示的項目220/122/135的位置是舉例說明的且這些組件可以或不可以設在所示的位置中。
使用PtP介面電路541,晶片組520與匯流排540通訊。匯流排540具有與其通訊的一或更多裝置,例如匯流排橋542及I/O裝置543等。經由匯流排544,匯流排橋542與例如鍵盤/滑鼠545、通訊裝置546(例如數據機、網路介面裝置、或與電腦網路403通訊的其它通訊裝置)、音頻I/O裝置、及/或資料儲存裝置548等其它裝置通訊。資料儲存裝置548儲存可由處理器502及/或504執行的碼549。
在本發明的各式各樣的實施例中,例如參考圖1A-5之此處所述的操作可以實施成為硬體(例如,電路)、軟體、韌體、微碼、或其組合,它們可以設置成為電腦程式產品,舉例而言,包含(例如非暫時的)機器可讀取的或(例如非暫時的)電腦可讀取的媒體,機器可讀取的或電腦可讀取的媒體於其上儲存有用以編程電腦以執行此處所述的處理之指令(或軟體程序)。而且,舉例而言,「邏輯」一詞包含軟體、硬體、或軟體及硬體的組合。機器可
讀取的媒體包含例如參考圖1A-5所述的儲存裝置。此外,這些電腦可讀取的媒體可以下載作為電腦程式產品,其中,藉由經由通訊鏈結(例如匯流排、數據機、或網路連接)之載波或其它傳播媒介傳送的資料訊號,程式可以從遠端電腦(例如,伺服器)傳送至請求電腦(例如,客戶端)。
在本說明書中述及「一實施例」、或「實施例」是意指與實施例相關說明的特別特點、結構、或特徵可以包含在至少實施中。出現在說明書中的不同處之「在一實施例中」文句可以是或不是都指相同的實施例。
而且,在說明及申請專利範圍中,可以使用「耦合」及「連接」等詞以及它們的衍生。在本發明的某些實施例中,「連接」可以用以表示二或更多元件彼此直接實體的或電接觸。「耦合」意指二或更多元件直接實體的或電接觸。但是,「耦合」也意指二或更多元件未彼此直接接觸,而是仍然彼此協力或互動。
下述實例有關於進一步實施例。實例1包含設備,包括:邏輯,根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使第一代理器的第一時脈與第二代理器的第二時脈同步,其中,第一代理器與第二代理器經由鏈路而耦合。實例2包含實例1的設備,其中,在第一代理器與第二代理器之間交換的一或更多訊息是要週期地取得平台時間的快照。實例3包含實例2的設備,其中,第一代理器及第二代理器是要比較它們的本地時脈與在時
間上單一點的平台時間的快照。實例4包含實例1的設備,其中,平台時間是包括由系統中所有的代理器使用的全系統主時脈。實例5包含實例1的設備,其中,平台時間是由遠端裝置提供,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例6包含實例5的設備,其中,遠端裝置經由串列介面而耦合至系統。實例7包含實例1的設備,其中,一或更多訊息是要包括促使請求的代理器在再發出請求之前等待一段時間之訊息。實例8包含實例1的設備,其中,請求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例9包含實例1的設備,其中,鏈路包括快速週邊組件互連(PCIe)鏈路。實例10包含實例1的設備,其中,邏輯比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例11包含實例10的設備,其中,比較故障訊息是要被送至請求裝置以回應請求的至少一重試發生。
實例12包含方法,包括:根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使第一代理器的第一時脈與第二代理器的第二時脈同步,其中,第一代理器與第二代理器經由鏈路而耦合。實例13包含實例12的方法,又包括:根據第一代理器與第二代理器之間交換的一或更多訊息而週期地取得平台時間的快照。實例14包含實例13的方法,又包括:第一代理器及第二代理器
比較它們的本地時脈與在時間上單一點的平台時間的快照。實例15包含實例12的方法,又包括由遠端裝置提供平台時間,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例16包含實例12的方法,又包括:傳送促使請求的代理器在再發出請求之前等待一段時間之訊息。實例17包含實例12的方法,又包括請求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例18包含實例12的方法,又包括:比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例19包含實例18的方法,又包括:傳送比較故障訊息給請求裝置以回應請求的至少一重試發生。
實例20包含系統,包括:處理器,包括第一代理器及第二代理器;以及,邏輯,根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使第一代理器的第一時脈與第二代理器的第二時脈同步,其中,第一代理器與第二代理器經由鏈路而耦合。實例21包含實例20的系統,其中,在第一代理器與第二代理器之間交換的一或更多訊息是要週期地取得平台時間的快照。實例22包含實例20的系統,其中,平台時間是包括由系統中所有的代理器使用的全系統主時脈。實例23包含實例20的系統,其中,平台時間是由遠端裝置提供,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例24包含實例20的系統,其中,請求的代理器從中央時間源拉出
時間以取代等待來自中央時間源的廣播。實例25包含實例20的系統,其中,邏輯是比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。
實例26包含設備,包括:邏輯,根據儲存在本地時間拷貝儲存裝置中值及計數器,允許第一代理器滿足來自第二代理器的時序請求,計數器是保持追蹤在邏輯的時序請求滿足相關的時間期間消逝的時間,其中,經由二鏈路,第一代理器耦合在第二代理器與第三代理器之間。實例27包含實例26的設備,其中,在第一代理器與第二代理器之間交換的一或更多訊息是要週期地取得平台時間的快照。實例28包含實例27的設備,其中,第一代理器及第二代理器是要比較它們的本地時脈與在時間上單一點的平台時間的快照。實例29包含實例27的設備,其中,平台時間是包括由系統中所有的代理器使用的全系統主時脈。實例30包含實例27的設備,其中,平台時間是由遠端裝置提供,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例31包含實例30的設備,其中,遠端裝置經由串列介面而耦合至系統。實例32包含實例27的設備,其中,一或更多訊息是包括促使請求的代理器在再發出請求之前等待一段時間之訊息。實例33包含實例26的設備,其中,請求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例34包含實例26的設
備,其中,邏輯比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例35包含實例34的設備,其中,比較故障訊息是要被送至請求裝置以回應請求的至少一重試發生。
實例36包含設備,包括:邏輯,耦合至第一代理器,以及,為回應來自第二代理器的請求,回送訊息,所述訊息促使第二代理器等待一段時間及假使第一代理器決定其未具有足夠的資訊以回應請求時促使第二代理器重送請求,其中,第一及第二代理器經由鏈路而耦合。實例37包含實例36的設備,其中,在第一代理器與第二代理器之間交換的一或更多訊息是要週期地取得平台時間的快照。實例38包含實例37的設備,其中,第一代理器及第二代理器是要比較它們的本地時脈與在時間上單一點的平台時間的快照。實例39包含實例36的設備,其中,平台時間是包括由系統中所有的代理器使用的全系統主時脈。實例40包含實例36的設備,其中,平台時間是由遠端裝置提供,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例41包含實例40的設備,其中,遠端裝置經由串列介面而耦合至系統。實例42包含實例36的設備,其中,一或更多訊息是包括促使請求的代理器在再發出請求之前等待一段時間之訊息。實例43包含實例36的設備,其中,請求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例44包含實例36的設
備,其中,邏輯比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例45包含實例44的設備,其中,比較故障訊息是要被送至請求裝置以回應請求的至少一重試發生。
實例46包含設備,包括:邏輯,根據本地儲存時間及被遞送至第三代理器的請求之響應中之一,允許第一代理器滿足來自第二代理器的時序請求,以回應來自第二代理器的請求,其中,第三代理器在系統階層結構中是在第一代理器之上,其中,經由鏈路,第一代理器耦合及第二代理器耦合。實例47包含實例46的設備,其中,在第一代理器與第二代理器之間交換的一或更多訊息是要週期地取得平台時間的快照。實例48包含實例47的設備,其中,第一代理器及第二代理器是要比較它們的本地時脈與在時間上單一點的平台時間的快照。實例49包含實例47的設備,其中,平台時間是包括由系統中所有的代理器使用的全系統主時脈。實例50包含實例47的設備,其中,平台時間是由遠端裝置提供,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例51包含實例50的設備,其中,遠端裝置經由串列介面而耦合至系統。實例52包含實例47的設備,其中,一或更多訊息是包括促使請求的代理器在再發出請求之前等待一段時間之訊息。實例53包含實例46的設備,其中,請求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例
54包含實例46的設備,其中,邏輯比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例55包含實例54的設備,其中,比較故障訊息是要被送至請求裝置以回應請求的至少一重試發生。
實例56包含實例1至55中任一實例的設備,其中,鏈路是包括快速週邊組件互連(PCIe)鏈路。
實例57包含包括一或更多指令之電腦可讀取的媒體,所述一或更多指令包括當在處理器上執行時規劃處理器執行實例12至19中任一實例的一或更多操作。
實例58包含設備,包括:機構,根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使第一代理器的第一時脈與第二代理器的第二時脈同步,其中,第一代理器與第二代理器經由鏈路而耦合。實例59包含實例58的設備,又包括機構,根據在第一代理器與第二代理器之間交換的一或更多訊息,週期地取得平台時間的快照。實例60包含實例59的設備,又包括機構,用於比較第一代理器及第二代理器的本地時脈與在時間上單一點的平台時間的快照之第一代理器及第二代理器。實例61包含實例58的設備,又包括機構,用於由遠端裝置提供平台時間,遠端裝置是在包括第一代理器及第二代理器的系統之外部。實例62包含實例58的設備,又包括機構,用於傳送促使請求的代理器在再發出請求之前等待一段時間之訊息。實例63包含實例58的設備,又包括機構,請
求的代理器從中央時間源拉出時間以取代等待來自中央時間源的廣播。實例64包含實例58的設備,又包括機構,用於比較臨界值與時間差值,以決定請求是否要被重試,時間差值是來自時間源的時間閃速訊息抵達之前與在時間源的檢查限制決定之間的時間差值。實例65包含實例64的設備,又包括機構,用於傳送比較故障訊息至請求裝置,以回應請求的至少一重試發生。
因此,雖然以結構特點及/或方法動作特定的語言來說明本發明的實施例,但是,要瞭解申請專利範圍的標的不限於所述之特定特點或動作。相反地,揭示具體特點及動作以作為實施申請專利範圍的標的之樣品形式。
Claims (25)
- 一種設備,包括:邏輯,根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使該第一代理器的第一時脈與該第二代理器的第二時脈同步,其中,該第一代理器與該第二代理器經由鏈路而耦合,其中該第一代理器係至少部分地根據鏈路延遲以判定一對應於該第一代理器之該第一時脈的已調整的全系統主時間,其中該鏈路延遲係至少部分地根據來自一或更多訊息之一訊息通過傳輸媒體所耗費的時間來判定,其中該傳輸媒體係經由介於該第一代理器與該第二代理器之間的該鏈路來形成。
- 如申請專利範圍第1項的設備,其中,在該第一代理器與第該二代理器之間交換的一或更多訊息是要週期地取得該平台時間的快照。
- 如申請專利範圍第2項的設備,其中,該第一代理器及該第二代理器是要比較它們的本地時脈與在時間上單一點的該平台時間的快照。
- 如申請專利範圍第1項的設備,其中,該平台時間是包括由系統中所有的代理器使用的全系統主時脈。
- 如申請專利範圍第1項的設備,其中,該平台時間是由遠端裝置提供,該遠端裝置是在包括該第一代理器及該第二代理器的系統之外部。
- 如申請專利範圍第5項的設備,其中,該遠端裝 置經由串列介面而耦合至該系統。
- 如申請專利範圍第1項的設備,其中,該一或更多訊息是要包括促使請求的代理器在再發出請求之前等待一段時間之訊息。
- 如申請專利範圍第1項的設備,其中,請求的代理器從中央時間源拉出時間以取代等待來自該中央時間源的廣播。
- 如申請專利範圍第1項的設備,其中,該鏈路包括快速週邊組件互連(PCIe)鏈路。
- 如申請專利範圍第1項的設備,其中,該邏輯比較臨界值與時間差值,以決定請求是否要被重試,該時間差值是來自時間源的時間閃速訊息抵達之前與在該時間源的檢查限制決定之間的時間差值。
- 如申請專利範圍第10項的設備,其中,比較故障訊息是要被送至請求裝置以回應該請求的至少一重試發生。
- 一種方法,包括:根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使該第一代理器的第一時脈與該第二代理器的第二時脈同步,其中,該第一代理器與該第二代理器經由鏈路而耦合,其中該第一代理器至少部分地根據鏈路延遲以判定一對應於該第一代理器之該第一時脈的已調整的全系統主時間,其中該鏈路延遲係至少部分地根據來自一或更多訊息 之一訊息通過傳輸媒體所耗費的時間來判定,其中該傳輸媒體係經由介於該第一代理器與該第二代理器之間的該鏈路來形成。
- 如申請專利範圍第12項的方法,又包括:根據該第一代理器與該第二代理器之間交換的該一或更多訊息而週期地取得該平台時間的快照。
- 如申請專利範圍第13項的方法,又包括:該第一代理器及該第二代理器比較它們的本地時脈與在時間上單一點的該平台時間的快照。
- 如申請專利範圍第12項的方法,又包括:由遠端裝置提供平台時間,該遠端裝置是在包括該第一代理器及該第二代理器的系統之外部。
- 如申請專利範圍第12項的方法,又包括:傳送促使請求的代理器在再發出請求之前等待一段時間之訊息。
- 如申請專利範圍第12項的方法,又包括:請求的代理器從中央時間源拉出時間以取代等待來自該中央時間源的廣播。
- 如申請專利範圍第12項的方法,又包括:比較臨界值與時間差值,以決定請求是否要被重試,該時間差值是來自時間源的時間閃速訊息抵達之前與在該時間源的檢查限制決定之間的時間差值。
- 如申請專利範圍第18項的方法,又包括:傳送比較故障訊息給請求裝置以回應該請求的至少一重試發 生。
- 一種系統,包括:處理器,包括第一代理器及第二代理器;以及,邏輯,根據第一代理器及第二代理器之間交換的一或更多訊息及平台時間,使該第一代理器的第一時脈與該第二代理器的第二時脈同步,其中,該第一代理器與該第二代理器經由鏈路而耦合,其中該第一代理器係至少部分地根據鏈路延遲以判定一對應於該第一代理器之該第一時脈的已調整的全系統主時間,其中該鏈路延遲係至少部分地根據來自一或更多訊息之一訊息通過傳輸媒體所耗費的時間來判定,其中該傳輸媒體係經由介於該第一代理器與該第二代理器之間的該鏈路來形成。
- 如申請專利範圍第20項的系統,其中,在該第一代理器與該第二代理器之間交換的一或更多訊息是要週期地取得該平台時間的快照。
- 如申請專利範圍第20項的系統,其中,該平台時間是包括由系統中所有的代理器使用的全系統主時脈。
- 如申請專利範圍第20項的系統,其中,該平台時間是由遠端裝置提供,該遠端裝置是在包括該第一代理器及該第二代理器的系統之外部。
- 如申請專利範圍第20項的系統,其中,該請求的代理器從中央時間源拉出時間以取代等待來自該中央時間源的廣播。
- 如申請專利範圍第20項的系統,其中,該邏輯是比較臨界值與時間差值,以決定請求是否要被重試,該時間差值是來自時間源的時間閃速訊息抵達之前與在該時間源的檢查限制決定之間的時間差值。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261673212P | 2012-07-18 | 2012-07-18 | |
US201261673205P | 2012-07-18 | 2012-07-18 | |
US201261673210P | 2012-07-18 | 2012-07-18 | |
US201261673208P | 2012-07-18 | 2012-07-18 | |
US201261673213P | 2012-07-18 | 2012-07-18 | |
PCT/US2013/032462 WO2014014520A1 (en) | 2012-07-18 | 2013-03-15 | Measuring time offsets between devices with independent silicon clocks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201418934A TW201418934A (zh) | 2014-05-16 |
TWI608326B true TWI608326B (zh) | 2017-12-11 |
Family
ID=49949161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102125547A TWI608326B (zh) | 2012-07-18 | 2013-07-17 | 用以測量介於具有獨立矽時脈的裝置之間的時間偏置之設備、方法及系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9571215B2 (zh) |
CN (1) | CN103580770B (zh) |
TW (1) | TWI608326B (zh) |
WO (1) | WO2014014520A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160286510A1 (en) * | 2014-10-31 | 2016-09-29 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and systems for synchronizing a communication node in a communication network |
US20160219101A1 (en) * | 2015-01-23 | 2016-07-28 | Tieto Oyj | Migrating an application providing latency critical service |
US9891966B2 (en) | 2015-02-10 | 2018-02-13 | Red Hat, Inc. | Idempotent mode of executing commands triggered by complex event processing |
US10423468B2 (en) * | 2015-02-10 | 2019-09-24 | Red Hat, Inc. | Complex event processing using pseudo-clock |
US10148412B1 (en) * | 2015-06-25 | 2018-12-04 | Marvell International Ltd. | Methods and apparatus for clock drift mitigation |
US10795881B2 (en) | 2015-12-18 | 2020-10-06 | Sap Se | Table replication in a database environment |
US10572510B2 (en) | 2015-12-21 | 2020-02-25 | Sap Se | Distributed database transaction protocol |
US9979432B2 (en) | 2016-02-01 | 2018-05-22 | Qualcomm Incorporated | Programmable distributed data processing in a serial link |
US10423567B2 (en) | 2016-02-01 | 2019-09-24 | Qualcomm Incorporated | Unidirectional clock signaling in a high-speed serial link |
US10159053B2 (en) | 2016-02-02 | 2018-12-18 | Qualcomm Incorporated | Low-latency low-uncertainty timer synchronization mechanism across multiple devices |
US9991993B2 (en) | 2016-04-01 | 2018-06-05 | Intel Corporation | Time offset validation of components with independent silicon clocks |
US10257825B2 (en) * | 2016-09-30 | 2019-04-09 | Intel Corporation | Reducing hardware precision time measurement inaccuracy |
US10977227B2 (en) * | 2017-06-06 | 2021-04-13 | Sap Se | Dynamic snapshot isolation protocol selection |
US10613578B2 (en) * | 2018-03-22 | 2020-04-07 | Clock Synchronization | Clock synchronization |
US11836721B2 (en) * | 2018-06-29 | 2023-12-05 | Intel Corporation | Protection of information in an information exchange |
US10769038B2 (en) * | 2018-08-23 | 2020-09-08 | Arm Limited | Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data |
DE102019125529B4 (de) * | 2019-09-23 | 2021-04-01 | Beckhoff Automation Gmbh | Verfahren zur Zeitsynchronisation in einem Ethernet-basierten Netzwerk |
US11683149B2 (en) | 2020-09-11 | 2023-06-20 | Apple Inc. | Precise time management using local time base |
US11687115B2 (en) | 2021-09-22 | 2023-06-27 | Apple Inc. | Precise time management for peripheral device using local time base |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW533346B (en) * | 1999-05-24 | 2003-05-21 | Koninkl Philips Electronics Nv | Clock system for multiple component system |
US20100329285A1 (en) * | 2009-06-30 | 2010-12-30 | Intel Corporation | Mechanism for clock synchronization |
WO2011067405A1 (en) * | 2009-12-04 | 2011-06-09 | Napatech A/S | Distributed processing of data frames by mulitiple adapters using time stamping and a central controller |
TW201140281A (en) * | 2009-12-22 | 2011-11-16 | Intel Corp | Controlling time stamp counter (TSC) offsets for multiple cores and threads |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535926B1 (en) * | 1999-09-30 | 2003-03-18 | Rockwell Automation Technologies, Inc. | Time synchronization system for industrial control network using global reference pulses |
US7660366B2 (en) * | 2004-08-30 | 2010-02-09 | Harmonic Inc. | Message synchronization over a stochastic network |
DE602004012571D1 (de) * | 2004-10-27 | 2008-04-30 | Nokia Siemens Networks Gmbh | Verfahren und Anlage zur Zeitsynchronisation in einem verteilten Kommunikationsnetzwerk |
CN101202617A (zh) | 2006-12-12 | 2008-06-18 | 北京三星通信技术研究有限公司 | 多级设备之间的时间同步补偿方法 |
CN101388741B (zh) | 2008-10-24 | 2012-12-12 | 中国科学院计算技术研究所 | 一种用于计算机网络的高精度时间同步设备、系统及方法 |
US20110035511A1 (en) | 2009-08-07 | 2011-02-10 | Cisco Technology, Inc. | Remote Hardware Timestamp-Based Clock Synchronization |
TWI411277B (zh) * | 2009-12-23 | 2013-10-01 | Ind Tech Res Inst | 網路從節點與網路系統精確時間同步之方法 |
US8307235B2 (en) * | 2010-05-05 | 2012-11-06 | National Instruments Corporation | Cross controller clock synchronization |
US8316155B2 (en) | 2010-12-17 | 2012-11-20 | Microsoft Corporation | Distributed robust clock synchronization |
-
2013
- 2013-03-15 US US13/976,154 patent/US9571215B2/en active Active
- 2013-03-15 WO PCT/US2013/032462 patent/WO2014014520A1/en active Application Filing
- 2013-07-17 TW TW102125547A patent/TWI608326B/zh active
- 2013-07-18 CN CN201310435029.8A patent/CN103580770B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW533346B (en) * | 1999-05-24 | 2003-05-21 | Koninkl Philips Electronics Nv | Clock system for multiple component system |
US20100329285A1 (en) * | 2009-06-30 | 2010-12-30 | Intel Corporation | Mechanism for clock synchronization |
WO2011067405A1 (en) * | 2009-12-04 | 2011-06-09 | Napatech A/S | Distributed processing of data frames by mulitiple adapters using time stamping and a central controller |
TW201140281A (en) * | 2009-12-22 | 2011-11-16 | Intel Corp | Controlling time stamp counter (TSC) offsets for multiple cores and threads |
Also Published As
Publication number | Publication date |
---|---|
US9571215B2 (en) | 2017-02-14 |
CN103580770A (zh) | 2014-02-12 |
TW201418934A (zh) | 2014-05-16 |
CN103580770B (zh) | 2017-11-14 |
WO2014014520A1 (en) | 2014-01-23 |
US20140334582A1 (en) | 2014-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI608326B (zh) | 用以測量介於具有獨立矽時脈的裝置之間的時間偏置之設備、方法及系統 | |
US10140213B2 (en) | Two level memory full line writes | |
US10248325B2 (en) | Implied directory state updates | |
TWI578720B (zh) | 高效能光學式中繼器 | |
US10360096B2 (en) | Error handling in transactional buffered memory | |
EP3238079B1 (en) | Packed write completions | |
RU2579140C1 (ru) | Физический уровень высокопроизводительного межсоединения | |
US20180060259A1 (en) | Early identification in transactional buffered memory | |
US9372799B2 (en) | Coherent cache system with optional acknowledgement for out-of-order coherence transaction completion | |
US20140348182A1 (en) | Time synchronization between nodes of a switched interconnect fabric | |
US8850250B2 (en) | Integration of processor and input/output hub | |
US20140348181A1 (en) | Time synchronization between nodes of a switched interconnect fabric | |
TW201227320A (en) | Throttling integrated link | |
US10530562B2 (en) | Correlating local time counts of first and second integrated circuits | |
EP2687938A2 (en) | Measuring time offsets between devices with independent silicon clocks | |
JP2014235702A (ja) | 情報処理システム |