CN101208898A - 利用重传在基于链路的互连中实现数据分组重构 - Google Patents

利用重传在基于链路的互连中实现数据分组重构 Download PDF

Info

Publication number
CN101208898A
CN101208898A CNA2006800231029A CN200680023102A CN101208898A CN 101208898 A CN101208898 A CN 101208898A CN A2006800231029 A CNA2006800231029 A CN A2006800231029A CN 200680023102 A CN200680023102 A CN 200680023102A CN 101208898 A CN101208898 A CN 101208898A
Authority
CN
China
Prior art keywords
data vector
data
packet
passage
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.)
Pending
Application number
CNA2006800231029A
Other languages
English (en)
Inventor
G·阿弗里尔
P·阿帕劳
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN101208898A publication Critical patent/CN101208898A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一般来说,在一个方面中,本公开文档描述一种设备,该设备包括通过互连作为多个数据向量接收数据分组的接收器。该互连包括多个通道。该设备还包括错误检测器,错误检测器检测数据向量中的错误。使用缓冲器来存储无错接收到的数据向量。如果有错误地接收到构成分组的数据向量,则处理器请求重传该分组。数据分组的重传包括通过不同通道来传送数据向量的至少一个子集。一旦将构成数据分组的多个数据向量存储在缓冲器中,则组装器重构该数据分组。即使从未在一次传输中正确地发送数据分组,该数据分组仍能够被重组。

Description

利用重传在基于链路的互连中实现数据分组重构
背景技术
基于高速链路的互连以高速度从一个位置(发射器)向另一个位置(接收器)传送大量数据。通过链路传送的数据可能具有多个参数(速度、协议、大小、服务质量)。为了满足高速度的要求,发射器将数据(例如分组)分成更小的组成部分(例如位、字节、段)并通过多个通道(信道)传送这些更小的组成部分。通过多个通道(lane)传送分组可能要耗费多个周期。在传送较小组成部分之后,可以在每个通道上传送一个或多个奇偶校验位(或一些更复杂的错误编码方案的位)以用于错误检查。接收器从每个通道接收更小的组成部分并存储它们,直到完整地接收到该数据分组为止。接收器利用奇偶校验位来确定每个通道(例如数据向量)或多个通道(用于更复杂的错误检测方案)上接收到的数据是否被正确地传送。如果任何数据向量中都没有错误,则将该分组重组在一起。如果这些通道的其中一个或多个中有错误,则可以废弃有错的数据向量(可能废弃对于与该数据分组关联的全部数据向量),并重传数据分组。分组的重传通常被重复尝试预定义次数。
数据向量中的错误可能由传送它们的通道中的临时或永久故障所致。临时故障间歇地发生,其中永久故障发生得更有规律/连续或持续。监视每个通道的错误数量,如果达到某个阈值(或多个阈值的其中之一),则可以将该通道视为具有永久故障。当一个通道(或多个通道)上发生错误但是未超过错误的阈值数量(临时故障)时,则重传该数据分组,因为认为将不会继续有错误并且可以实现成功的重试。如果某个通道(或多个通道)超过阈值(永久故障),则可以关闭该个通道(或多个通道)同时修复该通道。当一个或多个通道被关闭来进行维修时,可用带宽相应地降低。为维修或更换一个或多个故障通道而要关闭一半可用通道(例如8个中的4个)并非不常见。
如果临时故障维持多个周期,则因每次错误地接收到相同的数据向量,所以相同的数据分组可能多次无法成功地被传送。随着数据传输速度不断增加,遇到的错误(永久或临时的错误)的数量可能将增加。在故障通道上重传数据或减少可用带宽以便校正故障通道降低了性能。
附图说明
从下文的详细描述将显见到多种实施例的特征和优点,其中:
图1图示根据一个实施例的使用基于链路的互连的示范***;
图2图示根据一个实施例通过有间歇故障的基于链路的互连进行的数据分组的示范传输方案;
图3A图示根据一个实施例通过有间歇故障的基于链路的互连在不同通道上进行的数据分组的示范传输方案;
图3B图示根据一个实施例通过有持续的间歇故障/永久故障的基于链路的互连进行的数据分组的示范传输方案;
图4图示根据一个实施例通过基于链路的互连进行的数据分组的示范轮换重传方案;
图5图示根据一个实施例具有多个通道故障的示范基于链路的互连;
图6图示根据一个实施例用于基于链路的互连的示范发射器;
图7图示根据一个实施例用于基于链路的互连的示范接收器;
图8图示根据一个实施例通过基于链路的互连传送/重传数据的示范流程图;以及
图9图示根据一个实施例的具有串行链路的示范存储转发设备。
具体实施方式
图1图示示范***100,它利用基于链路的互连110来将第一设备(发射器)120连接到第二设备(接收器)130。互连110包括将发射器120连接到接收器130的多个通道(信道)140。将从发射器120传送到接收器130的数据(分组)分解(strip)到多个通道上。分解是将大分组分拆成较小片段(块)并在多个通道上传送较小的片段的过程。较小的片段可以是位、段、字节或字。例如,可以将8字节分组分成64个1位块、16个4位块、8个1字节块或2个4字节块(字)
如果利用8通道互连110以每个通道每个周期1位的方式传送8字节分组,则每个周期将传送1字节,并且将耗费8个周期来传送整个分组。可以在传送数据之后传送错误检查方案。例如,可以在时钟周期9和10期间传送错误检测方案。通道上接收到的数据构成通道的数据向量(例如位向量)。在上面的示例中,向量由8位数据和2个错误检查位组成。
错误检查方案可以是奇偶校验位,或可以是可在多个通道上为分组计算的更复杂的错误检查方案(例如循环冗余码(CRC))。
如果利用8通道互连110以每个通道每个周期4位的方式传送8字节分组,则每个周期将传送4字节,并且将耗费2个周期来传送整个分组。如果利用8通道互连110以每个通道每个周期1字节的方式传送8字节分组,则每个周期将传送8字节,并且将耗费1个周期来传送整个分组。在一个实施例中,可以在传送数据之后(例如第三周期、第二周期),在一个周期中传送错误检查方案(例如奇偶校验位)。或者,可以将错误检查方案追加到数据位,并在每个时钟周期传送。如果每个时钟周期传送错误检查方案,则检查每个时钟周期接收到的数据而不是等待信道的完整数据向量是可能的。如果将错误检查方案与数据包含在一起,则需要扩大周期中传送的位的数量(例如总共10位,8个数据位和2个奇偶校验位)或由于奇偶校验位的数量需要减少数据位的数量(例如总共8位,6个数据位和2个奇偶校验位)。
接收器130接收构成数据分组的数据向量。接收器130可以包括缓冲器,该缓冲器保存按每个通道接收的数据向量所组织的已接收的数据分组。接收器120可以使用错误检查方案来确定已正确传送和接收了这些数据向量还是错误地接收到这些数据向量。如果错误地接收了这些数据向量的其中一个或多个,则将需要重传该数据分组。接收器130可以请求发射器120重试传送该分组。
根据一个实施例,如果数据向量的其中一个或多个含有错误,则接收器130可以废弃构成该分组的数据向量。为了接收并重组分组,需要正确地接收构成该分组的所有数据向量。如果数据分组的传输期间至少一个通道上发生间歇故障,则将无法完整地接收该数据分组或无法将其重组。
图2图示通过有间歇故障的基于链路的互连传送数据分组的示范方案。该分组是2字节,并且互连包括4个通道(通道0-3)。如果每个时钟周期每个通道传送1位,则将耗费4个时钟周期(1-4)来传送该分组(位0-15)。这些位可以依次通过这些通道传送。例如,时钟周期1期间通过通道0-3的分别为位0-3,时钟周期2期间通过通道0-3的为位4-7,时钟周期3期间为位8-11,以及时钟周期4期间为位12-15。可以在数据传输之后(例如时钟周期5和6)在每个通道上添加奇偶校验位。
一旦接收器130接收到该分组,则使用奇偶校验位来对通道的数据向量(位向量)检查错误。如果位向量中的任何位的传输期间发生错误,则该位向量将包含利用奇偶校验位应该能检测到的错误。如图所示,第一时钟周期在通道1上传送的位1和第四时钟周期在通道3上传送的位15是错误地传送的,从而通道1和通道3所对应的位向量是错误的。
为了易于理解和进行论述,以位编号来图示位和位向量。位是0或1,并且位向量是一系列的0和/或1(4个数据位后跟2个奇偶校验位)。例如,通道0的位向量可以是0010_10,其中前4位是将用于重组分组的数据,后2位是用于确定位向量中是否有任何错误的奇偶校验位。“_”仅是为了便于区分数据位与奇偶校验位。
参考每个周期传送一个位来描述了图2。如上文提到的,本文描述的多种实施例不限于每个周期一个位传输。相反,可以按段(例如多个位)或字节来传送数据,其中数字表示段编号或字节编号,数据向量是通过特定通道传送的段和/或字节的组合。例如,如果每个周期传送了4位,然后在周期5(无周期6)传送一个4位奇偶校验序列,则数据向量将由总计2字节数据与1/2字节奇偶校验组成(例如0101_1111_0000_1010_1100)。“_”仅是为了便于区分每个周期期间传送的数据位和/或奇偶校验位。在本示例中,分组为8字节。
还应该注意,可以将奇偶校验位(或其他错误检测方案)包含在每个时钟周期传送的段中。当在本公开的余下部分中论述不同实施例时,为了易于理解,将就每个周期每个通道传送一位来论述传送位向量(经由通道传送的位)。但是,多种实施例并不局限于此。
根据一个实施例,当错误地接收到作为分组一部分的一个或多个数据向量时,接收器可以废弃该分组,并请求该分组的重传。一旦无错地接收到分组,则重组并处理它。接收器可以请求最多预定次数的重试以便无错地接收到该分组。
图3A-B图示通过互连进行分组的示范传输/重传。未示出可构成分组传输的各个时钟周期、每个周期发送的数据块以及传送的错误检测方案。此外,为了简化,仅示出数据向量编号。如上所述,数据向量将是位的某种组合。
图3A图示通过有间歇故障的基于链路的互连在不同通道上传送数据分组的示范方案。在第一次传输尝试期间,通道2上传送的位向量2有错,从而无法重组分组,并将请求重传。在第二次传输尝试期间,通道7上传送的位向量7有错,从而无法重组分组,并将请求重传。在第三次传输尝试期间,通道4上传送的位向量4有错,从而无法重组分组。如图所示,由于不同通道上的间歇故障,分组的传输失败三次。在每次传输尝试期间,8个位向量中的7个被无错地接收到。但是,从未无错地接收到整个分组。
根据一个实施例,接收器130保存每个分组的正确接收到的位向量,并在正确地接收到所有数据向量之后重组该数据分组。使用图3A的示例,在第一次数据分组的传输期间,构成该分组的8个位向量中的7个被正确地接收到(向量2将被废弃,因为它是被错误地接收到的)。第二次传输期间,故障位向量(向量2)被无错地接收到,然后就可以重组分组。
根据一个实施例,发射器120将通过相同通道来重传构成分组的多个数据向量。如果重传分组的一个或多个通道140上有永久故障(或持续多个数据传输周期的临时故障),则可能持续错误地接收该分组并将其废弃,因为经通道140错误接收的数据向量将一直有错误。
图3B图示通过具有持续间歇/永久故障的基于链路的互连传送数据分组的示范方案。将分组分成8个数据向量,在数据传输周期期间这8个数据向量通过8个通道传送。在每个传输周期期间,错误地接收到通过通道1传送的位向量,从而无法重组该数据分组。在将该分组废弃之前可能重传该分组预定次数(例如3次)。接收器130可以监视特定通道上的故障次数,并且如果超过故障的阈值次数,则可以将该通道标记为失效。如果将通道标记为失效,则可以关闭它,因此减少了可用带宽并使互连性能降低。如先前论述的,当将一个或多个特定通道宣布为失效时,则关闭多个通道(例如一半)是可能的。失效的通道够条件来进行维修或更换。
根据一个实施例,发射器120可以在通道上检测到故障之后轮换重传构成分组的数据向量的次序。这种轮换可以仅仅按两个方向的其中一个方向轮换位向量(例如向前一个通道)。如果间歇故障始终发生在一个通道或如果该通道有永久故障,则通过轮换位向量能够得以接收完整的数据分组。
图4图示通过有持续间歇/永久故障的基于链路的互连轮换传送数据分组中的位向量的示范方案。分组通过8个通道传送。在每次传输期间,错误地接收到通过通道2传送的位向量。在第一次传输期间,通过通道2错误地接收到位向量2。在第二次传输期间,将每个位向量向前移一个通道,以便在通道2上错误地接收到位向量1,而在通道3上正确地接收到位向量2。即使这些通道的其中之一上有持续的错误,在分组的两次数据传送之后,接收器现在仍已经接收到分组的每个位向量。
根据一个实施例,可以预先协商数据向量的轮换,以便当错误地接收到特定位向量(特定通道上发生的错误)时,只要接收器130通知发射器120接收到含有错误(不一定是发生的通道错误)的数据分组,发射器120自动知道执行某种轮换。例如,如果分组的传输期间检测到错误,则数据向量向前轮换一个通道进行重传。
根据另一个实施例,在检测到错误之后做出轮换的决定。该决定可以由接收器130作出,因为接收器130将知道当前分组的哪个位向量(通道)发生故障。而且,接收器130可以跟踪过去哪些通道发生过故障,并可以基于当前故障以及历史故障来做出有关轮换的决定。或者,可以由发射器120来做出如何轮换位向量来重传的决定。为了发射器120做出此决定,将需要通知它有关哪个通道发生故障以及可能通知有关先前的故障。可以由接收器130和发射器120相结合来做出此决定,其中各方为决定提供一些分析。但是,做出此决定,发射器120和接收器130都需要知道轮换是如何进行的,以便正确的传送和接收位向量,以及可以在接收器130处精确地重组分组。
进行如何轮换的确定可以是简单的或可以是复杂的。例如,轮换可以是简单地沿两个方向的其中一个方向轮换一个通道,或可以沿两个方向的其中一个方向轮换多个通道。进行如何轮换的确定可以根据发生故障的通道和多个通道的先前故障。例如,如果此时通道2发生故障而通道3有间歇故障的历史,则可以做出决定向后轮换一个通道或向前轮换两个通道,以便在通道1或通道4上传送而不在通道2或3上传送故障数据向量来进行重传。
根据本发明的一个实施例,作为轮换的替代,可以进行交换,其中可以在传送过有效位向量的通道上重传通过故障通道传送的位向量,同时保持其他通道不变。例如,如果分组传输期间通道3发生故障,则可以在通道7上重传通道3上传送的位向量,而在通道3上重传通道7上传送过的位向量,同时其他通道重传相同的位向量。要交换哪个通道的决定可以预先确定(例如通道1和2交换、通道3和4交换)或可以基于包括先前通道故障的多种参数来做出。
上文针对单个通道故障的情况论述了轮换或交换,但是轮换或交换显然并不局限于此。如果检测到多个通道故障,仍可以进行相同类型的轮换或交换。可以预先定义轮换或交换,或轮换或交换可以基于故障所处的环境。在多个通道故障的情况中,预定的轮换或交换变得较为复杂。例如,如果两个连续的通道发生故障并且预定的轮换是一个通道,则会在第二个通道上重传第一个通道中的错误(如果第二个通道再次发生故障,则可能增加另一次分组传输失败的机会)。
如果轮换基于环境,则应该以减少组装完整分组所需的重试次数的方式来进行轮换。可以使用一种算法来确定如何轮换向量。该算法可以是简单的或它可以是复杂的。一种简单的算法能够处理某些类型的多个故障以使通过无故障的通道一次重试传送发生故障的向量。例如,如果两个连续通道发生故障,则该简单的算法可以将数据向量轮换两个通道。同样地,如果每隔一个通道发生多个故障,则简单地轮换一个通道即可使发生故障的向量在无故障的通道上重传。
图5图示具有多个故障通道的示范互连。该互连具有8个通道,标记为A-H,其中通道A、B和G有故障。因为两个连续的通道发生故障,所以一个通道轮换会使来自通道A的发生故障的向量的重传改由通过发生故障的通道B来重传。两个通道轮换会使来自通道A和B的故障数据向量改由通过无错误的通道C和D重传。但是,双轮换会使得来自通道G的故障数据向量在故障通道A上重传。双轮换考虑到三个错误中的两个错误。两个通道的第二次重传会使来自通道G另外通道A的故障数据向量通过无错误通道C重传。该简单的算法通过三次传送(两次重传)能够无错地传送分组。
一种复杂的算法能够分析分布在互连上的多个故障,并确定具有传送完整分组的最少重试次数的最优轮换。例如,一种复杂的算法能够分析图5的三个故障,并确定通过执行四个通道的轮换可以通过一次重传在无错误通道上传送发生故障的向量。通过通道A、B和G传送的故障数据向量将分别通过通道E、F和C重传。
用于为重传具有多个发生故障的向量的分组而确定期望的轮换的算法还可以将先前发生过的故障纳入考虑。例如,如果已知某个通道持续发生故障,则即使它在传送特定分组时没有发生故障,该算法仍可以避免在该通道上重传。
根据一个实施例,对于多个故障可以执行交换而不是执行轮换。可以利用五个通道中正确地传送数据向量的任何三个来交换图5的三次故障(通道A、B和G),而其他两个通道可以保持不变。例如,通道A与C、B与D以及G与H可以进行交换,而通道E和F保持不变。该交换可以将已经跟踪的先前故障纳入考虑。例如,如果通道C和D先前有大量故障,则将这些通道保持不变,而可以将通道E和F与通道A和B进行交换。
通道的轮换或交换可以在即使一个或多个通道有永久故障的情况下仍能够传送数据,因为可以轮换或交换第一次传输时错误地接收到的数据而绕过故障通道。而且,在维修或更换一个通道的同时仍可以继续传送数据,而无需在执行维修或更换时停用多个通道(例如一半)。在没有轮换或交换的情况下,则需要校正永久故障,此时***的带宽可能被削减一半。余下一半上的故障会进一步减少带宽,因为可能需要附加的重传。例如,在图5中,轮换/交换方案通过在这5个通道上轮换数据向量使得***能够仅利用5个通道来继续执行。在没有轮换/交换实施例的情况下,可能需要停用前4个通道来更换/维修通道A和B,而仅剩余3个无错通道来传送数据并且由于通道G上的错误必然可能多次重传。
图6图示用于通过互连传送分组的示范发射器(传输模块)600。发射器600可以包括分解器(stripper)610、多个错误模块620和多个通道发射器630。分解器610接收分组并将分组分成多个较小的片段(例如位、段、字节),并将较小片段分配到多个通道的特定通道(信道)。例如,如果接收8字节(64位)分组,则可以将分组分成8个1字节(8位)块,并可以将每个块与特定通道关联。在此示例中,仅需要一个时钟周期即可传送该分组。如果需要多个周期,则将通过每个通道传送的数据组合以创建该通道的数据向量。
分解器610选择在哪个通道上传送哪些较小的片段(和数据向量)。如果需要重传分组,则可以通过相同的通道传送这些数据向量。或者,发射器600可以轮换或交换在每个通道上传送的数据向量。分解器610可以基于来自接收器的输入做出有关轮换或交换的决定,或者可以从接收器或某个其他外部功能单元指示它如何轮换或交换,其中该其他外部功能单元可以基于分组的先前传送结果来确定如何轮换或交换。
错误模块620以附加位的形式将某种类型的错误检查方案添加到每个数据向量的尾部。错误检查位可以是奇偶校验位、循环冗余码(CRC)位或其他错误检查方案。可以在数据结束传送错误检查位(例如如果在周期1-8期间传送数据,则在时钟周期9、10期间传送错误检查位),或者可以在每个周期中将错误检查位与数据一起传送。数据向量是对应于一个通道传送的数据和错误位。然后将每个通道的数据向量(分解)提供到关联的通道发射器630,以便通过互连来传送。总共有N个发射器630,每个通道对应于一个发射器630。
图7图示用于通过互连接收分组的示范接收器(接收模块)700。接收器700可以包括多个通道接收器710、多个错误检查器720和去分解器(destripper)730。通道接收器710通过通道接收数据并将其缓存。错误模块720利用错误检测位执行检查以查看接收到的数据是否错误。将数据向量提供到去分解器730,去分解器730从每个通道提取数据向量并重构分组。去分解器监视与该分组关联的任何数据向量中是否有错误。如果有错误,则需要重传数据分组。接收器700将故障通知给发射器。
接收器700还可以包括缓冲器740,缓冲器740保存每个分组的无错数据向量。缓冲器740还可以监视在哪个通道上接收到错误的数据向量。接收器700还可以包括轮换确定模块750,轮换确定模块750查看分组中的错误,并确定在重传时如何轮换数据向量以便限制所需的重试次数。缓冲器740还可以记录通道中的错误,并与错误阈值比较。如果该通道超过错误阈值,则将其配置到***之外,直到它被维修为止。如前所提到的,根据一些实施例,当进行维修时,整个可用通道的一半可能被停用。关闭一半的通道使得易于确定如何利用减少的带宽传送数据(通过每个通道发送相同数量的数据,但是需要两倍的数据传输周期)。轮换确定模块750可以在重传分组时利用每个通道的错误状态来确定如何轮换或交换数据向量。
上文在不同附图中作为不同的设备来论述了发射器和接收器。因为数据传送可能是双向的,所以收发器可能设在互连的每一端,并且可以通过多个通道传送或接收作为数据向量的分组。
图8图示重传有错误的分组的示范流程图。最初,接收要通过互连传送的分组800。将该分组分成多个较小的片段,并将这些较小的片段分配到通道805。较小的片段可以是一个位或可以较大些但是具有比分组小的最大大小。数据向量是通过通道传送的较小片段的组合。将错误检测方案(例如奇偶校验位)添加到数据向量810。通过属于互连的一部分的多个通道传送数据向量(包括错误检测方案)815。接收数据向量820,并使用错误检测方案检查错误825。确定分组中是否有任何故障数据向量830。如果没有故障数据向量(830,否),则将这些数据向量重组成分组890。如果这些数据向量的至少其中之一中有错误(830,是),则存储有效数据向量835,并复查错误以便确定重传策略840。重传策略可以是将数据向量轮换一个通道。
一旦确定了重传策略,则请求用于在这些参数下重传的请求845。然后根据重传指令重传数据向量850。接收数据向量855,并检查错误860。最重要的数据向量是先前错误地传送的那些数据向量,因为其他数据向量已经存储在缓冲器中(835)等待丢失的向量,以便可以重组分组。将确定先前错误的数据向量的任何一个数据向量是否仍有错误865。如果有错误(865,是),则将存储任何新的有效向量835,并将分析错误840。如果没有错误(865,否),则重组该分组890。
可以在多种环境中使用上文描述用于轮换故障数据向量的传输的 实施例。可以并行高速链路中使用通道轮换,可以在串行互连中使用通道轮换以及可以在数字互连中使用通道轮换。例如,可以在处理器上使用上文描述的多种实施例。可以使用通道轮换以在处理器上的功能单元之间、处理器与存储器(管芯上或管芯外)之间、处理器之间、或处理器与外部设备之间传送数据。该处理器可以是计算机的一部分或可以是高速远程通信设备(例如存储转发设备)的一部分。
图9图示用于在多种源和目的地之间传送数据的示范***。该***可以使用任何数量的协议来传送数据,包括异步传送模式(ATM)、因特网协议(IP)以及时分多址(TDM)协议。可以在可变长度或固定长度的块中(例如单元、分组或帧中)发送数据。用于传送数据的通信线可以是光纤媒体、铜质媒体或其他媒体。该***包括至少一个存储转发设备9005,例如路由器或分组交换机。存储转发设备900包括多个通过交叉开关920连接到多个出口模块130的入口模块910。交叉开关920可以是电子方式的或光学方式的。入口模块910和出口模块930通常是线卡的两个端。  线卡其中可以是以太网(例如千兆位以太网、10Base T以太网)、ATM、光纤信道、同步光网络(SONET)以及同步数字体系(SDH)等。可以使用多个串行链路940来将数据从入口模块910传送到交叉开关920并从交叉开关920传送到出口模决930。串行链路940可以利用轮换/交换实施例。交叉开关920与其每一端的串行链路940的组合也可以利用本文描述的轮换/交换实施例。
虽然结合特定实施例说明了多种实施例,但是显然可以进行多种更改和修改。对“一个实施例”或“实施例”的引述表示结合该实施例描述的特定特征、结构或特点包含在至少一个实施例中。因此,本说明书中不同位置中出现的短语“在一个实施例中”或“在实施例中”不一定全部指相同的实施例。
不同的实现可以通过硬件、固件和/或软件的不同组合来体现特征。例如,如本领域技术人员所公知的,可以通过软件和/或固件以及硬件的形式实现多种实施例的其中一些或全部组件。实施例可以采用本领域公知的多种类型的硬件、软件和固件来实现,例如包括ASIC的集成电路以及印刷电路板、电子元件等的本领域公知的其他类型。
这些多种实施例应在所附权利要求的精神和范围内广泛地受到保护。

Claims (25)

1.一种设备,包括:
接收器,所述接收器通过互连接收作为多个数据向量的数据分组,其中所述互连包括多个通道;
错误检测器,所述错误检测器检测所述多个数据向量中的错误;
缓冲器,所述缓冲器存储无错接收到的数据向量;
处理器,如果未无错地接收到所述多个数据向量的至少一些子集,则所述处理器请求重传所述数据分组,其中所述重传所述数据分组包括在不同通道上传送所述数据向量的至少一个子集;以及
组装器,一旦将构成所述数据分组的所述多个数据向量存储在所述缓冲器中,则所述组装器重构所述数据分组,其中即使从未在一次传输中正确地发送所述数据分组,所述数据分组仍能够被重构。
2.如权利要求1所述的设备,其特征在于,所述重传包括轮换所述数据向量。
3.如权利要求1所述的设备,其特征在于,所述重传包括将所述数据向量轮换一个通道。
4.如权利要求1所述的设备,其特征在于,所述重传包括基于有错误的通道来轮换所述数据向量。
5.如权利要求1所述的设备,其特征在于,所述重传包括有错误的数据向量与无错误的数据向量交换通道。
6.如权利要求1所述的设备,其特征在于,所述处理器分析发生故障的向量,并且在重传请求中包括轮换计划。
7.如权利要求1所述的设备,其特征在于,所述处理器将所述故障的统计与所述重传请求包括在一起。
8.如权利要求1所述的设备,其特征在于,所述数据向量包括所述数据分组的一部分和错误检测位。
9.如权利要求8所述的设备,其特征在于,所述错误检测位是奇偶校验位。
10.如权利要求8所述的设备,其特征在于,所述错误检测位是循环冗余码(CRC)。
11.一种方法,包括:
通过互连的多个通道接收构成分组的数据向量;
检查所述数据向量以查找错误;
将无错接收到的数据向量存储在缓冲器中;
如果未无错地接收到所述数据向量的至少一些子集,则请求重传所述分组;
接收所述分组的重传,其中在不同通道上接收构成所述分组的所述数据向量的至少一个子集;以及
一旦将构成所述数据分组的所述多个数据向量存储在所述缓冲器中,则重组所述分组,其中即使从未在一次传输中正确地发送所述数据分组,所述数据分组仍能够被重组。
12.如权利要求11所述的方法,其特征在于,所述请求包括请求将所述数据向量轮换预定数量的通道。
13.如权利要求11所述的方法,其特征在于,所述请求包括请求基于错误轮换所述数据向量。
14.如权利要求11所述的方法,其特征在于,所述请求包括请求将有错误的数据向量与无错误的数据向量交换通道。
15.如权利要求11所述的方法,其特征在于,还包括分析发生故障的向量并基于此生成轮换计划。
16.如权利要求11所述的方法,其特征在于,还包括将所述故障的统计与所述重传请求一起传送。
17.如权利要求11所述的方法,其特征在于,所述数据向量包括所述分组的一部分和错误检测位。
18.如权利要求17所述的方法,其特征在于,所述错误检测位是奇偶校验位。
19.如权利要求17所述的方法,其特征在于,所述错误检测位是循环冗余码(CRC)。
20.一种计算机,包括:
微处理器管芯,所述微处理器管芯包括:
接收器,所述接收器通过互连接收作为多个数据向量的数据分组,其中所述互连包括多个通道;
处理器,所述处理器检查所述数据向量以查找错误,存储无错误的数据分组,如果至少一个数据向量包含错误,则请求重传所述分组,以及一旦存储了构成所述数据分组的所述数据向量,则重组所述数据分组,其中所述重传所述数据分组包括在不同通道上传送所述数据向量的至少一个子集;以及
管芯外存储器装置。
21.如权利要求20所述的计算机,其特征在于,将所述数据向量轮换到不同的通道上。
22.如权利要求20所述的计算机,其特征在于,有发生故障的数据向量与无错误的数据向量交换通道。
23.一种存储转发设备,包括:
多个以太网卡,所述以太网卡从外部源接收数据并将数据传送到外部源;以及
交换机,所述交换机在所述以太网卡之间路由数据;以及
互连,所述互连通过多个通道在所述交换机与所述以太网卡之间传送分组,其中如果所述分组的传输失败,则重传所述分组包括将所述数据向量轮换到不同的通道上。
24.如权利要求23所述的设备,其特征在于,将所述数据向量轮换到不同通道上。
25.如权利要求23所述的设备,其特征在于,有错误的数据向量与无错误的数据向量交换通道。
CNA2006800231029A 2005-06-29 2006-06-29 利用重传在基于链路的互连中实现数据分组重构 Pending CN101208898A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/171,001 2005-06-29
US11/171,001 US20070005248A1 (en) 2005-06-29 2005-06-29 Data reconstruction in link-based interconnects

Publications (1)

Publication Number Publication Date
CN101208898A true CN101208898A (zh) 2008-06-25

Family

ID=36975594

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800231029A Pending CN101208898A (zh) 2005-06-29 2006-06-29 利用重传在基于链路的互连中实现数据分组重构

Country Status (4)

Country Link
US (1) US20070005248A1 (zh)
EP (1) EP1897261A1 (zh)
CN (1) CN101208898A (zh)
WO (1) WO2007002892A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101835186A (zh) * 2010-03-01 2010-09-15 华为技术有限公司 鸳鸯线错接检测方法、装置及基站子***
CN102594484A (zh) * 2011-01-05 2012-07-18 中兴通讯股份有限公司 一种高速串行传输链路异常检测重组的方法及装置
CN105706388A (zh) * 2013-12-06 2016-06-22 英特尔公司 用于减小数据损坏概率的通道错误检测和通道去除机制
CN108052466A (zh) * 2013-12-26 2018-05-18 英特尔公司 Pci快速增强
CN109117183A (zh) * 2017-10-30 2019-01-01 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行向量交换指令的方法
US11990137B2 (en) 2018-09-13 2024-05-21 Shanghai Cambricon Information Technology Co., Ltd. Image retouching method and terminal device
US12050887B2 (en) 2020-12-11 2024-07-30 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660920B2 (en) * 2005-09-30 2010-02-09 Rockwell Automation Technologies, Inc. Multi-rate optimized connection between industrial control scanner and industrial controller
US7697529B2 (en) * 2006-02-28 2010-04-13 Cisco Technology, Inc. Fabric channel control apparatus and method
US7664980B2 (en) * 2006-07-28 2010-02-16 Fujitsu Limited Method and system for automatic attempted recovery of equipment from transient faults
JP2009182780A (ja) * 2008-01-31 2009-08-13 Nec Corp 再送プロセスのデータ処理方法およびそれを用いた通信装置
WO2010103602A1 (ja) * 2009-03-09 2010-09-16 富士通株式会社 伝送データのエラーチェック装置および方法
US8429484B2 (en) * 2009-04-16 2013-04-23 Lockheed Martin Corporation Digitized radar information redundancy method and system
JP2012199724A (ja) * 2011-03-19 2012-10-18 Fujitsu Ltd データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法
US9282046B1 (en) * 2012-11-15 2016-03-08 Qlogic, Corporation Smoothing FIFO and methods thereof
US9021327B2 (en) * 2013-02-19 2015-04-28 Harris Corporation Dynamic packet redundancy for a free space optical communication link
US20150139235A1 (en) * 2013-11-21 2015-05-21 Mediatek Inc. Packet processing apparatus using action command parameterization
US9674084B2 (en) 2013-11-21 2017-06-06 Nephos (Hefei) Co. Ltd. Packet processing apparatus using packet processing units located at parallel packet flow paths and with different programmability
US9852096B2 (en) * 2014-03-25 2017-12-26 Hewlett Packard Enterprise Development Lp High speed serial link in-band lane fail over for RAS and power management
JP6552581B2 (ja) * 2017-11-27 2019-07-31 インテル・コーポレーション 装置、方法、およびシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3493678A (en) * 1966-12-30 1970-02-03 Nederlanden Staat Channel selecting telecommunication system with automatic error correction by repetition
JP2993715B2 (ja) * 1990-08-17 1999-12-27 株式会社日立製作所 Atmスイッチおよびその制御方法
US5428629A (en) * 1990-11-01 1995-06-27 Motorola, Inc. Error check code recomputation method time independent of message length
US5251215A (en) * 1992-01-13 1993-10-05 At&T Bell Laboratories Modifying check codes in data packet transmission
US6236647B1 (en) * 1998-02-24 2001-05-22 Tantivy Communications, Inc. Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate
US6782490B2 (en) * 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
US6728918B1 (en) * 1999-11-01 2004-04-27 Matsushita Electric Industrial Co., Ltd. Relay transmission method and system, and device used thereof
US7113521B2 (en) * 2001-03-09 2006-09-26 Miller Michael J Apparatus and method for re-sending data on communication channels
AU2003236035A1 (en) * 2002-04-12 2003-10-27 Matsushita Electric Industrial Co., Ltd. Multi-carrier communication device and multi-carrier communication method
US7164727B2 (en) * 2002-10-18 2007-01-16 Matsushita Electric Industrial Co., Ltd. Constellation rearrangement for transmit diversity schemes

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101835186A (zh) * 2010-03-01 2010-09-15 华为技术有限公司 鸳鸯线错接检测方法、装置及基站子***
CN102594484A (zh) * 2011-01-05 2012-07-18 中兴通讯股份有限公司 一种高速串行传输链路异常检测重组的方法及装置
CN105706388A (zh) * 2013-12-06 2016-06-22 英特尔公司 用于减小数据损坏概率的通道错误检测和通道去除机制
CN105706388B (zh) * 2013-12-06 2019-10-01 英特尔公司 用于减小数据损坏概率的通道错误检测和通道去除机制
US11283466B2 (en) 2013-12-26 2022-03-22 Intel Corporation PCI express enhancements
CN108052466A (zh) * 2013-12-26 2018-05-18 英特尔公司 Pci快速增强
US11043965B2 (en) 2013-12-26 2021-06-22 Intel Corporation PCI express enhancements
US11632130B2 (en) 2013-12-26 2023-04-18 Intel Corporation PCI express enhancements
CN108052466B (zh) * 2013-12-26 2022-01-04 英特尔公司 Pci快速增强
CN109117183A (zh) * 2017-10-30 2019-01-01 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行向量交换指令的方法
CN109117183B (zh) * 2017-10-30 2021-10-19 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行向量交换指令的方法
US11762631B2 (en) 2017-10-30 2023-09-19 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
US11922132B2 (en) 2017-10-30 2024-03-05 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
US11990137B2 (en) 2018-09-13 2024-05-21 Shanghai Cambricon Information Technology Co., Ltd. Image retouching method and terminal device
US11996105B2 (en) 2018-09-13 2024-05-28 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
US12050887B2 (en) 2020-12-11 2024-07-30 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device

Also Published As

Publication number Publication date
US20070005248A1 (en) 2007-01-04
EP1897261A1 (en) 2008-03-12
WO2007002892A1 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
CN101208898A (zh) 利用重传在基于链路的互连中实现数据分组重构
EP1424799B1 (en) System and method for detecting lost messages transmitted between modules in a communication device
JP3816529B2 (ja) 相互接続の障害検出およびその位置特定方法および装置
US7876751B2 (en) Reliable link layer packet retry
US8386901B2 (en) Method, device and software application for transmitting data packets in a communication system
US8990663B2 (en) Method to support forward error correction for real-time audio and video data over internet protocol networks
US7613183B1 (en) System and method for router data aggregation and delivery
JP3571918B2 (ja) 符号伝送方法、送信装置、受信装置および通信システム
US6516435B1 (en) Code transmission scheme for communication system using error correcting codes
US6661773B1 (en) Method for detection of stale cells following route changes in a data communication
US6683850B1 (en) Method and apparatus for controlling the flow of data between servers
US7978690B2 (en) Method to operate a crossbar switch
CN101877620B (zh) 前向纠错方法、装置和***
CN104040976B (zh) 用于丢失实时媒体分组恢复的方法和装置
WO2000013376A1 (en) Redundant path data communication
US7716559B2 (en) Method for lost packet reconstruction and device for carrying out said method
CN113364559B (zh) 一种面向多路径的数据安全传输方法、设备和***
US20230119339A1 (en) Block group loss determining method and apparatus
CN105871512A (zh) 一种数据传输方法及装置
CN105763375A (zh) 一种数据包发送方法、接收方法及微波站
CN109347607A (zh) 高效可靠传输控制方法和***
CN107682118A (zh) 一种基于双模冗余的NoC纠检错重传容错方法
EP2306666B1 (en) Reduction of frame error rate in a node of a wireless packet-switched communication network
Badia et al. Analysis of an automatic repeat request scheme addressing long delay channels
JP4858852B2 (ja) ネットワーク試験システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080625