CN104298629A - 一种用于pci-e的数据传输方法及系统 - Google Patents
一种用于pci-e的数据传输方法及系统 Download PDFInfo
- Publication number
- CN104298629A CN104298629A CN201310296227.0A CN201310296227A CN104298629A CN 104298629 A CN104298629 A CN 104298629A CN 201310296227 A CN201310296227 A CN 201310296227A CN 104298629 A CN104298629 A CN 104298629A
- Authority
- CN
- China
- Prior art keywords
- equipment
- main equipment
- packet
- instruction
- data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请实施例提供了一种用于PCI-E的数据传输方法及系统。所述方法可以包括:判断从设备是否处于离线状态,得到第一判断结果;当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。采用本申请实施例的方法或系统,能够将从设备的离线状态及时反馈至主设备,减少从设备的热插拔过程对数据处理业务的影响时间,从而提高PCI-E接口在热插拔过程中的健壮性。
Description
技术领域
本申请实施例涉及通信领域,特别是涉及一种用于PCI-E的数据传输方法及系统。
背景技术
PCI-E(Peripheral Component Interface Express,总线和接口标准)是最新的总线和接口标准。按照PCI-E总线的协议,总线上所有引发PCI传输事务的实体可以称为主设备,响应传输事务的实体可以称为从设备。主设备应具备处理能力,可以对总线进行控制。即当一个设备作为主设备时,该设备相当于一个总线主控器。
PCI-E接口是针对PC的设计而开发的,由于其具有占用管脚少,传输速率高等优点,网络设备中的大容量业务处理单板上的芯片也越来越多的采用PCI-E总线作为控制总线。
网络设备在通信网络中通常担负着比较庞大的数据处理职能。因此,对于网络设备而言,需要满足以下指标:即一个设备的热插拔过程对数据处理业务的影响不大于50毫秒。
现有技术中,用于PCI-E的数据传输方法主要是:工作人员提起拉手条将作为从设备的单板拔出后,主设备检测到单板处于离线状态,主设备停止从设备的任务,当从设备再次插入时,主设备通过软件执行复位操作,然后继续进行后续的数据传输。
但是,现有技术中的用于PCI-E的数据传输方法,由于提起拉手条将从设备拔出的过程耗时较长(远大于50ms),因此,无法满足热插拔过程对数据处理业务的影响不大于50毫秒的指标。此外,上述用于PCI-E的数据传输方法中的热插拔流程,还可能会造成PCI-E总线上数据的中断,继而影响主设备的数据接收,可能造成主设备的复位或者PCI-E接口异常。
发明内容
本申请实施例的目的是提供一种用于PCI-E的数据传输方法及系统,能够将从设备的离线状态及时反馈至主设备,减少从设备的热插拔过程对数据处理业务的影响时间,从而提高PCI-E接口在热插拔过程中的健壮性。
为实现上述目的,本申请实施例提供了如下方案:
根据本申请实施例的第一方面的第一种可能的实现方式,本申请实施例提供一种用于PCI-E的数据传输方法,所述方法包括:
判断从设备是否处于离线状态,得到第一判断结果;
当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
结合第一方面的第二种可能的实现方式,所述判断所述从设备对于主设备的指令是否均已响应,包括:
判断所述从设备对所述主设备发出的I/O读写指令是否已响应;
判断所述从设备对所述主设备发出的内存读写指令是否已响应。
结合第一方面的第三种可能的实现方式,所述判断所述从设备对于主设备的指令是否均已响应,包括:
查询状态记录标识;所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值;
判断所述状态记录标识的取值是否等于预设初始值。
结合第一方面的三种可能的实现方式中的任意一种,所述方法还包括:
当所述从设备由在线状态转变至离线状态时,判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
当所述第三判断结果为否时,将缓存中的数据补充为完整的数据包后,发送至所述主设备。
结合第一方面的三种可能的实现方式中的任意一种的一种可能的实现方式,所述将缓存中的数据补充为完整的数据包,包括:
获取所述数据包的完整数据长度;
获取所述数据包中已发送的第一数据长度;
获取所述数据包位于缓存中的第二数据长度;
在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
根据本申请实施例的第二方面的第一种可能的实现方式,本申请实施例提供一种用于PCI-E的数据传输系统,所述系统包括:
第一判断模块,用于判断从设备是否处于离线状态,得到第一判断结果;
第二判断模块,用于当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
第一响应指令发送模块,用于当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
结合第二方面的第二种可能的实现方式,所述第二判断模块,包括:
第一判断单元,用于判断所述从设备对所述主设备发出的I/O读写指令是否已响应;
第二判断单元,用于判断所述从设备对所述主设备发出的内存读写指令是否已响应。
结合第二方面的第三种可能的实现方式,所述第二判断模块,包括:
状态记录标识查询单元,用于查询状态记录标识;所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值;
第三判断单元,用于判断所述状态记录标识的取值是否等于预设初始值。
结合第二方面的三种可能的实现方式中的任意一种,所述系统还包括:
第三判断模块,用于当所述从设备由在线状态转变至离线状态时,判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
数据补充模块,用于当所述第三判断结果为否时,将缓存中的数据补充为完整的数据包后,发送至所述主设备。
结合第二方面的三种可能的实现方式中的任意一种的一种可能的实现方式,所述数据补充模块包括:
完整数据长度获取单元,用于获取所述数据包的完整数据长度;
第一数据长度获取单元,用于获取所述数据包中已发送的第一数据长度;
第二数据长度获取单元,用于获取所述数据包位于缓存中的第二数据长度;
占位字填充单元,用于在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
补充数据包发送单元,用于向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
根据本申请实施例提供的具体实施例,本申请实施例公开了以下技术效果:
本申请实施例公开的用于PCI-E的数据传输方法或系统,通过对从设备的在线状态进行判断,当所述从设备处于离线状态时,判断所述从设备对于主设备的指令是否均已响应,当所述从设备对于主设备的指令尚未全部响应时,主动向所述主设备发送第一响应指令,指示所述主设备停止等待所述从设备发送的响应指令,能够将从设备的离线状态及时反馈至主设备,减少从设备的热插拔过程对数据处理业务的影响时间,从而提高PCI-E接口在热插拔过程中的健壮性。
进一步的,当采用毫秒级的数据处理芯片执行上述控制逻辑时,可以满足从设备的热插拔过程对数据处理业务的影响不大于50毫秒的指标。
附图说明
为了更清楚地说明本申请实施例实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的用于PCI-E的数据传输方法实施例1的流程图;
图2为本申请实施例的用于PCI-E的数据传输方法实施例2的流程图;
图3为本申请实施例的用于PCI-E的数据传输方法实施例3的流程图;
图4为本申请实施例的用于PCI-E的数据传输系统实施例的结构图;
图5为本申请实施例的计算节点的结构图。
具体实施方式
下面将结合本申请实施例实施例中的附图,对本申请实施例实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
为使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
图1为本申请实施例的用于PCI-E的数据传输方法实施例1的流程图。本实施例的执行主体可以是主设备与从设备之间新增的数据处理芯片。如图1所示,所述方法可以包括步骤:
步骤101:判断从设备是否处于离线状态,得到第一判断结果;
当所述从设备,也即单板,被拔出时,所述从设备即处于离线状态。当所述从设备正常工作(例如位于插槽中)时,所述从设备则处于在线状态。
步骤102:当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
在现有技术中,主设备发送给从设备的部分指令,需要等待从设备的响应。如果从设备在接受到主设备的指令后,还没有来得及响应,就转换为离线状态(被拔出)时,主设备会一直等待从设备响应该指令,因此造成从设备的热插拔过程对主设备的数据处理业务的影响大于50毫秒。步骤102中关于从设备是否已对主设备的指令作出响应,进行判断,以便后续通过步骤103避免主设备一直等待从设备的响应指令。
主设备发出的需要从设备响应的指令,通常可以包括:所述主设备发出的对所述从设备进行I/O读写的I/O读写指令,和/或,所述主设备发出的对所述从设备进行内存读写的内存读写指令。其中,I/O读写指令读写的数据不会在从设备中的内存中存储,可以直接被从设备发送或接收。
步骤103:当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
当第二判断结果为否时,表示所述从设备对于主设备的指令尚未全部响应。此时,新增的数据处理芯片,可以主动向主设备发送第一响应指令。所述第一响应指令表示所述从设备尚未准备就绪。所述主设备接收到所述第一响应指令后,可以结束对于当前需要响应的命令的等待。
综上所述,本实施例的用于PCI-E的数据传输方法,通过对从设备的在线状态进行判断,当所述从设备处于离线状态时,判断所述从设备对于主设备的指令是否均已响应,当所述从设备对于主设备的指令尚未全部响应时,主动向所述主设备发送第一响应指令,指示所述主设备停止等待所述从设备发送的响应指令,能够将从设备的离线状态及时反馈至主设备,减少从设备的热插拔过程对数据处理业务的影响时间,从而提高PCI-E接口在热插拔过程中的健壮性。进一步的,当采用毫秒级的数据处理芯片执行上述控制逻辑时,可以满足从设备的热插拔过程对数据处理业务的影响不大于50毫秒的指标。
图2为本申请实施例的用于PCI-E的数据传输方法实施例2的流程图。如图2所示,所述方法可以包括步骤:
步骤201:判断从设备是否处于离线状态,得到第一判断结果;
步骤202:当所述第一判断结果为是时,查询状态记录标识;
所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值。
可以在主设备与从设备之间进行数据交互时,对主设备向从设备发送的指令进行监控。假设状态记录标识的预设初始值为0。主设备每次向从设备发送一个需要从设备响应的指令时,可以令状态记录标识的取值加1,从设备每次向主设备反馈一个响应后的指令时,可以令状态记录标识的取值减1。
步骤203:判断所述状态记录标识的取值是否等于预设初始值,得到第二判断结果;
按照前述假设的预设初始值为0的情况,如果从设备对于主设备的指令均已响应,则状态记录标识的取值应该为0;如果从设备对于主设备的指令尚未全部响应,则状态记录标识的取值应该不为0(大于0)。此时,可以判断所述状态记录标识的取值是否等于0。如果等于0,则表示所述从设备对于主设备的指令均已响应;否则,表示所述从设备对于主设备的指令尚未全部响应。
步骤204:当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
实际应用中,如果从设备转变为离线状态时,正在向主设备传输数据,则可能由于从设备离线,导致主设备接收到的数据包不完整。此时,主设备也会等待从设备继续发送数据,直到当前的数据包接收完整。为了减少主设备的等待时间,使主设备在上述情况下依然能够满足从设备的热插拔过程对数据处理业务的影响不大于50毫秒的指标,本申请实施例还提供了用于PCI-E的数据传输方法实施例3。
图3为本申请实施例的用于PCI-E的数据传输方法实施例3的流程图。如图3所示,所述方法可以包括步骤:
步骤301:判断从设备是否处于离线状态,得到第一判断结果;
步骤302:当所述第一判断结果为是时,查询状态记录标识;
所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值。
步骤303:判断所述状态记录标识的取值是否等于预设初始值,得到第二判断结果;
步骤304:当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
步骤305:判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
数据包中具有表示该数据包是否完整的标识。可以通过识别缓存中是否具有该标识,进而判断数据是否缓存完整。
或者,可以根据接收到的数据长度与该数据包的完整数据长度进行比对,当接收到的数据长度与该数据包的完整数据长度相等时,则该数据缓存完整;否则,该数据尚未全部缓存。
步骤305中的缓存可以是指新增的数据处理芯片中的缓存。从设备在向主设备传输数据时,数据会先传输至该数据处理芯片的缓存中,再由该逻辑模块的缓存发送至所述主设备。因此,当从设备离线时,如果该逻辑模块的缓存中缓存了完整的数据包,则可以有该逻辑模块继续将缓存中的数据发送至主设备,以使主设备接收到完整的数据包。
步骤306:当所述第三判断结果为否时,获取所述数据包的完整数据长度;
步骤307:获取所述数据包中已发送的第一数据长度;
步骤308:获取所述数据包位于缓存中的第二数据长度;
步骤309:在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
假设所述数据包的完整数据长度为128字节,已发送的第一数据长度为64字节,位于缓存中的第二数据长度为32字节,那么剩余的数据长度就为32字节。所述占位字节可以根据预设规则填充,例如,在剩余的数据长度对应的数据位置上可以全部填充0,或者全部填充1。
步骤310:向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
数据包被补充后,从数据长度上与完整的数据包是相同的。因此,主设备会认为当前接收到了完整的数据包,从而中断等待接收所述数据包的剩余数据的过程。
需要说明的是,本实施例中,因为补充数据包是根据预设规则补充的,与原本的数据包的数据内容不一定相同,所以主设备对于补充完整的数据包中的数据是不会进行使用的。补充后的数据包主要起到的作用是使主设备不必再等待接收所述数据包的剩余数据。
本申请实施例还提供了一种用于PCI-E的数据传输系统。图4为本申请实施例的用于PCI-E的数据传输系统实施例的结构图。如图4所示,所述系统可以包括:
第一判断模块401,用于判断从设备是否处于离线状态,得到第一判断结果;
第二判断模块402,用于当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
第一响应指令发送模块403,用于当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
其中,所述第二判断模块402,可以包括:
第一判断单元,用于判断所述从设备对所述主设备发出的I/O读写指令是否已响应;
第二判断单元,用于判断所述从设备对所述主设备发出的内存读写指令是否已响应。
所述第二判断模块402,还可以包括:
状态记录标识查询单元,用于查询状态记录标识;所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值;
第三判断单元,用于判断所述状态记录标识的取值是否等于预设初始值。
所述系统还可以包括:
第三判断模块,用于当所述从设备由在线状态转变至离线状态时,判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
数据补充模块,用于当所述第三判断结果为否时,将缓存中的数据补充为完整的数据包后,发送至所述主设备。
所述数据补充模块可以包括:
完整数据长度获取单元,用于获取所述数据包的完整数据长度;
第一数据长度获取单元,用于获取所述数据包中已发送的第一数据长度;
第二数据长度获取单元,用于获取所述数据包位于缓存中的第二数据长度;
占位字填充单元,用于在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
补充数据包发送单元,用于向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
综上所述,本实施例的用于PCI-E的数据传输系统,通过对从设备的在线状态进行判断,当所述从设备处于离线状态时,判断所述从设备对于主设备的指令是否均已响应,当所述从设备对于主设备的指令尚未全部响应时,主动向所述主设备发送第一响应指令,指示所述主设备停止等待所述从设备发送的响应指令,能够将从设备的离线状态及时反馈至主设备,减少从设备的热插拔过程对数据处理业务的影响时间,从而提高PCI-E接口在热插拔过程中的健壮性。进一步的,当采用毫秒级的数据处理芯片执行上述控制逻辑时,可以满足从设备的热插拔过程对数据处理业务的影响不大于50毫秒的指标。
另外,本申请实施例实施例还提供了一种计算节点,计算节点可能是包含计算能力的主机服务器,或者是个人计算机PC,或者是可携带的便携式计算机或终端等等,本申请实施例具体实施例并不对计算节点的具体实现做限定。
图5为本申请实施例的计算节点的结构图。如图5所示,计算节点700包括:
处理器(processor)710,通信接口(Communications Interface)720,存储器(memory)730,总线740。
处理器710,通信接口720,存储器730通过总线740完成相互间的通信。
处理器710,用于执行程序732。
具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。
处理器710可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例实施例的一个或多个集成电路。
存储器730,用于存放程序732。存储器730可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序732具体可以包括:
第一判断模块401,用于判断从设备是否处于离线状态,得到第一判断结果;
第二判断模块402,用于当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
第一响应指令发送模块403,用于当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
程序732中各模块的具体实现参见图4所示实施例中的相应模块或单元,在此不赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请实施例可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请实施例的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (10)
1.一种用于PCI-E的数据传输方法,其特征在于,所述方法包括:
判断从设备是否处于离线状态,得到第一判断结果;
当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
2.根据权利要求1所述的方法,其特征在于,所述判断所述从设备对于主设备的指令是否均已响应,包括:
判断所述从设备对所述主设备发出的I/O读写指令是否已响应;
判断所述从设备对所述主设备发出的内存读写指令是否已响应。
3.根据权利要求1所述的方法,其特征在于,所述判断所述从设备对于主设备的指令是否均已响应,包括:
查询状态记录标识;所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值;
判断所述状态记录标识的取值是否等于预设初始值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当所述从设备由在线状态转变至离线状态时,判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
当所述第三判断结果为否时,将缓存中的数据补充为完整的数据包后,发送至所述主设备。
5.根据权利要求4所述的方法,其特征在于,所述将缓存中的数据补充为完整的数据包,包括:
获取所述数据包的完整数据长度;
获取所述数据包中已发送的第一数据长度;
获取所述数据包位于缓存中的第二数据长度;
在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
6.一种用于PCI-E的数据传输系统,其特征在于,所述系统包括:
第一判断模块,用于判断从设备是否处于离线状态,得到第一判断结果;
第二判断模块,用于当所述第一判断结果为是时,判断所述从设备对于主设备的指令是否均已响应,得到第二判断结果;
第一响应指令发送模块,用于当所述第二判断结果为否时,向所述主设备发送第一响应指令,以便所述主设备停止等待所述从设备发送的响应指令;所述第一响应指令表示所述从设备尚未准备就绪。
7.根据权利要求6所述的系统,其特征在于,所述第二判断模块,包括:
第一判断单元,用于判断所述从设备对所述主设备发出的I/O读写指令是否已响应;
第二判断单元,用于判断所述从设备对所述主设备发出的内存读写指令是否已响应。
8.根据权利要求6所述的系统,其特征在于,所述第二判断模块,包括:
状态记录标识查询单元,用于查询状态记录标识;所述状态记录标识的生成方式包括:当所述主设备向所述从设备发送需要响应的指令时,所述状态记录标识的取值增加第一数值;当所述从设备向所述主设备发送响应的指令时,所述状态记录标识的取值减少第一数值;
第三判断单元,用于判断所述状态记录标识的取值是否等于预设初始值。
9.根据权利要求6-8任一项所述的系统,其特征在于,所述系统还包括:
第三判断模块,用于当所述从设备由在线状态转变至离线状态时,判断所述主设备当前接收的数据在缓存中是否缓存了完整的数据包,得到第三判断结果;
数据补充模块,用于当所述第三判断结果为否时,将缓存中的数据补充为完整的数据包后,发送至所述主设备。
10.根据权利要求9所述的系统,其特征在于,所述数据补充模块包括:
完整数据长度获取单元,用于获取所述数据包的完整数据长度;
第一数据长度获取单元,用于获取所述数据包中已发送的第一数据长度;
第二数据长度获取单元,用于获取所述数据包位于缓存中的第二数据长度;
占位字填充单元,用于在剩余的数据长度对应的数据位置上填充占位字节,生成补充后的数据包;所述剩余的数据长度等于所述完整数据长度减去所述第一数据长度再减去所述第二数据长度;
补充数据包发送单元,用于向所述主设备发送所述补充后的数据包,以便所述主设备接收到所述补充后的数据包后,中断等待接收所述数据包的剩余数据的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310296227.0A CN104298629A (zh) | 2013-07-15 | 2013-07-15 | 一种用于pci-e的数据传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310296227.0A CN104298629A (zh) | 2013-07-15 | 2013-07-15 | 一种用于pci-e的数据传输方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104298629A true CN104298629A (zh) | 2015-01-21 |
Family
ID=52318360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310296227.0A Pending CN104298629A (zh) | 2013-07-15 | 2013-07-15 | 一种用于pci-e的数据传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298629A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694145A (zh) * | 2017-04-06 | 2018-10-23 | 佛山市顺德区顺达电脑厂有限公司 | Pci-e接口控制系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787410A (zh) * | 2004-12-08 | 2006-06-14 | 中兴通讯股份有限公司 | 一种单板故障检测方法 |
US20090043997A1 (en) * | 2005-10-07 | 2009-02-12 | International Business Machines Corporation | Time-Of-Life Counter For Handling Instruction Flushes From A Queue |
CN101556573A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种基于pcie的数据传输方法和装置 |
CN101673234A (zh) * | 2009-09-25 | 2010-03-17 | 华为技术有限公司 | 一种异常监控方法及装置 |
CN101788947A (zh) * | 2010-02-09 | 2010-07-28 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102662782A (zh) * | 2012-04-17 | 2012-09-12 | 华为技术有限公司 | 一种监控系统总线的方法及装置 |
-
2013
- 2013-07-15 CN CN201310296227.0A patent/CN104298629A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787410A (zh) * | 2004-12-08 | 2006-06-14 | 中兴通讯股份有限公司 | 一种单板故障检测方法 |
US20090043997A1 (en) * | 2005-10-07 | 2009-02-12 | International Business Machines Corporation | Time-Of-Life Counter For Handling Instruction Flushes From A Queue |
CN101556573A (zh) * | 2009-05-21 | 2009-10-14 | 成都市华为赛门铁克科技有限公司 | 一种基于pcie的数据传输方法和装置 |
CN101673234A (zh) * | 2009-09-25 | 2010-03-17 | 华为技术有限公司 | 一种异常监控方法及装置 |
CN101788947A (zh) * | 2010-02-09 | 2010-07-28 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
CN102662782A (zh) * | 2012-04-17 | 2012-09-12 | 华为技术有限公司 | 一种监控系统总线的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694145A (zh) * | 2017-04-06 | 2018-10-23 | 佛山市顺德区顺达电脑厂有限公司 | Pci-e接口控制系统 |
CN108694145B (zh) * | 2017-04-06 | 2021-08-13 | 佛山市顺德区顺达电脑厂有限公司 | Pci-e接口控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102173089B1 (ko) | 인터페이스 회로 및 그것의 패킷 전송 방법 | |
CN105468548B (zh) | 串行外围接口的通信 | |
CN114048164B (zh) | 芯片互联方法、系统、设备及可读存储介质 | |
EP2704021B1 (en) | SRAM handshake | |
CN104765705A (zh) | 读取不开机的移动终端所存数据的方法、装置和一种移动终端 | |
CN102073611A (zh) | 一种i2c总线控制系统及方法 | |
CN110990116B (zh) | 在智能网卡和虚拟机之间传输数据的方法、装置和系统 | |
CN105765548B (zh) | 基于amba的设备中的ioapic中断的支持 | |
CN106126465A (zh) | 一种数据传输方法及装置 | |
US9990027B2 (en) | Status switching method | |
CN111756858A (zh) | 嵌入式设备的远程开发处理系统、方法及装置 | |
CN107391409B (zh) | 一种pci-e网络控制器、网络设备和数据传输方法 | |
CN101763324B (zh) | 设备模拟的实现方法和装置 | |
CN104866432A (zh) | 具有绕回-至-连续读取的存储器子系统 | |
CN102708032B (zh) | 一种检测安全数码卡热插拔的方法及装置 | |
WO2024113767A1 (zh) | 智能网卡的上电方法及上电装置 | |
CN104298629A (zh) | 一种用于pci-e的数据传输方法及系统 | |
CN109800202B (zh) | 一种基于pcie的数据传输系统、方法及装置 | |
CN111475432A (zh) | 一种从机启动控制装置、单总线系统及其控制方法 | |
CN109710187A (zh) | NVMe SSD主控芯片的读命令加速方法、装置、计算机设备及存储介质 | |
CN103186447A (zh) | 一种总线读写检测装置 | |
CN105519055A (zh) | 一种I/O通道QoS动态均衡方法及装置 | |
CN104123257A (zh) | 通用串行总线装置、通信方法及计算机可读存储介质 | |
CN113971148A (zh) | 基于linux实时操作系统的PCIE实时网卡数据传输方法及装置 | |
US8972625B2 (en) | Electronic apparatus and host determination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |
|
RJ01 | Rejection of invention patent application after publication |