[go: up one dir, main page]

TWI395425B - 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路 - Google Patents

用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路 Download PDF

Info

Publication number
TWI395425B
TWI395425B TW098108538A TW98108538A TWI395425B TW I395425 B TWI395425 B TW I395425B TW 098108538 A TW098108538 A TW 098108538A TW 98108538 A TW98108538 A TW 98108538A TW I395425 B TWI395425 B TW I395425B
Authority
TW
Taiwan
Prior art keywords
data
buffer
state
clock indicator
circuit
Prior art date
Application number
TW098108538A
Other languages
English (en)
Other versions
TW201012114A (en
Inventor
Jinn Yeh Chien
Shey Ping Sheu
Original Assignee
Taiwan Semiconductor Mfg
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 Taiwan Semiconductor Mfg filed Critical Taiwan Semiconductor Mfg
Publication of TW201012114A publication Critical patent/TW201012114A/zh
Application granted granted Critical
Publication of TWI395425B publication Critical patent/TWI395425B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Description

用以實現虛擬大小為M之彈性緩衝器之方法、虛擬大小為M之彈性緩衝器電路及積體電路
本發明是有關於一種彈性緩衝器(elastic buffer),特別是有關於一種自適應性(adaptive)的彈性緩衝器。
在通訊系統中,資料係透過一個頻道(channel)在不同的裝置間傳輸,頻道可用導線連接(例如PCI Express或其它纜線),或無線通訊來建構。發射機傳輸資料的位置通常異於接收機的位置,發射機和接收機各有一個本地時脈(local clock)產生器,例如鎖相迴路(phase locked loop,PLL)。在很多系統中,鎖相迴路會產生對應於系統時脈或匯流排時脈的本地時脈,例如,在PCI Express標準中,是在串列傳輸的資料流中嵌入時脈訊號,這種方式有許多優點,例如可以減少所需的訊號導線數量,且接收機可以用時脈與資料恢復(clock and data recovery,CDR)之方法來得到發射機之時脈,時脈與資料恢復之方法係利用邊緣偵測(edge detection)來取得時脈之資訊,而且,鎖相迴路電路通常是同步於所偵測之邊緣。然而,由於積體電路的參數與製程的不同,在不同的裝置中的本地時脈之頻率可能不盡相同,如此導致發射機與接收機之間有頻率的誤差,且由於這個頻率誤差是因為電路的實體限制所造成的,所以無法輕易被消除。
有一個方式可以解決頻率誤差的影響,使得發射機與接收機之本地時派雖有誤差,但還是可以正常地傳輸資料,這個方式就是使用彈性緩衝器(elastic buffer)。彈性緩衝器通常用以緩衝由資料匯流排進入接收機之資料流,彈性緩衝器之大小必須足以防止兩個錯誤狀態發生,亦即防止溢位(overflow)及虧位(underflow)的發生。所謂的溢位是指在接收機可以清空緩衝器之前,由發射機接收了太多的資料字,所以導致緩衝器溢位;所謂的虧位是指由發射機接收了太少的資料字,所以接收機在更多的資料字被接收前就已經清空了緩衝器。比較希望的狀況是,緩衝器裡總是有可以提供發射機寫入新資料字的空間,且緩衝器裡總是有可以提供接收機讀取的資料字,如此,發射機與接收機都可以不中斷地工作,且沒有延遲週期(delay cycles)的問題發生,所以傳輸的資料也可以正常地傳輸而無任何遺漏。
高整合度的半導體電路愈來愈顯得重要,特別是在以電池為電源的裝置上,例如手機、可攜式電腦(如膝上型電腦、筆記型電腦、個人數位助理等)、無線郵件終端機(wireless email terminals)、MP3影音播放器、無線可攜網頁瀏覽器等,這些複雜的積體電路也包括了更多的機載資料儲存(on-board data storage)。有些積體電路則是單晶片系統,例如“SOICs”(System on an integrated circuit)或“SOCs”(Systems on a chip)裝置。因為積體電路使得一個裝置可以提供多種功能,所以裝置中的每一電路所用的矽面積(silicon area)就顯得非常重要,而一個大的彈性緩衝器通常需要較大的矽面積。
舉例來說,在PCI Express之32通道(lanes)之通訊標準中,接收機需要一個12x10x32大小的緩衝器,實現此緩衝器則需要3840個正反器(flip flop),這將需要相當大的矽面積。雖然說,彈性緩衝器愈大,虧位及溢位狀態發生的機率愈小,頻率誤差的容耐度也愈高,然而,愈大的彈性緩衝器會用去愈大的矽面積。
因此,提供一個使用較小矽面積之彈性緩衝器之電路及方法,是值得增進的課題。
有鑑於此,本發明之目的在於提供一種可縮小所需之矽面積之彈性緩衝器之電路及方法。
根據上述之目的,本發明係提供一種用以實現虛擬大小為M之彈性緩衝器之方法,該方法包括:提供大小實質上為M/2之一資料緩衝器;提供用以指示下一緩衝器位置之一恢復時脈指標,該下一緩衝器位置係用以填入接收之一資料字;提供用以指示下一緩衝器位置之一系統時脈指標,該下一緩衝器位置具有供一接收器抓取之一資料字;提供用以接收資料與時脈訊號之一時脈與資料恢復電路,資料與時脈訊號係透過一通訊頻道傳輸;將接收之資料填入該恢復時脈指標所指示之該資料緩衝器內之位置;增加該恢復時脈指標以使該恢復時脈指標指向該資料緩衝器內之下一位置;持續將接收之資料填入該資料緩衝器,且在資料訊號被接收的同時,增加該恢復時脈指標;偵測一預設狀態是否發生,且啟動抓取資料操作;根據啟動抓取資料操作,由一緩衝器位置抓取已儲存之接收資料,該緩衝器位置係由該系統時脈指標所指示;以及增加該系統時脈指標以使該系統時脈指標指向下一被抓取之緩衝器位置。
在另一實施例中,該方法更包括:持續由該系統時脈指標所指示之緩衝器位置抓取已儲存之接收資料,且持續增加該系統時脈指標,直到緩衝器內之所有已儲存之資料字都已被抓取。
在另一實施例中,偵測該預設狀態是否發生更包括:決定一虧位狀態未發生於前一個週期中;決定一溢位狀態未發生於前一個週期中;以及決定該恢復時脈指標已達一預設值。
在另一實施例中,該預設值為M/2或2或其它值。
在另一實施例中,該方法更包括:當由緩衝器抓取已儲存之資料時,偵測該系統時脈指標是否趕上該恢復時脈指標,且設定一虧位指標,以供在接下來的使用。
在另一實施例中,該方法更包括:當由緩衝器抓取已儲存之資料時,偵測該恢復時脈指標是否趕上該系統時脈指標,且設定一溢位指標,以供在接下來的週期使用。
在另一實施例中,偵測該預設狀態更包括:決定一虧位狀態發生於前一個週期中;以及決定該恢復時脈指標之值已達M/2。
在另一實施例中,偵測該預設狀態更包括:決定一溢位狀態發生於前一個週期中;以及決定該恢復時脈指標之值已達2。
在另一實施例中,該方法更包括:當由緩衝器抓取已儲存之資料時,偵測一介穩狀態是否發生,且設定一介穩狀態指標,以供在接下來的週期使用。
在另一實施例中,偵測該介穩狀態是否發生更包括:偵測該虧位狀態及該溢位狀態之其中之一是否已發生;決定該虧位狀態及該溢位狀態在一預定時間內發生的次數;以及若該虧位狀態及該溢位狀態在一預定時間內發生的次數超過一預設臨界值,則指示該介穩狀態已發生。
又根據上述之目的,本發明係提供一種虛擬大小為M之彈性緩衝器電路,包括:一緩衝器,具有用以儲存接收之資料字之M/2個實體位置,及用以輸出儲存之資料字之一輸出;一恢復時脈指標,用以指示接收之資料字須填入M/2個實體位置之哪一位置;一系統時脈指標,用以指示須從M/2個實體位置之哪一位置中抓取資料字;一控制器,用以控制該緩衝器、該恢復時脈指標及該系統時脈指標之操作;一時脈與資料恢復電路,用以由嵌入有時脈資訊(clock information)之接收訊號中,恢復資料與時脈訊號;以及一啟動抓取資料電路,用以偵測一預設狀態,且輸出一啟動抓取資料訊號至該控制器;其中,當該時脈與資料恢復電路接收到由一通訊頻道傳來之一資料字時,該控制器使該資料字填入該恢復時脈指標所指示之一緩衝器位置,且增加該恢復時脈指標;當接收到啟動抓取資料電路之輸出時,該控制器啟動一資料抓取電路,以抓取儲存於該系統時脈指標所指示之一緩衝器位置內之資料,且增加該系統時脈指標。
在另一實施例中,該啟動抓取資料電路更包括:一虧位輸入,用以指示一虧位狀態發生於前一個週期中;一溢位輸入,用以指示一溢位狀態發生於前一個週期中;一計數比較器(count comparator),用以輸出訊號,以指示該恢復時脈指標已達到一預設值,該預設值為2及M/2的其中之一;以及一邏輯電路,用以在該虧位輸入為1,且該計數比較器指示該恢復時脈指標已達M/2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入為1,且該計數比較器指示該恢復時脈指標已達2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入及該虧位輸入皆為0,且該計數比較器指示該恢復時脈指標已達一預設值時,輸出該啟動抓取資料訊號。
在另一實施例中,該控制器更包括一有限狀態機。
在另一實施例中,M為大於8之整數。
在另一實施例中,M為大於或等於32之整數。
在另一實施例中,由該通訊頻道所接收的資料係以PCI Express之格式編碼。
又根據上述之目的,本發明係提供一種積體電路,具有虛擬大小為M但實體大小為M/2之一彈性緩衝器,該積體電路包括:複數資料接收器,用以接收由一串列通訊頻道傳來之複數訊號,該等訊號包括資料訊號及嵌入時脈訊號;一時脈與資料恢復電路,耦接於該等資料接收器,且用以恢復由該串列通訊頻道接收之時脈資訊及資料字;一資料緩衝器,用以接收來自該時脈與資料恢復電路之資料字,且將接收之資料字儲存於一恢復時脈指標所指示之位置;一資料抓取電路,用以由一系統時脈指標所指示之位置,抓取儲存於該資料緩衝器之資料字;一控制電路,耦接於該資料緩衝器、該恢復時脈指標及該系統時脈指標,用以使接收之資料字被儲存於該恢復時脈指標所指示之資料緩衝器內之位置,且增加該恢復時脈指標;該控制電路更接收一啟動抓取資料訊號,並根據該啟動抓取資料訊號,使該資料抓取電路由該系統時脈指標所指示之資料緩衝器內之位置,抓取儲存於該資料緩衝器之資料字,且增加該系統時脈指標;以及一啟動抓取資料電路,用以在偵測到一預設狀態時,輸出該啟動抓取資料訊號。
在另一實施例中,該啟動抓取資料電路更包括:一虧位輸入,用以指示一資料緩衝器虧位(data buffer underflow)發生於前一個週期中;一溢位輸入,用以指示一資料緩衝器溢位發生於前一個週期中;一計數比較器,用以在該恢復時脈指標之值達到2及M/2的其中之一時,輸出指示訊號;以及一邏輯電路,用以在該虧位輸入為1,且該恢復時脈指標已達M/2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入為1,且該恢復時脈指標已達2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入及該虧位輸入皆為0,且該恢復時脈指標已達一大於2之預設值時,輸出該啟動抓取資料訊號。
在另一實施例中,該積體電路更包括:一虧位偵測電路,用以偵測虧位狀態,且在抓取資料操作時,當該系統時脈指標趕上該恢復時脈指標,該虧位偵測電路更設定該虧位輸入,以供在接下來的週期使用。
在另一實施例中,該積體電路更包括:一溢位偵測電路,用以偵測溢位狀態,且在抓取資料操作時,當該恢復時脈指標趕上該系統時脈指標,該溢位偵測電路更設定該溢位輸入,以供在接下來的週期使用。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖係繪示一發射機11與一接收機15通訊之簡化系統之示意圖。發射機11可為一積體電路、一系統或一電路板,且不以此限。發射機11係透過通訊頻道13傳輸資料,且發射機11具有一傳輸資料鎖存器5、一資料驅動器7及其它用以完成發射機11之功能之電路(圖未示)。鎖相迴路電路3係用以提供時脈訊號,使傳送至頻道13的資料以這個時脈傳送。頻道13可為用於資料通訊之一串列鏈結(serial link)(例如PCI Express或其它相似的串列資料匯流排),或其它通訊頻道。串列資料匯流排(例如PCI Express標準之匯流排)通常在資料流中嵌入其時脈訊號。
發射機11可用以實現通訊頻道13之實體層(physical layer,PHY),而透過頻道13傳送之資料可藉由較高階之服務層(例如LINK層或其它較高階之服務層)提供給發射機11。接收機15係耦接於頻道13,且接收機15可為一積體電路、一系統、一電路板或三者之一部分。接收機15亦可用以實現符合匯流排標準之實體層,在接收機15中,一接收放大器9用以將由頻道13接收的資料放大並傳送給一接收鎖存器21。
時脈與資料恢復電路(clock and data recovery circuit,CDR)23係用以恢復嵌入之傳輸時脈資訊,且接收來自接收放大器9之資料。彈性緩衝器25係用以緩衝由通訊頻道13傳送至接收機15之接收資料字,而接收機15會從彈性緩衝器25中,以鎖相迴路電路27提供之本地系統時脈讀取資料。PCI-Express匯流排具有多個通道,每一通道具有一彈性緩衝器,例如,可能有32個通道。
第2圖係繪示第1圖之習知彈性緩衝器25之一實施方式之簡化方塊圖。第2圖裡繪示了一行資料暫存器(通常以D正反器實現)及兩個指標。一恢復時脈指標(recovery clock pointer)被用來將由發射機11透過頻道13傳來的資料寫入至緩衝器中,此恢復時脈指標之時脈係根據時脈與資料恢復電路23所恢復之時脈;而接收機15則使用系統時脈指標(system clock pointer)來讀取、抓取或移除彈性緩衝器25內之資料字。通常,彈性緩衝器25係被兩個稍微不同之時脈寫入及讀取,亦即,發射機11傳送資料的速率是大於或小於接收機15抓取資料的速率。為了使彈性緩衝器25能正確操作,一指標控制有限狀態機(pointer control finite state machine)29被用來控制恢復時脈指標與系統時脈指標。
第3a圖係繪示第1圖之習知彈性緩衝器25之另一實施方式之簡化方塊圖。在第3a圖中,在接收機15由彈性緩衝器25中抓取任何資料前,恢復時脈指標在資料字被寫入彈性緩衝器25時被增加(通常此種操作稱為”填入資料”)。填入資料的操作一值持續,直到恢復時脈指標位於或大概位於緩衝器之中間位置(對大小為M的緩衝器25來說,中間位置就是M/2的位置,其中,M是用以指示緩衝器大小的正整數)。在中間位置之上的緩衝器位置係用以補償溢位(即發射機將資料儲存入彈性緩衝器25之速度,大於接收機抓取資料之速度),在中間位置之下的緩衝器位置係用以處理虧位(即接收機移除或抓取資料之速度,大於發射機提供資料之速度)。恢復時脈指標及系統時脈指標被監控,且其操作係被有限狀態機29所控制。
如果發射機和接收機是完美的同步狀況,那麼就不需要任何緩衝器,也就是說,當資料字由頻道13傳來時,接收機就馬上接收。然而,在實際應用中,發射機和接收機的完美同步狀況是不可能發生的,因此,需要彈性緩衝器25來補償同步狀況。
第3b圖係繪示第3a圖中用以實現循環式緩衝器之複數指標之關係之示意圖。在第3b圖中,環形之路徑代表著該等指標會循環,亦即,當到達最大的位置M時,該等指標會返回位置0,接著到位置1。在典型的操作中,每一時脈中的傳輸資料被寫入緩衝器25後,恢復時脈指標就會增加(加1);當恢復時脈指標增加至一特定值(例如中間位置,M/2,或其它位置),有限狀態機將會啟動抓取資料之操作。而當緩衝器中的每一資料字被抓取時,系統時脈指標就會增加(加1),以使系統時脈指標指向下個要抓取資料的位置。如此一來,系統時脈指標將總是跟隨在恢復時脈指標之後,直到緩衝器中之資料被抓取完為止。
如果系統時脈指標超過恢復時脈指標,即表示接收機已抓取完所有的資料字,且虧位狀態已經發生,亦即,由緩衝器25抓取資料的速度,大於發射機與接收機之時脈與資料恢復電路提供資料的速度。另一方面,如果恢復時脈指標趕上系統時脈指標,則溢位狀態已經發生,亦即,發射機與時脈與資料恢復電路將資料填入緩衝器之速度,大於緩衝器內之資料被接收機抓取的速度,在此情況下,緩衝器是滿的,如果再填入資料的話,會覆寫於原先存有資料的位置,導致原先存有之資料消失而發生錯誤,因為原先存有之資料尚未被抓取過。
第4圖係繪示第2圖之習知有限狀態機29之狀態圖。在重新設定後,狀態機係由一初始狀態41開始運作。當資料由第1圖之發射機11透過頻道13而提供時,狀態機進入填入資料狀態43,在填入資料狀態43中,資料被寫入緩衝器25中。當恢復時脈指標達到或靠近中間位置M/2時,狀態機會進入抓取資料狀態45(如轉換路徑A所示),在抓取資料狀態45中,接收機由緩衝器25抓取資料,且在同一時間,發射機會繼續傳送資料,以供填入緩衝器25中。而轉換路徑B則表示正常操作持續進行著。當資料從頻道13傳來且被填入緩衝器25中,恢復時脈指標會增加;當緩衝器25內的資料被接收機抓取時,系統時脈指標會增加,因此,恢復時脈指標通常會在系統時脈指標之前(如第3b圖所示)。彈性緩衝器25是循環式的,因此,當一個指標到達頂端位置M時,該指標接下來會指向底端位置,就像指標的所有位元都被重設一般。
在抓取資料狀態45中,如果有限狀態機偵測到恢復時脈指標趕上系統時脈指標,表示彈性緩衝器內之資料已被接收機抓取光了,因而導致虧位狀態發生,在這種情況下,狀態機將進入虧位狀態49(如轉換路徑C所示)。另外,在抓取資料狀態45中,如果有限狀態機偵測到系統時脈指標趕上恢復時脈指標,表示發射機提供了多於緩衝器所能接收的資料,且接收機抓取資料的速度趕不上發射機傳送資料的速度,因而導致溢位狀態發生,在這種情況下,狀態機將進入溢位狀態47以表示溢位發生(如轉換路徑D所示)。
第5圖係繪示本發明之自適應性彈性緩衝器之結構之第一實施例之簡化方塊圖。在第5圖中,緩衝器51之大小為M/2,為第2圖習知之彈性緩衝器25之大小之一半,然而,本發明緩衝器51之大小並不以M/2為限,本領域熟知技術之人士當可做不同之變化,此亦屬本發明之範圍。第5圖之方塊圖更繪示用以控制指標之一有限狀態機53,且恢復時脈指標更與一解多工器52耦接,解多工器52具有二或三個輸出,將在之後再說明。系統時脈指標係用以從緩衝器51中抓取資料字。在本發明之實施例中,藉由大小為M/2之緩衝器51與有限狀態機53作結合,可提供如第2圖所示之習知之彈性緩衝器25(大小為M)之功能,如第5圖之虛線所示,緩衝器51相較於習知來說,可節省一半的暫存器(由位置M/2到位置M)。如此一來,只需要較小的矽面積就可維持一樣的安全操作邊際,因為新的指標控制狀態機及操作之方法可提供大小為M/2的緩衝器51,其功能與習知大小為M之彈性緩衝器25相同。
第6圖係繪示第5圖之有限狀態機53之一實施例之狀態圖。在第6圖中,在重新設定後,狀態機係由一初始狀態61(標示為重設/資料封包開端)開始運作。如果狀態機在操作之前並沒有收到任何資料封包,計數器會被設為M/2或1。當第一或M/2資料字經由頻道13到達後,有限狀態機進入填入資料狀態63,且恢復的資料由時脈與資料恢復電路寫入資料緩衝器。狀態機維持在填入資料狀態63,直到某些狀態發生,將在之後再說明。狀態機接著轉換至抓取資料狀態65(如轉換路徑A所示),在抓取資料狀態65中,接收機開始從第5圖所示之彈性緩衝器51抓取資料,且發射機持續地將資料填入緩衝器,這個正常的操作狀態可由轉換路徑B表示,亦即,使狀態機維持在抓取資料狀態65,此時,資料持續地被填入及被抓取出彈性緩衝器51。
在第6圖中,當狀態機偵測到恢復時脈指標趕上系統時脈指標時(即溢位狀態),則轉換路徑C會被進行,此時,狀態機將會進入溢位狀態67。另外,當狀態機偵測到系統時脈指標趕上恢復時脈指標時(即虧位狀態),則轉換路徑D會被進行,在此情況下,接收機抓取資料的速度大於發射機將資料填入緩衝器之速度,此時,狀態機將經由轉換路徑D進入虧位狀態69。不論在虧位狀態69或溢位狀態67,狀態機接著會經由轉換路徑E而到重設計數器狀態68。在重設計數器狀態68中,狀態機記錄了溢位或虧位,以供處理下一個資料封包時使用。有限狀態機接著停留在重設計數器狀態68,持續地接收並抓取資料,直到資料封包末端被偵測到了,才透過轉換路徑G,使得狀態機回到初始狀態61而重新開始運作。
在另一例子中,抓取資料狀態65經由轉換路徑B一直持續進行,直到資料封包末端被偵測到了,狀態機才回到初始狀態61,等待下一個資料封包。因此,在抓取資料狀態65中,有三種狀況可能發生:偵測到溢位,偵測到虧位、偵測到資料封包末端。
第7圖係繪示第6圖之各個轉換路徑之意義之示意圖。在第7圖中,當沒有虧位或溢位被偵測到,且恢復時脈指標達到一個值(例如1或M/2,在本例中是以M/2為例),則由填入資料狀態63轉換至抓取資料狀態65之轉換路徑A會被進行。而當在前一週期中有發生虧位狀態,且恢復時脈指標已增加到M/2(即緩衝器之頂端位置),則此時轉換路徑A也會被進行,在這種情況下,緩衝器內的資料是滿的,才開始抓取資料週期,因為在前一週期中有發生虧位,所以有限狀態機會讓緩衝器被填入更多資料(即更多的填入資料週期)後,才進行轉換路徑A以進入抓取資料狀態65而開始抓取資料,如此一來,可以使接收機和發射機之資料速率較為匹配。
相反地,如果在前一時脈中有發生溢位狀態,且恢復時脈指標已到達2,則前往抓取資料狀態65之轉換路徑A會被進行,在這種情況下,有限狀態機比之前更早進行抓取資料的週期,以使接收機和發射機之資料速率較為匹配,從而防止溢位的再度發生。
轉換路徑B係發生於填入資料狀態63或抓取資料狀態65,且係為一正常操作(或維持現狀)轉換路徑,使得狀態機維持在填入資料狀態63或抓取資料狀態65。狀態機將維持在轉換路徑B形成之迴圈,直到溢位、虧位或資料封包末端狀態被偵測到為止;而如果沒有溢位或虧位發生,但已到達資料封包末端,則狀態機將回到具有原來計數器之值之初始狀態61。
第7圖之轉換路徑C則在溢位被偵測到時才進行,也就是說,在恢復時脈指標趕上系統時脈指標的時候。因為抓取資料狀態65在填入資料狀態63被執行數次後才開始進行,因此,恢復時脈指標應該在系統時脈指標之前,但不該在循環式的指標系統中再趕上系統時脈指標。如果恢復時脈指標趕上系統時脈指標,就代表緩衝器內滿溢著等待被抓取的資料,所以溢位狀態就發生了。
第7圖之轉換路徑D則在虧位被偵測到時才進行,也就是說,在系統時脈指標超過恢復時脈指標的時候。因為抓取資料狀態65會在填入資料狀態63被執行數次後才開始進行,因此,在循環式的指標系統中,系統時脈指標應該在恢復時脈指標之後。如果系統時脈指標趕上恢復時脈指標,這表示緩衝器已經空了,接收機已抓取光緩衝器內所有的資料字,且發射機提供資料的速度低於接收機抓取資料的速度。
轉換路徑E係用以進入重設計數器狀態68,且是在溢位或虧位被偵測到後接著進行。當狀態機進入重設計數器狀態68,狀態機將保存溢位或虧位狀態之記錄以供下個資料封包使用,且狀態機將持續地接收資料,直到資料封包末端被偵測到為止。
狀態機並不常進入重設計數器狀態68,因為在抓取資料狀態65之轉換路徑B中,當資料封包末端在溢位或虧位狀態被偵測到之前被偵測到時,狀態機會經由轉換路徑G回到初始狀態61。
第8a圖係繪示本發明之一介穩(meta-stable)狀態發生之示意圖。當將資料填入緩衝器之速度相近於(但不完全一樣)將資料抓取出緩衝器之速度時,則介穩狀態可能發生。在第8a圖中,虧位與溢位不間斷地更替發生,如果虧位狀態之後緊跟著發生溢位狀態,或者,溢位狀態之後緊跟著發生虧位狀態,則表示緩衝器、系統時脈指標及恢復時脈指標係操作在介穩狀態。
第8b圖係繪示介穩狀態之簡化方塊圖。當系統操作在介穩狀態時(即緩衝器在短時間內在虧位狀態與溢位狀態之間變來變去),則恢復時脈指標會被設定至緩衝器中間位置的值(例如大小為M/2的緩衝器就是M/4),如此使得緩衝器進入一個穩定狀態。藉此,介穩狀態可以成為一個穩定操作的狀態,所以在之後的填入資料或抓取資料週期中,或者說資料由頻道傳送過來且被時脈與資料恢復電路恢復的過程中,虧位狀態和溢位狀態都不會在介穩狀態中再發生。
為了實現第8b圖,狀態機之狀態圖有必要作相關的改變。請參考第9圖,第9圖係繪示處於介穩狀態之狀態機之狀態圖。在第9圖中,在重新設定後,狀態機之指標控制開始於初始狀態61(標示為重設或資料封包開端)。當資料由頻道被傳輸過來且被時脈與資料恢復電路所恢復,狀態機將進入填入資料狀態63。在某些情況下,狀態機經由轉換路徑A而到抓取資料狀態65。當正常操作發生時(即發射機持續地傳送資料給緩衝器且接收機持續地由緩衝器抓取資料),則轉換路徑B會被進行,使得狀態機維持在抓取資料狀態65。如果溢位狀態被偵測到,則轉換路徑C會被進行,使得狀態機進入溢位狀態67。相反地,如果虧位狀態被偵測到,則轉換路徑D會被進行,使得狀態機進入虧位狀態69。如果溢位或虧位皆未發生,但狀態機持續接收及抓取資料直到到達資料封包末端,則狀態機將經由轉換路徑G回到初始狀態61,以等待下一資料封包。
轉換路徑F係表示由溢位狀態67或虧位狀態69進入比較狀態66,以使狀態機決定介穩狀態是否發生。數個週期內的溢位狀態及虧位狀態之態樣會在比較狀態66中被比對,如果系統是在介穩狀態,則狀態機會經由轉換路徑E進入重設計數器狀態68,接著,恢復時脈指標被設定至能使系統在接下來的週期中穩定操作之值。因此,狀態機可儲存三個可能結果以供下個資料封包使用:溢位、虧位及介穩狀態。另外,還有第四個可能結果就是前三種可能結果都沒被偵測到,如果是這種情況的話,狀態機將維持在抓取資料狀態65直到資料封包末端被偵測到,再經由轉換路徑G回到初始狀態61。
需要注意的是,狀態機是隨著資料封包循環的。在資料封包的開端,彈性緩衝器開始被填入資料,且狀態機在開始抓取資料前計數至預設值。在接收資料封包時,溢位、虧位或正常狀態的其中之一會發生。在資料封包的末端,狀態機記錄狀態,且以此決定下一個資料封包的操作方式。而在兩資料封包的間隔時間,是沒有資料流被傳輸的。
在第9圖中,當虧位狀態與溢位狀態不間斷地更替發生,則狀態機將記錄為介穩狀態,以指示緩衝器是處於介穩狀態。
第10圖係繪示第9圖之各個轉換路徑之意義之示意圖。在第10圖中,由填入資料狀態63至抓取資料狀態65之轉換路徑A,會在下列四種狀態之其中一種被偵測到時進行:第一、沒有前一封包之虧位(pre_packet_underflow),且沒有前一封包之溢位,且計數達到M/2(即恢復時脈指標為M/2);第二、有前一封包之虧位狀態存在(即前一個週期中有發生虧位),且恢復時脈指標為M/2;第三、有前一封包之溢位狀態存在(即前一個週期中有發生溢位),且恢復時脈指標為2;第四、介穩狀態存在,且恢復時脈指標為M/4(緩衝器之一半之位置)。第四個狀態係表示介穩狀態在前一個週期中被偵測到,所以狀態機使緩衝器、恢復時脈指標及系統時脈指標進入穩定操作的狀態。由上可知,緩衝器之大小確實被改進了。
在第10圖中,轉換路徑C係用以偵測溢位,轉換路徑D係用以偵測虧位,如之前所述,當恢復時脈指標與系統時脈指標的其中之一指標趕上另一指標時,有個旗標會被設定以表示溢位或虧位已經發生。第10圖之轉換路徑F表示狀態機將比較一段週期裡的溢位狀態及虧位狀態,如果溢位狀態及虧位狀態更替地發生,或者在一段時間或數個週期中,其中之一個狀態緊接著另一個狀態發生,那麼轉換路徑E將會被進行,以進入重設計數器狀態68。在重設計數器狀態68中,各種狀態(溢位、虧位、介穩)會被儲存,且計數器之限制會被設定,以供下個資料封包使用。狀態機將停留在重設計數器狀態68,直到資料封包末端被偵測到,才返回初始狀態61。第10圖相似於第7圖,只不過第10圖中多了介穩狀態。
第11圖係繪示本發明之控制電路及彈性緩衝器之方塊圖,控制電路及彈性緩衝器可用積體電路或電路板來實現。在第11圖中,區塊58包括緩衝器51、控制邏輯及有限狀態機54、介穩偵測器57、溢位及虧位偵測器81及指標計數器55,其中,每一元件皆與控制邏輯及有限狀態機54耦接,且控制邏輯及有限狀態機54係用以控制緩衝器51的所有操作。然而,第11圖之方塊圖僅為本發明之一舉例,本領域熟知技術之人士當可做不同之變化而達到相同之功能,此亦屬本發明之範圍。
第12圖係繪示用以實現第11圖之控制邏輯及有限狀態機54之相關電路之示意圖。在第12圖中,溢位及虧位偵測器81提供了兩個輸出(標示為虧位、溢位),分別輸出給設定及再設定暫存器(set/reset register)85與設定及再設定暫存器97。當偵測到了虧位,暫存器85會被設定,且暫存器85之輸出訊號會清除暫存器97內的記錄,藉此,兩個暫存器85、97可被同時設定。接著,及閘89收到虧位指示(即前述前一封包之虧位),當計數器輸出區塊95輸出一個M/2的值時,則及閘89會輸出一個高電位(即1)給或閘91,從而使得多工器87輸出啟動抓取資料旗標。當有限狀態機是處於填入資料狀態,則啟動抓取資料之訊號為1時,會使轉換路徑A被進行(可配合參考第7及10圖之狀態圖)。相同的方式,當偵測到了溢位,暫存器97會被設定,且暫存器97會輸出至及閘93,當計數器輸出區塊95輸出一個2的值時,則及閘93會輸出一個高電位(即1)給或閘91,從而使得多工器87輸出啟動抓取資料之訊號。
計數器輸出區塊95還具有一個第三輸出,即M/4之值。當介穩偵測器57在其輸出MS輸出一個高電位訊號,多工器87會選擇由計數器輸出區塊95輸出之M/4。當恢復時脈指標為M/4,且介穩輸出MS為1,則有限狀態機將進行第10圖所示之轉換路徑A,即由填入資料狀態進入抓取資料狀態。如此一來,有限狀態機可以調整相關指標,以自適應性地改變彈性緩衝器之大小,來配合發射機傳送資料的速度及接收機抓取資料的速度,使得虧位、溢位及介穩狀態在之後的週期中不再發生。
第13圖係繪示用以實現第12圖之溢位及虧位偵測器81之相關電路之示意圖。在第13圖中,恢復時脈指標及系統時脈指標之值被輸入至偵測器81,緩衝器循環區塊82用以決定兩個指標之值是否相同,+/-及-/+區塊84用以決定哪一個指標趕上另一個指標。這些輸入接著被輸入至判斷區塊86,然後判斷區塊86據此輸出虧位或溢位訊號。
第14圖係繪示用以實現第12圖之介穩偵測器57之相關電路之示意圖。在第14圖中,虧位及溢位之輸入係接收自溢位及虧位偵測器81;一對正反器103、105分別接收這些輸入,且輸出高電位訊號給計數器107、109。數位比較器111接著比較一段時間內之虧位及溢位指示,若達到一臨界值,則判定緩衝器及該等指標係處於介穩狀態,且在輸出MS輸出高電位訊號。這個高電位訊號被有限狀態機用來判斷介穩狀態是否存在,且這個高電位訊號也被用在啟動抓取資料電路(Data Fetch Enable circuit)。
上述之電路之實現方式可用硬體、邏輯電路、可程式邏輯元件(例如PLDs或PLAs等),或儲存於非揮發性記憶體、邏輯韌體,或用軟體(可在程式裝置(例如微控制器或微處理器等)執行)。這些實施方式的變化皆為本發明之範圍。
舉個例子來說,本發明提供大小為M之彈性緩衝器之方法為:提供實體大小為M/2之彈性緩衝器;接收由一通訊頻道傳來之資料;恢復接收之資料之資料及時脈訊號;將資料填入緩衝器,且每填入一個資料字就增加恢復時脈指標;偵測恢復時脈指標是否超過一目標值;使接收機由大小為M/2之緩衝器內抓取資料,且每抓取一個資料字就增加系統時脈指標;偵測恢復時脈指標是否趕上系統時脈指標,且設定溢位狀態旗標;偵測系統時脈指標是否趕上恢復時脈指標,且設定虧位狀態旗標。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何熟習此項技藝者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
11...發射機
15...接收機
13...頻道
103、105...正反器
107、109...計數器
111...數位比較器
21...接收鎖存器
23...時脈與資料恢復電路
25、51...緩衝器
27、3...鎖相迴路電路
29、53...狀態機
41...初始狀態
43...填入資料狀態
45...抓取資料狀態
47...溢位狀態
49...虧位狀態
5...鎖存器
52...解多工器
54...控制邏輯及有限狀態機
55...指標計數器
57...介穩偵測器
58...區塊
61...初始狀態
63...填入資料狀態
65...抓取資料狀態
66...比較狀態
67...溢位狀態
68...重設計數器狀態
69...虧位狀態
7...資料驅動器
81...溢位及虧位偵測器
82...緩衝器循環區塊
84...+/-及-/+區塊
85、97...暫存器
86...判斷區塊
87...多工器
89、93...及閘
9...放大器
91...或閘
95...計數器輸出區塊
A、B、C、D、E、F、G...轉換路徑。
第1圖係繪示一發射機與一接收機通訊之簡化系統之示意圖。
第2圖係繪示第1圖之習知彈性緩衝器之一實施方式之簡化方塊圖。
第3a圖係繪示第1圖之習知彈性緩衝器之另一實施方式之簡化方塊圖。
第3b圖係繪示第3a圖中用以實現循環式緩衝器之複數指標之關係之示意圖。
第4圖係繪示第2圖之習知有限狀態機之狀態圖。
第5圖係繪示本發明之自適應性彈性緩衝器之結構之第一實施例之簡化方塊圖。
第6圖係繪示第5圖之有限狀態機之一實施例之狀態圖。
第7圖係繪示第6圖之各個轉換路徑之意義之示意圖。
第8a圖係繪示本發明之一介穩狀態發生之示意圖。
第8b圖係繪示介穩狀態之簡化方塊圖。
第9圖係繪示處於介穩狀態之狀態機之狀態圖。
第10圖係繪示第9圖之各個轉換路徑之意義之示意圖。
第11圖係繪示本發明之控制電路及彈性緩衝器之方塊圖。
第12圖係繪示用以實現第11圖之控制邏輯及有限狀態機之相關電路之示意圖。
第13圖係繪示用以實現第12圖之溢位及虧位偵測器之相關電路之示意圖。
第14圖係繪示用以實現第12圖之介穩偵測器之相關電路之示意圖。
51...緩衝器
52...解多工器
53...狀態機

Claims (26)

  1. 一種用以實現虛擬大小(virtual depth)為M之彈性緩衝器(elastic buffer)之方法,包括:提供大小實質上為M/2之一資料緩衝器;提供用以指示下一緩衝器位置之一恢復時脈指標(recovery clock pointer),該下一緩衝器位置係用以填入接收之一資料字(data word);提供用以指示下一緩衝器位置之一系統時脈指標(system clock pointer),該下一緩衝器位置具有供一接收器抓取之一資料字;提供用以接收資料與時脈訊號之一時脈與資料恢復電路(clock and data recovery circuit),資料與時脈訊號係透過一通訊頻道傳輸;將接收之資料填入該恢復時脈指標所指示之該資料緩衝器內之位置;增加該恢復時脈指標以使該恢復時脈指標指向該資料緩衝器內之下一位置;持續將接收之資料填入該資料緩衝器,且在資料訊號被接收的同時,增加該恢復時脈指標;偵測一預設狀態是否發生,且啟動抓取資料操作;根據啟動抓取資料操作,由一緩衝器位置抓取已儲存之接收資料,該緩衝器位置係由該系統時脈指標所指示;以及增加該系統時脈指標以使該系統時脈指標指向下一 被抓取之緩衝器位置;其中,偵測該預設狀態是否發生更包括:決定一虧位(underflow)狀態未發生於前一個週期中;決定一溢位(overflow)狀態未發生於前一個週期中;以及決定該恢復時脈指標已達一預設值。
  2. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,更包括:持續由該系統時脈指標所指示之緩衝器位置抓取已儲存之接收資料,且持續增加該系統時脈指標,直到緩衝器內之所有已儲存之資料字都已被抓取。
  3. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,該預設值為M/2。
  4. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,該預設值為2。
  5. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,更包括:當由緩衝器抓取已儲存之資料時,偵測該系統時脈指標是否趕上該恢復時脈指標,且設定一虧位指標,以供在接下來的使用。
  6. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,更包括:當由緩衝器抓取已儲存之資料時,偵測該恢復時脈指標是否趕上該系統時脈指標,且設定一溢位指標,以 供在接下來的週期使用。
  7. 如申請專利範圍第5項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,偵測該預設狀態更包括:決定一虧位狀態發生於前一個週期中;以及決定該恢復時脈指標之值已達M/2。
  8. 如申請專利範圍第6項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,偵測該預設狀態更包括:決定一溢位狀態發生於前一個週期中;以及決定該恢復時脈指標之值已達2。
  9. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,更包括:當由緩衝器抓取已儲存之資料時,偵測一介穩狀態(meta-stable condition)是否發生,且設定一介穩狀態指標,以供在接下來的週期使用。
  10. 如申請專利範圍第9項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,偵測該介穩狀態是否發生更包括:偵測該虧位狀態及該溢位狀態之其中之一是否已發生;決定該虧位狀態及該溢位狀態在一預定時間內發生的次數;以及若該虧位狀態及該溢位狀態在一預定時間內發生的次數超過一預設臨界值,則指示該介穩狀態已發生。
  11. 如申請專利範圍第9項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,偵測該預設狀態更包括:決定該介穩狀態發生於前一個週期中;以及決定該恢復時脈指標之值已達M/4。
  12. 如申請專利範圍第1項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,M之值大於或等於8。
  13. 如申請專利範圍第12項所述之用以實現虛擬大小為M之彈性緩衝器之方法,其中,M之值大於或等於32。
  14. 一種虛擬大小為M之彈性緩衝器電路,包括:一緩衝器,具有用以儲存接收之資料字之M/2個實體位置,及用以輸出儲存之資料字之一輸出;一恢復時脈指標,用以指示接收之資料字須填入M/2個實體位置之哪一位置;一系統時脈指標,用以指示須從M/2個實體位置之哪一位置中抓取資料字;一控制器,用以控制該緩衝器、該恢復時脈指標及該系統時脈指標之操作;一時脈與資料恢復電路,用以由嵌入有時脈資訊(clock information)之接收訊號中,恢復資料與時脈訊號;以及一啟動抓取資料電路,用以偵測一預設狀態,且輸出一啟動抓取資料訊號至該控制器;其中,當該時脈與資料恢復電路接收到由一通訊頻 道傳來之一資料字時,該控制器使該資料字填入該恢復時脈指標所指示之一緩衝器位置,且增加該恢復時脈指標;當接收到啟動抓取資料電路之輸出時,該控制器啟動一資料抓取電路,以抓取儲存於該系統時脈指標所指示之一緩衝器位置內之資料,且增加該系統時脈指標;其中,該啟動抓取資料電路更包括:一虧位輸入,用以指示一虧位狀態發生於前一個週期中;一溢位輸入,用以指示一溢位狀態發生於前一個週期中;一計數比較器(count comparator),用以輸出訊號,以指示該恢復時脈指標已達到一預設值,該預設值為2及M/2的其中之一;以及一邏輯電路,用以在該虧位輸入為1,且該計數比較器指示該恢復時脈指標已達M/2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入為1,且該計數比較器指示該恢復時脈指標已達2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入及該虧位輸入皆為0,且該計數比較器指示該恢復時脈指標已達一預設值時,輸出該啟動抓取資料訊號。
  15. 如申請專利範圍第14項所述之虛擬大小為M之彈性緩衝器電路,其中,該控制器更包括一有限狀態機(finite state machine)。
  16. 如申請專利範圍第14項所述之虛擬大小為M之彈性緩衝器電路,其中,M為大於8之整數。
  17. 如申請專利範圍第16項所述之虛擬大小為M之彈性緩衝器電路,其中,M為大於或等於32之整數。
  18. 如申請專利範圍第14項所述之虛擬大小為M之彈性緩衝器電路,其中,由該通訊頻道所接收的資料係以PCI Express之格式編碼。
  19. 一種積體電路,具有虛擬大小為M但實體大小為M/2之一彈性緩衝器,該積體電路包括:複數資料接收器,用以接收由一串列通訊頻道傳來之複數訊號,該等訊號包括資料訊號及嵌入時脈訊號(embedded clock signals);一時脈與資料恢復電路,耦接於該等資料接收器,且用以恢復由該串列通訊頻道接收之時脈資訊及資料字;一資料緩衝器,用以接收來自該時脈與資料恢復電路之資料字,且將接收之資料字儲存於一恢復時脈指標所指示之位置;一資料抓取電路,用以由一系統時脈指標所指示之位置,抓取儲存於該資料緩衝器之資料字;一控制電路,耦接於該資料緩衝器、該恢復時脈指標及該系統時脈指標,用以使接收之資料字被儲存於該恢復時脈指標所指示之資料緩衝器內之位置,且增加該恢復時脈指標;該控制電路更接收一啟動抓取資料訊號,並根據該啟動抓取資料訊號,使該資料抓取電路由該系統時脈指標所指示之資料緩衝器內之位置,抓取儲存於該資料緩衝器之資料字,且增加該系統時脈指標; 以及一啟動抓取資料電路,用以在偵測到一預設狀態時,輸出該啟動抓取資料訊號;其中,該啟動抓取資料電路更包括:一虧位輸入,用以指示一資料緩衝器虧位(data buffer underflow)發生於前一個週期中;一溢位輸入,用以指示一資料緩衝器溢位發生於前一個週期中;一計數比較器,用以在該恢復時脈指標之值達到2及M/2的其中之一時,輸出指示訊號;以及一邏輯電路,用以在該虧位輸入為1,且該恢復時脈指標已達M/2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入為1,且該恢復時脈指標已達2時,輸出該啟動抓取資料訊號;該邏輯電路更用以在該溢位輸入及該虧位輸入皆為0,且該恢復時脈指標已達一大於2之預設值時,輸出該啟動抓取資料訊號。
  20. 如申請專利範圍第19項所述之積體電路,更包括:一虧位偵測電路,用以偵測虧位狀態,且在抓取資料操作時,當該系統時脈指標趕上該恢復時脈指標,該虧位偵測電路更設定該虧位輸入,以供在接下來的週期使用。
  21. 如申請專利範圍第19項所述之積體電路,更包括:一溢位偵測電路,用以偵測溢位狀態,且在抓取資 料操作時,當該恢復時脈指標趕上該系統時脈指標,該溢位偵測電路更設定該溢位輸入,以供在接下來的週期使用。
  22. 如申請專利範圍第19項所述之積體電路,更包括:一介穩(meta-stable)偵測電路,用以接收該溢位輸入及該虧位輸入,且當該溢位輸入及該虧位輸入之其中之一為1時,判斷該虧位狀態及該溢位狀態在一預定時間內發生的次數;以及一指示電路,用以在該虧位狀態及該溢位狀態在一預定時間內發生的次數超過一預設臨界值時,輸出一介穩輸出,以供在接下來的週期使用。
  23. 如申請專利範圍第22項所述之積體電路,其中,該啟動抓取資料電路之該邏輯電路更用以在該介穩輸出為1,且該恢復時脈指標已達M/4時,輸出該啟動抓取資料訊號。
  24. 如申請專利範圍第19項所述之積體電路,其中,該控制電路更包括一有限狀態機。
  25. 如申請專利範圍第19項所述之積體電路,其中,M為大於8之整數。
  26. 如申請專利範圍第25項所述之積體電路,其中,M為大於或等於32之整數。
TW098108538A 2008-09-02 2009-03-17 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路 TWI395425B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/202,757 US8184760B2 (en) 2008-09-02 2008-09-02 Adaptive elastic buffer for communications

Publications (2)

Publication Number Publication Date
TW201012114A TW201012114A (en) 2010-03-16
TWI395425B true TWI395425B (zh) 2013-05-01

Family

ID=41725419

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098108538A TWI395425B (zh) 2008-09-02 2009-03-17 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路

Country Status (2)

Country Link
US (1) US8184760B2 (zh)
TW (1) TWI395425B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374216B2 (en) 2013-03-20 2016-06-21 Qualcomm Incorporated Multi-wire open-drain link with data symbol transition based clocking
US9313058B2 (en) 2013-03-07 2016-04-12 Qualcomm Incorporated Compact and fast N-factorial single data rate clock and data recovery circuits
US9337997B2 (en) 2013-03-07 2016-05-10 Qualcomm Incorporated Transcoding method for multi-wire signaling that embeds clock information in transition of signal state
US8643421B1 (en) 2013-03-12 2014-02-04 International Business Machines Corporation Implementing low power, single master-slave elastic buffer
TWI517681B (zh) * 2013-06-19 2016-01-11 晨星半導體股份有限公司 應用於數位音視頻編解碼技術標準系統之解碼方法及解碼裝置
US9735948B2 (en) 2013-10-03 2017-08-15 Qualcomm Incorporated Multi-lane N-factorial (N!) and other multi-wire communication systems
US9755818B2 (en) 2013-10-03 2017-09-05 Qualcomm Incorporated Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes
US9203599B2 (en) 2014-04-10 2015-12-01 Qualcomm Incorporated Multi-lane N-factorial (N!) and other multi-wire communication systems
CN108595355B (zh) * 2013-10-30 2021-05-25 英特尔公司 用于测量电路的物理单元中的等待时间的方法、装置和系统
CN109857692B (zh) * 2019-01-22 2023-06-02 华为技术有限公司 驱动器和数据传输方法
US11546128B2 (en) 2020-06-16 2023-01-03 SK Hynix Inc. Device and computing system including the device
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법
CN118503298B (zh) * 2024-07-18 2024-09-24 杭州新中大科技股份有限公司 基于双缓存的数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563891A (en) * 1995-09-05 1996-10-08 Industrial Technology Research Institute Waiting time jitter reduction by synchronizer stuffing threshold modulation
US20050002403A1 (en) * 2003-07-01 2005-01-06 Nortel Networks Limited Digital processing of sonet pointers
US20070260782A1 (en) * 2006-03-28 2007-11-08 Integrated Device Technology, Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities
TW200746729A (en) * 2005-09-28 2007-12-16 Genesis Microchip Inc Adaptive reception techniques for over-sampled receivers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563891A (en) * 1995-09-05 1996-10-08 Industrial Technology Research Institute Waiting time jitter reduction by synchronizer stuffing threshold modulation
US20050002403A1 (en) * 2003-07-01 2005-01-06 Nortel Networks Limited Digital processing of sonet pointers
TW200746729A (en) * 2005-09-28 2007-12-16 Genesis Microchip Inc Adaptive reception techniques for over-sampled receivers
US20070260782A1 (en) * 2006-03-28 2007-11-08 Integrated Device Technology, Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities

Also Published As

Publication number Publication date
US20100054385A1 (en) 2010-03-04
TW201012114A (en) 2010-03-16
US8184760B2 (en) 2012-05-22

Similar Documents

Publication Publication Date Title
TWI395425B (zh) 用以實現虛擬大小為m之彈性緩衝器之方法、虛擬大小為m之彈性緩衝器電路及積體電路
EP2976853B1 (en) Multi-wire open-drain link with data symbol transition based clocking
US9594396B2 (en) Synchronizing data transfer between a first clock domain and second clock domain
US7729427B2 (en) Pseudo-synchronous one wire bidirectional bus interface
US20090323728A1 (en) Asynchronous data fifo that provides uninterrupted data flow
US20070214291A1 (en) Elasticity buffer for streaming data
TW201521408A (zh) 以最小的實體層改變及沒有協定改變而增強行動產業處理器介面界定實體層介面之鏈結速率之方法
KR20150121718A (ko) 다중 와이어 데이터 신호들을 위한 클록 복원 회로
CN110247656A (zh) 用于锁相环的损坏的时钟检测电路
CN100465934C (zh) 一种在异步时钟域传输数据的装置及其方法
CN107771331A (zh) 独立式uark brk检测
US7069481B2 (en) Data recovery circuit for minimizing power consumption by non-integer times oversampling
CN102915281B (zh) 一种高可靠的航天器帧格式数据队列缓存系统及缓存方法
US6516420B1 (en) Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
US20080187080A1 (en) Oversampling data recovery circuit and method for a receiver
JP4917901B2 (ja) 受信装置
CN100588149C (zh) 将目标时钟域中发生的目标事件传递到监控时钟域的电路
CN102754407B (zh) 串行接收机及其方法与通信系统
US6907541B1 (en) System for recovering received data with a reliable gapped clock signal after reading the data from memory using enable and local clock signals
US8570078B2 (en) CDR circuit
US7696801B2 (en) Reset method for clock triggering digital circuit and related signal generating apparatus utilizing the reset method
KR20100005948A (ko) 싱글 비트 블라인드 오버샘플링 데이터 복원회로 및복원방법
EP0396669B1 (en) Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
KR20170067745A (ko) 빌트-인 흐름 제어를 갖는 클록-프리 듀얼-데이터-레이트 링크
CN116384299A (zh) 一种时钟数据恢复的方法、系统、设备和存储介质

Legal Events

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