用于精确加时间戳的方法和装置制造方法

文档序号:7793509阅读:240来源:国知局
用于精确加时间戳的方法和装置制造方法
【专利摘要】在网络设备中,装置和方法执行精确加时间戳。时间代理接收与基于主控时钟域中的主控实时时钟的时间表示对应的主控步调信号。时间累加器每次基于主控步调信号累加时间单位一个填充量。时间累加器根据以比主控步调信号更高的频率运行的本地时钟信号将累加的时间单位减少泄漏量。校正逻辑在时间累加器中存放附加填充量的时间单位之前以与本地时钟信号的频率对应的粒度基于在时间累加器中的时间单位的残留数目周期性地生成目标时钟域中的更新的时间表示。
【专利说明】用于精确加时间戳的方法和装置

【背景技术】
[0001]本文提供的背景描述的目的是概括性地介绍本公开的背景。就本背景部分描述的工作的程度而言,目前指定的发明人的工作以及在申请日时可能不构成现有技术的描述发面既不明确地视为相对于本公开的现有技术也不被隐含地视为相对于本公开的现有技术。
[0002]网络设备(比如网络交换机、路由器、边缘设备等)运用定时机制,在这些定时机制中,时间戳数据被追加到在网络设备接收和/或从网络设备发送的数据分组或者以别的方式与这些数据分组关联,以及在数据分组(或者代表数据分组的数据)经过网络设备的各种处理块移动时被追加到数据分组或者以别的方式与这些数据分组关联。然而不同处理时钟在不同时钟域中操作从而使单个时间标准遍及网络设备的分布变复杂。此外还有如下实例,在这些实例中,逻辑(最少限度或无地)存在于希望有时间戳的点与希望时间戳准确的时间之间。


【发明内容】

[0003]在一个实施方式中,一种在网络设备中确定时间表示的方法包括在网络设备处基于主控时钟域中的主控实时时钟接收与时间表示对应的主控步调信号,该主控步调信号以第一频率被生成。该方法还包括在网络设备的时间累加器中基于主控步调信号存放填充量的时间单位并且根据本地时钟信号将时间累加器中的时间单位减少泄漏量,该本地时钟信号以比主控步调信号更高的频率运行。另外,该方法包括在时间累加器中存放附加填充量的时间单位之前基于在时间累加器中的时间单位的残留数目周期性地并且以与本地时钟信号的频率对应的粒度(granularity)生成目标时钟域中的更新的时间表示。
[0004]在另一实施方式中,一种网络设备包括配置为基于主控时钟域中的主控实时时钟接收与时间表示对应的主控步调信号的时间代理。主控步调信号以第一频率被生成。网络设备还包括生成目标时钟域中的本地时钟信号的本地时钟。本地时钟信号以比主控实时时钟信号更高的频率来生成。网络设备中的时间累加器被配置为:(i)基于主控步调信号累加时间单位并且向时间累加器添加填充量的时间单位以及(ii)根据本地时钟信号将累加的时间单位减少泄漏量。网络设备还包括目标时钟域中的实时时钟。实时时钟被配置为生成目标时钟域中的时间表示。目标时钟域中的实时时钟根据本地时钟信号和泄漏量递增目标时钟域中的实时表示。网络设备中的校正逻辑被配置为在时间累加器中添加附加填充量的时间单位之前基于在时间累加器中的时间单位的残留数目周期性地并且以与本地时钟信号的频率对应的粒度生成目标时钟域中的更新的时间表示。
[0005]在又一实施方式中,一种用于在网络设备中确定时间的方法包括在网络设备的目标时钟域中接收在具有主控时钟信号的主控时钟域中生成的校验时间信号。该方法也包括对于校验时间信号的持续时间在本地时钟信号的每个周期期间向游标寄存器中选通校验时间信号的值并且在游标寄存器中对在校验时间信号与本地时钟信号之间的相移的指示进行定位。该方法还包括根据游标寄存器中的相移的位置确定调整,使得在目标时钟域中生成的调整的时间表示准确到本地时钟子周期(sub-cycle)的精确程度。
[0006]在另一实施方式中,一种网络设备包括配置为接收在具有主控时钟信号的主控时钟域中生成的校验时间信号的时间代理。网络设备也包括目标时钟域中的生成本地时钟信号的本地时钟和目标时钟域中的配置为生成目标时钟域中的时间表示的实时时钟。游标寄存器被配置为对于校验时间信号的持续时间在本地时钟信号的每个周期期间接收校验时间信号的值,以及逻辑被配置为在游标寄存器中对在校验时间信号与本地时钟信号之间的相移的指示进行定位。网络设备还包括配置为根据游标寄存器中的相移的位置确定调整使得在目标时钟域中生成的调整的时间表示准确到本地时钟子周期的精确程度的逻辑。
[0007]在又一实施方式中,一种装置包括耦合到调整单元的串行化器/去串行化器单元。调整单元被配置为生成指示调整单元的循环延迟变化的同步信号。时间代理单元生成时间表示,并且耦合到调整单元和时间代理单元的时间戳单元被配置为接收同步信号并且计算在⑴和(11)之间的偏移,⑴为与检测到30?指示符并行接收的时间表示,(11)为与分组中的与时间戳关联的具体比特在串行比特流中被发送或者接收的时间对应的时间表不。
[0008]在另一实施方式中,一种在网络设备中确定调整的时间表示的方法包括在时间戳单元处接收用于包括分组开始指示符的数据分组的时间表示并且在时间戳单元处接收在调整单元处生成的同步信号。该方法也包括根据至少同步信号计算在由时间表示所指示的时间与分组中的与时间戳关联的具体比特在串行化器/去串行化器单元作为串行数据被接收的时间之间的偏移。另外,该方法包括根据计算的偏移生成调整的时间表示并且将指示调整的时间表示的时间戳数据关联至、追加至、处理至或插入至数据分组。
[0009]在又一实施方式中,一种在网络设备中确定调整的时间表示的方法包括在时间戳单元处接收用于包括分组开始指示符的数据分组的时间表示并且在时间戳单元处接收在调整单元处生成的同步信号。该方法还包括根据至少同步信号计算在由时间表示所指示的时间与分组中的与加时间戳关联的具体比特将从串行化器/去串行化器单元作为串行数据被传输的时间之间的偏移。另外,该方法包括根据计算的偏移生成调整的时间表示并且将指示调整的时间表示的时间戳数据关联至、追加至、处理至或插入至数据分组。

【专利附图】

【附图说明】
[0010]图1是根据本描述的配置为实施精确加时间戳的网络设备的一个实施方式的框图;
[0011]图2是描绘实施精确加时间戳的内部定步调的时间戳架构的示例并且描绘接收(⑶和发送(1?时间代理(1'八)和时间戳代理则的框图;
[0012]图3是图2中描绘的IX 的示例的框图;
[0013]图4图示向图2中描绘的时间代理分发的示例复合步调信号;
[0014]图5是在图2中描绘的时间代理中实施的示例步调转换器的框图;
[0015]图6是实施精确加时间戳的外部定步调的时间戳架构的示例并且描绘1?和IX I'八以及的框图;
[0016]图7是图6中描绘的IX 的示例的框图;
[0017]图8是图7的校验时间记录器的框图;
[0018]图9图示向图6中描绘的时间代理分发的示例校验时间信号;
[0019]图1OA是根据一个实施方式的示例接收数据路径的框图;
[0020]图1OB是根据一个实施方式的示例发送数据路径的框图;
[0021]图11图示在图1OA和1B中描绘的数据路径的部分中的示例数据流;
[0022]图12图示在图1OA和1B中描绘的数据路径的另一部分的第二实施方式上的示例数据流;
[0023]图13是描绘根据一个实施方式的用于在网络设备中确定时间表示的示例方法的流程图;
[0024]图14是描绘根据一个实施方式的用于在网络设备中确定时间的示例方法的流程图;
[0025]图15是描绘用于在网络设备中确定调整的时间表示的示例方法的流程图;以及
[0026]图16是描绘用于在网络设备中确定调整的时间表示的另一示例方法的流程图。

【具体实施方式】
[0027]在以下描述的实施方式中,网络设备接收和发送数据分组。例如在实施方式中,根据在数据分组中包括的信息的类型和/或根据数据分组体现的协议处理和/或转发数据分组。对于应用(比如网络时间协议和性能监视),需要对这样的分组穿过测量点的时间准确记录。在下文中,这样的记录称为加时间戳。
[0028]图1是描绘根据本描述操作的网络设备100 (比如但不限于网络处理单元(NPU)、分组处理器、网络服务器等)的一个实施方式的高度地简化框图。注意实际网络设备通常包括从公开内容省略的各种附加部件以免模糊本描述的教导。网络设备100包括配置为接收和发送数据分组的流量接口块102。在一个实施方式中,流量接口块102包括串行化器/去串行化器单元104(也称为串行化去串行化器)的集合。串行化器/去串行化器单元104通过网络设备100的一个或者多个物理端口(未示出)接收串行数据并且将数据转换成用于在网络设备100中的其它处理的并行形式,并且将用于传输的并行数据转换成可以通过一个或者多个物理端口发送的串行数据。串行化去串行化器单元104通信地耦合到分组接口块106。分组接口块106负责如以下描述在网络设备100中加时间戳操作的至少部分以及其它功能。
[0029]TI块102还包括时间控制块108。时间控制块108向分组接口块106中的时间戳单元和网络设备100的各种其它部分提供实时信息。
[0030]时间控制块108中的实时时钟(RTC) 109维持当前时间在一个或者多个格式中的表示。这在一个实施方式中用于同步至外部单元或者设备或者从外部单元或者设备同步。
[0031]时间控制块108控制所有网络设备100实时时钟的步调。每个RTC被同步到远程或者本地的主参考源。远程同步通过用于时钟同步的联网协议、如比如NTP(网络时间协议)或者PTP (精确度时间协议)来实现。本地同步例如使用硬件接口信号来实现。在网络设备100中需要时间戳操作的其它时钟域中,关联的时间戳逻辑在两个形式中存在——一个用于接收(RX)链路而一个用于发送(TX)链路。贯穿本文,术语“时钟信号”、“时钟周期”和“时钟域”是指同步数字逻辑设计,而术语“实时时钟”和“时间表示”是指时间值的序列,这些时间值代表在RTC驻留在其中的时钟域的每个时钟周期中的定义的点。术语“时间戳”是指对数据分组的第一数据符号穿过网络设备硬件中的具体点的时间的记录。为了捕获该时间的精确记录,硬件必需具有同步到主控时钟、比如远程原子时钟的精确时钟。术语“同步”是指设置从属以与主控相符的动作。
[0032]在实施方式中,在频率和/或相位不同的两个或者更多不同时钟域中执行网络设备加时间戳。因此,在每个这样的时钟域中需要在每个周期中的具体点应用准确时间值的唯一序列。
[0033]在实施方式中,在每个目标时钟域中实例化奶?:,并且每个以步进(0613)推进,这些步进反映该时钟域的离散时间步进。例如如果两个目标时钟域中的时钟以精确地1001?操作,则在实施方式中,两个时钟域中的将对于时钟的每个周期将时间表示推进10118。然而由于相位偏移,第一示例时钟域中的时间值的序列可能是61.23118,71.23=8、81.23118等,而另一时钟域将例如需要序列66.765118,76.765118,86.765=8等。在一个实施方式中,必须以这一方式同步各种时钟域中的所有实时时钟。这里描述的方法允许设置从属尺扣中的时间以匹配在目标时钟域中运行的时钟的周期中的正确点。也就是说,可以用子时钟周期分辨率调整从属中的时间。
[0034]图2描绘子时钟周期分辨率时间控制块108的一个实施方式和分组接口 120的一个实施方式的框图,该实施方式被配置用于在时间控制块108中将分组接口 81(:内部同步到尺扣。如图2中描绘的那样,分组接口 120包括1?和IX硬件二者。1?时间代理(从)122包括在1?时钟域126中操作的81(: 124。^ 122向也在1?时钟域126中的1?时间戳代理(1^) 130提供时间表示128。^ 18^ 130使用时间表示128以将时间戳信息关联到接收分组数据的接收时间。相似地,XX时间代理132包括在IX时钟域136中操作的从属
134。XX I'八132向也在XX时钟域136中的XX时间戳代理140提供时间表示138。XX丁3八140使用时间表示138以在发送用于传输的加时间戳的数据分组139之前添加或者操控选择的发送分组数据的时间戳信息。时间控制块108通信地耦合到分组接口 120并且具体地分别向狀和IX时间代理122和132发送步调信号142。
[0035]在一些实施方式中,I八132在单个时间格式中输出时间表不,而在其它实施方式中,132在多个格式中输出时间表示。如图3中更具体描绘的时间代理从步调信号142推导一个或者多个时间序列。单个134可以输出多个时间序列匕],这些时间序列是公共时间标度的谐波。对于未共享谐波的所需输出时间序列匕]的每个集合需要附加步调转换器164和81(: 134。在图3中所示实施方式中,这由被步调转换器164八和1648递增的两个訂134八和1348图示。在块02-腿150中的亚稳性减轻之后,在穿越在132的主控时钟域146与目标时钟域160之间的时钟域边界158时,步调信号142由从132中的步调转换器164八和1648接收,这些步调转换器对步调信号142进行解码并且使用步调信号142以调整向相应实时时钟134八和1348提供的递增值166八和1668,每个相应81(: 134在时钟域160中的时钟168的每个周期被递增这些递增值。在图3中描绘的实施方式中,示出分别输出时间序列170八、1708和172八、1728的两个尺冗134八和1348。
[0036]尽管在对应各种实施方式中以各种方式实施步调信号142,但是在图4中图示示例步调信号142。在一个实施方式中,步调信号携带两个消息之一:“填充”印11)或者“填充+校验”。每个“填充”消息对应于经过等于1/(步调速率)的时间,这是例如在目标时钟域中的寄存器中编码的量。如以下将描述的那样,“填充+校验”消息用于同步。在图3中所示实施方式中,这适用于目标时钟域160的时钟168。
[0037]步调信号142在一个实施方式中在步调转换器164中被解码。图5是描绘示例步调转换器180的框图。在该示例中,步调转换器180运用伺服器182和“泄漏桶”(leakybucket) 184。伺服器182在硬件中被实施并且控制目标域周期时间的准确估计。具体而言,服务器182利用“泄漏桶” 184,该泄漏桶在目标域时钟的每个周期被耗用反映目标域时钟的周期时间并且按照希望的时间格式的分辨率表达的时间单位量。伺服器182调整桶184的泄漏速率,从而在两个阈值(上水位标记与下水位标记)之间维持桶填充水平。填充的时间单位的数目反映在填充时刻之间流逝的时间。在描绘的实施方式中,解码器186接收步调信号142(如图4举例说明的那样)并且分离地输出填充信号188和校验信号190。填充信号188引起向桶184添加在填充量寄存器192中存储为“填充量”的某个数目的时间单位。同时,校验信号190使桶184的水平被记录在寄存器194中。寄存器196A和196B指定用于在桶184中累加的时间的上和下水位标记/阈值。寄存器198A和198B反应在桶184中累加的时间当前是否分别在上阈值196A以上或者在下阈值196B以下。寄存器198A、198B的值由伺服器182接收,该伺服器182使用这些值以调整在寄存器197中存储的泄漏速率,该泄漏速率的值控制桶184的泄漏速率并且在实施方式中也指定RTC对于本地时钟信号的每个周期将时间表示推进的量。由于精确地控制桶填充间隔,所以可以在目标域中定义填充量。因而,仅需向目标域传送填充命令。
[0038]在实施方式中,时间代理RTC 124、134的步调由步调寄存器(例如寄存器197)设置,该步调寄存器被硬件维持为反映目标域周期时间。目标域RTC(例如RTC 124或者RTC134)的时间表不在目标时钟域的每个周期被推进步调寄存器的值。在实施方式中,步调寄存器确定用于泄漏桶184的泄漏速率,或者备选地,寄存器197确定时间代理RTC 124、134的步调。利用来自步调信号的每个填充命令在桶184中存放的时间单位的确切量由寄存器192设置。伺服器182调整泄漏速率(例如寄存器197)以将桶184中的时间单位水平保持在由寄存器196A、196B指定的两个可配置的水位标记之间。在一些实施方式中,实施单个步调转换器180,而在其它实施方式中,实施多个步调转换器180。使用相同步调信号142来填充时间代理132中的所有步调转换器180中的桶184。
[0039]在一些实施方式中,用子周期精确度调整目标时钟域126、136中的RTC 124、134。也就是说,在目标时钟域126、136中,每个RTC 124、134中的时间表示作为离散时间步进的结果而在该目标时钟域的时钟周期中的特定点有效,RTC 124、134利用离散时间步进来推进时间表示。然而,时间表示在时钟周期中有效的点由于在主控与目标时钟域之间的偏移而变化。在实施方式中,可以确定在主控和目标时钟域中的时钟之间的相位差,因而可以调整RTC时间表示值。具体而言,在目标域时钟周期中,每当校验信号190在步调信号142中被编码时,桶184的填充水平被选通到寄存器194中。校验时间沿在被同步到目标时钟域时所遭受到的相移量由在填充时间的桶填充水平反映。在实施方式中,向RTC值添加该调整以得到具有完全子周期精确度的恰当校验时间值。在一些实施方式中,在硬件中执行该调整。在其它实施方式中,该调整由软件执行。
[0040]图6描绘一个实施方式200的框图,在该实施方式中,时间控制块108和分组接口120的实施方式均被配置用于在相应RTC之间的外部同步。在该实施方式200中,时间控制时钟202向分组接口 206输出校验时间信号204。与图2中描绘的分组接口 120相似,分组接口 206包括RX和TX硬件二者。RX时间代理(TA) 208包括在RX时钟域212中操作的从属尺IX: 210。1? 208向也在1?时钟域212中的1?时间戳代理(1^)216提供时间表示214。^ 18^ 216使用时间表示214以关联时间戳信息与接收分组数据218。相似地,IX时间代理(从)222包括在IX时钟域226中操作的从属81(:221 IX 222向也在IX时钟域226中的XX时间戳代理(18^) 230提供时间表示228。XX 丁3八230使用时间表示228以在发送用于传输的加时间戳的数据分组234之前向发送分组数据232添加时间戳信息。时间控制块202通信地耦合到分组接口 206并且具体地分别向1?和IX时间代理208和222发送校验时间信号204。在图6的实施方式中,时间控制块202经由外部连接236耦合到目标域参考时钟。
[0041]在图6的实施方式200中,的同步通过将用于不同时钟域的锁定在一起来实现。然后,时间控制块202提供用于相位同步的校验时间信号204。时间控制块202偶尔地或者周期性地输出由分组接口 206并且具体由1? 208和IX 222接收的校验时间信号204。
[0042]图7中的框图描绘根据另一实施方式的222的示例。222通过如-腕仏电路装置248接收校验时间信号204。校验时间记录器250接收校验时间信号249。校验时间信号249包括选通命令(81^0)36⑶臟册(1)和游标标度序列函数80&16 86^1161106
这两个部分。在其中接收选通命令的目标时钟域周期中,所有尺扣的值被选通到选通寄存器245中。在一个实施方式中,选通的值用于校验的正确性下至土目标时钟域周期时间的分辨率。游标标度序列在选通时刻开始并且运行II个周期。对于这一序列的持续时间,它的在目标时钟域中的采样值被记录在游标采样寄存器中。
[0043]图8描绘如下实施方式,在该实施方式中,校验时间信号204的两个功能已经被合并成复合信号。脉冲串列的开端定义选通周期,而校验时间信号的其余部分提供游标序列。它是在与该频率相似的频率的脉冲串列或者目标时钟域的时钟频率的某个适当谐波。在实施方式中,如以下描述的那样,校验时间脉冲串列的频率被选择为提供在脉冲串列与在目标时钟域中的时钟信号之间的特定每周期偏移,从而可以实现子周期分辨率以用子周期准确度提供对从属的调整。在实施方式中,脉冲串列如在图9中所不不例脉冲串串列240中描绘的那样包括II个切换“0狀匕)。确定切换频率和数目II,从而对于目标时钟域,脉冲串列将包括至少一个相移。例如向目标时钟域中钟控的脉冲串列将是“...1 0 10 10 01 0 1 0 1 0.,.”或者“...10 1 0 1 0 1 1 0 1 0 1 0 1...”。这贯穿本说明书的其余部分称为“滑移”(8110。在图8中描绘的实施方式中,校验时间记录器250包括校验时间突发检测器252,该校验时间突发检测器接收校验时间信号249并且在对校验时间脉冲串的第一切换进行采样时将IX 224八、2248的值选通到对应校验时间寄存器中。脉冲串然后被采样/记录到移位寄存器254中。再次,在校验时间脉冲串列204与用于对传入校验时间脉冲串列204进行采样的目标域时钟信号之间的频率差值将引起在记录的脉冲串列中有至少一个滑移。游标寄存器254中的滑移的定位指示校验时间命令204在目标时钟周期中到达的位置并且用来计算的误差,而且相对于未调整的应用调整。
[0044]注意这一“游标”方法也适用于以上关于图2-4描述的内部定步调的控制方法。然而如以上描述的那样,在填充时间的桶水平也是相位关系的计量。在与泄漏桶方法组合采用游标方法的这样的实施方式中,必须确保校验时间命令204在与填充命令188完全相同的周期中到达目标时钟域。这可以例如使用用于总线信号的异步传送的标准过程或者通过将两个操作编码成单个复合信号来实现。
[0045]在实施方式中,在其中执行时间戳操作的每个目标时钟域具有时间代理和时间戳代理。在目标时钟域中的每个周期期间,时间代理向时间戳代理提供在一个或者多个格式中的在该时钟周期中的定义的点应用的时间表示。在一个实施方式中,时间戳代理分为两类:第一类时间戳代理(狀)提供时间戳作为用于进一步处理的边带(81(16 “仏)信息;第二类时间戳代理(1?对时间戳数据执行算术操作从而向途中分组中插入结果。
[0046]注意通过物理网络发送和接收数据作为串行数据。在数据到达网络设备时,串行数据被串行化器/去串行化器(例如串行化去串行化器104)转换成一般地贯穿网络设备的其余部分作为并行数据而处理的并行数据字。将从网络设备通过物理网络发送的数据在并行形式中被预备、然后(被串行化器/去串行化器)转换成串行数据。对于加时间戳的一些应用,时间戳代理可以位于设备中的这样的点使得记录或者插入的时间戳数据对应于希望的加时间戳点。在其它情况下,可能不便于或者不可能在分组正在穿过希望的加时间戳点之时记录或者插入时间戳数据。这一点的示例是在网络设备100的物理端口加时间戳。然而,如果用于在希望与实际加时间戳点之间的分组数据的传送延迟恒定,则加时间戳点可能被进一步移位到网络设备中。部署这样的加时间戳点的实施方式可以在软件和/或硬件中向时间戳值应用恒定偏移以补偿传送延迟。
[0047]在实施方式、比如图10八中描绘的实施方式中,接收的数据分组260作为串行数据流到达网络设备并且具体地到达网络设备的串行化器/去串行化器单元104。也参照图11,在数据分组在物理层上被传送时,数据用具体编码被组织为数据比特块。加时间戳与分组中的具体这样的码块中的具体比特%关联。这样的比特模式块的长度对于不同类型的物理端口是不同的。然而对于给定的端口,模式长度被固定成X比特。串行化去串行化器单元104去串行化串行数据从而将串行数据转换成并行数据字262。串行化去串行化器单元104输出的每个并行数据字262具有7比特的字宽度,其中7是根据串行化去串行化器单元104的设计而定的固定值。在其中X和7相同的实施方式中,将总是在接收数据262中的具体并行字的相同位置发现与加时间戳关联的模式中的比特于是,经过串行化去串行化器的用于比特模式块的传送延迟是恒定的。在其中X和7不相同的实施方式中,并行字数据262中的码块的定位从一个并行字到另一并行字变化。这未良好适合用于并行数据处理。因此,分组接口的这样的实施方式实施适配单元或者“变速箱”(阴犯'264,该适配单元或者“变速箱”从串行化去串行化器单元104接收并行字数据262、检测比特模式块的位置,并且输出移位的并行字数据266使比特模式块被对准,使得在码块之间的划界点总是落在每个并行数据字266中的相同位置。变速箱操作涉及到暂时存储卷绕比特^01111(1 610。这使经过串行化去串行化器和变速箱的传播延迟随时间变化。
[0048]图10八在概念上示出部署适配单元或者变速箱264的一个实施方式。加时间戳在适配单元/变速箱264 “以内”并且在实施方式中还在分析或者处理并行数据的固定延迟逻辑以内出现。加时间戳由分组开始(如?)指示符265触发。在实施方式中,时间戳值被调整为在从30?指示符265的可配置偏移处施加。对于以太网物理端口,这可以是跟随帧开始(--)定界符的第一符号的第一比特60。在实施方式中,30?指示符265由分析或者控制并行数据266的逻辑生成。在其它实施方式中,30?指示在时间戳代理270中被触发(如在时间戳代理270被配置为读取并行字数据266并且在数据分组中检测30?指示符265那样)。在任何情况下,在时间tTS,时间戳代理270在检测到SOP指示符265并且满足其它时间戳标准时记录用于数据分组的时间戳。在一些实施方式中,适配单元或者变速箱264还生成和输出sync信号274。时间戳代理270接收sync信号274并且使用sync信号274和SOP指示符265可以调整从时间代理272中的RTC接收的时间表示,从而时间戳代理270与数据分组关联的时间戳(在tTS)对应于数据分组的比特b0到达串行化去串行化器单元104的时间也就是说,时间戳代理270可以基于来自适配单元264的sync信号274和来自时间代理272的时间表示来确定时间h并且在时间tTS应用指示时间h的时间戳。在其中单元264是适配单元的一些实施方式中,sync信号274指示适配单元264为了输出移位的并行数据266而将接收的并行数据262移位的比特数目。
[0049]在实施方式中,如图1OB中在概念上描绘的那样,为传出数据分组实施相似序列。具体而言,在处理用于跨越串行介质传输的并行字数据276时,记录、处理并且在分组中插入时间戳。于是,有效时间戳值未指示时间戳被应用的时间、但是指示调整的值,该调整的值指示数据分组的比特流b0将作为串行数据被发送的时间。字宽度为y’的并行字数据276在时间tTS从耦合到具有实时时钟的时间戳代理280接收处理的时间戳数据。SOP指示符282与标识用于加时间戳的分组的标准组合指令时间戳代理278采取动作。使用来自适配单元或者变速箱284的sync信号290,时间戳代理278基于在时间戳代理278与串行数据流286之间的逻辑的知识预测数据分组的比特b0将通过串行流286被传输的点。
[0050]在如图1OB中在概念上描绘的发送方向上,适配单元或者变速箱284接收具有子宽度y’的加时间戳的并行字数据276并且输出具有与串行化去串行化器单元104(同样见图11)的并行输入的宽度对应的字宽度y的并行数据字288。由于在并行数据276与并行数据288之间的差值以及由于数据符号或者码块可能具有不同长度,所以每个数据分组的比特b0不会总是在数据分组在向串行化去串行化器单元104的并行输入处被接收时在并行字288中的相同点被对准。用于实现这一点的变速箱284操作涉及到暂时存储卷绕比特。这使经过变速箱284和串行化去串行化器104的传播延迟随时间变化。因而,适配单元或者变速箱284在实施方式中向时间戳代理278提供指示适配单元或者变速箱284的操作的sync信号290。使用sync信号290,时间戳代理278可操作用于确定直至如下时间的时间延迟,在该时间处,特定数据分组的比特b0将从串行化器/去串行化器104在串行数据流286上被发送,并且通过调整从时间代理280接收的时间表示,可操作用于在指示比特b0将被发送的将来时间h的时间tTS记录、处理和插入时间戳数据。
[0051]在实施方式中,网络设备100实施这里简称为变速箱的变速箱先入先出(FIFO)模块而不是调整单元。图12图示具有8比特的输入字宽度和20比特的输出字宽度的变速箱310的操作原理。变速箱310的输入侧必须为每20比特数据输出字读入2.5个8比特数据字。因而,变速箱310的输入和输出在不同频率操作,这些频率将仅在具体时间同步。在实施变速箱的实施方式中的延时以重要、但是可预测的方式随时间变化。从变速箱到时间戳代理的sync信号允许向时间戳应用系列校正值,从而应用的时间戳反映分组的到达时间。这些校正被变速箱的周期时间缩放,并且创建如下值的跳跃序列,这些值反映变速箱延时变化。在一些实施方式中,这用具有η模(mod)除法器的积分器来实现。可以通过组合对于固定延迟的补偿与对于可变延迟的补偿来在时间戳中准确地反映数据分组离开或者到达网络设备100的时间。在实施方式中,固定延迟可以通过将本地实时时钟(即在向时间戳代理提供时间表示的时间代理中的奶0设置更晚或者更早如下量来补偿,该量反映在希望与实际加时间戳点之间发生的固定延迟处理所需要的时间。通过将调整的81(:时间表示进一步动态地调整等于变速箱延时的量,可以对于数据分组记录和处理准确时间戳值。
[0052]现在转向图13,流程图描绘用于在网络设备的分组处理单元中确定时间表示的方法320的一个实施方式。分组处理单元基于主控时钟域中的主控实时时钟接收与时间表示对应的主控步调信号(块325)。在第一频率生成主控步调信号。在实施方式中,主控时钟域包括也在网络设备上的时间控制块。在任何情况下,基于主控步调信号向时间累加器(也称为“泄漏桶”)中存放时间单位的填充量(块330)。例如在实施方式中,主控步调信号包括周期性“填充”命令或者信号,并且每当接收填充命令或者信号时,存放时间单位的填充量。在实施方式中,时间累加器在目标时钟域中,并且根据本地时钟信号在目标时钟域中接收主控步调信号。时间累加器中的时间单位累加被减少根据时间累加器的时钟域中的时钟信号(例如根据目标时钟域中的本地时钟信号)而定的泄漏量(块335〉。在一个实施方式中,本地时钟信号在比主控步调信号更高的频率运行。
[0053]基于在执行填充命令之前(即在时间累加器中存放附加填充量的时间单位之前)在时间累加器中的时间单位的残留数目在时间累加器的时钟域中(例如在目标时钟域中)周期性地生成更新的时间表示(块345)。在实施方式中,更新的时间表示具有比泄漏量更细微的粒度和更好的精确度。
[0054]在实施方式中,生成更新的时间表示包括从恰在添加填充量之前的时间单位的残留数目确定调整值,从而目标时钟域中的更新的时间表示在本地时钟信号的时钟周期内的希望的时刻有效。因而在一些实施方式中,主控步调信号是指示周期性填充命今和周期性校验命令二者的复合信号。在接收这一步调信号(块340)时,对信号进行解码,并且对于每个填充命令,向时间累加器中存放时间单位的填充量。在接收校验命令时,将时间累加器中的时间单位的残留数目选通向寄存器中。在实施方式中,每个校验命令与填充命令同时,并且在存放附加填充量的时间单位之前的时刻中向寄存器中选通时间单位的残留数目。在实施方式中,该方法包括比较在时间累加器中累加的时间单位与上阈值和下阈值并且如果在时间累加器中累加的时间单位在上阈值以上或者在下阈值以下则调整时间单位的泄漏量。
[0055]现在转向图14,流程图描绘用于在网络设备中确定时间的方法350的一个实施方式。在目标时钟域中接收在具有主控时钟信号的主控时钟域中生成的校验时间信号(块355〉。在实施方式中,校验时间信号至少包括脉冲串列。在实施方式中,脉冲串列的频率接近、但是不等于目标时钟域中的时钟信号的频率的一半。在实施方式中,脉冲串列具有足够长的持续时间使得在选择的频率,在它穿越在主控与目标时钟域之间的边界时,将出现至少一个相移。脉冲串列信号的值对于脉冲串列的持续时间在本地时钟信号的每个周期期间被选通到游标寄存器(例如移位寄存器)中(块360)。游标寄存器将已经记录相移,该相移的位置可以位于寄存器中(块365)。使用游标寄存器中的相移的位置,确定调整,从而在目标时钟域中生成的调整的时间表示在目标时钟域中准确有子周期分辨率(块370)。在实施方式中,可以使用复合校验时间信号。然后,脉冲串列的第一切换或者脉冲引起目标时钟域尺扣的读取以通过向校验时间寄存器中选通目标时钟域中的实时时钟的值来以下至目标时钟域周期时间的准确度确定目标时钟域的相位。在后继周期期间在游标寄存器中记录的滑移点然后用于精化校验时间值下至子周期分辨率。在实施方式中,所形成时间表示值存储于校验时间寄存器中用于与在相同校验时间时刻捕获的来自主控时钟域中的实时时钟的时间表示值比较并且据此确定调整。调整值可以在实施方式中用于调整目标RTC或者存储于寄存器中和用来在读取目标时钟域中的实时时钟时获得调整的时间表示。
[0056]现在转向图15,流程图描绘用于在网络设备中确定调整的时间表示的方法400的一个实施方式。时间戳单元接收关于分组开始(SOP)指示符的用于数据分组的时间表示(块405)。在实施方式中,SOP指示符被作为具有定义的比特模式的比特块或者作为边带信息被表示。时间戳单元也接收由调整单元生成的同步信号(块410)。同步信号在一些实施方式中是脉冲、但是在其它实施方式中是指示数值并且具体为如下数值的信号,该数值指示关联数据被移位的比特数目。在任何情况下,至少根据同步信号计算在时间表示所指示的时间与SOP指示符在串行化器/去串行化器单元作为串行数据被接收的时间之间的偏移(块415)。根据计算的偏移来确定调整的时间表示(块420),并且向数据分组关联、追力口、处理或者插入调整的时间表示作为时间戳(块425)。
[0057]在实施方式中,串行化器/去串行化器接收串行比特流并且将串行比特流转换成第一字宽度的系列并行字。第一字宽度的并行字由耦合到串行化器/去串行化器单元的调整单元接收,该串行化器/去串行化器单元变换字宽度和字速率,从而输出并行字宽度与符号或者块码单位的整数匹配。调整单元生成同步信号,该同步信号在实施方式中指示调整单元将当前输出字移位的比特数目。
[0058]参照图16,流程图描绘用于在网络设备中确定调整的时间表示的方法430的一个实施方式。时间戳单元接收关于分组开始(SOP)指示符的用于数据分组的时间表示(块435)。在实施方式中,SOP指示符作为具有定义的比特模式的比特块或者作为边带信息被表示。时间戳单元也接收由调整单元生成的同步信号(块440)。同步信号在一些实施方式中是脉冲、但是在其它实施方式中是指示数值并且具体为如下数值的信号,该数值指示关联数据被移位的比特数目。在任何情况下,至少根据同步信号计算在时间表示所指示的时间与SOP指示符将从串行化器/去串行化器单元作为串行数据被发送的时间之间的偏移(块445)。根据计算的偏移来确定调整的时间表示(块450)。并且向数据分组关联、追加、处理或者插入调整的时间表示作为时间戳(块455)。
[0059]在实施方式中,向调整单元发送具有关联、追加、处理或者插入的时间戳数据的数据分组作为第一字宽度的并行字数据。调整单元生成第二字宽度的并行字数据并且向串行化器/去串行化器单元发送第二字宽度的并行字数据,该串行化器/去串行化器单元传输数据分组作为串行数据。
[0060]注意时间代理122、132、208和222以及时间戳代理130、140、216和230尽管描绘为分组接口 120和206的部分、但是在一些实施方式中附加地或者备选地在网络设备的其它部分中被实例化。相似地,注意尽管在本说明书中描述和描绘时间控制块108为网络设备的部分,但是时间控制块在一些实施方式中是外部或者分立设备。
[0061]尽管以上已经结合具体装置和方法描述公开内容的原理,但是注意这一描述仅通过示例来进行而未作为对本发明的范围的限制。此外,可以在执行固件和/或软件指今的硬件、处理器或者计算机或者其任何组合中实施以上描述的各种块、操作和技术中的至少一些块、操作和技术。软件或者固件指令可以包括在存储器或者另一个或者多个计算机可读或者机器可读存储介质上存储的计算机可读或者机器可读指今,这些计算机可读或者机器可读指令在由处理器执行时使处理器执行各种动作。在硬件中实施时,硬件可以包括分立部件、集成电路、专用集成电路等中的一个或者多个。
[0062] 尽管已经参照旨在于仅举例说明而不限制本发明的具体示例描述本发明,但是可以对公开的实施例进行改变、添加和/或删除而未脱离本发明的范围。
【权利要求】
1.一种用于在网络设备中确定时间表示的方法,所述方法包括: 在所述网络设备处基于主控时钟域中的主控实时时钟接收与时间表示对应的主控步调信号,所述主控步调信号以第一频率被生成; 在所述网络设备的时间累加器中基于所述主控步调信号存放填充量的时间单位; 根据本地时钟信号将所述时间累加器中的所述时间单位减少泄漏量,所述本地时钟信号以比所述主控步调信号更高的频率运行;以及 在所述时间累加器中存放附加填充量的时间单位之前,基于在所述时间累加器中的时间单位的残留数目以与所述本地时钟信号的频率对应的粒度周期性地生成所述目标时钟域中的更新的时间表示。
2.根据权利要求1所述的方法,其中生成更新的时间表示包括从所述时间单位的残留数目确定调整值,使得所述目标时钟域中的所述更新的时间表示在所述本地时钟信号的周期内的希望的时刻有效。
3.根据权利要求1所述的方法,还包括: 将在所述时间累加器中累加的所述时间单位与上阈值和与下阈值进行比较;以及如果在所述时间累加器中累加的所述时间单位在所述上阈值以上或者在所述下阈值以下,则调整所述时间单位的泄漏量。
4.根据权利要求1所述的方法,其中: 接收主控步调信号包括接收指示周期性填充命令和周期性校验命令的复合信号;在所述网络设备的时间累加器中基于所述主控步调信号存放填充量的时间单位包括基于所述填充命令存放所述时间单位;以及 基于所述校验命令确定所述时间累加器中的所述时间单位的残留数目。
5.根据权利要求1所述的方法,其中在所述目标时钟域中的实时时钟中生成所述时间表示,以及其中所述泄漏量的值被目标域中的实时时钟用来根据所述本地时钟信号在每周期基础上递增所述时间表示。
6.一种网络设备,包括: 时间代理,配置为基于主控时钟域中的主控实时时钟接收与时间表示对应的主控步调信号,所述主控步调信号以第一频率被生成; 本地时钟,在目标时钟域中生成以比所述主控实时时钟信号更高的频率的本地时钟信号; 时间累加器,配置为:(1)基于所述主控步调信号累加时间单位并且向所述时间累加器添加填充量的时间单位,以及(11)根据所述本地时钟信号将累加的所述时间单位减少泄漏量; 所述目标时钟域中的实时时钟,配置为生成所述目标时钟域中的时间表示,所述目标时钟域中的所述实时时钟根据所述本地时钟信号和所述泄漏量递增所述目标时钟域中的实时表示;以及 校正逻辑,配置为在所述时间累加器中添加附加填充量的时间单位之前基于在所述时间累加器中的时间单位的残留数目周期性地并且以与所述本地时钟信号的频率对应的粒度生成所述目标时钟域中的更新的时间表示。
7.根据权利要求6所述的网络设备,其中所述校正逻辑被配置为从所述时间单位的残留数目确定调整值,使得所述目标时钟域中的所述更新的时间表示在所述本地时钟信号的周期内的希望的时刻有效。
8.根据权利要求6所述的网络设备,还包括: 逻辑,配置为将在所述时间累加器中累加的所述时间单位与上阈值和与下阈值进行比较;以及 伺服器,配置为:如果在所述时间累加器中累加的所述时间单位在所述上阈值以上或者在所述下阈值以下,则调整所述时间单位的泄漏量。
9.根据权利要求8所述的网络设备,其中所述伺服器被配置为:(1)从寄存器读取调整常数,(11)如果在所述时间累加器中累加的所述时间单位超过所述上阈值,则在正方向上将所述泄漏量调整所述调整常数,以及(111)如果在所述时间累加器中累加的所述时间单位降至所述下阈值以下,则在负方向上将所述泄漏量调整所述调整常数。
10.根据权利要求6所述的网络设备,还包括解码器,配置为接收所述主控步调信号并且从所述主控步调信号解码周期性填充命令和周期性校验命令;其中: 所述时间累加器被配置为基于所述填充命令添加所述填充量的时间单位,以及 所述校正逻辑被配置为基于所述校验命令确定所述时间累加器中的所述时间单位的残留数目。
11.一种用于在网络设备中确定时间的方法,所述方法包括: 在所述网络设备的目标时钟域中接收在具有主控时钟信号的主控时钟域中生成的校验时间信号; 对于所述校验时间信号的持续时间在本地时钟信号的每个周期期间向游标寄存器中选通所述校验时间信号的值; 在所述游标寄存器中对在所述校验时间信号与所述本地时钟信号之间的相移的指示进行定位;以及 根据所述游标寄存器中的所述相移的位置确定调整,使得在所述目标时钟域中生成的调整的时间表示准确到本地时钟子周期的精确程度。
12.根据权利要求11所述的方法,其中接收所述校验时间信号包括接收对于定义的数目的脉冲串列周期以定义的速率切换的脉冲串列信号。
13.根据权利要求12所述的方法,其中选择所述定义的速率和所述定义的数目的脉冲串列周期,使得在根据所述目标时钟域的目标时钟信号在所述目标时钟域中接收所述校验时间信号时,接收的信号将在所述校验时间信号期间呈现至少一个相移。
14.根据权利要求11所述的方法,还包括当在所述目标时钟域中接收所述校验时间信号的第一脉冲时,向校验时间寄存器中选通在所述目标时钟域中操作的实时时钟的值。
15.根据权利要求14所述的方法,还包括: 在寄存器中存储与所述调整对应的值;以及 将由所述实时时钟输出的时间表示调整存储的调整值以获得调整的时间表示。
16.—种网络设备,包括: 时间代理,配置为接收在具有主控时钟信号的主控时钟域中生成的校验时间信号; 本地时钟,在目标时钟域中的生成本地时钟信号; 所述目标时钟域中的实时时钟,配置为生成所述目标时钟域中的时间表示; 游标寄存器,配置为对于所述校验时间信号的持续时间在所述本地时钟信号的每个周期期间接收所述校验时间信号的值; 逻辑,配置为在所述游标寄存器中对在所述校验时间信号与所述本地时钟信号之间的相移的指示进行定位;以及 逻辑,配置为根据所述游标寄存器中的所述相移的位置确定调整,使得在所述目标时钟域中生成的调整的时间表示准确到本地时钟子周期的精确程度。
17.根据权利要求16所述的网络设备,还包括校验时间触发器,配置为接收和解释校验时间信号,所述校验时间信号至少包括用于选通所述目标时钟域中的所述实时时钟的命令。
18.根据权利要求16所述的网络设备,还包括: 校验时间寄存器;以及 校验时间触发器,配置为在激发所述触发器时向所述校验时间寄存器中选通所述目标域中的所述实时时钟的值。
19.根据权利要求16所述的网络设备,还包括: 寄存器,配置为存储与所述调整对应的值;以及 逻辑,配置为将所述时间表示调整存储的调整值以获得调整的时间表示。
20.根据权利要求16所述的网络设备,还包括所述目标时钟域中的第二实时时钟,配置为生成所述目标时钟域中的第二格式的第二时间表示。
21.根据权利要求16所述的网络设备,还包括所述目标域中的第二实时时钟,配置为生成所述目标时钟域中的第二格式的第二时间表示和第三格式的第三时间表示。
22.—种装置,包括: 串行化器/去串行化器单元; 调整单元,耦合到所述串行化器/去串行化器单元并且配置为生成指示所述调整单元的循环延迟变化的同步信号; 时间代理单元,生成时间表示; 时间戳单元,耦合到所述调整单元和到所述时间代理单元并且配置为接收所述同步信号并且计算在(1)与(11)之间的偏移,(1)为与检测到30?指示符并行接收的时间表示,(11)为与分组中的与时间戳关联的具体比特在串行比特流中被发送或者接收的时间对应的时间表不。
23.根据权利要求22所述的装置: 其中所述调整单元接收具有第一字宽度的并行数据字并且以与接收的并行字的频率不同的频率生成具有与所述第一宽度不同的第二宽度的并行数据字。
24.根据权利要求22所述的装置,其中所述调整单元包括具有可变传播延迟的变速箱?1?0,以及其中所述时间戳单元被配置为根据接收的同步信号和所述可变传播延迟计算所述偏移。
25.根据权利要求22所述的装置,其中所述调整单元向所述串行化器/去串行化器单元发送并行数据字,以及 其中所述时间戳单元计算所述偏移,使得在所述数据到达所述串行化器/去串行化器单元之前插入的时间戳包括与所述分组中的与所述时间戳关联的具体比特在串行比特流中从所述串行化器/去串行化器被发送的所述时间对应的所述时间表示。
26.根据权利要求22所述的装置,其中所述调整单元从所述串行化器/去串行化器单元接收并行数据字,以及 其中所述时间戳单元计算所述偏移,使得在所述数据在所述调整单元被接收之后插入的时间戳包括与所述分组中的与加时间戳关联的具体比特在串行比特流中在所述串行化器/去串行化器被接收的所述时间对应的所述时间表示。
27.根据权利要求22所述的装置,其中所述时间戳单元被配置为生成包括调整的时间表示的时间戳,所述调整的时间表示准确至在所述时间戳单元在其中操作的时钟域中的时钟信号的周期的分数内。
28.根据权利要求22所述的装置,其中所述时间戳单元被配置为计算如下偏移,所述偏移包括为了生成校验和值所需要的时间。
29.—种在网络设备中确定调整的时间表示的方法,所述方法包括: 在时间戳单元处接收用于包括分组开始(切?)指示符的数据分组的时间表示; 在所述时间戳单元处接收在调整单元处生成的同步信号; 根据至少所述同步信号计算在由所述时间表示所指示的时间与所述分组中的与加时间戳关联的具体比特在串行化器/去串行化器单元处作为串行数据被接收的时间之间的偏移; 根据计算的所述偏移生成调整的时间表示;以及 将指示所述调整的时间表示的时间戳数据关联至、追加至、处理至或插入至所述数据分组。
30.根据权利要求29所述的方法,还包括: 在所述串行化器/去串行化器单元处接收所述串行比特流; 使用所述串行化器/去串行化器单元将所述串行比特流转换成第一字宽度的系列并行字; 在耦合到所述串行化器/去串行化器单元的调整单元处接收所述第一字宽度的所述并行字; 由所述调整单元生成宽度和频率与接收的所述第一字宽度的所述并行字的宽度和频率不同的并行字的流;以及 在所述调整单元中生成所述同步信号。
31.根据权利要求29所述的方法,其中接收在调整单元处生成的同步信号包括接收在变速箱?1?0处生成的同步信号,所述变速箱?1?0接收第一字宽度的并行字数据作为输入和生成第二字宽度的并行字数据作为输出。
32.根据权利要求31所述的方法,其中根据至少所述同步信号计算所述偏移包括根据至少所述第一字宽度的所述并行字数据被接收到所述变速箱中的频率和所述第二字宽度的所述并行字数据被所述变速箱输出的频率的相对频率计算所述偏移。
33.一种在网络设备中确定调整的时间表示的方法,所述方法包括: 在时间戳单元处接收用于包括分组开始(切?)指示符的数据分组的时间表示; 在所述时间戳单元处接收在调整单元处生成的同步信号; 根据至少所述同步信号计算在由所述时间表示所指示的时间与所述分组中的与加时间戳关联的具体比特将从串行化器/去串行化器单元作为串行数据被传输的时间之间的偏移; 根据计算的所述偏移生成所述调整的时间表示;以及 将指示所述调整的时间表示的时间戳数据关联至、追加至、处理至或插入至所述数据分组。
34.根据权利要求33所述的方法,还包括: 向调整单元发送具有追加的时间戳的所述数据分组; 在所述调整单元处接收所述数据分组作为第一字宽度的并行字数据; 生成第二字宽度的并行字数据; 向所述串行化器/去串行化器单元发送所述第二字宽度的所述并行字数据; 从所述串行化器/去串行化器单元作为串行数据发送所述数据分组。
35.根据权利要求33所述的方法,其中接收在调整单元处生成的同步信号包括接收在变速箱?1?0处生成的同步信号,所述变速箱?1?0接收第一字宽度的并行字数据作为输入和生成第二字宽度的并行字数据作为输出。
36.根据权利要求35所述的方法,其中根据至少所述同步信号计算所述偏移包括根据至少所述第一字宽度的所述并行字数据被接收到所述变速箱中的频率和所述第二字宽度的所述并行字数据被所述变速箱输出的频率的相对频率计算所述偏移。
【文档编号】H04J3/06GK104380632SQ201380031438
【公开日】2015年2月25日 申请日期:2013年6月26日 优先权日:2012年6月26日
【发明者】T·豪林 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1