在串行链路中用于编码的链路和线路级分组方案的制作方法

文档序号:7707936阅读:266来源:国知局
专利名称:在串行链路中用于编码的链路和线路级分组方案的制作方法
技术领域
本发明涉及在串行链路中编码,尤其涉及对8b/10b编码方案的改进。
背景技术
诸如高速外设组件互连(PCIe)的一些串行互连使用8b/10b编码方案,所述 8b/10b编码方案使用导线上的10位来表示8位的有意义的数据。8b/10b编码方案 被设计成确保足够的l-到-0和O-到-l转换密度,使得接收机可以对进入的分组计 时。由于编码,这有20%带宽的损失,以及25%传输性能的损失。
除了编码正负不等的28个可能的数据模式之外,10位编码包括用于各种目的 的一些控制字符(也称为K-代码),诸如确定帧边界。这些大致上可以被分类为 分组描述K代码和线路流K代码。分组描述K代码指示分组的开始或结束(例如, STP、 SDP、 END、 EDB)。另一方面,线路流K代码基于每条线路独立地使用, 并且用于在链路训练(训练集TS1/TS2)期间使用的有序集、电气空闲进入/退出 序列(分别为EIOS和EIES)或用于容忍不同的时钟模式中百万分率(ppm)差异 的周期性跳过字符(SKP)有序集。线路流K代码(COM)之一用于独特地标识 字节对齐,以及用于从诸如位滑动或添加等差错恢复。除了保证从多个位差错(包 括由于诸如位滑动/添加的差错引起的字节对齐的丢失)的最终恢复之外,8b/10b 允许对任一单个位翻转差错的有保证的检测(结合CRC)。
随着基于串行链路的实现变得普遍且这些实现的频率持续增长,有效的编码 对于提取多数原始带宽变得很关键。
替代8b/10b编码并不是没有风险的。需要解决新方案的可靠性的难题。任一 新方案必须能够保证现有的差错模型,这确保某些预定数目的位翻转差错检测以及 从其它差错类型(包括多位差错、位滑动等)的最终恢复。
此外,随着频率的增长(例如PCIe3.0在8GT/s),可能有需要任一新的编码 方案解决的其它差错类型。例如,应当考虑使用判决反馈均衡器(DFE)的接收机 设计。根据位模式,DFE可以看到单个位翻转破坏后续位。即使现有的8b/10b方案可能不能检测这些类型的差错。因此,除了保留现有故障模型之外,非常期望在 任一线路的位滑动窗口中容许多个位差错。
对于具有串行和并行链路属性的串行链路(诸如PCIe,其中数据字节在多线 路链路中的多条线路上成带状),诸如64/66等现有解决方案不起作用。所提出的 方案解决这些问题中的一些。


结合附图,参考以下详细描述,上述各方面和本说明书的许多随后的优点将 变得容易明白和理解,其中在所有的各个附图中,相同的编号指示相同的部分,除 非另外指明 -
图l是依照一些实施例,使用编码方案的系统的框图2是依照一些实施例,包括图1的编码方案所使用的前缀和128位序列的 "30, 128)代码的框图3是依照一些实施例,由图1的编码方案处理的四种有效载荷及其长度的
框图4是依照一些实施例,由图1的编码方案使用的事务层分组布局的框图, 其中CRC[3:0]={Length[9:0],TD,Tmt[l,0]}mod CRC多项式的12阶多项式,END= 字节l到(n/8-l)的逐字节的异或,EDB-字节1至U (n/8-l)的逐字节的同;
图5是示出依照一些实施例,由图1的编码方案执行的以获取块锁定的操作 的流程图6是示出依照一些实施例,由图1的编码方案执行的用于处理分组的操作 的流程图7是依照一些实施例,由图1的编码方案使用的数据链路层分组布局的框 图;以及
图8是示出依照一些实施例,在处理分组之前由图1的编码方案执行的增强 的操作的流程图。
具体实施例方式
依照此处所描述的实施例,揭示了新颖的编码方案,使得物理层能够通过査
看一些所选择的位来标识分组的边界,同时改进差错检测性能并对低功率状态维持 低幵销。通过消除8b/10b编码对物理层的开销,编码方案实现了比现有的8b/10b编码更好的差错检测性能。此外,新颖的编码方案提供了其它差错检测性能、用于 退出低功率状态的低开销机制以及用于处理有问题的分组的机制。
在以下的详细描述中,参考了附图,其通过图示示出可实践本发明的具体实 施例。然而,应该理解,阅读本公开内容时,其它实施例对于本领域的普通技术人 员将变得显而易见。例如,此处所描述的实施例是指快速PCI。然而,所揭示的根 本的技术可以扩展到任一串行链路。因此,以下详细描述并不应该被解释为限制的 意思,因为本发明的范围由权利要求所限定。
图1是依照一些实施例采用编码方案100的系统200的示意性框图。系统200 包括通过串行链路80通信的发射机40和接收机50。串行链路80可以是发射机40 和接收机50之间的有线或者无线连接,并且可以包括一个或多个线路。编码器100 采用(130, 128)代码90,这在以下进一步解释。发射机40包括编码器20以及 扰码器30,所述编码器20执行所揭示的编码方案100。接收机50包括解码器60 和解扰码器70,所述解码器60也执行编码方案100。编码方案100代替了现有技 术中公知的8b/10b编码方案。
所揭示的编码方案100使用各种技术来改进差错检测性能并避免杀手(Killer) 分组,并且将经扰码的和经解扰码的码元的混合用于链路训练的不同部分来获得更 好的可靠性。在一些实施例中,通过替代8b/10b编码,编码方案100增加了串行 链路80的有效带宽。这不仅在当前8b/10b编码方案上增加了性能,而且编码方案 IOO也导致功率降低,因为功率与链路上的原始位速率直接相关。除了保留现有故 障模型之外,所提出的编码方案100在任一线路内的位滑动窗口内容许多个位差 错。
在一些实施例中,多数情况下,编码方案100使用(130, 128)类型的代码 90来覆盖串行链路80的每条线路。在可能使用不同的编码方案以实现更好的效率 的情况下会有例外。例如,当从低功率状态退出时,在发送(130, 128)格式的常 规通信量之前,编码方案IOO可以简单地发送原始位以唤醒接收机、实现位锁定, 并接着做线路到线路去偏斜。这些功能(唤醒接收机、位锁定、线路到线路去偏斜) 的每一个可以通过发送独特的模式来实现,而无需支付编码开销。
(130, 128)代码卯是现有技术64/66代码的变体,但以不同的方式使用。 在编码器20 (发射机40)中,通过链路80发送(130, 128)代码90,使得接收 机50可以标识输入数据的开始。因此,解码器60 (接收机50)査找链路80中的 (130, 128)代码卯。(130, 128)代码90也用作训练序列,允许发射机40和接收机50来同步它们自身。
大致有四种类型的有效载荷事务层分组(TLP)、数据链路层分组(DLLP)、 空闲(无分组)(IDLE)以及有序集。TLP具有可变长度有效载荷。DLLP具有8 个字节的固定长度有效载荷。IDLE具有一个字节的固定长度有效载荷。有序集具 有为链路80-的每个线路建立的可变长度的有效载荷。如以下所示,除了可选地作 为训练序列之外,(130, 128)代码90可以是逻辑DL、事务层分组(TLP)或数 据链路层分组(DLLP)。
依照一些实施例,在图2中描述了 (130, 128)代码卯。(130, 128)代码 90的前两位22或同步报头22是01 二进制、Olb或者U)b(在图2中示为"10b")。 位序列"10b"被用作某些特殊分组或有序集的前缀,其中有效载荷没有被扰码。一 个示例是PCIe中的电气空闲退出序列(EIES〉,它使用的频率内容操作。在一些 实施例中,EIES的128位有效载荷可以是八个0的序列。如所示的,前两位22(01b 或10b)之后,八个0和随后的八个1的序列24重复八次。
因此,依照一些实施例,对于总共130位,用于(130, 128)代码90提出的 编码包括图2中所示的两位前缀22以及128位序列24。前缀的前两位22 (Olb或 10b)未被扰码,且128位序列24未被扰码,以保留低频模式。
在一些实施例中,因为序列24未被扰码,它也用于不同的目的。周期性地以 恢复状态发送序列24,由此序列24被用于检测任何位滑动或添加类型的差错,导 致字节对齐的丢失。期望是如果接收机50迷失(例如由于字节对其的丢失),那 么最终链路80转到恢复状态。或者是循环冗余校验(CRC)(或其它差错保护方 案)失败,或者是发生某些其它的帧差错(诸如获得无效的分组开始),或者是另 一方没有得到期望的确认,都会使得链路80转向恢复状态以便重新同步。 一旦在 恢复状态中,链路期望获得某种类型的训练序列。恢复状态中链路80的每条线路 査找EIES中独特的130位模式。可以证明在恢复状态中,由于有限数目的训练序 列是可能的,因此,由于EIES模式的独特性,位滑动再多(没有位翻转)也不会 造成非EIES模式(例如序列24)类似于EIES模式。
EIES也可用于复位扰码器30或解扰码器70的线性反馈移位寄存器(LFSR)。 虽然编码方案IOO对于多个目的重复使用相同的EIES模式,但是本领域的技术人 员会认识到可以通过使不同的解扰码模式用于低频模式的每个目标、获取块锁定以 及复位(解)扰码器可以实现相同的效果。
在一些实施例中,当(130, 128)代码90的前缀为01b时,发送其它类型的有效载荷。示例可以包括逻辑IDL事务以及与同前缀10b —起发送的有序集不同 的一些有序集。可以对具有该前缀的128位负载进行扰码。在一些实施例中,在被 扰码的128位有效载荷中,接收机50和发射机40独特传达分组边界以及线路流边界。
在一些实施例中,编码器100使用分组方案来描绘分组边界。分组可以被定 义为逻辑IDL、事务或与(130, 128)代码90的"01b"前缀一起发送的有序集。 有效载荷的第一个(8位)码元指示接着是那种类型的有效载荷,并帮助指出下一 分组在哪里开始。图3示出了对8位有效载荷类型码元32 —种可能的编码以及(如 果已知)有效载荷的期望长度34。只要为每种有效载荷类型定义独特的码元,那 么可以使用其它码元序列。通过査看有效载荷的第一个码元,接收机50指出正在 发送哪种类型的有效载荷。
如果接收机50获取了有效载荷类型码元32中的发送DLLP有效载荷(SDP〉 或IDLE有效载荷,那么有效载荷长度34是事先已知的(分别是八个字节或一个 字节)。另一方面,如果在有效载荷类型码元32中发射发送TLP有效载荷(STP), 那么接收机50确定分组在哪里结束,使得可以获取下一分组的第一个码元。此处 不讨论有序集有效载荷。在一些实施例中,如果接收机在第一个码元中获得这四种 有效载荷类型32之外的任何东西,那么接收机50报告差错,并使得链路80转向 恢复。该编码方案100导致保证对三倍位翻转差错的检测。
在一些实施例总中,如果接收机50检测到发送事务层分组(STP),那么接 收机査看后续的位和下面的几个字节,以计算出TLP的长度。由于TLP有效载荷 的长度是可变的,因此该计算有助于判定下一分组的开始字节位置(字节0)。图 4是依照一些实施例的事务层分组布局36的框图。在PCIe中,有效载荷的长度是 多个字段的函数长度字段46 (长度[9:0])、格式字段M(fmt[l,0])以及TLP摘要 (TD)字段48。
在一些实施例中,获得双字中TLP有效载荷的长度的等式是 tlp—长度[10:0] = (if Fmt[l] then长度[9:0]; else 0) +
5 (对于三个双字报头、链路级别CRC、 STP以及END/EDB)十
(if Fmt[O] is 1 then 1; else 0)(如果是1则指示四个双字报头)+
(if TD is 1, then 1; else 0)(指示端对端CRC)
在一些实施例中,根据所期望的差错覆盖,用于判定有效载荷长度的TLP字段由CRC字段保护。虽然分组自身可以是CRC保护的,但是形成长度的字段中的 位差错会导致分组边界以错误的字节终止,以致于当发生组帧时,将错误的位当作 CRC。即使获得了比CRC可以容许的更少的差错,这也可导致产生伪信号。
在一些实施例中,为了避免这个问题,编码器100采用分开的CRC来保护构 成长度的字段。该分开的CRC位于TLP的固定数位位置中,使得接收机50每次 都能够检索CRC。由此,在该示例中,构成长度的所有字段以及覆盖它们的CRC 在固定位置中。
在一些实施例中,如图4中所述,编码器IOO定义先前保留的字节三的最后 四位,用于存储CRC信息的四个位42。这些位(CRC[3:0])42被用于存储包括事务 层分组的长度信息的13位字段的CRC。因此,CRC位42釆用两位格式44、 10 位长度46以及一位TLP摘要(TD) 48的CRC (如上所示)、计算TLP 36的长 度所需的信息。CRC[3:0] 42存储四阶的本原多项式以确保会检测出4位窗口内任 何数目的差错。在其它实施例中,为了改进的检测,为CRC使用更多的位。
快速PCI为END (或坏的分组的EDB)定义了字节,以表示分组的结束。这
样做使得物理层具有不同的分隔符来表示分组的结束,而非必须査看分组的内容。 编码方案100也为END/EDB定义了字节以表示TLP 36的结束。因此,如图4中 所示,所提出的事务层分组布局36在结束处包括8位用于END/EDB的奇偶校验 字节52。
为了实现更好的差错覆盖,如果最后的字节是良好结束(END),那么编码 方案IOO采用结束字节位置来发送事务层分组的所有字节(字节l到n-2)的逐字 节的异或(XOR) , n是字节中分组的长度。在一些实施例中,随着字节的发送/ 接收,它们被存储在相应的发射机40/接收机50的存储器中。
相反,如果由于坏的分组,最后一字节是坏的结束(EDB),那么在事务层 分组36中计算字节一到n-2的逐字节同(XNOR)。接收机50在事务层分组36 中进行字节一到n-l的逐字节XOR (包括结束字节位置)。全0的结果表示从物 理层角度的成功的结束(LCRC校验将在链路层发生并且其它事务层校验将在事务 层发生)。全1的结果表示成功的EDB。任何其它的值指示位差错,这样使得指 示组帧差错而链路进入恢复模式。由于逐字节的XOR,编码器100提供对7位窗 口内任何数目的位的差错检测。因为全1是有效编码,所以编码器IOO没有得到对 8位窗口内多个位差错的覆盖。本领域的技术人员应该认识到所提出的END/ENB 可以扩展到任何数目的位,并且可以使用任一方案,诸如CRC而非逐字节的奇偶性。
图5是示出依照一些实施例获取块锁定的过程的流程图。编码器100首先作 出查询以确定是否有以下事件之一发生链路丢失组帧、发现差错、接收到恢复序 列以及处于恢复/训练中(块102)。如果否,那么不采取行动直至确实发生了事件 中的一个,此时编码器100确定审行链路80处于恢复还是训练状态(块104)。 如果是,那么作出到恢复的直接链路(块106)。当链路丢失时,发生到恢复的直 接链路。接收机50转向恢复状态,其中它取回块锁定并重新开始。否则,不作出 到恢复的直接链路。
在一些实施例中,接收机50使用块锁定获取参数来指示它是否获取了块锁定。 此时,接收机50将块锁定获取参数设置为假(FALSE)(块106)。接着,编码 器100位移(shiftinbits)到130位寄存器,诸如图2中的(130,128)代码90(块110)。 这用于获取130字节字段上的块锁定。如果130位寄存器查找电气空闲退出序列 (EIES)(块112),那么检査以确定块锁定获取参数是否被设置为真(TRUE), 并且130位寄存器不匹配先前的边界(块114)。如果130位寄存器不是E正S, 那么编码器100检查块锁定获取参数是否仅被设置为TRUE (块120)。
当块锁定获取为TRUE且130位寄存器不匹配先前的边界(块114的"是" 分支),块锁定获取参数被设置为TRUE (块124),编码器100重新建立块锁定 边界(块126),并且用差错终止进行中的有序集(块128)。
当査询之一或两者都不为真(块114的"否"分支),那么块锁定获取参数 被设置为TRUE (块116)并且建立块锁定边界(块118)。接着,査询块锁定获 取参数是否为TRUE (块120)。如果否,那么作出到130位寄存器的另一位移(块 110)。如果块锁定获取参数为TRUE (块120的"是"分支),那么将适当数目 的位转发给接收机(块122)。
当或是用差错终止了处理中的有序集(块128)或适当数目的位被转发给接收 机核心50 (块122)之后,查询链路是否回到常规操作(块130)。如果是,那么 从开始重复编码器100的操作(块102)。否则,作出到130位寄存器的另一位移 (块110)。
图6是示出依照一些实施例,系统200中编码器100的操作的流程图(图l) 用于处理事务层分组。尽管图5示出了获取块锁定的、是从差错回复还是刚开始的 过程,而图6示出了在建立块锁定后使用带有事务的链路80的常规分组处理。流 程图描述了接收机50处的操作(图1)用于处理来自系统200中发射机40的分组。该过程直至链路结束并且没有接收到有序集才开始(块202)。当这样时,读取同步报头22以确定它是否为Olb (块204)。回想到(130, 128)代码90具有Olb 的前缀、诸如逻辑IDL的有效载荷、事务层分组以及有序集。如果同步报头22不 是01b,而是10b,那么分组是有序集并且被如上所述地处理(块206)。否则, 剩余的128位(16字节).24被解扰码(块208)。接着,查询128位24的第一个码元是否为逻辑IDL (LIDL)(块210)。如 果是,那么不进行进一步的处理,因此编码器100回到开始(块202)。如果第一 个码元不是LIDL,那么新的查询询问第一个码元是否是数据链路层分组(DLLP) 的开始(块212)。如果是,那么转发接下来的六个字节以供处理,并计算字节奇 偶性(块214)。回想到DLLP分组具有八个字节的固定长度。如此,结束字节总 是第八字节。相应地,检査第八字节以査看它是否匹配DLLP计算所得的奇偶性(块 216)。如果是,那么处理完成且控制转回到幵始(块202)。当计算所得的奇偶性不匹配存储在第八字节中的值时(块216的"否"分支), 那么将字节/线路不匹配记入日志(块218),并且作出到恢复的直接链路(块220)。如果第一个码元不是DLLP的开始(块212的"否"分支),那么编码器100 确定第一个半字节是否是事务层分组(TLP)的开始(块222)。如果是,那么编 码器100从TLP布局36 (图4)获取CRC位42并将4位值与格式字段44、长度 字段46以及TLP摘要字段48中获得的值作比较(块224)。如果有匹配,那么转 发接收到的整个分组以供处理,而编码器100计算字节奇偶性(块226)。否则, 作出到恢复的直接链路(块220)。 一旦计算了奇偶性,就将它与存储在128位序 列的结束字节中的值作比较(块228)。如果结束字节等于计算所得的奇偶性,那 么最后一个字节组成有效的END字节(块230)。如果结束字节是计算所得的奇 偶性的逆,那么发现了坏的END (EDB)(块230)。如果结束字节既不是计算 所得的奇偶性,也不是其逆,那么结束对该序列的处理并且控制转回到开始(块 202)。如果第一个半字节不是TLP的开始(块222的"否"分支),则编码器100 确定第一码元是否指示有序集(块232)。如果是,则如果有序集具有正确的格式 就转发该有序集。否则,将差错记入日志且链路被引导转向恢复(块234)。如果 第一码元不是四种类型之一 (逻辑IDL、 TLP、 DLLP、有序集)则链路被引导到 (块220)。图7是依照一些实施例描述数据链路层分组布局56的框图。DLLP 56是八个字节的固定长度的有效载荷。相应地,在前8位有效载荷类型的码元32 (指示有 效载荷的类型(sSDP))之后,DLLP有效载荷54被存储在接下来的四个字节中, LCRC 58在接下来的十六个位中,而END奇偶校验字节52被存储在最后一个字 节中。对于数据链路层分组(DLLP)有效载荷,对END奇偶校验字节52应用相 同的XOR规则。因此,获取DLLP 56中所有字节的按字节的XOR。因为数据链 路层分组不具有EDB,接收机的XOR中所有的1被认为是差错。因此,对于DLLP 有效载荷56,编码器100可用容忍8位窗口内任何数目的位差错。在一些实施例中,编码器100提供对四位窗口 (如果长度字段不受影响)内 以及七位窗口内分组有效载荷的剩余部分位差错的有保证的检测。在本文中没有描 述有序集差错的检测。在一些实施例中,编码器根据需要为奇偶校验使用分开的字 节。然而,因为由于协议内嵌入的差错检测(许多重复)有序集可用容许多个位差 错,以及因为多位差错不影响数据一致性,所以对于有序集这是不需要的,但是会 对事务或数据链路层分组有用。这对于使用离散傅立叶均衡器的实现非常有用。对 给定窗口中多个位翻转的有保证的检测是由于该方法而添加的新的性能。在一些实施例中,编码器100通过发送非(130, 128)编码的经解扰码的模 式来最优化它用于退出低功率状态的时间,诸如L0s。 (L0s是发送和接收分组的 常规操作状态;L0s是省电状态,其中可能快速回到L0状态是而无需经历链路恢 复。)图8是示出依照一些实施例,由编码器IOO执行的操作的流程图。首先,编 码器IOO发送预定数目的低频模式(诸如在快速PCI2.0中),诸如八个0之后是 八个1,重复四到八次(或按照所需)(块302)。这有助于接收机50退出电气空 闲状态。接着,发射机40发送设备在链路谈判期间请求的高频快速训练序列(FTS) 的数目(块304) 。 FTS可以是特殊码元的组合(例如每个FTS可以是10110010 之后为三个10101010)。高频组分有助于获取位锁定,而第一个码元可用于实现 字节锁定。在结尾处,编码器100发送预定数目的码元以实现线路到线路去偏斜 (诸如11000011)(块306)。在获取了码元锁定之后,接收机50查找去偏斜模式以便在串行链路80的线 路之间进行去偏斜。在第二去偏斜之后,(130, 128)代码90可以开始(块308)。 在发送预定模式时,删除没有扰码的(130, 128)代码90以使得操作的链路可比 发送低频模式周期性序列来退出电气空闲,之后是高频模式的周期性序列以实现位 和码元锁定以及用于执行线路到线路的去偏斜的分开的集合一一所有都嵌入在(130, 128)代码卯中并获得扰码更为有效。在L0s期间重置扰码器30/解扰码器 70并且开始用第一个(130, 128)代码90工作。在一些实施例中,流程图300演 示了在正常发送之前(例如在LO功率状态中),编码器100如何执行这些分开的 事务,用于退出电气空闲状态、用于获取位锁定以及用于实现线路到线路去偏斜。利用仅扰码方法引起的不同问题被称为杀手分组。在一些实施例中,如果特 定的位模式会造成差错,且在通过恢复阶段的第一个行程后的扰码之后TLP或 DLLP分组正好有该模式,那么编码器IOO确保该有问题的位模式不会在后续的重 发中重复。该方法将避免任何病毒造成的链路失效。在通过恢复的每个行程中,对 于每个EIES序列,扰码器30 (解扰码器70)被复位为开始值。在恢复阶段期间 复位扰码器30 (解扰码器70)是需要的,因为由于诸如位滑动等差错,扰码器70 和发射机40可能失去同步。然而,该扰码器同步的不利方面是可能相同的TLP分 组36在每次通过恢复阶段时出现同样的位流。如果该位模式是杀手位模式,那么 位模式会重复地造成诸如位差错等问题。在一些实施例中,为了避免这些问题,编码器100在发送由恢复阶段产生的 第一 TLP 36之前,发送LO中特殊IDLE码元的随机数。在一些实施例中,特殊IDLE 码元的数目的精确规则是由实现决定的,且可以根据各种因素每次运行时改变。多 个因素的影响使得难以表征通过恢复阶段的每个行程的期望数据。虽然关于有限数目的实施例描述的本发明,但是本领域的技术人员应该理解 它的许多修改和变体。所附权利要求旨在覆盖在本发明的真实精神和范围内的所有 这样的修改和变体。
权利要求
1.一种用于发送使用(130,128)编码方案进行编码的数据的系统,所述系统包括包括解码器的接收机;将发射机耦合到所述接收机的串行链路,其中由所述接收机通过所述串行链路接收代码,所述代码包括包括两个有效状态之一的两位前缀;以及预定位长度的序列;其中所述代码使得所述接收机能够标识进入的数据。
2. 如权利要求1所述的系统,其特征在于,所述接收机使用所述代码作为训 练序列,使得所述接收机能够与所述发射机同步。
3. 如权利要求l所述的系统,其特征在于,所述两位前缀包括第一有效状态, 其中所述第一有效状态指示所述代码是电气空闲进入序列或电气空闲退出序列,而 所述预定位长度的序列包括重复模式。
4. 如权利要求1所述的系统,其特征在于,所述两位前缀包括第二有效状态, 其中所述第二有效状态指示所述预定位长度的序列的第一种字节是有效载荷类型 码元。
5. 如权利要求4所述的系统,其特征在于,所述有效载荷类型码元指示所述 有效载荷是空闲有效载荷、事务层分组有效载荷、数据链路层分组有效载荷或有序 集有效载荷。
6. 如权利要求5所述的系统,其特征在于,所述有效载荷类型码元指示事务 层分组有效载荷,其中所述事务层分组还包括一个或多个长度字段;以及 CRC字段,所述CRC字段占用所述事务层分组的固定位置,其中所述CRC 字段包括所述一个或多个长度字段的循环冗余校验;其中所述接收机在使用所述一个或多个长度字段计算事务层分组的长度之 前,确认关于所述CRC字段的所述一个或多个长度字段。
7. —种用于在发射机和接收机之间发射数据的编码方案,所述编码方案包括 由所述接收机通过串行链路接收代码,所述代码包括-两位前缀;以及 预定位长度的序列;其中所述代码使得所述接收机能够与耦合到所述串行链路的所述发射机同步;由所述接收机获取块锁定;以及如果所述两位前缀具有第一预定值,那么读出有效载荷类型码元,其中所述 有效载荷类型码元占据所述预定位长度的序列的第一个字节;其中当所述两位前缀具有第二预定值时,所述代码包括电气空闲进入信号或 电气空闲退出信号。
8. 如权利要求7所述的编码方案,其特征在于,读出有效载荷类型码元还包括检索所述有效载荷类型码元,其中所述码元指示空闲的有效载荷;以及 对所述代码不执行进一步的处理。
9. 如权利要求7所述的编码方案,其特征在于,读出有效载荷类型码元还包括检索所述有效载荷类型码元,其中所述码元指示数据链路层分组; 计算所述预定位长度的序列的字节奇偶性; 转发所述六个后续字节以供处理;以及将计算所得的字节奇偶性与所述预定位长度的序列的最后字节作比较,其中如果所述字节奇偶性与所述最后字节不同就将差错记入日志。
10. 如权利要求7所述的编码方案,其特征在于,读出有效载荷类型码元还包括检索所述有效载荷类型码元,其中所述码元指示事务层分组;检索所述事务层分组的长度字节,所述长度字节是在所述预定位长度的序列 中的预定位置处;以及依照规则,将所述检索出的长度字节与多个循环冗余校验位作比较,所述多 个循环冗余校验位被置于所述预定位长度的序列的第二预定位置中,以生成结果;其中当结果为0时,所述事务层分组的长度从所述长度字节获取。
11. 如权利要求10所述的编码方案,其特征在于,依照规则,将所述检索出 的长度字节与多个循环冗余校验位作比较,还包括使用预定规则来计算所述事务层分组的长度。
12. 如权利要求7所述的编码方案,其特征在于,还包括 发射预定数目的低频码元,以使得所述接收机退出电气空闲状态; 发射第二预定数目的高频码元,以允许所述接收机获取位锁定; 发射第三预定数目的码元,以允许所述接收机执行线路到线路去偏斜。 其中所述接收机正从低功率状态恢复。
13. —种用于在串行链路中替换8b/10b编码的代码,所述代码包括-包括第一值和第二值的两位前缀,其中所述第一值指示或者是电气空闲退出序列或者是电气空闲进入序列;以及所述第二值指示空闲序列、数据链路层分组或者事务层分组;以及 预定位长度的序列,所述序列包括基于所述两位前缀的值的独特的位。 其中所述代码使得耦合到所述串行链路一端的接收机能够与耦合到所述串行 链路的另一端的发射设备同步。
14. 如权利要求13所述的代码,其特征在于,所述两位前缀包括第一值,且 所述预定位长度的序列包括1和0的重复序列,其中所述两位前缀和所述预定位长 度的序列没有被扰码并且用于标识块边界以供后续处理,以及用于在所需时验证和 重新标识所述块边界。
15. 如权利要求14所述的代码,其特征在于,其中以低频发送所述预定位长 度的序列这样使得接收机能退出低功率状态。
16. 如权利要求14所述的代码,其特征在于,其中所述预定位长度的序列使 得所述接收机复位线性反馈移位寄存器。
17. 如权利要求13所述的代码,其特征在于,其中所述两位前缀包括第二值, 所述预定位长度的序列的第一字节还包括有效载荷类型码元,其中所述接收机依照 所述有效载荷类型码元处理所述预定位长度的序列。
18. 如权利要求18所述的代码,其特征在于,所述有效载荷类型码元还指示 空闲的有效载荷,其中所述接收机不采取进一步的动作。
19. 如权利要求18所述的代码,其特征在于,所述有效载荷类型码元还指示 数据链路层分组,其中所述代码的剩余字节包括要处理的六个字节和一个奇偶校验 字节。
20. 如权利要求18所述的代码,其特征在于,所述有效载荷类型码元还指示 事务层分组,其中所述代码的剩余字节包括两位的格式信息; 十位的长度信息;一位的摘要信息,其中所述格式、长度和摘要信息一起提供所述事务层分组 的长度;以及多个CRC字节,在由所述接收机处理所述事务层分组之前,将所述CRC字 节与所述事务层分组的长度作比较。
全文摘要
本发明涉及一种在串行链路中用于编码的链路和线路级分组方案。揭示了一种新颖的编码方案,使得物理层能够通过查看一些所选位来标识分组边界,同时改进差错检测性能并对低功率状态维持低开销。通过消除8b/10b编码对物理层的开销,编码方案实现了比当前的8b/10b编码更好的差错检测性能。此外,新颖的编码方案提供了其它差错检测性能、用于退出低功率状态的低开销机制以及用于处理有问题的分组的机制。
文档编号H04L1/00GK101631000SQ20091013983
公开日2010年1月20日 申请日期2009年6月25日 优先权日2008年6月25日
发明者D·达斯莎玛 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1