CN103577112A - 弹性缓冲器模块及传输接口的弹性缓冲方法 - Google Patents

弹性缓冲器模块及传输接口的弹性缓冲方法 Download PDF

Info

Publication number
CN103577112A
CN103577112A CN201210256946.5A CN201210256946A CN103577112A CN 103577112 A CN103577112 A CN 103577112A CN 201210256946 A CN201210256946 A CN 201210256946A CN 103577112 A CN103577112 A CN 103577112A
Authority
CN
China
Prior art keywords
data
data sequence
auxiliary data
elastic buffer
memory cell
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201210256946.5A
Other languages
English (en)
Other versions
CN103577112B (zh
Inventor
陈志铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
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 CN201210256946.5A priority Critical patent/CN103577112B/zh
Publication of CN103577112A publication Critical patent/CN103577112A/zh
Application granted granted Critical
Publication of CN103577112B publication Critical patent/CN103577112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

一种弹性缓冲器模块,包括一存储器单元、一写入控制模块以及一读取控制模块。存储器单元用以接收、储存并输出来自传输侧的一数据序列。写入控制模块用以移除数据序列中至少部分的辅助数据,并且将移除辅助数据后的数据序列写入至存储器单元。读取控制模块用以读取存储器单元所储存的数据序列,并且添加辅助数据至数据序列来调整传输侧的写入状态与接收侧的读取状态。另外,一种传输接口的弹性缓冲方法亦被提出。

Description

弹性缓冲器模块及传输接口的弹性缓冲方法
技术领域
本发明是有关于一种缓冲器模块及数据缓冲方法,且特别是有关于一种传输接口的弹性缓冲器模块及其数据缓冲方法。
背景技术
高速传输接口已广泛应用在计算机或高效能芯片间的传输,例如高速外围零件连接接口(Peripheral Component Interconnect Express,PCI Express)、通用序列总线3.0(Universal Serial Bus3.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)。
在本发明的一实施例中,上述的传输接口标准是序列先进附件(SerialAdvanced Technology Attachment,SATA)标准、高速外围零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准或通用序列总线3.0(Universal Serial Bus 3.0,USB 3.0)标准。
在本发明的一实施例中,上述的存储器单元在写入状态与读取状态的操作下维持在一非溢位状态。
在本发明的一实施例中,上述的读取控制模块通过添加辅助数据至数据序列来调整该传输侧的一写入速度与接收侧的一读取速度的差值在一容许范围内。
本发明提供一种传输接口的弹性缓冲方法。此传输接口用以将一数据序列从一传输侧传递至一接收侧。弹性缓冲方法包括如下步骤。接收来自传输侧的数据序列。移除数据序列中至少部分的辅助数据,并且将移除辅助数据后的数据序列写入至一存储器单元。读取存储器单元所储存的数据序列。添加辅助数据至数据序列。
在本发明的一实施例中,上述的弹性缓冲方法还包括根据传输侧的一写入状态与接收侧的一读取状态来检查存储器单元的一运作状态。
在本发明的一实施例中,上述的移除数据序列中的辅助数据的步骤是根据检查结果来移除数据序列中的辅助数据。
在本发明的一实施例中,上述的添加辅助数据至数据序列的步骤是根据检查结果来添加辅助数据至数据序列。
在本发明的一实施例中,上述的将移除辅助数据后的数据序列写入至存储器单元的步骤包括如下步骤。产生一写入指针。根据写入指针来将移除辅助数据后的数据序列写入至存储器单元。写入指针指示数据序列写入至存储器单元的地址。
在本发明的一实施例中,上述的读取存储器单元所储存的数据序列的步骤包括如下步骤。产生一读取指针。根据读取指针来读取存储器单元所储存的数据序列。读取指针指示数据序列储存在存储器单元的地址。
在本发明的一实施例中,上述的弹性缓冲方法还包括如下步骤。记录被移除的辅助数据的一第一信息以及被添加的辅助数据的一第二信息。根据第一信息及第二信息来判断读取控制模块所输出的数据序列的辅助数据的整体是被添加还是被移除。将一判断结果输出至配置于接收侧的一控制器。
在本发明的一实施例中,上述的记录第一信息以及第二信息的步骤包括如下步骤。计数被移除的辅助数据的一第一数量。计数被添加的辅助数据的一第二数量。
在本发明的一实施例中,上述的判断数据序列的辅助数据的整体是被添加还是被移除的步骤包括根据第一数量及第二数量来判断读取控制模块所输出的数据序列的辅助数据的整体是被添加还是被移除。
在本发明的一实施例中,上述的添加辅助数据至数据序列的步骤包括添加辅助数据至数据序列来调整传输侧的一写入速度与接收侧的一读取速度的差值在一容许范围内。
基于上述,在本发明的范例实施例中,弹性缓冲器模块在数据写入至存储器单元前即移除数据序列中的部分辅助数据,因此存储器单元以较小的缓冲空间即可达到数据缓冲的目的,并且可容忍的传输端与接收端的速度差较大。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1绘示本发明一相关技术的弹性缓冲器模块100的概要示意图。
图2绘示本发明一实施例的弹性缓冲器模块200的概要示意图。
图3绘示本发明另一实施例的弹性缓冲器模块300的概要示意图。
图4绘示图3实施例的弹性缓冲器模块300的概要示意图。
图5绘示本发明一实施例的传输接口的弹性缓冲方法的步骤流程图。
图6绘示本发明另一实施例的传输接口的弹性缓冲方法的步骤流程图。
[主要元件标号说明]
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的概要示意图。请参考图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 ofElectrical 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实施例的叙述中获致足够的教示、建议与实施说明,因此不再赘述。
综上所述,在本发明的范例实施例中,弹性缓冲器模块在数据写入至存储器单元前即移除数据序列中的部分辅助数据,因此存储器单元以较小的缓冲空间即可达到数据缓冲的目的。并且,由于传送侧的写入控制模块持续地将辅助数据移除,等同于将传送侧的写入速度降频,因此可容忍传送侧有较高的操作频率。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。

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所述的弹性缓冲器模块,其中该存储器单元维持在一非溢位状态。
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所述的弹性缓冲方法,其中添加辅助数据至该数据序列的步骤包括:
添加辅助数据至该数据序列来调整该传输侧的一写入速度与该接收侧的一读取速度的差值在一容许范围内。
CN201210256946.5A 2012-07-23 2012-07-23 弹性缓冲器模块及传输接口的弹性缓冲方法 Active CN103577112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210256946.5A CN103577112B (zh) 2012-07-23 2012-07-23 弹性缓冲器模块及传输接口的弹性缓冲方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210256946.5A CN103577112B (zh) 2012-07-23 2012-07-23 弹性缓冲器模块及传输接口的弹性缓冲方法

Publications (2)

Publication Number Publication Date
CN103577112A true CN103577112A (zh) 2014-02-12
CN103577112B CN103577112B (zh) 2017-05-10

Family

ID=50048982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210256946.5A Active CN103577112B (zh) 2012-07-23 2012-07-23 弹性缓冲器模块及传输接口的弹性缓冲方法

Country Status (1)

Country Link
CN (1) CN103577112B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306358A (zh) * 2000-01-20 2001-08-01 华为技术有限公司 通过数据总线发送及接收数据的方法和装置
US6757348B1 (en) * 2001-08-28 2004-06-29 Crossroads Systems, Inc. High-speed coordinated multi-channel elastic buffer
CN101312387A (zh) * 2007-05-24 2008-11-26 富士施乐株式会社 数据传输设备、数据发送和接收装置以及数据传输系统
US20080294966A1 (en) * 2007-05-24 2008-11-27 Fuji Xerox Co., Ltd. Data transmission apparatus, data transmission device, data reception device and data transmission system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306358A (zh) * 2000-01-20 2001-08-01 华为技术有限公司 通过数据总线发送及接收数据的方法和装置
US6757348B1 (en) * 2001-08-28 2004-06-29 Crossroads Systems, Inc. High-speed coordinated multi-channel elastic buffer
CN101312387A (zh) * 2007-05-24 2008-11-26 富士施乐株式会社 数据传输设备、数据发送和接收装置以及数据传输系统
US20080294966A1 (en) * 2007-05-24 2008-11-27 Fuji Xerox Co., Ltd. Data transmission apparatus, data transmission device, data reception device and data transmission system

Also Published As

Publication number Publication date
CN103577112B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN105320490B (zh) 用于异步fifo电路的方法和设备
TWI441399B (zh) 過電壓保護電路、提供過電壓保護的介面系統及在資料匯流介面中的過電壓保護方法
KR101419292B1 (ko) 2개의 기준 클럭을 구비한 리드라이버 및 그의 동작 방법
US8879680B2 (en) Adaptive clock mismatch compensation symbol insertion in signal transmissions
US8090263B2 (en) System and method for expanding PCIe compliant signals over a fiber optic medium with no latency
JP2017525200A (ja) リンクレイヤ/物理レイヤ(phy)シリアルインターフェース
CN104022775A (zh) 一种面向SerDes技术中基于FIFO协议的数字接口电路
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
CN103401743B (zh) 一种i2c总线消除干扰信号的方法和装置
US8804706B2 (en) Information processing system, relay device, and communication control method
US9311045B2 (en) Elastic buffer module and elastic buffering method for transmission interface
US11728930B2 (en) Methods to remove dribble introduced and regenerate sync bits lost due to squelch delays in USB high speed packet repeating
CN103577112A (zh) 弹性缓冲器模块及传输接口的弹性缓冲方法
US7757016B2 (en) Data transfer device, semiconductor integrated circuit, and processing status notification method
CN210924562U (zh) 一种背板通讯装置
CN107704403B (zh) 一种优化主背板信号传输的装置及方法
CN112269443A (zh) 基于龙芯2k处理器的集成独立显示、高速接口的计算主板
JP5287112B2 (ja) データ転送制御装置及び電子機器
CN114003543B (zh) 一种高速串行总线时钟补偿方法及系统
CN117009276A (zh) 一种基于axi总线的信号压缩传输的方法、装置及系统
CN105550134A (zh) 高速数据接口主机端控制器
JP5123739B2 (ja) サーバ装置およびPCIExpress中継バッファ制御方法
JP5123739B6 (ja) サーバ装置およびPCI Express中継バッファ制御方法
CN114564441A (zh) 片上系统、数据处理方法及计算机设备
CN110442546A (zh) 基于DSP的E2brain主板

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant