专利名称:用于通信数据的数据处理器系统及方法
用于通信数据的数据处理器系统及方法
背景技术:
目前,数据处理器系统包含多个数据处理单元,例如通用处理器、专 用处理器以及存储器。数据处理单元通过通信链路交换数据。此外,还交 换时钟信号用以同步比特/字节级的数据传输。时钟信号既可嵌入于数据信 号之中,也可以单独提供。在大型系统中,将数据直接从源发送至目的地 并非总是可行的。相反,可以经由连续处理单元之间的链路逐段地传输数 据。用于在源和目的地间提供通信功能的连接可以依赖于所要通信的数据 类型的提供各种级别的服务质量。服务质量的一个实例为保证吞吐量服务 质量,根据后者,可以在预先确定的时间间隔内完成数据传输。同步数据 需要保证吞吐量服务质量。对于尽力而为的服务质量而言,不对传递时间 做任何保证。服务质量的另一个方面是数据传输的可靠性。除了用户数据 (即所要传输的、供运行于数据处理器系统上的特定应用程序使用的数 据)之外,还可以传输所谓的控制数据,用于对用户数据的传输加以控制。 可以传输控制数据,用以指示链路再同步过程等的错误。
可以将时隙理解为通常情况下基于周期调度的、起始于预先确定的时 刻的、时域内预先确定的窗口。为了允许插入相对较短的控制消息,比如 包含上述控制数据,可以容许上述时刻的起点存在一定公差。可以为具有 保证吞吐量要求的数据保留全部或部分可用时隙。在本申请中,将数据单 元定义为在一个时隙内传输而调度的预先确定的数据量。数据单元可以包 含多个数据分组,所述数据分组由分组头和有效载荷组成。可选地,分组 也可以分布于多个数据单元之中。
实际上,在数据交换过程中无法避免错误的发生,因而误码率(bit error mte)具有不等于0的取值,如l(T12。虽然这是一个非常低的数值,然而 任何差错都可能导致严重的故障。举例而言,时钟信号的误差将使所接收 到的讲话无法听见,或使接收到的视频模糊不清。可靠性可以通过向所传 送的数据添加纠错码的方式予以改善。然而,这样做会增加数据传输过程
中的开销,并且并非总能保证数据的完整性(举例而言,纠错码也许不够 强大,无法纠正发生的所有错误)。另外,众所周知,可以通过在各处理 单元中应用简单的检错方法实现数据传输的可靠性,其中在各处理单元中 接收数据,并在检测到错误的情况下请求重传。然而,这种实现可靠性的 方式可能引起传输过程中的延时,延时大小取决于受错误影响的数据时隙 数以及错误发生的次数。
发明内容
根据本发明,其目的在于提供一种数据处理器系统,所述数据处理器 系统的数据交换具有(对链路差错)极强的鲁棒性、同时还具有可预测的 时延以及有限的开销。
本发明的另一目的在于提供一种具有该优点的用于通信数据的方法。 根据本发明,提供了一种根据权利要求1所述的数据处理器系统以及
一种根据权利要求7所述的方法。
在根据本发明的数据处理器系统中,根据以下原理对数据传输的可靠 性进行改善。
起接收机作用的第二数据处理单元对接收到的数据执行检错方法,例 如CRC校验,以确定接收到的数据是否是无错误的。如果检测到错误数 据,第二数据处理单元就向起发射机作用的第一处理单元提供包含出错时 隙标识(例如识别号)的反馈。发射机对其予以响应,重传被请求的数据。 在重传开始时,发射机可以对从第一到第二数据处理单元的链路(也称为 前向链路)执行再同步。第二数据处理单元所使用的用于向第一数据处理 单元报告错误的链路也称为反向链路。第二处理单元可以利用反向链路向 第一处理单元传输其他数据。同样,第一处理单元可以利用前向链路报告 在所述其他数据中检测到的错误。
在根据本发明的设备和方法中,不论数据单元是否正确接收,属于保 证吞吐量通信量业务类的数据单元的重传次数局限于预先确定的最大次 数。此外,第二数据处理单元在晚于数据单元首次传输时刻预先确定时间 间隔的时刻,转发接收到的数据单元。该预先确定的时间间隔的长度至少 应足够长以支持预先确定的最大重传次数。
数据单元只在重试缓冲器中保持与容许重传次数有关的一段有限的 时间。如果链路条件比较糟糕,继而积累了大量也可能对重传数据造成影 响的错误,那么,由于在指定时间以后数据将被从重试缓冲器中删除,因 此这可能导致数据的丢失。因此,换句话说,虽然吞吐量得到了保证,但 是为了允许位于有错数据单元之后的数据单元的即时传递,在发生了严重 问题时,牺牲了数据的可靠传递。对于诸如尽力而为数据等不属于保证通 信量业务类的数据单元,可以依赖于其传输可靠性的要求,重传任意次或 根本不予重传。
数据处理器系统可以包含任意数量的数据处理单元。数据处理单元排 列的拓扑结构不一定必需是链状的,还可以是网络状的,其中系统中的每 一个数据处理单元可以从多个邻居数据处理单元接收数据,还可以向多个 接收数据处理单元传输数据。
根据本发明的数据处理器系统可以提供不同的通信业务类,如要求保 证吞吐量服务质量的第一数据的业务类,以及要基于尽力而为原则传输的 第二数据的业务类。在这种数据处理器系统,优选地,只重传第一数据。 无论如何,只在未安排传输或重传第一数据的时间间隔内传输和/或重传第 二数据。利用这种方式,第一数据就可以具有适度的时延。如果两个相邻 数据处理单元间的传输协议没有提供足够级别的可靠度,高层协议依旧可 以在不干扰第一类业务的传输调度安排的前提下对第二类数据进行重传。
在实施例中,第一数据处理单元可以包含用于产生其自身数据的数据 源的发生器,例如诸如麦克风或摄像机或者随机数发生器或按照特定函数 产生数据。在一特定实施例中,第一数据处理单元是交换机或路由器,并 且所述数据源包含多个输入端口 ,调度器根据调度安排从输入端口之一选 择传输用的数据。利用这种方式,就可以用任意数量的数据处理单元构建 网络。
此外,第一数据处理单元的交换机或路由器可以包含多个输出端口。 在数据处理器系统的实施例中,第一数据处理单元在数据单元重传期间提 供了用于表示数据单元最初发送时隙的标记。这允许第二数据处理单元使 其自身与输入数据流实现再同步。
在根据本发明的数据处理器系统的实施例中,在重传之前对第一和第 二数据处理单元间的链路进行再同步。接收到的数据单元中的错误可以是 数据处理单元去同步化(比如由于时钟信号错误)所造成的。这种去同步 化还可能对位于报告其存在错误的数据单元之后的数据单元造成影响。因 而,再同步降低了后继错误发生的风险。
在再同步之前,位于报告其存在错误的第一数据单元之后所接收到的 数据单元也是不可靠的。根据本发明实施例,还要对那些在检测到其存在 错误的数据单元的首次传输和重传间的时段内已经传输的同步数据单元 进行重传。上述同步数据单元中每个同步数据单元之前都具有用于表示数 据单元最初发送时隙的标记。
在另一实施例中,第二数据处理单元包含超时模块,用于在第一数据 处理单元未即时重传所报告其存在错误的数据单元的情况下,提供超时信 号。第二数据处理单元对用于报告错误的链路启动再同步过程。如果第一 数据处理单元未对错误消息做出响应,第二数据处理单元用来报告错误消 息的反向链路就可能无法正常工作。通常该问题是通过再同步予以解决 的。
优选情况下,根据本发明的方法的特征在于,在第一和第二时隙的边 界传输控制数据,控制数据一旦传输完毕,第二时隙立即开始。在这种情
况下,就可以按照比如较早申请的专利申请EP05101717.6 (PH050209)
所描述的同步步骤对由用户数据传输引起的微小时延进行补偿。利用这种 方式,由用户数据引起的时延明显小于跳过第二时隙时用户数据的传输、 并且将用户数据传输推迟至随后第三时隙的情况。
可选地,还可以在该时隙内的其他时刻,比如在两个连续分组之间或 者同一分组的两个连续的字之间传输控制数据。这样做的优势在于控制 消息时延较短,这使得重试缓冲器可以更小。
参考附图更加详尽地对这些及其他方面予以说明。附图中 图1示意性地示出了包含第一数据处理单元PU1以及第二数据处理单 元PU2的数据处理器系统,
图2更加详细地示出了第一数据处理单元,
图3示出了用于第一处理单元的第一模块的实施例,
图4示出了用于第一处理单元的第二模块的实施例,
图5示出了第二模块的工作方法,
图6示出了第一处理单元的第三模块,
图7示出了第三模块的第一部分的工作方法,
图8示出了第三模块的第二部分的工作方法,
图9示出了第三模块的第三部分的工作方法,
图IO示出了第一处理单元的第四模块,
图11示出了第四模块的工作方法,
图12示出了第二处理单元的实施例,
图13示出了第一和第二处理单元之间数据传输的第一示例, 图14示出了第一和第二处理单元之间数据传输的第二示例, 图15更加详细地示出了从第二处理单元到第一处理单元的错误消息 传输,
图16更加详细地示出了从第一处理单元到第二处理单元的数据单元 重传,
图17示出了第一和第二处理单元之间数据传输的第三示例, 图18示出了第一和第二处理单元之间数据传输的第四示例。
具体实施例方式
图1示意性地示出了包含第一数据处理单元PU1以及第二数据处理单
元PU2的数据处理器系统。第一数据处理单元具有多个输入端口IPll、
IP 12;输出端口 OPll、 OP 12以及受控于调度器SC1的、用于选择性地 将数据从输入端口转发至输出端口的交换机XI。同样,第二数据处理单 元也具有输入端口IP21、 IP22;输出端口0P21、 OP22;以及受控于调 度器SC2的交换机X2。
图2更加详细地示出了第一数据处理单元。第一数据处理单元PU1具 有输出Tlx,用于将数据流提供至与第二数据处理单元PU2相连的前向链 路。第一数据处理单元PU1还具有输入Rlx,用于从与第二数据处理单元 PU2相连的反向链路接收数据流。
第一数据处理单元具有数据源DS1 ,用于提供要传输至第二数据处理 单元PU2的数据单元。在这种情况下,交换机SW1的第一部分SW11起 数据源的作用。第一部分SWll从多个输入端口 IPll、 IP 12选择数据。 调度器SC21根据调度安排从输入端口 IP1、 IP2之一选择数据。在更早提 交的专利申请EP05101524.6(PH050189)中,描述这种交换机的示例。
第一数据处理单元PU1还包含串并转换器S/P,用于对经由反向链路 T2x-Rlx输入的数据进行串并转换。然而,在另一实施例中,数据可以按 照并行方式予以传输。在这种情况下,串并转换器是多余的。串并转换器 将其输出数据提供至用于检测输入数据中错误的检错器ED。检错器连接 至时隙处理器,后者将时隙指向适当的队列,并将受错误影响的时隙予以 丢弃。
数据处理单元包括重传处理器RH,用于传输或重新传输数据单元。 在正常工作(无错误)期间,重传处理器是透明的。在这种情况下,重传 处理器对由数据源DS1所提供的数据进行转发,用以通过前向链路进行传 输。如果第二数据处理单元PU2报告了错误,重传处理器就提供用于重传 的数据。数据处理单元还包括错误反馈单元EF,用于向第二数据处理单 元PU2提供关于错误地接收到的数据的反馈。为此,错误反馈单元EF从 检错器接收数据错误信号EOD。并串转换器P/S将并行数据转换为串行数 据以供传输。如果将并行数据信道用作前向链路,并串转换器则是多余的。 在根据本发明的处理系统中,检错器具有双重功能 检错器检测接收到的数据单元中的错误。为此,检错器执行冗余校验。 检错器提供由错误信号EOD以及其上有错误发生的时隙号SN构成的
错误信息。
将该错误信息提供至调度器SC1和重传处理器RH,以向发射机提出 对错误数据的请求,从而重新进行所述传输。
此外,检错器向时隙处理器SH传送信息,使时隙处理器能够阻止错 误数据的继续传输。
当第二处理单元PU2已经检测到第一处理单元PU1所传输的数据中 的错误时,检错器单元ED还可以识别由第二处理单元PU2产生的控制序 列。
图3更加详细地示出了检错单元ED。检错单元ED包含去格式化器 DE_F,所述去格式化器具有用于从串并转换器接收数据流的数据输入。 去格式化器DE一F可以分离控制数据ESCD (此处还可表示为转义ESC数 据)和用户数据SD。
在实施例中,控制数据具有以下格式
用于指示ESC序列类型的通知。
用于表示与ESC序列关联的时隙,以及
用于对ESC序列进行纠错的循环冗余校验码CRC。
在本实施例中,所述通知包括用于区分"紧急"和"常规"情况的第一 比特,以及用于指示各种紧急和常规情况的附加比特。紧急类型的转义数 据的示例有ESC错误、ESC同步、ESC暂停。常规ESC数据可以比如 包括流控制信息。应当理解的是,这仅仅是可以实现控制消息的方式的一 个示例,所属领域技术人员可以构思出各种替代性的实现。
去格式化器DE—F的第一输出处提供分离的用户数据SD,在去格式 化器DE_F的第二输出处提供控制数据ESCD。第一输出与时隙处理器和 用于对用户数据进行CRC校验的检错器SCRC相连。如果检错器SCRC 检测到用户数据中存在错误,就产生提供至错误反馈模块EF (图10)和 时隙处理器SH的控制信号EOD (数据错误)。数据错误信号EOD可以是 用于指示有关数据单元中是否出现了至少一次错误的1比特的信号。可选 地,数据错误信号EOD可以是更详尽的错误消息。根据该信息(及其历 史记录),时隙处理器就可以在数据含有错误的情况下,或数据虽无错误 但其紧接着重传尚未开始的出错时隙的情况下做出丢弃用户数据的决定。
由于控制数据中的错误可能引起严重的故障,因此用对控制数据执行 循环冗余校验(CRC)的循环冗余校验模块ECRC对识别出的控制数据进 行处理。为此,控制数据具有同控制数据中的比特总数(如16)相比相对 较多的冗余比特,如4比特。同时隙数据量相比,所传输的控制数据量相 对较少。这意味控制数据可以极高的可靠度予以传输,而在所传输的数据 总量中引起较低的开销。将来自检错器ECRC的译码输出数据提供至错误 反馈检测器EEFD,错误反馈检测器EEFD对用于指示错误的控制消息加 以识别,并将错误反馈消息供至调度器。错误反馈检测器EEFD分别将错
误信号以及用于指示其中有错误发生时隙的时隙号作为输出予以提供。该
信息使重传处理器RH和调度器SC1能够选择出用以重传的适当数据。
时隙处理器SH将时隙指向适当的队列,例如用于同步数据和尽力而 为数据的队列。此外,还可能存在其他数据类的其他队列。时隙处理器SH 还丢弃存在错误(以及受错误影响)的时隙。
图4更加详细地示出了时隙处理器SH的架构。时隙处理器包含输入 缓冲器IBUF。输入缓冲器IBUF经由串并转换器S/P和检错器单元ED连 接至输入Rlx,用于临时存储所接收到的数据。在图4所示的实施例中, 时隙处理器SH包含用于同步数据和尽力而为数据的独立的输入缓冲器 IBUF、 BBUF。解复用单元DMUX选择性地将同步数据和尽力而为数据 分别供至第一缓冲器IBUF或第二缓冲器BBUF。第一缓冲器IBUF还为 各同步数据单元存储其对应的时隙号SNUM。
时隙处理控制单元SHCTRL控制解复用单元DMUX。时隙处理控制 单元SHCTRL接收输入信号EOD、链路再同步信号LRS以及调度信号SC。 时隙处理控制单元SHCTRL利用这些信号确定要将输入数据写入IBUF、 BBUF哪个缓冲器,并在再同步/重传前丢弃掉含有错误的数据时隙以及跟 在错误后的数据时隙。
图5示出了时隙处理器SH的工作过程。
在步骤S5一1中,时隙处理器SH等待时隙边界。在时隙边界的对应时 刻,时隙处理器在步骤S5一2中检验是否为所述时隙调度了同步数据单元。 倘若不是这种情况,控制流返回至步骤S5一1。如果同步分组开始,就在步 骤S5一3中对EOD进行检验,以确定该时隙中接收到的数据单元是否有错。 如果EOD信号指示存在错误,就在步骤S5—4对设置重传标记,并控制流 返回步骤S5J。如果EOD信号指示不存在错误,就在步骤S5一5检验是 否设置了重传标记的当前状态。倘若不是这种情况,就将控制流交予步骤 S5一7。这里,将同步分组写入同步数据专用的输入缓冲器IBUF。此外, 在步骤S5一8中,将与所述同步数据单元相对应的时隙号SNUM写入所述 的输入缓冲器IBUF,随后控制流返回至步骤S5—1。如果在步骤S5—5中 确定设置了重传标记,就随即在步骤S5一6中检验链路是否完成了再同步。 如果链路尚未完成再同步,就将控制流马上交予步骤S5—1。如果链路已完
成再同步,就在步骤S5—9中清除重传标记,随后执行步骤S5一7和S5—8, 之后控制返回至步骤S5一l。
图6更加详细地示出了重传处理器RH。重传处理器或透明地对从交 换机X接收到的用户数据进行转发,或在所述较早的传输过程中有错误发 生的情况下重传已传输的用户数据。如图6所示,重传处理器包含用于 接收由交换机X或其他数据源提供的时隙数据SD的输入,以及用于临时 存储同步数据以及相应时隙号SNUM的重试缓冲器RBUF。同步数据单元 经第一次传输后在重试缓冲器RBUF中保存一段预先确定的时间。
时隙号起标签的作用,从而便于在缓冲器中查找适当的同步时隙数 据。时隙号还确定了何时应该转发同步数据。
提供数据选择器RSEL,用于传输在输入端口接收到的时隙数据或临 时存储在重试缓冲器RBUF中的数据。数据选择器RSEL的输出RSELO 形成了重传处理器RH的输出,后者通过错误反馈模块EF以及并串转换 器P/S与第一数据处理单元PU1的输出相连。
数据选择器RSEL和重试缓冲器RBUF受控制器的控制。
控制器RCTRL包含写入控制模块WC、删除控制模块RC、发送控 制SC模块,用于分别控制来自重试缓冲器RBUF的分组的写入、删除以 及发送。
如果接收数据处理单元PU2检测到较早发送的同步数据分组中的错 误,就返回表示这一事实的控制数据。该控制数据的接收使从缓冲器RBUF 重传所述分组成为可能。为此,发送控制模块SC向重试缓冲器RBUF提 供适当的时隙号SNUM,并使选择器RSEL能够将相应的数据单元传至选 择器RSEL的输出。在本实施例中,只重传同步数据分组。然而,可以存 在更高层的控制层,后者用于检验终点是否确实已接收到所传输的数据, 还可以发起重传,如有需要将重复发起重传,直至正确接收到全部数据为 止。
为了便于识别重传的数据,在每个重传的同步分组前加上带有时隙号 标识的序列。在重选期间,根据调度安排将刚到达的数据单元存储在重试 缓冲器RBUF中。在可选实施例中,不但要重传报告其中含有错误的数据 单元,还在接收到所述出错报告时重传己传输的全部数据单元。在该实施
例中,只需在序列中的第一个重传数据单元前添加标签或时隙号。
参考图7所示的流程图,更加详细地对写入控制模块WC的工作过程
予以说明。
在步骤S7一1中,控制模块WC等待时隙边界。在步骤S7一2中,写入 控制模块检验同步数据单元是否起始于该时隙边界。倘若不是这种情况, 控制流就返回至步骤S7一1。如果同步数据单元开始,就在步骤S7一3中将 该数据单元存储在重试缓冲器中,并在步骤S7—4中将其时隙号存储在重 试缓冲器中。步骤S7一4之后,控制流返回至步骤S7一1。
图8更详细地示出了删除控制模块RC的工作过程
在步骤S8J中,程序等待,直到时隙边界的起点为止,然后将控制 权交予步骤S8一2。
在步骤S8一2中,检测同步数据单元在重试缓冲器RBUF保存的时间 是否大于预先确定的时间间隔。举例而言,假设预先确定的时间间隔的持 续时间为3时隙。
如果重试缓冲器不含任何同步数据单元,控制流就马上返回至步骤 S8一l。如果同步数据单元存在于重试缓冲器的持续时间大于预先确定的时 间间隔,就在步骤S8一3中将数据单元从重试缓冲器中删除,并在在步骤 S8—4中将其时隙号从重试缓冲器中删除。步骤S8一4之后,控制流返回至 步骤S8一1。
图9更详细地示出了发送控制模块SC的工作过程。 在步骤S9一l中,发送控制模块SC等待来自检错器ED的数据错误信 号E0D。如果报告存在错误,发送控制模块就在步骤S9一2检验重试缓冲 器RBUF是否为空。如果重试缓冲器RBUF确实为空,发送控制模块就继 续执行步骤S9一3,在步骤S9—3中执行再同步操作(也称为链路复位), 并发送当前时隙号。以这种方式避免时钟误差。
如果重试缓冲器为空,就在歩骤S9—4中检验重试缓冲器RBUF中是 否存在与报告其中含有错误的时隙(也称为e-slot)相对应的数据单元。
倘若如此,就在步骤S9一5开始再同步操作,并在后继步骤S9一6中发送位 于前面带有e-slot的时隙号的、与e-slot相对应的同步数据单元。然后, 在步骤S9 7中,检验所述数据单元的时隙号是否对应于当前时隙号。倘 若如此,控制流就返回至步骤S9一l。倘若不是这种情况,就在步骤S9—9 中检测重试缓冲器是否为空。如果重试缓冲器不为空,就在步骤S9一8中 从重试缓冲器取出下一个可用的同步数据单元。如果在步骤S9—4中检测 到重试缓冲器中不存在与e-slot相对应的数据单元,也执行步骤S9—8。如 果在步骤S9一9中确定重试缓冲器RBUF为空,控制流就经过上述步骤S9—3 转移至步骤S9一l。
第二数据处理单元还包含错误反馈单元。该单元起消息生成单元的作 用,消息生成单元连接至检错器,用于在检错器检测到错误时为第一数据 处理单元产生错误消息。
图IO更加详细地示出了错误反馈单元EF。该单元将控制数据插入用 户数据流。优选情况下,在时隙边界插入控制数据。可选地,可以在分组 (尽力而为以及保证吞吐量分组)边界、或字(例如字节)边界插入控制 数据。采用这种方式,就可以用于检测控制消息的更加复杂的检测装置为 代价,以较短的时延发送控制消息。可选地,数据链路可以是非对称的, 即前向存在数据传输,反向不存在数据传输。在这种情况下,由于无其他 数据共享反向链路,因而当应该发送控制数据时,反向只发送控制数据, 且控制数据的发送不受任何限制。可以在必须发送控制数据前,将反向链 路保持在低功耗状态。在这种情况下,控制数据的传输需要一段附加时间 用于为链路加电。如图10所示,错误反馈单元包括时隙缓冲器SB,用于 临时存储该时隙所要发送的时隙数据。时隙缓冲器SB具有连接至重传处 理器RH的输入。待插入于数据流中的控制数据是由控制数据发生器ESG 产生的。在本实施例中,选择模块SEL连接至时隙缓冲器SB,用于选择 由时隙缓冲器SB提供的时隙数据或由控制数据发生器ESG提供的控制数 据。选择模块SEL受控于控制模块CTRL,后者还响应于数据错误信号 EOD或超时TO,对控制数据发生器加以控制。
如果在指定的时间间隔内未发生预期响应,就产生超时信号TO。为 此,如果预期在特定事件后的指定时段内发生与该事件有关的响应,就触 发计时器。举例而言,当检测到数据单元中的错误时,就预期在向数据发 射机发送错误反馈后3个时隙内,所述数据单元将被重传。如果该响应没 有发生,就发出超时信号。举例而言,发生超时的原因可能是错误反馈
消息发生错误,发射机无法识别。在这种情况下,链路传输继续进行,就 好像什么事情也没有发生一样。如果检测到超时,就对反向链路进行再同 步,并再次发送反馈。如果在定时器超时前开始重传,附加反馈就不是必
需的。用于产生超时信号的定时器可以是控制器CTRL的一部分。
如果控制器接收到数据错误信号EOD,就将出错时隙的时隙号SN提
供给控制数据发生器。如果检测到超时,控制器就将与超时相关的错误消
息的时隙号提供给控制信号发生器。
图11示意性地示出了错误反馈单元EF的控制模块CTRL的控制流。 在步骤S11一1中,控制模块CTRL确定是否在特定时隙内接收到的数
据中检测到错误,或者是否检测到超时的情形,即在预先确定的时段内未
接收到重传数据。
如果未检测到上述情况中的任意一种情况,就在步骤S11一2中向下一 处理单元发送适于传输的重试缓冲器RBUF中的数据。如果检测到上述情 况中的任意一种情况,就在步骤S11一3中产生ESC序列,并在步骤S11—4 中发送ESC序列。如果执行完步骤S11—4,控制模块CTRL就执行步骤 S11—2。执行完步骤S11—2中,过程就重复执行步骤S11—1。
图12更详细地示出了第二数据处理单元PU2。在所示实施例中,第 二数据处理单元PU2与第一数据处理单元PU1相同。第二数据处理单元 PU2具有用于从第一数据处理单元PU1的输出Tlx接收所传输数据的输 入R2x。第二数据处理单元PU2还具有输出PU20。将接收到的数据从输 出PU20再次传输出去,在这种情况下,将接收到的数据经由交换机X21 传输至第三数据处理单元(未示出)。
在所示实施例中,数据处理单元PU1、 PU2是完备的,即能够彼此传 输数据,并且能够彼此提供错误反馈消息。在另一实施例中,可以将数据 处理单元PU1、 PU2分别配置成数据发射机和数据接收机。在那种情况下, 只需要第二数据处理单元PU2能够产生并传输错误消息,而只需要第一数 据处理单元PU1能够检测来自数据处理器配置PU2的错误消息。
在根据本发明的数据处理器系统的这种实施例中,第一数据处理单元 PU1具有数据源,用于向第二数据处理单元PU2提供要传输至后者的数据 单元。第一数据处理单元PU1还包含重试缓冲器,用于临时存储发送的
数据单元;和数据选择器,用于从数据源或重试缓冲器选择数据单元;以 及用于控制数据选择器的控制器。可以比如按照图6所描述的方式,将重 试缓冲器、数据选择器以及控制器集成在重传处理器中。可以用数据选择 器RSEL的输出RSELO形成用于提供选定用于传输的数据的输出。由于 第一数据处理单元PU1无需接收用户数据,在这种情况下,时隙处理器 SH是多余的。
第二数据处理单元PU2包含输入R2x,用于从第一数据处理单元 PU1接收发送数据;以及输出,用于继续向第三数据处理单元传输接收到 的数据;连接至所述输入的输入缓冲器,用于临时存储所接收的数据;用 于检测所接收数据中的错误的检错器;以及连接至检错器的消息发生单 元,用于在检错器检测到错误的情况下为第一数据处理单元产生错误消 息。在这种情况下,检错器ED的输出可作为第二数据处理单元PU2的输 出。由于第二数据处理单元PU2本身不向第一数据处理单元PU1传输数 据,因此第二数据处理单元PU2无需包含重传处理器RH。
正如前述实施例中一样,如果第一数据处理单元PU1接收到错误消 息,第一数据处理单元PU1的控制器就促使数据选择器RSEL从重试缓冲 器RBUF中选择数据,否则,就令数据选择器RSEL选择数据源。不论数 据单元是否正确接收,第一数据处理单元PU1将数据单元的重传次数限于 预先确定的最大次数。下面用若干第一和第二处理单元间的数据传输示例 进一步对本发明予以阐明。在这些示例中,假设两个通信处理单元,如数 据处理器系统中的交换机含有由安置于通信链路中的处理单元中的转发 时延造成的、相同的但周期性循环的同步调度。在这种情况下,假设转发 时延包含5个时隙。这5个时隙包括3时隙的重传时延、1时隙的交换 时延以及用于帧同步的1个时隙。该数量基于以下的假设
重传一次足以恢复同步数据中的错误。
重传前对数据链路进行再同步。
各重传同步分组前有再同步控制序列。
各交换机具有固定的同步调度。
虽然,在这种情况下假设只允许重传一次,但对于所属领域技术人员 而言,显而易见假设重传次数局限于预先确定的最大值,重传次数可以大
于一次。毫无疑问,用作发射机的数据处理单元的重试缓冲器应当足够大。 即,重试缓冲器应当能够在依旧接受新数据的同时,促使数据单元始终保 持可用,直到重传次数达到所述预先确定的最大次数为止。此外,用作接 收机的数据处理单元的输入缓冲器也应足够大以便将输入数据延迟与最 大重传次数相对应的时间间隔。在这种情况下,除非第二数据处理单元
PU2即使在最后一次重传时也错误地接收了同一数据单元,否则第二数据 处理单元PU2再次传输的数据流不受第一至第二数据处理单元的数据流 中发生的错误的影响。在这种情况下,第一数据处理单元PU1继续传输错 误地传输的数据单元之后的数据单元,因而除了预先确定的转发时延,由 第二数据处理单元PU2再次传输的数据流不会引起其他时延。换句话说, 如果在需要将同步数据单元转发至下一数据单元前未正确接收到同步数 据单元,调度安排继续执行,因此无论如何对将按时转发接收有误的数据 单元之后的数据。
以下,将同步重试缓冲器理解成第一处理单元PU1的重传处理器RH 中的同步重试缓冲器RBUF。将同步输入缓冲器IBUF理解成第二处理单 元PU2的时隙处理器SH的同步输入缓冲器IBUF。
图13示出了未发生错误的正常运行过程中缓冲器的内容。在该附图 中,垂直方向表示时间,时间按从上到下的方式推移。从左到右示出了以 下内容交换机X1的同步调度、第一处理单元PU1的重传处理器RH中 的同步重试缓冲器RBUF的内容、通过链路传输的数据、第二处理单元的 同步输入缓冲器IBUF的内容、以及交换机X2的同步调度。
由图13可见,交换机XI含有对来自4条连接A、 B、 C和D的数据 业务的调度安排。该调度安排以16时隙的周期予以重复。
在调度安排中,空白时隙是未分配的。这些时隙可用于尽力而为数据。
从图中可见,对接收交换机X2的调度安排相对于对交换机XI的调 度安排延迟了5个时隙。
在时隙1中,交换机XI安排传输连接A的数据单元Ab。根据调度 安排,通过链路Tlx-R2x传输数据单元Ab,并将其存储在第一数据处理 单元PU1的重传处理器RH的同步重试缓冲器RBUF中。此外,在前一时 隙期间将数据单元Aa存储在同步重试缓冲器RBUF中。将所传输的数据
单元Ab存储在第二数据处理单元的时隙处理器SH中的同步输入缓冲器 IBUF中。该输入缓冲器IBUF已包含先前接收的连接A的数据单元Aa以 及连接D的数据单元Dc,同时安排将先前接收到的数据单元Db传输至 下一交换机。
在时隙2中,根据调度安排,通过链路发送数据单元Ac。此外,将 数据单元Ac临时存储在重试缓冲器RBUF中。在所述时隙中,将数据单 元Ac存储在第二数据处理单元PU2的输入缓冲器IBUF中,同时安排继 续传输先前接收到的数据单元Dc。
在第三时隙中,第一处理单元PU1传输数据单元Ad。根据调度安排, 将数据单元Ad存储在重试缓冲器RBUF中。在同一时隙内,数据单元Aa 写入重试缓冲器RBUF3个时隙后,将其从重试缓冲器RBUF中删除。第 二处理单元PU2接收到所传输的单元Ad,并将所传输的单元Ad存储在 其同步输入缓冲器IBUF中。在第三时隙内,没有为第二处理单元PU2安 排数据传输。因此,第二处理单元PU2可以利用该时隙传输尽力而为的数 据。
图14示出了第二种情形,其中在同步时隙中发生了一次错误。 在时隙6以前,工作过程与图13所描述的过程相同。 在时隙6中,处理单元1根据调度安排传输数据单元Ba,并将该数 据单元的副本存储在其重试缓冲器RBUF中。第二处理单元PU2将该数 据单元的副本存储在其输入缓冲器IBUF中,并将数据单元Ab从中删除。
在时隙6结束时,第二处理单元PU2检测到数据单元Ba中的错误, 并在时隙7中将表示这一事实的消息交予第一处理单元PU1。图15示意 性地示出了这个消息。图15示意性地示出了数据处理单元PU1、 PU2, 并且更加详细地示出了利用从PU2到PU1的反向链路发送的数据流。在
时隙1=3...... t^6内,第二数据处理单元利用反向链路传输各数据单元,
如同步或尽力而为数据单元。当时隙1=6的数据单元传输完毕时,第二数 据处理单元就插入用于表示错误的控制序列。在所示实施例中,控制序列 继而包括4比特的控制码、接收有误的数据单元的时隙号的8比特指示 以及4比特CRC码。时隙号从最后接收到的参考时隙开始算起。该时隙 号由时隙计数器(未示出)予以提供,当进行再同步时对时隙计数器进行
调整。
在所示实施例中,控制码包括2比特的控制指示符,用于区分"常规" 和"紧急"消息;以及2比特的类型指示符,用于指示各种常规消息或各种 紧急消息。在该控制消息后,第二数据处理单元继续传输时隙t=7、.....、 t=9的数据单元。由插入控制数据导致的时延在链路容许的范围以内。
仍然参考图14,在时隙7中,第一数据处理单元PU1传输下一个数 据单元Bb,将该数据单元存储在其重试缓冲器RBUF中,并将前一批数 据单元中的数据单元Ae从其重试缓冲器RBUF中丢弃。
在时隙8中,数据处理单元PU1仍然根据调度安排,传输来自连接C 的数据单元Ca,并将数据单元Ca存储在其重试缓冲器RBUF中。将来自 连接A的数据单元Af从重试缓冲器RBUF中丢弃。
在时隙9中,第一数据处理单元PU1已经处理完来自第二数据处理单 元PU2的错误消息。第一数据处理单元PU1并不利用该时隙传输尽力而 为数据,而是向第二数据处理单元PU2重传其重试缓冲器RBUF中的数 据单元Ba,第二数据处理单元PU2将该数据单元存储在其输入缓冲器 IBUF中。值得注意的是,接收到的数据单元中的错误可能是由错误的时 钟恢复所导致的。即,两个处理单元PU1、 PU2可能不同步。这意味着, 在错误得到恢复的数据单元之后发送的数据单元是不可靠的。因此,为了 防止进一步的传播,在重传前对第一和第二数据处理单元PU1、 PU2间的 前向链路进行再同步(在附图中用R表示)。此外,不但重传选中的检测 到错误的数据单元,还要对在选中数据单元的首次传输和重传间的时段内 发送的同步数据单元进行重传。
再同步的特性取决于发送时钟信号的方式。如果时钟信号是利用独立 线路传输的,可以通过先将链路断电然后重启的方式启动再同步过程。
在重启时,第一数据处理单元PU1传输再同步控制序列,所述再同步 控制序列中含有紧接在控制序列后的数据单元的参考时隙号。图16示意 性地示出了这个过程。如其中所示,在时隙6中,第一处理单元PU1传输 由第二数据处理单元PU2错误地接收的数据单元Ba。在接下来的时隙7、 8中,第一数据处理单元PUl分别传输数据单元Bb和Ca。然后,在时隙 9开始前,将链路断电并且重启,将链路断电并且重启需要一个断电和重
启时间Tpdr。处理单元PU2传输再同步控制序列CTRLM,再同步控制序 列包括控制指示符CTRLI、控制类型CTRLT、其中传输了错误地接收 的数据单元的时隙的时隙号SNUM:6、以及检错码,此处为循环冗余校 验RCC。然后重传数据单元Ba。
假如有内嵌时钟,就没有必要断电。在这种情况下,传输诸如用于 PCI-Express的K-code等预先确定的训练序列就够了 。
仍然参考图14,在时隙9中,第二数据处理单元已安排继续传输数据 单元Ae。
在时隙10中,第一数据处理单元PU1重传数据单元Bb,第二数据处 理单元PU2将该数据单元存储在其输入缓冲器IBUF中。第二数据处理单 元PU2己安排继续传输数据单元Af。
在时隙11中,第二数据处理单元PU2己安排继续传输数据单元Ba。 尽管在将该数据单元Ba从第一处理单元PU1传输至第二数据处理单元 PU2的过程中发生了错误,然而可以按照第二数据处理单元PU2的传输调 度安排继续传输该数据单元。
图17示出了在重传过程中有错误发生的第三种情形。在时隙11以前, 数据传输过程与先前的情况相同。在时隙11结束时,第二数据处理单元 PU2识别到数据单元Ca传输中的错误,并将该错误报告给第一数据处理 单元PU1。在时隙13结束时,第一数据处理单元PU1己处理完该错误消 息。由于重试缓冲器中不再含有这个被请求的数据单元Ca,因而第一数 据处理单元PU1不继续传输不可靠的数据单元Ca、 Da和Db。反之,第 一数据处理单元在时隙13和14间发起第一和第二数据处理单元PU1、PU2 间的链路的再同步(R)。然后根据调度安排在时隙14中继续传输数据单 元Dc。
由于不论数据单元是否正确接收,第一数据处理单元PU1将数据单元 的重传次数限于预先确定的最大次数,因此错误只暂时影响对第二数据处 理单元PU2的传输的时间安排。
在所示示例中,重传过程中的错误发生在数据单元Ca中。如果第一 个错误只影响数据单元Ba,不影响时钟信号,并且在同步数据单元Ca首 次传输时正确接收到同步数据单元Ca,那么就可以取而代之将存储在第
二处理单元PU2的输入缓冲器中的该数据单元Ca的副本用于继续传输。 第二数据处理单元PU2的时隙处理器SH具有以下选项。 如果不论出于何种原因同步数据单元在经第二次传输后被标为有误, 那么最好不再继续传输。取而代之,可以将已为同步数据单元保留的时隙 用于传输尽力而为数据单元。或者,在该时隙期间将链路断电,从而可以 实现节省的目标。然而,在实施例中,时隙处理器可以继续传输这个遭到 破坏的数据单元,并让目的地的应用程序决定如何处理这个数据单元。
图18示出了另一种特殊情形。同图17和14的情况一样,第二数据 处理单元PU2检测到在时隙6中接收到的数据单元Ba中的错误。同样, 一旦检测到这个错误,第二处理单元PU2就向第一数据处理单元PU1传 输指示该错误的控制消息。然而,在这种情况下,第一数据处理单元PU1 未正确接收到所述控制消息。因此,第一数据处理单元PU1按照调度安排 继续传输。在时隙9中,第二数据处理单元PU2识别出第一数据处理单元 PU1没有在预期时间间隔内重传错误地接收的Ba,即发生超时。 一旦检 测到这个超时,第二数据处理单元PU2就对连接至PU1的反向链路进行 再同步,并向PU1发送比如重复先前错误消息的消息。由于PU1的重试 缓冲器中不再含有错误地接收的数据单元Ba,因而无法重传数据单元Ba。 然而,为了降低发生其他错误的可能性,在继续在时隙ll中传输Ca前, 第一数据处理单元PU1对连接至PU1的反向链路进行再同步。
值得注意的是,本发明的保护范围不局限于此处说明的实施例。系统 的各部件是用硬件、软件或其组合予以实现的。举例而言,各种控制模块, 如CTRL、 RCTRL可以用经适当程序设计的通用微处理器予以实现,但还 可以作为专用硬件予以实现。输入和重试缓冲器可以用各种方式予以实 现。小型fifo可以用具有独立读写接口,因而需要独立状态机的硬件fifo 或移位寄存器予以实现。大型FIFO可以用双端口 (写端口、读端口)或 单端口RAM予以实现。在后一种情况下,优选以静态调度周期实现读写 操作。在两种情况下,独立状态机均使设计更加简化。
本发明的保护范围均不受权利要求中的参考数字的限制。词语"包含" 不排除权利要求所述部件之外的那些部件。位于元件之前的词语"一 (一 个)"不排除多个所述元件。本发明在于各种崭新的特征或特征的组合。
权利要求
1.一种数据处理器系统,包括第一和第二数据处理单元(PU1、PU2),第一数据处理单元(PU1)包含数据源(SW11),用于提供要传输至第二数据处理单元(PU2)的数据单元,重试缓冲器(RBUF),用于临时存储所传输的数据单元,数据选择器(RSEL),用于从数据源(SW11)或从重试缓冲器(RBUF)中选择数据单元,控制器(RCTRL),用于控制数据选择器,输出(T1x),用于提供选定用于传输的数据(SD),第二数据处理单元(PU2)包含输入(R2x),用于接收所传输的数据,输出(PU2O),用于进一步地向第三数据处理单元传输所接收到的数据,输入缓冲器(IBUF),连接至输入(R2x),用于临时存储所接收的数据,检错器(ED),用于检测所接收数据中的错误,消息发生单元(EF),连接至检错器(ED),用于在检错器(ED)检测到错误的情况下为第一数据处理单元产生错误消息,其中,如果第一数据处理单元接收到错误消息,第一数据处理单元(PU1)的控制器(RCTRL)就使数据选择器(RSEL)从重试缓冲器(RBUF)中选择数据,否则就使数据选择器(RSEL)选择数据源,并且,不论第二数据处理单元(PU2)是否正确接收到所述数据单元,第一数据处理单元(PU1)都将属于保证吞吐量通信业务类的数据单元的重传次数限于预先确定的最大次数。
2.根据权利要求1所述的数据处理器系统,其中第二数据处理单元 还在第一数据处理单元首次传输数据的时间段以后传输所述数据,如果预 先确定的最大重传次数的重传位于第一次传输之后,那么所述时间段至少 等于经过在其之后所述数据得以继续传输的时间段,其中,第二数据处理 单元的缓冲器容量足以容纳从第二数据处理单元接收到所述数据的时刻 起到第二数据处理单元继续传输所述数据的时刻为止的数据。
3. 根据权利要求1所述的数据处理器系统,其中供传输所用的数据包括要求保证吞吐量服务质量的第一数据、以及要基于尽力而为原则传 输的第二数据,其中所述数据处理器系统只对第一数据提供重传,在未安 排传输或重传第一数据的时间间隔内传输和/或重传第二数据。
4. 根据权利要求1所述的数据处理器系统,其中第一数据处理单元(PU1)的数据源包括与多个输入端口 (IPll、 IP12)相连的交换机或路 由器(SW1),并且其中第一数据处理单元(PU1)还包含调度器(SC1), 用于根据调度安排从输入端口之一选择数据。
5. 根据权利要求3所述的数据处理器系统,其中第一数据处理单元 的交换机或路由器还包含多个输出端口 (OPll、 OP12)。
6. 根据权利要求1所述的数据处理器系统,其中第一数据处理单元 (PU1)在重传数据单元期间提供用于表示数据单元最初发送时隙的标记 (SNUM)。
7. 根据权利要求1所述的数据处理器系统,其中在重传之前对用于 从第一向第二数据处理单元(PU1、 PU2)传输数据单元的前向链路进行 再同步。
8. 根据权利要求1所述的数据处理器系统,其中还对那些在检测到 其存在错误的数据单元的首次传输和重传之间的时段内己经传输的同步 数据单元进行重传。
9. 根据权利要求1所述的数据处理器系统,其中第二数据处理单元 (PU2)包含超时模块,所述超时模块用于在第一数据处理单元(PU1)未即时重传报告其存在错误的数据单元的情况下,提供超时信号,其中第 二数据处理单元(PU2)对用于报告错误的反向链路启动再同步过程。
10. —种用于通信数据的方法,包括以下步骤 发送数据单元,所述数据单元包含检错码, 将所述数据单元存储在重试缓冲器中, 接收所述数据单元,将所述数据单元存储在输入缓冲器中, 利用检错码验证所接收到的数据单元的正确性,在经校验认为接收到的数据单元有误的情况下,请求重传所述数 据单元,以及基于所述请求,从重试缓冲器中获取所述数据单元,并重传所述 数据单元,接收重传的数据单元,向另一数据处理单元传输所接收到的数据单元,其中不论所述数 据单元是否正确接收,属于保证吞吐量业务类的数据单元的重传次数都局 限于预先确定的最大次数。
11. 根据权利要求io所述的方法,其特征在于,在第一和第二时隙的边界传输控制数据,控制数据一旦传输完毕,第二时隙立即开始。
12. 根据权利要求10所述的方法,其特征在于,在第一和第二数据 分组的边界传输控制数据,控制数据一旦传输完毕,就立即开始传输第二 数据分组。
13. 根据权利要求10所述的方法,其特征在于,在用户数据的第一 和第二字节的边界传输控制数据,控制数据一旦传输完毕,就立即开始传 输用户数据的第二字节。
全文摘要
说明了一种数据处理器系统,包括第一和第二数据处理单元(PU1、PU2)。第一数据处理单元(PU1)包含数据源(SW1、IP11、IP12),用于提供要传输至第二数据处理单元(PU2)的数据单元;以及重试缓冲器(RBUF),用于临时存储所传输的数据单元。第一数据处理单元配备了数据选择器(RSEL),用于从数据源或从重试缓冲器选择数据单元;和控制器(RCTRL),用于控制数据选择器;以及输出(T1x),用于提供选中用于传输的数据。第二数据处理单元(PU2)包含输入(RIx),用于接收所传输的数据;以及输出(PU20),用于继续向第三数据处理单元传输接收到的数据。第二数据处理单元还包含输入缓冲器(IBUF),连接至输入,用于临时存储接收数据。第二数据处理单元还包含检错器(ED),用于检测接收数据中的错误;以及消息发生单元(EF),连接至检错器(ED),用于在检错器检测到错误的情况下为第一数据处理单元产生错误信息。如果第一数据处理单元接收到错误信息,第一数据处理单元的控制器(RCTRL)就令数据选择器从重试缓冲器(RBUF)选择数据,否则就令数据选择器(RSEL)选择数据源(SW1、IP11、IP12)。不论所述数据单元是否正确接收,第一数据处理单元(PU1)都将数据单元的重传次数限于预先确定的最大次数。这样做就可以实现可靠性有所提高的流数据的无扰数据流。
文档编号H04L1/18GK101361310SQ200680051666
公开日2009年2月4日 申请日期2006年11月14日 优先权日2005年11月23日
发明者埃瓦·赫克斯特拉诺瓦卡, 大卫·R·伊旺艾, 安德烈·勒杜列斯库 申请人:Nxp股份有限公司