利用重传在基于链路的互连中实现数据分组重构的制作方法

文档序号:7638363阅读:220来源:国知局
专利名称:利用重传在基于链路的互连中实现数据分组重构的制作方法
利用重传在基于链路的互连中实现数据分组重构
背景技术
基于高速链路的互连以高速度从一个位置(发射器)向另一个 位置(接收器)传送大量数据。.通过链路传送的数据可能具有多个 参数(速度、协议、大小、服务质量)。为了满足高速度的要求,发 射器将数据(例如分组)分成更小的组成部分(例如位、字节、段)
并通过多个通道(信道)传送这些更小的组成部分。通过多个通道(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个周 期来传送整个分组。在一个实施例中,可以在传送数据之后(例如 第三周期、第二周期h在一个周期中传送错误检查方案(例如奇偶 校验位)。或者,可以将错误检查方案追加到数据位,并在每个时钟 周期传送。如果每个时钟周期传送错误检查方案,则检查每个时钟 周期接收到的数据而不是等待信道的完整数据向量是可能的。如果 将错误检查方案与数据包含在一起,则需要扩大周期中传送的位的 数量(例如总共10位,8个数据位和2个奇偶校验位)或由于奇偶
校验位的数量需要减少数据位的数量(例如总共8位,6个数据位和 2个奇偶校验位)。
接收器130接收构成数据分组的挺据向量。接收器130可以包 括缓冲器,该缓冲器保存按每个通道接收的数据向量所组织的已接 收的数据分组。接收器120可以使用错误检查方案来确定已正确传 送和接收了这些数据向量还是错误地接收到这些数据向量。如果错 误地接收了这些数据向量的其中 一个或多个,则将需要重传该数据 分组。接收器130可以请求发射器120重试传送该分组。
根据一个实施例,如果数据向量的其中 一个或多个含有错误, 则接收器130可以废弃构成该分组的数据向量。为了接收并重组分 组,需要正确地接收构成该分组的所有数据向量。如果数据分组的 传输期间至少一个通道上发生间歇故障,则将无法完整地接收该数 据分组或无法将其重组。
图2图示通过有间歇故障的基于链路的互连传送数据分组的示 范方案。该分组是2字节,并且互连包括4个通道(通道0-3)。如 果每个时钟周期每个通道传送1位,则将耗费4个时钟周期(1-4) 来传送该分组(位(M5)。这些^f立可以依次通过这些通道传送。例如, 时钟周期1期间通过通道0-3的分别为位0-3,时钟周期2期间通过 通道0-3的为位4-7,时钟周期3期间为位8-11,以及时钟周期4期 间为位12-15。可以在数据传输之后(例如时钟周期5和6)在每个 通道上添加奇偶校验位。
一旦接收器130接收到该分组,财1'吏用奇偶校验位来对通道的 数据向量(位向量)检查错误。如果位向量中的任何位的传输期间 发生错误,则该位向量将包含利用奇偶校验位应该能检测到的错误。 如图所示,第一时钟周期在通道1上传送的位1和第四时钟周期在 通道3上传送的位15是错误地传送的,从而通道1和通道3所对应
的位向量是错误的。
为了易于理解和进行论述,以位编号来图示位和位向量。位是0
或1,并且位向量是一系列的0和/或1 (,个数据位后跟2个奇偶校 验位)。例如,通道0的位向量可以是0010—10,其中前4位是将用 于重组分组的数据,后?位是^于确定位向量中是否有任何错误的 奇偶校验位。"_"仅是为了便于区分煞据位与奇偶校验位。
参考每个周期传送一个位来描述了图2。如上文提到的,本文描 述的多种实施例不限于每个周期一个位传输。相反,可以按段(例 如多个位)或字节来传送数据,其中数字表示段编号或字节编号, 数据向量是通过特定通道传送的段和/或字节的组合。例如,如果每 个周期传送了 4位,然后在周期5 (无周期6)传送一个4位奇偶校 验序列,则数据向量将由总计2字节数据与1/2字节奇偶校验组成(例 如0101—1111—0000—1010—1100)。"—"仅是为了便于区分每个周期期 间传送的数据位和/或奇偶校验4立。在本示例中,分组为8字节。
还应该注意,可以将奇偶校验位(或其他错误检测方案)包含 在每个时钟周期传送的段中。,当.在本公开的余下部分中论述不同实 施例时,为了易于理解,将就每.个周,每个通道传送一位来论述传 送位向量(经由通道传送的位)。但是,多种实施例并不局限于此。
根据一个实施例,当错误地接收到作为分组一部分的 一个或多 个数据向量时,接收器可以废弃该分组,并请求该分组的重传。一 旦无错地接收到分组,则重组并处理它。接收器可以请求最多预定 次数的重试以便无错地接收到该分组。
图3A-B图示通过互连进ft分组的示范传输/重传。未示出可构 成分组传输的各个时钟周期、每个周期发送的数据块以及传送的错 误检测方案。此外,为了简化,仅示出数据向量编号。如上所述, 数据向量将是位的某种组合。
图3A图示通过有间,歇坎障的基于链路的互连在不同通道上传送 数据分组的示范方案。在笫一次传输尝试期间,通道2上传送的位 向量2有错,从而无法重组分组,并将请求重传。在第二次传输尝 试期间,通道7上传送的位向量7有错,从而无法重组分组,并将
请求重传。在第三次传输尝试期间,通道4上传送的位向量4有错, 从而无法重组分组。如图所示,由于不同通道上的间歇故障,分组
的传输失败三次。在每次传输尝试期间,8个位向量中的7个净皮无错
地接收到。但是,从未无错地接收到整个分组。
根据一个实施例,接收器130保存每个分组的正确接收到的位
向量,并在正确地接收到所有数据向量之后重组该数据分组。使用
图3A的示例,在第一次数据分组的传输期间,构成该分组的8个位
向量中的7个一皮正确地接收到(向量2将:fA^弃,因为它是被错误
地接收到的)。第二次传输期间,故障位向量(向量2)被无错地接 收到,然后就可以重组分组。
根据一个实施例,发射器120将通过相同通道来重传构成分组 的多个数据向量。如果重传分组的一个或多个通道140上有永久故 障(或持续多个数据传输周期的临时故障),则可能持续错误地接收 该分组并将其废弃,因为经通道140错误接收的数据向量将一直有 错误。
图3B图示通过具有持续间歇/永久故障的基于链路的互连传送 数据分组的示范方案。将分组分成8个数据向量,在数据传输周期 期间这8个数据向量通过8个通道传送。在每个传输周期期间,错 误地接收到通过通道1传送的位向量,从而无法重组该数据分组。 在将该分组废弃之前可能重传该分组预定次数(例如3次)。接收器 130可以监视特定通道上的故障次数,并且如果超过故障的阈值次 数,则可以将该通道标记为失承丈。如果将通道标记为失效,则可以 关闭它,因此减少了可用带宽并使互连性能降低。如先前论述的, 当将一个或多个特定通道宣布为失效时,则关闭多个通道(例如一 半)是可能的。失效的通道够条件来进行维修或更换。
根据一个实施例,发射器120可以在通道上检测到故障之后轮 换重传构成分组的数据向量的;il序。,这种轮换可以仅仅按两个方向 的其中一个方向轮换位向量(例如向前一个通道)。如果间歇故障始
终发生在一个通道或如果该通道有永久故障,则通过轮换位向量能 够得以接收完整的数据分组。
图4图示通过有持续间歇/永久故障的基于链路的互连轮换传送
数据分組中的位向量的示范方案。分组通过8个通道传送。在每次 传输期间,错误地接收到通过通道2传送的位向量。在第一次传输 期间,通过通道2错误地接收到位向量2。在第二次传输期间,将每 个位向量向前移一个通道,以便在通道2上错误地接收到位向量1, 而在通道3上正确地接收到位向量2。即使这些通道的其中之一上有 持续的错误,在分组的两次数椐传送之后,接收器现在仍已经接收 到分组的每个位向量。
根据一个实施例,可以预先协商数据向量的轮换,以便当错误 地接收到特定位向量(特定通道上发生的错误)时,只要接收器130 通知发射器120接收到含有错-误(不一定是发生的通道错误)的数 据分组,发射器120自动知道^L行某种轮换。例如,如果分组的传 输期间检测到错误,则数据向量向前轮换,一个通道进行重传。
根据另一个实施例,在检测到错误之后做出轮换的决定。该决 定可以由接收器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交换)或可以基于包括先前通道故障的多种参数来做出。
上文针对单个通道故障的情况论述了轮换或交换,但是轮换或 交换显然并不局限于此。如果纟佥测到多个通道故障,仍可以进行相 同类型的轮换或交换。可以预先定义轮换或交换,或轮换或交换可 以基于故障所处的环境。在多个通道故障的情况中,预定的轮换或 交换变得较为复杂。例如,如果两个连续的通道发生故障并且预定 的轮换是一个通道,则会在第二个通道上重传第一个通道中的错误 (如果第二个通道再次发生故障,,则可能增加另一次分组传输失败
的机会)。 1
如果轮换基于环境,则应该以减少组装完整分组所需的重试次 数的方式来进行轮换。可以使用一种算法来确定如何轮换向量。该 算法可以是简单的或它可以是复杂的。 一种简单的算法能够处理某 些类型的多个故障以使通过无古丈障的通道一次重试传送发生故障的 向量。例如,如果两个连续通道发生故障,则该简单的算法可以将 数据向量轮换两个通道。同样:也,如果每隔一个通道发生多个故障, 则筒单地轮换一个通道即可使发生故障的向量在无故障的通道上重 传。 ~
图5图示具有多个故障通道的示范互连。该互连具有8个通道,
标记为A-H,其中通道A、 B和G有故障。因为两个连续的通道发 生故障,所以一个通道轮换会使来自通道A的发生故障的向量的重 传改由通过发生故障的通道B来重传。两个通道轮换会使来自通道 A和B的故障数据向量改由通过无错误的通道C和D重传。但是, 双轮换会使得来自通道G的故障数据向量在故障通道A上重传。双 轮换考虑到三个错误中的两个^4吴。两个通道的第二次重传会使来 自通道G另外通道A的故障数^t向量通过无错误通道C重传。该筒 单的算法通过三次传送(两次重传)能够无错地传送分组。
一种复杂的算法能够分析分布在互连上的多个故障,并确定具 有传送完整分组的最少重试次数的最优轮换。例如, 一种复杂的算 法能够分析图5的三个故障,并确定通过执行四个通道的轮换可以 通过一次重传在无错误通道上传送发生故障的向量。通过通道A、 B 和G传送的故障数据向量将分別通过通道E、 F和C重传。
用于为重传具有多个发生故障的向量的分组而确定期望的轮换 的算法还可以将先前发生过的*1障纳入考虑。例如,如果已知某个 通道持续发生故障,则即使它在传送特定分组时没有发生故障,该 算法仍可以避免在该通道上重传。
根据一个实施例,对于多个故障可&执行交换而不是执行轮换。 可以利用五个通道中正确地传逸数据向量的任何三个来交换图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图示用于通过互连传送分组的示范发射器(传llr;漠块)600。 发射器600可以包括分解器(stripper) 610、多个错误;漠块620和多 个通道发射器630。分解器610接收分组并将分组分成多个较小的片 段(例如位、段、字节),并将较小片段分配到多个通道的特定通道 (信道)。例如,如果接收8字节(64位)分组,则可以将分组分成 8个1字节(8位)块,并可以将每个块与特定通道关联。在此示例 中,仅需要一个时钟周期即可传送该分组。如果需要多个周期,则 将通过每个通道传送的数据组合以创建该通道的数据向量。
分解器610选择在哪个通道上传送哪些较小的片段(和数据向 量)。如果需要重传分组,则可以通过相同的通道传送这些数据向量。 或者,发射器600可以轮换或交换在每个通道上传送的数据向量。 分解器610可以基于来自接收器的输入做出有关轮换或交换的决定, 或者可以从接收器或某个其他外部功能单元指示它如何轮换或交 换,其中该其他外部功能单元可以基于分组的先前传送结果来确定 如^f可^^灸或交4奐。 ■
错误模块620以附加位的形式将某种类型的错误检查方案添加 到每个数据向量的尾部。错误检查位可以是奇偶校验位、循环冗余 码(CRC)位或其他错误检查方案。可以在数据结束传送错误检查 位(例如如果在周期1-8期间传送数据,则在时钟周期9、 IO期间传 送错误检查位),或者可以在每个周期中将错误检查位与数据一起传送。数据向量是对应于一个通道传送的数据和错误位。然后将每个
通道的数据向量(分解)提供到关联的通道发射器630,以便通过互 连来传送。总共有N个发射器630,每个通道对应于一个发射器630。
图7图示用于通过互连接收分组的示范接收器(接收模块)700。 接收器700可以包括多个通道4备收器710、多个错误检查器720和去 分解器(destripper) 730。通道4妾收器710通过通道接收数据并将其 緩存。错误模块720利用错误才企测位执行检查以查看接收到的数据 是否错误。将数据向量提供到去分解器730,去分解器730从每个通 道提取数据向量并重构分组。去分解器监视与该分组关联的任何数 据向量中是否有错误。如果有错误,则需要重传数据分组。接收器700 将故障通知给发射器。
接收器700还可以包括缓冲器740,缓沖器740保存每个分组的 无错数据向量。缓沖器740还,以监视在哪个通道上接收到错误的 数据向量。接收器700还可以包括轮换确定模块750,轮换确定模块 750查看分组中的错误,并确定在重传时如何轮换数据向量以便限制 所需的重试次数。緩沖器740还可以记录通道中的错误,并与错误 阈值比较。如果该通道超过错误阈值,则将其配置到系统之外,直 到它被维修为止。如前所提到的,根据一些实施例,当进行维修时, 整个可用通道的一半可能被停用。关闭一半的通道使得易于确定如 何利用减少的带宽传送数据(通过每个通道发送相同数量的数据, 但是需要两倍的数据传输周期)。轮换确定模块750可以在重传分组 时利用每个通道的错误状态来确定如何轮换或交换数据向量。
上文在不同附图中作为不同的设备来论述了发射器和接收器。 因为数据传送可能是双向的,所以收发器可能设在互连的每一端, 并且可以通过多个通道传送或4秦收作为数据向量的分组。
图8图示重传有错误的分组的示范流程图。最初,接收要通过 互连传送的分组800。将该分组分成多个较小的片段,并将这些较小 的片段分配到通道805。较小的片段可以是一个位或可以较大些但是
具有比分组小的最大大小。数椐向量是通过通道传送的较小片段的 组合。将错误检测方案(例如奇偶校验位)添加到数据向量810。通 过属于互连的一部分的多个通卑传送数据向量(包括错误检测方案)
815。接收数据向量820,并使用错误.检测方案4全查错误825。确定 分组中是否有任何故障数据向量830。如果没有故障数据向量(830, 否),则将这些数据向量重组成分组890。如果这些数据向量的至少 其中之一中有错误(830,是),则存储有效数据向量835,并复查错 误以便确定重传策略840。重传策略可以是将数据向量轮换一个通 道。
一旦确定了重传策略,则请求用于在这些参数下重传的请求 845。然后根据重传指令重传数据向量850。接收数据向量855,并 检查错误860。最重要的数据向量是先前错误地传送的那些数据向 量,因为其他数据向量已经存储在緩冲器中(835 )等待丟失的向量, 以便可以重组分组。将确定先前错误的数据向量的任何一个数据向 量是否仍有错误865。.如果有4晉误(巧5,是),则将存储任何新的有 效向量835,并将分析错误840。如果没有错误(865,否),则重组 该分组890。
可以在多种环境中使用上文描述用于轮换故障数据向量的传输 的实施例。可以并行高速链路中使用通道轮换,可以在串行互连中 使用通道轮换以及可以在数字互连中使用通道轮换。例如,可以在 处理器上使用上文描述的多种实施例。可以使用通道轮换以在处理 器上的功能单元之间、处理器与存储器(管芯上或管芯外)之间、 处理器之间、或处理器与外部i殳备之间传送数据。该处理器可以是 计算机的一部分或可以是高速远程通信设备(例如存储转发设备) 的一部分。
图9图示用于在多种源和目的地之间传送数据的示范系统。该 系统可以使用任何数量的协i义来传送数据,包括异步传送模式 (ATM)、因特网协议(IP)以及时分多址(TDM)协议。可以在可
变长度或固定长度的块中(例如单元、分组或帧中)发送数据。用 于传送数据的通信线可以是光纤媒体、铜质媒体或其他媒体。该系
统包括至少一个存储转发设备9005,例如路由器或分组交换机。存 储转发设备900包括多个通过交叉开关920连接到多个出口模块130 的入口才莫块910。交叉开关920可以是电子方式的或光学方式的。入 口模块910和出口模块930通常是线卡的两个端。线卡其中可以是 以太网(例如千兆位以太网、10BaseT以太网)、ATM、光纤信道、 同步光网络(SONET)以及同步数字体系(SDH)等。可以使用多 个串行链路940来将数据从入口模块910传送到交叉开关920并从 交叉开关920传送到出口才莫块930。串行链路940可以利用轮换/交 换实施例。交叉开关920与其每一端的串行链路940的组合也可以 利用本文描述的轮换/交换实施例。
虽然结合特定实施例说明了多种实施例,但是显然可以进行多 种更改和修改。对"一个实施例"或"实施例,,的引述表示结合该 实施例描述的特定特征、结构或特点包含在至少一个实施例中。因 此,本iJL明书中不同位置中出J见的短语"在一个实施例中"或"在 实施例中"不 一定全部指相同的实施例。
不同的实现可以通过硬件、固件和/或软件的不同组合来体现特 征。例如,如本领域技术人员所公知的,可以通过软件和/或固件以 及硬件的形式实现多种实施例的其中 一些或全部组件。实施例可以 采用本领域公知的多种类型的石更件、软件和固件来实现,例如包括 ASIC的集成电路以及印刷电路板、电子元件等的本领域公知的其他 类型。
这些多种实施例应在所附斥又利要求的精神和范围内广泛地受到 保护。
权利要求
1.一种设备,包括接收器,所述接收器通过互连接收作为多个数据向量的数据分组,其中所述互连包括多个通道;错误检测器,所述错误检测器检测所述多个数据向量中的错误;缓冲器,所述缓冲器存储无错接收到的数据向量;处理器,如果未无错地接收到所述多个数据向量的至少一些子集,则所述处理器请求重传所述数据分组,其中所述重传所述数据分组包括在不同通道上传送所述数据向量的至少一个子集;以及组装器,一旦将构成所述数据分组的所述多个数据向量存储在所述缓冲器中,则所述组装器重构所述数据分组,其中即使从未在一次传输中正确地发送所述数据分组,所述数据分组仍能够被重构。
2. 如权利要求1所述的设备,其特征在于,所述重传包括轮换 所述数据向量。
3. 如权利要求1所述的设备,其特征在于,所述重传包括将所 述数据向量轮换一个通道。
4. 如权利要求1所述的设备,其特征在于,所述重传包括基于 有错误的通道来轮换所述数据向量。.
5. 如权利要求1所述的设备,其特征在于,所述重传包括有错 误的数据向量与无错误的数据向量交换通道。
6. 如权利要求1所述的设备,其特征在于,所述处理器分析发 生故障的向量,并且在重传请求中包括轮换计划。
7. 如权利要求1所述的设备,其特征在于,所述处理器将所述 故障的统计与所述重传请求包括在一起。
8. 如权利要求1所述的设备,其特征在于,所述数据向量包括 所述数据分组的 一部分和错误检测位。
9. 如权利要求8所述的设备,其特征在于,所述错误检测位是 奇偶校验位。
10. 如权利要求8所述的设备,其特征在于,所述错误检测位是 循环冗余码(CRC)。
11. 一种方法,包括 ' 通过互连的多个通道接收构成分组的数据向量; 检查所述数据向量以查找错误; 将无错接收到的数据向量存储在緩沖器中; 如果未无错地接收到所迷数据向量的至少一些子集,则请求重传所述分组;接收所述分组的重传,其中在不同通道上接收构成所述分组的 所述数据向量的至少一个子集;以及一旦将构成所述数据分组的所述多个数据向量存储在所述緩沖 器中,则重组所述分组,其中即使从未在一次传输中正确地发送所 述数据分组,所述数据分组仍能够^f皮重组。
12. 如权利要求11所述的方法,.其特征在于,所述请求包括请 求将所述数据向量轮换预定数量的通道。
13. 如权利要求11所述的方法,其特征在于,所述请求包括请 求基于错误轮换所述数据向量。
14. 如权利要求11所述的方法,其特征在于,所述请求包括请求将有错误的数据向量与无错误的数据向量交换通道。
15. 如权利要求11所述的方法,其特征在于,还包括分析发生 故障的向量并基于此生成轮换计划。
16. 如权利要求11所述的方法,其特征在于,还包括将所述故 障的统计与所述重传请求一起传送。 '
17. 如权利要求11所述的方法,其特征在于,所述数据向量包 括所述分组的一部分和错误检測偉。,
18. 如权利要求17所述的方法,其特征在于,所述错误检测位是奇偶校验位。
19. 如权利要求17所述的方法,其特征在于,所述错误检测位 是循环冗余码(CRC)。
20. —种计算机,包括 微处理器管芯,所述微处理器管芯包括接收器,所述接收器,过互连接收作为多个数据向量的数 据分组,其中所述互连&括多个通道;处理器,所述处理器^r查所述数据向量以查找错误,存储 无错误的数据分组,如果至少一个数据向量包含错误,则请求重传 所述分组,以及一旦存储了构成所述数据分组的所迷数据向量,则 重组所述数据分组,其中所述重传所述数据分组包括在不同通道上 传送所述数据向量的至少一个子集;以及 管芯外存储器装置。
21. 如权利要求20所述的计算机,其特征在于,将所述数据向 量轮换到不同的通道上。
22. 如权利要求20所述的计算机,其特征在于,有发生故障的 数据向量与无错误的数据;向量夂换通道。
23. —种存储转发设备,包括多个以太网卡,所述以太网卡从外部源接收数据并将数据传送到外部源;以及交换机,所述交换机在所述以太网卡之间路由数据;以及 互连,所述互连通过多个通道在所述交换机与所述以太网卡之间传送分组,其中如果所述分纽的传输失败,则重传所述分组包括将所述数据向量轮换到不同的通道上。
24. 如权利要求23所述的设备,其特征在于,将所述数据向量 轮换到不同通道上。
25. 如权利要求23所述的设备,其特征在于,有错误的数据向 量与无错误的数据向量交换通逸。;
全文摘要
一般来说,在一个方面中,本公开文档描述一种设备,该设备包括通过互连作为多个数据向量接收数据分组的接收器。该互连包括多个通道。该设备还包括错误检测器,错误检测器检测数据向量中的错误。使用缓冲器来存储无错接收到的数据向量。如果有错误地接收到构成分组的数据向量,则处理器请求重传该分组。数据分组的重传包括通过不同通道来传送数据向量的至少一个子集。一旦将构成数据分组的多个数据向量存储在缓冲器中,则组装器重构该数据分组。即使从未在一次传输中正确地发送数据分组,该数据分组仍能够被重组。
文档编号H04L1/16GK101208898SQ200680023102
公开日2008年6月25日 申请日期2006年6月29日 优先权日2005年6月29日
发明者G·阿弗里尔, P·阿帕劳 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1