TW201403317A - 彈性緩衝器模組及傳輸介面之彈性緩衝方法 - Google Patents

彈性緩衝器模組及傳輸介面之彈性緩衝方法 Download PDF

Info

Publication number
TW201403317A
TW201403317A TW101125125A TW101125125A TW201403317A TW 201403317 A TW201403317 A TW 201403317A TW 101125125 A TW101125125 A TW 101125125A TW 101125125 A TW101125125 A TW 101125125A TW 201403317 A TW201403317 A TW 201403317A
Authority
TW
Taiwan
Prior art keywords
data sequence
data
auxiliary
memory unit
read
Prior art date
Application number
TW101125125A
Other languages
English (en)
Other versions
TWI484333B (zh
Inventor
Chih-Ming Chen
Original Assignee
Phison Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW101125125A priority Critical patent/TWI484333B/zh
Priority to US13/597,258 priority patent/US9311045B2/en
Publication of TW201403317A publication Critical patent/TW201403317A/zh
Application granted granted Critical
Publication of TWI484333B publication Critical patent/TWI484333B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

一種彈性緩衝器模組,包括一記憶體單元、一寫入控制模組以及一讀取控制模組。記憶體單元用以接收、儲存並輸出來自傳輸側的一資料序列。寫入控制模組用以移除資料序列中至少部份的輔助資料,並且將移除輔助資料後的資料序列寫入至記憶體單元。讀取控制模組用以讀取記憶體單元所儲存的資料序列,並且添加輔助資料至資料序列來調整傳輸側的寫入狀態與接收側的讀取狀態。另外,一種傳輸介面之彈性緩衝方法亦被提出。

Description

彈性緩衝器模組及傳輸介面之彈性緩衝方法
本發明是有關於一種緩衝器模組及資料緩衝方法,且特別是有關於一種傳輸介面之彈性緩衝器模組及其資料緩衝方法。
高速傳輸介面已廣泛應用在電腦或高效能晶片間之傳輸,例如高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)、通用序列匯流排3.0(Universal Serial Bus 3.0,USB 3.0)等。此等高速傳輸介面通常係由兩對低壓之差動對(differential pair)所組成,其一用於傳輸,另一則用於接收。通常靠近處理器的端點,稱作上游埠(upstream port,UP),遠離處理器的端點,稱為下游埠(downstream port,DP)。上游埠之傳輸端連接下游埠之接收端;上游埠之接收端連接下游埠之傳輸端。
為了提高傳統並列(parallel)介面的傳輸速度,高速傳輸介面一般會採用低壓之差動傳輸,利用差動特性消弭雜訊干擾,並且降低電壓而提高傳輸速度,以達到每秒十億位元(gigabyte per second,Gbps)的速度等級。此外,高速傳輸介面通常具備一邏輯電路來將高速傳輸介面之類比訊號轉成其他層級(layer)協定的介面電路。其中,接收端之邏輯電路需處理接收端與另一埠的傳輸端間之時序不同步的問題。時序不同步造成的原因,除了UP與RX不同電 路系統外,還有展頻控制(spread spectrum clocking,SSC)與缺乏共用時脈。規格上,通常定義一補償符號(symbol)來作為輔助資料,以提供速度調整的彈性,此輔助資料通常不具備資料訊息。功能上,當接收端的速度慢於傳輸端,以致於接收端來不及處理傳輸端的資料時,接收端電路便將輔助資料直接由原本的資料序列移除,以避免溢位(overflow)。反之,當接收端的速度快於傳輸端,傳輸端來不及提供接收端資料時,接收端電路便在原本資料序列中,增加輔助資料,以避免欠位(underflow)。
在習知技術中,一般解決資料序列速度差異的方法,通常會設計一個彈性緩衝器,並在此彈性緩衝器上,增加緩衝管理電路,以避免欠位和溢位的情形發生。然而,習知的資料緩衝方法通常需要較大的緩衝空間,並且可容忍的傳輸端與接收端的速度差較小。
本發明提供一種彈性緩衝器模組,其以較小的緩衝空間即可達到資料緩衝之目的,並且可容忍的傳輸端與接收端的速度差較大。
本發明提供一種傳輸介面之彈性緩衝方法,其以較小的緩衝空間即可達到資料緩衝之目的,並且可容忍的傳輸端與接收端的速度差較大。
本發明提供一種彈性緩衝器模組,包括一記憶體單元、一寫入控制模組以及一讀取控制模組。記憶體單元配 置於一傳輸側與一接收側之間,用以接收、儲存並輸出來自傳輸側的一資料序列。寫入控制模組配置於傳輸側,用以移除資料序列中至少部份的輔助資料,並且將移除輔助資料後的資料序列寫入至記憶體單元。讀取控制模組配置於接收側,用以讀取記憶體單元所儲存的資料序列,並且添加輔助資料至資料序列來調整傳輸側的一寫入狀態與接收側的一讀取狀態。
在本發明之一實施例中,上述之彈性緩衝器模組更包括一狀態檢查單元。狀態檢查單元用以檢查記憶體單元之一運作狀態。並且,狀態檢查單元將運作狀態之檢查結果輸出至讀取控制模組。讀取控制模組根據檢查結果來添加輔助資料至資料序列。
在本發明之一實施例中,上述之狀態檢查單元將檢查結果輸出至寫入控制模組。寫入控制模組根據檢查結果來移除資料序列中的輔助資料。
在本發明之一實施例中,上述之狀態檢查單元是根據傳輸側的一寫入狀態與接收側的一讀取狀態來檢查記憶體單元之運作狀態。
在本發明之一實施例中,上述之寫入控制模組包括一寫入指標產生單元以及一寫入控制單元。寫入指標產生單元用以產生一寫入指標。寫入指標指示資料序列寫入至記憶體單元的位址。寫入控制單元用以接收資料序列,移除資料序列中的輔助資料,並且根據寫入指標來將移除輔助資料後的資料序列寫入至記憶體單元。
在本發明之一實施例中,上述之讀取控制模組包括一讀取指標產生單元以及一讀取控制單元。讀取指標產生單元用以產生一讀取指標。讀取指標指示資料序列儲存在記憶體單元的位址。讀取控制單元用以根據讀取指標來讀取記憶體單元所儲存的資料序列,並且添加輔助資料至資料序列。
在本發明之一實施例中,上述之彈性緩衝器模組更包括一輔助判斷單元。輔助判斷單元用以記錄被移除的輔助資料的一第一資訊以及被添加的輔助資料的一第二資訊。並且,輔助判斷單元根據第一資訊及第二資訊來判斷讀取控制模組所輸出的資料序列的輔助資料之整體是被添加還是被移除,並且將一判斷結果輸出至配置於接收側的一控制器。
在本發明之一實施例中,上述之輔助判斷單元包括一第一計數單元、一第二計數單元以及一補償檢查單元。第一計數單元耦接至寫入控制模組,用以計數被移除的輔助資料的一第一數量。第二計數單元耦接至讀取控制模組,用以計數被添加的輔助資料的一第二數量。補償檢查單元用以根據第一數量及第二數量來判斷讀取控制模組所輸出的資料序列的輔助資料之整體是被添加還是被移除,並且將判斷結果輸出至配置於接收側的控制器。
在本發明之一實施例中,上述之輔助資料係一傳輸介面標準所定義的跳躍順序組(skip ordered set)中的跳躍符號(skip symbol)。
在本發明之一實施例中,上述之傳輸介面標準係序列先進附件(Serial Advanced Technology Attachment,SATA)標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準或通用序列匯流排3.0(Universal Serial Bus 3.0,USB 3.0)標準。
在本發明之一實施例中,上述之記憶體單元在寫入狀態與讀取狀態的操作下維持在一非溢位狀態。
在本發明之一實施例中,上述之讀取控制模組藉由添加輔助資料至資料序列來調整該傳輸側的一寫入速度與接收側的一讀取速度的差值在一容許範圍內。
本發明提供一種傳輸介面之彈性緩衝方法。此傳輸介面用以將一資料序列從一傳輸側傳遞至一接收側。彈性緩衝方法包括如下步驟。接收來自傳輸側的資料序列。移除資料序列中至少部份的輔助資料,並且將移除輔助資料後的資料序列寫入至一記憶體單元。讀取記憶體單元所儲存的資料序列。添加輔助資料至資料序列。
在本發明之一實施例中,上述之彈性緩衝方法更包括根據傳輸側的一寫入狀態與接收側的一讀取狀態來檢查記憶體單元之一運作狀態。
在本發明之一實施例中,上述之移除資料序列中的輔助資料的步驟係根據檢查結果來移除資料序列中的輔助資料。
在本發明之一實施例中,上述之添加輔助資料至資料序列的步驟係根據檢查結果來添加輔助資料至資料序列。
在本發明之一實施例中,上述之將移除輔助資料後的資料序列寫入至記憶體單元的步驟包括如下步驟。產生一寫入指標。根據寫入指標來將移除輔助資料後的資料序列寫入至記憶體單元。寫入指標指示資料序列寫入至記憶體單元的位址。
在本發明之一實施例中,上述之讀取記憶體單元所儲存的資料序列的步驟包括如下步驟。產生一讀取指標。根據讀取指標來讀取記憶體單元所儲存的資料序列。讀取指標指示資料序列儲存在記憶體單元的位址。
在本發明之一實施例中,上述之彈性緩衝方法更包括如下步驟。記錄被移除的輔助資料的一第一資訊以及被添加的輔助資料的一第二資訊。根據第一資訊及第二資訊來判斷讀取控制模組所輸出的資料序列的輔助資料之整體是被添加還是被移除。將一判斷結果輸出至配置於接收側的一控制器。
在本發明之一實施例中,上述之記錄第一資訊以及第二資訊的步驟包括如下步驟。計數被移除的輔助資料的一第一數量。計數被添加的輔助資料的一第二數量。
在本發明之一實施例中,上述之判斷資料序列的輔助資料之整體是被添加還是被移除的步驟包括根據第一數量及第二數量來判斷讀取控制模組所輸出的資料序列的輔助資料之整體是被添加還是被移除。
在本發明之一實施例中,上述之添加輔助資料至資料序列的步驟包括添加輔助資料至資料序列來調整傳輸側的 一寫入速度與接收側的一讀取速度的差值在一容許範圍內。
基於上述,在本發明之範例實施例中,彈性緩衝器模組在資料寫入至記憶體單元前即移除資料序列中的部分輔助資料,因此記憶體單元以較小的緩衝空間即可達到資料緩衝之目的,並且可容忍的傳輸端與接收端的速度差較大。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1繪示本發明一相關技術之彈性緩衝器模組100的概要示意圖。請參考圖1,在此例中,一個輔助資料調整單元110置於彈性緩衝器120之寫入端,用以根據寫入位址AP_W將寫入資料D_W依序寫入其緩衝區。另一方面,彈性緩衝器模組100更包括一個狀態檢查單元130,其用以監控傳輸側TX的資料寫入狀態與接收側RX的資料讀取狀態,並且據此判斷彈性緩衝器120之運作狀態目前是處於接近欠位狀態或溢位狀態。此處狀態檢查單元130所監控的狀態例如是傳輸側TX的資料寫入速度與接收側RX的資料讀取速度。通常,輔助資料調整單元110會根據狀態檢查單元130的判斷結果,即時地移除多餘的輔助資料或添加輔助資料,以維持傳輸側TX的資料寫入速度與接收側RX的資料讀取速度在一安全值內。如圖1所示,在緩衝區中,兩資料S1、S2之間包括了多個輔助資料CS-1 至CS-N。然而,此作法能容忍之傳輸側TX與接收側RX的速度差較小,而且所需之緩衝區空間較大。另外,在此例中,輔助資料調整單元110也可以置於緩衝區之讀出端。
圖2繪示本發明一實施例之彈性緩衝器模組200的概要示意圖。請參考圖2,本實施例之彈性緩衝器模組200包括一記憶體單元210、一寫入控制模組220、一讀取控制模組230以及一狀態檢查單元240。在本實施例中,彈性緩衝器模組200至少適用於一記憶體儲存裝置的連接器(未繪示),以作為傳輸資料的彈性緩衝之用。此記憶體儲存裝置的連接器是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器亦可以是符合電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
在本實施例中,記憶體單元210配置於傳輸側TX與接收側RX之間。記憶體單元210包括多個緩衝區,用以接收、儲存並輸出來自傳輸側TX的資料序列D_W,以作 為傳輸介面的資料緩衝之用,其具體實施方式包括以先進先出(first-in-first-out,FIFO)電路來實施之。因此,來自傳輸側TX的資料序列D_W係根據記憶體單元210所接收的次序依序被儲存在其緩衝區塊,以讓後端對應的資料接收裝置,例如讀取控制模組230,也根據此一次序依序讀取資料序列D_R。
在本實施例中,寫入控制模組220配置於傳輸側TX。一般而言,本實施例之寫入控制模組220在接收到輔助符號後即會將其移除,除非狀態檢查單元240之檢查結果為記憶體單元210處於一不正常狀態,例如,讀寫指標太接近時,此時寫入控制模組220會暫停移除輔助符號。上述操作的其中一種實施態樣包括寫入控制模組220根據狀態檢查單元240所提供的資訊來移除資料序列D_W中的至少部份的輔助資料,並且根據寫入指標將移除輔助資料後的資料序列D_W’寫入至記憶體單元210的緩衝區。此處的輔助資料除了補償符號以外,亦可為資料序列中形式上所需要的封包資料。在此例中,寫入至緩衝區的資料序列D_W’例如包括圖1的資料S1、CS-1、S2。因此,相較於圖1的相關技術,本實施例之寫入控制模組220將原本的多個輔助資料CS-1至CS-N轉換為單一輔助資料CS-1。也就是說,寫入控制模組220在記憶體單元210的寫入端將連續的輔助資料CS-1至CS-N至少部份移除或重新編輯,僅留下部份輔助資料,例如單一輔助資料CS-1。惟應注意者係,所留下的單一輔助資料在此例中是以輔助資料 CS-1來例示說明,本發明並不限於此。在其他實施例中,所留下的輔助資料之數量並不限於一個,並且也不限於是第一個輔助資料CS-1。根據本範例實施例所的揭露的精神,寫入控制模組220只要移除至少一輔助資料即可減少緩衝區的空間,並不限於所移除的對象及數量。
在本實施例中,讀取控制模組230配置於接收側RX,用以讀取記憶體單元230所儲存的資料序列D_R,並且根據狀態檢查單元240所提供的資訊來添加輔助資料至資料序列D_R,其功能至少在於用以調整傳輸側TX的一寫入狀態與接收側的一讀取狀態RX。在此例中,讀取控制模組230係調整傳輸側TX的資料寫入速度與接收側RX的資料讀取速度的差值在一容許範圍內。其中,在本範例實施例中的寫入狀態,例如是指一寫入速度或寫入位址,而讀取狀態,例如是指一讀取速度或讀取位址,但不應以此為限。
在本實施例中,狀態檢查單元240用以根據傳輸側TX的寫入速度與接收側RX的讀取速度來檢查記憶體單元210是否維持在非溢位狀態,亦即運作穩定或是在欠位狀態,並且將檢查結果輸出至寫入控制模組220及讀取控制模組230。另外,本實施例之輔助資料例如補償符號,其係一傳輸介面標準所定義的跳躍順序組中的跳躍符號。上述之傳輸介面標準至少包括SATA標準、PCI Express標準或USB 3.0標準。舉例而言,USB 3.0標準所定義的跳躍順序組包括兩個跳躍符號,在傳送側TX每次需傳送至少 一組跳躍順序組。一般而言,USB 3.0的傳輸介面之傳送側TX的跳躍順序組會在2至5組之間。也就是說,跳躍符號有4至10個。另一方面,PCI Express標準所定義跳躍順序組包括一個起始訊號,例如COM,加上兩個跳躍符號,在傳送端每次需傳送一組跳躍順序組。一般而言,PCI Express的傳輸介面之傳送側TX的跳躍符號有2至5個。
簡單來說,本範例實施例將原本的多個輔助資料轉換為單一輔助資料。在記憶體單元210的寫入端,寫入控制模組220將連續之輔助資料移除,以留下單一輔助資料。在記憶體單元210的讀取端,增加一讀取控制模組230,用以調整傳送側TX與接收側RX傳輸速度的不同。由於資料進入緩衝區前,其序列中的部分輔助資料已被移除,因此狀態檢查單元240所輸出的檢查結果係記憶體單元210處於欠位狀態,因此在讀取端之寫入控制模組220可動態地增加輔助資料,使得緩衝區回到安全準位,亦即使得資料寫入速度與接收側RX的資料讀取速度的差值在容許範圍內。在本範例實施例中,連續之輔助資料其呈現在資料序列的狀態中至少包括兩種不同的實施態樣,包括連續無間斷的輔助資料,其資料序列的態樣例如是D0、CS、CS、D1,以及一固定間隔內之輔助資料,其資料序列的態樣例如是D0、CS、D1、D2、CS、D3等。其中,CS為輔助資料,D0至D3為所欲傳輸的資料。
在圖1的相關技術中,為了避免欠位或者溢位,彈性緩衝器120通常必須在安全臨界上,提供足夠資料緩衝區給傳 送側TX與接收側RX以處理傳輸速度的差異。本範例實施例由於記憶體單元210在寫入狀態與讀取狀態的調整下可以維持在非溢位狀態,因此緩衝區空間在設計時可不需考慮溢位狀態的發生,故緩衝區空間可為原本所需容量之一半。另外,本範例實施例由於傳送側TX的寫入控制模組220可將輔助資料移除,等同於將傳送側TX之寫入速度降頻,因此可容忍傳送側TX有較高的操作頻率。
在本發明之範例實施例中,彈性緩衝器模組也可更包括一輔助判斷單元,以在資料緩衝過程中,記錄所移除的禍所添加的輔助資料的數量,以提供輔助資料之整體為增加或減少的資訊。
圖3繪示本發明另一實施例之彈性緩衝器模組300的概要示意圖。請參考圖2及圖3,本實施例之彈性緩衝器模組300類似於圖2的彈性緩衝器模組200,惟兩者之間主要的差異例如在於彈性緩衝器模組300更包括一輔助判斷單元350,詳細說明如下。
在本實施例中,寫入控制模組320根據狀態檢查單元340的檢查結果,例如記憶體單元310為欠位狀態或接近溢位狀態,來移除資料序列D_W中的輔助資料。讀取控制模組330也是根據狀態檢查單元340檢查結果來添加輔助資料至資料序列D_R。為了判斷讀取控制模組330所輸出的資料序列D_R的輔助資料之整體相較於資料序列D_W是被添加還是被移除,輔助判斷單元350用以記錄被移除的輔助資料的數量以及被添加的輔助資料的數量,並 且據此判斷輔助資料之整體是被添加還是被移除,以將一判斷結果輸出至配置於接收側的一控制器,用以提供此控制器做為錯誤檢測之參考數據。此控制器例如是記憶體儲存裝置的記憶體控制器(未繪示)。
圖4繪示圖3實施例之彈性緩衝器模組300的概要示意圖。請參考圖4,本實施例之寫入控制模組320包括一寫入控制單元322以及一寫入指標產生單元324。寫入控制單元322用以接收資料序列D_W。此處的資料序列D_W可能包括多個輔助資料CS-1至CS-N。寫入控制單元322根據狀態檢查單元340的檢查結果來移除資料序列D_W中的部分輔助資料。接著,寫入控制單元322根據一寫入指標AP_W來將移除輔助資料後的資料序列D_W’寫入至記憶體單元的緩衝區。在此例中,移除輔助資料後的資料序列D_W’例如包括S1、CS-1、S2。也就是說,寫入控制單元322將連續的多個輔助資料CS-1至CS-N移除,僅留下單一個輔助資料CS-1,以節省緩衝空間。寫入指標產生單元324用以產生寫入指標AP_W。寫入指標AP_W指示資料序列D_W’寫入至記憶體單元310的位址。
在本實施例中,讀取控制模組330包括一讀取控制單元332以及一讀取指標產生單元334。讀取控制單元332用以根據一讀取指標AP_R來讀取記憶體單元310的緩衝區所儲存的資料序列,例如為S1、CS-1、S2,且其讀取方式遵循先進先出規則。並且,讀取控制單元332根據狀態檢查單元340的檢查結果來添加輔助資料至資料序列 D_R。讀取指標產生單元334用以產生讀取指標AP_R。讀取指標AP_R指示資料序列儲存在記憶體單元310的位址。
在本實施例中,輔助判斷單元350包括一第一計數單元352、一第二計數單元354以及一補償檢查單元356。第一計數單元352耦接至寫入控制單元322,用以計數被移除的輔助資料的數量。第二計數單元354耦接至讀取控制單元332,用以計數被添加的輔助資料的數量。補償檢查單元用以根據被移除的輔助資料的數量及被添加的輔助資料的數量來判斷讀取控制單元322所輸出的資料序列D_R的輔助資料之整體,相較於資料序列D_W是被添加還是被移除,並且將判斷結果輸出至配置於接收側RX的控制器。
圖5繪示本發明一實施例之傳輸介面之彈性緩衝方法的步驟流程圖。請同時參照圖2及圖5,本實施例之彈性緩衝方法例如適用於上述範例實施例所揭露的任一彈性緩衝模組,此方法包括如下步驟。在步驟S500中,彈性緩衝器模組200接收來自傳輸側TX的資料序列D_W。接著,在步驟S510中,彈性緩衝器模組200移除資料序列D_W中至少部分的輔助資料,並且將移除輔助資料後的資料序列D_W’寫入至其自身的記憶體單元210。之後,在步驟S520中,彈性緩衝器模組200讀取記憶體單元210所儲存的資料序列D_R。繼之,在步驟S530中,彈性緩衝器模組200添加輔助資料至資料序列D_R來調整傳輸側 TX的寫入狀態與接收側RX的讀取狀態。
圖6繪示本發明另一實施例之傳輸介面之彈性緩衝方法的步驟流程圖。請同時參照圖3及圖6,本實施例之彈性緩衝方法例如適用於上述圖3實施例所揭露的彈性緩衝模組300,此方法包括如下步驟。在步驟S600中,彈性緩衝器模組300接收來自傳輸側TX的資料序列D_W,並且產生一寫入指標AP_W。接著,在步驟S610中,彈性緩衝器模組300移除資料序列D_W中至少部分的輔助資料,並且根據寫入指標AP_W來將移除輔助資料後的資料序列D_W’寫入至其自身的記憶體單元310。於此同時,在步驟S620中,彈性緩衝器模組300根據傳輸側TX的寫入狀態與接收側RX的讀取狀態來檢查記憶體單元310的運作狀態是處於接近溢位狀態或欠位狀態。之後,在步驟S630中,彈性緩衝器模組300產生一讀取指標AP_R,並且據此讀取記憶體單元310所儲存的資料序列D_R。繼之,在步驟S640中,彈性緩衝器模組300添加輔助資料至資料序列D_R來調整傳輸側TX的寫入狀態與接收側RX的讀取狀態。
此外,為了獲得資料序列D_R的輔助資料之整體是被添加還是被移除的資訊,本實施例之彈性緩衝方法更包括在步驟S650中,彈性緩衝器模組300記錄被移除的輔助資料的一第一資訊以及被添加的輔助資料的一第二資訊。接著,在步驟S660中,彈性緩衝器模組300根據第一資訊及第二資訊來判斷讀取控制模組330所輸出的資料序列 D_R的輔助資料之整體是被添加還是被移除。之後,在步驟S670中,彈性緩衝器模組300再將判斷結果輸出至配置於接收側RX的控制器。
應注意的是,本實施例之步驟S620及步驟S650至S670在彈性緩衝方法的操作期間是可以隨時進行的,步驟S620及步驟S650至S670在此例中的執行順序僅用以例示說明,並不用以限制本發明。
另外,本發明之實施例的彈性緩衝方法可以由圖2至圖4實施例之敘述中獲致足夠的教示、建議與實施說明,因此不再贅述。
綜上所述,在本發明之範例實施例中,彈性緩衝器模組在資料寫入至記憶體單元前即移除資料序列中的部分輔助資料,因此記憶體單元以較小的緩衝空間即可達到資料緩衝之目的。並且,由於傳送側的寫入控制模組持續地將輔助資料移除,等同於將傳送側之寫入速度降頻,因此可容忍傳送側有較高的操作頻率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、200、300‧‧‧彈性緩衝器模組
110‧‧‧補償符號調整單元
120‧‧‧彈性緩衝器
130、240、340‧‧‧狀態檢查單元
210、310‧‧‧記憶體單元
220、320‧‧‧寫入控制模組
230、330‧‧‧讀取控制模組
322‧‧‧寫入控制單元
324‧‧‧寫入指標產生單元
332‧‧‧讀取控制單元
334‧‧‧讀取指標產生單元
350‧‧‧輔助判斷單元
352‧‧‧第一計數單元
354‧‧‧第二計數單元
356‧‧‧補償檢查單元
RX‧‧‧接收側
TX‧‧‧傳輸側
AP_W‧‧‧寫入位址
D_W‧‧‧寫入資料
D_W’‧‧‧移除部份補償符號後的資料序列
AP_R‧‧‧讀取位址
D_R‧‧‧讀取資料
S500、S510、S520、S530、S600、S610、S620、S630、S640、S650、S660、S670‧‧‧傳輸介面之彈性緩衝方法的步驟
圖1繪示本發明一相關技術之彈性緩衝器模組100的概要示意圖。
圖2繪示本發明一實施例之彈性緩衝器模組200的概要示意圖。
圖3繪示本發明另一實施例之彈性緩衝器模組300的概要示意圖。
圖4繪示圖3實施例之彈性緩衝器模組300的概要示意圖。
圖5繪示本發明一實施例之傳輸介面之彈性緩衝方法的步驟流程圖。
圖6繪示本發明另一實施例之傳輸介面之彈性緩衝方法的步驟流程圖。
200‧‧‧彈性緩衝器模組
210‧‧‧記憶體單元
220‧‧‧寫入控制模組
230‧‧‧讀取控制模組
240‧‧‧狀態檢查單元
RX‧‧‧接收側
TX‧‧‧傳輸側
D_W‧‧‧寫入資料
D_W’‧‧‧移除部份輔助資料後的資料序列
D_R‧‧‧讀取資料

Claims (25)

  1. 一種彈性緩衝器模組,包括:一記憶體單元,配置於一傳輸側與一接收側之間,用以接收、儲存並輸出來自該傳輸側的一資料序列;一寫入控制模組,配置於該傳輸側,用以移除該資料序列中至少部份的輔助資料,並且將移除輔助資料後的該資料序列寫入至該記憶體單元;以及一讀取控制模組,配置於該接收側,用以讀取該記憶體單元所儲存的該資料序列,並且添加輔助資料至該資料序列。
  2. 如申請專利範圍第1項所述之彈性緩衝器模組,更包括:一狀態檢查單元,用以檢查該記憶體單元之一運作狀態,並且該狀態檢查單元將該運作狀態之檢查結果輸出至該讀取控制模組,該讀取控制模組根據該檢查結果來添加輔助資料至該資料序列。
  3. 如申請專利範圍第2項所述之彈性緩衝器模組,其中該狀態檢查單元將該檢查結果輸出至該寫入控制模組,該寫入控制模組根據該檢查結果來移除該資料序列中的輔助資料。
  4. 如申請專利範圍第2項所述之彈性緩衝器模組,其中該狀態檢查單元是根據該傳輸側的一寫入狀態與該接收側的一讀取狀態來檢查該記憶體單元之該運作狀態。
  5. 如申請專利範圍第1項所述之彈性緩衝器模組,其 中該寫入控制模組包括:一寫入指標產生單元,用以產生一寫入指標,其中該寫入指標指示該資料序列寫入至該記憶體單元的位址;以及一寫入控制單元,用以接收該資料序列,移除該資料序列中的輔助資料,並且根據該寫入指標來將移除輔助資料後的該資料序列寫入至該記憶體單元。
  6. 如申請專利範圍第1項所述之彈性緩衝器模組,其中該讀取控制模組包括:一讀取指標產生單元,用以產生一讀取指標,其中該讀取指標指示該資料序列儲存在該記憶體單元的位址;以及一讀取控制單元,用以根據該讀取指標來讀取該記憶體單元所儲存的該資料序列,並且添加輔助資料至該資料序列。
  7. 如申請專利範圍第1項所述之彈性緩衝器模組,更包括:一輔助判斷單元,用以記錄被移除的輔助資料的一第一資訊以及被添加的輔助資料的一第二資訊,並且根據該第一資訊及該第二資訊來判斷該讀取控制模組所輸出的該資料序列的輔助資料之整體是被添加還是被移除,並且將一判斷結果輸出至配置於該接收側的一控制器。
  8. 如申請專利範圍第7項所述之彈性緩衝器模組,其中該輔助判斷單元包括: 一第一計數單元,耦接至該寫入控制模組,用以計數被移除的輔助資料的一第一數量;一第二計數單元,耦接至該讀取控制模組,用以計數被添加的輔助資料的一第二數量;以及一補償檢查單元,用以根據該第一數量及該第二數量來判斷該讀取控制模組所輸出的該資料序列的輔助資料之整體是被添加還是被移除,並且將該判斷結果輸出至配置於該接收側的該控制器。
  9. 如申請專利範圍第1項所述之彈性緩衝器模組,其中輔助資料係一傳輸介面標準所定義的跳躍順序組中的跳躍符號。
  10. 如申請專利範圍第9項所述之彈性緩衝器模組,其中該傳輸介面標準係序列先進附件標準、高速周邊零件連接介面標準或通用序列匯流排3.0標準。
  11. 如申請專利範圍第1項所述之彈性緩衝器模組,其中該記憶體單元維持在一非溢位狀態(non-overflow)。
  12. 如申請專利範圍第1項所述之彈性緩衝器模組,其中該讀取控制模組藉由添加輔助資料至該資料序列來調整該傳輸側的一寫入速度與該接收側的一讀取速度的差值在一容許範圍內。
  13. 一種傳輸介面之彈性緩衝方法,該傳輸介面用以將一資料序列從一傳輸側傳遞至一接收側,該彈性緩衝方法包括:接收來自該傳輸側的該資料序列; 移除該資料序列中至少部份的輔助資料,並且將移除輔助資料後的該資料序列寫入至一記憶體單元;讀取該記憶體單元所儲存的該資料序列;以及添加輔助資料至該資料序列。
  14. 如申請專利範圍第13項所述之彈性緩衝方法,更包括:根據該傳輸側的一寫入狀態與該接收側的一讀取狀態來檢查該記憶體單元之一運作狀態。
  15. 如申請專利範圍第14項所述之彈性緩衝方法,其中移除該資料序列中的輔助資料的步驟係根據該檢查結果來移除該資料序列中的輔助資料。
  16. 如申請專利範圍第14項所述之彈性緩衝方法,其中添加輔助資料至該資料序列的步驟係根據該檢查結果來添加輔助資料至該資料序列。
  17. 如申請專利範圍第13項所述之彈性緩衝方法,其中將移除輔助資料後的該資料序列寫入至該記憶體單元的步驟包括:產生一寫入指標;以及根據該寫入指標來將移除輔助資料後的該資料序列寫入至該記憶體單元,其中該寫入指標指示該資料序列寫入至該記憶體單元的位址。
  18. 如申請專利範圍第13項所述之彈性緩衝方法,其中讀取該記憶體單元所儲存的該資料序列的步驟包括: 產生一讀取指標;以及根據該讀取指標來讀取該記憶體單元所儲存的該資料序列,其中該讀取指標指示該資料序列儲存在該記憶體單元的位址。
  19. 如申請專利範圍第13項所述之彈性緩衝方法,更包括:記錄被移除的輔助資料的一第一資訊以及被添加的輔助資料的一第二資訊;以及根據該第一資訊及該第二資訊來判斷該讀取控制模組所輸出的該資料序列的輔助資料之整體是被添加還是被移除;將一判斷結果輸出至配置於該接收側的一控制器。
  20. 如申請專利範圍第19項所述之彈性緩衝方法,其中記錄該第一資訊以及該第二資訊的步驟包括:計數被移除的輔助資料的一第一數量;以及計數被添加的輔助資料的一第二數量。
  21. 如申請專利範圍第20項所述之彈性緩衝方法,其中判斷該資料序列的輔助資料之整體是被添加還是被移除的步驟包括:根據該第一數量及該第二數量來判斷該讀取控制模組所輸出的該資料序列的輔助資料之整體是被添加還是被移除。
  22. 如申請專利範圍第13項所述之彈性緩衝方法,其 中輔助資料係一傳輸介面標準所定義的跳躍順序組中的跳躍符號。
  23. 如申請專利範圍第22項所述之彈性緩衝方法,其中該傳輸介面標準係序列先進附件標準、高速周邊零件連接介面標準或通用序列匯流排3.0標準。
  24. 如申請專利範圍第13項所述之彈性緩衝方法,其中該記憶體單元在該寫入狀態與該讀取狀態的操作下維持在一非溢位狀態。
  25. 如申請專利範圍第13項所述之彈性緩衝方法,其中添加輔助資料至該資料序列的步驟包括:添加輔助資料至該資料序列來調整該傳輸側的一寫入速度與該接收側的一讀取速度的差值在一容許範圍內。
TW101125125A 2012-07-12 2012-07-12 彈性緩衝器模組及傳輸介面之彈性緩衝方法 TWI484333B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101125125A TWI484333B (zh) 2012-07-12 2012-07-12 彈性緩衝器模組及傳輸介面之彈性緩衝方法
US13/597,258 US9311045B2 (en) 2012-07-12 2012-08-29 Elastic buffer module and elastic buffering method for transmission interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101125125A TWI484333B (zh) 2012-07-12 2012-07-12 彈性緩衝器模組及傳輸介面之彈性緩衝方法

Publications (2)

Publication Number Publication Date
TW201403317A true TW201403317A (zh) 2014-01-16
TWI484333B TWI484333B (zh) 2015-05-11

Family

ID=49913884

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101125125A TWI484333B (zh) 2012-07-12 2012-07-12 彈性緩衝器模組及傳輸介面之彈性緩衝方法

Country Status (2)

Country Link
US (1) US9311045B2 (zh)
TW (1) TWI484333B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484631A (zh) * 2015-08-25 2017-03-08 安徽大学 一种新弹性缓冲器结构及skp添加方法
CN114185822B (zh) * 2021-11-05 2024-05-24 北京智芯微电子科技有限公司 多指针弹性缓冲器、增删控制字符的方法及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3242890B2 (ja) * 1998-12-16 2001-12-25 株式会社ハギワラシスコム 記憶装置
CN1158809C (zh) 2000-01-20 2004-07-21 华为技术有限公司 通过数据总线发送数据的方法和接收数据的方法及装置
US6757348B1 (en) * 2001-08-28 2004-06-29 Crossroads Systems, Inc. High-speed coordinated multi-channel elastic buffer
BRPI0511783A (pt) * 2004-06-04 2008-01-15 Qualcomm Inc método e equipamento de interface com velocidade elevada de dados
US7801257B2 (en) * 2005-09-28 2010-09-21 Genesis Microchip Inc Adaptive reception techniques for over-sampled receivers
US20070255889A1 (en) * 2006-03-22 2007-11-01 Yoav Yogev Non-volatile memory device and method of operating the device
US8049145B1 (en) * 2006-04-19 2011-11-01 Agerson Rall Group, L.L.C. Semiconductor device having variable parameter selection based on temperature and test method
US7356442B1 (en) * 2006-10-05 2008-04-08 International Business Machines Corporation End of life prediction of flash memory
US8103942B2 (en) * 2007-05-24 2012-01-24 Fuji Xerox Co., Ltd. Data transmission apparatus, data transmission device, data reception device and data transmission system
US7590001B2 (en) * 2007-12-18 2009-09-15 Saifun Semiconductors Ltd. Flash memory with optimized write sector spares
JP5040773B2 (ja) * 2008-03-31 2012-10-03 富士通株式会社 メモリバッファ割当装置およびプログラム
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
JP5349256B2 (ja) * 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
JP2011164994A (ja) * 2010-02-10 2011-08-25 Toshiba Corp メモリシステム
KR101702356B1 (ko) * 2010-08-09 2017-02-03 삼성전자주식회사 전하 트랩형 플래시 메모리 장치 및 그것의 소거 방법
WO2013001631A1 (ja) * 2011-06-29 2013-01-03 富士通株式会社 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
US8645773B2 (en) * 2011-06-30 2014-02-04 Seagate Technology Llc Estimating temporal degradation of non-volatile solid-state memory

Also Published As

Publication number Publication date
US9311045B2 (en) 2016-04-12
US20140016417A1 (en) 2014-01-16
TWI484333B (zh) 2015-05-11

Similar Documents

Publication Publication Date Title
CN105320490B (zh) 用于异步fifo电路的方法和设备
US6192428B1 (en) Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
US8913705B2 (en) Dynamic skew correction in a multi-lane communication link
US9842067B2 (en) Processor communications
TWI528183B (zh) 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和系統
TWI484333B (zh) 彈性緩衝器模組及傳輸介面之彈性緩衝方法
US20120317380A1 (en) Device and method for a half-rate clock elasticity fifo
US9621331B2 (en) Adaptive offset synchronization of data based on ring buffers
US7757016B2 (en) Data transfer device, semiconductor integrated circuit, and processing status notification method
EP3671720B1 (en) Real-time on-chip data transfer system
EP2075707B1 (en) Method for transmitting audio streams and audio stream transmitting system thereof
US7822905B2 (en) Bridges capable of controlling data flushing and methods for flushing data
JP2008015856A (ja) データ転送制御装置及び電子機器
CN115699668A (zh) 宽弹性缓冲器
TWI826133B (zh) 資料傳輸裝置與跨時脈領域資料傳輸之方法
CN103577112B (zh) 弹性缓冲器模块及传输接口的弹性缓冲方法
US20090074122A1 (en) Data transmission method and system
TWI739294B (zh) 信號收發系統與方法
US20230115125A1 (en) Video and audio signal processing chip, video and audio signal processing device including the same, and video and audio signal processing method
JP4281367B2 (ja) データ転送制御回路、電子機器及びデータ転送制御方法
JP2008017250A (ja) データ転送制御装置及び電子機器
CN117955583A (zh) 用于互连协议的通道同步的方法、控制器以及存储装置
JP2005174090A (ja) データ転送回路
JP2009037492A (ja) データ転送制御装置及び方法
JP2006172395A (ja) データ転送制御装置及びデータ転送制御システム