TWI447591B - 減少串列化器解串列化器鏈路中之潛時之技術 - Google Patents
減少串列化器解串列化器鏈路中之潛時之技術 Download PDFInfo
- Publication number
- TWI447591B TWI447591B TW099145497A TW99145497A TWI447591B TW I447591 B TWI447591 B TW I447591B TW 099145497 A TW099145497 A TW 099145497A TW 99145497 A TW99145497 A TW 99145497A TW I447591 B TWI447591 B TW I447591B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- data
- clock
- clock signal
- lower half
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- 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/06—Clock generators producing several clock signals
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/107—Serial-parallel conversion of data or prefetch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Logic Circuits (AREA)
- Communication Control (AREA)
- Dram (AREA)
Description
本發明係有關於積體電路之設計。更特別地,本發明係有關於用以降低資料串列化器/解串列化器電路之資料潛時之系統。
隨著晶片設計者及製造商努力提高每一矽片之功能,對經由有限個輸入/輸出插腳傳遞日益增大的資料量之需求不斷增長。在一些系統中,此已藉由併入高速串列資料鏈路解決。與一些其它設計比,此等串列資料鏈路可經由相同數目或較小數目之實體線或鏈路傳遞較大資料量。傳統串列化器/解串列化器(SerDes)鏈路設計之一重要要素是保持穿過該鏈路之資料之可靠性。在傳統意義上,確保鏈路可靠性比最小化潛時重要─或者換言之增大穿過一SerDes鏈路之速度。
增大資料吞吐量之要求正伸入到大部分數位系統,以至於一系統之所有元件必須能夠處理較大資料量。儘管資料吞吐量仍是晶片到晶片SerDes鏈路設計中之首要問題,但降低與該SerDes鏈路有關之資料潛時之次要問題也變得越來越重要。
因此,需要提高效率且降低SerDes鏈路潛時之電路及計時方案。
以上及其它需要由一種用於降低一實體媒體附件與一實體編碼子層之間的一資料介面之系統潛時之方法達到,其中該資料介面包含一資料發送器及一資料接收器。該實體媒體附件可操作以解串列化來自該實體編碼子層之輸入串列資料,且該實體編碼子層可操作以驗證該實體編碼附件正確地對齊該輸入資料,該方法包含以下步驟:
(a)在一全巨集塊(global macro)中產生一位元時鐘信號,
(b)將該位元時鐘信號提供到該資料發送器及該資料接收器,
(c)在該全巨集塊中產生一位元組時鐘信號,其中該位元組時鐘信號是該位元時鐘信號之一分頻形式,
(d)將該位元組時鐘信號提供到該實體編碼子層、該資料發送器及該資料接收器,
(e)基於該位元組時鐘信號,將資料從該資料接收器傳輸到該實體編碼子層,而不依賴該位元時鐘信號,及
(f)基於該位元組時鐘信號,將資料從該實體編碼子層傳輸到該資料發送器,而不依賴該位元時鐘信號。
一些實施例提供了一種用於在解串列化多通道串列資料期間降低資料潛時之方法,該方法包括以下步驟:
(a)提供具有一上半部緩衝器及一下半部緩衝器之一雙緩衝器,
(b)將該串列資料之解串列化位元對以一第一時鐘速率寫入該上半部緩衝器,
(c)當該上半部緩衝器滿時,以一第二時鐘速率將資料從該上半部緩衝器讀入一實體編碼子層,該第二時鐘速率小於該第一時鐘速率且視其而定,
(d)以該第一時鐘速率將該串列資料之解串列位元對順序地寫入該下半部緩衝器,
(e)當該下半部緩衝器滿時,以該第二時鐘速率自該下半部緩衝器讀取資料,
(f)在該實體編碼子層中,將來自該上半部緩衝器與該下半部緩衝器之資料對齊,及
(g)重複步驟(b)到(f),直到所有串列資料已緩存且對齊。
一些實施例提供了一種用於在一串列化器-解串列器電路中處理多通道之串列資料時降低資料潛時之方法,此方法包括以下步驟:
(a)確定串列資料之多個通道之一最慢通道,其中該最慢通道是具有最後到達資料之一通道,
(b)確定一系統時鐘與步驟(a)中確定之該最慢通道之間的單位間隔之一時間差,
(c)將該系統時鐘之時序移位m
個單位間隔以降低步驟(b)中確定之時間差,其中m大於或者等於1,及
(d)重複步驟(a)-(c),直到該系統時鐘與該最慢通道之間的時間差在一預定數目之單位間隔內。
在一些實施例中,一資料介面降低一實體媒體附件與一實體編碼子層之間的系統潛時,其中該實體媒體附件解串列化來自該實體編碼子層之輸入串列資料,且該實體編碼子層驗證該實體媒體附件正確地對齊該輸入資料。此等實施例之該資料介面包括一位元時鐘、一位元組時鐘、一資料發送器及一資料接收器。該位元時鐘產生一位元時鐘信號及該位元組時鐘產生一位元組時鐘信號。該位元時鐘信號之一分頻形式之一位元組時鐘信號提供到該實體編碼子層。該資料發送器接收該位元時鐘信號及該位元組時鐘信號且基於該位元組時鐘信號接收來自該實體編碼子層之資料,而不依賴於該位元時鐘信號。該資料接收器也接收該位元時鐘信號及該位元組時鐘信號,且基於該位元組時鐘信號將資料傳輸到該實體編碼子層,而不依賴於該位元時鐘信號。
在一些實施例中,一資料介面降低解串列化多通道串列資料期間之資料潛時。此等實施例之該資料介面包括一第一時鐘、一第二時鐘及一雙緩衝電路。該第一時鐘產生具有一第一時鐘速率之一第一時鐘信號、該第二時鐘產生具有一第二時鐘速率之一第二時鐘信號,該第二時鐘速率小於該第一時鐘速率且視其而定。該雙緩衝器電路包括一上半部緩衝器及一下半部緩衝器。該串列資料之解串列化位元對以該第一時鐘速率順序地寫入該上半部緩衝器。且當該上半部緩衝器滿時,資料自該上半部緩衝器以該第二時鐘速率讀入一實體編碼子層。該串列資料之解串列化位元對也以該第一時鐘速率順序地寫入該下半部緩衝器,且當該下半部緩衝器滿時,資料自該下半部緩衝器以該第二時鐘速率讀入一實體編碼子層。該實體編碼子層將來自該上半部緩衝器與該下半部緩衝器之資料對齊。
在另一實施例中,提供一高速資料介面以降低系統潛時。該資料介面包括包含一取樣電路及一鎖定迴路電路之一資料接收器,該鎖定迴路電路可以是一延時鎖定迴路或者一鎖相迴路。該取樣電路以一輸入資料速率取樣輸入資料且產生一輸入串列資料串流。該鎖定迴路電路基於一參考時鐘信號產生一公共時鐘信號,使得該公共時鐘信號大致上匹配於該輸入資料速率。該資料介面包括一解串列化器電路,其接收輸入串列資料串流及該公共時鐘信號且基於該公共時鐘信號解串列化該輸入串列資料串流以形成資料之解串列化位元。該資料介面還包括一記憶體裝置,其自該解串列化器電路接收資料之解串列化位元且基於該公共時鐘信號輸出資料之解串列化位元。一串列化器電路接收來自該記憶體裝置之資料之解串列化位元且基於該公共時鐘信號串列化資料之解串列化位元以形成輸出串列資料。
結合圖式參照詳細描述,本發明之其它優勢顯而易見,其中為了更清楚地顯示細節,元件未按照比例繪製,其中在一些圖式中,相同參考數字表示相同元件,且其中:
第1圖繪示了一解串列器電路之原理圖。
第2圖繪示了一串列化器-解串列化器電路之一時序圖。
第3圖繪示了用於調整一系統時鐘之時序之一計數器電路。
第4A圖到第4E圖繪示了用於產生控制信號以控制一串列化-解串列化電路之電路。
第5圖繪示了用於調整及糾偏資料之一電路。
第6A圖繪示了用於一實體媒體附件與一實體編碼子層之間的一資料介面之一傳統計時方案。
第6B圖繪示了用於降低一實體媒體附件與實體編碼子層資料介面中之系統潛時之一計時方案。
第7圖繪示了一高速資料介面之示意圖。
第8圖繪示了一高速資料介面之一滑動緩衝器之示意圖。
本發明之實施例提供了與進出一裝置之資料潛時有關之兩個特定問題之解決方案,該裝置包含作為其輸入/輸出機制之SerDes鏈路,問題為:
(a)定義一機制,該機制提高經由一SerDes接收器之資料傳輸效率,及
(b)定義一機制,其降低資料到達SerDes鏈路與核心(系統)時鐘之間的可能差異,該接收裝置以該核心(系統)時鐘操作。
第1圖繪示了一10位元資料解串列化器電路10之一實施例,其具有包括一上半部緩衝器12a及一下半部緩衝器12b之一雙緩衝器12。上半部緩衝器12a包括移位暫存器18a-18e,及下半部緩衝器包括移位暫存器20a-20e。電路10對應於一多通道資料結構之一個通道。
在描述本文之資料介面電路中,時鐘速率由術語“dy_clk”表示,其中“y”是應用於一時鐘速率之一分頻值。例如,對於一時鐘速率為10千兆赫及y等於2,術語d2_clk表示一時鐘速率為5千兆赫(10/2千兆赫)。
參考第1圖,串列資料之一個位元以諸如10千兆赫之一第一時鐘速率(d1_clk),在一上升時鐘沿時進入暫存器14,且以諸如5千兆赫之一第二時鐘速率(d2_clk)從暫存器14輸出。串列資料之一第二位元以該第二時鐘速率,在一下降時鐘沿時進入暫存器16。該兩個位元首先以一遞升順序寫入上半部緩衝器12a。即,第一對位元寫入移位暫存器18a,第二對位元寫入移位暫存器18b,諸如此類,直到上半部緩衝器12a中之每一暫存器滿為止。當上半部緩衝器12a滿時,資料以相同方式寫入下半部緩衝器12b之移位暫存器20a-20e。
當過渡到下半部緩衝器12b時,上半部緩衝器12a中之資料以諸如1千兆赫之一第三時鐘速率(d10_clk)發送至一較低頻域。因此,來自上半部緩衝器12a之10個位元以1千兆赫寫出且在線DesOut[9:0]上發送至第5圖中繪示之實體編碼子層(PCS)接收資料路徑。
輸入串列資料首先在以該第二時鐘速率(d2_clk)之SerDes時鐘之每一邊沿時被暫存以形成二位元解串列化資料。此等二位元接著寫入雙緩衝器12之一半,而另一半發送到該PCS接收資料路徑(第5圖)以對齊。如上所述,雙緩
衝電路12之每一半具有10個暫存器(18a-18e及20a-20e),它們成對組配以形成解串列化輸出資料之10個位元。利用第1圖之雙緩衝器實施態樣,第5圖之SerDes接收器能夠對齊一預期數目之位元(在此範例中為10個位元)。10個資料位元可穿過一多通道系統之多個通道在不同時間到達接收裝置,其中到達時間之變化由該等SerDes資料通道之通道差異引起。藉由對資料進行雙緩衝,該資料接收器可在一鏈路訓練時間進行訓練以獲取與一輸入字有關之正確的10個位元。該等正確的10個位元將很可能是寫出上半部緩衝器與下半部緩衝器之位元之一組合。
以第二時鐘速率(d2_clk)寫資料與以第三時鐘速率(d10_clk)讀雙緩衝器12之兩半部之間的安全過渡在訓練期間完成。例如,訓練或字同步僅可在啟動時執行一次,因為發送晶片及接收晶片具有相同的參考時鐘且預計不會經歷任何偏差。不再需要訓練,直至下次啟動或者直至藉由一循環冗餘核對在一鏈路上觀察到大量錯誤。例如,如果第5圖之循環冗餘核對器50確認大量位元錯誤,執行訓練可能是可取的。
對於每半部緩衝器而言,第1圖中顯示之一5位元一次性移位暫存器控制閘22a及22b,且發揮啟動該五對暫存器18a-18e及20a-20e之一者以寫入之順序性選擇之作用及提供兩組暫存器之間的過渡信號。從一組暫存器過渡到另一組受由系統時鐘d2_clk計時之閘24a及24b控制。
第2圖之時序圖根據該雙緩衝方案之一個實施例繪示了用於資料對齊之控制信令。對於一SerDes資料通道而言,一時間單位間隔(UI)是傳輸諸如一個位元之一個資訊單位所需的時間。對於第2圖中所示之初始值,從一組暫存器到另一組之過渡發生在2-UI與4-UI之間。過渡界限(tm
)可表示2-UItm
<4-UI。
為了降低總資料潛時,所述之雙緩衝解串列化器資料介面可與使相關系統時鐘對齊於一多通道系統中之最慢資料通道之一系統共同使用。還可獨立於該雙緩衝資料介面實施之該時鐘對齊系統降低可能由一SerDes資料介面引起的資料潛時。在一些實施例中,該時鐘對齊系統藉由將系統時鐘一次移位n
-UI來使系統時鐘對齊於該最慢SerDes通道,直至在對齊後資料最後到達之SerDes通道(相對於其它SerDes通道)表現出穿過該等SerDes之最短路徑。要理解的是,n
是一固定數或者一可選數。
在每次調整該系統時鐘後,在驗證時鐘移位之結果之前執行一初始化常式以重新對齊每一SerDes通道。重複此過程直至內部系統時鐘與具有最慢資料到達時間之SerDes通道對齊。此過程適用於基於該SerDes區塊中使用之時鐘產生裝置時鐘或系統時鐘之同步系統。
“移位”該系統時鐘以與到達該最慢SerDes通道之資料對齊藉由控制賦能信號之時序來實現。如第3圖中所示,一除法器電路30允許接收裝置利用該賦能信號且迫使產生系統時鐘之電路中有一“跳過”或暫停。利用除法器電路30,一設計者定義輸入時鐘信號(在此範例中,其為SerDes時鐘)與該系統使用之時鐘信號之比率。利用該賦能信號,透過控制該賦能信號所允許之啟動除法器電路30之時間,該系統時鐘信號與最後到達資料對齊。例如,如果該SerDes時鐘速率為5千兆赫(基於一10千兆赫SerDes介面)且M之值為5,則除法器電路30之輸出處之系統時鐘速率為1千兆赫(5/5千兆赫)。可實施此對齊系統以透過確保當來自接收匯流排之資料到達該裝置時就被使用來降低幾乎任一同步系統中之裝置潛時。在接收裝置處使用資料之前,不需要浪費時間等待識別一時鐘對齊。
在此範例中,該系統時鐘速率為該SerDes時鐘速率之十分之一(d10_clk)。此關係之重要性反映在該電路產生SerDes時鐘以還能夠控制該系統時鐘之能力。此允許該時鐘之其它控制發展為該SerDes介面之實體媒體相依實體編碼子層功能之部分。
本文描述之時鐘對齊對使資料在位元邊界上對齊之任一介面起作用。本文描述之示範性系統適用於一10-UI SerDes鏈路。然而,將明白的是,該時鐘對齊系統可應用於一SerDes鏈路上之任一介面。
第4A圖到第4E圖中繪示之電路說明了用以產生控制信號之邏輯之實施例,該等控制信號包括賦能信號(EN[4:0])、寫入上部信號(Wr_Upper)、選擇上部信號(Sl_Upper)、跳1賦能信號(SK_ONE)及同步重置信號(SD_RST)。
在一個實施例中,對將該系統時鐘偏移2-UI之一請求在該SerDes介面中被檢測到且用來禁止該賦能暫存器在一個SerDes時鐘週期內移位,藉此保持兩個域之間的時序關係。
如第5圖中之範例所示,來自SerDes解串列化器10之資料之10個位元被字對齊且糾偏以實現訊框對齊。由於在此範例中接收到之資料之順序是最低有效位先發送,構成該對齊字之最低有效位元之該字之某部分可在前一週期中出現。對於10位元字對齊,來自上一週期之低位位元與來自當前週期之高位位元合併。在概念上,此可藉由用於上一字之一右移位器40及用於當前字之一左移位器42完成。一OR閘44執行該合併。該對齊字可由一反向器46反向以允許交換SerDes通道之不同輸入。在第5圖之範例中,彈性緩衝器48之四個級提供了多達40-UI之額外通道間偏離。然而,通道間偏離量可藉由添加或刪除暫存器級而調整。在一較佳實施例中,一每通道PCS狀態機及一全局PCS狀態機一起控制排序以實現所有通道之同步、調整時鐘相位及提供對齊直至降低最慢通道之潛時以實現通道對齊。
在一個實施例中,以下是在一低潛時鏈路初始化程序中執行以將該最慢SerDes資料通道與接收器系統時鐘對齊之步驟:
(a)利用諸如第1圖中所繪示之一雙緩衝器介面獲得所有資料通道之同步。
(b)確定具有最慢鏈路或最後到達資料之資料通道。
(c)確定系統時鐘與資料最慢資料通道之間的時間差。
(d)如果該時間差大於一預定單位間隔差,則透過調整鎖相迴路所用之用來由一預定數目單位間隔產生系統時鐘之基本時鐘來調整系統時鐘之時序。
(e)重複步驟(a)-(d),直至該最慢資料通道近似與裝置系統時鐘對齊。
此程序提高了接收裝置利用時間之效率,其相應地允許降低穿過該裝置之潛時。
在一些實施例中,實施第6B圖中繪示之計時電路60以進一步降低系統潛時。全局位元組時鐘62將資料之10個位元推入實體編碼子層64、資料發送器66及資料接收器68。較佳地,位元組時鐘是位元時鐘之一分頻形式且包括週跳控制。實體媒體附件負責解串列化來自實體編碼子層64之輸入10位元編碼群組。實體編碼子層64之目的是驗證實體媒體附件正在正確地對齊來自接收到之串列串流之資料。
第6A圖中顯示一傳統的計時方案,其中一全局時鐘提供給實體編碼子層64。在此方案中,資料被串列化且實體編碼子層64將一獨立的時鐘信號提供到資料發送器及資料接收器。資料以串列化形式返回到實體編碼子層64。
第7圖繪示了根據一交替實施例之一高速資料介面70。介面70包括一資料接收器及位元對齊器72、一通道及訊框對齊器74、記憶體76及一串列化器及發送器78。
接收器72之所繪示實施例包括一類比前端80、一相位檢測器及延時鎖定迴路84及一正反器82。在一些實施例中,當需要增大一較低速率參考時鐘以與輸入資料之位元速率匹配時,一鎖相迴路替代一延時鎖定迴路使用。一參考時鐘(Ref Clk)提供到相位檢測器84。相位檢測器84之輸出(本文中稱為公共時鐘)遭調整以使輸入資料之時序匹配於類比前端80。公共時鐘將內部時序提供給整個介面70。例如,在訊框對齊器74中,公共時鐘提供計時以使滑動緩衝器88能夠對齊穿過多個通道之位元。累積字可接著與記憶體76之內部核心時鐘對齊。儘管其它方法可用來確定及調整資料偏移,諸如動態CDR,但使用訓練模式是較佳方法。資料提供到類比前端80,資料由正反器82取樣且轉換為數位資料。在一些實施例中,每一位元通道具有一1位元同步相位對齊。
在記憶體76中,來自訊框檢測器及通道延時鎖定迴路92之公共時鐘之一延時形式(在第7圖中稱為MEM週期Clk)提供到記憶體76之存取計時電路98,存取計時電路98用來測資料進入輸出暫存器96之時間,藉此使記憶體76被存取且允許資料同步。公共時鐘還提供到輸出發送器延時鎖定迴路104,其在串列化器及發送器78中產生發送時鐘。發送時鐘(在第7圖中稱為TX Clk)用於串列化器100串列化資料中。該資料經由類比後端102輸出。
因此,整個介面70基於公共時鐘信號同步化。此消除了對記憶體路徑中之同步FIFO緩衝器之需要,藉此降低了記憶體76中之潛時。此還不需要從接收器72擷取出任何時鐘資訊,因為時鐘提供在一獨立輸入上。
第8圖中顯示了第7圖之滑動緩衝器之一實施例,其在10-UI時實現了通道對齊,降低了潛時。此與第1圖中理論上實現了真正的零位元延時對齊之雙緩衝器12對照。該等位元通道接著在它們各自的字符邊界上對齊。
第8圖之滑動緩衝器可操作得多快之限制之一者由該實體佈局及電路荷載決定。在第8圖之實施例中,取樣資料饋入到選擇兩個位元之一移位暫存器。例如,滑動0、1、2、3可藉由利用所謂的滑動多工器107控制兩個位元之選擇而完成。該兩個位元接著饋入移位暫存器112(或者直接經由多工器108輸出,如果多工器108被致能的話),移位暫存器112在一已除降位元速率時鐘上一次記錄兩個位元。該移位暫存器鏈可透過選擇性地致能多工器108、109、110或111之一者而被規劃為任意長度以繞過該移位暫存器鏈中之該等暫存器之一或多者。
如果多工器109被致能,則該兩個位元經由多工器109移出暫存器112且進入暫存器120。如果多工器111被致能,則該兩個位元將穿過112、114及116移入多工器111以移出暫存器124,藉此繞過暫存器118及126。視多工器109、110或111之哪一者被致能而定,替代延遲路徑也是可能的。
因此,穿過第8圖中顯示之滑動緩衝器之總延遲透過規劃多工器107及致能多工器108、109、110或111之一者而設定。此結構之一個優勢是該移位暫存器鏈之“環路”佈局,其中自任何二位元正反器到下一正反器之路徑具有相同的最小長度且只包括一個多工器。
出於說明及描述之目的,提出本發明之較佳實施例之以上描述。不意欲是詳盡的或者將本發明限制於所揭露之確切形式。根據以上教義,明顯的修改或改變是可能的。該等實施例被選擇及描述以試圖提供對本發明之原理及其實際應用之說明,以藉此能夠使熟於此技者利用各個實施例中之本發明,且各種修改適於所考慮的特定用途。當所有此等修改及改變依照它們公平、合法且公正地享有之寬度被解釋時,它們在所附申請專利範圍決定之本發明之範圍內。
10...10位元資料解串列化器電路、SerDes解串列化器
12...雙緩衝器、雙緩衝電路
12a...上半部緩衝器
12b...下半部緩衝器
14、16、118、120、124、126...暫存器
18a、18b、18c、18d、18e、20a、20b、20c、20d、20e、112、114、116...移位暫存器
22a、22b、24a、24b...閘
30...除法器電路
40...右移位器
42...左移位器
44...OR閘
46...反向器
48...彈性緩衝器
50...循環冗餘核對器
60...計時電路
62...全局位元組時鐘
64...實體編碼子層
66...資料發送器
68...資料接收器
70...高速資料介面
72...資料接收器及位元對齊器
74‧‧‧通道及訊框對齊器
76‧‧‧記憶體
78‧‧‧發送器
80‧‧‧類比前端
82‧‧‧正反器
84‧‧‧相位檢測器及延時鎖定迴路
88‧‧‧滑動緩衝器
92‧‧‧通道延時鎖定迴路
96‧‧‧輸出暫存器
98‧‧‧存取計時電路
100‧‧‧串列化串列化器
102‧‧‧類比後端
104‧‧‧輸出發送器延時鎖定迴路
107‧‧‧滑動多工器
108、109、110、111‧‧‧多工器
結合圖式參照詳細描述,本發明之其它優勢顯而易見,其中為了更清楚地顯示細節,元件未按照比例繪製,其中在一些圖式中,相同參考數字表示相同元件,且其中:
第1圖繪示了一解串列器電路之原理圖。
第2圖繪示了一串列化器-解串列化器電路之一時序圖。
第3圖繪示了用於調整一系統時鐘之時序之一計數器電路。
第4A圖到第4E圖繪示了用於產生控制信號以控制一串列化-解串列化電路之電路。
第5圖繪示了用於調整及糾偏資料之一電路。
第6A圖繪示了用於一實體媒體附件與一實體編碼子層之間的一資料介面之一傳統計時方案。
第6B圖繪示了用於降低一實體媒體附件與實體編碼子層資料介面中之系統潛時之一計時方案。
第7圖繪示了一高速資料介面之示意圖。
第8圖繪示了一高速資料介面之一滑動緩衝器之示意圖。
10...10位元資料解串列化器電路、SerDes解串列化器
12...雙緩衝器、雙緩衝電路
12a...上半部緩衝器
12b...下半部緩衝器
14、16...暫存器
18a、18b、18c、18d、18e、20a、20b、20c、20d、20e...移位暫存器
22a、22b、24a、24b...閘
Claims (20)
- 一種用以於串列資料之一或多個通道之解串列化期間之降低資料潛時之方法,該方法包含以下步驟:(a)提供具有一上半部緩衝器及一下半部緩衝器之一雙緩衝器,(b)將該串列資料之多個解串列化位元對以一第一時鐘信號之一第一時鐘速率順序寫入該上半部緩衝器,(c)當該上半部緩衝器滿時,以一系統時鐘信號之一第二時鐘速率將全部資料從該上半部緩衝器並行讀入一實體編碼子層,該第二時鐘速率小於該第一時鐘速率且視其而定,(d)以該第一時鐘速率將該串列資料之多個解串列位元對順序地寫入該下半部緩衝器,(e)當該下半部緩衝器滿時,以該第二時鐘速率將全部資料自該下半部緩衝器並行讀入該實體編碼子層,以及(f)在該實體編碼子層中,將來自該上半部緩衝器與該下半部緩衝器之該等資料對齊。
- 如請求項1之方法,其進一步包含在步驟(b)之前,在該第一時鐘信號之一前時鐘邊緣時暫存該串列資料之一第一位元,及在該第一時鐘信號之一後時鐘邊緣時暫存該串列資料之一第二位元,藉此形成一對解串列化位元。
- 如請求項1之方法,其中該上半部緩衝器與該下半部緩 衝器各包含成對組配之10個暫存器。
- 如請求項1之方法,其進一步包含執行訓練以使以該第一時鐘速率寫入該串列資料的該等解串列化位元對及以該第二時鐘速率自該上半部緩衝器與該下半部緩衝器讀取該資料同步化之步驟。
- 如請求項1之方法,其中該系統時鐘信號是該第一時鐘信號之一分頻形式。
- 如請求項5之方法,進一步包含將該系統時鐘信號與多通道串列資料之一最慢通道對齊。
- 如請求項1之方法,進一步包含:啟動一系統重置信號以初始化該雙緩衝器;響應於該系統時鐘信號暫存該系統重置系號,從而提供一第一暫存系統重置信號;以及接著響應於該第一時鐘信號暫存該第一暫存系統重置信號,從而提供一第二暫存系統重置信號。
- 如請求項7之方法,其中從該上半部緩衝器讀取資料及從該下半部緩衝器讀取資料之步驟響應於啟動該系統重置信號而被初始化。
- 如請求項8之方法,其中寫入該串列資料之多個解串列化位元對至該上半部緩衝器及下半部緩衝器之步驟被該第二暫存系統重置信號初始化。
- 如請求項7之方法,進一步包含:於該第一時鐘信號之兩個連續週期寫入該串列資料之解串列化位元對至該上半部緩衝器或下半部緩衝器 之一相同暫存器;以及接著於該第一時鐘信號之隨後的周期循環地寫入該串列資料之多個解串列化位元對至該上半部緩衝器和該下半部緩衝器之多個暫存器。
- 如請求項1之方法,進一步包含:產生一第一組賦能信號,其中該第一組之該等賦能信號中的每一個允許針對該上半部緩衝器中之一相應暫存器的一寫入動作;以及控制該第一組賦能信號以允許針對該上半部緩衝器中之相同暫存器的連續寫入動作。
- 如請求項11之方法,進一步包含:產生一第二組賦能信號,其中該第二組之該等賦能信號中的每一個允許針對該下半部緩衝器中之一相應暫存器的一寫入動作;以及控制該第二組賦能信號以允許針對該下半部緩衝器中之相同暫存器的連續寫入動作。
- 如請求項11之方法,進一步包含選擇該上半部緩衝器或該下半部緩衝器之一以響應於該系統時鐘信號來讀取,而無關於該第一組賦能信號。
- 如請求項1之方法,其中該系統時鐘信號不依賴該第一時鐘系號。
- 如請求項1之方法,進一步包含重複步驟(b)到(f),直到該串列資料均已緩存且對齊。
- 一種用以於串列資料之一或多個通道之解串列化期間 降低資料潛時之資料介面,該資料介面包含:一第一時鐘,其用於產生具有一第一時鐘速率之一第一時鐘信號,一第二時鐘,其用於產生具有一第二時鐘速率之一第二時鐘信號,該第二時鐘速率小於該第一時鐘速率且視其而定,及一雙緩衝器,其具有:一上半部緩衝器,該串列資料之解串列化位元對以該第一時鐘速率順序地寫入該上半部緩衝器,且當該上半部緩衝器滿時,全部儲存的資料自該上半部緩衝器以該第二時鐘速率並行讀入一實體編碼子層,及一下半部緩衝器,該串列資料之解串列化位元對以該第一時鐘速率順序地寫入該下半部緩衝器,且當該下半部緩衝器滿時,所有儲存的資料自該下半部緩衝器以該第二時鐘速率並行讀入該實體編碼子層,其中來自該上半部緩衝器與該下半部緩衝器之該資料在該實體編碼子層中對齊。
- 如請求項16之資料介面,其中該上半部緩衝器與該下半部緩衝器各包含成對組配之10個暫存器。
- 如請求項16之資料介面,其中該第一時鐘信號是一系統時鐘信號之一分頻形式,該系統時鐘信號對齊於串列資料之該一或多個通道中之一最慢通道。
- 一種用以於串列資料之一或多個通道之解串列化期間降低資料潛時之資料介面,該資料介面包含:用以解串列該串列資料的位元之裝置,其並響應於一第一時鐘信號而以一第一時鐘速率提供解串化位元;一雙緩衝器,其具有一上半部緩衝器和一下半部緩衝器;用於以該第一時鐘速率連續寫入一第一組該等解串列化位元至該上半部緩衝器之裝置;用於以該第一時鐘速率連續寫入一第二組該等解串列化位元至下半部緩衝器之裝置;用以於該上半部緩衝器已滿時以一系統時鐘信號之一第二時鐘速率從該上半部緩衝器並行讀取該第一組解串列化位元至一實體編碼子層之裝置,其中該第二時鐘速率小於該第一時鐘速率並視其而定;用以於該下半部緩衝器已滿時以該第二時鐘速率從該下半部緩衝器並行讀取該第二組解串列化位元至該實體編碼子層之裝置;以及用以在該實體編碼子層中對齊該第一與第二組解串列化位元之裝置。
- 如請求項19之資料介面,其中該第一時鐘信號是該系統時鐘信號之一分頻形式。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/697,223 US8832336B2 (en) | 2010-01-30 | 2010-01-30 | Reducing latency in serializer-deserializer links |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201137624A TW201137624A (en) | 2011-11-01 |
TWI447591B true TWI447591B (zh) | 2014-08-01 |
Family
ID=44320075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099145497A TWI447591B (zh) | 2010-01-30 | 2010-12-23 | 減少串列化器解串列化器鏈路中之潛時之技術 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8832336B2 (zh) |
GB (1) | GB2492672B (zh) |
TW (1) | TWI447591B (zh) |
WO (1) | WO2011094211A2 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2444973B1 (en) * | 2010-10-22 | 2015-12-23 | Nxp B.V. | Shift register, electronic device, control method and software program product |
US9178692B1 (en) * | 2011-02-24 | 2015-11-03 | Broadcom Corporation | Serial link training method and apparatus with deterministic latency |
US8832487B2 (en) * | 2011-06-28 | 2014-09-09 | Microsoft Corporation | High-speed I/O data system |
US20130027416A1 (en) * | 2011-07-25 | 2013-01-31 | Karthikeyan Vaithianathan | Gather method and apparatus for media processing accelerators |
CN104025482B (zh) * | 2011-12-27 | 2017-06-13 | 中兴通讯股份有限公司 | 一种基于分组交换系统的全局同步方法及系统 |
US8806071B2 (en) * | 2012-01-25 | 2014-08-12 | Spansion Llc | Continuous read burst support at high clock rates |
CN102821458B (zh) | 2012-08-13 | 2014-12-10 | 华为技术有限公司 | 一种动态链路调整方法和链路管理设备 |
KR101914297B1 (ko) * | 2012-10-24 | 2018-11-01 | 에스케이하이닉스 주식회사 | 직병렬변환기 |
US10191884B2 (en) | 2014-01-28 | 2019-01-29 | Hewlett Packard Enterprise Development Lp | Managing a multi-lane serial link |
US9473172B2 (en) | 2014-02-04 | 2016-10-18 | GlobalFoundries, Inc. | Receiver deserializer latency trim |
US9374098B2 (en) | 2014-02-04 | 2016-06-21 | GlobalFoundries, Inc. | Transmitter serializer latency trim |
US9690646B2 (en) | 2014-07-29 | 2017-06-27 | SEAKR Engineering, Inc. | Robust SerDes wrapper |
US9543937B2 (en) | 2014-09-03 | 2017-01-10 | Microsoft Technology Licensing, Llc | Multi-phase clock generation |
US9577818B2 (en) * | 2015-02-04 | 2017-02-21 | Teradyne, Inc. | High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol |
US9767062B2 (en) * | 2015-04-17 | 2017-09-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low power parallelization to multiple output bus widths |
US9715914B1 (en) * | 2015-09-26 | 2017-07-25 | Syntropy Systems, Llc | Polyphase buffer for rate-conversion |
US10129166B2 (en) * | 2016-06-21 | 2018-11-13 | Intel Corporation | Low latency re-timer |
US11055241B2 (en) * | 2017-11-06 | 2021-07-06 | M31 Technology Corporation | Integrated circuit having lanes interchangeable between clock and data lanes in clock forward interface receiver |
US11153191B2 (en) | 2018-01-19 | 2021-10-19 | Intel Corporation | Technologies for timestamping with error correction |
JP7193110B2 (ja) * | 2018-07-27 | 2022-12-20 | ザインエレクトロニクス株式会社 | 複数レーン・シリアライザ装置 |
US11265096B2 (en) * | 2019-05-13 | 2022-03-01 | Intel Corporation | High accuracy time stamping for multi-lane ports |
CN111124982B (zh) * | 2019-12-17 | 2021-07-06 | 中国电子科技集团公司第五十八研究所 | 一种异步时钟数据同步电路 |
KR20220059983A (ko) | 2020-11-02 | 2022-05-11 | 삼성전자주식회사 | 메모리 패키지, 메모리 패키지를 포함하는 스토리지 장치, 그리고 스토리지 장치의 동작 방법 |
EP3992967A1 (en) * | 2020-11-02 | 2022-05-04 | Samsung Electronics Co., Ltd. | Memory package, storage device including memory package, and storage device operating method |
US11493951B2 (en) | 2020-11-17 | 2022-11-08 | Rockwell Collins, Inc. | Precision latency control |
US11789658B2 (en) | 2021-04-13 | 2023-10-17 | SK Hynix Inc. | Peripheral component interconnect express (PCIe) interface system and method of operating the same |
KR102668564B1 (ko) | 2021-06-01 | 2024-05-24 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
KR102518317B1 (ko) * | 2021-04-13 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
US11907074B2 (en) | 2021-09-24 | 2024-02-20 | International Business Machines Corporation | Low-latency deserializer having fine granularity and defective-lane compensation |
US11646861B2 (en) | 2021-09-24 | 2023-05-09 | International Business Machines Corporation | Low-latency, high-availability and high-speed SerDes interface having multiple synchronization modes |
US11714449B2 (en) * | 2021-09-27 | 2023-08-01 | International Business Machines Corporation | High-speed deserializer with programmable and timing robust data slip function |
US11972154B2 (en) * | 2022-08-02 | 2024-04-30 | Allegro Microsystems, Llc | Configurable variable-length shift register circuits |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040028164A1 (en) * | 2002-08-07 | 2004-02-12 | Hongtao Jiang | System and method for data transition control in a multirate communication system |
US20040078665A1 (en) * | 2002-06-26 | 2004-04-22 | Edmundo Rojas | Self-recovery method and apparatus in an elastic FIFO |
TW200531449A (en) * | 2004-02-09 | 2005-09-16 | Timelab Corp | High speed serializer-deserializer |
TW201001215A (en) * | 2008-06-03 | 2010-01-01 | Nec Electronics Corp | Bus interface design apparatus and bus interface design method |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01223695A (ja) | 1988-03-01 | 1989-09-06 | Nec Corp | メモリ装置 |
US5058132A (en) * | 1989-10-26 | 1991-10-15 | National Semiconductor Corporation | Clock distribution system and technique |
FR2664770A1 (fr) * | 1990-07-11 | 1992-01-17 | Bull Sa | Procede et systeme de transmission numerique de donnees en serie. |
US5448715A (en) * | 1992-07-29 | 1995-09-05 | Hewlett-Packard Company | Dual clock domain interface between CPU and memory bus |
US5533072A (en) * | 1993-11-12 | 1996-07-02 | International Business Machines Corporation | Digital phase alignment and integrated multichannel transceiver employing same |
US5583894A (en) * | 1995-03-20 | 1996-12-10 | Vlsi Technology, Inc. | Slip buffer for synchronizing data transfer between two devices |
US6247138B1 (en) | 1997-06-12 | 2001-06-12 | Fujitsu Limited | Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system |
JP3461290B2 (ja) * | 1998-07-30 | 2003-10-27 | 富士通株式会社 | バッファアクセス制御回路 |
US7356624B1 (en) * | 1999-03-25 | 2008-04-08 | Texas Instruments Incorporated | Interface between different clock rate components |
US6516363B1 (en) * | 1999-08-06 | 2003-02-04 | Micron Technology, Inc. | Output data path having selectable data rates |
US7031420B1 (en) * | 1999-12-30 | 2006-04-18 | Silicon Graphics, Inc. | System and method for adaptively deskewing parallel data signals relative to a clock |
US7181485B1 (en) * | 2001-11-26 | 2007-02-20 | Integrated Device Technology, Inc. | Variably delayable transmission of packets between independently clocked source, intermediate, and destination circuits while maintaining orderly and timely processing in one or both of the intermediate and destination circuits |
US7013359B1 (en) * | 2001-12-21 | 2006-03-14 | Cypress Semiconductor Corporation | High speed memory interface system and method |
TW541806B (en) * | 2002-04-12 | 2003-07-11 | Via Tech Inc | Serial/parallel data converter and the conversion method |
US6970115B1 (en) * | 2003-06-27 | 2005-11-29 | Cypress Semiconductor Corp. | Cycle slip framing system and method for selectively increasing a frame clock cycle to maintain related bits within the same parallel-output frame of a deserializer |
JP4480536B2 (ja) * | 2003-12-05 | 2010-06-16 | 株式会社リコー | データリカバリ方法およびデータリカバリ回路 |
US7212423B2 (en) * | 2004-05-31 | 2007-05-01 | Intel Corporation | Memory agent core clock aligned to lane |
US7296124B1 (en) * | 2004-06-29 | 2007-11-13 | National Semiconductor Corporation | Memory interface supporting multi-stream operation |
US7500131B2 (en) * | 2004-09-07 | 2009-03-03 | Intel Corporation | Training pattern based de-skew mechanism and frame alignment |
US7424566B2 (en) * | 2005-11-16 | 2008-09-09 | Sun Microsystems, Inc. | Method, system, and apparatus for dynamic buffer space allocation |
US7594047B2 (en) * | 2007-07-09 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Buffer circuit |
US7958285B1 (en) * | 2007-07-12 | 2011-06-07 | Oracle America, Inc. | System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip |
US7913104B1 (en) * | 2007-10-12 | 2011-03-22 | Xilinx, Inc. | Method and apparatus for receive channel data alignment with minimized latency variation |
US8595448B2 (en) * | 2008-07-22 | 2013-11-26 | International Business Machines Corporation | Asymmetric double buffering of bitstream data in a multi-core processor |
US7995696B1 (en) * | 2008-08-07 | 2011-08-09 | Integrated Device Technology, Inc. | System and method for deskewing data transmitted through data lanes |
US8542764B2 (en) * | 2009-01-14 | 2013-09-24 | Sun Microsystems, Inc. | Power and area efficient SerDes transmitter |
-
2010
- 2010-01-30 US US12/697,223 patent/US8832336B2/en active Active
- 2010-12-23 TW TW099145497A patent/TWI447591B/zh active
-
2011
- 2011-01-25 WO PCT/US2011/022417 patent/WO2011094211A2/en active Application Filing
- 2011-01-25 GB GB1213632.1A patent/GB2492672B/en not_active Expired - Fee Related
-
2012
- 2012-05-09 US US13/467,955 patent/US8527676B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078665A1 (en) * | 2002-06-26 | 2004-04-22 | Edmundo Rojas | Self-recovery method and apparatus in an elastic FIFO |
US20040028164A1 (en) * | 2002-08-07 | 2004-02-12 | Hongtao Jiang | System and method for data transition control in a multirate communication system |
TW200531449A (en) * | 2004-02-09 | 2005-09-16 | Timelab Corp | High speed serializer-deserializer |
TW201001215A (en) * | 2008-06-03 | 2010-01-01 | Nec Electronics Corp | Bus interface design apparatus and bus interface design method |
Also Published As
Publication number | Publication date |
---|---|
US8832336B2 (en) | 2014-09-09 |
US8527676B2 (en) | 2013-09-03 |
GB2492672B (en) | 2015-07-08 |
TW201137624A (en) | 2011-11-01 |
WO2011094211A2 (en) | 2011-08-04 |
GB201213632D0 (en) | 2012-09-12 |
GB2492672A (en) | 2013-01-09 |
WO2011094211A3 (en) | 2011-11-17 |
US20110191619A1 (en) | 2011-08-04 |
US20120221882A1 (en) | 2012-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI447591B (zh) | 減少串列化器解串列化器鏈路中之潛時之技術 | |
US8073090B2 (en) | Synchronous de-skew with programmable latency for multi-lane high speed serial interface | |
KR101093000B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
US7975162B2 (en) | Apparatus for aligning input data in semiconductor memory device | |
US10366742B1 (en) | Memory device parallelizer | |
US7975082B2 (en) | System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip | |
US8072822B2 (en) | Data alignment circuit and method of semiconductor memory apparatus | |
US7958285B1 (en) | System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip | |
JP2005505200A (ja) | データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信 | |
US7571267B1 (en) | Core clock alignment circuits that utilize clock phase learning operations to achieve accurate clocking of data derived from serial data streams having different relative skews | |
US9304530B1 (en) | Skew-tolerant strobe-to-clock domain crossing | |
JP2002150796A (ja) | モノリシックな集積回路装置の常に可能化されたテストのための方法および集積回路装置 | |
JP4336860B2 (ja) | シリアルインタフェース回路、及びシリアル受信器 | |
US8718215B2 (en) | Method and apparatus for deskewing data transmissions | |
US7213090B2 (en) | Data transfer apparatus for serial data transfer in system LSI | |
US11283589B2 (en) | Deskewing method for a physical layer interface on a multi-chip module | |
JP2022505662A (ja) | 非同期asic | |
KR20070056505A (ko) | 반도체 메모리 장치의 데이터 출력 회로 | |
US20070104302A1 (en) | Method and apparatus for reducing synchronizer shadow | |
KR20130080731A (ko) | 데이터 출력회로 | |
KR20110078107A (ko) | 반도체 메모리 장치 | |
WO2006025768A2 (en) | Read latency minimisation using frame offset | |
KR20080108858A (ko) | 데이터 입력 회로 |