CN114244780B - 一种数据传输方法、数据传输装置和相关设备 - Google Patents

一种数据传输方法、数据传输装置和相关设备 Download PDF

Info

Publication number
CN114244780B
CN114244780B CN202111618158.1A CN202111618158A CN114244780B CN 114244780 B CN114244780 B CN 114244780B CN 202111618158 A CN202111618158 A CN 202111618158A CN 114244780 B CN114244780 B CN 114244780B
Authority
CN
China
Prior art keywords
data packet
data
transmitted
end chip
sequence number
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.)
Active
Application number
CN202111618158.1A
Other languages
English (en)
Other versions
CN114244780A (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 CN202111618158.1A priority Critical patent/CN114244780B/zh
Publication of CN114244780A publication Critical patent/CN114244780A/zh
Application granted granted Critical
Publication of CN114244780B publication Critical patent/CN114244780B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

本发明提供了一种数据传输方法、数据传输装置和相关设备,其中数据传输方法包括:获取待传输的数据包;将待传输的数据包缓存在重发缓冲区;重发缓冲区缓存有已传输至接收端芯片的数据包,且已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被待传输的数据包覆盖;将待传输的数据包,按序传输至接收端芯片;其中,预设时间包括从数据包传输完成到接收到错误指令的延时时间,错误指令为接收端芯片发送的用于指示数据包传输错误的指令,从而不再需要接收正确指令,也不再需要根据正确指令确定并删除已传输成功的数据包,进而可以简化数据传输步骤,提高数据传输效率。

Description

一种数据传输方法、数据传输装置和相关设备
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种数据传输方法、数据传输装置和相关设备。
背景技术
目前的芯片间的数据传输方案是从传统的PCIE(Peripheral ComponentInterconnect Express,外部设备互连总线)的数据传输方案演化而来的。并且,基于兼容性的考虑,并未对PCIE数据传输方案进行较大的改动。但是,由于芯片间数据传输的信号场景比传统的PCIE数据传输的信号场景简单,因此,导致芯片间的数据传输步骤有些冗余,导致数据传输效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据传输方法、数据传输装置和相关设备,以简化数据传输步骤,提高数据传输效率。
为解决上述问题,本发明实施例提供如下技术方案:
本发明第一方面提供了一种数据传输方法,应用于发送端芯片,所述数据传输方法包括:
获取待传输的数据包;
将所述待传输的数据包缓存在重发缓冲区;所述重发缓冲区缓存有已传输至接收端芯片的数据包,且所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
将所述待传输的数据包,按序传输至所述接收端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
本发明第二方面提供了一种数据传输方法,应用于接收端芯片,所述数据传输方法包括:
接收发送端芯片发送的数据包;所述数据包为缓存在所述发送端芯片的重发缓冲区中的待传输的数据包;所述重发缓冲区缓存有已传输至接收端芯片的数据包;所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
对所述数据包进行检验;
若检验未通过,生成错误指令,并将所述错误指令返回至所述发送端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
本发明第三方面提供了一种数据传输装置,应用于发送端芯片,所述数据传输装置包括:
第一传输模块,用于获取待传输的数据包;
缓存模块,用于将所述待传输的数据包缓存在重发缓冲区;所述重发缓冲区缓存有已传输至接收端芯片的数据包,且所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
第二传输模块,用于将所述待传输的数据包,按序传输至所述接收端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
本发明第四方面提供了一种数据传输装置,应用于接收端芯片,所述数据传输装置包括:
第三传输模块,用于接收发送端芯片发送的数据包;所述数据包为缓存在所述发送端芯片的重发缓冲区中的待传输的数据包;所述重发缓冲区缓存有已传输至接收端芯片的数据包;所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
检验模块,用于对所述数据包进行检验,若检验未通过,生成错误指令,并将所述错误指令发送至所述第三传输模块;
所述第三传输模块还用于将所述错误指令返回至所述发送端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
本发明第五方面提供了一种芯片,所述芯片被配置为执行如上任一项所述的数据传输方法。
本发明第六方面提供了一种电子设备,包括如上所述的芯片。
本发明实施例提供的数据传输方法、数据传输装置和相关设备,发送端芯片在获取待传输的数据包,并将待传输的数据包缓存在重发缓冲区之后,根据预设时间确定已传输成功的数据包,即,若数据包的已传输时间大于预设时间,则该数据包为已传输成功的数据包,并通过使新接收到的待传输的数据覆盖已传输成功的数据包,来删除已传输成功的数据包,释放重发缓冲区的存储空间,从而不再需要接收正确指令,也不再需要根据正确指令确定并删除已传输成功的数据包,不仅可以简化数据传输步骤,提高有效数据带宽,提高数据传输效率,还可以减小重发缓冲区所需的存储空间,提高发送端芯片的系统性能。
此外,由于待传输的数据仅覆盖已传输成功的数据包,未覆盖尚未确定是否传输成功的数据包,即并未覆盖已传输时间小于或等于预设时间的数据包,因此,在接收到错误指令之后,可以从已传输时间小于或等于预设时间的数据包中确定错误指令对应的数据包,从而可以保证数据包的重新传输,保证数据传输的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种PCIE数据传输架构示意图;
图2为一种PCIE数据传输方法的流程图;
图3为本发明一个实施例提供的数据传输方法的流程图;
图4为本发明另一个实施例提供的数据传输方法的流程图;
图5为本发明另一实施例提供的数据传输方法的流程图;
图6为本发明另一实施例提供的数据传输方法的流程图;
图7为本发明一个实施例提供的错误指令的格式示意图;
图8为本发明一个实施例提供的数据传输方法的流程图;
图9为本发明一个实施例提供的数据传输装置的结构示意图;
图10为本发明一个实施例提供的数据传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1和图2所示,图1为一种PCIE数据传输架构示意图,图2为一种PCIE数据传输方法的流程图,发送端的数据链路层接收其事务层(Transaction Layer Protocol,简称TLP)输出的数据包之后,会将校验码(Cyclic Redundancy Check,简称CRC)和序列号(Sequence Number)加到数据包中,然后通过物理层(PHY)将数据包发送至接收端,同时将数据包、校验码和序列号缓存到发送端的重发缓冲区(Replay Buffer)中,以备重新传输使用。
接收端的错误检验器会检验接收到的每个数据包,检验数据包中的校验码和序列号是否正确。若检验通过,接收端会向其事务层输出该数据包,并通过向发送端返回正确指令Ack,通知发送端其已成功接收到至少一个数据包。发送端在接收到正确指令Ack之后,可以将重发缓冲区中已传输成功的数据包删除,以释放缓存空间。
若检验未通过,接收端通过向发送端返回错误指令Nak,通知发送端其至少接收到一个错误的数据包。发送端在接收到错误指令Nak之后,会将重发缓冲区中错误的数据包及其之后发送的数据包重新发送至接收端。
发明人研究发现,无论传输成功还是传输错误,接收端都会向发送端返回指令,这样就会导致数据传输步骤有些冗余,导致数据传输效率较低。基于此,本发明实施例提供了一种数据传输方法、数据传输装置和相关设备,以在保证数据可靠传输的基础上,简化数据传输步骤。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种数据传输方法,应用于发送端芯片,该芯片可以是封装后的芯片,也可以是未封装的裸片(Die)。如图3所示,图3为本发明一个实施例提供的数据传输方法的流程图,该数据传输方法包括:
S301:获取待传输的数据包;
本发明实施例中,在发送端芯片和接收端芯片需要进行数据交互时,发送端芯片的数据链路层获取发送端芯片的事务层输出的待传输的数据包,该待传输的数据包为TLP数据包。并且,待传输的数据包中包含发送端芯片的事务层待传输至接收端芯片的事务层的数据。
S302:将待传输的数据包缓存在重发缓冲区;该重发缓冲区缓存有已传输至接收端芯片的数据包,且已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被该待传输的数据包覆盖;
S303:将待传输的数据包,按序传输至接收端芯片;其中,预设时间包括:从数据包传输完成到接收到错误指令的延时时间,错误指令为接收端芯片发送的用于指示该数据包传输错误的指令。
本发明实施例中,发送端芯片的数据链路层获取待传输的数据包之后,会先将待传输的数据包缓存在发送端芯片的重发缓冲区中,并使待传输的数据包覆盖已传输时间大于预设时间的数据包,然后将待传输的数据包,按序传输至接收端芯片。其中,已传输时间是指数据包传输完成的时间到当前时间的差值。
需要说明的是,重发缓冲区会按照先接收先传输的原则传输数据包。也就是说,先缓存至重发缓冲区中的数据包,会先传输至接收端芯片。并且,已传输至接收端芯片的数据包也会缓存在重发缓冲区中,以备出现传输错误时重新传输使用。
其中,预设时间包括但并不仅限于从数据包传输完成到接收到指示该数据包传输错误的错误指令的延时时间。也就是说,预设时间可以等于从数据包传输完成到接收到指示该数据包传输错误的错误指令的延时时间,也可以大于从数据包传输完成到接收到指示该数据包传输错误的错误指令的延时时间。
本发明实施例中,发送端芯片在获取待传输的数据包,并将待传输的数据包缓存在重发缓冲区之后,不再根据正确指令确定并删除已传输成功的数据包,而是根据预设时间确定已传输成功的数据包,即,若数据包的已传输时间大于预设时间,则该数据包为已传输成功的数据包,并通过使新接收到的待传输的数据覆盖已传输成功的数据包,来删除已传输成功的数据包,释放重发缓冲区的存储空间,不仅可以简化数据传输步骤,提高有效数据带宽,提高数据传输效率。
此外,由于待传输的数据仅覆盖已传输成功的数据包,未覆盖尚未确定是否传输成功的数据包,即并未覆盖已传输时间小于或等于预设时间的数据包,因此,在接收到错误指令之后,可以从已传输时间小于或等于预设时间的数据包中确定错误指令对应的数据包,从而可以保证数据包的重新传输,保证数据传输的可靠性。
下面结合发送端芯片和接收端芯片的数据传输步骤,对本发明实施例提供的数据传输方法进行说明。如图4所示,图4为本发明另一个实施例提供的数据传输方法的流程图,其中步骤S401至S403与步骤S301至S303分别相同,在此不再赘述。
接收端芯片的数据链路层在接收到发送端芯片发送的数据包之后,进入步骤S404,对数据包进行检验。
接收端芯片的数据链路层对数据包进行检验之后,若检验通过,说明数据包未出现传输错误,接收端芯片的数据链路层会将数据包发送至接收端芯片的事务层,若检验未通过,说明数据包出现传输错误,进入步骤S405,接收端芯片的数据链路层生成错误指令,并将错误指令返回至发送端芯片。
发送端芯片接收到错误指令之后,根据错误指令确定待重新传输的数据包,之后,将重发缓冲区中待重新传输的数据包重新发送至接收端芯片。
也就是说,本发明实施例中,发送端芯片将数据包发送至接收端芯片之后,接收端芯片仅在出现数据包传输错误时,发送错误指令至发送端芯片,在数据包传输成功时,不再发送正确指令至发送端芯片,发送端芯片也不再接收正确指令,也不再根据正确指令删除已传输成功的数据包,因此,可以简化数据传输步骤,提高数据传输效率。
但是,这样又会出现不能根据正确指令删除已传输成功的数据包,导致重发缓冲区的存储空间不能及时释放的问题。虽然可以根据错误指令删除已传输成功的数据包,即发送端芯片可以在接收到错误指令之后,根据错误指令中携带的序列号,确定哪些数据包已经传输成功,并删除已传输成功的数据包,释放重发缓冲区的存储空间,但是,若长时间未收到错误指令,则重发缓冲区需缓存大量的已传输成功的数据包,导致重发缓冲区所需的存储空间太大,影响发送端芯片内系统的运行速率。
基于此,本发明实施例中,根据从数据包传输完成到接收到指示该数据包传输错误的错误指令的延时时间,确定预设时间,然后根据预设时间,确定重发缓冲区中哪些已传输的数据包需要缓存,哪些已传输的数据包需要删除。
若重发缓冲区中缓存的已传输的数据包的已传输时间小于或等于预设时间,那么,即便这些数据包存在传输错误,但是,对应的错误指令还未被传输至发送端芯片,因此,尚不能确定这些已传输的数据包是否存在传输错误,需要暂时保留重发缓冲区中的这些已传输的数据包,使得这些已传输的数据包不被新接收的待传输的数据包覆盖。发送端芯片在接收到错误指令之后,可以从这些已传输的数据包中确定错误指令对应的数据包,从而可以保证数据包的重新传输,保证数据传输的可靠性。
若重发缓冲区中缓存的已传输的数据包的已传输时间大于预设时间,那么,指示这些已传输的数据包有传输错误的错误指令应当已经被传输至发送端芯片,而发送端芯片并未接收到对应的错误指令,说明这些已传输的数据包并不存在传输错误,即其已经传输成功,不需要再保留这些已传输的数据包,可以使这些已传输的数据包被新接收到的待传输的数据覆盖,以释放重发缓冲区的存储空间。
本发明实施例中,预设时间是根据错误指令的延时时间确定的,当然,本发明并不仅限于此,在另一些实施例中,预设时间也可以是根据芯片间数据的其他交互时间确定的,只要预设时间大于或等于从数据包传输完成到接收到指示该数据包传输错误的错误指令的延时时间即可。
在此基础上,本发明实施例中,还可以根据预设时间设置重发缓冲区的深度(Depth)或存储空间,即设置重发缓冲区的深度或存储空间大于预设时间内已传输数据的存储量,即可在保证可能需要重新传输的数据未被新接收的数据覆盖的基础上,减小重发缓冲区所需的深度或存储空间,提高发送端芯片的系统性能。
本发明一些实施例中,延时时间内已传输的数据的存储量小于70MB,则可以将重发缓冲区的深度或存储空间设置为128MB,与通用的528Bit*256MB的重发缓冲区相比,在同等位宽传输下,减少了一半的缓存深度或缓存空间。
本发明一些实施例中,可以在获取待传输的数据包之后,生成数据包对应的校验码和序列号,并将校验码和序列号加入到数据包中,之后再将数据包缓存到重发缓冲区中,将重发缓冲区中的数据包传输至接收端芯片。
但是,本发明并不仅限于此,在另一些实施例中,为了进一步减小重发缓冲区的深度,并未将校验码和序列号存储到重发缓冲区中,而是在每次传输数据包之前,生成对应的校验码和序列号,并将校验码和序列号加入到数据包中之后,再传输到接收端芯片。
如图5所示,图5为本发明另一实施例提供的数据传输方法的流程图,其中步骤S501至S502与步骤S401至S402相同,步骤S504与步骤S403相同,图5与图4所示的数据传输方法的不同之处在于,在步骤S504之前,还包括步骤S503:生成待传输的数据包对应的校验码和序列号,并将校验码和序列号加入到该待传输的数据包中。
即,在每次将数据包传输至接收端芯片之前,都会从重发缓冲区中获取数据包,重新生成数据包对应的校验码和序列号,并将校验码和序列号加入到对应的数据包中。
由于校验码与数据包是对应的,因此,每次生成的同一数据包的校验码均相同。由于序列号也是与数据包对应的,因此,每次生成的同一数据包的序列号也相同。因此,即便在每次传输数据包之前,才生成对应的校验码和序列号,校验码和序列号也是唯一不变的,并不会影响数据包的重新传输。
在一个具体示例中,发送端芯片包括第一计数器和检验码生成器,该第一计数器用于生成数据包对应的序列号,该检验码生成器用于生成数据包对应的校验码。其中,序列号可以为8位的序列号,也可以为12位的序列号;检验码可以为16bit的校验码,也可以为32bit的校验码,在此不再赘述。并且,同一数据包的序列号是唯一不变的,不同数据包的序列号按照数据包的传输顺序依次增大。其中,序列号每次增加或增大的值可以是相同值。
在上述任一实施例的基础上,本发明一些实施例中,如图6所示,图6为本发明另一实施例提供的数据传输方法的流程图,其中步骤S601至S606与步骤S501至S506相同,图6与图5所示的数据传输方法的不同之处在于,在步骤S606之后,还包括:
S607:接收接收端芯片返回的错误指令;
S608:根据错误指令,确定待重新传输的数据包;
S609:将待重新传输的数据包,按序传输至接收端芯片。
将待传输的数据包传输至接收端芯片之后,若接收到接收端芯片返回的错误指令,说明已传输至接收端芯片的数据包有传输错误。基于此,可以根据错误指令,确定待重新传输的数据包,并将待重新传输的数据包,按序传输至接收端芯片,以保证数据传输的可靠性。
需要说明的是,在一些实施例中,若重发缓冲区的深度或存储空间较小,则在将待重新传输的数据包按序传输至接收端芯片的过程中,需要暂停获取待传输的数据包,即暂停重发缓冲区获取事务层发送的新的待传输的数据包,以免新接收到的数据包覆盖待重新传输的数据包,影响数据的重新传输。
当然,本发明并不仅限于此,在另一些实施例中,若重发缓冲区的深度或存储空间较大,则在将待重新传输的数据包按序传输至接收端芯片的过程中,仍可继续获取新的待传输的数据包。只要新接收到的数据包不覆盖待重新传输的数据包即可。
本发明一些实施例中,错误指令携带有第一序列号,该第一序列号为当前最后一个传输成功的数据包的序列号。当然,本发明并不仅限于此,在另一些实施例中,第一序列号还可以为下一个待接收的数据包的序列号。确定第一序列号之后,将已传输至接收端芯片的数据包中,序列号大于第一序列号的数据包,确定为待重新传输的数据包,即可实现数据包的重新传输。
基于此,本发明一些实施例中,根据错误指令,确定待重新传输的数据包,包括:根据错误指令,确定第一序列号,第一序列号为当前最后一个传输成功的数据包的序列号;将已传输至接收端芯片的数据包中,序列号大于第一序列号的数据包,确定为待重新传输的数据包。其中,序列号按照待传输的数据包的传输顺序依次增大。
假设第一个数据包的序列号为1,每新增一个数据包,序列号增加1,那么,数据包的序列号依次是1、2、3……。若出现数据传输错误的数据包的序列号为10,那么,当前最后一个传输成功的数据包的序列号为9,则错误指令携带的第一序列号即为9,从而可以将重发缓冲区中已传输至接收端芯片的数据包中,序列号大于9的数据包确定为待重新传输的数据包。由于序列号按照待传输的数据包的传输顺序依次增大,因此,序列号大于9的数据包即为序列号为10的数据包及其之后传输至接收端芯片的数据包。
在上述实施例的基础上,本发明一些实施例中,将已传输至接收端芯片的数据包中序列号大于第一序列号的数据包,确定为待重新传输的数据包,包括:
确定大于第一序列号的序列号;
根据序列号与存储地址的映射关系,确定大于第一序列号的序列号对应的数据包的存储地址;
将已传输至接收端芯片的数据包中与存储地址对应的数据包,确定为待重新传输的数据包。
也就是说,本发明一些实施例中,数据包的序列号与该数据包在重发缓冲区中的存储地址对应,在确定待重新传输的数据包的序列号之后,即可根据序列号与存储地址的对应关系,从重发缓冲区中获取对应的数据包,再将数据包重新传输至接收端芯片。
需要说明的是,本发明实施例中的错误指令为数据链路层包,其是由接收端芯片的数据链路层发送,发送端芯片的数据链路层接收的数据包。当然,该数据链路层包与上述事务层发送的数据包并不相同。但是,该数据链路层包中也具有校验码,以验证错误指令是否具有传输错误。
如图7所示,图7为本发明一个实施例提供的错误指令的格式示意图,其不仅包括序列号,还包括校验码和预留的数据存储位,该预留的数据存储位可以存储8bit0xF1。一个具体示例中,错误指令可以包括8bit的序列号、8bit0xF1和16bit的校验码。
本发明一些实施例中,在接收到错误指令之后,还会对错误指令进行有效性验证,以检验错误指令是否存在传输错误,以避免根据有误的错误指令确定有误的第一序列号。
其中,根据错误指令,确定第一序列号包括:
若错误指令是有效指令,对错误指令进行解析,获得错误指令包含的序列号,并将错误指令包含的序列号,确定为第一序列号;
若错误指令不是有效指令,根据接收到错误指令的时间及其延时时间,确定第一序列号。
发送端芯片接收到接收端芯片返回的错误指令之后,检查错误指令中的校验码是否有误;若有误,则错误指令为无效指令,根据接收到错误指令的时间以及错误指令的延时时间,估算出当前最后一个传输成功的数据包的序列号,然后将估算出的序列号确定为第一序列号;若无误,则错误指令为有效指令,对错误指令进行解析之后,即可获得错误指令包含的序列号,该序列号为当前最后一个传输成功的数据包的序列号,之后即可将错误指令包含的序列号,确定为第一序列号,以便根据正确的第一序列号,确定正确的待重新传输的数据包,保证了数据传输的可靠性。
在上述实施例的基础上,本发明一些实施例中,根据错误指令,确定第一序列号之后,还包括:
若第一序列号与已保存的第一序列号相同,使待重新传输的数据包的重新传输次数加1,若重新传输次数大于预设次数,重新训练传输链路,并重新传输待重新传输的数据包;
若第一序列号与已保存的第一序列号不同,使第一序列号替换已保存的第一序列号,并将重新传输次数归零。
将已传输至接收端芯片的数据包中序列号大于第一序列号的数据包,确定为待重新传输的数据包,并将待重新传输的数据包重新传输至接收端芯片的过程中,仍有可能出现传输错误的情况。因此,需要接收端芯片再次生成错误指令,发送端芯片再次重新传输。但是,若多次重新传输的相同数据包仍有错误,说明传输的链路存在问题,需要重新训练传输链路。
基于此,本发明一些实施例中,发送端芯片在每次接收到错误指令,并根据错误指令确定第一序列号之后,都会将第一序列号保存在序列号寄存器中。在下一次确定第一序列号之后,会将第一序列号与已保存的第一序列号进行比较,若不同,说明新的数据包出现了传输错误,若相同,说明同一数据包再次出现了传输错误,使待重新传输的数据包的重新传输次数加1,并判断加1之后的重新传输次数是否大于预设次数,若小于,再次重新传输,若大于,说明传输链路存在问题,重新训练传输链路,并在传输链路重新训练完成之后,将重新传输次数归零或重置为0,然后重新传输待重新传输的数据包。
需要说明的是,本发明一些实施例中,发送端芯片还包括第二计数器,第二计数器用于对重新传输次数进行计数。若重新传输次数大于预设次数,数据链路层会自动强制物理层(PHY)重新训练链路变为恢复状态。可选地,预设次数等于4。
在上述实施例的基础上,本发明一些实施例中,使第一序列号替换已保存的第一序列号之后,还包括:删除已传输至接收端芯片的数据包中序列号小于或等于第一序列号的数据包。
若第一序列号与已保存的第一序列号不同,说明新的数据包出现了传输错误,说明第一序列号对应的数据包之前传输的数据包已经传输成功,从而可以删除已传输至接收端芯片的数据包中序列号小于或等于第一序列号的数据包,以进一步释放重发缓冲区的存储空间。
还需要说明的是,本发明一些实施例中,在确定第一序列号后,若重发缓冲区中不存在待重新传输的数据包,如重发缓冲区中待重新传输的数据包已经被新接收的待传输的数据包覆盖,则数据链路层还会向事务层发送重新获取指令,以便从事务层重新获取待重新传输的数据包,保证数据传输的可靠性。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种数据传输方法,应用于接收端芯片,该芯片可以是封装后的芯片,也可以是未封装的裸片(Die)。如图8所示,图8为本发明一个实施例提供的数据传输方法的流程图,该数据传输方法包括:
S801:接收发送端芯片发送的数据包;数据包为缓存在发送端芯片的重发缓冲区中的待传输的数据包;重发缓冲区缓存有已传输至接收端芯片的数据包;已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被待传输的数据包覆盖;
S802:对数据包进行检验;若检验未通过,进入S803;
S803:生成错误指令,并将错误指令发送至发送端芯片;
其中,预设时间包括:从数据包传输完成到接收到错误指令的延时时间,错误指令为接收端芯片发送的用于指示数据包传输错误的指令。
本发明一些实施例中,对数据包进行检验包括:
对数据包进行解析,获得数据包对应的校验码;
若校验码与重新生成的校验码不同,则检验未通过;
若校验码与重新生成的校验码相同,则根据数据包的序列号与预期序列号的比较结果,确定检验是否通过;
其中,预期序列号为下一个待接收的数据包的序列号。
在上述实施例的基础上,本发明一些实施例中,根据数据包的序列号与预期序列号的比较结果,确定检验是否通过包括:
若数据包的序列号大于预期序列号,则检验未通过;
若数据包的序列号小于或等于预期序列号,则检验通过。
接收端芯片的数据链路层在接收到发送端芯片发送的数据包之后,先通过检验数据包中的校验码是否正确,来确定数据包是否有传输错误。即,对数据包进行解析,获得数据包对应的校验码,然后根据接收到的数据包的比特重新生成校验码,然后比较数据包中的校验码和重新生成的校验码,若二者不相同,说明接收到的数据包中存在错误,检验未通过,生成错误指令,并将错误指令发送至发送端芯片,以使发送端芯片重新传输数据包至接收端芯片;
若二者相同,说明接收到的数据包中的所有比特都与传输之前完全一致,检验码检验通过,之后,通过将数据包的序列号与预期序列号进行比较,来确定数据包是否有传输错误,如确定是否有漏掉的数据包。
由于预期序列号为下一个待接收的数据包的序列号,因此,若数据包的序列号等于预期序列号,说明该数据包正是预期接收的下一个数据包,检验通过,接收端芯片的数据链路层会将该数据包发送至其事务层,并使预期序列号递增。需要说明的是,预期序列号的初始值和增加值与发送端芯片的序列号的初始值和增加值相同,以便验证数据包是否被顺序接收。
若数据包的序列号小于预期序列号,说明该数据包已经被接收端芯片接收并发送至其事务层,检验通过。因为这并不是传输错误,属于重复传输,只需删除重复的数据包即可。
若数据包的序列号大于预期序列号,说明数据链路层有丢失的数据包,检验未通过,需要生成错误指令,以使发送端芯片根据错误指令重新发送正确的数据包。
需要说明的是,接收端芯片会采用计数器跟踪获得预期序列号,用于验证数据包是否被顺序接收。当接收端芯片的数据链路层处于非活动状态时,即接收端芯片的数据链路层未接收数据时,预期序列号被初始化为初始值,如0,之后,每成功发送至事务层一个数据包,使得预期序列号增加一次,有错误或被删除的数据包不会被发送至事务层,因此,预期序列号不增加。
还需要说明的是,可以根据预期序列号获得当前最后一个传输成功的数据包的序列号,如将预期序列号减少一个增加值,然后即可根据获得的当前最后一个传输成功的数据包的序列号,生成错误指令。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种数据传输装置,应用于发送端芯片。如图9所示,图9为本发明一个实施例提供的数据传输装置的结构示意图,该数据传输装置包括:
第一传输模块91,用于获取待传输的数据包;
数据处理模块92,用于将待传输的数据包缓存在重发缓冲区;重发缓冲区缓存有已传输至接收端芯片的数据包,且已传输至接收端芯片的数据包中已传输时间大于预设时间的数据包被待传输的数据包覆盖;
第二传输模块93,用于将待传输的数据包,按序传输至接收端芯片;
其中,预设时间包括:从数据包传输完成到接收到错误指令的延时时间,错误指令为接收端芯片发送的用于指示数据包传输错误的指令。
本发明一些实施例中,将待传输的数据包,按序传输至接收端芯片之前,数据处理模块92还用于生成待传输的数据包对应的校验码和序列号;将序列号和校验码,加入到待传输的数据包中。
本发明一些实施例中,第二传输模块93还用于接收接收端芯片返回的错误指令,以及,将待重新传输的数据包,按序传输至接收端芯片;数据处理模块92还用于根据错误指令,确定待重新传输的数据包。
本发明一些实施例中,第一传输模块91还用于在将待重新传输的数据包按序传输至接收端芯片的过程中,暂停获取待传输的数据包。
本发明一些实施例中,数据处理模块92根据错误指令,确定待重新传输的数据包,包括:
根据错误指令,确定第一序列号,第一序列号为当前最后一个传输成功的数据包的序列号;
将已传输至接收端芯片的数据包中,序列号大于第一序列号的数据包,确定为待重新传输的数据包,序列号按照待传输的数据包的传输顺序依次增大。
本发明一些实施例中,数据处理模块92将已传输至接收端芯片的数据包中,序列号大于第一序列号的数据包,确定为待重新传输的数据包,包括:
确定大于第一序列号的序列号;
根据序列号与存储地址的映射关系,确定大于第一序列号的序列号对应的数据包的存储地址;
将已传输至接收端芯片的数据包中,与存储地址对应的数据包,确定为待重新传输的数据包。
本发明一些实施例中,数据处理模块92根据错误指令,确定第一序列号包括:
若错误指令是有效指令,对错误指令进行解析,获得错误指令包含的序列号,并将错误指令包含的序列号,确定为第一序列号;
若错误指令不是有效指令,根据接收到错误指令的时间及其延时时间,确定第一序列号。
本发明一些实施例中,数据处理模块92根据错误指令,确定第一序列号之后,还包括:
若第一序列号与已保存的第一序列号相同,使待重新传输的数据包的重新传输次数加1,若重新传输次数大于预设次数,重新训练传输链路,并重新传输待重新传输的数据包;
若第一序列号与已保存的第一序列号不同,使第一序列号替换已保存的第一序列号,并重置重新传输次数。
本发明一些实施例中,数据处理模块92使第一序列号替换已保存的第一序列号之后,还包括:
删除已传输至接收端芯片的数据包中,序列号小于或等于第一序列号的数据包。
在一个具体示例中,该数据传输装置包括第一计数器和检验码生成器,该第一计数器用于生成数据包对应的序列号,该检验码生成器用于生成数据包对应的校验码。
在另一具体示例中,该数据传输装置还包括第二计数器,该第二计数器用于对重新传输次数进行计数。
本发明实施例中,通过简化数据传输步骤,不仅可以提高有效数据带宽,提高数据传输效率,还可以降低装置中硬件实现的复杂度,有效减少硬件的面积。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种数据传输装置,应用于接收端芯片。如图10所示,图10为本发明一个实施例提供的数据传输装置的结构示意图,该数据传输装置包括:
第三传输模块101,用于接收发送端芯片发送的数据包;数据包为缓存在发送端芯片的重发缓冲区中的待传输的数据包;重发缓冲区缓存有已传输至接收端芯片的数据包;已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被待传输的数据包覆盖;
检验模块102,用于对数据包进行检验,若检验未通过,生成错误指令,并将错误指令发送至第三传输模块101;
第三传输模块101还用于将错误指令发送至发送端芯片;
其中,预设时间包括:从数据包传输完成到接收到错误指令的延时时间,错误指令为接收端芯片发送的用于指示数据包传输错误的指令。
当然,本实施例中的数据传输装置还包括第四传输模块103,用于将检验通过的数据包发送至接收端芯片的事务层。
本发明一些实施例中,检验模块102对数据包进行检验包括:
对数据包进行解析,获得数据包对应的校验码;
若校验码与重新生成的校验码不同,则检验未通过;
若校验码与重新生成的校验码相同,则根据数据包的序列号与预期序列号的比较结果,确定检验是否通过;
其中,预期序列号等于当前最后一个传输成功的数据包的序列号。
本发明一些实施例中,检验模块102根据数据包的序列号与预期序列号的比较结果,确定检验是否通过包括:
若数据包的序列号大于预期序列号,则检验未通过;
若数据包的序列号小于或等于预期序列号,则检验通过。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种芯片,该芯片被配置为执行如上任一实施例提供的应用于发送端芯片的数据传输方法,或者,如上任一实施例提供的应用于接收端芯片的数据传输方法。其中,该芯片可以为封装后的芯片,也可以为未封装的裸片。
作为本发明实施例公开内容的一种可选实现,本发明实施例提供了一种电子设备,该电子设备包括如上实施例的芯片。
本发明实施例的电子设备包括但不仅限于移动通信设备、超移动个人计算机设备、便携式娱乐设备、服务器和其他具有数据交互功能的电子设备,其中,移动通信设备包括但不仅限于智能手机和多媒体手机,超移动个人计算机设备包括不仅限于平板电脑,便携式娱乐设备包括但不仅限于电子书和掌上游戏机,服务器包括但不仅限于计算机设备。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (16)

1.一种数据传输方法,其特征在于,应用于发送端芯片,所述数据传输方法包括:
获取待传输的数据包;
将所述待传输的数据包缓存在重发缓冲区;所述重发缓冲区缓存有已传输至接收端芯片的数据包,且所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
将所述待传输的数据包,按序传输至所述接收端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
2.根据权利要求1所述的数据传输方法,其特征在于,将所述待传输的数据包,按序传输至所述接收端芯片之前,还包括:
生成所述待传输的数据包对应的校验码和序列号;
将所述序列号和所述校验码,加入到所述待传输的数据包中。
3.根据权利要求1或2所述的数据传输方法,其特征在于,还包括:
接收所述接收端芯片返回的错误指令;
根据所述错误指令,确定待重新传输的数据包;
将所述待重新传输的数据包,按序传输至所述接收端芯片。
4.根据权利要求3所述的数据传输方法,其特征在于,还包括:
在将所述待重新传输的数据包按序传输至所述接收端芯片的过程中,暂停获取所述待传输的数据包。
5.根据权利要求3所述的数据传输方法,其特征在于,所述根据所述错误指令,确定待重新传输的数据包,包括:
根据所述错误指令,确定第一序列号,所述第一序列号为当前最后一个传输成功的数据包的序列号;
将所述已传输至接收端芯片的数据包中,序列号大于所述第一序列号的数据包,确定为所述待重新传输的数据包,所述序列号按照所述待传输的数据包的传输顺序依次增大。
6.根据权利要求5所述的数据传输方法,其特征在于,所述将所述已传输至接收端芯片的数据包中,序列号大于所述第一序列号的数据包,确定为所述待重新传输的数据包,包括:
确定大于所述第一序列号的序列号;
根据序列号与存储地址的映射关系,确定所述大于所述第一序列号的序列号对应的数据包的存储地址;
将所述已传输至接收端芯片的数据包中,与所述存储地址对应的数据包,确定为所述待重新传输的数据包。
7.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述错误指令,确定第一序列号包括:
若所述错误指令是有效指令,对所述错误指令进行解析,获得所述错误指令包含的序列号,并将所述错误指令包含的序列号,确定为所述第一序列号;
若所述错误指令不是有效指令,根据接收到所述错误指令的时间及其延时时间,确定所述第一序列号。
8.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述错误指令,确定第一序列号之后,还包括:
若所述第一序列号与已保存的第一序列号相同,使所述待重新传输的数据包的重新传输次数加1,若所述重新传输次数大于预设次数,重新训练传输链路,并重新传输所述待重新传输的数据包;
若所述第一序列号与所述已保存的第一序列号不同,使所述第一序列号替换所述已保存的第一序列号,并重置重新传输次数。
9.根据权利要求8所述的数据传输方法,其特征在于,所述使所述第一序列号替换所述已保存的第一序列号之后,还包括:
删除所述已传输至接收端芯片的数据包中,序列号小于或等于所述第一序列号的数据包。
10.一种数据传输方法,其特征在于,应用于接收端芯片,所述数据传输方法包括:
接收发送端芯片发送的数据包;所述数据包为缓存在所述发送端芯片的重发缓冲区中的待传输的数据包;所述重发缓冲区缓存有已传输至接收端芯片的数据包;所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
对所述数据包进行检验;
若检验未通过,生成错误指令,并将所述错误指令返回至所述发送端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
11.根据权利要求10所述的数据传输方法,其特征在于,对所述数据包进行检验包括:
对所述数据包进行解析,获得所述数据包对应的校验码;
若所述校验码与重新生成的校验码不同,则检验未通过;
若所述校验码与重新生成的校验码相同,则根据所述数据包的序列号与预期序列号的比较结果,确定检验是否通过;
其中,所述预期序列号等于当前最后一个传输成功的数据包的序列号。
12.根据权利要求11所述的数据传输方法,其特征在于,所述根据所述数据包的序列号与预期序列号的比较结果,确定检验是否通过包括:
若所述数据包的序列号大于预期序列号,则检验未通过;
若所述数据包的序列号小于或等于所述预期序列号,则检验通过。
13.一种数据传输装置,其特征在于,应用于发送端芯片,所述数据传输装置包括:
第一传输模块,用于获取待传输的数据包;
缓存模块,用于将所述待传输的数据包缓存在重发缓冲区;所述重发缓冲区缓存有已传输至接收端芯片的数据包,且所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
第二传输模块,用于将所述待传输的数据包,按序传输至所述接收端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
14.一种数据传输装置,其特征在于,应用于接收端芯片,所述数据传输装置包括:
第三传输模块,用于接收发送端芯片发送的数据包;所述数据包为缓存在所述发送端芯片的重发缓冲区中的待传输的数据包;所述重发缓冲区缓存有已传输至接收端芯片的数据包;所述已传输至接收端芯片的数据包中,已传输时间大于预设时间的数据包被所述待传输的数据包覆盖;
检验模块,用于对所述数据包进行检验,若检验未通过,生成错误指令,并将所述错误指令发送至所述第三传输模块;
所述第三传输模块还用于将所述错误指令返回至所述发送端芯片;
其中,所述预设时间包括:从数据包传输完成到接收到错误指令的延时时间,所述错误指令为所述接收端芯片发送的用于指示所述数据包传输错误的指令。
15.一种芯片,其特征在于,所述芯片被配置为执行如权利要求1至9任一项所述的数据传输方法,或者,如权利要求10至12任一项所述的数据传输方法。
16.一种电子设备,其特征在于,包括权利要求15所述的芯片。
CN202111618158.1A 2021-12-27 2021-12-27 一种数据传输方法、数据传输装置和相关设备 Active CN114244780B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111618158.1A CN114244780B (zh) 2021-12-27 2021-12-27 一种数据传输方法、数据传输装置和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111618158.1A CN114244780B (zh) 2021-12-27 2021-12-27 一种数据传输方法、数据传输装置和相关设备

Publications (2)

Publication Number Publication Date
CN114244780A CN114244780A (zh) 2022-03-25
CN114244780B true CN114244780B (zh) 2024-04-16

Family

ID=80763693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111618158.1A Active CN114244780B (zh) 2021-12-27 2021-12-27 一种数据传输方法、数据传输装置和相关设备

Country Status (1)

Country Link
CN (1) CN114244780B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115173990A (zh) * 2022-06-15 2022-10-11 杭州海康机器人技术有限公司 一种数据包传输方法
CN115987460B (zh) * 2023-03-21 2023-06-16 深圳华锐分布式技术股份有限公司 基于校验码的数据传输方法、装置、设备及介质
CN116032438A (zh) * 2023-03-30 2023-04-28 合肥高维数据技术有限公司 用于物理隔离传输装置的错误反馈方法
CN116743324B (zh) * 2023-08-16 2023-11-03 苏州浪潮智能科技有限公司 数据传输方法、装置、接收端、存储介质、系统及服务器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109410A (ja) * 2006-10-25 2008-05-08 Kyocera Mita Corp ファクシミリ通信方法およびファクシミリ装置
CN106658051A (zh) * 2016-12-30 2017-05-10 中广热点云科技有限公司 一种缓冲播放流媒体的控制方法及系统
CN111800200A (zh) * 2020-06-15 2020-10-20 华南理工大学 一种水声网络并行通信的发送时间规划方法
CN112291047A (zh) * 2020-11-16 2021-01-29 北京升哲科技有限公司 传输确认方法、装置、设备及存储介质
CN112532359A (zh) * 2020-11-23 2021-03-19 广州技象科技有限公司 接收端基于数据重传数据进行内容合并的方法及装置
CN112738229A (zh) * 2020-12-29 2021-04-30 北京航天自动控制研究所 一种实现数据自动续传的通信方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008109410A (ja) * 2006-10-25 2008-05-08 Kyocera Mita Corp ファクシミリ通信方法およびファクシミリ装置
CN106658051A (zh) * 2016-12-30 2017-05-10 中广热点云科技有限公司 一种缓冲播放流媒体的控制方法及系统
CN111800200A (zh) * 2020-06-15 2020-10-20 华南理工大学 一种水声网络并行通信的发送时间规划方法
CN112291047A (zh) * 2020-11-16 2021-01-29 北京升哲科技有限公司 传输确认方法、装置、设备及存储介质
CN112532359A (zh) * 2020-11-23 2021-03-19 广州技象科技有限公司 接收端基于数据重传数据进行内容合并的方法及装置
CN112738229A (zh) * 2020-12-29 2021-04-30 北京航天自动控制研究所 一种实现数据自动续传的通信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据中心网络差分流传输控制协议研究;蔡岳平;西安交通大学学报;20170304;全文 *

Also Published As

Publication number Publication date
CN114244780A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN114244780B (zh) 一种数据传输方法、数据传输装置和相关设备
CN112217599B (zh) 数据帧接收方法和装置以及通信方法和系统
CN111327603B (zh) 数据传输方法、装置和系统
CN103248467B (zh) 基于片内连接管理的rdma通信方法
CN110431783B (zh) 发送反馈信息的方法和设备
US20070179733A1 (en) Methods and apparatus for testing a link between chips
JP3996928B2 (ja) 破損データを処理する方法
CN104866454A (zh) 面向板级高速总线的写报文前瞻处理方法及装置
CN103188059A (zh) 快速通道互联系统中数据包重传方法、装置和系统
CN106656425A (zh) 光纤通道中固定帧长度的一种高效差错重传与存取机制
US7436777B2 (en) Failed link training
CN114095117A (zh) 一种以太网错误帧的重传方法及相关装置
JP2006087124A5 (zh)
US7363402B2 (en) Data communications architecture employing parallel SERDES channels
US7606253B2 (en) Successful transactions
CN114337938B (zh) 一种数据传输方法、数据重传方法、装置和相关设备
CN102821043B (zh) 一种控制方法和装置
US20240146806A1 (en) Intermediate apparatus, communication method, and program
JPH0955718A (ja) データ通信装置
US7672222B2 (en) Link failures
US7310762B2 (en) Detection of errors
CN111741013A (zh) 数据传输方法及装置
KR100937314B1 (ko) 에이알큐 방식의 데이터통신에서의 패킷분할을 이용한 공격적 패킷 합성 방법
CN116743324B (zh) 数据传输方法、装置、接收端、存储介质、系统及服务器
US7454514B2 (en) Processing data with uncertain arrival time

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