CN116089346A - 一种嵌入式总线上错误数据重传方法、系统、介质及设备 - Google Patents

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

Info

Publication number
CN116089346A
CN116089346A CN202310362365.8A CN202310362365A CN116089346A CN 116089346 A CN116089346 A CN 116089346A CN 202310362365 A CN202310362365 A CN 202310362365A CN 116089346 A CN116089346 A CN 116089346A
Authority
CN
China
Prior art keywords
data
asynchronous fifo
data block
state
retransmission
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
CN202310362365.8A
Other languages
English (en)
Other versions
CN116089346B (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.)
Xinli Intelligent Technology (Jiangsu) Co.,Ltd.
Original Assignee
Xinli Intelligent Technology Shanghai 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 Xinli Intelligent Technology Shanghai Co ltd filed Critical Xinli Intelligent Technology Shanghai Co ltd
Priority to CN202310362365.8A priority Critical patent/CN116089346B/zh
Publication of CN116089346A publication Critical patent/CN116089346A/zh
Application granted granted Critical
Publication of CN116089346B publication Critical patent/CN116089346B/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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

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

Description

一种嵌入式总线上错误数据重传方法、系统、介质及设备
技术领域
本公开实施例涉及数据处理领域,具体地涉及一种嵌入式总线上错误数据重传方法、系统、介质及设备。
背景技术
片上系统(SOC)技术提供了一个在单个芯片上在单个管芯(die,也成为裸片、晶片)区域中制造整个系统的平台。然而,随着SOC架构变得更大、更复杂,单片SOC设计可能会导致SOC芯片的性能和成品率下降。Chiplet是一种新的管芯到管芯互连技术,可以大大降低制造成本,并易于扩展性能。
通过多路复用器和解复用器对的总线管线达到管芯到管芯互连的技术,采用用于与接收器时钟域同步的FIFO。总线管道管芯到管芯互连的主要挑战是当存在ECC或奇偶校验错误时的重试机制。为了实现最短的延迟设计目标,接收器需要不断检查数据的正确性,如果数据是正确的,则将其发送给从属设备。一旦接收器检查了损坏的数据,请求数据重新传输。对于总线管道架构,发射器需要在管道阶段保持跟踪损坏的数据位置,并以相同的顺序重新传输损坏的数据。这就使得在发射器的有限状态机(FSM)中引入大量分支决策,并可能会降低整个管芯到管芯设计数据带宽。如何改善这种状况,成为亟待解决的问题。
发明内容
本发明的目的在于提供一种嵌入式总线上错误数据重传方法、系统、介质及设备,以便于至少部分地解决上述问题。
根据本公开的一个方面,提出一种嵌入式总线上错误数据重传方法,包括:
步骤S1接收端对接收到的数据块依序进行错误检查,
步骤S2经检查的所述数据块依序写入接收端的异步FIFO中,
步骤S3响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态,
步骤S4响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
在一些实施例中,在步骤S4之前还包括,步骤S5接收端的RX总线包装器按序依次读取所述异步FIFO中的正确数据块,并停止读取所述损坏数据块。
在一些实施例中,步骤S6响应于所述异步FIFO状态为重试状态,将写入所述异步FIFO的数据块对应的数据项标记为空状态,所述空状态表示数据项为空或对应的数据块已被读出,用于确保在重新传输损坏数据块前不会发送损坏数据块之后的数据块。
在一些实施例中,步骤S7响应于接收到重传数据包,重复所述步骤S1,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃所述重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后数据块写入所述异步FIFO中。
在一些实施例中,重复所述步骤S1至S7,直至所述RX总线包装器读取全部所述异步FIFO中数据块。
在一些实施例中,所述步骤S1之前还包括,将接收到的序列化数据包反序列化并检索回多位数据块。
在一些实施例中,所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。
根据本公开的另一个方面,提出一种嵌入式总线上错误数据重传系统,包括:
发送端和接收端,所述接收端包括异步FIFO,
所述异步FIFO响应于接收到所述发送端发送的数据包,对所述数据包中的数据块依序进行错误检查,经检查的所述数据块依序写入所述异步FIFO,响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态;
响应于所述异步FIFO状态为重试状态,所述发送端重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
在一些实施例中,所述异步FIFO还包括数据项及数据项对应的状态、写指针和读指针,其中每个所述数据项对应每个所述数据块,所述数据项初始状态为空,正确数据块对应数据项状态为有效,损坏数据块对应状态为错误,
所述写指针用于控制数据块的写入,所述读指针用于控制数据块的读取。
在一些实施例中,所述接收端还包括RX总线包装器,响应于所述数据项的状态为有效,所述RX总线包装器通过所述读指针按序依次读取所述异步FIFO中有效状态的数据项,并将读取数据项后的状态标记为空,停止读取所述异步FIFO中错误状态的数据项。
在一些实施例中,所述异步FIFO响应于接收到重传数据包,对所述数据包中的数据块依序进行错误检查,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃所述重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后的正确数据块写入所述异步FIFO中。
在一些实施例中,所述RX总线包装器继续读取所述异步FIFO中状态为有效的数据项,直至将所述FIFO中数据全部读完。
在一些实施例中,所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。
在一些实施例中,所述接收端还包括数据解复用器,所述数据解复用器接收到的序列化数据包反序列化并检索回多位数据块。
在一些实施例中,所述发送端包括,包括TX总线包装器、重试数据FIFO、数据复用器,其中,所述TX总线包装器用于通过奇偶校验、CRC或ECC错误检测冗余位封装数据包,
所述重试数据FIFO用于临时存储所述数据包,并在重传期间将所述数据包回放至所述多路复用器,
所述多路复用器用于串行化多位数据块,并发送所述数据包至接收端。
根据本公开的另一个方面,提出一种时钟控制方法,包括:
发送端通过启动时钟生成DQS差分采样时钟将数据块发送至接收端,
接收端的异步FIFO检查所述数据块是否正确,
若是,将正确的数据块写入所述异步FIFO,
若否,所述异步FIFO向所述发送端发送重传请求,
对所述重传请求的信号进行脉冲扩展,使其满足所述发送端时钟和接收端捕获时钟的频率差。
在一些实施例中,所述发送端通过其内部的第一锁相环生成所述发送端时钟,
所述接收端通过其内部的第二锁相环生成所述捕获时钟。
在一些实施例中,所述对所述重传请求的信号进行脉冲扩展,包括,将重传请求的信号脉冲宽度扩展至3个时钟周期,且在所述接收端在2个连续时钟周期内捕获2个逻辑高电平时认定所述重传请求有效。
本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的方法中的步骤。
本公开实施例提供的一种嵌入式总线上错误数据重传方法、装置、介质及设备,设计了新的重传方案,该重传方案支持整个突发数据包重传,如果数据包中的一个数据块损坏,则整个数据包突发将被重新发送,接收端的异步FIFO具有数据检查和状态切换功能,以跟踪FIFO数据输入状态,如果检查到损坏数据,所述异步FIFO将跳转到“重试”状态,指示发射端重传整个数据包,发射端无需跟踪损坏数据的位置,减少了发射端有限状态机(FSM)的分支决策,提高数据传输带宽,从而提高系统性能。
附图说明
图1为本申请实施例提供的嵌入式总线上错误数据重传方法示意图。
图2为本申请实施例提供的嵌入式总线上错误数据重传系统示意图。
图3为本申请实施例提供的数据包格式示意图。
图4为本申请实施例提供的异步FIFO结构示意图。
图5为本申请实施例提供的第一异步FIFO数据状态变化示意图。
图6为本申请实施例提供的第二异步FIFO数据状态变化示意图。
图7为本申请实施例提供的第三异步FIFO数据状态变化示意图。
图8为本申请实施例提供的第四异步FIFO数据状态变化示意图。
图9为本申请实施例提供的第五异步FIFO数据状态变化示意图。
图10为本申请实施例提供的第六异步FIFO数据状态变化示意图。
图11为本申请实施例提供的第七异步FIFO数据状态变化示意图。
图12为本申请实施例提供的时钟控制信号示意图。
图13为本申请实施例提供的第一故障检测时钟信号示意图。
图14为本申请实施例提供的第二故障检测时钟信号示意图。
图15为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示对本发明结构的说明,仅是为了便于描述本发明的简便,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
对于本技术方案中的“第一”和“第二”,仅为对相同或相似结构,或者起相似功能的对应结构的称谓区分,不是对这些结构重要性的排列,也没有排序、或比较大小、或其他含义。
另外,除非另有明确的规定和限定,术语“安装”、“连接”应做广义理解,例如,连接可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个结构内部的连通。对于本领域的普通技术人员而言,可以根据本发明的总体思路,联系本方案上下文具体情况理解上述术语在本发明中的具体含义。
实施例一
具体地,请参阅图1,为本公开提供的一种嵌入式总线上错误数据重传方法。具体步骤如下:
步骤S1,接收端对接收到的数据块依序进行错误检查。
在一些实施例中,对于从发送端接收到的数据包,接收端的异步FIFO首先对所述数据包中的数据块依序进行正确性检查,为便于理解本公开的构思,以下以包含8个数据块的数据包从Chiplet传输到SOC为示例说明,可以理解的是本公开并不限于该示例,系统整体架构如图2所示。
在一些实施例中,数据包格式如图3所示,接收端接收到发送的数据包D1后,异步FIFO对数据包D1中的数据块依次进行错误检查。
步骤S2:经检查的所述数据块依序写入接收端的异步FIFO中。
在一些实施例中,如图3所示,经检查正确的数据块D1_1、D1_2、D1_3、D1_4依次写入异步FIFO中。
步骤S3:直至检查到数据块为损坏数据块,切换所述异步FIFO状态为重试状态。
在一些实施例中,如图3所示,异步FIFO检查到数据包D1的第五个数据D1_5已损坏,需要重新发送,重新发送的数据块标有前缀“Re-”,其中Re-X和X是相同的内容。
步骤S4:响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
在一些实施例中,异步FIFO的FIFO深度与数据包突发长度相匹配,整个数据包突发将被重新发送,而不是单个损坏的数据。发射机将只需要将发送端即Chiplet端重试数据FIFO的全部内容发送至接收端即SOC端,而不需要发送端中的有限状态机(FSM)任何分支决定从重试FIFO中取出哪些数据。这可以大大简化发射机FSM设计,从而提高整个设计的时钟频率。
在一些实施例中,异步FIFO具有新的结构,如图4所示,新的异步FIFO具有1个读指针和1个写指针。每个FIFO数据条目(即数据项)都有一个“状态”标记。数据条目将被标记为3种状态,“空”、“有效”和“错误”。“空”状态表示数据条目为空或数据已被读出。“有效”状态表示已将正确的数据写入该数据条目。“错误”状态表示已将损坏的数据写入该数据条目。此外异步FIFO还有一个FIFO优先状态机(FSM),用于表示FIFO的状态。初始状态,FSM处于“正常”状态,一旦损坏的数据写入任何数据条目,FSM将切换到“重试”状态。如果FSM处于“重试”状态,并且损坏的数据已被纠正的重新传输数据替换,则FSM将跳回到“正常”状态。
对于传输到FIFO的数据包,对数据包中数据块首先进行错误检查。由于第一个数据块D1_1是正确的,数据块D1_1将被写入数据项1,相应的状态将更改为图5中的“有效”状态。同时写入指针将移到数据2。
在图6中,一旦数据项是“有效”的,且RX总线包装器准备好从FIFO接收数据,数据项1中的数据将被读出,并且读取指针也将移到数据2,数据项1的状态将变回空状态。
在图7中,D1的数据包将如前所述,按序写入FIFO。数据包D1的第5个数据块D1_5已损坏,因此数据5的状态条目将被标记为“错误”。同时,FIFO的FSM也将切换到“重试”状态。
如图8所示,在一些实施例中,本公开是以一个完整数据包为单位发送和接收,如果一个数据包中的某一个数据有错,则该数据应该要被丢掉,同时也要把往后的数据也一通丢掉,因为数据重传会把出错的数据和之后的数据也重传一次,把错误数据后的数据丢掉的其中一个方法是数据写入FIFO数据项中,但同时标记为“空”,这样FIFO便会认为该数据项没有被写入数据。当FIFO进入“重试”状态时,随后将写入数据项的所有数据将被标记为“空”状态。这样做有两个主要目的,首先,如前所述,用于屏蔽损坏数据块之后的数据块,这是为了确保在重新传输损坏数据之前,不会发送损坏数据块后面的数据。其次,如前所述,整个数据包将被重新传输,以简化TX总线包装器FSM设计。由于损坏数据之前的数据块已发送到RX总线包装器,因此应丢弃那些重新发送的损坏数据之前的数据块,以避免重复。
图9至图10列示了重新传输操作。当发射机接收到重传指示时,发射机开始从重试数据FIFO重放数据包D1。由于异步FIFO仍处于“重试”状态,重新发送的数据块D1_1至D1_4将被写入标记为“空”的异步FIFO。
最后,剩余的校正数据将从图11所示的重传数据包写入异步FIFO。
如图8所示,在RX总线包装器接收到D1_4数据块后,没有更多的数据可用,RX总线包装程序处于“等待”状态。在异步FIFO接收到校正的D1_5数据块后,状态条目变为“有效”,因此RX总线包装器确认来自异步FIFO的D1_5数据块已准备好读取,然后可以继续总线操作。
如前所述的异步FIFO架构,在前述数据重传过程中,大多数数据重传操作将由异步FIFO处理。异步FIFO的操作对RX总线包装器是透明的。对于TX总线包装器,其仅需要从重试数据FIFO中重新传输整个数据包,而不需要关心总线流水线传输中的错误数据块位置。这种架构以及重传机制可以大大降低数据重新传输的复杂性。
通常来说,数据传输应该受到某些错误保护机制的保护,如奇偶校验、CRC或ECC,并且误码率(BER)通常低于1e-20。整个数据包重新传输开销不会影响整体性能。上述重传机制的只会影响重传期间的带宽,并且几乎不会给校正数据的正常传输操作带来任何开销。
在一些实施例中,如图2所示,数据块将通过使用由发射机启动时钟生成的称为DQS的差分采样时钟写入异步FIFO。在写入FIFO之前,将检查数据块的数据正确性。如果数据块损坏,异步FIFO将向发射机侧发送重新传输请求,以触发数据重新传输。重传请求是从接收机侧到发射机侧的直接有线连接,具有不同的发射和捕获时钟源。重发请求由接收机锁相环(PLL)产生,并由发射机PLL的时钟捕获。为了克服不同的相位/频率问题,本公开对重新发送请求时钟进行脉冲扩展。通过脉冲扩展,一方面满足发射机侧的发射时钟和接收机侧的捕获时钟的PLL频率差,另一方面还有助于过滤可能从衬底上的互连导线引入的毛刺。
如图2所示,发射器和接收器有两个单独的PLL来生成内部时钟,二者都由相同的参考时钟驱动。可以理解的是,仍可能存在一些频率差异,如图12所示。假设启动时钟的周期比捕获时钟稍窄,如果重新传输请求1个时钟脉冲宽度,则捕获时钟可能无法捕获逻辑高电平。
除了时钟频率差之外,还需要关注PCB基板上的管芯到管芯互连导线由于导线耦合或电磁兼容性(EMC)问题而引起的毛刺。为了解决这个问题,1时钟脉冲宽度重新传输请求将进一步扩展到3个启动时钟周期。在接收器侧,如果我们能够在2个连续时钟周期中捕获2个逻辑电平高,则重新传输请求被认为是有效的。故障检测方案如图13和图14所示。其中图13表示其中一条信号线出现一个小于一个时钟周期的毛刺,而该毛刺刚好出现在时钟的上升沿,因为被错误的采样的误判为高电平信号,图14表示为了解决以上问题,因为所有真正高电平信号都会扩展至三个时钟周期宽,接收方要连续采样到两次高电平才被判为真正高电平信号,不足两个时钟周期,所以接收方判定为无效数据而丢掉。
可以理解的是,本公开的重试架构基于接收器侧的异步FIFO,修改了FIFO结构,使得可以增强异步FIFO以管理多个数据特征,包括处理数据正确性检查、数据重新传输、时钟同步和总线流水线数据存储。重传方案支持整个突发数据包重传。如果数据包突发中的一个数据块损坏,则整个数据包突发将被重新发送。异步FIFO具有1个读指针和1个写指针。每个FIFO数据条目都有一个“状态”标记,以指示每个条目的数据状态,支持三种不同的状态:“空”、“有效”和“错误”。“空”状态表示数据条目为空或数据已被读出。“有效”状态表示已将正确的数据写入该数据条目。“错误”状态表示已将损坏的数据写入该数据条目。如果异步FIFO处于“重试”状态,则当前数据包的同一突发中损坏数据之后的数据将被丢弃,即状态条目将被标记为“空”。如果异步FIFO处于“重试”状态,则重新发送的数据包的同一突发中的损坏数据之前的数据将被丢弃,即状态条目将被标记为“空”。所有管芯到管芯的直接互连信号,包括暂停信号和重传请求信号,将被脉冲扩展到至少3个时钟周期,以满足发射机侧的发射时钟和接收机侧的捕获时钟的PLL频率差以及满足可能从衬底上的互连线引入的毛刺。
实施例二
为实现上述目的,本实施例提出了一种嵌入式总线上错误数据重传系统,本实施例系统中个模块及其功能和实施例一中的描述是一致的,对于重复部分,本实施例不再赘述,具体的请参阅图2,
嵌入式总线上错误数据重传系统包括发送端即图2中的Chiplet端和接收端即图2中SOC,接收端包括异步FIFO,异步FIFO响应于接收到发送端发送的数据包,对数据包中的数据块依序进行错误检查,经检查数据块依序写入异步FIFO,响应于写入到异步FIFO中的数据块为损坏数据块,切换异步FIFO状态为重试状态;
响应于异步FIFO状态为重试状态,发送端重传整个数据包,其中,数据包包含一个或多个数据块,异步FIFO的深度与数据包长度匹配。
异步FIFO还包括数据项及数据项对应的状态、写指针和读指针,其中每个数据项对应每个数据块,数据项初始状态为空,正确数据块对应数据项状态为有效,损坏数据块对应状态为错误。写指针用于控制数据块的写入,读指针用于控制数据块的读取。
接收端还包括RX总线包装器,响应于数据项的状态为有效,RX总线包装器通过读指针按序依次读取异步FIFO中有效状态的数据项,并将读取数据项后的状态标记为空,停止读取异步FIFO中错误状态的数据项。
异步FIFO响应于接收到重传数据包,对数据包中的数据块依序进行错误检查,响应于损坏数据块纠正为正确的替换数据块,切换异步FIFO状态为正常状态,丢弃重传数据块中替换数据块之前的数据块,将重传数据块中替换数据块及之后的正确数据块写入异步FIFO中。
RX总线包装器继续读取异步FIFO中状态为有效的数据项,直至将FIFO中数据全部读完。
RX总线包装器还用于将从异步FIFO读取的数据块重新映射到预定义的总线协议。
接收端还包括数据解复用器,数据解复用器接收到的序列化数据包反序列化并检索回多位数据块。
发送端包括,包括TX总线包装器、重试数据FIFO、数据复用器,其中,TX总线包装器用于通过奇偶校验、CRC或ECC错误检测冗余位封装数据包,
重试数据FIFO用于临时存储数据包,并在重传期间将数据包回放至多路复用器,
多路复用器用于串行化多位数据块,并发送数据包至接收端。
实施例三
相应的,本申请实施例还提供一种电子设备,该电子设备可以为终端或者服务器。如图15所示,图15为本申请实施例提供的电子设备的结构示意图。
该电子设备1500包括有一个或者一个以上处理核心的处理器1501、有一个或一个以上计算机可读存储介质的存储器1502及存储在存储器1502上并可在处理器上运行的计算机程序。其中,处理器1501与存储器1502电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器1501是电子设备1500的控制中心,利用各种接口和线路连接整个电子设备1500的各个部分,通过运行或加载存储在存储器1502内的软件程序(计算机程序)和/或单元,以及调用存储在存储器1502内的数据,执行电子设备1500的各种功能和处理数据,从而对电子设备1500进行整体监控。
在本申请实施例中,电子设备1500中的处理器1501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器1502中,并由处理器1501来运行存储在存储器1502中的应用程序,从而实现各种功能:
接收端对接收到的数据块依序进行错误检查,
经检查的所述数据块依序写入接收端的异步FIFO中,
响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态,
响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
以上各个操作的具体实施可参见前述的实施例,在此不再赘述。
可选的,如图15所示,电子设备1500还包括:错误数据重传模块1503、通讯模块1504、输入单元1505以及电源1506。其中,处理器1501分别与错误数据重传模块1503、通讯模块1504、输入单元1505以及电源1506电性连接。本领域技术人员可以理解,图15中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
错误数据重传模块1503可用于实现生成行情数据的模拟。
通讯模块1504可用于与其他设备通信。
输入单元1505可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源1506用于给电子设备1500的各个部件供电。可选的,电源1506可以通过电源管理系统与处理器1501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1506还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
实施例四
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的一种卷积计算中资源共享的方法的步骤。例如,该计算机程序可以执行如下步骤:
步骤S1接收端对接收到的数据块依序进行错误检查,
步骤S2经检查的所述数据块依序写入接收端的异步FIFO中,
步骤S3响应于写入到所述异步FIFO中的数据块为损坏数据块,切换所述异步FIFO状态为重试状态,
步骤S4响应于所述异步FIFO状态为重试状态,重传整个数据包,其中,所述数据包包含一个或多个所述数据块,所述异步FIFO的深度与所述数据包长度匹配。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种嵌入式总线上错误数据重传方法中的步骤,因此,可以实现本申请实施例所提供的任一种嵌入式总线上错误数据重传方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。

Claims (20)

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总线包装器通过所述读指针按序依次读取所述异步FIFO中有效状态的数据项,并将读取数据项后的状态标记为空,停止读取所述异步FIFO中错误状态的数据项。
11.根据权利要求10所述的系统,其特征在于:
所述异步FIFO响应于接收到重传数据包,对所述数据包中的数据块依序进行错误检查,响应于所述损坏数据块纠正为正确的替换数据块,切换所述异步FIFO状态为正常状态,丢弃重传数据块中所述替换数据块之前的数据块,将所述重传数据块中所述替换数据块及之后的正确数据块写入所述异步FIFO中。
12.根据权利要求11所述的系统,其特征在于:
所述RX总线包装器继续读取所述异步FIFO中状态为有效的数据项,直至将所述FIFO中数据全部读完。
13.根据权利要求10所述的系统,其特征在于:
所述RX总线包装器还用于将从所述异步FIFO读取的数据块重新映射到预定义的总线协议。
14.根据权利要求8所述的系统,其特征在于:
所述接收端还包括数据解复用器,所述数据解复用器接收到的序列化数据包反序列化并检索回多位数据块。
15.根据权利要求8所述的系统,其特征在于:
所述发送端包括,包括TX总线包装器、重试数据FIFO、数据复用器,其中,所述TX总线包装器用于通过奇偶校验、CRC或ECC错误检测冗余位封装数据包,
所述重试数据FIFO用于临时存储所述数据包,并在重传期间将所述数据包回放至多路复用器,
所述多路复用器用于串行化多位数据块,并发送所述数据包至接收端。
16.一种应用于所述权利要求8-15任一项嵌入式总线上错误数据重传系统的时钟控制方法,其特征在于,包括:
发送端通过启动时钟生成DQS差分采样时钟将数据块发送至接收端,
接收端的异步FIFO检查所述数据块是否正确,
若是,将正确的数据块写入所述异步FIFO,
若否,所述异步FIFO向所述发送端发送重传请求,
对所述重传请求的信号进行脉冲扩展,使其满足所述发送端时钟和接收端捕获时钟的频率差。
17.根据权利要求16所述的方法,其特征在于:
所述发送端通过其内部的第一锁相环生成所述发送端时钟,
所述接收端通过其内部的第二锁相环生成所述捕获时钟。
18.根据权利要求17所述的方法,其特征在于:
所述对所述重传请求的信号进行脉冲扩展,包括,将重传请求的信号脉冲宽度扩展至3个时钟周期,且在所述接收端在2个连续时钟周期内捕获2个逻辑高电平时认定所述重传请求有效。
19.一种电子设备,其特征在于:包括存储有可执行程序代码的存储器以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的可执行程序代码,执行如权利要求1-7任一项所述的方法。
20.一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如权利要求1-7任一项所述的方法。
CN202310362365.8A 2023-04-07 2023-04-07 一种嵌入式总线上错误数据重传方法、系统、介质及设备 Active CN116089346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310362365.8A CN116089346B (zh) 2023-04-07 2023-04-07 一种嵌入式总线上错误数据重传方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310362365.8A CN116089346B (zh) 2023-04-07 2023-04-07 一种嵌入式总线上错误数据重传方法、系统、介质及设备

Publications (2)

Publication Number Publication Date
CN116089346A true CN116089346A (zh) 2023-05-09
CN116089346B CN116089346B (zh) 2023-07-28

Family

ID=86187196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310362365.8A Active CN116089346B (zh) 2023-04-07 2023-04-07 一种嵌入式总线上错误数据重传方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN116089346B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719561A (zh) * 2023-08-09 2023-09-08 芯砺智能科技(上海)有限公司 一种条件分支指令的处理系统和方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
CN101026441A (zh) * 2006-02-24 2007-08-29 中芯国际集成电路制造(上海)有限公司 一种自动重发出错数据包的方法及重发缓冲器
CN101645766A (zh) * 2009-09-09 2010-02-10 成都市华为赛门铁克科技有限公司 实现数据包重发的方法、装置及系统
JP2013021442A (ja) * 2011-07-08 2013-01-31 Sharp Corp 映像表示装置、映像表示装置が情報を表示するための方法、および、コンピュータが情報を表示する方法を実現するためのプログラム
JPWO2013021442A1 (ja) * 2011-08-05 2015-03-05 富士通株式会社 送信回路、受信回路、送受信システム、及び送受信システムの制御方法
US20150280865A1 (en) * 2014-03-26 2015-10-01 Keysight Technologies , Inc. Retry buffer and method of performing retry operation using retry buffer
US20150378812A1 (en) * 2014-06-26 2015-12-31 Emulex Corporation System and Method for Error Recovery in an Asynchronous FIFO
CN110727530A (zh) * 2019-09-12 2020-01-24 无锡江南计算技术研究所 基于窗口的错误访存请求重传系统及方法
CN114337938A (zh) * 2021-12-14 2022-04-12 海光信息技术股份有限公司 一种数据传输方法、数据重传方法、装置和相关设备
US20220382629A1 (en) * 2021-06-01 2022-12-01 Microchip Technology Inc. Memory address protection

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5077656A (en) * 1986-03-20 1991-12-31 Channelnet Corporation CPU channel to control unit extender
CN101026441A (zh) * 2006-02-24 2007-08-29 中芯国际集成电路制造(上海)有限公司 一种自动重发出错数据包的方法及重发缓冲器
CN101645766A (zh) * 2009-09-09 2010-02-10 成都市华为赛门铁克科技有限公司 实现数据包重发的方法、装置及系统
JP2013021442A (ja) * 2011-07-08 2013-01-31 Sharp Corp 映像表示装置、映像表示装置が情報を表示するための方法、および、コンピュータが情報を表示する方法を実現するためのプログラム
JPWO2013021442A1 (ja) * 2011-08-05 2015-03-05 富士通株式会社 送信回路、受信回路、送受信システム、及び送受信システムの制御方法
US20150280865A1 (en) * 2014-03-26 2015-10-01 Keysight Technologies , Inc. Retry buffer and method of performing retry operation using retry buffer
US20150378812A1 (en) * 2014-06-26 2015-12-31 Emulex Corporation System and Method for Error Recovery in an Asynchronous FIFO
CN110727530A (zh) * 2019-09-12 2020-01-24 无锡江南计算技术研究所 基于窗口的错误访存请求重传系统及方法
US20220382629A1 (en) * 2021-06-01 2022-12-01 Microchip Technology Inc. Memory address protection
CN114337938A (zh) * 2021-12-14 2022-04-12 海光信息技术股份有限公司 一种数据传输方法、数据重传方法、装置和相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719561A (zh) * 2023-08-09 2023-09-08 芯砺智能科技(上海)有限公司 一种条件分支指令的处理系统和方法
CN116719561B (zh) * 2023-08-09 2023-10-31 芯砺智能科技(上海)有限公司 一种条件分支指令的处理系统和方法

Also Published As

Publication number Publication date
CN116089346B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
US11928020B2 (en) Memory error detection
US7447953B2 (en) Lane testing with variable mapping
US7219294B2 (en) Early CRC delivery for partial frame
US7143207B2 (en) Data accumulation between data path having redrive circuit and memory device
US6212161B1 (en) Method and apparatus for a fault tolerant software transparent and high data integrity extension to a backplane bus or interconnect
US8346998B2 (en) System and method for transmitting data packets in a computer system having a memory hub architecture
US20080244121A1 (en) Method and apparatus for memory compression
US7212423B2 (en) Memory agent core clock aligned to lane
CN116089346B (zh) 一种嵌入式总线上错误数据重传方法、系统、介质及设备
US20060004953A1 (en) Method and apparatus for increased memory bandwidth
WO2005008506A2 (en) Switch level reliable transmission
US20050268061A1 (en) Memory channel with frame misalignment
US8510485B2 (en) Low power digital interface
US10862830B2 (en) Real-time on-chip data transfer system
US7606941B2 (en) FIFO device
US20210352025A1 (en) Data transmission system
US20180336132A1 (en) Information processing device, processor, and transmission information storage method
JP2012203474A (ja) メモリカード
JP2003345677A (ja) データ転送システム、論理ユニット及びデータ転送方法
JPH09284356A (ja) データ受信制御装置
JP2001028607A (ja) 通信バッファ回路
JP2003338808A (ja) データ転送装置
JPS58111451A (ja) デ−タ伝送システム

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
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 28, Room 415, 4th Floor, Building A, Zhongchuang Service Center, No. 1 Xihu Road, Wujin National High tech Industrial Development Zone, Changzhou City, Jiangsu Province, 213164

Patentee after: Xinli Intelligent Technology (Jiangsu) Co.,Ltd.

Address before: 201306 building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: Xinli Intelligent Technology (Shanghai) Co.,Ltd.

CP03 Change of name, title or address