CN102204198B - 用于多个串行接收机的自动数据对齐器的方法、装置及系统 - Google Patents

用于多个串行接收机的自动数据对齐器的方法、装置及系统 Download PDF

Info

Publication number
CN102204198B
CN102204198B CN200980144150.7A CN200980144150A CN102204198B CN 102204198 B CN102204198 B CN 102204198B CN 200980144150 A CN200980144150 A CN 200980144150A CN 102204198 B CN102204198 B CN 102204198B
Authority
CN
China
Prior art keywords
data
alignment
port
aligner
corresponding data
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.)
Active
Application number
CN200980144150.7A
Other languages
English (en)
Other versions
CN102204198A (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.)
Lattice Semiconductor Corp
Original Assignee
Silicon Image Inc
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 Silicon Image Inc filed Critical Silicon Image Inc
Publication of CN102204198A publication Critical patent/CN102204198A/zh
Application granted granted Critical
Publication of CN102204198B publication Critical patent/CN102204198B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Multimedia (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本发明提供一种在串行链路技术中将自动数据对齐器用于多个串行接收机的方法、装置及系统。在一个实施例中,经由数据对齐器将传输数据路径从单一位转换为并行位,其中数据经由一个或多个端口传输。此外,绑定数据传输信道以降低数据传输的等待时间,其中所述绑定数据传输信道还包括经由一个或多个端口插入延迟以匹配等待时间。

Description

用于多个串行接收机的自动数据对齐器的方法、装置及系统
技术领域
本发明的实施例一般涉及网络领域,更具体涉及在串行链路技术中用于多个串行接收机的自动数据对齐器(data aligner)。
背景技术
串行端口存储器技术(SPMT)即使在存储器领域中也使用高速串行链路技术。此串行链路提供诸多优点,包括低功率及减少主机与存储器之间的插针数量及连接。虽然串行链路可支持每秒数千兆位(Gbps)的带宽,但如果存储器带宽需求达到高于单串行线路所支持的带宽时,则必须使用多个串行链路来支持额外的带宽需求。
举例而言,参考示出常规帧对齐的图1A,命令108以多个位110编码,且经由高速链路102逐位发送,如第二信号串行数据102所表示。当此串行化数据102到达接收端时,这些数据位110再次被平行化并且被储存于位分组中,例如由第三信号并行化数据104所表示的20位分组112。然而,因为命令108可能开始于所接收数据的中段,所以“经过并行化”的20位数据104不可用于解码。举例而言,即使主机发送“abcdefgh”118,在接收端接收的并行化数据104可能为“fghabcde”116。换言之,虽然主机以预定模式发送主机数据100,但仍需要识别命令108的开始位置(或首部)。举例而言,在此例中,预定模式设定为“abcdefgh”118。在找出开始位置之后,通过移动两邻近并行化数据104以获得正确的命令114。此技术被称为“帧对齐”,而用于对齐的预定模式118被称为“SYNC”字符。。
然而,若一主机必须发送大量数据,则此数据将经由多个串行链路152至162传送,如参照表示常规帧和端口对齐的图1B那样。多个高速链路的性质彼此并不相同。通常,取样前端区块(诸如时钟数据恢复(CDR))对传入的串行数据102进行取样,并在给定时钟内将其传递至并行化器区块。此外,对于各信道从主机到接收机的飞行时间并不完全相同。举例而言,主机在相同时刻发送一组数据,而一个接收机在第一时钟取样数据而另一接收机在第二时钟取样数据。为补偿此飞行时间差异或路径差异,必须对数据到达早于信道162的信道158相应地增加一个周期延迟。对于计算机扩展卡而言,此过程被称为“虚拟通道对齐”164。另一种对齐步骤166是寻找及对齐各数据片段的首部,该步骤166也随着虚拟通道对齐的步骤一起执行。
现参考图2,其示出测量和补偿路径差异的常规过程,用以确定路径差异,以决定可区分的预定模式并将其传达至各个信道。举例而言,图2示出用于计算机扩展卡的方法,用于测量路径差异并使必要数据与各个信道对齐。举例而言,在处理框202,在数据流中发送数据;在处理框204,主机将两个“COMMA”模式插入至该数据流中;以及在处理框206发送该数据。当接收机在处理框208探测到此模式时,其在处理框210检查COMMA记号到达各信道或端口的时间。在决策框212,其进一步确定同一COMMA字符是否较早出现于另一信道。若是,且仍有一信道尚未拥有COMMA字符,则在处理框214此接收机对于流经较早出现COMMA字符的信道的数据流插入一周期延迟。若否,则步骤随着延迟而继续。
图三显示用以提供虚拟通道对齐(即帧对齐及端口对齐)的常规架构300。当数据经由串行链路被接收时,其由时钟数据恢复(CDR)区块取样,该时钟数据恢复区块从传入数据提取时钟(rck)以使取样错误最少。接着,其将结果藉由结合的四位传递至对齐器区块。对齐器区块的第一组件为并行化器302,其利用五个移位缓存器308的深度将五个连续进入的四位数据结合为二十位数据。第二组件是帧对齐器304,其使输出开始于正确的位置。因为并行化器302运行于恢复时钟(rck),而帧对齐器304运行于系统时钟(clk),因此五个寄存器308中的两个寄存器设置以解决交错时钟域的问题。该组合可包含寄存器和移位器。第三组件是端口对齐器306。若需要一个周期延迟,则选择来自位于端口对齐器306中的寄存器的输入来代替来自帧对齐器304的数据。
多信道之间的数据对齐(诸如帧对齐及端口对齐)或偏移补偿在各种串行链路技术(诸如PCI-Express)中广泛使用。然而,SPMT在主机与存储器之间有着相比于其它串行技术而言更短的互联,这意味着信道上的数据偏移将被限制于相对较小量。此差异在主机时钟周期中将为0或1。它利用一种SYNC字符来设定外出及进入的信道,而非发送可区分的或特别的字符来测量其数据偏移。因此,举例而言,当信道处于设定周期时,常规的基于庞大的先进先出(FIFO)的技术将不适于数据偏移的补偿。
发明内容
本发明提供一种在串行链路技术中(例如计算机扩展卡)将自动数据对齐器用于多个串行接收机的方法、装置及系统。
在一实施例中,一种方法包括经由数据对齐器将传输数据路径从单一位转换为平行位,其中数据经由一个或多个端口传输;以及绑定数据传输信道以降低所述数据传输的等待时间,其中数据传输信道的绑定还包括经由一或多个端口插入延迟以匹配等待时间。
在一实施例中,一种装置包括用于多个串行接收机的数据对齐的机构,该机构包括数据对齐器,用于将传输数据路径从单一位转换为平行位,其中该数据经由一个或多个端口传输,该数据对齐器还用于绑定数据传输信道以降低数据传输的等待时间,其中数据传输信道的绑定还包括经由一或多个端口插入延迟以匹配等待时间。
在一实施例中,一种系统包括计算机系统,该计算机系统具有处理器和耦合至处理器的存储器,该计算机系统具有用于多个串行接收机的数据对齐的机构,该机构包括数据对齐器,该数据对齐器用于将传输数据路径从单一位转换为平行位,其中数据经由一个或多个端口传输,该数据对齐器还用于绑定数据传输信道以降低数据传输的等待时间,其中绑定数据传输信道还包括经由一个或多个端口插入延迟以匹配等待时间。
附图说明
本发明的实施方式通过实施例加以说明而非限制,在附图的各图中,相同的字符附图标记表示相同的要素:
图1A示出常规帧对齐;
图1B示出常规帧和端口对齐;
图2示出用于测量和补偿路径差的常规过程;
图3示出用于提供虚拟通道对齐的常规架构300;
图4示出用于提供对齐系统以减少等待时间的对齐架构的实施例;
图5示出4-20对齐器(4-to-20 aligner)的实施例;
图6示出用于利用4-20位对齐器进行对齐的过程的实施例;
图7示出比较器阵列的实施例;
图8示出数据路径的实施例;
图9示出获得经帧对齐的20位数据流的实施例;
图10示出具有用于避免时钟域交叉问题的内部时钟信号的控制发生器的实施例;
图11示出4-20端口对齐器中的等待时间与指针之间的关系的实施例;
图12示出基于多个端口上的指针值的端口对齐的实施例;
图13示出与jmp信号关联的过程实施例;
图14示出用于执行多个数据传输信道的自动数据对齐的过程的实施例;以及
图15示出其上可实现本发明的实施例的计算机系统。
具体实施方式
本发明的实施例一般涉及端口倍增器(Port Multiplier)增强。
SPMT被视为一种新的存储器接口架构,该架构起初的目标是用于动态随机存取存储器(DRAM)芯片,相对于现有存储器技术中常见的并行接口架构,SPMT采用串行接口架构。SPMT即使在存储器领域也典型地使用高速串行链路技术,从而当连接在主机与存储器之间时可提供低功率及减少插针数量的好处。然而,若存储器带宽需求达到高于一高速连接所能提供的量时(譬如数Gbps),则必须利用多个串行链路。因此,当主机要立刻发送大量数据时(例如读取数据或写数据),要通过多个串行链路或串行信道为存储器提供足够带宽以传递大量数据。虽然物理上利用多个连接或信道,但所传递的数据被视为单一大型逻辑信道且并被称为“端口绑定”,因为主机或存储器上的串行端口被限制以提供较大的带宽。
本发明的实施例对SPMT加以改进,并提供较大的带宽灵活性、明显减少的插针数目、较低的功率需求及整体系统成本的节省。此技术有助于增加功能性并维持或降低整体系统成本,因此对于移动设备特别重要,因为存储器系统的种类对于移动设备的设计通常是重要的考虑。
在单通道的情况中,在接收端的任何串行化数据向“帧边界”或“首部”对齐。在多通道情况下,亦将各帧对齐的数据加以对齐以提供相同的等待时间,称为“内部通道对齐”。一般而言,通过接收机利用SYNC模式(例如8B10B编码中的K28.5)加以确认帧边界及首部。然而,内部通道对齐在物理层(PHY Layer)以外执行,其利用FIFO实现以处理长延迟。此端口绑定技术指的是使来自具有相同等待时间的接收端的多个信道的数据对齐(内部信道对齐),以使接收的数据具有来自主机的相同数据。若信道(或串行链路)具有彼此不同的等待时间,则所接收的数据并不被视为已对齐。
此数据对齐或多信道间偏移补偿的技术经常用于其它串行链路技术,诸如高清晰度多媒体接口(HDMI)及PCI-Express。举例而言,用于HDMI的过渡最小化传输差分信号(TMDS)技术使三个红绿蓝(RGB)通道上的数据与出现在像素数据流中的检测SYNC模式702对齐。FIFO设置于各信道的PHY及数据之后,且与SYNC字符的测量位置对齐。即使在这些信道上有较大的路径差异,此数据仍在多个信道上对齐。在PCI-Express的情况中,在多个信道上放置数据的技术被称为“数据分带(Data Striping)”,且两个SYNC字符周期性地出现以测量信道之间的数据偏移。
然而,与其它串行技术相比较,SPMT在主机及存储器之间具有相对较短的互联,这意味着信道上的数据偏移被限制于相对较少量。在主机时钟周期中产生的差异典型地为0或1。使用一种SYNC字符来设定外出及进入的信道,且不发送可区分的或特殊的字符来测量数据偏移。这意味着,当信道处于设定周期中时,不使用常规的基于庞大的FIFO的技术来补偿数据偏移。
图4示出用于提供对齐系统以降低等待时间的对齐架构400的实施例。对齐架构400包含对齐器402、CDR 404、端口对齐器406及并行化器408至414。在一实施例中,利用对齐架构400,可应用各种技术来降低等待时间。举例而言,常规地,根据四位CDR输出准备至帧对齐器中的移位器的输入至少需花费三周期。利用架构400,等待时间由三周期缩减为单个周期。在一实施例中,利用单个寄存器(见图6)代替如图3中所示的移位寄存器将四位CDR输出放置于正确的位置;因此,利用相对较小的8位移位器代替大的40位移位器。在另一实施例中,新的工作时钟(例如rck20及sck416等)根据两时钟rck及clk(例如图3的312及312)产生并取代rck和clk,以消除采用两频率rck及clk时所造成的任何时钟域交叉的问题。利用采用正确控制信号的这两个实施例,用于帧对齐的时钟周期从四周期减为二周期。
在又一实施例中,代替在端口对齐器区块中具有的单周期延迟,在输入数据流中插入小的延迟。举例而言,因为主机及接收机位于一个机板中,因此目标系统为底线存储器(Underline Memory),且路径差被维持于少量。此外,在此情况下,当检查用于帧对齐的指针值时,确定在接收机端是否可能发生周期不匹配,这将有助于减少一额外周期。利用这些技术,可执行端口对齐而不需任何特殊字符(例如PCI-Express中的COMMA)。
在一实施例中,去掉特殊记号(例如SYNC、COMMA),使得:(1)简化底线硬件(underline hardware),并使相关协议保持简单,及(2)减少设定信道所需的时间(例如训练时间)。举例而言,在“信道设定期”中侦测及发现数据分组的开始位置。此外,信道设定期是为了找出帧边界或首部并对齐内部信道数据。
在一实施例中,在信道设定期中,可在多信道上执行数据同步而不使用特殊字符,同时将多个信道之间的数据偏移维持于不到典型主机时钟周期的一半。举例而言,利用常规架构产生的六时钟周期的等待时间可以利用根据一个实施例的新颖技术而缩减至仅三周期。
架构400具有SPMT接收机PHY,其包含分配至各信道的并行化器的四个端口408至414,以及控制信道延迟的控制区块。各端口408至414与CDR 404相关联,以利用给定时钟信号pck 424检测差分对(例如RX0 416)上的一位串行数据,以将该数据组合成四位数据并利用恢复时钟信号(rck)将其发送至4-20对齐器402。接着,此4-20对齐器402利用传入的四位数据串流产生二十位数据,并在信道处于信道设定期或训练期时检测开始位位置(Start-Bit-Position),并在之后将数据与记住的位置对齐。端口对齐器406负责产生提供给4-20对齐器以执行其任务的信号。
图5示出4-20对齐器402的实施例。所示的4-20对齐器402的实施例提供对齐器402的各个组件和要素,诸如数据路径508和控制路径510。数据路径508包含各种寄存器多路复用器,而控制路径包括控制产生器502、比较器阵列504和有限状态机(FSM)508。在实施例中,控制路径510及其组件通过产生用于数据路径508的适当控制信号并经由FSM 508与外部组件及机器交互来控制数据路径508的工作。FSM508提供与外部组件和机器的交互。
传入的四位数据流(d[3:0])512被组合为二十位流514且变为与外部控制信号的帧和端口对齐。控制产生器502将rck20 518连同控制信号516传递至数据路径508,并传达具有与系统时钟(sck)520相同频率的中间时钟(例如rck20),该系统时钟520与恢复时钟(rck)522同步。这些信号516用使数据在帧边界对齐。此外,从外部端口对齐器接收控制信号(jmp 524),以使各端口皆对齐。这将关于图10来讨论。
图6示出利用4-20位对齐器的对齐过程的实施例。在一实施例中,例如,利用4-20对齐器通过发出寻找帧(SearchFrame)信号以执行此对齐器来对齐二十位数据流。此外,FSM用于全局地管理此对齐器,并与外部硬件通信。
当4-20位对齐器接收到信号时,在决策框602决定是否要将帧对齐。若否,此步骤将返回至决策框602。若是,则在处理框6044-20位对齐器先清除指针,并使数据路径充满新指针值(例如将指针设定为零),且在处理框606等待三周期以获得经对齐的二十位数据。此新的经对齐具有指针“零”的数据由比较器阵列进行检查,以检测SYNC模式的前四位是否存在于未对齐的二十位数据中,并利用发现的四位模式的位置计算指针值(例如ptr[4:0]/wptr[2:0])。这表示信道设定期的第一半阶段。
在决策框608决定是否在经对齐的数据中发现首部?若未发现首部,过程返回至处理框604。若发现首部,步骤将继续至处理框610。举例而言,来自各端口的wptr值被传递至耦合于4-20对齐器区块的端口对齐器。在处理框610,通过检查这些值,端口对齐器决定是否要将八用户界面(UI)延迟插入各端口中。端口对齐器区块将该指令作为jmp信号发送至连接于此4-20对齐器的所有组件。在处理框612,利用jmp信号及已发现的首部位置,比较器阵列根据首部位置计算指针值。接着将此指针值储存于寄存器。一旦确定该指针,在处理框614将等待三周期以使数据路径填满此新指针值。这被视为信道设定期的第二半阶段。
在决策框616,决定此经对齐的二十位数据是否为SYNC。若非,则步骤将继续至处理框604。若是,在处理框618确立帧对齐标记。举例而言,在第二半阶段之后,经对齐的二十位数据设置作为数据路径的输出(例如rxdata[19:0])。若经对齐的二十位数据为SYNC,则4-20对齐器将引发信号(例如帧锁定(FrameLocked)信号)以表示发现帧边界。若否,其将再次运行整个过程,直到发现相关于经对齐的二十位数据的SYNC。
图7示出比较器阵列504的实施例。在一实施例中,比较器阵列504包含任何数量的比较器,譬如如图所示的二十个四位比较器702(例如4bcmp[0]至[19])。经由四位提取器704,四位提取器704从传入的二十位数据流提取二十个四位连续数据流,且这二十个四位提取的数据流将被传递至相应的比较器702。各比较器将此二十个传入的四位数据流与四位常数706(例如0010)进行比较,这将触发四位SYNC字符的开始。在信道设定期中,这些比较器之一可能会报告“匹配”。接着,若设定(set)为一(例如setptr)712,则这些比较的结果将由20-5位编码器708编码成五位数,并由输出寄存器710锁存。同时,未被锁存的信号的较高三位将作为输出信号(例如wptr)714发送且被外部端口对齐器所使用。
图8示出数据路径508的实施例。如图所示,数据路径508包含五个阶段810至818。第一阶段810包含根据从耦合于数据路径508的外部端口对齐器接收的jmp信号值802插入两周期延迟,并于其启动时插入两rck周期(或8UI)820。此阶段的功能将于文中别处进一步讨论。第二阶段812包含移位器,以从与两连续四位数据流结合的八位输入数据流选择四位数据流。此移位器包括8-4移位器,以取代大型的常规40-20移位器。此8-4移位器的功能可取决于二位msel信号值804。数据路径508的第三阶段814包含以适当顺序精细地放置或对齐经移位的数据。适当地产生相关控制信号806(例如Iden)以放置所接收的分组的首部,使其被锁存于第一寄存器。换言之,数据在两阶段中对齐:一次于精细级,再一次于粗略级。
虽然数据位流通过第二和第三阶段812、814经过适当地移位,但可能已从先前分组接收了经对齐的数据的特定部分。为了补偿此一周期延迟,在第四阶段816,利用数个多路复用器808(例如所示的四个多任务器)选择四位经对齐数据并锁存一个周期延迟。第五和最后阶段818仅包含两寄存器,用于保存经对齐的二十位数据。
此外,每次触发jmp信号802时皆会改变等待时间。若帧对齐器不需执行帧对齐,则端口对齐器将替代地执行端口对齐。在如此情况下,如同端口对齐器所检测,在第二阶段812中,产生jmp信号802,且向输入数据流中插入两周期延迟。在一实施例中,因为此延迟在rck域820中执行,其强加的损失相对于常规系统而言相对较小。此外,当仅采用单一信道时则这不是必要的。然而,当数据到达多信道时,可通过选择适当的jmp值802以对齐数据。此将关于图12进一步描述。
图9示出获得帧对齐的二十位数据流的实施例。在处理框902,接收未对齐的四位数据流。在处理框904,从最近的八位数据流提取经对齐的下四位流。在处理框906,储存未对齐的四位数据。在决策框908,确定一循环是否执行五次。若是,在处理框914将产生经对齐的二十位数据流。在处理框916,在rck20储存较上的十六位数据,且在处理框918提供经对齐的二十位数据流。
图10示出控制产生器502的实施例,其具有内部时钟信号(例如rck201006),以避免时钟域交错问题。在一实施例中,控制产生器502中采用两时钟sck 1002及rck 1004。时钟sck 1002表示系统时钟且FSM以此时钟运行。时钟sck 1002包含二十字符符号(例如20UI)的时段,而时钟rck 1004表示来自CDR的恢复时钟且包含5UI的时段。此外,传入的数据流到达时钟rck 1004。为了使数据路径508(如图5所示)从数据流提取二十位数据,通过时钟rck 1004以使用及产生具有20UI时钟周期的中间时钟。该时钟信号称为rck20 1006,且在控制产生器502中产生。同样地,举例而言,时钟信号rck20 1006具有与时钟sck 1002的相差为约180度的性质。控制产生器502的另一角色是利用来自比较器阵列504(如图5所示)的给定指针值(ptr)产生用于数据路径508的控制信号。
此外,采用一技巧来降低功率消耗。举例而言,在设定信道之后,不需要比较器阵列,因此经对齐的二十位数据流被掩码(Masked)并传递至比较器阵列,以降低信号(诸如帧锁定信号)开启时的功率消耗。
图11示出4-20端口对齐器中的等待时间1102与指针1104之间的关系的实施例。在一实施例中,4-20端口对齐器402根据高速信号产生平行数据,并将其结果传递至系统时钟域。换言之,在系统时钟域中,等待时间1102在特定位置(例如位置1106及1108)增加,反映出高速信道的通信延迟的增加。同时,高速信道上的延迟会影响帧边界的位置,且其信息可作为指针1104的指标值而获得。利用图中所示等待时间1102及指针1104之间的图形关系,可检测若干基本点,这样的等待时间增加1106及1108各反映出不连续点。在这种情况下,等待时间1102在位置1106、1108增加(于ptr 8、wptr 2)。
图12示出基于多端口上的指针值的端口对齐实施例。所示实施例提供等待时间1202与指针1204(及wptr 1206)之间的关系,其中包含各种长条1208至1220,以反映从各端口接收的各种ptr值1204及wptr值1206。举例而言,对于情况一1208及1218而言,长条1208的第一端口1222具有为零的wptr值,而长条图1218的第二端口1224具有为二的wptr值,这表示此两端口的等待时间彼此不同。然而,若此两长条1208及1218被移位至安全区域的右边,则wptr 0的第一值将变为wptr 2,而wptr 2的第二值将变为wptr 4,且皆产生相同的等待时间。将两长条1208及1218移至两个新wptr值的必需量需要两个时钟的rck或8UI 1226,其为在数据路径508的第一阶段中设置两寄存器的一个目的。
相似地,在情况二1210及1220中,长条1210的第一端口1228位于wptr 1,而长条1220的第二端口1230位于wptr 3。将两长条1210及1220移位至安全区域中的两个新wptr值的必需量可能需要两个时钟的rck或8UI 1232。然而,图中剩余的情况三1212、情况四1214及情况五1216已经位于安全区域中,因此不需将其移位。当比较情况一1208及1218以及情况四1214时,即使一wptr值具有为零的值,仍可根据来自其它端口的wptr值来决定其指针移位。
图13示出相关于信号(例如jmp信号)的过程的实施例。所示过程实施例用于确定jmp信号值。在区块1302,当来自端口的wptr为有效时,且例如当wptr在一个端口中准备好时,其亦产生如图5所示的稳定信号。在决策框1310,若来自端口的所有稳定信号为一,则确定jmp值。在所示决策图中有两条路径:举例而言,在决策框1304,若一个wptr为零,且在决策框1306若另一wptr值等于一或二,则在框1308jmp值将等于一。若否,在区块1314jmp值将等于零。另一方面,若在决策框1310一个wptr值为一,且在决策框1312若另一wptr为二或三,则在框1308将jmp值设定为一。若否,在区块1314将jmp值设定为零。此决策可在单个周期中并行地计算。其亦产生一全稳定(allstable)信号,如图5所示,以表示决定了jmp,且相连的4-20对齐器知晓该jmp。
图14示出对于多个数据传输信道的用于执行自动数据对齐的过程实施例。在处理框1402,并行化器被开启且被配置用于检测帧边界,且其被开启后准备好用于正常操作。在处理框1404,装置被开启且在初始状态发送SYNC2模式给主机。在处理框1406,与此装置耦合的主机发送SYNC模式。此装置使对齐器(位于装置内)进行找寻帧边界(例如发出搜索帧(SearchFrame)),因此在处理框1408此对齐器寻求在传入数据流中找出SYNC模式的预定序列。在处理框1410,此对齐器与端口对齐器交互,以找出帧边界并实现端口之间的同步。
在决策框1412,确定是否在各对齐器的输出中发现SYNC模式。若否,将继续进行处理框1410。若是,将继续进行处理框1414,其中此对齐器产生帧锁定(FrameLocked)信号以通知此装置。接着,在处理框1416,此装置开始发送SYNC模式给主机以发信号通知主机。在处理框1418,在信道设定之后,主机发送开始正常操作。
图15表示可用于实施本发明实施例的计算机系统1500。计算机系统1500包括用于传达信息的系统总线1520以及耦合至总线1520的用于处理信息的处理器1510。根据一个实施例,可利用多种微处理器之一来实现处理器1510。然而,本领域普通技术人员应可理解亦可使用其它处理器。
计算机系统1500还包括随机存取存储器(RAM)或其它动态储存装置1525(在本文中称为主存储器),其耦合至总线1520,用于储存要被处理器1510执行的信息及指令。在处理器1510执行指令期间,主存储器1525也可用于储存临时变量或其它中间信息。计算机系统1500还可包括只读存储器(ROM)和/或其它静态储存装置1526,其耦合至总线1520,用于存储处理器1510要使用的静态信息和指令。
诸如磁盘或光盘及其对应的驱动器的数据储存装置1525也可耦合至计算机系统1500以储存信息或指令。计算机系统1500亦可经由输入/输出(I/O)接口1530耦合至第二输入/输出(I/O)总线1550。多个输入/输出装置可耦合至输入/输出总线1550,包括显示装置1524及输入装置(例如字母及数字输入装置1523和/或光标控制装置1522)。通信装置1521用于经由外部数据网络访问其它计算机(服务器或客户端)。通信装置1521可包括调制解调器、网络接口卡或用于耦合至以太网、令牌环或其它形式的网络的其它常规接口装置。计算机系统1500包括但不限于网络计算机装置、移动电话、个人数据助理(PDA)等。
计算机系统1500可互连于客户机/服务器网络系统中。网络可包括局域网(LAN)、广域网(WAN)、城域网(MAN)、内部网、因特网等。如同文中别处所述,任何数量的网络设备可通过端口倍增器级联,以在网络中形成联网机构。经由此网络可连接任何数量的装置。装置经由多种标准及非标准的协议(包括文中所述的协议)向网络系统中的其它装置传输诸如流送媒体数据的数据流。
在上述描述中,为解释本发明,陈述了诸多特定细节以提供对本发明的透彻理解。然而,对本领域普通技术人员显而易见的是,可实施本发明而不需其中某些特定细节。在其它实例中,公知的结构及装置以框图形式示出。所示组件之间可能存在中间结构。本文中所描述或示出的组件可具有而未加以说明或图示的额外的输入或输出。
本发明的各个实施例可包含各种步骤。这些步骤可由硬件组件执行,或可具体化于计算机程序或计算机可读指令中,这些程序或指令可用于使通用或专用处理器或用指令编程的逻辑电路执行这些步骤。替代地,这些步骤可由硬件和软件的组合执行。
说明书中所述的一个或多个模块、组件或要素,诸如在端口倍增器改进机构的实施例中或与其关联的模块、组件或要素可包含硬件、软件及/或以上的组合。在模块包含软件的情况下,软件数据、指令和/或配置可通过机器/电子装置/硬件经由制品来提供。制品可包括具有用于提供指令、数据等的内容的机器可存取/可读介质。这些内容可导致电子装置(举例而言,诸如本文中所述的滤波器、盘或盘控制器)执行所述的各种操作和动作。
本发明各种实施例的部分可作为计算机程序产品提供,其可包括计算机可读介质,该计算机可读介质具有储存于其上的计算机程序指令,该指令可用于对计算机(或其它电子装置)编程以执行根据本发明实施例的过程。机器可读介质可包括但不限于软盘、光盘、只读光盘(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光学卡、闪存或其它形式的适用于储存电子指令的介质/机器可读介质。此外,本发明亦可被下载为计算机程序产品,其中程序可从远程计算机转移至提出请求的计算机。
许多方法以其最基本的形式描述,但在不背离本发明的基本范围的情况下,可向这些任何方法添加步骤或删除步骤,且可向所描述信息中增加或减少信息。本领域技术人员显而易见,可作出进一步修改和改编。提供特定具体实施例并非用于限制本发明而是为了说明本发明。本发明实施例的范围并非由特定实施例所决定,而是由所附权利要求确定。
若陈述要素“A”耦合至要素“B”,则要素A可直接地耦合至要素B或经由例如组件C间接地耦合至组件B。当说明书或权利要求说明组件、特征、结构、步骤或特性A“造成”组件、特征、结构、步骤或特性B时,其表示“A”至少部分造成了“B”,但可存在至少另一组件、特征、结构、步骤或特性有助于造成“B”。若说明书中表明“可”、“可能”或“可以”包含组件、特征、结构、过程或特性,则并非必需包含此特定组件、特征、结构、步骤或特性。若说明书中提到“一(a)”或“一(an)”组件,那并不表示其仅存在一个所述组件。
实施例是本发明的实现或范例。说明书中对“一实施例”、“一个实施例”、“一些实施例”或“其它实施例”的引用表示关于实施例描述的特定特征、结构、或特性包含在至少一些实施例中,但未必包含在所有实施例中。“一实施例”、“一个实施例”、“一些实施例”的各种形式未必指代相同实施例。应理解,在本发明的前述示例性实施例的描述中,各种特征有时在单个实施例、附图或其描述中聚集在一起,以精简公开内容并帮助理解各个发明方面的一个或多个。然而,这种揭露方法不可解读为表示要求保护的发明需要超过权利要求中所记载的更多特征。相反,如下述权利要求所反映,发明方面依赖于单个之前揭露的实施例的并非所有特征。因此,权利要求在此被明确地包含到说明书中,其中每个权利要求独立地作为本发明的独立实施例。

Claims (15)

1.一种用于数据对齐的方法,包括:
针对多个端口中的每一个,经由与所述端口相关联的相应数据对齐器将相应数据从串行位转换为并行位;以及
将所述多个端口绑定到单个逻辑信道,所述绑定包括对于每个数据对齐器,接收来自端口对齐器的控制信号并基于所述控制信号将延迟选择性地插入所述数据对齐器内的数据路径中,以补偿所述多个端口之间的偏移。
2.如权利要求1所述的方法,其特征在于,还包括对于每个数据对齐器,在信道设定期间检测所述相应数据的帧边界信息、并利用所述帧边界信息对所述相应数据进行帧对齐。
3.如权利要求2所述的方法,其特征在于,还包括在端口对齐器处基于所述相应数据的帧边界信息生成所述控制信号。
4.如权利要求2所述的方法,其特征在于,所述帧边界信息包括所述相应数据的起始位置。
5.如权利要求1所述的方法,其特征在于,每个所述数据对齐器支持双阶段对齐,所述双阶段对齐包括端口和帧对齐。
6.如权利要求1所述的方法,其特征在于,每个数据对齐器与有限状态机耦合,以通过促进所述数据对齐器与外部系统的通信来管理所述数据对齐器,所述数据对齐器耦合于数据路径区块、控制区块以及比较器阵列中的一个或多个。
7.如权利要求6所述的方法,其特征在于,还包括在信道设定期完成之后对所述比较器阵列的输入进行掩码。
8.一种用于数据对齐的装置,包括:
用于多个串行接收机的数据对齐的机构,所述机构包括一个或多个并行化器,所述一个或多个并行化器用于:
针对多个端口中的每一个,经由与所述端口相关联的相应数据对齐器将相应数据从串行位转换为并行位;以及
将所述多个端口绑定到单个逻辑信道,所述绑定包括对于每个数据对齐器,接收来自端口对齐器的控制信号并基于所述控制信号将延迟选择性地插入所述数据对齐器内的数据路径中,以补偿所述多个端口之间的偏移。
9.如权利要求8所述的装置,其特征在于,每个数据对齐器在信道设定期间检测所述相应数据的帧边界信息、并利用所述帧边界信息对所述相应数据进行帧对齐。
10.如权利要求9所述的装置,其特征在于,所述端口对齐器基于数据的帧边界信息生成所述控制信号。
11.如权利要求10所述的装置,其特征在于,所述帧边界信息包括所述相应数据的起始位置。
12.一种用于数据对齐的系统,包括:
计算机系统,包括处理器和耦合至所述处理器的存储器,所述计算机系统具有用于多个串行接收机的数据对齐的机构,所述机构包括一个或多个并行化器,所述一个或多个并行化器用于
针对多个端口中的每一个,经由与所述端口相关联的相应数据对齐器将相应数据从串行转换为并行位;以及
将所述多个端口绑定到单个逻辑信道,所述绑定包括对于每个数据对齐器,接收来自端口对齐器的控制信号并基于所述控制信号将延迟选择性地插入所述数据对齐器内的数据路径中,以补偿所述多个端口之间的偏移。
13.如权利要求12所述的系统,其特征在于,每个数据对齐器在信道设定期间检测所述相应数据的帧边界信息、并利用所述帧边界信息对所述相应数据进行帧对齐。
14.如权利要求13所述的系统,其特征在于,所述端口对齐器基于所述帧边界信息生成所述控制信号。
15.如权利要求14所述的系统,其特征在于,所述帧边界信息包括所述相应数据的起始位置。
CN200980144150.7A 2008-10-29 2009-09-30 用于多个串行接收机的自动数据对齐器的方法、装置及系统 Active CN102204198B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/260,970 2008-10-29
US12/260,970 US8036248B2 (en) 2008-10-29 2008-10-29 Method, apparatus, and system for automatic data aligner for multiple serial receivers
PCT/US2009/059080 WO2010053637A2 (en) 2008-10-29 2009-09-30 Method, apparatus, and system for automatic data aligner for multiple serial receivers

Publications (2)

Publication Number Publication Date
CN102204198A CN102204198A (zh) 2011-09-28
CN102204198B true CN102204198B (zh) 2015-01-07

Family

ID=42117442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980144150.7A Active CN102204198B (zh) 2008-10-29 2009-09-30 用于多个串行接收机的自动数据对齐器的方法、装置及系统

Country Status (8)

Country Link
US (1) US8036248B2 (zh)
EP (1) EP2351303B8 (zh)
JP (1) JP5568089B2 (zh)
KR (1) KR101470989B1 (zh)
CN (1) CN102204198B (zh)
DE (1) DE202009019093U1 (zh)
TW (1) TWI502358B (zh)
WO (1) WO2010053637A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412900A (zh) * 2011-11-30 2012-04-11 中国航空工业集团公司第六三一研究所 一种用于实现光纤通道数据位重对齐功能的方法
CN102970109B (zh) 2012-11-16 2016-06-22 中兴通讯股份有限公司 一种高速多通道的数据传输方法、相关装置和系统
CN103744827A (zh) * 2014-01-10 2014-04-23 浪潮电子信息产业股份有限公司 一种提高芯片逻辑时序的串行数据帧匹配方法
US9888077B2 (en) 2014-04-22 2018-02-06 Western Digital Technologies, Inc. Metadata based data alignment in data storage systems
KR102225619B1 (ko) 2015-02-10 2021-03-12 한화테크윈 주식회사 고속직렬데이터수신장치
US10313102B2 (en) * 2016-12-22 2019-06-04 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by selectively deactivating frame alignment process
US10455501B2 (en) * 2016-12-22 2019-10-22 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by serializing frame alignment processes for multiple lanes
US10594892B2 (en) 2017-05-18 2020-03-17 Analog Devices Global High speed serial link for video interfaces
TWI678902B (zh) * 2018-11-28 2019-12-01 中華電信股份有限公司 針對應用進行封包處理/交換的網路系統與方法
CA3160355A1 (en) * 2019-12-02 2021-06-10 Uri Avni Packetized data communication over multiple unreliable channels
CN111431533B (zh) * 2020-04-26 2023-06-16 杭州电子科技大学富阳电子信息研究院有限公司 一种高速lvds接口adc数据与时钟同步的方法
US11899609B2 (en) * 2021-12-20 2024-02-13 Nvidia Corporation Frame alignment recovery for a high-speed signaling interconnect

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827448A (ja) * 1981-08-10 1983-02-18 Nippon Telegr & Teleph Corp <Ntt> 広帯域通信方式
GB8407223D0 (en) * 1984-03-20 1984-04-26 British Telecomm Broadband digital transmission systems
JPS6386630A (ja) * 1986-09-29 1988-04-18 Nec Corp 並列伝送路におけるフレ−ム同期方式
JPH0514335A (ja) * 1991-07-04 1993-01-22 Mitsubishi Electric Corp 並列伝送路のフレーム同期装置
US5408473A (en) * 1992-03-03 1995-04-18 Digital Equipment Corporation Method and apparatus for transmission of communication signals over two parallel channels
JP3224310B2 (ja) * 1993-08-12 2001-10-29 富士通株式会社 並列伝送路復号化処理装置
JP2878193B2 (ja) * 1996-07-22 1999-04-05 日本電気株式会社 変復調装置
US6215798B1 (en) * 1996-11-01 2001-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Multi-frame synchronization for parallel channel transmissions
US6970435B1 (en) * 1998-06-15 2005-11-29 International Business Machines Corporation Data alignment compensator
EP1048114B1 (en) * 1998-08-20 2006-06-07 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
US6775302B1 (en) * 1998-12-14 2004-08-10 Agere Systems Inc. Communications system with symmetrical interfaces and associated methods
US20020018444A1 (en) 2000-04-11 2002-02-14 Cremin Con D. Method and apparatus for multi-lane communication channel with deskewing capability
US6690757B1 (en) * 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US7054331B1 (en) * 2000-09-13 2006-05-30 Intel Corporation Multi-lane receiver de-skewing
US20020184412A1 (en) * 2001-06-02 2002-12-05 Stevens James Ray System and method for locating and aligning to framing bits
US7170891B2 (en) * 2001-08-30 2007-01-30 Messenger Terabit Networks, Inc. High speed data classification system
KR100408416B1 (ko) * 2001-09-06 2003-12-06 삼성전자주식회사 디지털 비디오 신호 전송 시스템 및 전송방법
US20040117499A1 (en) * 2002-12-13 2004-06-17 Bo Liu System and method for detection of delineation of data units for a communication element
US7543193B2 (en) * 2003-06-02 2009-06-02 Pmc-Sierra, Inc. Serial data validity monitor
TWI249681B (en) * 2003-07-02 2006-02-21 Via Tech Inc Circuit and method for aligning data transmitting timing of a plurality of lanes
US7546401B2 (en) * 2004-09-23 2009-06-09 International Business Machines Corporation Byte to byte alignment of multi-path data
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
US7549074B2 (en) * 2005-06-02 2009-06-16 Agere Systems Inc. Content deskewing for multichannel synchronization
US8234424B2 (en) * 2006-06-08 2012-07-31 Integrated Device Technology, Inc. Efficient strip-down and re-alignment of ingressing physical layer/data layer packets in an aggregated PCI-express port having eight lanes
TW200834329A (en) * 2006-08-10 2008-08-16 Avocent Huntsville Corp USB based virtual media system
US8098692B2 (en) 2006-08-29 2012-01-17 Koninklijke Philips Electronics N.V. Method and apparatus for high speed LVDS communication
KR100894811B1 (ko) * 2007-01-11 2009-04-24 삼성전자주식회사 서데스의 역직렬화기 및 그것의 데이터 역직렬화 방법

Also Published As

Publication number Publication date
EP2351303B8 (en) 2015-12-23
US20100103929A1 (en) 2010-04-29
CN102204198A (zh) 2011-09-28
KR101470989B1 (ko) 2014-12-09
WO2010053637A2 (en) 2010-05-14
JP2012507934A (ja) 2012-03-29
KR20110080175A (ko) 2011-07-12
EP2351303B1 (en) 2015-11-11
US8036248B2 (en) 2011-10-11
JP5568089B2 (ja) 2014-08-06
DE202009019093U1 (de) 2016-05-23
TW201017422A (en) 2010-05-01
WO2010053637A3 (en) 2011-02-24
EP2351303A2 (en) 2011-08-03
TWI502358B (zh) 2015-10-01

Similar Documents

Publication Publication Date Title
CN102204198B (zh) 用于多个串行接收机的自动数据对齐器的方法、装置及系统
US7093061B2 (en) FIFO module, deskew circuit and rate matching circuit having the same
US8527676B2 (en) Reducing latency in serializer-deserializer links
CN101681249B (zh) 先进先出缓冲器
US7975082B2 (en) System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
EP1585247B1 (en) System and method of phase-locking a transmit clock signal phase with a receive clock signal phase
US7958285B1 (en) System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
CN104135413B (zh) 一种适用于多点互联应用场合的高速串行总线采样系统
US7500131B2 (en) Training pattern based de-skew mechanism and frame alignment
US8401138B2 (en) Serial data receiver circuit apparatus and serial data receiving method
US20060209735A1 (en) Auto realignment of multiple serial byte-lanes
JP2005505200A (ja) データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信
KR20030090954A (ko) 대용량 데이터의 분할 전송을 위한 다중 레인간의 비틀림정렬 장치 및 방법, 그리고 기록매체
CN111147224A (zh) 时钟恢复装置以及源极驱动器
CN101719858B (zh) Can控制器的位时序的同步处理方法
US7042893B1 (en) Serial media independent interface with double data rate
US20030161351A1 (en) Synchronizing and converting the size of data frames
CN102754407B (zh) 串行接收机及其方法与通信系统
CN109726158A (zh) 一种多通道串行数据恢复方法和装置
US20060098770A1 (en) Synchronizer for passing data from a first system to a second system
CN102111329A (zh) 基于嵌入式高速收发器的校准逻辑系统
Caputa et al. An on-chip delay-and skew-insensitive multicycle communication scheme
CN102394808A (zh) 以太网串行介质无关接口相位适配和帧对齐的方法及装置
KR20210048670A (ko) 표시장치에서의 데이터 통신 방법
US6744834B1 (en) Method and apparatus for initializing a synchronizer for same frequency, phase unknown data across multiple bit-sliced interfaces

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151113

Address after: oregon

Patentee after: LATTICE SEMICONDUCTOR CORPORATION

Address before: American California

Patentee before: Silicon Image Inc. A. Delaware C.