CN113868166A - 自适应请求应答系统、方法、设备和计算机介质 - Google Patents

自适应请求应答系统、方法、设备和计算机介质 Download PDF

Info

Publication number
CN113868166A
CN113868166A CN202111177494.7A CN202111177494A CN113868166A CN 113868166 A CN113868166 A CN 113868166A CN 202111177494 A CN202111177494 A CN 202111177494A CN 113868166 A CN113868166 A CN 113868166A
Authority
CN
China
Prior art keywords
data
time
applying
frequency
threshold value
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.)
Granted
Application number
CN202111177494.7A
Other languages
English (en)
Other versions
CN113868166B (zh
Inventor
曾昭贵
张楠
张延苏
钟于义
代开勇
潘于
吴海建
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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202111177494.7A priority Critical patent/CN113868166B/zh
Publication of CN113868166A publication Critical patent/CN113868166A/zh
Application granted granted Critical
Publication of CN113868166B publication Critical patent/CN113868166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0004Parallel ports, e.g. centronics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供自适应请求应答系统、方法、设备和计算机介质,其中系统包括:请求应答延时测量装置,在当前数据申请周期中测量请求应答延时,即从向上级系统申请数据直到返回数据的时间;数据驻留时间测量装置,在当前周期中测量数据驻留时间,即从返回的数据在缓冲器中驻留直到从缓冲器输出的时间;有效数据率测量装置,在当前周期中测量有效数据率,即在缓冲器中的作为返回的数据的有效数据量与包括有效数据量和空数据量的总数据量的比率,空数据是在总数据量小于或等于第一预定阈值的情况下写入到缓冲器中的;控制装置,被配置为根据请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的申请数据的时间或频次。

Description

自适应请求应答系统、方法、设备和计算机介质
技术领域
本公开涉及集成电路领域,且更具体地,涉及应用于串行器-解串器SERDES的自适应请求应答系统、方法、设备和计算机可读介质。
背景技术
随着半导体工艺的日趋成熟。超大规模集成电路迅猛发展。但传统的单核处理器性能与当前亟待研究的计算密集型应用需求、如核能开发、宇宙空间探索、以及炙手可热的人工智能之间仍存在不可逾越的鸿沟。因此,计算机体系结构逐渐由单核向多核、众核、多片发展。业内的同构多核、异构多核、多片系统逐渐成为芯片设计的必然趋势。在此背景下,如何准确、高效地、实时地传输数据,成为多核、多片系统中至关重要的技术重心与设计难点。在片间数据交换方面,有两点是评估重点:1.高带宽及其有效载荷;2.低延时。业内普遍使用高速串行器-解串器SERDES为载体的协议(比如外围组件互连扩展(peripheralcomponent interconnect express,PCIE)协议、计算扩展链接(Compute Express Link,CXL)协议)进行数据的交换。为了降低数据延时,业内各大公司亦推出了自有改进协议。
仍需要满足高带宽及其有效载荷、低延时的性能的系统设计。
发明内容
根据本公开的一个方面,提供一种应用于串行器-解串器SERDES的自适应请求应答系统,包括:请求应答延时测量装置,被配置为在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;数据驻留时间测量装置,被配置为在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;有效数据率测量装置,被配置为在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;控制装置,被配置为根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
根据本公开的另一个方面,提供一种应用于串行器-解串器SERDES的自适应请求应答方法,包括:在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
根据本公开的另一个方面,提供一种应用于串行器-解串器SERDES的设备,包括:处理器;存储器,存储了计算器可执行指令,其被处理器运行时进行如本公开所述的各个方法。
根据本公开的另一个方面,提供一种计算机可读介质,存储有计算机可读指令,其中当所述计算机可读指令由处理器运行时,进行如本公开所述的各个方法。
本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了集成电路中的上级系统通过SERDES将数据转换成串行信号发送的示意图。
图2示出了现有技术中的请求应答系统的结构示意图。
图3示出了根据本公开的实施例的一种应用于串行器-解串器SERDES的自适应请求应答系统的方框图。
图4A示出了在所述请求应答延时增大的程度超过一个或多个数据申请周期的情况下在过了一个或多个数据申请周期的下一个数据申请周期中、控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次的情况下的申请数据频次的示意图。
图4B示出了是包括10个时钟周期的一个读周期或数据申请周期中读7个时钟周期、空3个时钟周期的示意图。
图5示出了根据本公开的实施例的应用于串行器-解串器SERDES的自适应请求应答方法的流程图。
图6A示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤的一个实施例的流程图。
图6B示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤的另一个实施例的流程图。
图6C示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤的另一个实施例的流程图。
图7示出了适于用来实现本公开实施方式的示例性计算机系统的框图。
图8示出了根据本公开的实施例的非暂时性计算机可读存储介质的示意图。
具体实施方式
现在将详细参照本公开的具体实施例,在附图中例示了本公开的例子。尽管将结合具体实施例描述本公开,但将理解,不是想要将本公开限于描述的实施例。相反,想要覆盖由所附权利要求限定的在本公开的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
SERDES是英文SERializer(串行器)/DESerializer(解串器)的简称。在SERDES流行之前,芯片之间的互联通常通过系统同步或者源同步的并行接口传输数据。但是,随着信号传输的数据量和速率越来越高,并行信号受数据和时钟信号偏斜(skew)、时钟周期抖动(jitter)、同步开关噪声等的限制,信号速率很难提升。
而SERDES是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。串行信号具有功耗低、抗干扰强、速度快的特点。SERDES在接收端集成了时钟数据恢复(Clock Data Recovery,CDR)电路,利用CDR从数据的边沿信息中抽取时钟,并找到最优的采样位置。因此,SERDES不传送时钟信号,也能在接收端抽取时钟。因此,这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号的传输速度,从而大大降低通信成本。
图1示出了集成电路中的上级系统通过SERDES将数据转换成串行信号发送的示意图。
如图1所示,集成电路中的上级系统101可以通过SERDES 104将数据转换成串行信号发送出去,但是上级系统101的数据不是时时刻刻有效或者上级系统不一定时时刻刻都有数据要发送,但SERDES 104不论是否有数据或接收的数据是否有效,其发送的数据必须是连续的,当上级系统101的数据无法填满SERDES的带宽时,此时会插入空包(空数据),以保证发送的数据是连续的。
为了降低空包的插入,需要请求应答系统102进行数据的调度。请求应答系统102中的缓冲器103可以暂存数据,缓冲器103的读写时钟是异步时钟。即缓冲器103以一个时钟来接收数据,并可以以不同的另一时钟来发出数据。当上级系统101有数据需要发送时,请求应答系统102将控制何时向上级系统102请求数据。当上级系统101有数据应答时,将应答数据写入缓冲器103,等待SERDES 104发送;当上级系统101没有数据应答时,且缓冲器103即将空时,请求应答系统102需要向缓冲器103写入空包,以保证SERDES 104发出的数据连续。在此机制的基础上,需要满足上述高带宽及其有效载荷、低延时的性能。
在现有技术中,根据经验设定一套固定的寄存器值或仅依据缓冲器输入和输出两侧的时钟倍数来管理请求应答系统的请求和应答,管理数据的收发。
结合图2来说明现有技术的这种设置。图2示出了现有技术中的请求应答系统的结构示意图。
如图2所示:
1.请求应答系统200中的请求产生器根据缓冲器205内暂存的数据量以及寄存器配置(或时钟倍数比较器)203,当数据量小于阈值时,向上级系统201发送数据请求.
2.上级系统201接收到请求后将有效数据data_valid返回给数据混合器204。
3.数据混合器204将接收到的有效数据发送到缓冲器205用于暂存数据以便稍后从缓冲器205发送到SERDES 206。当缓冲器205将要为空时,数据混合器204会被插入空包以发送到缓冲器205用于暂存该空包,以便稍后从缓冲器205发送到SERDES 206。
4.寄存器配置或时钟倍数比较器203是通过软件配置要求请求发生器202发出数据请求的固定周期(或对比缓冲器205两侧(写入和读出)的时钟偏差得到一个固定值)送给请求产生器202。
5.请求产生器202以该固定周期向上级系统201发出数据请求,但在缓冲器205将要溢出时会暂停申请数据。
在一个具体例子中,上级系统201工作在1GHz时钟下,SERDES 206工作在0.7GHz下,也就是说,上级系统201发送数据的频率与SERDES 206发送数据的频率的比率是10:7。如果按上级系统201发送频率的频率来向上级系统201请求数据,则由于SERDES 206发送数据的频率较慢,缓冲器暂存的数据会随着时间逐渐变满,甚至溢出。为了保持缓冲器中的数据的平衡,现有技术通常会将寄存器配置203中存储的配置设置为:请求产生器202在70%的时间发请求,30%时间不发请求。在理想状态下,这个配置会使得缓冲器205输入和输出两边的数据是平衡的。
但在实际系统中,一方面,从申请发出到数据回来有延时,比如根据经验预计这个延时是10个时钟周期,那正确的做法是看到缓冲器205里还剩接近15个数据的时候去申请(因为缓冲器需要至少有5个数据缓存防止读空),现有的系统只能给这个延时一个固定值(寄存器配置或者按时钟倍数得到一个值),而无法实时跟踪更新。不同系统或同一系统在不同工作场景和时间段中的这个延时都会不一样。
另外一方面,实际系统并不是发出了数据请求就一定能返回同等数据,由于上级系统自己产生数据的情况,最后返回的数据量可能会比申请的数据量少,因此按固定值来申请数据可能会导致返回的数据量过少,而缓冲器变为空,需要插入空包。在这种情况下,又希望提高请求发送的时间比例或频次,比如提到75%,即在75%的时间内发出请求,如此可以增加发出请求的频次。在时间比例或频次提高以后,返回的数据量又可能会增加得过多(存在一种可能,例如,75%的数据即使不加空包已经大于SERDES 206的需求)。当然,可以在缓冲器要溢出时候停止发送请求,但提高时间比例或频次仍然会有问题,例如会增加数据在缓冲器205里的驻留时间,而在内存一致性要求的系统里对数据传输时间有要求的,不期望驻留时间过长。
因此现有技术的请求应答系统存在诸多问题,例如:
1、现有技术用寄存器配置(或时钟倍数比较器)去预先决定申请数据的时机,但是针对不同系统或者同一个系统在不同工作情景甚至不同的时间中,预设的固定申请数据的时机无法满足多变的情况。
2、如果要保证数据低延时,可以通过降低预先从上级系统取回的数据量,但是在取回的数据量过少的情况下,为了填满SERDES带宽,又会过多地插入空包,导致SERDES的实际有用带宽降低。
3、如果要保证SERDES的实际有用带宽,可以通过提高预取的数据量,但是,数据在缓冲器中的驻留时间可能显著增加,最终导致数据延时明显增加,会最终影响对内存一致性有要求的系统的运行效率。
在实际应用中,请求产生器向上级系统发送数据请求后,数据应答的延时不是固定不变的。现有的方案要么偏侧于带宽利用率,要么偏侧于降低数据在缓冲器中的延时。但是偏侧一个方面必然会损坏另外一个方面的性能。本公开公开的方案要解决现有技术中请求产生器的固定配置不能同时动态满足高带宽利用率和低延时的问题,设计了一套实时自反馈的自适应请求应答系统,使得带宽和延时都能达到最佳。
本公开的实施例公开了一种应用于高速SERDES的自适应的匹配延时的请求应答系统,目的是低延时和带宽利用率都达到最佳,该系统利用如下技术,包括:自动实时跟踪;测量和统计系统请求和应答之间的延时;自动实时评估带宽有效利用率和数据驻留延时;自动反馈调整系统请求的时机。
本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
接下来结合附图来详细描述本公开的各个实施例。
图3示出了根据本公开的实施例的一种应用于串行器-解串器SERDES 306的自适应请求应答系统300的方框图。
如图3所示,自适应请求应答系统300包括:请求应答延时测量装置307,被配置为在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统301申请数据直到上级系统301返回数据的时间;数据驻留时间测量装置308,被配置为在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器305中驻留直到从缓冲器305向SERDES 306输出的时间;有效数据率测量装置309,被配置为在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器305中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器305中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;控制装置304,被配置为根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统301申请数据的时间或频次。
如图3所示,在运行过程中,请求产生器302在当前数据申请周期中,根据缓冲器305内暂存的数据量情况向上级系统301申请数据,例如当数据量小于最小数据量阈值(作为第一预定阈值)时,向上级系统301发送请求,以避免缓冲器305变空。
然后,上级系统301在接收到请求后向数据混合器304返回有效数据。
如果有效数据无法从上级系统301及时返回到数据混合器304,此时,通过数据混合器304插入空包,以保证后续SERDES 306发送串行数据的连续性与完整性,因为SERDES306用串行线同时传输数据和时钟,不能停歇。缓冲器305用于暂存数据混合器304混合好的数据。
对于延时不敏感的系统,有效数据在缓冲器305中暂存的越多越好,因为这样可以提高有效数据率。而缓冲器305不满就可向上级系统301申请数据,这样插入的空包几率小,提高了有效数据率,但不可避免地,导致数据在缓冲器305中暂存的时间较长。
对于延时敏感的系统,有效数据在缓冲器305里暂存的时间越短越好,因为需要保证接收到有效数据后尽快从SERDES 306发出。但向上级系统301申请数据后存在返回数据应答延时,往往需要插入更多的空包,导致SERDES 306发出的有效载荷降低,即有效数据率降低。
在该实施例中,请求应答延时测量装置307在当前数据申请周期中,实时监控和测量每次请求产生器302发送请求后,上级系统301的应答延时,并将测量的请求应答延时结果传送至控制装置304。
有效数据率测量装置309在当前数据申请周期中根据数据混合器304中对插入空包的比率进行监控和测量,计算有效数据量与总数据量的比率作为有效数据率,其中总数据量包括所述有效数据量和空包的数据量。有效数据率测量装置309将该测量的有效数据率传递至控制装置304。
数据驻留时间测量装置308在当前数据申请周期中可以根据缓冲器305中数据的指针的更新变化来监控和测量数据在缓冲器305中的驻留时间(即从返回的数据在缓冲器305中驻留直到从缓冲器305向SERDES 306输出的时间),将该测量的数据驻留时间传递至控制装置304。例如,可以通过缓冲器中存在的写指针(写地址)和读指针(读地址),来间接测量某个数据从进缓冲器到出缓冲器时间。缓冲器地址例如是0~N循环的(N为正整数),正常运行时缓冲器不读空(underflow)、不溢出(overflow)。因此,通常都是读指针追赶写指针,即它俩的距离越长,则数据的驻留时间越长,反之,它俩的距离越短,则驻留时间就短。
控制装置304根据请求应答延时测量装置307、有效数据率测量装置309和数据驻留时间测量装置308监控和测量请求应答延时、有效数据率、数据驻留时间中的至少一种,来判断出当前的带宽利用率和/或延时性能,将控制反馈给请求产生器302,以控制在下一数据申请周期中的向上级系统301申请数据的时间或频次。
如此,能够根据在当前数据申请周期中实时监测和测量的上述各种信息,来实时地反馈以控制在下一数据申请周期中的申请数据的时间或频次,从而避免设置固定的申请数据的时间或频次而导致的问题。
当请求应答延时增大或大于相应的阈值时,应当在下一数据申请周期中适当提前发起申请数据请求,或增加申请数据的频次,反之亦然;当有效数据率降低时,应当在下一数据申请周期中适当提前发起申请数据请求,或增加申请数据的频次,反之亦然;当数据驻留时间过长时,应当在下一数据申请周期中适当延后发起申请数据请求,或降低申请数据的频次,保障申请到的数据从SERDES发出的低延时,反之亦然;或者将这些因素综合考虑,设定一些阈值。
例如,控制装置304收集的因子包括:请求应答延时测量307装置得到的请求到返回数据的请求应答延时(D)、有效数据率测量装置309得到的有效数据率(P)、数据驻留时间测量装置308得到的数据在缓冲器中驻留的时钟周期数(T)作为数据驻留时间、和可选的、缓冲器305中的数据量(W)。
在正常情况下,缓冲器中的数据量W是一个固定值,即缓冲器不存在溢出的情况、也不存在读空的情况,加W因子只是为了多一重保护。
缓冲器中的数据量W需要维持一个固定的值,这个值保证了一方面缓冲器不至于被读空,另外一方面数据在缓冲器中的驻留时间在期待范围内;当申请的数据没有足够的有效数据的回来时候,会插入空包,比如申请10个数据,只返回来8个数据,数据混合器得插入2个空包,而且如果申请发出后在预期的时间内数据还没有回来,数据混合器也会开始插入空包,所以请求应答延时D也会影响空包的插入。刚开始在训练阶段可以用逼近法找到缓冲器中的数据量W的最小值,它的水位越高,越不可能读空,但数据在缓冲器里的驻留周期T就会增加。而有效数据率P越低,表示单位时间插入的空包越多,这个时候期望更多的有效数据,需要增大申请的时间比率。
具体地,对于请求应答延时D、有效数据率P、时钟周期数T、和可选的、缓冲器305中的数据量W的增大和减小对控制装置304做出的控制的影响将在如下详细描述。
在一个实施例中,所述控制装置304被配置为:在所述请求应答延时D增大的情况下,控制在下一数据申请周期中向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
在这里,预设时间可以是根据经验设定一套固定的寄存器值或仅依据缓冲器的输入端和输出端两侧的时钟比率、按固定不变的周期、在下一数据申请周期中申请数据的时间。
或者预设时间可以是当缓冲器中的总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于第一预定阈值(不得不插入空包的最小数据量阈值)。也就是说,这里的第二预定阈值是由于从数据申请发出到数据返回有延时而设置当在缓冲器中的数据量小于第二预定阈值时、就要去申请数据的阈值。
如先前举例的例子,上级系统工作在1GHz时钟下,SERDES工作在0.7GHz下,也就是说,上级系统发送数据的频率与SERDES发送数据的频率的比率是10:7。现有技术通常会将寄存器配置中存储的配置设置为:请求产生器在70%的时间发请求,30%时间不发请求。但是从申请发出到数据回来有延时,比如根据经验预计这个延时是10个时钟周期,那正确的做法是看到缓冲器里还剩接近15个数据的时候去申请(因为缓冲器需要至少有5个数据缓存防止读空)。这里提到的15个数据即可以视为是该第二预定阈值。而第一预定阈值、即数据量低于多少的时候要插入空包,可以设置为5,即设定缓冲器中的数据的最低水位是5个数据(因为如上所述缓冲器需要至少有5个数据缓存防止读空),低于5个数据就要插入空包,以避免由于种种原因而导致中断。当然第一预定阈值也可以设置为0,即当缓冲器为空时再插入空包。
当然上述第一预定阈值和第二预定阈值仅为示例,事实上,还可以根据实际情况来设置各种第一预定阈值和第二预定阈值。
在一个实施例中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大。所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
例如,在所述请求应答延时D增大或大于相应的阈值的情况下,即请求应答延时D延长了,为了保持缓冲器中的数据量W一个最低水位要求,没有返回数据的时候会插入空包。比如要求缓冲器中的数据量W最低水位是5(即第一预定阈值为5),当少于15个数据(即第二预定阈值为15)时去申请10个数据,如果数据在缓冲器发送10个数据时间之内返回,缓冲器不需要插入空包就能保持平衡,但如果请求应答延时D变长了,例如缓冲器读到只剩5个数据、但申请的数据仍回不来,则对数据延时不敏感的系统可以提早申请数据,比如在缓冲器中的数据量W少于20个(即增大了第二预定阈值)就去申请,虽然增加了数据在缓冲器中暂存的时间,但是可以减少插入空包的次数以提高有效数据率;对数据延时敏感的系统可以增加申请数据时间比例、即申请频次,也可以起到提高有效数据率的作用。即,在一个实施例中,在对与所述SERDES接口的下级系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;在对与所述SERDES接口的下级系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。在此,下级系统指的是SERDES接口输出的串行数据要发往的目的地系统。
反之,在另一实施例中,所述控制装置被配置为:在所述请求应答延时D减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
首先,请求应答延时D减小有可能正是想要的结果,例如本来就希望申请数据后很快收到返回的数据,而数据在缓冲器中驻留的时钟周期数T(数据驻留时间)并没有增加,此时,可以不改变向上级系统申请数据的时间和频次,因为这样的结果是期望的。
但是,也可能所述请求应答延时D减小并非是期望的,例如减小得太多,则由于数据在被申请后太快返回到缓冲器中了,可能使得数据短时间内无法从缓冲器中送出到SERDES,因此数据在缓冲器中驻留的时钟周期数T(数据驻留时间)会增加,此时,对于某些对延时敏感的系统(希望申请数据后尽快从SERDES发出),则并不是期望的。在这种情况下,则需要控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次以减少数据驻留时间T。即,在所述请求应答延时D减小或小于相应的阈值且所述数据驻留时间T增大或大于相应的阈值的情况下,控制装置304控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
在一个实施例中,在所述请求应答延时D增大的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
例如,在一个数据申请周期申请了7个数据,最早的一个期待在请求应答延时D个周期后到达,如果到达不了,为了保持缓冲器的数据量W不得不插入空周期(比如迟了两周期,插入了两个空包)。但最后这7个数据还是会回来,只要回来就得接收。这样在下一个数据申请周期,可能会在缓冲器中存储9个数据,例如当前接收的2个数据加上2个周期前申请的7个数据,则缓冲器的数据量W、数据驻留时间T就会增加,有效数据率P会下降。因此在过了接收9个数据的周期之后,可以下次降低向上级系统申请数据的频次,例如缩减2个时钟周期,使得申请5个数据。如图4A所示,图4A示出了在所述请求应答延时D增大的程度超过所述一个或多个数据申请周期的情况下在过了所述一个或多个数据申请周期的下一个数据申请周期中、控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次的情况下的申请数据频次的示意图。
在一个实施例中,在所述数据驻留时间T增大或大于相应的阈值的情况下,控制装置304控制在下一数据申请周期中向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。因为数据驻留时间T增大,说明数据太快被返回到缓冲器中,或者说申请数据的频次太多了,导致缓冲器没法及时将数据送出到SERDES,在这种情况下,希望向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次,以便减少缓冲器中暂存的数据。
反过来,在一个实施例中,在所述数据驻留时间T减小或小于相应的阈值的情况下,控制装置304不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
首先,数据驻留时间T减小有可能正是想要的结果,例如本来就由于数据驻留时间T过长而希望更晚申请数据或更少频次地申请数据,此时,可以不改变向上级系统申请数据的时间和频次,因为这样的结果是期望的。即,在所述请求应答延时D减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率P增大或大于相应的阈值的情况下,控制装置304控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次。
但是,也可能数据驻留时间T减小并非是期望的,例如减小得太多,例如由于有效数据在缓冲器中暂存得太少,导致数据有效率降低,此时,这并不是期望的。在这种情况下,则需要控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次,以提高数据有效率。即,在所述有效数据率P减小或小于相应的阈值(例如P<90%)且所述数据驻留时间T减小或小于相应的阈值(T<6)的情况下,控制装置304控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次(例如增加2%)。
在一个实施例中,在所述有效数据率P减小或小于相应的阈值的情况下,控制装置304控制在下一数据申请周期中向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。有效数据率P减小表示缓冲器中插入的空包变多,即从上级系统返回的数据太少,因此控制在下一数据申请周期中向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次,可以增加从上级系统返回的数据,以提高有效数据率P。
在一个实施例中,在所述有效数据率P减小或小于相应的阈值(例如P<90%)且所述数据驻留时间T增大或大于相应的阈值(例如T>6)的情况下,如果有效数据率P减小的程度比所述数据驻留时间T增大的程度大(如Delta(P)>Delta(T)),则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次。这是因为如果有效数据率P减小得太快,说明空包插入太多,此时需要提前申请有效数据或增加申请有效数据的频次(例如增加1%)。
而如果有效数据率P减小的程度比所述数据驻留时间T增大的程度小(如Delta(P)<Delta(T)),则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次(例如降低1%)。这时因为,如果数据驻留时间T增大得过快,则不利于对延时敏感的系统及时发出申请的数据,此时需要延后申请有效数据或减少申请有效数据的频次。
反过来,在另一实施例中,在所述有效数据率P增大或大于相应的阈值的情况下,可以不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
首先,有效数据率P增大(例如P>90%)有可能正是想要的结果,例如本来就希望增加有效数据率P而减少空包的插入,此时,且数据驻留时间T不大(例如T<6),可以不改变向上级系统申请数据的时间和频次,因为这样的结果是期望的。即,在所述有效数据率P增大(例如P>90%)且所述数据驻留时间T不变或减小(例如T<6)的情况下,控制装置304控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次。
但是,也可能有效数据率P增大并非是期望的,例如增大得太多,例如由于有效数据在缓冲器中暂存得太多,会导致数据驻留时间过长(例如P>90%且T>6),此时,这并不是期望的。在这种情况下,则需要控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次(例如降低2%),以提高数据有效率。即,在所述有效数据率P增大或大于相应的阈值且所述数据驻留时间T增大或大于相应的阈值的情况下,控制装置304控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
在一个实施例中,所述控制装置304可以被配置为:基于请求应答延时D、数据驻留时间T、有效数据率P中的至少一种的各自的权重,获得综合信息分数;在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
例如,期望请求应答延时D小、数据驻留时间T短、有效数据率P大,此时可以设置D的权重为负,T的权重为负,P的权重为正,获得综合分数,在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。而反之,在综合信息分数小于预定分数阈值的情况下,需要控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次。
又或者,期望请求应答延时D小、数据驻留时间T短、有效数据率P大,此时可以设置D的倒数的权重为正,T的倒数的权重为正,P的权重为正,获得综合分数,在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。而反之,在综合信息分数小于预定分数阈值的情况下,需要控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次。
除上述举例的例子以外,还有其他基于请求应答延时D、数据驻留时间T、有效数据率P中的至少一种来控制向上级系统申请数据的时间或向上级系统申请数据的频次的实施例,在此,不一一描绘,这些实施例也被包括在本公开中。
也就是说,以上基于实时监测的请求应答延时、数据驻留时间、有效数据率中的至少一种、例如一种、两种或三种来自动实时控制和调整向上级系统申请数据的时间或向上级系统申请数据的频次,能够避免人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,降低系统的延时。
另外,上述提到了对应于各个测量值的“相应的阈值”,例如请求应答延小于相应的阈值、所述请求应答延时大于相应的阈值、数据驻留时间小于相应的阈值、数据驻留时间大于相应的阈值、有效数据率小于相应的阈值、有效数据率大于相应的阈值等,表示这些阈值是与各个测量值相对应的,并不能认为这些阈值都是同一阈值或数值相同。而是它们可以根据具体的情况来具体地设置。例如,“有效数据率小于相应的阈值”中的阈值可以是90%,而“有效数据率大于相应的阈值”中的阈值可以是95%,两个阈值可以不相等。另外,例如“数据驻留时间小于相应的阈值”中的阈值可以是6,例如“数据驻留时间大于相应的阈值”中的阈值可以是8等等。这些阈值可以根据实际需要来不同地设计。
下面介绍在训练阶段缓冲器的数据量W的最小值(第一预定阈值)以及申请数据的频次的初始值的设置过程。
具体地,所述第一预定阈值和申请数据的频次的初始值可以通过如下步骤确定的:在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值时,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率。
例如,寄存器会设定一个初始值W=Register_Water_Level,
按照缓冲器输入和输出的时钟比率设定读有效周期,这里假设缓冲器的输入端时钟是1G Hz,输出端时钟是0.7G Hz,缓冲器的输出端时钟和输入端时钟的比率为0.7:1。理论上每10个时钟周期(后面称为:一次读周期、或一个数据申请周期)中,只需要申请(或读上级系统的)数据7个读有效周期就够了,即,10*(0.7:1)=7,如图4B所示。图4B示出了是包括10个时钟周期的一个读周期或数据申请周期中读7个时钟周期、空3个时钟周期的示意图。即,缓冲器的数据量W的初始值为7。但实际由于一方面可能请求应答延时D会变化,另外一方面返回的数据个数可能小于或等于7。因此一般情况最后要求申请的数据个数会大于7。下面介绍如何确定缓冲器的数据量W的实际最小值、即第一预定阈值。
最开始,向上级系统申请初始W个数据,例如7。通过测量上级系统返回数据的时间,可以测量出请求应答延时D的初始值,同时可以给缓冲器一个初始的水位W,例如7个数据。
然后,逼近W的最小值。步骤如下:
在一个数据申请周期中:
如果缓冲器不为空:
在下一个数据申请周期中少申请一个数,意味着W减一,具体到这个例子W从7变为6,即读6个时钟周期、空4个时钟周期。
如果缓冲器会空
在下一个数据申请周期中多申请一个数,意味着W加一,跳出初始化,具体到这个例子W从7变为8,即读8个时钟周期、空2个时钟周期。该W加一的值、即8作为最小W值,得到与最小W值8相匹配的取数时钟周期数8、即申请数据的频次的初始值。
然后,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,可以测量此时的请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率。可以将之后测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小。或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
如此,本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
图5示出了根据本公开的实施例的应用于串行器-解串器SERDES的自适应请求应答方法的流程图。
如图5所示,应用于串行器-解串器SERDES的自适应请求应答方法500包括:步骤501,在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;步骤502,在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;步骤503,在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;步骤504,根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
如此,能够根据在当前数据申请周期中实时监测和测量的上述各种信息,来实时地反馈以控制在下一数据申请周期中的申请数据的时间或频次,从而避免设置固定的申请数据的时间或频次而导致的问题。
图6A示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504的一个实施例的流程图。
在一个实施例中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504包括:步骤5041,在所述请求应答延时增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;步骤5042,在所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;步骤5043,在所述有效数据率减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
在一个实施例中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504包括:步骤5044,在所述请求应答延时减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;步骤5045,在所述数据驻留时间减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;步骤5046,在所述有效数据率增大或大于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
图6B示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504的另一个实施例的流程图。
在一个实施例中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504包括:步骤5041’,在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;步骤5042’,在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率增大或大于相应的阈值的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;步骤5043’,在所述有效数据率减小或小于相应的阈值且所述数据驻留时间减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;步骤5044’,在所述有效数据率增大或大于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;步骤5045’,在所述有效数据率增大或大于相应的阈值且所述数据驻留时间不变或减小的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;步骤5046’,在所述有效数据率减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度大,则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度小,则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;步骤5047’,在所述请求应答延时增大或大于相应的阈值的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
图6C示出了根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504的另一个实施例的流程图。
在一个实施例中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次的步骤504包括:步骤5041”,基于请求应答延时、数据驻留时间、有效数据率中的至少一种的各自的权重,获得综合信息分数;步骤5042”,在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;步骤5043”,在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
除上述举例的例子以外,还有其他基于请求应答延时、数据驻留时间、有效数据率中的至少一种来控制向上级系统申请数据的时间或向上级系统申请数据的频次的实施例,在此,不一一描绘,这些实施例也被包括在本公开中。
也就是说,以上基于实时监测的请求应答延时、数据驻留时间、有效数据率中的至少一种、例如一种、两种或三种来自动实时控制和调整向上级系统申请数据的时间或向上级系统申请数据的频次,能够避免人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,降低系统的延时。
在一个实施例中,上述的控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次包括:在对与所述SERDES接口的系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;在对与所述SERDES接口的系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。
在一个实施例中,所述预设时间是当所述总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于所述第一预定阈值。在一个实施例中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大;所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
在一个实施例中,所述第一预定阈值和所述申请数据的频次的初始值是通过如下步骤确定的:在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
在一个实施例中,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率,其中所述控制装置被配置为将测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小、或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
如此,本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
图7示出了适于用来实现本公开实施方式的示例性计算机系统的框图。
计算机系统可以包括处理器(H1);存储器(H2),耦合于处理器(H1),且在其中存储计算机可执行指令,用于在由处理器执行时进行本公开的实施例的各个方法的步骤。
处理器(H1)可以包括但不限于例如一个或者多个处理器或者或微处理器等。
存储器(H2)可以包括但不限于例如,随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、计算机存储介质(例如硬碟、软碟、固态硬盘、可移动碟、CD-ROM、DVD-ROM、蓝光盘等)。
除此之外,该计算机系统还可以包括数据总线(H3)、输入/输出(I/O)总线(H4),显示器(H5)以及输入/输出设备(H6)(例如,键盘、鼠标、扬声器等)等。
处理器(H1)可以通过I/O总线(H4)经由有线或无线网络(未示出)与外部设备(H5、H6等)通信。
存储器(H2)还可以存储至少一个计算机可执行指令,用于在由处理器(H1)运行时执行本技术所描述的实施例中的各个功能和/或方法的步骤。
在一个实施例中,该至少一个计算机可执行指令也可以被编译为或组成一种软件产品,其中该一个或多个计算机可执行指令被处理器运行时执行本技术所描述的实施例中的各个功能和/或方法的步骤。
如此,本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
图8示出了根据本公开的实施例的非暂时性计算机可读存储介质的示意图。
如图8所示,计算机可读存储介质820上存储有指令,指令例如是计算机可读指令810。当计算机可读指令810由处理器运行时,可以执行参照以上附图描述的各个方法。计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。例如,计算机可读存储介质820可以连接于诸如计算机等的计算设备,接着,在计算设备运行计算机可读存储介质820上存储的计算机可读指令810的情况下,可以进行如上所述的各个方法。
如此,本公开提供高效便捷且智能化程度高的数据请求应答技术,避免了人工提前预设无法精准匹配不同系统不同情景的问题,降低空包插入,提升系统带宽的有效率,减少数据驻留时间,极大降低了系统的延时。
本公开至少提供如下项目:
项目1.一种应用于串行器-解串器SERDES的自适应请求应答系统,包括:
请求应答延时测量装置,被配置为在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;
数据驻留时间测量装置,被配置为在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;
有效数据率测量装置,被配置为在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;
控制装置,被配置为根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
项目2.根据项目1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
项目3.根据项目1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述数据驻留时间减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目4.根据项目1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率增大或大于相应的阈值的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间不变或减小的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度大,则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度小,则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时增大或大于相应的阈值的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目5.根据项目1所述的系统,其中,所述控制装置被配置为:
基于请求应答延时、数据驻留时间、有效数据率中的至少一种的各自的权重,获得综合信息分数;
在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目6.根据项目2-5中任一所述的系统,其中,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次包括:
在对与所述SERDES接口的系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;
在对与所述SERDES接口的系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。
项目7.根据项目2-5中任一所述的系统,其中所述预设时间是当所述总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于所述第一预定阈值,
其中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大;
所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
项目8.根据项目2-5所述的系统,其中,所述第一预定阈值和所述申请数据的频次的初始值是通过如下步骤确定的:
在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;
如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;
如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
项目9.根据项目7所述的系统,其中,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率,其中所述控制装置被配置为将测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小、或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
项目10.一种应用于串行器-解串器SERDES的自适应请求应答方法,包括:
在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;
在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;
在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;
根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
项目11.根据项目10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
项目12.根据项目10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述数据驻留时间减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目13.根据项目10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率增大或大于相应的阈值的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间不变或减小的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度大,则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度小,则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时增大或大于相应的阈值的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目14.根据项目10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
基于请求应答延时、数据驻留时间、有效数据率中的至少一种的各自的权重,获得综合信息分数;
在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
项目15.根据项目11-14中任一所述的方法,其中,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次包括:
在对与所述SERDES接口的系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;
在对与所述SERDES接口的系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。
项目16.根据项目11-14中任一所述的方法,其中所述预设时间是当所述总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于所述第一预定阈值,
其中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大;
所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
项目17.根据项目11-14所述的方法,其中,所述第一预定阈值和所述申请数据的频次的初始值是通过如下步骤确定的:
在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;
如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;
如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
项目18.根据项目17所述的方法,其中,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率,其中所述控制装置被配置为将测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小、或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
项目19.一种应用于串行器-解串器SERDES的设备,包括:
处理器;
存储器,存储了计算器可执行指令,其被处理器运行时进行如项目10-18所述的方法。
项目20.一种计算机可读介质,存储有计算机可读指令,其中当所述计算机可读指令由处理器运行时,进行如项目10-18所述的方法。
项目21.一种计算机程序,包括计算机可读指令,其中当所述计算机可读指令由处理器运行时,进行如项目10-18所述的方法。
项目22.一种应用于串行器-解串器SERDES的设备,包括:进行如项目10-18所述的各个步骤的各个装置。
当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本公开的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本公开的效果,这种合并和组合而成的实施例也被包括在本公开中,在此不一一描述这种合并和组合。
注意,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。
另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本公开的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本公开的范围内。
以上描述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于硬件的电路、专用集成电路(ASIC)或处理器。
可以利用被设计用于进行在此描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行描述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的微处理器或任何其他这样的配置。
结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
在此公开的方法包括用于实现描述的方法的动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。
上述功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。
因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由处理器执行以进行在此描述的操作。计算机程序产品可以包括包装的材料。
软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。
此外,用于进行在此描述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此描述的方法的手段的传送。或者,在此描述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此描述的方法和技术提供给设备的任何其他适当的技术。
其他例子和实现方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,以上描述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
可以不脱离由所附权利要求定义的教导的技术而进行对在此描述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上描述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此描述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (20)

1.一种应用于串行器-解串器SERDES的自适应请求应答系统,包括:
请求应答延时测量装置,被配置为在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;
数据驻留时间测量装置,被配置为在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;
有效数据率测量装置,被配置为在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;
控制装置,被配置为根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
2.根据权利要求1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
3.根据权利要求1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述数据驻留时间减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
4.根据权利要求1所述的系统,其中,所述控制装置被配置为:
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率增大或大于相应的阈值的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间不变或减小的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度大,则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度小,则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时增大或大于相应的阈值的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
5.根据权利要求1所述的系统,其中,所述控制装置被配置为:
基于请求应答延时、数据驻留时间、有效数据率中的至少一种的各自的权重,获得综合信息分数;
在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
6.根据权利要求2-5中任一所述的系统,其中,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次包括:
在对与所述SERDES接口的下级系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;
在对与所述SERDES接口的下级系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。
7.根据权利要求2-5中任一所述的系统,其中所述预设时间是当所述总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于所述第一预定阈值,
其中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大;
所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
8.根据权利要求2-5所述的系统,其中,所述第一预定阈值和所述申请数据的频次的初始值是通过如下步骤确定的:
在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;
如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;
如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
9.根据权利要求7所述的系统,其中,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率,其中所述控制装置被配置为将测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小、或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
10.一种应用于串行器-解串器SERDES的自适应请求应答方法,包括:
在当前数据申请周期中测量请求应答延时,所述请求应答延时是从向上级系统申请数据直到上级系统返回数据的时间;
在当前数据申请周期中测量数据驻留时间,所述数据驻留时间是从所述返回的数据在缓冲器中驻留直到从缓冲器向SERDES输出的时间;
在当前数据申请周期中测量有效数据率,所述有效数据率是在所述缓冲器中的有效数据量与总数据量的比率,所述有效数据是所述返回的数据,所述总数据量包括所述有效数据量和空数据量,其中所述空数据是在所述缓冲器中的总数据量小于或等于第一预定阈值的情况下写入到所述缓冲器中的;
根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次。
11.根据权利要求10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次。
12.根据权利要求10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述数据驻留时间减小或小于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值的情况下,不改变向上级系统申请数据的时间和频次、或控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
13.根据权利要求10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时减小或小于相应的阈值且所述数据驻留时间不变且所述有效数据率增大或大于相应的阈值的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间减小或小于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述有效数据率增大或大于相应的阈值且所述数据驻留时间不变或减小的情况下,控制不改变向上级系统申请数据的时间或向上级系统申请数据的频次;
在所述有效数据率减小或小于相应的阈值且所述数据驻留时间增大或大于相应的阈值的情况下,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度大,则控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次,如果有效数据率减小或小于相应的阈值的程度比所述数据驻留时间增大或大于相应的阈值的程度小,则控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次;
在所述请求应答延时增大或大于相应的阈值的程度超过所述一个或多个数据申请周期的情况下,在过了所述一个或多个数据申请周期的下一个数据申请周期中,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
14.根据权利要求10所述的方法,其中,所述根据所述请求应答延时、数据驻留时间、有效数据率中的至少一种,控制在下一数据申请周期中的向上级系统申请数据的时间或频次包括:
基于请求应答延时、数据驻留时间、有效数据率中的至少一种的各自的权重,获得综合信息分数;
在综合信息分数大于或等于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间提前或增加向上级系统申请数据的频次;
在综合信息分数小于预定分数阈值的情况下,控制向上级系统申请数据的时间比预设时间延后或降低向上级系统申请数据的频次。
15.根据权利要求11-14中任一所述的方法,其中,控制向上级系统申请数据的时间比预设时间提前或提高向上级系统申请数据的频次包括:
在对与所述SERDES接口的下级系统对数据延时不敏感的情况下,控制向上级系统申请数据的时间比预设时间提前;
在对与所述SERDES接口的下级系统对数据延时敏感的情况下,控制提高向上级系统申请数据的频次。
16.根据权利要求11-14中任一所述的方法,其中所述预设时间是当所述总数据量小于第二预定阈值时,此时,向上级系统申请数据,或者所述预设时间是固定值或依据缓冲器的输入端和输出端的时钟比率设置的申请数据的时间其中所述第二预定阈值大于或等于所述第一预定阈值,
其中,所述控制向上级系统申请数据的时间比预设时间提前包括:将所述第二预定阈值增大;
所述控制向上级系统申请数据的时间比预设时间延后包括:将所述第二预定阈值减小。
17.根据权利要求11-14所述的方法,其中,所述第一预定阈值和所述申请数据的频次的初始值是通过如下步骤确定的:
在所述一个数据申请周期中向上级系统申请W个数据,所述W是所述缓冲器的输出端时钟和输入端时钟的比率乘以所述一个数据申请周期而得到的时钟周期数;
如果在所述数据申请周期中所述缓冲器不为空,则在下一个数据申请周期中将W减1;
如果在所述数据申请周期中所述缓冲器为空,则在下一个数据申请周期中将W加1,且将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值。
18.根据权利要求17所述的方法,其中,在将所述加1之后的W作为第一预定阈值,且将与加1之后的W相对应的所述申请数据的频次作为申请数据的频次的初始值的情况下,测量得到请求应答延时、数据驻留时间和有效数据率作为初始的请求应答延时、初始的数据驻留时间和初始的有效数据率,其中所述控制装置被配置为将测量的请求应答延时、数据驻留时间和有效数据率与各自的初始值进行比较来判断增大还是减小、或者在每次数据申请周期中,将当前测量的请求应答延时、数据驻留时间和有效数据率与上一次数据申请周期中测量的各个测量值进行比较来判断增大还是减小。
19.一种应用于串行器-解串器SERDES的设备,包括:
处理器;
存储器,存储了计算器可执行指令,其被处理器运行时进行如权利要求10-18所述的方法。
20.一种计算机可读介质,存储有计算机可读指令,其中当所述计算机可读指令由处理器运行时,进行如权利要求10-18所述的方法。
CN202111177494.7A 2021-10-09 2021-10-09 自适应请求应答系统、方法、设备和计算机介质 Active CN113868166B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111177494.7A CN113868166B (zh) 2021-10-09 2021-10-09 自适应请求应答系统、方法、设备和计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111177494.7A CN113868166B (zh) 2021-10-09 2021-10-09 自适应请求应答系统、方法、设备和计算机介质

Publications (2)

Publication Number Publication Date
CN113868166A true CN113868166A (zh) 2021-12-31
CN113868166B CN113868166B (zh) 2024-05-17

Family

ID=79002306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111177494.7A Active CN113868166B (zh) 2021-10-09 2021-10-09 自适应请求应答系统、方法、设备和计算机介质

Country Status (1)

Country Link
CN (1) CN113868166B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094969A (zh) * 2022-12-23 2023-05-09 中国联合网络通信集团有限公司 带宽调整方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321593B1 (en) * 2003-07-17 2008-01-22 Marvell International Ltd. Fibre channel SERDES with elastic transmitter FIFO
US20100100680A1 (en) * 2008-10-22 2010-04-22 Hitachi, Ltd. Storage apparatus and cache control method
US20140215245A1 (en) * 2013-01-29 2014-07-31 Oracle International Corporation Serdes fast retrain method upon exiting power saving mode
US20150193288A1 (en) * 2014-01-03 2015-07-09 Oracle International Corporation Precursor Adaptation Algorithm for Asynchronously Clocked SERDES
CN108134655A (zh) * 2017-12-19 2018-06-08 深圳先进技术研究院 一种确定通信链路状态的方法及控制器
CN108932208A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 一种数据处理的方法和设备
CN109687860A (zh) * 2018-12-27 2019-04-26 中国科学院微电子研究所 一种多相时钟串行器及信号转换系统
CN111327657A (zh) * 2018-12-14 2020-06-23 诺基亚通信公司 数据缓冲的方法、设备和计算机可读介质
CN112260689A (zh) * 2020-09-28 2021-01-22 西南电子技术研究所(中国电子科技集团公司第十研究所) 自适应延时补偿串行adc采样系统采样校准方法
CN112363763A (zh) * 2020-11-13 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321593B1 (en) * 2003-07-17 2008-01-22 Marvell International Ltd. Fibre channel SERDES with elastic transmitter FIFO
US20100100680A1 (en) * 2008-10-22 2010-04-22 Hitachi, Ltd. Storage apparatus and cache control method
US20140215245A1 (en) * 2013-01-29 2014-07-31 Oracle International Corporation Serdes fast retrain method upon exiting power saving mode
US20150193288A1 (en) * 2014-01-03 2015-07-09 Oracle International Corporation Precursor Adaptation Algorithm for Asynchronously Clocked SERDES
CN108932208A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 一种数据处理的方法和设备
CN108134655A (zh) * 2017-12-19 2018-06-08 深圳先进技术研究院 一种确定通信链路状态的方法及控制器
CN111327657A (zh) * 2018-12-14 2020-06-23 诺基亚通信公司 数据缓冲的方法、设备和计算机可读介质
CN109687860A (zh) * 2018-12-27 2019-04-26 中国科学院微电子研究所 一种多相时钟串行器及信号转换系统
CN112260689A (zh) * 2020-09-28 2021-01-22 西南电子技术研究所(中国电子科技集团公司第十研究所) 自适应延时补偿串行adc采样系统采样校准方法
CN112363763A (zh) * 2020-11-13 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置及计算机可读存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
YONGSHENG WANG: "A low-jitter PLL with new cross-coupled VCO delay cell for SerDes CDR in 55-nm CMOS technology", 《2016 13TH IEEE INTERNATIONAL CONFERENCE ON SOLID-STATE AND INTEGRATED CIRCUIT TECHNOLOGY (ICSICT)》 *
仁福林;孙文方;曾昭贵;: "基于JPEG2000实时压缩率控制的FPGA实现", 遥测遥控, no. 02, 20 April 2006 (2006-04-20) *
徐其善: "基于FPGA高速存储研究与实现", 《硕士电子期刊出版信息》 *
汪安民;张胜波;: "C645x的串行RapidIO总线通信系统设计", 单片机与嵌入式系统应用, no. 11 *
王婧;李斌;张嘉春;靖文;宋开鑫;孙新立;: "宽带综合数据光同步网节点解串器的研究", 电力系统通信, no. 03 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094969A (zh) * 2022-12-23 2023-05-09 中国联合网络通信集团有限公司 带宽调整方法、装置、设备及存储介质
CN116094969B (zh) * 2022-12-23 2024-03-29 中国联合网络通信集团有限公司 带宽调整方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113868166B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
US7624221B1 (en) Control device for data stream optimizations in a link interface
US8032676B2 (en) Methods and apparatuses to manage bandwidth mismatches between a sending device and a receiving device
US8924612B2 (en) Apparatus and method for providing a bidirectional communications link between a master device and a slave device
JP5764004B2 (ja) 共用データ・バスに対する階層的バッファ・システムのための方法、集積回路デバイス、およびプロセッサ・デバイス
US20070079044A1 (en) Packet Combiner for a Packetized Bus with Dynamic Holdoff time
US20130077701A1 (en) Method and integrated circuit for adjusting the width of an input/output link
US20090110110A1 (en) Transmission Apparatus, Transmission Method, Communication Apparatus, and Program
US10025732B2 (en) Preserving deterministic early valid across a clock domain crossing
CN102347902B (zh) 发送间隔调整方法、装置和网络设备
US10467175B1 (en) Secure digital (SD) direct command for improving throughput with a reduced memory footprint
CN113868166B (zh) 自适应请求应答系统、方法、设备和计算机介质
US9880949B1 (en) Cross clock compensation between layers in peripheral component interconnect express
JP2018520434A (ja) Usb2.0帯域幅予約のための方法およびシステム
CN104660461A (zh) 基于100g通信的以太网测试仪表及测试方法
WO2012177877A2 (en) System and method for performing isochronous data buffering
US9117508B2 (en) Integrated circuit with adaptive power state management
JP2012194829A (ja) マスタデバイスおよびバスシステム
US20130290768A1 (en) Arithmetic processing device, method for controlling arithmetic processing device, and system
WO2023030195A1 (zh) 缓存管理方法和装置、控制程序及控制器
CN110297785A (zh) 一种基于fpga的金融数据流控装置和流控方法
CN113220231B (zh) 一种支持stp应用的自适应流控方法与装置
CN111723027B (zh) 一种基于电力边缘网关的动态存储缓冲区读取控制方法
CN116961808A (zh) 一种时钟同步方法和相关设备
CN110096461A (zh) 一种基于usb3.0辅助协议的实时高速数据传输方法及系统
US20230362097A1 (en) Dynamic rate control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant