一种嵌入式总线上错误数据重传方法、系统、介质及设备技术方案

技术编号:37547290 阅读:13 留言:0更新日期:2023-05-12 16:22
本公开实施例提供的一种嵌入式总线上错误数据重传方法、装置、介质及设备,属于数据处理领域,设计了新的重传方案,该重传方案支持整个突发数据包重传,如果数据包中的一个数据块损坏,则整个数据包突发将被重新发送,接收端的异步FIFO具有数据检查和状态切换功能,以跟踪FIFO数据输入状态,如果检查到损坏数据,所述异步FIFO将跳转到“重试”状态,指示发射端重传整个数据包,发射端无需跟踪损坏数据的位置,减少了发射端有限状态机(FSM)的分支决策,提高数据传输带宽,从而提高系统性能。从而提高系统性能。从而提高系统性能。

【技术实现步骤摘要】
一种嵌入式总线上错误数据重传方法、系统、介质及设备


[0001]本公开实施例涉及数据处理领域,具体地涉及一种嵌入式总线上错误数据重传方法、系统、介质及设备。

技术介绍

[0002]片上系统(SOC)技术提供了一个在单个芯片上在单个管芯(die,也成为裸片、晶片)区域中制造整个系统的平台。然而,随着SOC架构变得更大、更复杂,单片SOC设计可能会导致SOC芯片的性能和成品率下降。Chiplet是一种新的管芯到管芯互连技术,可以大大降低制造成本,并易于扩展性能。
[0003]通过多路复用器和解复用器对的总线管线达到管芯到管芯互连的技术,采用用于与接收器时钟域同步的FIFO。总线管道管芯到管芯互连的主要挑战是当存在ECC或奇偶校验错误时的重试机制。为了实现最短的延迟设计目标,接收器需要不断检查数据的正确性,如果数据是正确的,则将其发送给从属设备。一旦接收器检查了损坏的数据,请求数据重新传输。对于总线管道架构,发射器需要在管道阶段保持跟踪损坏的数据位置,并以相同的顺序重新传输损坏的数据。这就使得在发射器的有限状态机(FSM)中引入大量分支决策,并可能会降低整个管芯到管芯设计数据带宽。如何改善这种状况,成为亟待解决的问题。

技术实现思路

[0004]本专利技术的目的在于提供一种嵌入式总线上错误数据重传方法、系统、介质及设备,以便于至少部分地解决上述问题。
[0005]根据本公开的一个方面,提出一种嵌入式总线上错误数据重传方法,包括:步骤S1接收端对接收到的数据块依序进行错误检查,步骤S2经检查的所述数据块依序写入接收端的异步FIFO中,步骤S3响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态,步骤S4响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
[0006]在一些实施例中,在步骤S4之前还包括,步骤S5接收端的RX总线包装器按序依次读取所述异步FIFO中的正确数据块,并停止读取所述损坏数据块。
[0007]在一些实施例中,步骤S6响应于所述异步FIFO状态为重试状态,将写入所述异步FIFO的数据块对应的数据项标记为空状态,所述空状态表示数据项为空或对应的数据块已被读出,用于确保在重新传输损坏数据块前不会发送损坏数据块之后的数据块。
[0008]在一些实施例中,步骤S7响应于接收到重传数据包,重复所述步骤S1,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃所述重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后数据块写入所述异步FIFO中。
[0009]在一些实施例中,重复所述步骤S1至S7,直至所述RX总线包装器读取全部所述异步FIFO中数据块。
[0010]在一些实施例中,所述步骤S1之前还包括,将接收到的序列化数据包反序列化并检索回多位数据块。
[0011]在一些实施例中,所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。
[0012]根据本公开的另一个方面,提出一种嵌入式总线上错误数据重传系统,包括:发送端和接收端,所述接收端包括异步FIFO,所述异步FIFO响应于接收到所述发送端发送的数据包,对所述数据包中的数据块依序进行错误检查,经检查的所述数据块依序写入所述异步FIFO,响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态;响应于所述异步FIFO状态为重试状态,所述发送端重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
[0013]在一些实施例中,所述异步FIFO还包括数据项及数据项对应的状态、写指针和读指针,其中每个所述数据项对应每个所述数据块,所述数据项初始状态为空,正确数据块对应数据项状态为有效,损坏数据块对应状态为错误,所述写指针用于控制数据块的写入,所述读指针用于控制数据块的读取。
[0014]在一些实施例中,所述接收端还包括RX总线包装器,响应于所述数据项的状态为有效,所述RX总线包装器通过所述读指针按序依次读取所述异步FIFO中有效状态的数据项,并将读取数据项后的状态标记为空,停止读取所述异步FIFO中错误状态的数据项。
[0015]在一些实施例中,所述异步FIFO响应于接收到重传数据包,对所述数据包中的数据块依序进行错误检查,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃所述重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后的正确数据块写入所述异步FIFO中。
[0016]在一些实施例中,所述RX总线包装器继续读取所述异步FIFO中状态为有效的数据项,直至将所述FIFO中数据全部读完。
[0017]在一些实施例中,所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。
[0018]在一些实施例中,所述接收端还包括数据解复用器,所述数据解复用器接收到的序列化数据包反序列化并检索回多位数据块。
[0019]在一些实施例中,所述发送端包括,包括TX总线包装器、重试数据FIFO、数据复用器,其中,所述TX总线包装器用于通过奇偶校验、CRC或ECC错误检测冗余位封装数据包,所述重试数据FIFO用于临时存储所述数据包,并在重传期间将所述数据包回放至所述多路复用器,所述多路复用器用于串行化多位数据块,并发送所述数据包至接收端。
[0020]根据本公开的另一个方面,提出一种时钟控制方法,包括:发送端通过启动时钟生成DQS差分采样时钟将数据块发送至接收端,接收端的异步FIFO检查所述数据块是否正确,若是,将正确的数据块写入所述异步FIFO,
若否,所述异步FIFO向所述发送端发送重传请求,对所述重传请求的信号进行脉冲扩展,使其满足所述发送端时钟和接收端捕获时钟的频率差。
[0021]在一些实施例中,所述发送端通过其内部的第一锁相环生成所述发送端时钟,所述接收端通过其内部的第二锁相环生成所述捕获时钟。
[0022]在一些实施例中,所述对所述重传请求的信号进行脉冲扩展,包括,将重传请求的信号脉冲宽度扩展至3个时钟周期,且在所述接收端在2个连续时钟周期内捕获2个逻辑高电平时认定所述重传请求有效。
[0023]本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的方法中的步骤。
[0024]本公开实施例提供的一种嵌入式总线上错误数据重传方法、装置、介质及设备,设计了新的重传方案,该重传方案支持整个突发数据包重传,如果数据包中的一个数据块损坏,则整个数据包突发将被重新发送,接收端的异步FIFO具有数据检查和状态切换功能,以跟踪FIFO数据输入状态,如果本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种嵌入式总线上错误数据重传方法,其特征在于,包括:步骤S1接收端对接收到的数据块依序进行错误检查,步骤S2经检查的所述数据块依序写入接收端的异步FIFO中,步骤S3响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态,步骤S4响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。2.根据权利要求1所述的方法,其特征在于:在步骤S4之前还包括,步骤S5接收端的RX总线包装器按序依次读取所述异步FIFO中的正确数据块,并停止读取所述损坏数据块。3.根据权利要求2所述的方法,其特征在于:步骤S6响应于所述异步FIFO状态为重试状态,将写入所述异步FIFO的数据块对应的数据项标记为空状态,所述空状态表示数据项为空或对应的数据块已被读出,用于确保在重新传输损坏数据块前不会发送损坏数据块之后的数据块。4.根据权利要求3所述的方法,其特征在于:步骤S7响应于接收到重传数据包,重复所述步骤S1,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后数据块写入所述异步FIFO中。5.根据权利要求4所述的方法,其特征在于:重复所述步骤S1至S7,直至所述RX总线包装器读取全部所述异步FIFO中数据块。6.根据权利要求1所述的方法,其特征在于:所述步骤S1之前还包括,将接收到的序列化数据包反序列化并检索回多位数据块。7.根据权利要求2所述的方法,其特征在于:所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。8.一种嵌入式总线上错误数据重传系统,其特征在于,包括:发送端和接收端,所述接收端包括异步FIFO,所述异步FIFO响应于接收到所述发送端发送的数据包,对所述数据包中的数据块依序进行错误检查,经检查的所述数据块依序写入所述异步FIFO,响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态;响应于所述异步FIFO状态为重试状态,所述发送端重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。9.根据权利要求8所述的系统,其特征在于:所述异步FIFO还包括数据项及数据项对应的状态、写指针和读指针,其中每个所述数据项对应每个所述数据块,所述数据项初始状态为空,正确数据块对应数据项状态为有效,损坏数据块对应状态为错误,所述写指针用于控制数据块的写入,所述读指针用于控制数据块的读取。10.根据权利要求9所述的系统,其特征在于:所述接收端还包括RX总线包装器,响应于所述数据项的状态为有效,所述RX总线包装
器通...

【专利技术属性】
技术研发人员:韩国伟李晓均李杰荣
申请(专利权)人:芯砺智能科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1