彈性緩沖器模塊及傳輸接口的彈性緩沖方法
【專利摘要】一種彈性緩沖器模塊,包括一存儲器單元、一寫入控制模塊以及一讀取控制模塊。存儲器單元用以接收、儲存并輸出來自傳輸側的一數(shù)據(jù)序列。寫入控制模塊用以移除數(shù)據(jù)序列中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至存儲器單元。讀取控制模塊用以讀取存儲器單元所儲存的數(shù)據(jù)序列,并且添加輔助數(shù)據(jù)至數(shù)據(jù)序列來調整傳輸側的寫入狀態(tài)與接收側的讀取狀態(tài)。另外,一種傳輸接口的彈性緩沖方法亦被提出。
【專利說明】彈性緩沖器模塊及傳輸接口的彈性緩沖方法
【技術領域】
[0001]本發(fā)明是有關于一種緩沖器模塊及數(shù)據(jù)緩沖方法,且特別是有關于一種傳輸接口的彈性緩沖器模塊及其數(shù)據(jù)緩沖方法。
【背景技術】
[0002]高速傳輸接口已廣泛應用在計算機或高效能芯片間的傳輸,例如高速外圍零件連接接口 (Peripheral Component Interconnect Express, PCI Express)、通用序列總線
3.0 (Universal Serial Bus3.0,USB 3.0)等。此等高速傳輸接口通常是由兩對低壓的差動對(differential pair)所組成,其一用于傳輸,另一則用于接收。通??拷幚砥鞯亩它c,稱作上游端口(upstream port, UP),遠離處理器的端點,稱為下游端口(downstreamport,DP)。上游端口的傳輸端連接下游端口的接收端;上游端口的接收端連接下游端口的傳輸端。
[0003]為了提高傳統(tǒng)并列(parallel)接口的傳輸速度,高速傳輸接口一般會采用低壓的差動傳輸,利用差動特性消弭噪聲干擾,并且降低電壓而提高傳輸速度,以達到每秒千兆位(gigabyte per second,Gbps)的速度等級。此外,高速傳輸接口通常具備一邏輯電路來將高速傳輸接口的模擬信號轉成其它層級(layer)協(xié)議的接口電路。其中,接收端的邏輯電路需處理接收端與另一端口的傳輸端間的時序不同步的問題。時序不同步造成的原因,除了 UP與RX不同電路系統(tǒng)外,還有擴頻控制(spread spectrum clocking, SSC)與缺乏共享時鐘。規(guī)格上,通常定義一補償符號(symbol)來作為輔助數(shù)據(jù),以提供速度調整的彈性,此輔助數(shù)據(jù)通常不具備數(shù)據(jù)消息。功能上,當接收端的速度慢于傳輸端,以致于接收端來不及處理傳輸端的數(shù)據(jù)時,接收端電路便將輔助數(shù)據(jù)直接由原本的數(shù)據(jù)序列移除,以避免溢位(overflow)。反之,當接收端的速度快于傳輸端,傳輸端來不及提供接收端數(shù)據(jù)時,接收端電路便在原本數(shù)據(jù)序列中,增加輔助數(shù)據(jù),以避免欠位(underflow)。
[0004]在已知技術中,一般解決數(shù)據(jù)序列速度差異的方法,通常會設計一個彈性緩沖器,并在此彈性緩沖器上,增加緩沖管理電路,以避免欠位和溢位的情形發(fā)生。然而,已知的數(shù)據(jù)緩沖方法通常需要較大的緩沖空間,并且可容忍的傳輸端與接收端的速度差較小。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種彈性緩沖器模塊,其以較小的緩沖空間即可達到數(shù)據(jù)緩沖的目的,并且可容忍的傳輸端與接收端的速度差較大。
[0006]本發(fā)明提供一種傳輸接口的彈性緩沖方法,其以較小的緩沖空間即可達到數(shù)據(jù)緩沖的目的,并且可容忍的傳輸端與接收端的速度差較大。
[0007]本發(fā)明提供一種彈性緩沖器模塊,包括一存儲器單元、一寫入控制模塊以及一讀取控制模塊。存儲器單元配置于一傳輸側與一接收側之間,用以接收、儲存并輸出來自傳輸側的一數(shù)據(jù)序列。寫入控制模塊配置于傳輸側,用以移除數(shù)據(jù)序列中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至存儲器單元。讀取控制模塊配置于接收側,用以讀取存儲器單元所儲存的數(shù)據(jù)序列,并且添加輔助數(shù)據(jù)至數(shù)據(jù)序列來調整傳輸側的一寫入狀態(tài)與接收側的一讀取狀態(tài)。
[0008]在本發(fā)明的一實施例中,上述的彈性緩沖器模塊還包括一狀態(tài)檢查單元。狀態(tài)檢查單元用以檢查存儲器單元的一運作狀態(tài)。并且,狀態(tài)檢查單元將運作狀態(tài)的檢查結果輸出至讀取控制模塊。讀取控制模塊根據(jù)檢查結果來添加輔助數(shù)據(jù)至數(shù)據(jù)序列。
[0009]在本發(fā)明的一實施例中,上述的狀態(tài)檢查單元將檢查結果輸出至寫入控制模塊。寫入控制模塊根據(jù)檢查結果來移除數(shù)據(jù)序列中的輔助數(shù)據(jù)。
[0010]在本發(fā)明的一實施例中,上述的狀態(tài)檢查單元是根據(jù)傳輸側的一寫入狀態(tài)與接收側的一讀取狀態(tài)來檢查存儲器單元的運作狀態(tài)。
[0011]在本發(fā)明的一實施例中,上述的寫入控制模塊包括一寫入指針產(chǎn)生單元以及一寫入控制單元。寫入指針產(chǎn)生單元用以產(chǎn)生一寫入指針。寫入指針指示數(shù)據(jù)序列寫入至存儲器單元的地址。寫入控制單元用以接收數(shù)據(jù)序列,移除數(shù)據(jù)序列中的輔助數(shù)據(jù),并且根據(jù)寫入指針來將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至存儲器單元。
[0012]在本發(fā)明的一實施例中,上述的讀取控制模塊包括一讀取指針產(chǎn)生單元以及一讀取控制單元。讀取指針產(chǎn)生單元用以產(chǎn)生一讀取指針。讀取指針指示數(shù)據(jù)序列儲存在存儲器單元的地址。讀取控制單元用以根據(jù)讀取指針來讀取存儲器單元所儲存的數(shù)據(jù)序列,并且添加輔助數(shù)據(jù)至數(shù)據(jù)序列。
[0013]在本發(fā)明的一實施例中,上述的彈性緩沖器模塊還包括一輔助判斷單元。輔助判斷單元用以記錄被移除的輔助數(shù)據(jù)的一第一信息以及被添加的輔助數(shù)據(jù)的一第二信息。并且,輔助判斷單元根據(jù)第一信息及第二信息來判斷讀取控制模塊所輸出的數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除,并且將一判斷結果輸出至配置于接收側的一控制器。
[0014]在本發(fā)明的一實施例中,上述的輔助判斷單元包括一第一計數(shù)單元、一第二計數(shù)單元以及一補償檢查單元。第一計數(shù)單元電性連接至寫入控制模塊,用以計數(shù)被移除的輔助數(shù)據(jù)的一第一數(shù)量。第二計數(shù)單元電性連接至讀取控制模塊,用以計數(shù)被添加的輔助數(shù)據(jù)的一第二數(shù)量。補償檢查單元用以根據(jù)第一數(shù)量及第二數(shù)量來判斷讀取控制模塊所輸出的數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除,并且將判斷結果輸出至配置于接收側的控制器。
[0015]在本發(fā)明的一實施例中,上述的輔助數(shù)據(jù)是一傳輸接口標準所定義的跳躍順序組(skip ordered set)中的跳躍符號(skip symbol)。
[0016]在本發(fā)明的一實施例中,上述的傳輸接口標準是序列先進附件(Serial AdvancedTechnology Attachment, SATA)標準、高速外圍零件連接接口(Peripheral ComponentInterconnect Express, PCI Express)標準或通用序列總線 3.0 (Universal Serial Bus3.0,USB 3.0)標準。
[0017]在本發(fā)明的一實施例中,上述的存儲器單元在寫入狀態(tài)與讀取狀態(tài)的操作下維持在一非溢位狀態(tài)。
[0018]在本發(fā)明的一實施例中,上述的讀取控制模塊通過添加輔助數(shù)據(jù)至數(shù)據(jù)序列來調整該傳輸側的一寫入速度與接收側的一讀取速度的差值在一容許范圍內(nèi)。
[0019]本發(fā)明提供一種傳輸接口的彈性緩沖方法。此傳輸接口用以將一數(shù)據(jù)序列從一傳輸側傳遞至一接收側。彈性緩沖方法包括如下步驟。接收來自傳輸側的數(shù)據(jù)序列。移除數(shù)據(jù)序列中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至一存儲器單元。讀取存儲器單元所儲存的數(shù)據(jù)序列。添加輔助數(shù)據(jù)至數(shù)據(jù)序列。
[0020]在本發(fā)明的一實施例中,上述的彈性緩沖方法還包括根據(jù)傳輸側的一寫入狀態(tài)與接收側的一讀取狀態(tài)來檢查存儲器單元的一運作狀態(tài)。
[0021]在本發(fā)明的一實施例中,上述的移除數(shù)據(jù)序列中的輔助數(shù)據(jù)的步驟是根據(jù)檢查結果來移除數(shù)據(jù)序列中的輔助數(shù)據(jù)。
[0022]在本發(fā)明的一實施例中,上述的添加輔助數(shù)據(jù)至數(shù)據(jù)序列的步驟是根據(jù)檢查結果來添加輔助數(shù)據(jù)至數(shù)據(jù)序列。
[0023]在本發(fā)明的一實施例中,上述的將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至存儲器單元的步驟包括如下步驟。產(chǎn)生一寫入指針。根據(jù)寫入指針來將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列寫入至存儲器單元。寫入指針指示數(shù)據(jù)序列寫入至存儲器單元的地址。
[0024]在本發(fā)明的一實施例中,上述的讀取存儲器單元所儲存的數(shù)據(jù)序列的步驟包括如下步驟。產(chǎn)生一讀取指針。根據(jù)讀取指針來讀取存儲器單元所儲存的數(shù)據(jù)序列。讀取指針指示數(shù)據(jù)序列儲存在存儲器單元的地址。
[0025]在本發(fā)明的一實施例中,上述的彈性緩沖方法還包括如下步驟。記錄被移除的輔助數(shù)據(jù)的一第一信息以及被添加的輔助數(shù)據(jù)的一第二信息。根據(jù)第一信息及第二信息來判斷讀取控制模塊所輸出的數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除。將一判斷結果輸出至配置于接收側的一控制器。
[0026]在本發(fā)明的一實施例中,上述的記錄第一信息以及第二信息的步驟包括如下步驟。計數(shù)被移除的輔助數(shù)據(jù)的一第一數(shù)量。計數(shù)被添加的輔助數(shù)據(jù)的一第二數(shù)量。
[0027]在本發(fā)明的一實施例中,上述的判斷數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除的步驟包括根據(jù)第一數(shù)量及第二數(shù)量來判斷讀取控制模塊所輸出的數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除。
[0028]在本發(fā)明的一實施例中,上述的添加輔助數(shù)據(jù)至數(shù)據(jù)序列的步驟包括添加輔助數(shù)據(jù)至數(shù)據(jù)序列來調整傳輸側的一寫入速度與接收側的一讀取速度的差值在一容許范圍內(nèi)。
[0029]基于上述,在本發(fā)明的范例實施例中,彈性緩沖器模塊在數(shù)據(jù)寫入至存儲器單元前即移除數(shù)據(jù)序列中的部分輔助數(shù)據(jù),因此存儲器單元以較小的緩沖空間即可達到數(shù)據(jù)緩沖的目的,并且可容忍的傳輸端與接收端的速度差較大。
[0030]為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。
【專利附圖】
【附圖說明】
[0031]圖1繪示本發(fā)明一相關技術的彈性緩沖器模塊100的概要示意圖。
[0032]圖2繪示本發(fā)明一實施例的彈性緩沖器模塊200的概要示意圖。
[0033]圖3繪示本發(fā)明另一實施例的彈性緩沖器模塊300的概要示意圖。
[0034]圖4繪示圖3實施例的彈性緩沖器模塊300的概要示意圖。
[0035]圖5繪示本發(fā)明一實施例的傳輸接口的彈性緩沖方法的步驟流程圖。
[0036]圖6繪示本發(fā)明另一實施例的傳輸接口的彈性緩沖方法的步驟流程圖。
[0037][主要元件標號說明][0038]100、200、300:彈性緩沖器模塊110:補償符號調整單元
[0039]120:彈性緩沖器130、240、340:狀態(tài)檢查單元
[0040]210,310:存儲器單元220、320:寫入控制模塊[0041]230、330:讀取控制模塊322:寫入控制單元
[0042]324:寫入指針產(chǎn)生單元332:讀取控制單元
[0043]334:讀取指針產(chǎn)生單元350:輔助判斷單元
[0044]352:第一計數(shù)單元354:第二計數(shù)單元
[0045]356:補償檢查單元RX:接收側
[0046]TX:傳輸側AP_W:寫入地址
[0047]D_W:寫入數(shù)據(jù)
[0048]D_W’:移除部分補償符號后的數(shù)據(jù)序列
[0049]AP_R:讀取地址D_R:讀取數(shù)據(jù)
[0050]S500、S510、S520、S530、S600、S610、S620、S630、S640、S650、S660、S670:傳輸接
口的彈性緩沖方法的步驟
【具體實施方式】
[0051]圖1繪示本發(fā)明一相關技術的彈性緩沖器模塊100的概要示意圖。請參考圖1,在此例中,一個輔助數(shù)據(jù)調整單元Iio置于彈性緩沖器120的寫入端,用以根據(jù)寫入地址AP_W將寫入數(shù)據(jù)D_W依序寫入其緩沖區(qū)。另一方面,彈性緩沖器模塊100還包括一個狀態(tài)檢查單元130,其用以監(jiān)控傳輸側TX的數(shù)據(jù)寫入狀態(tài)與接收側RX的數(shù)據(jù)讀取狀態(tài),并且據(jù)此判斷彈性緩沖器120的運作狀態(tài)目前是處于接近欠位狀態(tài)或溢位狀態(tài)。此處狀態(tài)檢查單元130所監(jiān)控的狀態(tài)例如是傳輸側TX的數(shù)據(jù)寫入速度與接收側RX的數(shù)據(jù)讀取速度。通常,輔助數(shù)據(jù)調整單元110會根據(jù)狀態(tài)檢查單元130的判斷結果,實時地移除多余的輔助數(shù)據(jù)或添加輔助數(shù)據(jù),以維持傳輸側TX的數(shù)據(jù)寫入速度與接收側RX的數(shù)據(jù)讀取速度在一安全值內(nèi)。如圖1所示,在緩沖區(qū)中,兩數(shù)據(jù)S1、S2之間包括了多個輔助數(shù)據(jù)CS-1至CS-N。然而,此作法能容忍的傳輸側TX與接收側RX的速度差較小,而且所需的緩沖區(qū)空間較大。另外,在此例中,輔助數(shù)據(jù)調整單元110也可以置于緩沖區(qū)的讀出端。
[0052]圖2繪示本發(fā)明一實施例的彈性緩沖器模塊200的概要示意圖。請參考圖2,本實施例的彈性緩沖器模塊200包括一存儲器單元210、一寫入控制模塊220、一讀取控制模塊230以及一狀態(tài)檢查單元240。在本實施例中,彈性緩沖器模塊200至少適用于一存儲器儲存裝置的連接器(未繪示),以作為傳輸數(shù)據(jù)的彈性緩沖之用。此存儲器儲存裝置的連接器是兼容于序列先進附件(Serial Advanced Technology Attachment, SATA)標準。然而,必須了解的是,本發(fā)明不限于此,連接器亦可以是符合電氣和電子工程師協(xié)會(Institute of Electrical and Electronic Engineers, IEEE) 1394標準、高速外圍零件連接接口 (Peripheral Component Interconnect Express, PCI Express)標準、通用序列總線(Universal Serial Bus, USB)標準、安全數(shù)字(Secure Digital, SD)接口標準、存儲棒(Memory Stick,MS)接口標準、多媒體儲存卡(Multi Media Card,MMC)接口標準、小型快閃(Compact Flash, CF)接口標準、集成式驅動電子接口 (Integrated Device Electronics,IDE)標準或其它適合的標準。[0053]在本實施例中,存儲器單元210配置于傳輸側TX與接收側RX之間。存儲器單元210包括多個緩沖區(qū),用以接收、儲存并輸出來自傳輸側TX的數(shù)據(jù)序列D_W,以作為傳輸接口的數(shù)據(jù)緩沖之用,其【具體實施方式】包括以先進先出(first-1n-first-out, FIFO)電路來實施之。因此,來自傳輸側TX的數(shù)據(jù)序列D_W是根據(jù)存儲器單元210所接收的次序依序被儲存在其緩沖區(qū)塊,以讓后端對應的數(shù)據(jù)接收裝置,例如讀取控制模塊230,也根據(jù)此一次序依序讀取數(shù)據(jù)序列D_R。
[0054]在本實施例中,寫入控制模塊220配置于傳輸側TX。一般而言,本實施例的寫入控制模塊220在接收到輔助符號后即會將其移除,除非狀態(tài)檢查單元240的檢查結果為存儲器單元210處于一不正常狀態(tài),例如,讀寫指標太接近時,此時寫入控制模塊220會暫停移除輔助符號。上述操作的其中一種實施態(tài)樣包括寫入控制模塊220根據(jù)狀態(tài)檢查單元240所提供的信息來移除數(shù)據(jù)序列D_W中的至少部分的輔助數(shù)據(jù),并且根據(jù)寫入指針將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列D_W’寫入至存儲器單元210的緩沖區(qū)。此處的輔助數(shù)據(jù)除了補償符號以外,亦可為數(shù)據(jù)序列中形式上所需要的封包數(shù)據(jù)。在此例中,寫入至緩沖區(qū)的數(shù)據(jù)序列D_W’例如包括圖1的數(shù)據(jù)S1、CS-1、S2。因此,相較于圖1的相關技術,本實施例的寫入控制模塊220將原本的多個輔助數(shù)據(jù)CS-1至CS-N轉換為單一輔助數(shù)據(jù)CS-1。也就是說,寫入控制模塊220在存儲器單元210的寫入端將連續(xù)的輔助數(shù)據(jù)CS-1至CS-N至少部分移除或重新編輯,僅留下部分輔助數(shù)據(jù),例如單一輔助數(shù)據(jù)CS-1。惟應注意者是,所留下的單一輔助數(shù)據(jù)在此例中是以輔助數(shù)據(jù)CS-1來例示說明,本發(fā)明并不限于此。在其它實施例中,所留下的輔助數(shù)據(jù)的數(shù)量并不限于一個,并且也不限于是第一個輔助數(shù)據(jù)CS-1。根據(jù)本范例實施例所的揭露的精神,寫入控制模塊220只要移除至少一輔助數(shù)據(jù)即可減少緩沖區(qū)的空間,并不限于所移除的對象及數(shù)量。
[0055]在本實施例中,讀取控制模塊230配置于接收側RX,用以讀取存儲器單元230所儲存的數(shù)據(jù)序列D_R,并且根據(jù)狀態(tài)檢查單元240所提供的信息來添加輔助數(shù)據(jù)至數(shù)據(jù)序列D_R,其功能至少在于用以調整傳輸側TX的一寫入狀態(tài)與接收側的一讀取狀態(tài)RX。在此例中,讀取控制模塊230調整傳輸側TX的數(shù)據(jù)寫入速度與接收側RX的數(shù)據(jù)讀取速度的差值在一容許范圍內(nèi)。其中,在本范例實施例中的寫入狀態(tài),例如是指一寫入速度或寫入地址,而讀取狀態(tài),例如是指一讀取速度或讀取地址,但不應以此為限。
[0056]在本實施例中,狀態(tài)檢查單元240用以根據(jù)傳輸側TX的寫入速度與接收側RX的讀取速度來檢查存儲器單元210是否維持在非溢位狀態(tài),亦即運作穩(wěn)定或是在欠位狀態(tài),并且將檢查結果輸出至寫入控制模塊220及讀取控制模塊230。另外,本實施例的輔助數(shù)據(jù)例如補償符號,其是一傳輸接口標準所定義的跳躍順序組中的跳躍符號。上述的傳輸接口標準至少包括SATA標準、PCI Express標準或USB 3.0標準。舉例而言,USB 3.0標準所定義的跳躍順序組包括兩個跳躍符號,在傳送側TX每次需傳送至少一組跳躍順序組。一般而言,USB 3.0的傳輸接口的傳送側TX的跳躍順序組會在2至5組之間。也就是說,跳躍符號有4至10個。另一方面,PCI Express標準所定義跳躍順序組包括一個起始信號,例如C0M,加上兩個跳躍符號,在傳送端每次需傳送一組跳躍順序組。一般而言,PCI Express的傳輸接口的傳送側TX的跳躍符號有2至5個。
[0057]簡單來說,本范例實施例將原本的多個輔助數(shù)據(jù)轉換為單一輔助數(shù)據(jù)。在存儲器單元210的寫入端,寫入控制模塊220將連續(xù)的輔助數(shù)據(jù)移除,以留下單一輔助數(shù)據(jù)。在存儲器單元210的讀取端,增加一讀取控制模塊230,用以調整傳送側TX與接收側RX傳輸速度的不同。由于數(shù)據(jù)進入緩沖區(qū)前,其序列中的部分輔助數(shù)據(jù)已被移除,因此狀態(tài)檢查單元240所輸出的檢查結果是存儲器單元210處于欠位狀態(tài),因此在讀取端的寫入控制模塊220可動態(tài)地增加輔助數(shù)據(jù),使得緩沖區(qū)回到安全準位,亦即使得數(shù)據(jù)寫入速度與接收側RX的數(shù)據(jù)讀取速度的差值在容許范圍內(nèi)。在本范例實施例中,連續(xù)的輔助數(shù)據(jù)其呈現(xiàn)在數(shù)據(jù)序列的狀態(tài)中至少包括兩種不同的實施態(tài)樣,包括連續(xù)無間斷的輔助數(shù)據(jù),其數(shù)據(jù)序列的態(tài)樣例如是D0、CS、CS、Dl,以及一固定間隔內(nèi)的輔助數(shù)據(jù),其數(shù)據(jù)序列的態(tài)樣例如是D0、CS、D1、D2、CS、D3等。其中,CS為輔助數(shù)據(jù),DO至D3為所欲傳輸?shù)臄?shù)據(jù)。
[0058]在圖1的相關技術中,為了避免欠位或者溢位,彈性緩沖器120通常必須在安全臨界上,提供足夠數(shù)據(jù)緩沖區(qū)給傳送側TX與接收側RX以處理傳輸速度的差異。本范例實施例由于存儲器單元210在寫入狀態(tài)與讀取狀態(tài)的調整下可以維持在非溢位狀態(tài),因此緩沖區(qū)空間在設計時可不需考慮溢位狀態(tài)的發(fā)生,故緩沖區(qū)空間可為原本所需容量的一半。另夕卜,本范例實施例由于傳送側TX的寫入控制模塊220可將輔助數(shù)據(jù)移除,等同于將傳送側TX的寫入速度降頻,因此可容忍傳送側TX有較高的操作頻率。
[0059]在本發(fā)明的范例實施例中,彈性緩沖器模塊也可還包括一輔助判斷單元,以在數(shù)據(jù)緩沖過程中,記錄所移除的禍所添加的輔助數(shù)據(jù)的數(shù)量,以提供輔助數(shù)據(jù)的整體為增加或減少的信息。
[0060]圖3繪示本發(fā)明另一實施例的彈性緩沖器模塊300的概要示意圖。請參考圖2及圖3,本實施例的彈性緩沖器模塊300類似于圖2的彈性緩沖器模塊200,惟兩者之間主要的差異例如在于彈性緩沖器模塊300還包括一輔助判斷單元350,詳細說明如下。
[0061]在本實施例中,寫入控制模塊320根據(jù)狀態(tài)檢查單元340的檢查結果,例如存儲器單元310為欠位狀態(tài)或接近溢位狀態(tài),來移除數(shù)據(jù)序列D_W中的輔助數(shù)據(jù)。讀取控制模塊330也是根據(jù)狀態(tài)檢查單元340檢查結果來添加輔助數(shù)據(jù)至數(shù)據(jù)序列D_R。為了判斷讀取控制模塊330所輸出的數(shù)據(jù)序列D_R的輔助數(shù)據(jù)的整體相較于數(shù)據(jù)序列D_W是被添加還是被移除,輔助判斷單元350用以記錄被移除的輔助數(shù)據(jù)的數(shù)量以及被添加的輔助數(shù)據(jù)的數(shù)量,并且據(jù)此判斷輔助數(shù)據(jù)的整體是被添加還是被移除,以將一判斷結果輸出至配置于接收側的一控制器,用以提供此控制器作為錯誤檢測的參考數(shù)據(jù)。此控制器例如是存儲器儲存裝置的存儲器控制器(未繪示)。
[0062]圖4繪示圖3實施例的彈性緩沖器模塊300的概要示意圖。請參考圖4,本實施例的寫入控制模塊320包括一寫入控制單元322以及一寫入指針產(chǎn)生單元324。寫入控制單元322用以接收數(shù)據(jù)序列D_W。此處的數(shù)據(jù)序列D_W可能包括多個輔助數(shù)據(jù)CS-1至CS-N。寫入控制單元322根據(jù)狀態(tài)檢查單元340的檢查結果來移除數(shù)據(jù)序列D_W中的部分輔助數(shù)據(jù)。接著,寫入控制單元322根據(jù)一寫入指針AP_W來將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列D_W’寫入至存儲器單元的緩沖區(qū)。在此例中,移除輔助數(shù)據(jù)后的數(shù)據(jù)序列0_胃’例如包括S1、CS-1、S2。也就是說,寫入控制單元322將連續(xù)的多個輔助數(shù)據(jù)CS-1至CS-N移除,僅留下單一個輔助數(shù)據(jù)CS-1,以節(jié)省緩沖空間。寫入指針產(chǎn)生單元324用以產(chǎn)生寫入指針AP_W。寫入指針AP_W指示數(shù)據(jù)序列D_W’寫入至存儲器單元310的地址。
[0063]在本實施例中,讀取控制模塊330包括一讀取控制單元332以及一讀取指針產(chǎn)生單元334。讀取控制單元332用以根據(jù)一讀取指針AP_R來讀取存儲器單元310的緩沖區(qū)所儲存的數(shù)據(jù)序列,例如為S1、CS-1、S2,且其讀取方式遵循先進先出規(guī)則。并且,讀取控制單元332根據(jù)狀態(tài)檢查單元340的檢查結果來添加輔助數(shù)據(jù)至數(shù)據(jù)序列D_R。讀取指針產(chǎn)生單元334用以產(chǎn)生讀取指針AP_R。讀取指針AP_R指示數(shù)據(jù)序列儲存在存儲器單元310的地址。
[0064]在本實施例中,輔助判斷單元350包括一第一計數(shù)單元352、一第二計數(shù)單元354以及一補償檢查單元356。第一計數(shù)單元352電性連接至寫入控制單元322,用以計數(shù)被移除的輔助數(shù)據(jù)的數(shù)量。第二計數(shù)單元354電性連接至讀取控制單元332,用以計數(shù)被添加的輔助數(shù)據(jù)的數(shù)量。補償檢查單元用以根據(jù)被移除的輔助數(shù)據(jù)的數(shù)量及被添加的輔助數(shù)據(jù)的數(shù)量來判斷讀取控制單元322所輸出的數(shù)據(jù)序列D_R的輔助數(shù)據(jù)的整體,相較于數(shù)據(jù)序列D_ff是被添加還是被移除,并且將判斷結果輸出至配置于接收側RX的控制器。
[0065]圖5繪示本發(fā)明一實施例的傳輸接口的彈性緩沖方法的步驟流程圖。請同時參照圖2及圖5,本實施例的彈性緩沖方法例如適用于上述范例實施例所揭露的任一彈性緩沖模塊,此方法包括如下步驟。在步驟S500中,彈性緩沖器模塊200接收來自傳輸側TX的數(shù)據(jù)序列D_W。接著,在步驟S510中,彈性緩沖器模塊200移除數(shù)據(jù)序列D_W中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列0_胃’寫入至其自身的存儲器單元210。之后,在步驟S520中,彈性緩沖器模塊200讀取存儲器單元210所儲存的數(shù)據(jù)序列D_R。繼之,在步驟S530中,彈性緩沖器模塊200添加輔助數(shù)據(jù)至數(shù)據(jù)序列D_R來調整傳輸側TX的寫入狀態(tài)與接收側RX的讀取狀態(tài)。
[0066]圖6繪示本發(fā)明另一實施例的傳輸接口的彈性緩沖方法的步驟流程圖。請同時參照圖3及圖6,本實施例的彈性緩沖方法例如適用于上述圖3實施例所揭露的彈性緩沖模塊300,此方法包括如下步驟。在步驟S600中,彈性緩沖器模塊300接收來自傳輸側TX的數(shù)據(jù)序列D_W,并且產(chǎn)生一寫入指針AP_W。接著,在步驟S610中,彈性緩沖器模塊300移除數(shù)據(jù)序列D_W中至少部分的輔助 數(shù)據(jù),并且根據(jù)寫入指針八?_胃來將移除輔助數(shù)據(jù)后的數(shù)據(jù)序列0_評’寫入至其自身的存儲器單元310。于此同時,在步驟S620中,彈性緩沖器模塊300根據(jù)傳輸側TX的寫入狀態(tài)與接收側RX的讀取狀態(tài)來檢查存儲器單元310的運作狀態(tài)是處于接近溢位狀態(tài)或欠位狀態(tài)。之后,在步驟S630中,彈性緩沖器模塊300產(chǎn)生一讀取指針AP_R,并且據(jù)此讀取存儲器單元310所儲存的數(shù)據(jù)序列D_R。繼之,在步驟S640中,彈性緩沖器模塊300添加輔助數(shù)據(jù)至數(shù)據(jù)序列D_R來調整傳輸側TX的寫入狀態(tài)與接收側RX的讀取狀態(tài)。
[0067]此外,為了獲得數(shù)據(jù)序列D_R的輔助數(shù)據(jù)的整體是被添加還是被移除的信息,本實施例的彈性緩沖方法還包括在步驟S650中,彈性緩沖器模塊300記錄被移除的輔助數(shù)據(jù)的一第一信息以及被添加的輔助數(shù)據(jù)的一第二信息。接著,在步驟S660中,彈性緩沖器模塊300根據(jù)第一信息及第二信息來判斷讀取控制模塊330所輸出的數(shù)據(jù)序列D_R的輔助數(shù)據(jù)的整體是被添加還是被移除。之后,在步驟S670中,彈性緩沖器模塊300再將判斷結果輸出至配置于接收側RX的控制器。
[0068]應注意的是,本實施例的步驟S620及步驟S650至S670在彈性緩沖方法的操作期間是可以隨時進行的,步驟S620及步驟S650至S670在此例中的執(zhí)行順序僅用以例示說明,并不用以限制本發(fā)明。
[0069]另外,本發(fā)明的實施例的彈性緩沖方法可以由圖2至圖4實施例的敘述中獲致足夠的教示、建議與實施說明,因此不再贅述。
[0070]綜上所述,在本發(fā)明的范例實施例中,彈性緩沖器模塊在數(shù)據(jù)寫入至存儲器單元前即移除數(shù)據(jù)序列中的部分輔助數(shù)據(jù),因此存儲器單元以較小的緩沖空間即可達到數(shù)據(jù)緩沖的目的。并且,由于傳送側的寫入控制模塊持續(xù)地將輔助數(shù)據(jù)移除,等同于將傳送側的寫入速度降頻,因此可容忍傳送側有較高的操作頻率。
[0071]雖然本發(fā)明已以實施例揭露如上,然其并非用以限定本發(fā)明,任何所屬【技術領域】中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當可作些許的更動與潤飾,故本發(fā)明的保護范圍當視所附的權利要求范圍所界定者為準。
【權利要求】
1.一種彈性緩沖器模塊,包括: 一存儲器單元,配置于一傳輸側與一接收側之間,用以接收、儲存并輸出來自該傳輸側的一數(shù)據(jù)序列; 一寫入控制模塊,配置于該傳輸側,用以移除該數(shù)據(jù)序列中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的該數(shù)據(jù)序列寫入至該存儲器單元;以及 一讀取控制模塊,配置于該接收側,用以讀取該存儲器單元所儲存的該數(shù)據(jù)序列,并且添加輔助數(shù)據(jù)至該數(shù)據(jù)序列。
2.根據(jù)權利要求1所述的彈性緩沖器模塊,還包括: 一狀態(tài)檢查單元,用以檢查該存儲器單元的一運作狀態(tài),并且該狀態(tài)檢查單元將該運作狀態(tài)的檢查結果輸出至該讀取控制模塊,該讀取控制模塊根據(jù)該檢查結果來添加輔助數(shù)據(jù)至該數(shù)據(jù)序列。
3.根據(jù)權利要求2所述的彈性緩沖器模塊,其中該狀態(tài)檢查單元將該檢查結果輸出至該寫入控制模塊,該寫入控制模塊根據(jù)該檢查結果來移除該數(shù)據(jù)序列中的輔助數(shù)據(jù)。
4.根據(jù)權利要求2所述的彈性緩沖器模塊,其中該狀態(tài)檢查單元是根據(jù)該傳輸側的一寫入狀態(tài)與該接收側的一讀取狀態(tài)來檢查該存儲器單元的該運作狀態(tài)。
5.根據(jù)權利要求1所述的彈性緩沖器模塊,其中該寫入控制模塊包括: 一寫入指針產(chǎn)生單元,用以產(chǎn)生一寫入指針,其中該寫入指針指示該數(shù)據(jù)序列寫入至該存儲器單元的地址;以及 一寫入控制單元,用以接收該數(shù)據(jù)序列,移除該數(shù)據(jù)序列中的輔助數(shù)據(jù),并且根據(jù)該寫入指針來將移除輔助數(shù)據(jù)后的該數(shù)據(jù)序列寫入至該存儲器單元。
6.根據(jù)權利要求1所述的彈性緩沖器模塊,其中該讀取控制模塊包括: 一讀取指針產(chǎn)生單元,用以產(chǎn)生一讀取指針,其中該讀取指針指示該數(shù)據(jù)序列儲存在該存儲器單元的地址;以及 一讀取控制單元,用以根據(jù)該讀取指針來讀取該存儲器單元所儲存的該數(shù)據(jù)序列,并且添加輔助數(shù)據(jù)至該數(shù)據(jù)序列。
7.根據(jù)權利要求1所述的彈性緩沖器模塊,還包括: 一輔助判斷單元,用以記錄被移除的輔助數(shù)據(jù)的一第一信息以及被添加的輔助數(shù)據(jù)的一第二信息,并且根據(jù)該第一信息及該第二信息來判斷該讀取控制模塊所輸出的該數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除,并且將一判斷結果輸出至配置于該接收側的一控制器。
8.根據(jù)權利要求7所述的彈性緩沖器模塊,其中該輔助判斷單元包括: 一第一計數(shù)單元,電性連接至該寫入控制模塊,用以計數(shù)被移除的輔助數(shù)據(jù)的一第一數(shù)量; 一第二計數(shù)單元,電性連接至該讀取控制模塊,用以計數(shù)被添加的輔助數(shù)據(jù)的一第二數(shù)量;以及 一補償檢查單元,用以根據(jù)該第一數(shù)量及該第二數(shù)量來判斷該讀取控制模塊所輸出的該數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除,并且將該判斷結果輸出至配置于該接收側的該控制器。
9.根據(jù)權利要求1所述的彈性緩沖器模塊,其中輔助數(shù)據(jù)為一傳輸接口標準所定義的跳躍順序組中的跳躍符號。
10.根據(jù)權利要求9所述的彈性緩沖器模塊,其中該傳輸接口標準為序列先進附件標準、高速外圍零件連接接口標準或通用序列總線3.0標準。
11.根據(jù)權利要求1所述的彈性緩沖器模塊,其中該存儲器單元維持在一非溢位狀態(tài)。
12.根據(jù)權利要求1所述的彈性緩沖器模塊,其中該讀取控制模塊通過添加輔助數(shù)據(jù)至該數(shù)據(jù)序列來調整該傳輸側的一寫入速度與該接收側的一讀取速度的差值在一容許范圍內(nèi)。
13.一種傳輸接口的彈性緩沖方法,該傳輸接口用以將一數(shù)據(jù)序列從一傳輸側傳遞至一接收側,該彈性緩沖方法包括: 接收來自該傳輸側的該數(shù)據(jù)序列; 移除該數(shù)據(jù)序列中至少部分的輔助數(shù)據(jù),并且將移除輔助數(shù)據(jù)后的該數(shù)據(jù)序列寫入至一存儲器單元; 讀取該存儲器單元所儲存的該數(shù)據(jù)序列;以及 添加輔助數(shù)據(jù)至該數(shù)據(jù)序列。
14.根據(jù)權利要求13所述的彈性緩沖方法,還包括: 根據(jù)該傳輸側的一寫入 狀態(tài)與該接收側的一讀取狀態(tài)來檢查該存儲器單元的一運作狀態(tài)。
15.根據(jù)權利要求14所述的彈性緩沖方法,其中移除該數(shù)據(jù)序列中的輔助數(shù)據(jù)的步驟是根據(jù)該檢查結果來移除該數(shù)據(jù)序列中的輔助數(shù)據(jù)。
16.根據(jù)權利要求14所述的彈性緩沖方法,其中添加輔助數(shù)據(jù)至該數(shù)據(jù)序列的步驟是根據(jù)該檢查結果來添加輔助數(shù)據(jù)至該數(shù)據(jù)序列。
17.根據(jù)權利要求13所述的彈性緩沖方法,其中將移除輔助數(shù)據(jù)后的該數(shù)據(jù)序列寫入至該存儲器單元的步驟包括: 產(chǎn)生一寫入指針;以及 根據(jù)該寫入指針來將移除輔助數(shù)據(jù)后的該數(shù)據(jù)序列寫入至該存儲器單元, 其中該寫入指針指示該數(shù)據(jù)序列寫入至該存儲器單元的地址。
18.根據(jù)權利要求13所述的彈性緩沖方法,其中讀取該存儲器單元所儲存的該數(shù)據(jù)序列的步驟包括: 產(chǎn)生一讀取指針;以及 根據(jù)該讀取指針來讀取該存儲器單元所儲存的該數(shù)據(jù)序列, 其中該讀取指針指示該數(shù)據(jù)序列儲存在該存儲器單元的地址。
19.根據(jù)權利要求13所述的彈性緩沖方法,還包括: 記錄被移除的輔助數(shù)據(jù)的一第一信息以及被添加的輔助數(shù)據(jù)的一第二信息;以及 根據(jù)該第一信息及該第二信息來判斷該讀取控制模塊所輸出的該數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除; 將一判斷結果輸出至配置于該接收側的一控制器。
20.根據(jù)權利要求19所述的彈性緩沖方法,其中記錄該第一信息以及該第二信息的步驟包括: 計數(shù)被移除的輔助數(shù)據(jù)的一第一數(shù)量;以及計數(shù)被添加的輔助數(shù)據(jù)的一第二數(shù)量。
21.根據(jù)權利要求20所述的彈性緩沖方法,其中判斷該數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除的步驟包括: 根據(jù)該第一數(shù)量及該第二數(shù)量來判斷該讀取控制模塊所輸出的該數(shù)據(jù)序列的輔助數(shù)據(jù)的整體是被添加還是被移除。
22.根據(jù)權利要求13所述的彈性緩沖方法,其中輔助數(shù)據(jù)為一傳輸接口標準所定義的跳躍順序組中的跳躍符號。
23.根據(jù)權利要求22所述的彈性緩沖方法,其中該傳輸接口標準為序列先進附件標準、高速外圍零件連接接口標準或通用序列總線3.0標準。
24.根據(jù)權利要求13所述的彈性緩沖方法,其中該存儲器單元在該寫入狀態(tài)與該讀取狀態(tài)的操作下維持在一非溢位狀態(tài)。
25.根據(jù)權利要求13所述的彈性緩沖方法,其中添加輔助數(shù)據(jù)至該數(shù)據(jù)序列的步驟包括: 添加輔助數(shù)據(jù)至該數(shù)據(jù)序列來調整該傳輸側的一寫入速度與該接收側的一讀取速度的差值在一容許范圍內(nèi)。
【文檔編號】G06F3/06GK103577112SQ201210256946
【公開日】2014年2月12日 申請日期:2012年7月23日 優(yōu)先權日:2012年7月23日
【發(fā)明者】陳志銘 申請人:群聯(lián)電子股份有限公司