掌桥专利:专业的专利平台
掌桥专利
首页

突发容错解码器及相关系统、方法和设备

文献发布时间:2023-06-19 10:55:46


突发容错解码器及相关系统、方法和设备

优先权声明

本申请要求于2018年10月1日提交的名称为“突发容错解码器及相关系统、方法和设备(BURST ERROR TOLERANT DECODER AND RELATED SYSTEMS,METHODS,AND DEVICES)”的美国临时专利申请序列号62,739,744的提交日期的权益,并且要求于2019年2月22日提交的名称为“突发容错解码器及相关系统、方法和设备(BURST ERROR TOLERANT DECODER ANDRELATED SYSTEMS,METHODS,AND DEVICES)”的待审美国专利申请序列号16/283,634的提交日期的权益,这些专利申请各自的内容和公开内容据此以引用方式并入本文。

技术领域

本公开的实施方案整体涉及串行通信,并且更具体地涉及在串行通信信道上的通信期间引入的错误以及对那些错误的校正。

背景技术

在许多嵌入式系统和其他计算系统中,外围设备和主机之间或者外围设备和外围设备之间的数据的移动可以是可存在于此类系统中的各种总线上的大量数据流量。当数据移动通过这些系统时,有时并行移动(即,多个位同时传送)并且有时串行移动(即,一次传送一位)。

在常规的系统间通信中,串行器-解串器(“SerDes”)通常用在并行通信信道和串行通信信道之间的接口处。在典型的布置中,SerDes发射器将基于输入数据生成逻辑1s和0s的序列,将它们转换成模拟值(例如,+0.5V和-0.5V,但不限于此),基于用于串行通信信道的介质(例如,铜线、印刷电路板布线和电缆,但不限于此)调整模拟信号,将并行时钟增加到串行通信信道的频率,并通过串行通信信道向外传输数据。SerDes接收器从串行通信信道接收串行数据,减慢数据以匹配并行通信信道的频率,然后通过并行通信信道传输数据。

常规的系统间通信架构在这些接口处假设很少乃至没有位差错,然而,本公开的发明人认识到,尤其是在高速传输速率下,此类假设不适用。因此,本公开的发明人认识到需要通信系统内的稳健纠错,其可以解决这些差错中的至少一些差错。

附图说明

虽然本公开通过特别指出并清楚地要求保护具体实施方案的权利要求作出结论,但根据以下详细描述和附图,本公开的实施方案的各种特征、有益效果和/或优点对于本领域的普通技术人员而言将显而易见,其中:

图1示出了根据本公开的一个或多个实施方案的突发容错的解码器的框图。

图2A示出了根据本公开的一个或多个实施方案的突发差错解码操作的框图。

图2B示出了根据本公开的一个或多个实施方案的突发差错解码操作的框图。

图3A示出了根据本公开的一个或多个实施方案的用于在候选校正中进行选择的决策树。

图3B示出了根据本公开的一个或多个实施方案的图3A的决策树中的排序元素的框图。

图4示出了根据本公开的一个或多个实施方案的实现具有突发容错的至少一个解码器的SerDes接口。

图5示出了根据本公开的一个或多个实施方案的示例性纠错过程的流程图。

图6示出了本公开的发明人已知的决策反馈均衡技术的框图。

具体实施方式

在以下详细描述中,参考了形成其一部分的附图,并且在附图中以举例的方式示出了可实践本公开的具体示例性实施方案。充分详细地描述了这些实施方案,以使本领域的普通技术人员能够实践本公开。然而,可利用其他实施方案,并且可在不脱离本公开的范围的情况下进行结构、材料和过程的变化。

本文所呈现的图示并不旨在为任何特定方法、系统、设备或结构的实际视图,而仅仅是用于描述本公开的实施方案的理想化表示。本文所呈现的附图未必按比例绘制。为了读者的方便,各附图中的类似结构或部件可保持相同或相似的编号;然而,编号的相似性并不意味着该结构或部件在尺寸、组成、配置或任何其他属性方面必须是相同的。

容易理解的是,如本文整体描述的和附图中示出的实施方案的部件可以各种不同的配置来布置和设计。因此,对各种实施方案的以下描述并不旨在限制本公开的范围,而是仅代表各种实施方案。虽然实施方案的各个方面可在附图中呈现,但是附图未必按比例绘制,除非特别指明。

以下描述可包括示例以帮助本领域的普通技术人员实践本发明所公开的实施方案。使用术语“示例性”、“举例”、“例如”、“例如(e.g.)”等意味着有关描述是解释性的,并且尽管本公开的范围旨在涵盖示例和法律等同物,但是使用此类术语并不旨在将实施方案或本公开的范围限制于指定的部件、步骤、特征、功能等。

此外,所示出和描述的特定实施方式仅为示例,并且不应理解为实施本公开的唯一方式,除非本文另外指明。元件、电路和功能可以框图形式示出,以便不以不必要的细节模糊本公开。相反,所示出和描述的特定实施方式仅为示例性的,并且不应理解为实施本公开的唯一方式,除非本文另外指明。另外,块定义和各个块之间逻辑的分区是特定实施方式的示例。对于本领域的普通技术人员将显而易见的是,本公开可通过许多其他分区解决方案来实践。在大多数情况下,已省略了关于定时考虑等的细节,其中此类细节不需要获得本公开的完全理解,并且在相关领域的普通技术人员的能力范围内。

应当理解,本文中使用名称诸如“第一”、“第二”等对元件的任何提及不限制这些元件的数量或顺序,除非明确说明此类限制。相反,这些名称在本文中用作区分两个或更多个元件或者一个元件的两个或更多个实例的便利方法。因此,对第一元件和第二元件的提及并不意味着只能使用两个元件,或者第一元件必须以某种方式在第二元件之前。而且,除非另有说明,否则一组元件可包括一个或多个元件。同样地,有时以单数形式提及的元件也可包括元件的一个或多个实例。

本领域的普通技术人员将会理解,可使用多种不同技术和技法中的任何一者来表示本文所述的信息和信号。例如,可在整个说明书中参考的数据、指令、命令、信息、信号、比特和符号可由电压、电流、电磁波、磁场或粒子、光场或粒子或者它们的任何组合来表示。为了清晰地呈现和描述,一些附图可以将信号示出为单个信号。本领域普通技术人员应当理解,信号可表示信号的总线,其中该总线可具有各种比特宽度,并且本公开可在任何数量的包括单个数据信号的数据信号上实现。

结合本文所公开的实施方案描述的各种例示性逻辑块、模块和电路可使用通用处理器、专用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者被设计成执行本文所述的功能的其他可编程逻辑设备、离散栅极或晶体管逻辑、离散硬件部件或它们的任何组合来实现或实施。

通用处理器(在本文中也可称为主机处理器或仅称为主机)可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实现为计算设备的组合,诸如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器或任何其他此类配置。

通用处理器可以是通用计算机的一部分,该通用计算机在被配置为执行用于执行本公开的实施方案的指令(例如,软件代码)时应被视为专用计算机。此外,当根据本公开的实施方案进行配置时,此类专用计算机改善了通用计算机的功能,因为在缺少本公开的情况下,通用计算机将不能执行本公开的过程。本公开还提供了超出抽象概念的一个或多个特定技术环境中的有意义的限制。例如,本公开的实施方案提供了系统间通信和纠错技术领域的改进。

而且,应当指出的是,可根据被描绘为流程图、流程图示、结构图或框图的过程来描述实施方案。尽管流程图可将操作行为描述为顺序过程,但是许多这些行为可按另一顺序、并行或基本上同时执行。此外,可重新安排动作的顺序。过程可对应于方法、线程、函数、过程、子例程和子程序,但不限于此。此外,本文所公开的方法可以通过硬件、软件或这两者来实现。如果在软件中实现,这些函数可作为一个或多个指令或代码存储或传输到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质两者,该通信介质包括有利于将计算机程序从一个位置传递到另一个位置的任何介质。

本公开中任何将某物表征为“典型”、“常规”或“已知”不一定意味着它在现有技术中公开或在现有技术中理解所讨论的方面。其也不一定意味着在相关领域它是众所周知的、易于理解的或常规使用的。

如本文所用,“位差错”意指所接收的与对应的传输位不同的数字信息位。

如本文所用,“符号”意指由一个或多个位表示的信息单元。例如,特定通信系统可传输符号,并且每个符号可由m位(即,m个连续位)表示。符号可以是例如人类可读的、计算机可读的(例如,编码的)以及它们的组合,但不限于此。与所公开的实施方案一起使用的符号的示例是里德-所罗门符号(通常也称为“里德所罗门码”)。

如本文所用,“符号差错”意指所接收的符号不同于用户符号(即,传输的符号)。符号差错的一个示例是给定m位符号,该符号包含从1到m位差错的任何位置。

如本文所用,“突发差错”意指序列中的两个或更多个位差错。实际上不必突发差错内的所有位均构成位差错。以举例的方式,突发差错可以是以位差错开始并以最终位差错结束的位序列,使得在最终位差错之后存在足够的无差错位以“清除”突发差错事件。当在足够大的过去位的窗口中不存在另外的位差错时,突发差错事件可被视为被清除(即,在与突发差错事件相关联的位的序列中不再有位差错)。作为更具体的示例,在DFE引起的突发差错的情况下,当DFE滤波器内的所有位均正确时突发差错事件可被视为清除,例如,对于4抽头DFE而言,将检测到最终位差错之后的4个无差错位,以确定与该DFE相关联的差错传播已经结束。这在以下具有4抽头DFE的突发差错示例中示出,其中字符串为位差错指示,其中第一个将在左侧被接收。字符串的双下划线部分表示位差错,字符串的单下划线部分表示无差错位:

‘...

‘...

‘...0

所公开的实施方案不限于接收使用二进制系统表示的数字信息的系统,并且适用于接收由多于两个级别的信息表示的数字信息的系统。例如,本领域的普通技术人员将理解,所公开的实施方案适用于接收使用四个级别的信息表示的数字信息的系统,诸如为作为位对(即,每个传输两个数字位)传输的数字信息的PAM4序列,其中每个位对表示特定的传输电压电平;以及PAM5、PAM8。

本公开的发明人已知的典型SerDes接口能够生成有效的无差错数字信息流。然而,在高传输速率下,在通过SerDes发射器和接收器传送的信息中引入了位差错并因此引入了符号差错。

位差错(并因此符号差错)的一个原因是符号间干扰(ISI),其为信号失真的形式,其中用于表示所传送的信息的一个位干扰表示所传送的信息的后续位。

一些常规通信系统采用被称为决策反馈均衡(DFE)的技术来均衡由先前接收的位在当前接收的信息位上生成的干扰。图6示出了实现本公开的发明人已知的DFE技术并且可与本公开的一个或多个实施方案结合使用的示例性滤波器的框图,如本文进一步所述。在图6所示的实施方案中,滤波器的输入来自切片器输出,其为表示接收的数字信息的1s和0s。D1至DN元件是标准D型触发器(DFF)元件,其中每个触发器实现1个时钟周期的延迟或“用户间隔”(UI)。此类DFF元件的移位寄存器实现了存储先前接收的N个值的延迟行。以举例的方式,在典型的接收器中,N可为1至15的任何数,其中最常用的值在5至8的范围内。在延迟链的每个点处,将该位置处的值乘以从A1到AN的乘数(即,DFE乘法值),其中将DN乘以AN以获得针对滤波器的每个抽头的DFE校正。将所有加权抽头求和,以获得当前符号的DFE校正(D0将是下一个切片器输出)。

本领域的普通技术人员将理解,可结合一个或多个实施方案使用其他DFE技术,有时可对具体实施进行微小修改和调整。

ISI随着数据传输速率的增加和/或传输线长度的增加而显著增加。此外,DFE假设所有先前位是正确的。然而,切片元件的决策差错(例如,选择应为逻辑1的逻辑0,反之亦然)影响了后续位的均衡,这可能导致进一步的位差错。因此,DFE不能在所有传输速率和信道上实现完全无差错传输。此外,接收位差错可能导致DFE均衡器中的差错位,从而导致进一步的位差错。其中第一差错事件导致进一步的差错事件,直到最终差错(之后位正确)为止的一系列此类差错被称为突发差错。

除了DFE之外,一些常规通信系统还采用前向纠错(FEC)技术来校正接收器处未被DFE校正的位差错。FEC技术通常涉及实现块编码的形式,诸如BCH(Bose、Ray-Chaudhuri和Hocquenqhem)或RS(Reed-Solomon),本领域的普通技术人员已知其具有突发纠错能力。在典型情况下,冗余数据(诸如奇偶校验符号)被添加到消息中,并且即使在传输(或存储)期间引入了多个差错,接收器也可使用该冗余数据来恢复消息。FEC可校正一些位差错,然而,块编码技术诸如RS限于校正每个n符号FEC块中的t个符号差错,其中2t=p,并且p为奇偶校验符号的数量。因此,对于FEC块中存在的每两(2)个奇偶校验符号,可以定位和校正一个随机定位的符号差错。在n符号FEC块中,如果符号差错的数量大于t,则给定FEC块超出标准解码算法的校正能力,并且输出的“校正”FEC块可能仍包括差错。

因此,突发差错(包括由DFE引起的那些差错)可压倒用于跨传输接口(诸如SerDes接口)进行通信的常规纠错技术的能力。此外,突发差错的速率和长度将随着传输速率、传输线长度和传输线的质量而增加。类似RS的块编码技术利用一些奇偶校验符号来定位符号差错,并且使用其他奇偶校验符号来校正这些符号差错(即,用正确的用户符号替换)。

用于前向纠错的擦除解码技术通常涉及使用外部信息来定位所接收的传输中的符号差错,并因此可使用与块编码技术如RS相同数量的奇偶校验符号来校正更多的符号。擦除是指示信息块中已知处于差错状态并因此可被擦除的信息的一个或多个位置的过程。擦除校正是校正已被擦除的信息块的那些位置的过程。

例如,典型的擦除过程可包括以下操作:(i)计算校正子(校正子是执行具有传输数据符号的奇偶校验符号的XOR操作的结果);(ii)计算tau(tau是从已知差错位置导出的多项式);(iii)计算Forney改良校正子(FMS),该FMS将tau与计算的校正子组合,以形成解码操作的组合校正子);(iv)计算差错位置(例如,使用Berlekamp-Massey)并寻找Q=(P-E)/2差错,但如果E=P,则擦除过程可跳过该步骤;(v)计算Errata评估器多项式Ω并将差错定位器多项式与FMS组合;(vi)找到组合的根—此处擦除过程正在寻找Q根,但如果P=E,则擦除过程可跳过该步骤;(vii)计算从差错定位器多项式和tau导出的errata定位器多项式

为了将常规擦除技术与块编码一起使用,需要关于哪个或哪些符号处于差错状态的外部指示(例如,一个或多个符号的位置,但不限于此),然而,由于通常采用的高功效模拟架构,在SerDes接口中没有此类指示可用,也不能容易地添加此类指示。

因此,本公开的一个或多个实施方案整体涉及使用具有块编码技术诸如RS的擦除技术进行纠错。在一个或多个实施方案中,尝试了FEC块中的所有可能的连续擦除模式。更具体地讲,对于可能的连续擦除模式中的每个连续擦除模式,这些擦除符号根据所接收的形成FEC块的位排序而按顺序排列。

对于每个擦除模式,识别标称校正掩码。在计算所有可能的擦除模式的符号擦除解码之后,比较结果以识别与SerDes接口的突发差错输出最佳匹配的校正模式(即,校正掩码)。如果其他纠错可能性可用(例如,使用RS的标准FEC),则将那些结果与使用所识别的校正模式的结果进行比较,并且基于该比较来选择其他纠错结果或使用所识别的校正模式的结果。

本公开的一个或多个实施方案整体涉及突发容错的解码器,以及结合了该解码器的SerDes接口和接收器。图1示出了根据本公开的一个或多个实施方案的突发容错的解码器100的框图。在一个或多个实施方案中,解码器100包括标准RS解码器114、突发差错解码器104、选择电路110和解码选择逻辑部件118。解码器100的一个或多个实施方案可在硬件(例如,电路和电子设备,但不限于此)、数字逻辑(例如,组合逻辑门,但不限于此)、有限状态机(例如,组合逻辑部件和触发器,但不限于此)以及它们的组合中实现。

在一个或多个实施方案中,突发差错解码器104通常被配置为尝试(即,测试)在本公开中被称为“候选擦除模式”的所有连续擦除模式,并且每个此类擦除模式在本文中被称为“候选擦除模式”。这些候选擦除模式中的一个或多个候选擦除模式可由一个或多个突发解码器模块106(在图1中标记为突发解码器1至N)并行执行。每个突发解码器模块106被配置为实现这些候选擦除模式中的一个候选擦除模式。在一个或多个实施方案中,突发解码器104被配置为响应于使用每个候选擦除模式进行的测试纠错而输出候选校正的传输块122。突发解码器模块106和突发解码器104的后续输出的每个此类结果在本文中被称为“候选校正108”。

在一个或多个实施方案中,选择电路110通常被配置为从突发解码器104接收所有候选校正108(即,来自尝试候选擦除模式的所有结果),并且选择并输出突发候选校正112。

选择电路110通过比较候选校正108并更一般地选择最佳“拟合”接收器或SerDes接口(包括解码器100)的候选校正108来选择和输出突发候选校正112。选择电路110可包括用于基于接收器的类型确定最佳拟合的选择逻辑(未示出),例如,选择电路110可包括识别对应于最短突发差错的候选校正108的SerDes判别逻辑(未示出),例如,因为SerDes接收器很少经历长突发差错。在一个实施方案中,此类判别逻辑可定义评分标准,以用于根据每个候选校正108作为突发纠错解决方案的适用性对其进行评分。例如,评分标准可包括突发差错长度、权重因子、突发差错分组等中的一者或多者。选择电路110可响应于评分标准选择突发候选校正112。就权重因子而言,可对得分进行加权以有利于校正,这些校正对于给定传输方案(就SerDes接收器、DFE差错传播而言)所预期的差错传播类型是更好的(或更有用的)匹配。就DFE差错传播而言,可使用给定校正模式的连续性,以及关于DFE的特定抽头权重的信息。

在一个或多个实施方案中,候选校正108可以是在本文中被称为“校正掩码”的二进制掩码,其长度等于奇偶校验符号或奇偶校验符号位的数量。例如,如果传输由30个5位符号组成(例如,其中存在26个用户符号和4个奇偶校验符号),则该传输由150位组成(130位的用户符号和20位的奇偶校验符号),并因此候选校正掩码具有20位长度。

值得注意的是,鉴于“P=E”,所公开的实施方案的所得突发解码器逻辑部件是面积有效的,与必须考虑到P≠E的情况的标准擦除解码器实施方式相比,仅需要更少数量的逻辑门。

继续该示例,当分析候选校正掩码以根据最短突发差错(例如,对于SerDes接收器)选择最佳拟合时,选择电路110可被配置为在每个候选校正掩码的20位(四个5位符号)校正掩码中识别待翻转的第一位和待翻转的最后一位,并确定这两个位的位置之间的差值(以位为单位)。该差值可用作突发差错长度的量度。可比较候选校正掩码的突发差错长度,并且响应于该比较而选择最短突发差错长度。

在一个或多个实施方案中,解码器100可被配置为响应于突发候选校正112而校正输入传输块102,并且输出校正的传输块122。

在其他实施方案中,解码选择逻辑部件118可被配置为接收由标准RS解码器114输出的突发候选校正112和标准候选校正116,选择突发候选校正112和标准候选校正116中的一者(在该示例中,为2位随机符号校正掩码),并且输出所选择的校正掩码。纠错电路120可被配置为响应于选择的校正掩码而校正输入传输块102,并且响应于所选择的候选校正而输出校正的传输块122。例如,纠错电路120可被配置为将选择的校正掩码与输入传输块102进行异或运算以获得校正的传输块122。值得注意的是,选择的校正掩码包括掩码和位置信息,换句话讲,通过定义待应用擦除解码的位,所选择的校正掩码隐式地指示差错位置。

通过解释,在一些设想的传输场景中,输入传输块102可包括并非一个突发差错,而是两个或更多个独立的“部分”突发差错,其也可被表征为“单个符号”突发差错。当符号中存在少量差错连续位时,出现部分突发差错。例如,在与RS-FEC一起使用的8位符号中,长度为1至5位差错的突发差错事件被限制为单个符号。

当第一(按传输顺序)部分突发差错未引起第二(按传输顺序)部分突发差错时,两个突发差错事件(部分或非部分)是独立的。由于部分突发差错在位长度上可能比符号短,并且由于两个部分突发差错是独立的,因此突发差错解码器104可能不生成在输入传输块102中实际校正两个部分突发差错的候选校正108。换句话讲,发生两个小的独立差错事件,每个事件仅损坏一个RS符号。

在一些实施方案中,突发差错解码器104可被配置为以足够的粒度分析候选校正,以识别在给定传输场景中发生的部分突发差错。在其他实施方案中,解码器100可包括标准RS解码器114,该标准RS解码器被配置为使用一些奇偶校验符号来定位具有部分突发差错的差错符号,并且使用这些奇偶校验符号的其余部分来校正那些差错符号。在解码器100的一个或多个实施方案中,RS解码器114和突发解码器104可并行地、同时地或独立地操作。

解码选择逻辑部件118可被配置为在由选择电路110提供的突发候选校正112和由标准RS解码器114提供的标准候选校正116之间进行选择。例如,如果候选校正108是校正掩码并且标准候选校正116是校正掩码,则可通过将输入传输块102的数据部分与对应于所选择的突发候选校正112或标准候选校正116的校正掩码进行异或运算来生成校正的传输块122。例如,校正掩码中的二进制1导致解码器100的输出处的位校正,而校正掩码中的二进制0将导致输入(并因此输出)保持不变。

在一个或多个实施方案中,校正的传输块122可包括一个或多个奇偶校验符号和用户符号,或者仅包括用户符号。

图2A示出了根据本公开的一个或多个实施方案的用于在传输块上测试突发纠错的示例性过程200的图示。如图2A所示的示例中所设想的,过程200包括使用候选校正模式208(候选擦除模式Burst

在一个或多个实施方案中,已擦除符号的序列可用于拟合传输方案和差错分布的候选校正模式208。例如,由于DFE引起的突发差错(和部分突发差错)将影响连续位和符号,因此每个候选校正模式208中的已擦除符号是连续的(即,在传输块202的符号位置中彼此紧邻)。可使用与图2A和图2B中所描述不同的其他数量的奇偶校验符号和已擦除符号以及它们的布置方式,其拟合所关注的特定传输方案和/或差错分布。

因此,对于图2A所示的示例,Burst

图2B示出了根据一个或多个实施方案的使用候选校正模式214对传输块212进行突发差错解码操作的示例性过程210的图示。在图2B所示的示例中,与奇偶校验符号连续的图2A的传输块202相比,奇偶校验符号P

图3A是根据本公开的一个或多个实施方案的用于在候选校正模式208中进行选择的候选校正选择过程的决策树300的图示。例如,返回图1,对于从候选校正108中选择突发候选校正112的选择电路110,识别由突发解码器模块106校正的最短突发差错长度。使用示例性情况,使用决策树300在27个可能性中识别最佳得分。图3A示出了决策树300的完整二进制布局,其中L1至L5表示二进制排序的5个级别。在该示例中,决策树300在树元素302中一次对两个候选校正模式208的得分进行排序,其中在每个阶段处选择具有最低得分的候选校正,并且传递到下一阶段。

在一个实施方案中,与从先前级别传递到下一级别的树元素302的树排序元素310(参见图3B)的结果并行地执行排序,直到找到最低得分,该最低得分对应于突发候选校正112。在一个或多个实施方案中,来自树的最终输出可以是得分、差错位置信息和/或最佳候选校正(例如,二进制校正掩码)。本领域的普通技术人员将会理解,可使用多种合适排序过程中的任何一种,包括合并排序、选择排序、插入排序、交换排序以及它们的组合。

图3B示出了根据一个或多个实施方案的被配置为根据比较标准在候选校正之间作出决策的树排序元素310。在一个或多个实施方案中,树排序元素310可包括数字比较器312、多路复用器(MUX)316、MUX 320和MUX324。数字比较器312可被配置为与数字值(此处为两个候选校正的得分ScoreL和ScoreR)进行比较,并且响应于比较结果(即,哪个得分更小或更大)而输出选择信号SEL 314,如所配置的。MUX 316可被配置为接收两个候选校正CorrL和CorrR,并且响应于由数字比较器312提供的选择信号SEL 314而输出两个候选校正中的一者。MUX 320可被配置为接收两个索引参考值IndexL和IndexR,并且响应于由MUX316或数字比较器312提供的选择信号SEL 318而输出两个索引参考值中的一个索引参考值。在一个或多个实施方案中,IndexL和IndexR提供了用于在何处应用校正的位置信息,例如,为给定校正掩码提供起始符号编号。MUX 324可被配置为接收两个得分ScoreL和ScoreR,并且响应于选择信号SEL 314而输出两个得分中的一者。上述各种元素的输出、IndexO、CorrO和ScoreO可作为输入提供给下一个树排序元素,或者如果已经比较了所有候选校正,则作为突发候选校正(例如,根据所使用的比较标准的最佳候选校正)的输出。树排序元素310使用得分来选择每个树元素(TE)302内的获胜者。所选择的输出包括索引、得分和候选校正。仅为了方便起见,这些索引、校正和得分在本文中称为左和右,或者“L”和“R”,并且可使用其他约定。

在一个或多个实施方案中,通过以下方式在标准候选校正116和突发候选校正112之间进行选择:计算标准候选校正116的得分,然后将该标准得分与和突发候选校正112相关联的得分进行比较,并且选择最低得分以确定由解码选择逻辑部件118输出的最终解码器。

用于在标准解码器方法和突发解码器结果方法之间进行选择的实施方案的示例性条件在下表2中给出。如果标准解码器未能解码并且指示其不能执行解码操作,则突发差错解码器输出被选择作为解码方法,即,最佳突发差错解码器校正掩码被选择作为当前FEC块的校正掩码。如果标准解码器报告仅单个差错符号被校正,则选择标准解码器。如果标准解码器报告其已校正了2个差错符号,则通过比较两种方法的得分来执行解码器选择。对于突发解码器,得分可简单地为所提出的突发纠错解决方案的长度。标准解码器的得分可通过以下方式确定:计算每个符号校正的突发长度、查找每个突发长度的得分值(例如,响应于突发长度(实际值或内插值)返回预先确定的得分的查找表),然后将两个得分求和以获得总标准解码器得分。

在一个或多个实施方案中,可使用三个常量来帮助确定标准解码器输出的得分(即,标准候选校正116),一个常量用于单个位差错符号校正(S1),一个常量用于2位纠错符号(S2),并且另一个常量用于大于2位的符号校正(Sn)。S0、S1和Sn的示例性设置为S0=2、S1=4和Sn=8,但这些值可在允许在用SerDes接收器操作时基于现场的操作进行微调的任何实施方式中通过寄存器值进行配置。在一个或多个实施方案中,可选择S0至Sn的值以表示标准解码器校正掩码优于突发差错解码器的相对可能性,例如基于DFE突发差错的分布。更具体地讲,此类DFE突发差错通常造成单个位差错或2位差错事件,因此较长突发的可能性变得逐渐降低。因此,来自标准解码器的两个单个位校正掩码可被赋予低得分,两个双位校正可被赋予中等得分,并且任何其他校正均可被赋予差得分(两个独立的差错事件,每个事件3位,并且每个事件仍拟合在单个RS符号中不是一个好的校正候选者)。将给定得分与突发解码器输出的突发长度进行比较以确定最佳候选。

表2中给定了将校正符号映射到标准解码器的得分值的选择的示例。

在一个或多个实施方案中,可对突发解码器支持的突发长度施加限制,使得阻止非常长的突发校正执行校正,而是指示解码失败。例如,在SAS 4的情况下,可将限制设置为突发长度=12,使得长于12位的任何突发解码器输出均将被标记为解码失败。

一个或多个实施方案涉及根据本公开的一个或多个实施方案的结合了突发容错解码器的SerDes接口(和/或SerDes接收器)。图4示出了根据本公开的一个或多个实施方案的示例性SerDes接口400的框图。SerDes接口400可为例如SerDes传输系统。在一个或多个实施方案中,SerDes接口400包括发射器级410、接收器级420和可操作地耦接在这两者间的信道416。在一个或多个实施方案中,发射器级410包括块编码器412和发射器(TX)414。

块编码器412通常被配置为例如使用块编码技术诸如RS对数据传输进行块编码。TX 414通常被配置为对通过并行接口402接收的信息的块编码位进行“串行化”(即,采用输入位的并行总线并将它们串行地驱动到信道416的物理传输介质上诸如物理线、“差分对”线、光纤线和电缆,但不限于此),并向信道416提供串行数据流。虽然未示出,但其他发射器功能也可包括在发射器级410中,诸如发射器强调(例如,3抽头FIR滤波器,其将3个连续位与可配置权重值一起加权以获得期望的传输电压)和传输缩放(例如,添加±缩放电压以在选择的电压下驱动传输介质)。

信道416是用于将串行数据流传送至接收器级420的物理介质。在一个或多个实施方案中,接收器级420包括均衡滤波器和切片器422、块格式器424和突发容错解码器426。均衡滤波器和切片器422被配置为对所接收的传输执行基于决策的ISI消除,然后将传输信号“切分”成1s和0s(它们被反馈到均衡器中以校正下一位),如上文关于DFE校正所述。块格式器424被配置为根据块编码器412所使用的约定将1s和0s的传输分块成传输块。突发容错解码器426被配置为根据本公开的一个或多个实施方案来执行纠错,包括例如实现本文所述的突发差错解码器。

本公开的一个或多个实施方案整体涉及实现一个或多个传输方案接口诸如SerDes接口400的通信系统,以及实现本文所述突发差错解码的系统间通信。

图5示出了根据本公开的一个实施方案的用于突发纠错的过程500的流程图。在步骤502中,使用一个或多个候选校正模式对接收的传输信息块进行测试纠错。在一个实施方案中,所接收的传输信息块可以是FEC编码的。该一个或多个候选校正模式可以是擦除模式,即,在所接收的块内具有已知起始位置和结束位置的所接收的块的多个连续符号或位。在步骤504中,根据评分标准比较响应于步骤502的测试纠错的候选校正输出。每个候选校正可对应于用于测试纠错的候选校正模式中的一个候选校正模式。在一个实施方案中,候选校正可以是使用某种预先确定的约定的位掩码,以指示待在接收块内翻转的位和保持不变的位(例如,“1”指示翻转,“0”指示保持不变)。在步骤506中,响应于步骤504的候选校正的比较来确定突发候选校正。在一个实施方案中,可比较根据本公开的针对候选校正的一个或多个实施方案计算的突发差错长度,并且可使用比较标准(例如,选择较小的突发差错长度)来选择突发候选校正。在步骤508中,使用所选择的突发候选校正对所接收的传输信息块进行纠错。所校正的传输信息块可被输出、被提供给另一功能块以用于进一步处理或其他。

虽然可结合一个或多个实施方案描述单双工操作,但是本公开不限于此。在一个或多个实施方案中,SerDes接口可实现全双工操作(例如,数据转换同时在两个方向上发生),并且可以在单双工操作和全双工操作之间切换。

虽然可能已描述了用于从并行传输转换为串行传输并返回并行传输的SerDes接口,但本公开并不限于此。本文所述的突发解码器和相关解码技术的实施方案可以在用于从串行传输转换为并行传输,然后返回串行传输的接口中使用。本文所述的突发解码器及相关解码和纠错技术的实施方案也可在用于从并行传输转换为更高/更低的带宽然后返回的接口中使用。本文所述的突发解码器及相关解码和纠错技术的实施方案也可在纯串行信道之间的接口中使用。

此外,本公开不限于SerDes接口。突发解码器及相关解码和纠错技术可用于其他传输方案接口,包括迄今已普遍接受的不可避免的突发差错的那些传输方案接口。

本领域的普通技术人员将从本公开的实施方案中认识到许多优点和益处。例如,更高的容错能力、对更长传输链路的支持以及更稳健的操作。此外,由于根据本公开的实施方案的解码器可校正比常规解码器更多的差错,因此可放宽对SerDes接口的设计约束,因为可校正差错。以举例的方式,设计约束可包括传输介质的长度、用于传输介质的材料、屏蔽外来噪声等。

本公开的突发纠错技术的实施方案的另一优点是它们可与其他纠错技术结合实现,诸如标准纠错技术(例如,标准中指定的技术)。

本领域的普通技术人员将认识到,除了本文所述的那些之外,突发差错解码技术和突发差错解码器还具有广泛的应用。例如,本公开中描述的突发差错解码器可在以下介质中实现:存储应用,例如,在点对点串行协议诸如串行附接SCSI(例如,SAS 1、SAS 2、SAS3和SAS 4)中实现的接口,这些协议将数据移入或移出计算机存储元件诸如硬盘驱动器、磁带驱动器和固态驱动器;串行ATA,其为将主机总线适配器连接到大容量存储设备(诸如硬盘驱动器、固态驱动器和磁带驱动器)的计算机总线接口;和PCI和PCI express,其为用于将设备连接至主机的单独串行链路的接口。此外,本公开中描述的突发差错解码器可在网络交换机(例如,以太网交换机)、无线路由器、光纤通信交换机等中实现。

在不脱离本公开的范围的情况下,本文所述的各种实施方案的特征不是相互排斥的,并且可以各种组合和排列存在,即使本文未明确描述此类组合或排列。事实上,在不脱离本公开的范围的情况下,本领域的普通技术人员将认识到本文所述内容的变型、修改和其他具体实施。因此,本发明不应仅由前述示例性描述限定,而应仅由所附权利要求书及其法律等同物限定。

本公开的附加非限制性实施方案包括:

实施方案1:一种解码器,所述解码器被配置为对包括用户符号和至少一个奇偶校验符号的信息块执行纠错,所述解码器包括:第一纠错电路,所述第一纠错电路被配置为响应于使用相应的候选校正模式对信息块进行测试纠错而输出候选校正;选择电路,所述选择电路被配置为从所述候选校正中选择突发候选校正;和第二纠错电路,所述第二纠错电路被配置为响应于所选择的突发候选校正对所述信息块进行纠错。

实施方案2:根据实施方案1所述的解码器,其中所述第一纠错电路被配置为通过以下方式响应于所述候选校正模式对所述信息块进行测试纠错:响应于使用所述候选校正模式中的第一候选校正模式对所述信息块进行第一测试纠错,输出第一候选校正;以及响应于使用所述候选校正模式中的第二候选校正模式对所述信息块进行第二测试纠错,输出第二候选校正。

实施方案3:根据实施方案1和2中任一项所述的解码器,其中所述选择电路被配置为通过以下方式从所述候选校正中选择所述突发候选校正:比较所述候选校正的差错长度;以及选择对应于最短差错长度的候选校正以获得所述突发候选校正。

实施方案4:根据实施方案1至3中任一项所述的解码器,其中,对于给定候选校正,所述选择电路被配置为:根据所述给定候选校正,在所述信息块中识别待校正的第一位和待校正的第二位;以及确定待校正的所述第一位与待校正的所述第二位之间的以位为单位的距离。

实施方案5:根据实施方案1至4中任一项所述的解码器,其中所述第二纠错电路被配置为通过以下方式响应于所选择的突发候选校正对所述信息块进行纠错:响应于所选择的突发候选校正对所述信息块进行纠错。

实施方案6:根据实施方案1至5中任一项所述的解码器,其中所述第一纠错电路被配置为通过以下方式响应于所述候选校正模式对所述信息块进行测试纠错:响应于一个或多个候选擦除模式对所述信息块进行测试纠错,其中所述一个或多个候选擦除模式是连续的。

实施方案7:根据实施方案1至6中任一项所述的解码器,其中所述第二纠错电路被配置为通过以下方式响应于所述一个或多个候选擦除模式对所述信息块进行纠错:使用对应于所选择的突发候选校正的校正掩码对所述信息块的一个或多个位或符号进行擦除和解码,其中所述一个或多个校正掩码中的校正掩码具有:等于与所述信息块相关联的奇偶校验符号的数量的长度,或等于与所述信息块相关联的奇偶校验符号的位数的长度。

实施方案8:根据实施方案1至7中任一项所述的解码器,其中所述第一纠错电路被配置为通过以下方式响应于所述一个或多个候选擦除模式对所述信息块进行测试纠错:响应于所述一个或多个候选擦除模式而计算一个或多个符号擦除解码。

实施方案9:根据实施方案1至8中任一项所述的解码器,还包括标准纠错电路,所述标准纠错电路被配置为响应于使用标准纠错协议对所述信息块进行标准纠错而输出标准候选校正。

实施方案10:根据实施方案1至9中任一项所述的解码器,其中所述选择电路被配置为选择所述标准候选校正和所述突发候选校正中的一者。

实施方案11:根据实施方案1至10中任一项所述的解码器,其中所述第二纠错电路被配置为通过以下方式响应于所选择的候选校正对所述信息块进行纠错:响应于所述标准候选校正和所述突发候选校正中的所选择的一者,对所述信息块进行纠错。

实施方案12:根据实施方案1至11中任一项所述的解码器,其中所述选择电路被配置为通过以下方式选择所述标准候选校正和所述突发候选校正中的一者:响应于对所述信息块进行标准纠错的结果而选择所述突发候选校正,所述结果指示对所述信息块进行解码或纠错失败;响应于对所述信息块进行所述标准纠错的所述结果而选择所述标准候选校正,所述结果指示仅单个差错符号被校正或能够校正;响应于对所述信息块进行所述标准纠错的所述结果而选择所述突发候选校正,所述结果指示两个或更多个差错符号被校正或能够校正,并且所述突发候选校正的得分大于或等于标准解码器的得分;以及响应于对所述信息块进行所述标准纠错的所述结果而选择所述标准候选校正,所述结果指示两个或更多个差错符号被校正或能够校正,并且所述标准候选校正的所述得分大于所述标准解码器的所述得分。

实施方案13:根据实施方案1至12中任一项所述的解码器,其中所述选择电路被配置为:响应于所述突发候选校正的长度而确定所述突发候选校正的所述得分;以及通过以下方式确定所述标准候选校正的所述得分:确定一个或多个标准候选长度,所述一个或多个标准候选长度中的每个标准候选长度对应于所述标准候选校正的符号校正;响应于查找表而识别与所述一个或多个标准候选长度相关联的得分,其中所述查找表包括与标准候选长度相关联的得分值;以及响应于所识别的得分而确定所述标准候选校正的所述得分。

实施方案14:根据实施方案1至13中任一项所述的解码器,其中所述标准纠错电路被配置为通过对所述信息块进行前向纠错来对所述信息块进行标准纠错。

实施方案15:根据实施方案1至14中任一项所述的解码器,其中对所述信息块进行所述前向纠错包括执行里德-所罗门纠错。

实施方案16:根据实施方案1至15中任一项所述的解码器,其中所述信息块是前向纠错编码信息块。

实施方案17:一种突发容错的传输接口,所述传输接口包括:发射器,所述发射器被配置为向物理传输线顺序地提供前向纠错(FEC)编码传输块的位;和接收器,所述接收器被配置为:从所述物理传输线接收所述FEC编码传输块的传输位;检测所述传输位中表现出指示在通过所述物理传输线的传输期间在所述FEC编码传输块中引起的突发差错的特性的位;以及改变所检测到的位中的至少一些位。

实施方案18:根据实施方案17所述的传输接口,其中所述接收器包括突发差错解码器,其中所述突发差错解码器被配置为测试用于校正所述FEC编码传输块中所接收传输位的连续位中的差错的校正模式。

实施方案19:根据实施方案17和18中任一项所述的传输接口,其中所述接收器包括标准纠错电路,所述标准纠错电路被配置为对所述FEC编码传输块中所接收传输位执行标准纠错协议,并且其中所述接收器被配置为选择所述标准纠错电路的结果和所述突发差错解码器的结果中的一者。

实施方案20:根据实施方案17至19中任一项所述的传输接口,其中指示突发差错的所述位均指示部分突发差错。

实施方案21:一种对前向纠错(FEC)编码的信息块进行纠错的方法,所述方法包括:响应于使用候选校正模式对信息块进行测试纠错而生成候选校正;从所述候选校正中选择突发候选校正;以及响应于所选择的突发候选校正对所述信息块进行纠错。

实施方案22:根据实施方案21所述的方法,还包括:响应于使用所述候选校正中的第一候选校正对所述信息块进行第一测试纠错而生成第一候选校正;以及响应于使用所述候选校正中的第二候选校正对所述信息块进行第二测试纠错而生成第二候选校正。

实施方案23:根据实施方案21和22中任一项所述的方法,其中所述选择所述候选校正中的所述候选校正包括响应于所述第一候选校正和所述第二候选校正而选择突发候选校正。

实施方案24:根据实施方案21至23中任一项所述的方法,其中所述响应于所述第一候选校正和所述第二候选校正而选择所述突发候选校正包括响应于比较对应于所述第一候选校正的第一差错长度和对应于所述第二候选校正的第二差错长度,而选择所述第一候选校正和所述第二候选校正中的一者。

实施方案25:根据实施方案21至24中任一项所述的方法,其中所述响应于所述第一候选校正和所述第二候选校正而选择所述突发候选校正还包括:通过以下方式确定所述第一差错长度或所述第二差错长度:在所述信息块中识别待校正的第一位和待校正的第二位;以及确定待校正的所述第一位与待校正的所述第二位之间的以位为单位的距离。

实施方案26:根据实施方案21至25中任一项所述的方法,其中所述响应于比较对应于所述第一候选校正的所述第一差错长度和对应于所述第二候选校正的所述第二差错长度而选择所述第一候选校正和所述第二候选校正中的一者包括:响应于所述第一差错长度短于所述第二差错长度而选择所述第一候选校正;以及响应于所述第二差错长度短于所述第一差错长度而选择所述第二候选校正。

实施方案27:根据实施方案21至26中任一项所述的方法,其中响应于所述候选校正模式对所述信息块进行所述测试纠错包括响应于候选擦除模式对所述信息块进行测试纠错,其中所述候选擦除模式在所述信息块内是连续的。

实施方案28:根据实施方案21至27中任一项所述的方法,其中响应于所述候选擦除模式对所述信息块进行所述纠错包括:定义对应于所述候选擦除模式的校正掩码,其中所述校正掩码中的校正掩码具有等于与所述信息块相关联的奇偶校验符号的数量或与所述信息块相关联的奇偶校验符号的位的长度。

实施方案29:根据实施方案21至28中任一项所述的方法,其中响应于所述候选擦除模式对所述信息块进行所述测试纠错包括响应于所述候选擦除模式而计算符号擦除解码。

实施方案30:根据实施方案21至29中任一项所述的方法,其中响应于所述候选校正模式对所述信息块进行所述测试纠错还包括响应于标准纠错协议对所述信息块进行标准纠错。

实施方案31:根据实施方案21至30中任一项所述的方法,其中所述选择所述候选校正中的所述候选校正包括选择所述标准候选校正和所述突发候选校正中的一者。

实施方案32:根据实施方案21至31中任一项所述的方法,其中响应于所选择的候选校正对所述信息块进行所述纠错包括响应于所述标准候选校正和所述突发候选校正中的所选择的一者,对所述信息块进行纠错。

实施方案33:根据实施方案21至32中任一项所述的方法,其中所述选择所述标准候选校正和所述突发候选校正中的一者包括:响应于对所述信息块进行标准纠错的结果而选择所述突发候选校正,所述结果指示对所述信息块进行解码或纠错失败;响应于对所述信息块进行所述标准纠错的所述结果而选择所述标准候选校正,所述结果指示仅单个差错符号被校正或能够校正;响应于对所述信息块进行所述标准纠错的所述结果而选择所述突发候选校正,所述结果指示两个或更多个差错符号被校正或能够校正,并且所述突发候选校正的得分大于或等于所述标准解码器的得分;或者响应于对所述信息块进行所述标准纠错的所述结果而选择所述标准候选校正,所述结果指示两个或更多个差错符号被校正或能够校正,并且所述标准候选校正的所述得分大于所述标准解码器的所述得分。

实施方案34:根据实施方案21至33中任一项所述的方法,其中所述选择所述标准候选校正和所述突发候选校正中的一者还包括:响应于所述突发候选校正的长度而确定所述突发候选校正的所述得分;以及通过以下方式确定所述标准候选校正的所述得分:确定长度,所述长度中的每个长度对应于所述标准候选校正的符号校正;响应于查找表而识别与所述长度相关联的得分,其中所述查找表包括与长度相关联的得分值;以及响应于所识别的得分而确定所述标准候选校正的所述得分。

实施方案35:根据实施方案21至34中任一项所述的方法,其中响应于所述标准候选校正对所述信息块进行所述标准纠错包括对所述信息块进行前向纠错。

实施方案36:根据实施方案21至35中任一项所述的方法,其中对所述信息块进行所述前向纠错包括对所述信息块进行里德-所罗门纠错。

相关技术
  • 突发容错解码器及相关系统、方法和设备
  • 用于存储器攻击检测的存储器设备、存储器地址解码器、系统和相关方法
技术分类

06120112734774