CN1272928C - 用于总线结构的具有较小反应时间的纠错 - Google Patents
用于总线结构的具有较小反应时间的纠错 Download PDFInfo
- Publication number
- CN1272928C CN1272928C CN200310119732.4A CN200310119732A CN1272928C CN 1272928 C CN1272928 C CN 1272928C CN 200310119732 A CN200310119732 A CN 200310119732A CN 1272928 C CN1272928 C CN 1272928C
- Authority
- CN
- China
- Prior art keywords
- data
- vector
- error correction
- positional information
- data vector
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4906—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
- H04L25/4908—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
Landscapes
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
从多个数据矢量确定纠错和位置信息。该位置信息包括从该数据矢量的子集确定的数值。两个或更多子集具有一个或多个共同的数据矢量,而且还在一个或更多子集中具有不在其他子集内的一个或多个数据矢量。该子集包括数据矢量组,并且该数据矢量组具有一个作为2次幂的函数的尺寸。发送代码被用于该数据矢量和纠错及位置信息上。所接收的位置信息和所确定的位置信息被比较,以确定具有一个错误的数据矢量。所接收的纠错信息和所确定的纠错信息被比较,以确定具有错误的数据矢量。通过使用耦合到电子通道和光通道的多个多路复用器可以有效地替换发生故障的光通道。
Description
技术领域
本发明涉及通信***,特别涉及在具有总线结构的通信***中的纠错。
背景技术
纠错曾经被保留用于错误可能性较高的环境,例如两个无线设备之间的通信。但是,现在纠错被用于错误可能性相对较低的环境,例如两个服务器之间通过一些并行或串行连接的通信。
在后一种情况中所用的一种特定的纠错类型是通过附加的奇偶性信息实现的发送代码。发送代码基本上采用一种未编码的数据矢量,其具有多个数值,并且产生一个比未编码数据矢量更大的编码的数据矢量。例如,在一个5B/6B发送代码中,具有六个数位的编码的数据矢量被从具有五个数位的编码的数据矢量产生。该第六数位通常被选择使得编码的数据矢量的属性将遵守特定规则。该属性被称为数据矢量的“平衡”,并且通过判断所接收数据矢量的平衡是否满足该规则而确定在所接收数据矢量中的错误。
存在一种情况,其中在一个编码的数据矢量中出现错误,使得编码的数据矢量的所接收版本将满足平衡要求,并且在一个数据流中在该错误的位置处满足该规则,并且仅仅在该数据流中的较后地检测到违背规则的情况。因此,需要用于在该数据流的中更早地确定在编码的数据矢量中的错误。
发明内容
本发明提供一种在通信***中用于处理多个数据矢量的方法,该方法包括如下步骤:从多个数据矢量确定纠错信息;以及从该多个数据矢量确定位置信息,该位置信息包括多个位置信息数值,其中:该位置信息数值从该数据矢量的子集确定,至少两个子集具有一个或多个共同的数据矢量,但是其中该至少两个子集中的一个或多个子集中具有不在该至少两个子集的另一个子集中的一个或多个数据矢量,该至少两个子集中的每一个子集包括至少两个数据矢量,以及该纠错信息和位置信息可以被用于纠正在多个数据矢量中的一个或多个错误。
本发明提供一种在通信***中用于处理多个数据矢量的通信单元,该通信单元包括:一个编码设备,其适合于:从多个数据矢量确定纠错信息;以及从该多个数据矢量确定位置信息,该位置信息包括多个位置信息数值,其中:该位置信息数值从该数据矢量的子集确定,至少两个子集具有一个或多个共同的数据矢量,但是其中该至少两个子集中的一个或多个子集中具有不在该至少两个子集的另一个子集中的一个或多个数据矢量,该至少两个子集中的每一个子集包括至少两个数据矢量,以及该纠错信息和位置信息可以被用于纠正在该数据矢量中的一个或多个错误。
本发明提供用于纠错的技术,本发明例如可以用于对总线结构提供较小反应时间,并且更早地确定在一个数据流中被编码的数据矢量中的错误。
在本发明的第一方面中,从多个数据矢量确定纠错信息。位置信息也被从该数据矢量确定。该位置信息包括从该数据矢量的子集确定的数值。两个或更多子集具有一个或多个共同的数据矢量,而且还在一个或更多子集中具有不在其他子集内的一个或多个数据矢量。该纠错信息和位置信息可以被用于纠正在一个数据矢量中的一个或多个错误,并且可以有利地用于连接两个设备的多个数据通道,其中一些或所有数据通道被用于传送该数据矢量。
该位置信息可以根据对应于在该子集中的数据矢量的平衡参数而确定。另外,每个子集可以包括多组数据矢量。该数据矢量可以被分配一些级别,并且该组可以是基于该级别的偶数或奇数组数据矢量。位置信息的数值可以对应于不同尺寸的组,其中每个尺寸是2次幂的函数,使得该组可以包括一个数据矢量、两个数据矢量、四个数据矢量等等,用于同样多的所需位置信息的数值。多个位置信息的数值可以由用于发送数据矢量的多个数据通道来确定。
位置信息可以从所接收的数据矢量来确定,并且与所接收的位置信息相比较。当所接收的位置信息和所确定的位置信息不同时,信息组之间的误差可以被用于确定哪一个所接收数据矢量具有错误。该纠错信息可以被用于纠正在具有错误的数据矢量中的错误。
该纠错信息可以包括奇偶性数值,每个奇偶性数值通过使用在每个数据矢量的特定位置中的一个数值来确定。例如,每个数据矢量的第一数位可以被用于确定用于该纠错信息的第一奇偶位。
所确定的纠错信息可以与所接收的纠错信息相比较。可以通过确定哪一个所确定的信息具有与在所接收的纠错信息中的数值不同的数值而确定在一个数据矢量中的一个错误。该位置具有在该数据矢量中的一个相应位置,并且在该相应位置中的数值可以被更改,以纠正在该数据矢量中的错误。
该数据矢量、纠错信息和位置信息可以包括一个阵列。该纠错信息可以包括一个或多个矢量,并且该位置信息包括一个或多个矢量。
该数据矢量可以被通过多个数据通道而发送,该纠错信息可以在一个或多个数据通道上发送,并且该位置信息可以通过一个或多个数据通道而发送。该数据矢量、纠错信息和位置信息可以使用一个或多个发送代码而编码。在一个示意实施例中,用于控制字符的K个数位被使用发送代码而编码,该位置信息被使用发送代码而编码,并且所获得的编码矢量被通过一个数据通道而发送。
在本发明的另一个方面中,一个通道分配模块可以把多个第一通道切换到多个第二通道。该通道分配模式包括多个多路复用器,每个多路复用器适用于把第一通道的一个子集耦合到第二通道之一。电子通道的每个子集被分配一个级别。多个光通道的每个光通道被分配一个索引。与在与发生故障的光线的索引相邻的一个范围内的光通道相对应的多路复用器使用该级别选择除了当前选择的通道之外的一个不同的电子通道。
通过参照下文的详细描述和附图将获得对本发明的特点和优点的更加完整的理解。
附图说明
图1为根据本发明一个实施例的示意通信***的方框图;
图2为根据本发明一个实施例的用于编码数据以发送的示意方法的流程图;
图3为根据本发明一个实施例用于解码数据的示意方法的流程图;
图4为示出根据本发明一个实施例的示意纠错阵列的表格;
图5为示出根据本发明一个实施例,数据矢量的平衡参数如何被用于确定在一个位置矢量中的数值的一个例子的方框图;
图6为示出根据本发明一个实施例,图4的纠错阵列如何通过十个数据通道而发送的一个例子的表格;
图7为示出根据本发明一个实施例,具有用于纠正控制字符的数位和包含位置矢量的数位的一个分离编码的矢量的一个例子的表格;
图8为示出根据本发明一个实施例,基于连接两个设备的一个或多个通道发生故障可以改变通道分配的一个通信***的例子的方框图;以及
图9为示出根据本发明一个实施例,可能的用于多路复用中的通道分配的示意表格。
具体实施方式
用于服务器互连的一些更长的总线结构需要在并行的几十条以几吉波特率传输的光纤上工作的光传输介质。与需要定期处理偶然错误的更长距离的通信链路相反,这更长的总线结构必须几乎无差错地工作。由于影响***性能的反应时间的考虑,正常错误处理程序通常是不现实的。光链路通常被指定为具有10-12或更好的误码率,但是用于服务器互连的更长的总线结构需要低几个量级的误码率。该误码率的减小可以通过纠错而实现。
提供减小的误码率的纠错方案的一个例子在“Proposal for a VeryShort Reach(VSR)OC-192/STM-64 Interface based Parallel Optics”Optical Internetworking Forum(光互联网网络论坛)(OW)(1999)中给出,该文献的公开内容被包含于此以共参考。但是,在该建议方案中描述的技术通常不适用于服务器链路,主要是因为过大的***反应时间,其大于240个串行波特间隔,没有计算冗余校验(CRC)和纠错操作在内。并且,内务开销变得极大,并且对于非常大的链路数的应用,效率被减小到相对较小的水平。
相反,本发明的方面具有与发出单串编码的矢量(例如,一般为6波特间隔所需的时间同样低的***反应时间),可以容易扩展到许多通道,通常用更加简单的电路来构造,并且给出具有更好的纠错的幅度级别。
本发明的方面通常可以应用于具有多个并行通道的总线结构,每个并行通道以高数据率发送串行数据。在此所用的一个总线结构应当在例如由两个通信服务器所使用的分立封装的实体上的芯片之间提供简单、低反应时间的通信,并且适用于在其他应用中的如下应用:
1.以一定距离或者大约两米或更小进行连接,对于该距离来说一个错误是一个严重的中断。低反应时间和在该设备的使用寿命期间没有错误是较高优先考虑的。
2.以大约10米或更小的距离进行连接,其包括上游缓冲,并且支持从偶然错误中温和地恢复。低错误率和低反应时间仍然是非常重要的,但是有时是不太关键的。
本发明用于许多不同的应用,但是上述的两种应用是可以应用本发明以提供适当的错误减小的普通应用。
该期望的错误是未纠正的单数位错误,并且没有纠正的固有错误率已经较低。处于良好的正常运转状态的良好设计的光通道被认为表现出这些特性。
该总线结构一般为几十至几百的通道宽度并且工作速率为几吉赫兹(GHz)。为了可靠性,希望具有多余的通道,其可以被切换以用于在完全错误之前替换具有升高的错误率的任何通道。
本发明可以有利地提供可以用来纠正具有错误的数据矢量的纠错信息。另外,提供位置信息,其可以被用于定位具有错误的数据矢量。在一个实施例中,该位置信息被设计,使得能够以低反应时间快速地确定具有错误的数据矢量。在一个实施例中,该位置信息具有多个数值,并且每个数值从该数据矢量的一个子集来确定。每个子集将具有与其他子集共同的一些数据矢量,但是将具有不在其他子集中的数据矢量。由于从具有一些公共数据矢量以及与其他子集中的数据矢量不同的一些数据矢量的子集确定该位置信息的每个数值,因此可以容易地确定具有一个错误的数据矢量的位置。
现在参见图1,其中示出一个示意的通信***100。通信***100包括一个发送器110和由多个串行数据通道125耦合的接收器140。发送器110包括一个发送代码编码模块118、阵列编码模块120和并串转换模块130。阵列编码模块120包括一个纠错阵列121。接收器140包括一个串并转换模块145、发送代码解码模块149和阵列解码模块160。阵列解码模块160包括一个纠错阵列161、新纠正矢量162和新位置矢量163。每个发送器110和接收器140是适合于分别提供阵列编码和解码以及分别提供发送编码和解码的通信单元。
输入未编码数据105被通过一个并行数据总线106应用于发送码编码模块118。每个数据组在此将被称为一个“数据字”115。该发送代码编码模块118使用一个或多个发送码把数据字115转换为编码的数据矢量119。例如,如果在数据字115中存在20个并行数据位,该发送代码编码模块118如果使用一个5B/6B发送代码则可以创建四个编码的数据矢量119,每个编码的数据矢量119具有6个数位。该阵列编码模块120在纠错阵列121中存储预定数目的编码的数据矢量119。该阵列编码模块120确定一个纠正矢量122和一个位置矢量123,其可以被添加到该纠错阵列121。在图4中示出一个示意的纠错阵列121,其具有编码的数据矢量119、纠正矢量122和位置矢量123,并且在下文中进一步详细描述。在图2中示出一种适用于由该发送器110所使用的方法,以处理纠错阵列121和确定适用于在该纠错阵列121中纠错的信息。
应当指出该纠错阵列121和位置矢量123通常也被编码。这种编码可以由阵列编码模块120或者由发送代码编码模块118或由任何适当的机制所执行。
该纠错阵列121然后耦合到该并串转换模块130。该并串转换模块130取多个矢量,其中包括纠正矢量122和位置矢量123,并且把它们置于一个串行数据通道135。该串行数据通道135包括多个数据矢量通道136、携带该纠正矢量122的通道131和携带该位置矢量123的通道132。在本例中,该纠正矢量和位置矢量分别被从该串行数据通道135分配给一个通道。但是,这不一定是这种情况,如下文更加详细地描述。在本例中,存在在该数据矢量通道136上发送的多个编码的数据矢量137至138。参照图6示出如何通过串行数据通道135发送编码的数据矢量119、纠正矢量122和位置矢量123的一个例子。
该串行数据通道135被耦合到该接收器140。在发送或接收过程中,可能在数据传输中或者由串行数据通道135导入错误。串行数据通道135通常是高速串行通道,并且包括用于把两个设备互连的总线结构。
该串并转换模块145把在串行数据通道135上的数据转换为并行数据,其被称为所接收数据146。该发送代码解码模块149把一个或多个发送代码应用于所接收数据146。该发送代码解码模块149把在所接收数据146中的任何代码违例发送到该阵列解码模块160。该发送代码解码模块149还把包含所接收的纠正矢量和所接收的位置矢量的该未编码的所接收数据155发送到阵列解码模块160。该阵列解码模块160存储从在该纠错阵列161中的发送代码解码模块149接收的未编码的数据155。
该阵列解码模块160确定新的纠正矢量162和新的位置矢量163。适合于由一个接收器140所使用以纠正在一个所接收纠错阵列153中的错误的方法在图3中示出。该新的纠正矢量162和新的位置矢量163被与所接收的纠正矢量156和所接收的位置矢量157相比较(例如,分别在通道131和132上接收)。使用这些比较,该阵列解码方法160可以纠正在串行数据通道135上接收并且存储在纠错阵列161中的一个数据矢量中的错误。如下文更加详细地描述,在此存在不应当执行纠错的特定条件。
无论是否已经或还未执行,该阵列解码模块160通常输出该“纠正的”未编码数据矢量155,作为输出的未编码数据165。
应当指出,该发送器110和接收器140可以被合并为单个收发器,适合于通过两组串行数据通道135(例如,在每个方向上具有一个通道)发送和接收数据矢量。应当指出该串行数据通道135还可以是单个通道,并且一个纠错阵列将被在该单个通道上发送。另外,在一个或多个数据通道135发生故障的情况中,一些串行数据通道135可以被用作为空余的数据通道。另外,当需要高速时,可以在一定程度上并行地执行该阵列编码和发送代码编码。例如,该发送代码编码模块118和阵列编码模块120可以并行地执行功能,以满足高速的要求。通常,该位置矢量123应当被在该纠错阵列121中的数据矢量已经被编码之后创建。
现在转到图2,其中示出一种用于对要发送的数据编码的方法200。尽管可以采用任何适用于执行方法200的设备,但是该方法200将通常由发送器110所执行。通常,方法200使用数据矢量的纠错阵列,其中在下面更加详细地定义一个纠错阵列。但是,方法200可以在需要纠错的任何类型的数据上执行。
通常,在多个串行数据通道上发送的数值被分为尺寸为b·m·n的纠错阵列,其中m是发送通道的数目,以及n是在一个编码的串行发送的矢量中的数值的数目。通常,每个数值为一个数位。对于5B/6B编码的矢量,n=6。该参数b表示来自包含于该阵列中的每个通道的连续矢量的数目,通常b=1。
每个矢量被分配一个纠正矢量,其还被编码和通常沿着一个专用通道发送。在图2的步骤215中,该纠正矢量被确定。在该纠正矢量中,第一数位被定义为在除了被单独分配到该位置矢量的矢量之外的阵列中的所有数据矢量的第一数位的奇偶性,因为通常该位置矢量将没有添加到该纠正矢量的奇偶性。但是,如果,该位置矢量可以被添加到用于纠正矢量的奇偶性计算中。该奇偶性矢量的第二数位是所有数据矢量等等的所有第二数位的奇偶性。无论所选择的奇偶性是偶数或奇数都没有关系。并且,该纠正矢量可以使用其他技术来取代奇偶性,例如CRC。但是,奇偶性通常容易计算,并且可以非常快速地确定。在步骤220中,纠正矢量被使用一个或多个发送代码来编码。另外,该数据矢量也被使用一个或多个发送代码来编码,至少在一定程度上可以并行地进行在步骤215中的纠正矢量的确定和在步骤220中的数据矢量的编码。
在发送代码中,存在特定的非数据矢量,通常被称为“控制特征”。在未编码域中的一个K数位把一个矢量识别为除了数据之外的其他事物。如果必须恢复控制特征,则基于所有K位数值的一个奇偶位也应当被发送。如果控制特征仅仅被用于启动功能,则可以消除额外的数位,或者如果一个空余通道还未被使用,则额外数位可以被在该空余通道上发送。在这种情况中,如果一个有效负荷通道被切换到该空余通道,则恢复控制特性的能力消失。
发送带宽必须也被用于一个或多个数据位置矢量。在此还可以有一个或多个空余数据通道用于一个发生故障的通道替换路由。另外,用于发送位置矢量的一个数据通道还可以作为一个空余通道。在这种情况中,纠正错误的能力降低,但是并不是在发生故障的通道的情况中无能为力。该编码的矢量应当具有这样的特性,即单个发送错误或者产生一个无效矢量或者改变与该矢量相关的一个参数。如下代码的所有矢量满足该要求条件:由Franaszek和Widmer递交的名称为“Byte Oriented DCBalanced(0,4)8B/10B Partitioned Block Transmission Code”(1984)的美国专利No.4,486,739;由Widmer所提交的名称为“Partitioned DCBalanced(0,6)16B/18B Transmission Code with Error Correction”(2001)的美国专利No.6,198,413;以及由Widmer所提交的名称为“DC-Balanced 7B/8B,9B/10B,and Partitioned DC-Balanced 12B/14B,17B/20B,and 16B/18B Transmission Codes”的美国专利申请No.10/091,673,这些文献被包含于此以供参考。
对于平衡矢量或在例如3B/4B、5B/6B和分割的8B/10B以及10B/12B这样的发送代码中具有+2的差异(disparity)的矢量,一个重要的参数是该矢量的平衡。一个矢量的差异即在该矢量中的“1”和“0”的数目的差别。正和负差异数分别称为1或0过量。一个不平衡的编码矢量具有非0的差异,而一个平衡的编码矢量具有为0的差异。如果一个编码矢量在发送端是平衡的,则单个错误将在接收端产生一个不平衡的矢量,并且该不平衡的矢量可能有效或无效。如果该矢量在发送端是不平衡的,则单个错误将产生一个无效矢量或平衡矢量。在本例中,一个平衡参数可以被选择,使得编码的数据矢量具有+2的差异,导致该平衡参数被分配一个数值,例如0,而该平衡的编码矢量导致该平衡参数被分配另一个数值,例如1。
在例如7B/8B、9B/10B和分割16B/18B代码这样的发送代码中所用的矢量具有0、±2或±4的差异。一个重要参数是该矢量是否具有±2的差异。单个错误把±2的差异变为0或±4的差异,把一个初始差异变为±2差异,以及把±4差异变为±2差异,或者产生一个有效矢量。在本例中,一个平衡参数可以被选择,使得具有±2差异的编码数据矢量导致该平衡参数被分配一个数值,例如1,而具有±4的差异的编码数据矢量使得该平衡参数被分配另一个数值,例如0。
尽管在此将根据数据矢量的奇偶性描述该平衡参数,但是可以使用在一个数据矢量中出现一个错误时发生改变的任何参数。
该平衡参数被用于确定在步骤225中的一个或多个位置矢量。为了参考的目的,所有编码数据矢量被分配从0至bm的一个数值,并且按照二进制的方式归组(例如,2次幂的一个函数):单个、成对、四成份组、八成份组等等。该组也被按照连续次序而编号。
在步骤225中,为对应于数据矢量的平衡参数的子集产生一个奇偶数值,通常为能够具有一个二进制数值的数位,其中每个子集包括一个或多组数据矢量。在下列例子中,该奇偶数值被假设为一个数位,但是可以使该奇偶性扩展到更大的数值,例如十六进制数值。对上述仅仅为奇数或偶数组的数据矢量描述的平衡参数的数值计算该奇偶位,其中“奇数”和“偶数”由所分配的连续次序所确定。例如,从为对应于所有奇数编号的数据矢量的平衡参数计算的奇偶性导出第一奇偶数位。为对应于属于一个奇数编号对(例如,两个相邻数据矢量)的数据矢量的所有矢量的平衡参数的数值计算第二奇偶位。为对应于属于一个奇数编号四成份组的数据矢量的所有矢量的所有平衡参数计算第三奇偶位,如此等等。这些奇偶位构成位置信息,其被根据阵列的尺寸编码为一个或多个位置矢量,并且与在该阵列中的该纠正矢量和编码的数据矢量一同发送。一个示例的位置矢量及其确定方法在下文参照图5进一步详细描述。
对于上述编号***来说,对被分配奇数编号的数据矢量的子集计算位置奇偶性来说是有利的,因为如果通道的总数不是2的次幂,则这些子集将包括少数几项。作为一个例子,对于总共68个通道,最高编号(即,第五)的16个通道组仅仅包括四个单元(通道64、65、66和67)并且存在仅仅两个奇数编号的子集(即,1和3)。对于偶数编号,存在有三个具有偶数编号包含16个单元的子集(即,0、2和4),必须该单元导出奇偶性。
在步骤230中,通过使用发送代码编码位置矢量,在步骤230之后,该阵列通常被发送。应当指出,在完全确定纠正矢量和位置矢量之前,可以发送一些阵列部分。
在解码之后,该用于该位置矢量的编码和通道分配应当使得在该数据矢量中的错误不被扩展到该位置矢量,反之亦然,因为这可能妨碍纠错机制。
通常,要被保护的发送通道的数目不是在该未编码的矢量中的位数n(例如对于5B/6B代码的情况中为5)。剩余的通道可以被作为伪数位而忽略或用于不相关的功能。该剩余通道的一个良好的用途是作为该位置矢量的扩展,特别是当使用5B/6B代码时。单个矢量的5个未编码数位可能仅仅定位在32个或更少的通道中的错误,而不计数K为奇偶性。在这种情况中,分离该5B/6B矢量及其剩余部分分为一个3B/4B和一个1B/2B部分、包含数据的一个片断以及一个错误定位矢量的其他错误定位数位是有用的。任何1B/2B代码与本发明的实施例相兼容。
在发送和接收端,在一个或多个位置矢量中所用的位置的处理占用比纠正矢量奇偶性和通过数据通道发送数据矢量的编码更多的时间,这增加反应时间。如果过大的带宽可用,则可以通过对用于在任何1B/2B编码的种类中的位置矢量的错误定位数位进行编码而减小过量的延迟。可以实现实际/补充的1B/2B编码,而实际上没有额外编码和解码延迟。
现在参见图3,其中示出一种方法300,用于解码在一个阵列中的数据。该方法300通常由接收器140所执行,但是可以使用任何适用于实现方法300的设备。当所接收的数据,包括所接收的数据矢量,被解码(步骤305)时,方法300在步骤305开始。在步骤310中,一个新的纠正矢量被从所接收的数据矢量确定。该新的纠正矢量通过上述参照图2的步骤215描述的技术而确定。该新的纠正矢量被与在步骤325中的所接收纠正矢量相比较。如果在两个矢量之间匹配(步骤335=是),则该方法300在步骤345结束。如果两个矢量不同(步骤335=否),则该错误在步骤340被纠正。如下文所述,如果在一个阵列的数据矢量部分中存在单个有效矢量,则通过所接收的错误纠正矢量以及由该位置矢量所确定的位置可以纠正该单个有效矢量。
在步骤330中,任何代码违例被标记,使得在数据矢量错误为已知。在步骤315中,使用上文参照步骤225和下文参照图5描述的技术,确定一个新的位置矢量。
在步骤330中,通过把所接收的未编码的位置矢量与从所接收的未编码的数据矢量导出的新的位置矢量相比较而定位错误的数据矢量。该比较结果确定哪一个数据矢量具有错误。在该编码域中的单个错误将对该错误矢量所属的每个子集改变位置值。例如,在16位的一个组中编号为9的数位的错误将改变从该奇数编号矢量和奇数编号8成份组,但是不改变从该奇数编号的对和奇数编号的四成份组的平衡参数确定的位置值。从而可以唯一地确定具有一个错误的数据矢量。具有一个错误的数据矢量的识别参照图5更加详细地描述。
根据上文所述,即使在位置矢量中存在第二错误,在由一个无效编码矢量所识别的数据矢量部分中的单个错误可以被纠正。在步骤340中,通过在新的纠正矢量中的哪一个数值为错误并且纠正在所识别的数据矢量中的相应数位,而使得新的和所接收的纠正矢量被用于纠正该错误。换句话说,通过改变从所接收的矢量导出的纠正矢量不与所接收的纠正矢量的相应位数相匹配的错误矢量的位数,单个错误数据矢量被在该未编码的域中纠正。例如,如果所接收的纠正矢量为01101,并且新的纠正矢量为00101,则该数据矢量的第二数位具有该错误并且被转换。
在步骤345中,该方法300结束。
应当指出,在如下情况中不采取任何动作:
1.如用于解码所接收的纠正矢量的发送代码所确定,所接收的纠正矢量为错误。
2.在该阵列的数据矢量部分中的两个或多个矢量为错误。
3.如用于解码所接收的纠正矢量的发送代码所确定,该阵列的数据矢量部分包含所有有效编码矢量,并且所接收的位置矢量为错误。
4.该误差被限制为所接收的位置和纠正矢量,即,在该阵列的数据矢量部分之外。
现在转到图4,一个纠错阵列400被示出为可以用于一个5B/6B发送代码的类型。纠错阵列400包括一个数据矢量部分410、纠正矢量部分420、和位置矢量部分430。该列D0至Dm-1表示m个未编码的5位数据矢量。该列C和L分别表示纠正和位置矢量。在C列中的数位AC是在该块中的所有数据A数位A0至Am-1的奇偶位。类似地,在C列中的数位BC是在块中的所有数据B数位B0至Bm-1。
假设一个5B/6B代码,在该纠错阵列400中的每个编码的数据矢量将被平衡或未平衡,并且平衡参数(例如,“BAL”)具有一个相应的数值,其是任意的,只要该数值为常量。用于确定该位置矢量430的示意技术在图5中示出,用于21个数据矢量的情况。尽管未在图4中示出,但是另一个行可以被添加到该纠错阵列400,以保持该编码数位(对用于一个5B/6B发送代码的每个矢量为一个数位)。
现在转到图5,其中示出一个方框图,示出一个位置矢量430如何可以被确定的一个例子。在该位置矢量430中的每个数位510至530通过分别使用可能的21个数据矢量的子集541至581而确定。如图中所示,该AL数位510从与偶数编号的数据矢量D0、D2、D4、...、D20的子集541相关的所有平衡参数的奇偶性而确定,其中“偶数”是指按照次序540的偶数编号。应当指出该次序对于哪一个数据矢量被按次序分配一个特定的数字。该BL数位515是与该数据矢量D0D1、D4D6、D8D9、...、D20D21的偶数组的数据对被按照次序550排序。该CL数位520是平衡与数据矢量的偶数编号的四成份组的奇偶性相关的所有平衡数位,例如D0D1D2D3、D8D9D10D11和D16D17D18D19,其中该四字符组被按照该子集561的次序560而排列。该DL数位535是与数据矢量的偶数编号的八成份组的子集571相关的所有平衡参数的奇偶性,例如D0D1D2D3D4D5D6D7和D16D17D18D19D20D21,其中该八成份组被按照次序571排列。EL数位530是与例如例如D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15的16个矢量的偶数编号组的子集581相关的所有平衡参数的奇偶性,其中该16矢量的组按照次序580排序。
图5的示意图还被用于说明使用该位置矢量430来确定哪一个数据矢量具有错误是如何的简单。例如,假设与位置9的相关的数据矢量具有错误。则新的位置矢量(即,通过使用所接收的数据矢量所确定)的EL位530与所接收的位置矢量的EL位530相比将具有不同数值。使用该信息,数据矢量16至21假设没有错误,并且1至15中的一个数据矢量被假设具有错误。该新的位置矢量的DL位525与所接收的位置矢量的DL位525相匹配。这意味着该错误位于数据矢量8至15中。用于新的位置矢量的CL位520将具有与用于所接收的位置矢量的CL位520不同的数值。这意味着数据矢量8至11之一包含该错误。用于新的位置矢量的BL位515将具有与用于所接收的位置矢量BL位515不同的数值。这意味着位置矢量8或9之一包含错误。因为,用于新的位置矢量的AL位515与用于所接收的位置矢量的AL位515相同,在位置9中的数据矢量具有错误。
因此一个二进制搜索技术可以被用于快速地确定哪一个数据矢量具有错误。二进制搜索是相当快的,并且能够进行非常快的纠错。还应当注意排序540至580是用于说明的目的的。可以使用任何排序,只要确定用于位置矢量430的适当数值即可。
可以看出在该位置矢量中的数值被确定使得它们包含对应于共同数据矢量的信息,但是还包含不用于确定其他数值的来自数据矢量的信息。例如,该数位510、515的每个数值通过使用在位置0处的共同数据矢量而确定,但是数位510的确定不使用在位置1中的数据矢量,而是通过使用在位置1中的数据矢量来确定数位515。因此,用于确定数位510和515的共同数据矢量是在位置0、4、8、12、16和20中的数据矢量,并且存在包含在子集541中而不包含在子集551中的数据矢量。
现在转到图6,其中示出一个表格,说明一个纠错阵列的编码的连续矢量“abcdei”如何可以在多个发送通道上发送的一个例子。该例子假设20线的输入总线宽度以及作为在10个光通道上的总线速率的两倍的串行波特率。对于每个矢量,a数位被首先发送,并且i数位(即,由5B/6B发送代码所应用的数位)最后发送。用于通道L0至L7的第一下标是指通道号,并且第二下标是指20位字号。如图所示,第一字610被在通道L0至L3上发送,第二字620被在通道L4至L7上发送,以及第三字630在字610之后在前4个通道上发送。在本例中,“字”也包含在5B/6B发送编码过程中添加的5个i位。
在本例中,字610和620被包含在单个纠错阵列中,其具有相关的纠正矢量640(即,‘aC01bC01cC01dC01eC01iC01’)以及位置矢量650(即,‘aL01bL01cL01dL01eL01iL01’)。该位置矢量650在一定延迟之后发送(在本例中为3个连续数位间隔),以提供足够的时间用于处理,该处理占用比所有其他矢量更多的时间。由于在本例的纠错阵列中仅仅具有8个数据矢量,则仅仅需要3个定位数位,其可以用3B/4B的格式来编码。在图6的例子中,该位置矢量包含额外的2个数位(即,‘dL01eL01’)并且使用5B/6B发送代码来编码。如果还需要恢复控制字符,则需要一个额外的纠正数位用于该控制数位K,其是在该纠错阵列中的所有K数值的奇偶性。该K数位表示一个矢量是否被编码为数据或控制信息。该数位然后被使用两个剩余的编码数位位置在通道L9上发送。该控制数位K可以用1B/2B格式来编码(例如Manchester编码,其以实际和互补的形式发送每个数位)。显然,在该2位字段中的单个错误可以被立即检测。在定位数位编码的3B/4B中的一个错误不能够影响任何其他数位,反之亦然,这对于纠错方案的完整性来说是重要的。图7示出该位置矢量650的一个例子,其中该控制数位K被用Manchester编码方法来编码,并且3个定位数位被以3B/4B格式编码。
上述引用的参考文献的任何平衡发送代码与本文使用5B/6B代码作为一个例子公开说明的纠错技术相兼容。
采用5B/6B代码的错误定位通道可以处理多达32个通道,而与用于K数位的奇偶性无关,可以添加一个额外的位置通道,但是在上述数据字段中的未使用数位位置可以用于错误定位的目的。
如果可用带宽较少,则可以考虑使用7B/8B代码。通过一个7B/8B代码编码的位置矢量的7个数位可以处理多达128个通道,或者64通道包括K个数位。通过采用10B/12B格式可以实现类似但更大的扩展,但是这通常增加反应时间,并且可以减小间隔尺寸(granularity),其可能导致更大的剩余。
另一种可能性是坚持采用5B/6B代码,并且通过选择如上文定义的参数值b=2而重新定义该纠错阵列。然后,该纠错阵列包括来自每个通道的两个矢量。该纠正矢量仍然是在该纠错阵列中的所有5位源矢量上计算的单个5B/6B矢量。该纠正矢量可以在单个通道上与数据矢量或位置矢量交替。另一个通道可以包括两个错误定位矢量,足以处理任何数目的通道的矢量。
因此,本发明能够纠正在数据矢量中的错误。可以使用本发明的技术确定一个或多个通道经常导致错误。然后,可以切换通道,使得产生错误的通道被转换为其他通道,并且使得不使用产生错误的通道。
现在参见图8,其示出一种通信***800,通信***800可以在确定一个或多个通道经常具有错误时切换到空余通道。
该通信***800包括通过光通道828进行通信的一个发送器810和接收器840。光通道828是图1的串行数据通道135。发送器810是图1的改进的发送器110。具体来说,该发送器810包括一个发送器服务处理器830和一个更改的并串转换模块130,其包括并串转换模块A 815、光纤通道分配模块820以及另一个并串转换模块825。应当指出,该发送器810还包括一个发送代码编码模块118和阵列编码模块120,但是为了简化,这些模块都没有示出。接收器840是图1的接收器140的更改版本。具体来说,接收器840包括一个接收器服务处理器870和一个更改的串并转换模块145,其包括串并转换模块A 845、电子通道分配模块850、以及串并转换模块B 860。应当知道,该接收器840还包括一个发送代码解码模块149和一个阵列解码模块160,为了简化,这些模块没有示出。应当知道,在本例中,该光通道828包括多个分配的通道826和多个空余通道827。
该并串转换模块A 815把该输入矢量119、122和123串行化为具有可与电子总线速率相比拟的速率。然后该电子接口数据817是以该光通道828的全串行速率工作或者以全串行速率的一部分工作的多个串行通道。该电子接口数据817耦合到该光纤通道分配模块820,其把电子接口通道817连接到光学接口通道821。每个光学接口通道821是将被在光学通道828上发送之前的一些时间内转换为光的电子通道。该并串转换模块B 825对包括空余通道827在内的全部光通道组828提供数据。如果电子接口通道817仅仅是光通道828的光速率的一部分,则存在该并串转换模块B 825,并且该并串转换模块B 825然后串行化为光速率。因此,如果需要的话,并串转换模块B 825执行最终的串行化到达全光速率。该光纤通道分配模块820还具有来自发送器服务处理器830的输入,其选择该分配。
如果存在并串转换模块B 825,该串并转换模块A 845也存在并且对光通道828进行解串行(deserialize)。互补模块被在接收端添加。一个串并转换模块A 845把该光学通道828解串行为可与例如标准CMOS门这样的电子电路相比较的速率,并且该串并转换模块A 845产生多个光学接口通道847。该光学接口通道847被耦合到电子通道分配模块850,其在接收器服务处理器870的方向上把该光学接口通道847连接到适当的电子接口通851。而在发送器810端,每个光学接口通道821可以从几个电子接口通道817接收数据,在接收器840端,每个电子接口通道851可以从与发送器810端互补设置的几个光学接口通道847接收数据。该电子通道分配模块850通过多个电子接口通道851对完成解串行的该串并转换模块B 860提供数据。
如果一个或多个分配的光学通道826超过一个指定的错误率或者不能工作,则该分配的光通道826可以由空余的光通道827所代替。下面示出这如何以有效的方式实现,而没有过度的门控和布线的复杂度。
建议该空余光通道827不专用于一个特殊的光或光纤部件,而是把被更加有效地分配到例如以CMOS芯片为代表的由一个电子单元所具有的光通道828的总集合。从而几个空余光通道827被分配到大量光通道828。下文给出的解决方案避免潜在的布线问题。
假设在发送器和接收器***级别上的服务处理器830、870意识到所有光通道828的状态,并且控制这些光通道828的分配。每个光通道828可以从几个但有限数目的电子输入经过用标准CMOS技术实现的多路复用器接收输入。由于该并行电子接口(例如,并串转换模块A 815和串并转换模块B 860以及发送代码编码器和解码器和阵列编码器和解码器)一般在给定技术的限制下工作,并且在光通道828上的串行波特率更高,该多路复用器不能够正好置于将需要最小电路区域的全速率通道中。对于以上述例子中所述的字速率的两倍工作的5B/6B的情况,用于每个光学接口通道821的优选多路复用器是两个数位宽度,并且被置于半速率的数据流817和821中,其随后被合并到一个全速率串行数据流828中。一组3个空余通道对于每个复用的数位需要通常被称为AO2222的一个4路OR电路之后的一组四个2路AND门。由该发送服务处理器830所控制的寄存器激活四个AND门之一。
假设一组串行化的电子通道e0至en(即,电子接口通道817或847)对光纤通道o0至om(即,光通道)提供数据,其中m>n。请注意每个光纤通道828对应于在本例中的一个光学接口通道821或847。差值m-n=s等于空余通道的数目s。每个电子通道可以通过一个多路复用器而导向到s+1个电子通道中的任何一个通道。对于s=3,该通道可以被选择,如图9中所示的逻辑OR函数(+)所示。图9的每行表示例如由光纤通道分配模块820或电子通道分配模块850所实现的单个多路复用器。在图9的最后4行中的字母“x”是简化替换路径的描述的占位符。该电子通道被按照该光通道通常如何耦合到该电子通道的次序列出。
如果任何光通道826不能工作,则具有较高索引号的所有光通道828连接到被作为第二选择而列出的电子通道。如果第二通道不能工作,则具有比第二故障通道更高索引的所有光通道被连接到作为第三选择等等而列出的电子通道。换句话说,光通道o4开始耦合到电子通道e4,但是然后如果光通道o0至o3之一不能工作,则将耦合到e3。每个更高光通道o5至on+1也被切换。
作为一个例子,如果光通道o0、o1和o2不能工作,则电子通道e0指向具有所有0+3=3的光通道o3,e1被指向光通道o4,如此等等。
应当指出该技术可以被更改使得一个光通道被切换到更低的级别而不是更高的级别。
下面将给出光通道分配的一个具体例子。假设一个以3G波特率工作的100位宽度的总线连接到以6G波特率工作具有5B/6B代码的总共72个光纤。该数据发送需要3×20条光通道,剩余的带宽被如下分配到纠错和空余通道:
1.仅仅包括被编码为20条光数据通道上的12个6B矢量的多达100数据位的单个输入字的短纠错块被定义。小的纠错阵列尺寸减小一个纠错阵列中包含两个错误矢量的可能性。该奇偶性电路包括更少的项目,并且具有更小的。由几个字所构成的更加有效的更大块也在该发送器和接收器处产生与用于每个所包含的字的字间隔相等的等待时间。
2.除了纠错的奇偶性通道之外,对每个纠错阵列分配在每个块中的两个其他的光通道,用于错误定位的目的。该两个通道以Manchester代码发送6个数位,用于减小在关键路径中的电路延迟。这些数位中的5个数位可以定位多达32个通道上的错误矢量,并且第六个数位是控制数位K的奇偶性。
3.以两倍字率的串行传输分别需要23个通道的3个块。
4.剩余的3个通道是空余通道,其可以代替在72个通道中的3个故障通道。
72个光通道的整体分配如下:
1.三个空余通道。
2.23通道的三个纠错阵列,其中包括多达20个数据通道,具有错误定位矢量的2个通道,以及承载该纠正矢量的1个通道。
应当知道,在此所述的实施例和变型仅仅说明本发明的原理,并且本领域的普通技术人员可以使用各种变型,而不脱离本发明的范围和精神。
Claims (29)
1.一种在通信***中用于处理多个数据矢量的方法,该方法包括如下步骤:
从多个数据矢量确定纠错信息;以及
从该多个数据矢量确定位置信息,该位置信息包括多个位置信息数值,其中:
该位置信息数值从该数据矢量的子集确定,
至少两个子集具有一个或多个共同的数据矢量,但是其中该至少两个子集中的一个或多个子集中具有不在该至少两个子集的另一个子集中的一个或多个数据矢量,
该至少两个子集中的每一个子集包括至少两个数据矢量,以及
该纠错信息和位置信息可以被用于纠正在多个数据矢量中的一个或多个错误。
2.根据权利要求1所述的方法,其中进一步包括把所接收的纠错信息与所确定的纠错信息相比较的步骤。
3.根据权利要求2所述的方法,其中进一步包括使用该位置信息来确定多个数据矢量中的哪一个数据矢量具有一个或多个错误步骤。
4.根据权利要求3所述的方法,其中进一步包括使用该纠错信息来纠正具有一个或多个错误的数据矢量的步骤。
5.根据权利要求4所述的方法,其中每个数据矢量包括多个数据矢量值,其中把所接收的纠错信息与所确定的纠错信息相比较的步骤包括确定在所确定的纠错信息中的一个或多个位置中的哪一个具有错误的数值,并且其中使用该纠错信息来纠正具有错误的数据矢量的步骤进一步包括改变在具有错误的数据矢量中的一个数据矢量值或多个数据矢量值的步骤,其中所改变的数据矢量值具有一个或多个位置,其对应于在具有错误数值的所确定的纠错信息中的一个或多个位置。
6.根据权利要求1所述的方法,其中进一步包括把所接收的位置信息与所确定的位置信息相比较的步骤。
7.根据权利要求6所述的方法,其中进一步包括当所接收的位置信息与所确定位置信息不匹配时使用该位置信息来确定多个数据矢量中的哪一个数据矢量具有一个或多个错误的步骤。
8.根据权利要求1所述的方法,其中每个数据矢量包括数据矢量数值,并且该纠错信息包括多个纠错信息值,并且其中每个数据矢量值、纠错信息值和位置信息值为二进制数值。
9.根据权利要求1所述的方法,其中多个数据矢量被分配一个连续次序,并且其中该子集由数据矢量的奇数组所确定。
10.根据权利要求1所述的方法,其中多个数据矢量被分配一个连续次序,并且其中该子集由数据矢量的偶数组所定义。
11.根据权利要求1所述的方法,其中该子集由数据矢量组所定义,其中每个组具有一个尺寸,并且每个尺寸是2次幂的函数。
12.根据权利要求11所述的方法,其中对于每个2的次幂该组被分配一个连续次序,并且其中从具有对应于单2的次幂的尺寸的组确定每个位置信息值。
13.根据权利要求1所述的方法,其中从多个数据矢量确定位置信息的步骤进一步包括从对应于在该子集中的数据矢量的平衡参数确定位置信息值的步骤。
14.根据权利要求13所述的方法,其中该子集由数据矢量组所定义,并且其中从对应于在该子集中的数据矢量的平衡参数确定位置信息值的步骤进一步包括从对应于该组中的数据矢量的平衡参数确定该位置信息值的步骤。
15.根据权利要求1所述的方法,其中多个数据值、纠错信息和位置信息被存储在一个纠错阵列中。
16.根据权利要求1所述的方法,其中该纠错信息包括一个或多个矢量,其中该位置信息包括一个或多个矢量。
17.根据权利要求1所述的方法,其中每个数据矢量包括多个数据矢量值,其中该纠错信息包括多个纠错信息值,并且其中确定来自多个数据矢量的纠错信息的步骤进一步包括从对应于一个或多个数据矢量值的奇偶性确定每个纠错信息值的步骤。
18.根据权利要求17所述的方法,其中每个数据矢量值和每个纠错信息值具有位置,并且其中每个奇偶性从在每个数据矢量中的多个所选择位置之一确定。
19.根据权利要求17所述的方法,其中进一步包括把一个或多个发送代码应用于多个数据矢量、纠错信息和位置信息的步骤。
20.根据权利要求19所述的方法,其中进一步包括把多个数据矢量的一部分耦合到多个第一数据通道、通过第二数据通道耦合该纠错信息、以及把位置信息耦合到第三数据通道的步骤。
21.根据权利要求1所述的方法,其中该数据矢量被使用一个或多个发送代码而编码,并且其中从在该子集中的每个数据矢量的属性确定该位置信息。
22.根据权利要求21所述的方法,其中该属性是该编码的数据矢量的一个二进制属性,当在该编码的矢量中的单个数位被改变时,该二进制属性发生改变。
23.根据权利要求1所述的方法,其中进一步包括确定对应于除了数据之外的矢量的K位数值的一个奇偶位,并且使用二进制编码来对该奇偶位进行编码的步骤。
24.根据权利要求1所述的方法,其中多个数据矢量具有一个或多个应用于多个数据矢量的发送代码,并且其中该方法进一步包括如下步骤:
根据该一个或多个发送代码确定在多个数据矢量中的任何代码违例;
通过使用该位置信息定位具有一个或多个错误的数据矢量;以及
通过使用该纠错信息纠正一个或多个错误。
25.一种在通信***中用于处理多个数据矢量的通信单元,该通信单元包括:
一个编码设备,其适合于:
从多个数据矢量确定纠错信息;以及
从该多个数据矢量确定位置信息,该位置信息包括多个位置信息数值,其中:
该位置信息数值从该数据矢量的子集确定,
至少两个子集具有一个或多个共同的数据矢量,但是其中该至少两个子集中的一个或多个子集中具有不在该至少两个子集的另一个子集中的一个或多个数据矢量,
该至少两个子集中的每一个子集包括至少两个数据矢量,以及
该纠错信息和位置信息可以被用于纠正在该数据矢量中的一个或多个错误。
26.根据权利要求25所述的通信单元,其中进一步包括一个阵列编码模块,该阵列编码模块适合于把一个或多个发送代码应用于多个数据矢量、纠错信息和位置信息。
27.根据权利要求25所述的通信单元,其中进一步包括一个阵列解码模块,该阵列解码模块适合于把一个或多个发送代码应用于多个数据矢量、纠错信息和位置信息,以及确定在该多个数据矢量、纠错信息和位置信息中可能存在的代码违例。
28.根据权利要求25所述的通信单元,其中该编码设备进一步适合于把所接收的纠错信息与所确定的纠错信息相比较,并且通过使用所接收的和所确定的纠错信息的比较,确定该多个数据矢量中的哪一个数据矢量包含一个或多个错误。
29.根据权利要求25所述的通信单元,其中该编码设备进一步适用于把所接收的位置信息与所确定的位置信息相比较,并且通过使用所接收的和所确定的位置信息的比较,确定该多个数据矢量中的哪一个数据矢量包含一个或多个错误。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/323,520 US6978416B2 (en) | 2002-12-19 | 2002-12-19 | Error correction with low latency for bus structures |
US10/323,520 | 2002-12-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100842293A Division CN1870487B (zh) | 2002-12-19 | 2003-12-03 | 用于总线结构的具有较小反应时间的纠错 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1508999A CN1508999A (zh) | 2004-06-30 |
CN1272928C true CN1272928C (zh) | 2006-08-30 |
Family
ID=32593241
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100842293A Expired - Fee Related CN1870487B (zh) | 2002-12-19 | 2003-12-03 | 用于总线结构的具有较小反应时间的纠错 |
CN200310119732.4A Expired - Fee Related CN1272928C (zh) | 2002-12-19 | 2003-12-03 | 用于总线结构的具有较小反应时间的纠错 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100842293A Expired - Fee Related CN1870487B (zh) | 2002-12-19 | 2003-12-03 | 用于总线结构的具有较小反应时间的纠错 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6978416B2 (zh) |
CN (2) | CN1870487B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100461544B1 (ko) * | 2003-02-27 | 2004-12-18 | 한국전자통신연구원 | 고차원의 곱부호를 이용한 레이트 호환가능 부호 구성 방법 |
US7352481B2 (en) * | 2003-03-21 | 2008-04-01 | Hewlett-Packard Develepment Company, L.P. | Systems and methods for recovery of a failed raster image processor partition |
US7395468B2 (en) * | 2004-03-23 | 2008-07-01 | Broadcom Corporation | Methods for debugging scan testing failures of integrated circuits |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US7539800B2 (en) * | 2004-07-30 | 2009-05-26 | International Business Machines Corporation | System, method and storage medium for providing segment level sparing |
US7296129B2 (en) | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US7581150B2 (en) | 2004-09-28 | 2009-08-25 | Broadcom Corporation | Methods and computer program products for debugging clock-related scan testing failures of integrated circuits |
US7500165B2 (en) | 2004-10-06 | 2009-03-03 | Broadcom Corporation | Systems and methods for controlling clock signals during scan testing integrated circuits |
US7299313B2 (en) | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7292161B2 (en) * | 2005-05-31 | 2007-11-06 | International Business Machines Corporation | NB/MB coding apparatus and method using both disparity independent and disparity dependent encoded vectors |
DE102005044388B4 (de) * | 2005-09-16 | 2008-07-10 | Nokia Siemens Networks Gmbh & Co.Kg | Verfahren zum Betrieb einer sendenden Station in einem Kommunikationssystem sowie sendende Station |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7594055B2 (en) * | 2006-05-24 | 2009-09-22 | International Business Machines Corporation | Systems and methods for providing distributed technology independent memory controllers |
US7584336B2 (en) * | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7848232B2 (en) * | 2006-09-13 | 2010-12-07 | Dell Products L.P. | Time division multiplexed communication bus and related methods |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US9014563B2 (en) * | 2006-12-11 | 2015-04-21 | Cisco Technology, Inc. | System and method for providing an Ethernet interface |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7405679B1 (en) | 2007-01-30 | 2008-07-29 | International Business Machines Corporation | Techniques for 9B10B and 7B8B coding and decoding |
US8700410B2 (en) * | 2009-06-18 | 2014-04-15 | Texas Instruments Incorporated | Method and system for lossless value-location encoding |
CN103177311A (zh) * | 2011-12-21 | 2013-06-26 | 上海华虹Nec电子有限公司 | 尼尔森规格管理方法及*** |
US9325346B1 (en) * | 2012-05-31 | 2016-04-26 | Marvell International Ltd. | Systems and methods for handling parity and forwarded error in bus width conversion |
CN103501208B (zh) * | 2013-09-18 | 2017-10-27 | 华为技术有限公司 | 一种解码方法及装置 |
DE102014213071A1 (de) * | 2014-07-04 | 2016-01-07 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Verarbeitung von Daten |
JP6458494B2 (ja) * | 2014-12-26 | 2019-01-30 | 富士通株式会社 | 情報処理装置、情報処理システムおよび通信装置 |
US11157433B2 (en) * | 2020-01-26 | 2021-10-26 | Mellanox Technologies Tlv Ltd. | Multi-chip module rate adjustment |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US4875037A (en) * | 1982-10-29 | 1989-10-17 | American Telephone And Telegraph Company, At&T Bell Laboratories | Automatic rerouting of calls through data buses |
CN1095874A (zh) * | 1993-05-05 | 1994-11-30 | 曾大章 | 计算机网用自动容错型光电中继器 |
US5784387A (en) * | 1994-10-31 | 1998-07-21 | International Business Machines Corporation | Method for detecting start-of-frame, end of frame and idle words in a data stream |
ZA988380B (en) * | 1997-09-16 | 1999-03-16 | Siemens Ag | Communications device for transmission of message signals |
US6496540B1 (en) * | 1998-07-22 | 2002-12-17 | International Business Machines Corporation | Transformation of parallel interface into coded format with preservation of baud-rate |
US6198413B1 (en) | 1999-07-01 | 2001-03-06 | International Business Machines Corporation | Partitioned DC balanced (0,6) 16B/18B transmission code with error correction |
-
2002
- 2002-12-19 US US10/323,520 patent/US6978416B2/en not_active Expired - Fee Related
-
2003
- 2003-12-03 CN CN2006100842293A patent/CN1870487B/zh not_active Expired - Fee Related
- 2003-12-03 CN CN200310119732.4A patent/CN1272928C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6978416B2 (en) | 2005-12-20 |
CN1870487B (zh) | 2010-05-12 |
CN1508999A (zh) | 2004-06-30 |
CN1870487A (zh) | 2006-11-29 |
US20040123222A1 (en) | 2004-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1272928C (zh) | 用于总线结构的具有较小反应时间的纠错 | |
US8621316B2 (en) | Method and device for encoding of error correcting codes, and method and device for decoding of error correcting codes | |
US7765457B2 (en) | Parallel convolutional encoder | |
CN1656693B (zh) | 迭代硬输入前向纠错的方法 | |
CN1449132A (zh) | 使用普通网络分组发送多个8b/10b位流的多路传输*** | |
CN1713626A (zh) | 电压电平编码***和方法 | |
WO2007149384B1 (en) | Data coding | |
CN1300142A (zh) | 用于编码和发送传输格式组合指示符的方法 | |
CN1459146A (zh) | 在通信***中生成代码的设备和方法 | |
US20230268932A1 (en) | Ethernet coding method and apparatus | |
CN1283905A (zh) | 传输设备保护的纠错控制编码 | |
KR20060129398A (ko) | 로컬 패리티를 갖는 직류 평형된 6b/8b 송신 코드 | |
CN1738230A (zh) | 在纠错中解决兆比特编码链路上的差错延续 | |
EP0735729A1 (en) | 5B4T coding scheme | |
CN1756090A (zh) | 信道编码装置和方法 | |
KR20070084151A (ko) | 디지털 신호 전송 장치 | |
CN1656692A (zh) | 用于迭代硬判决前向纠错译码的装置 | |
CN1509544A (zh) | 用于在无线网内编码和译码数据的设备和方法 | |
US6385752B1 (en) | Method and apparatus for puncturing a convolutionally encoded bit stream | |
US11128320B2 (en) | Encoding method, decoding method, encoding apparatus, and decoding apparatus | |
CN1105356C (zh) | 以小存储器容量进行纠错处理的方法和装置 | |
CN1144429C (zh) | 分组校验数据传输法 | |
US6374382B1 (en) | Short block code for concatenated coding system | |
CN1183687C (zh) | Turbo码编码器及编码方法 | |
CN101174914A (zh) | 误码纠错***及其发送装置、接收装置和误码纠错方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060830 Termination date: 20151203 |
|
EXPY | Termination of patent right or utility model |