CN116192781A - 基于安全数字输入输出接口的数据传输方法、装置及系统 - Google Patents

基于安全数字输入输出接口的数据传输方法、装置及系统 Download PDF

Info

Publication number
CN116192781A
CN116192781A CN202211088795.7A CN202211088795A CN116192781A CN 116192781 A CN116192781 A CN 116192781A CN 202211088795 A CN202211088795 A CN 202211088795A CN 116192781 A CN116192781 A CN 116192781A
Authority
CN
China
Prior art keywords
data packet
data
sdio
transmitted
queue
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
Application number
CN202211088795.7A
Other languages
English (en)
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.)
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei Information Technology Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Guangzhou Quanshengwei 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 Beijing Eswin Computing Technology Co Ltd, Guangzhou Quanshengwei Information Technology Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202211088795.7A priority Critical patent/CN116192781A/zh
Publication of CN116192781A publication Critical patent/CN116192781A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本申请公开了一种基于安全数字输入输出接口的数据传输方法、装置及系统,涉及数据通信技术领域,优化了基于SDIO接口与外部设备之间读取数据的操作步骤,提高了SDIO接口传输效率。本申请的主要技术方案为:安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。本申请应用于优化基于SDIO接口传输数据过程。

Description

基于安全数字输入输出接口的数据传输方法、装置及系统
技术领域
本申请涉及数据通信技术领域,尤其涉及一种基于安全数字输入输出接口的数据传输方法、装置及系统。
背景技术
安全数字输入输出(Secure Digital Input and Output,SDIO)协议是由安全数码卡(Secure Digital Memory Card,SD卡)的协议演化而来的,它保留了SD卡的读写协议,同时又定义了一种外设接口,即SDIO接口,用于连接一些外部设备,如调制解调器、条形码扫描仪、定位接收器、相机设备和无线网络通信卡(如WiFi卡)等等。相较于SD卡只支持数据存储,SDIO接口能够突破只支持数据存储的这个功能局限,实现了与外部设备之间读写数据的功能。
目前,在利用SDIO接口与外部设备之间读写数据的过程中,数据读写动作是存在主从关系的,即向外部设备发起读写操作的终端设备作为SDIO主设备,外部设备则作为SDIO从设备。
其中,尤其是对于SDIO主设备从SDIO从设备读数据操作,即当SDIO从设备想让SDIO主设备读取指定数据时,需要向SDIO主设备发送中断通知,目的是让SDIO主设备获知有数据需要被读取,然后SDIO主设备再去SDIO从设备获取待读取数据的长度,这样按照获取到的数据长度,SDIO主设备才能从SDIO从设备读取到指定数据。
但是,现在对于需要发送中断通知、获取待读取数据长度和读取数据这三步骤所完成的SDIO主设备的一次数据读取操作,在SDIO主设备和SDIO从设备都产生了较大的资源消耗,这样会影响SDIO接口数据传输的处理能力,降低了SDIO接口数据传输效率。
发明内容
有鉴于此,本申请提供了一种基于安全数字输入输出接口的数据传输方法、装置及系统,在基于SDIO接口与外部设备之间读写数据的过程中,以SDIO从设备在发送数据包的同时也携带下一个数据包长度的方式,方便于SDIO主设备能够直接基于该数据包长度而向SDIO从设备读取数据包,从而优化了SDIO主设备从SDIO从设备读取数据的操作步骤,大大提高SDIO接口传输效率。
本申请主要提供如下技术方案:
本申请第一方面提供了一种基于安全数字输入输出接口的数据传输方法,应用于SDIO从设备,该方法包括:
安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;
所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
在本申请第一方面的一些变更实施方式中,所述在第一数据包中携带第二数据包的长度,包括:
获取所述第二数据包的长度;
将所述第二数据包的长度填入到所述第一数据包的包头中,得到经填入处理后的第一数据包;
向所述经填入处理后的第一数据包中添加特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度。
在本申请第一方面的一些变更实施方式中,在所述在第一数据包中携带第二数据包的长度之前,所述方法还包括:
判断待传输队列的数据包数量是否大于预设阈值;
若是,则从所述待传输队列中确定除了首位缓存进入的数据包以外的其余数据包;
在所述其余数据包中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包;
根据首位缓存进入所述待传输队列的数据包和所述经聚合处理后的数据包,确定所述待传输队列中包含的第一数据包和第二数据包,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包。
在本申请第一方面的一些变更实施方式中,所述在所述其余数据包中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包,包括:
将所述其余数据包聚合处理成一个目标数据包;或,
按照缓存进入所述待传输队列的先后顺序,遍历所述其余数据包中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
将所述目标数据包确定为所述其余数据包对应的经聚合处理后的数据包。
在本申请第一方面的一些变更实施方式中,在得到所述目标数据包之后,所述方法还包括:
获取基于SDIO协议传输的SDIO标准数据块的长度;
获取所述目标数据包的长度;
判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
若否,则对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
本申请第二方面提供了一种基于安全数字输入输出接口的数据传输装置,应用于SDIO从设备,该装置包括:
安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包;
所述SDIO主设备从所述第一数据包中获取第二数据包的长度信息;
所述SDIO主设备根据所述第二数据包的长度信息,从SDIO从设备读取所述第二数据包。
在本申请第二方面的一些变更实施方式中,所述SDIO主设备从所述第一数据包中获取第二数据包的长度的信息,包括:
检测所述第一数据包中是否携带了特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度;
若是,则从所述第一数据包的包头读取所述第二数据包的长度信息。
在本申请第二方面的一些变更实施方式中,所述方法还包括:
响应于向所述SDIO从设备写数据的操作指令,按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据。
在本申请第二方面的一些变更实施方式中,在所述按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据之前,所述方法还包括:
判断待传输队列的数据包数量是否大于预设阈值;
若是,则在所述待传输队列中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包。
在本申请第二方面的一些变更实施方式中,所述在所述待传输队列中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包,包括:
将待传输队列中的数据包聚合处理成一个目标数据包;或,
按照缓存进入所述待传输队列的先后顺序,遍历所述待传输队列中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
将所述目标数据包确定为经聚合处理后的数据包。
在本申请第二方面的一些变更实施方式中,在得到所述目标数据包之后,所述方法还包括:
获取基于SDIO协议传输的SDIO标准数据块的长度;
获取所述目标数据包的长度;
判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
若否,则对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
本申请第三方面提供了一种基于安全数字输入输出接口的数据传输装置,应用于SDIO从设备,所述装置包括:
第一处理单元,用于安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;
第一发送单元,用于所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
本申请第四方面提供了一种基于安全数字输入输出接口的数据传输装置,应用于SDIO主设备,所述装置包括:
接收单元,用于安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包;
获取单元,用于所述SDIO主设备从所述第一数据包中获取第二数据包的长度信息;
读取单元,所述SDIO主设备根据所述第二数据包的长度信息,从SDIO从设备读取所述第二数据包。
本申请第五方面提供了一种基于安全数字输入输出接口的数据传输系统,包括:应用于SDIO主设备上的如上所述的基于安全数字输入输出接口的数据传输装置和应用于SDIO从设备上的如上所述的基于安全数字输入输出接口的数据传输装置。
本申请第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上应用于SDIO从设备的所述的基于安全数字输入输出接口的数据传输方法;或,所述计算机程序被处理器执行时实现如上应用于SDIO主设备的所述的基于安全数字输入输出接口的数据传输方法。
本申请第七方面提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上应用于SDIO从设备的所述的基于安全数字输入输出接口的数据传输方法;或,所述计算机程序被处理器执行时实现如上应用于SDIO主设备的所述的基于安全数字输入输出接口的数据传输方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供了一种基于安全数字输入输出接口的数据传输方法、装置及系统,在基于SDIO接口与外部设备之间读写数据的过程中,外部设备为SDIO从设备,发起读写操作的终端设备为SDIO主设备,在SDIO从设备上对于缓存进入待传输队列的数据包,这些数据包中会包含任意两个相邻的第一数据包和第二数据包,SDIO从设备会在第一数据包中携带第二数据包的长度,然后按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。在本申请中由于每次SDIO从设备发送数据包时都携带了下一个待发送数据包的长度,从而省略了原本需要SDIO从设备发送中断通知和SDIO主设备获取数据包长度的步骤。相较于现有技术,解决了现有因SDIO主设备和SDIO从设备之间传输数据包步骤繁琐导致降低SDIO接口数据传输效率的技术问题,本申请能够优化了SDIO主设备和SDIO从设备之间读写数据的步骤,有效避免SDIO主设备和SDIO从设备产生额外的资源消耗,避免影响SDIO接口数据传输的处理能力,提高了SDIO接口数据传输效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例提供的一个基于安全数字输入输出接口的数据传输系统的结构示意图;
图2为本申请实施例提供的一种基于安全数字输入输出接口的数据传输方法(应用于SDIO从设备)流程图;
图3为本申请实施例例举示出的优化前数据包传输过程和优化后数据包传输过程的对比示意图;
图4为本申请实施例提供的另一种基于安全数字输入输出接口的数据传输方法(应用于SDIO从设备)流程图;
图5为本申请实施例例举的“SDIO传输回环测试速率与单个被传输数据包的长度之间的对比”实验数据;
图6为本申请实施例例举的配置数据包对应的ADMA块以得到N个ADMA块组成的ADMA链的示意图;
图7为本申请实施例提供的一种基于安全数字输入输出接口的数据传输方法(应用于SDIO主设备)流程图;
图8为本申请实施例提供的另一种基于安全数字输入输出接口的数据传输方法(应用于SDIO主设备)流程图;
图9为本申请实施例提供的一种基于安全数字输入输出接口的数据传输装置(应用于SDIO从设备)的组成框图;
图10为本申请实施例提供的另一种基于安全数字输入输出接口的数据传输装置(应用于SDIO从设备)的组成框图;
图11为本申请实施例提供的一种基于安全数字输入输出接口的数据传输装置(应用于SDIO主设备)的组成框图;
图12为本申请实施例提供的另一种基于安全数字输入输出接口的数据传输装置(应用于SDIO主设备)的组成框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。本申请实施例提供了一种基于安全数字输入输出接口的数据传输系统,如图1所示,该系统包括:安全数字输入输出(Secure Digital Input and Output,SDIO)接口、SDIO主设备和SDIO从设备,其中SDIO主设备为向外部设备发起读或写操作的终端设备,相应的,外部设备即为SDIO从设备。
进一步的,本申请实施例以系统中SDIO从设备为执行主体,提供了一种基于安全数字输入输出接口的数据传输方法,如图2所示,对此本申请实施例提供以下具体步骤:
101、安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,第二数据包为待传输队列中第一数据包的下一个数据包。
其中,在SDIO从设备上可以获取到大量数据并打包生成多个数据包,这些数据包可以按照先进先出的原则被存储到一个待传输队列中。
例如,SDIO从设备可以为无线网络通信卡(如WiFi卡),那么通过WiFi卡接入以太网能够不断获取到以太网数据,作为SDIO从设备连续获取到待传输的数据,并且根据每次获取到待传输的数据,可以进一步分别打包生成多个数据包。
在本申请实施例中,在利用SDIO接口不断从SDIO从设备向SDIO主设备传输数据包的过程中,以SDIO从设备发送数据包以及携带接下来等待传输数据包的包长度的方法,优化了SDIO主设备和SDIO从设备之间读写数据的步骤,如图3示出的优化前数据包传输过程和优化后数据包传输过程的对比示意图,具体解释说明如下:
在优化前,由于数据包的读写动作都是由SDIO主设备侧发起的,因此当想让SDIO主设备读取数据包时,需要向SDIO主设备发送中断通知,而后SDIO主设备再获取待传输的数据包的长度,再进一步以该包长度去读取指定待传输的数据包,从而完成一次主设备从外部设备获取数据包的操作,需要三个步骤,即发送中断通知、获取待读取数据包的长度和读取指定待传输的数据包,这将使得SDIO主设备和SDIO从设备会产生额外的资源消耗。
但是优化后,如图3所示,在SDIO从设备向SDIO主设备发送一个数据包时将携带接下来待传输的数据包的长度,从而使得SDIO主设备能够直接基于该数据包长度而向SDIO从设备读取数据包即可,从而省略了优化前的发送中断通知步骤和获取待读取数据包的长度的步骤,以尽量减少SDIO主设备和SDIO从设备产生额外资源消耗。
102、SDIO从设备按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
在本申请实施例中,如图3所示的优化后数据包发送流程,SDIO从设备按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据,由于前一个数据包都携带了下一个数据包的长度,那么SDIO主设备在当下接收到数据包之后,就能够根据该数据包内携带的下一个数据包的长度,而直接向SDIO从设备直接获取这下一个数据包了。
以上,本申请实施例提供了一种基于安全数字输入输出接口的数据传输方法,在基于SDIO接口与外部设备之间读写数据的过程中,外部设备为SDIO从设备,发起读写操作的终端设备为SDIO主设备,在SDIO从设备上对于缓存进入待传输队列的数据包,这些数据包中会包含任意两个相邻的第一数据包和第二数据包,SDIO从设备会在第一数据包中携带第二数据包的长度,然后按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。在本申请实施例中由于每次SDIO从设备发送数据包时都携带了下一个待发送数据包的长度,从而省略了原本需要SDIO从设备发送中断通知和SDIO主设备获取数据包长度的步骤。相较于现有技术,解决了现有因SDIO主设备和SDIO从设备之间传输数据包步骤繁琐导致降低SDIO接口数据传输效率的技术问题,本申请实施例能够优化了SDIO主设备和SDIO从设备之间读写数据的步骤,有效避免SDIO主设备和SDIO从设备产生额外的资源消耗,避免影响SDIO接口数据传输的处理能力,提高了SDIO接口数据传输效率。
进一步的,为了更加详细地解释说明,本申请实施例还提供了另一种全数字输入输出接口的数据传输方法,该方法应用于SDIO从设备,如图4所示,提供以下具体步骤:
201、确定安全数字输入输出SDIO从设备在待传输队列的数据包大于一个。
202、判断待传输队列的数据包数量是否大于预设阈值。
本申请实施例利用一个预设阈值来判断待传输队列中是否积压了太多数据包未发出,即若判断待传输队列中数据包的数量大于预设阈值,则进一步判断应该尽快发出这些数据包,以尽快腾出空间缓存即将获取到的待传输数据包。
203a、若判断待传输队列的数据包数量是大于预设阈值,则从待传输队列中确定除了首位缓存进入的数据包以外的其余数据包。
在本申请实施例,在SDIO从设备上对于待传输队列中的数据包,首位缓存进入的数据包和其余数据包在向SDIO主设备传输的过程上是存在区别的,由于本申请实施例默认首位缓存进入待传输队列的数据包为初始数据包,因此它不存在前一个数据包,也就不能利用前一个数据包将它的长度携带发送给SDIO主设备,由此,对于该首位缓存进入的数据包的传输过程,仍然采用如图3示出的优化前的数据包传输方法。相应的,对待传输队列中除了首位缓存进入的数据包以外的其余数据包,采用如图3所示的优化后的数据包传输方法。
203b、若判断待传输队列的数据包数量不大于预设阈值,则不需要对待传输队列中的数据包进行聚合处理。
在本申请实施例中,如图5示出的“SDIO传输回环测试速率与单个被传输数据包的长度之间的对比”实验数据,表明单个被传输数据包的长度越长,即SDIO接口一次传输数据包所包含数据量越大,则SDIO总线传输速率越高。
据此,本申请实施例可以对待传输队列中的待传输数据包进行聚合处理以得到包含更大数据量的一个或多个数据包,然后再利用SDIO总线将这样的数据包发送出去,以提高SDIO总线上的传输速率,并且也实现了尽快将待传输队列中待传输数据包发出去的目的。
204a、在其余数据包中对多个相邻缓存进入待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包。
对于对待传输队列中除了首位缓存进入的数据包以外的其余数据包,本申请实施例可以提供以下对数据包的聚合处理方法:
示例1:一种方法为:将这些其余数据包聚合处理成一个经聚合处理后的目标数据包。具体的,可以采用但不限于是如下具体实施方法:
本申请实施例是采用升级的直接存储器存储(Direct MemoryAccess,DMA),也就是Advanced DMA(即ADMA),配置待传输的数据包内的数据信息以得到相应的ADMA模块,该ADMA模块中包含了数据包的地址和长度,据此对于这些其余数据包中的N个待传输数据包都分别进行ADMA配置处理,将相应得到N个ADMA模块,进而得到一个ADMA链,如图6所示,由ADMA(1)-(N)组成的一个ADMA链,其中,以ADMA(1)为例,buf1表示该数据包1的地址,len1表示数据包1的长度。
那么对于这样一个ADMA链,基于每个ADMA模块各自存储的数据包的地址,能够获取到每个ADMA模块对应的数据包所包含的字节信息,进而聚合这些字节信息,就能够得到该ADMA链对应包含的总字节信息,即这N个数据包经聚合处理后得到一个更大数据包所包含的字节信息。
以及,基于每个ADMA模块各自存储的数据包的长度,也进行相应的聚合处理,得到这N个数据包经聚合处理后得到一个更大数据包对应的长度,即该数据包对应长度为len1、len2...lenN的总和。
示例2:另一种方法为:按照缓存进入待传输队列的先后顺序,遍历其余数据包中每个数据包并基于预设数目对相邻数据包进行聚合处理,得到多个目标数据包。
对于示例2,本申请实施例充分考虑到SDIO总线上对传输数据量限制等多方面约束,可以将这些其余数据包基于预设数目而聚合处理成多个数据包,并且依据的聚合处理优先级为,按照缓存进入待传输队列的先后顺序进行聚合处理。例如,若预设数目为3个,则根据缓存进入待传输队列的先后顺序,将第1至第3个数据包进行聚合处理、将第4至第6个数据包进行聚合处理,并以此类推。
并且需要说明的是,预设数目可以设置为1个或多个,如果预设数目设置为多个,就能够得到多种聚合数据包的样式,例如,预设数目为3个或4个,则可以将3个或4个数据包进行聚合得到一个更大数据包。并且这样操作,也避免出现在待传输队列中剩下一个数据包而无法聚合处理的情况。例如,若待传输队列中缓存了10个数据包,但如果预设数目设置为3,则会出现第10个数据包被剩下而无法执行聚合处理的情况,本申请实施例预设数目设置为多个,则会避免这样情况出现。
在本申请实施例中,对于预设数目的数据包进行聚合处理的具体实施方法,与上述示例1中采用ADMA模型进行聚合处理的具体实施方法原理相同,此处不再赘述了。
作为一种优选实施方案,在本申请实施例中,在经聚合处理之后,还可以对目标数据包进行填充处理,以确保每个数据包是可以采用数据块传输方式被向外发送的,从而确保SDIO总线上一次传输操作能够将数据包向外发送,避免需要多次传输操作,以进一步提高SDIO总线上传输速率,下面对填充数据包的处理实施方法解释说明如下:
首先,获取基于SDIO协议传输的SDIO标准数据块的长度,以及获取目标数据包(即经聚合处理后的数据包)的长度。
其次,判断目标数据包的长度是否为SDIO标准数据块的长度的整数倍。如果否,则确认需要对目标数据包进行填充处理。
根据SDIO协议规定,基于待传输数据包内存储是字节和/或数据块,SDIO接口传输将会采用字节传输、数据块传输和数据块传输加上字节传输这三种传输方式。
其中,数据块传输方式与字节传输方式相比,它在SDIO总线上传输速率是更高的。对于采用数据块传输方式,在SDIO总线上可以采用一次传输操作完成对数据包的处理,这也是数据块传输加上字节传输方式所达不到。因此,在本申请实施例中,如果每个数据包都是以数据块方式传输并且一次传输操作完成向外发送,那么将会是为实现提升SDIO总线上传输速率的较优的实施方法。
为此,如果想要采用数据块传输方式对数据包进行处理,则需要待传输数据包的长度符合SDIO标准数据块的长度的整数倍,其中,SDIO协议规定的SDIO标准数据块的长度通常为512字节。
进一步的,对数据包执行填充处理,直至经填充处理后的目标数据包的长度达到SDIO标准数据块的长度的整数倍,具体实施过程解释说明如下:
首先,配置待传输的数据包对应的第一ADMA模块,第一ADMA模块中存储了待传输的数据包的地址和长度;以及,配置待传输的数据包对应的第二ADMA模块,第二ADMA模块用于存储需要填充字节的个数。
本申请实施例采用ADMA配置待传输的数据包内的数据信息以得到相应的第一ADMA模块,该第一ADMA模块中包含了数据包的地址和长度,由于已经判断该待传输数据包是需要执行填充处理的,考虑到在何处填充字节,本申请实施例配置了第二ADMA模块,用于装载填充字节。
其次,根据待传输的数据包的长度和SDIO标准数据块的长度的整数倍之间的最小长度差值,填充第二ADMA模块。
本申请实施例在配置了第二ADMA模块之后,根据待传输的数据包的长度和SDIO标准数据块的长度的整数倍,计算出需要填充字节的最小个数,那么基于该最小个数,向第二ADMA模块填入所需填充字节的个数。
最后,根据第一ADMA模块和第二ADMA模块各自存储的数据信息对待传输的数据包执行填充处理,得到经填充处理后的数据包。
具体的,本步骤可以进一步细化包括:根据第一ADMA模块内存储的待传输的数据包的地址,获取待传输的数据包对应的第一字节信息;根据第二ADMA模块内存储的需要填充字节的个数,以填充占位字符的方式得到需要填充字节的个数对应的第二字节信息;将第二字节信息填充到第一字节信息之后并打成数据包,得到待传输的数据包对应的经填充处理后的数据包。
示例性的,例如,若待传输的数据包的长度为511字节,则根据该511字节与512字节整数倍之间的最小值(即1个字节),向第二ADMA模块内添加需要填充的字节个数为1,。
由于第一ADMA模块中存储了待传输数据包的地址和长度(即511字节),则根据地址获取数据包对应的字节信息(即原本长度511字节对应的第一字节信息);以及根据第二ADMA模块中存储的1个字节,确定需要填充1个字节,以填充占位符方式,例如利用“0”进行填充,得到填充的第二字节信息;将第二字节信息填充到第一字节信息之后并打成数据包,得到经填充处理后的数据包,该数据包的长度是为512字节的整数倍的。
在本申请实施例中,利用对数据包的聚合处理,使得经聚合处理的数据包与原始待传输的数据包相比,它包含了更大的数据量,这不仅方便于尽快将待传输队列中累积的大量数据发送出去,还使得SDIO总线上一次传输更大的数据量,提升了SDIO总线上传输速率。
以上,总结解释说明下,对经聚合处理后的数据包,本申请实施例给出优选实施方案,相当于是一个后优化处理方案,即对经聚合处理后的数据包进行了填充处理,从而确保每个数据包都可以采用数据块传输方式被SDIO总线一次传输操作而发送完成,这就更加有利于提升SDIO总线传输速率了,从而从整体上更加提高了SDIO接口数据传输效率。
205a、根据首位缓存进入待传输队列的数据包和经聚合处理后的数据包,确定待传输队列中包含的第一数据包和第二数据包,第二数据包为待传输队列中第一数据包的下一个数据包。
在本申请实施例中,本步骤中提及的“经聚合处理后的数据包”是指:执行了聚合处理的数据包,以及或者进一步选择性的执行后优化方案的填充处理的数据包。待缓存队列中的数据包已经不是原始缓存进入的数据包了,应该重新确定待传输的数据包,并且在这些重新确定的数据包中仍然是存在任意两个相邻数据包,即第一数据包和第二数据包的。
206、在第一数据包中携带第二数据包的长度,第二数据包为待传输队列中第一数据包的下一个数据包。
本步骤可以进一步细化解释说明包括:首先,获取第二数据包的长度,并且将第二数据包的长度填入到第一数据包的包头中,得到经填入处理后的第一数据包;其次,向经填入处理后的第一数据包中添加特定标识,特定标识用于表征第一数据包已携带第二数据包的长度。
在本申请实施例中,可以预先向SDIO主设备和SDIO从设备约定,是将第二数据包的长度存储到第一数据包的包头中,并且添加特定标识,那么当SDIO主设备读取到这个特定标识,就能够基于数据包包头的基本数据结构,而从第一数据包的包头的指定位置获取所携带的第二数据包的长度了。
207、SDIO从设备按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
在本申请实施例中,如图3所示的优化后数据包发送流程,SDIO从设备按照待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据,由于前一个数据包都携带了下一个数据包的长度,那么SDIO主设备在当下接收到数据包之后,就能够根据该数据包内携带的下一个数据包的长度,而直接向SDIO从设备直接获取这下一个数据包了。
下面,本申请实施例以系统中SDIO主设备为执行主体,再提供了一种基于安全数字输入输出接口的数据传输方法,如图7所示,对此本申请实施例提供以下具体步骤:
301、安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包。
302、SDIO主设备从第一数据包中获取第二数据包的长度信息。
303、SDIO主设备根据第二数据包的长度信息,从SDIO从设备读取第二数据包。
在本申请实施例中,由于每次SDIO从设备发送数据包时都携带了下一个待发送数据包的长度,从而省略了原本需要SDIO从设备发送中断通知和SDIO主设备获取数据包长度的步骤,SDIO主设备在当下接收到数据包之后,就能够根据该数据包内携带的下一个数据包的长度,而直接向SDIO从设备直接获取这下一个数据包了。
进一步的,为了更加详细地解释说明,本申请实施例还提供了另一种全数字输入输出接口的数据传输方法,该方法应用于SDIO主设备,如图8所示,提供以下具体步骤:
401、安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包。
402、SDIO主设备从第一数据包中获取第二数据包的长度信息。
本步骤可以细化解释说明包括:检测第一数据包中是否携带了特定标识,该特定标识用于表征第一数据包已携带第二数据包的长度,若是,则从第一数据包的包头读取第二数据包的长度信息。
403、SDIO主设备根据第二数据包的长度信息,从SDIO从设备读取第二数据包。
在本申请实施例中,在基于SDIO接口与外部设备之间读写数据的过程中,外部设备为SDIO从设备,并且是由SDIO主设备发起读写操作的,为此,除了如步骤401-403提供的SDIO主设备从SDIO从设备读取数据之外,SDIO主设备还执行向SDIO从设备写数据操作,如下步骤404-407。
404、响应于向SDIO从设备写数据的操作指令。
405、判断待传输队列的数据包数量是否大于预设阈值。
在本申请实施例中,与SDIO从设备侧相似,本申请实施例利用一个预设阈值来判断待传输队列中是否积压了太多数据包未发出,即若判断待传输队列中数据包的数量大于预设阈值,则进一步判断应该尽快发出这些数据包,以尽快腾出空间缓存即将获取到的待传输数据包。
406a、若判断待传输队列的数据包数量大于预设阈值,则在待传输队列中对多个相邻缓存进入待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包。
406b、若判断待传输队列的数据包数量不大于预设阈值,则不需要对待传输队列中的数据包进行聚合处理。
在本申请实施例中,在基于SDIO主设备和SDIO从设备之间读取操作过程中,数据包是通过SDIO总线被传输的,如图5示出的“SDIO传输回环测试速率与单个被传输数据包的长度之间的对比”实验数据,表明单个被传输数据包的长度越长,即SDIO接口一次传输数据包所包含数据量越大,则SDIO总线传输速率越高。因此本申请实施例可以对待传输队列中的待传输数据包进行聚合处理以得到包含更大数据量的一个或多个数据包,然后再利用SDIO总线将这样的数据包发送出去,以提高SDIO总线上的传输速率,并且也实现了尽快将待传输队列中待传输数据包发出去的目的。
具体的,本申请实施例提供聚合处理的具体实施过程,可以但不限于是提供以下两种方法:
示例1:一种方法为:将待传输队列中的数据包聚合处理成一个目标数据包;
示例2:另一种方法为:按照缓存进入待传输队列的先后顺序,遍历待传输队列中每个数据包并基于预设数目对相邻数据包进行聚合处理,得到多个目标数据包;将目标数据包确定为经聚合处理后的数据包。
对于本申请实施例提供的示例1和示例2,具体参照步骤204a提供的示例1和示例2的解释说明,此处不再赘述了。
优先实施方式,本申请实施例在得到目标数据包之后,对于经聚合处理后的目标数据包,还可以进行填充处理,以确保每个数据包是可以采用数据块传输方式被向外发送的,从而确保SDIO总线上一次传输操作能够将数据包向外发送,避免需要多次传输操作,以进一步提高SDIO总线上传输速率,下面对填充数据包的处理实施方法解释说明如下:
首先,获取基于SDIO协议传输的SDIO标准数据块的长度,以及获取目标数据包(即经聚合处理后的数据包)的长度。
其次,判断目标数据包的长度是否为SDIO标准数据块的长度的整数倍。如果否,则确认需要对目标数据包进行填充处理,那么对目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到SDIO标准数据块的长度的整数倍。
在本申请实施例中,对于数据包进行填充处理的具体实施方法,参见步骤204a涉及介绍的填充处理具体实施方法,此处不再赘述了。
407、按照待传输队列中数据包的先后顺序,依次向SDIO从设备发送数据。
在本申请实施例中,在执行了对数据包的聚合处理后,以及或者选择的执行了数据包的填充处理之后,待缓存队列中的数据包已经不是原始缓存进入的数据包了,应该重新确定待传输的数据包,并且按照这些数据包的先后顺序,依次向SDIO从设备发送数据。
进一步的,作为对上述图2和图4所示方法的实现,本申请实施例提供了一种基于安全数字输入输出接口的数据传输装置,应用于SDIO从设备。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提高SDIO接口传输速率,具体如图9所示,该装置包括:
第一处理单元51,用于安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;
第一发送单元52,用于所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
进一步的,如图10所示,所述第一处理单元51包括:
第一获取模块511,用于获取所述第二数据包的长度;
填入模块512,用于将所述第二数据包的长度填入到所述第一数据包的包头中,得到经填入处理后的第一数据包;
添加模块513,用于向所述经填入处理后的第一数据包中添加特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度。
进一步的,如图10所示,所述装置还包括:
第一判断单元53,用于在所述在第一数据包中携带第二数据包的长度之前,判断待传输队列的数据包数量是否大于预设阈值;
确定单元54,用于当判断待传输队列的数据包数量大于预设阈值时,从所述待传输队列中确定除了首位缓存进入的数据包以外的其余数据包;
第二处理单元55,用于在所述其余数据包中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包;
所述确定单元54,还用于根据首位缓存进入所述待传输队列的数据包和所述经聚合处理后的数据包,确定所述待传输队列中包含的第一数据包和第二数据包,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包。
进一步的,如图10所示,所述第二处理单元55包括:
第一处理模块551,用于将所述其余数据包聚合处理成一个目标数据包;
所述第一处理模块551,还用于按照缓存进入所述待传输队列的先后顺序,遍历所述其余数据包中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
第一确定模块552,用于将所述目标数据包确定为所述其余数据包对应的经聚合处理后的数据包。
进一步的,如图10所示,所述第二处理单元55还用于:
第二获取模块553,用于在得到所述目标数据包之后,获取基于SDIO协议传输的SDIO标准数据块的长度;
所述第二获取模块553,还用于获取所述目标数据包的长度;
第一判断模块554,用于判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
第一填充处理模块555,用于当判断所述目标数据包的长度是为所述SDIO标准数据块的长度的整数倍时,对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
进一步的,作为对上述图7和图8所示方法的实现,本申请实施例提供了一种基于安全数字输入输出接口的数据传输装置,应用于SDIO主设备。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于提高SDIO接口传输速率,具体如图11所示,该装置包括:
接收单元61,用于安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包;
获取单元62,用于所述SDIO主设备从所述第一数据包中获取第二数据包的长度信息;
读取单元63,所述SDIO主设备根据所述第二数据包的长度信息,从SDIO从设备读取所述第二数据包。
进一步的,如图12所示,所述获取单元62包括:
检测模块621,用于检测所述第一数据包中是否携带了特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度;
读取模块622,用于当检测所述第一数据包中是携带了特定标识时,从所述第一数据包的包头读取所述第二数据包的长度信息。
进一步的,如图12所示,所述装置还包括:
响应单元64,用于响应于向所述SDIO从设备写数据的操作指令;
第二发送单元65,用于按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据。
进一步的,如图12所示,所述装置还包括:
第二判断单元66,用于在所述按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据之前,判断待传输队列的数据包数量是否大于预设阈值;
第三处理单元67,用于当判断待传输队列的数据包数量大于预设阈值时,在所述待传输队列中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包。
进一步的,如图12所示,所述第三处理单元67包括:
第二处理模块671,用于将待传输队列中的数据包聚合处理成一个目标数据包;或,
所述第二处理模块671,还用于按照缓存进入所述待传输队列的先后顺序,遍历所述待传输队列中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
第二确定模块672,用于将所述目标数据包确定为经聚合处理后的数据包。
进一步的,如图12所示,所述第三处理单元67还包括:
第三获取模块673,用于在得到所述目标数据包之后,获取基于SDIO协议传输的SDIO标准数据块的长度;
所述第三获取模块673,还用于获取所述目标数据包的长度;
第二判断模块674,用于判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
第二填充处理模块675,用于当判断所述目标数据包的长度不为所述SDIO标准数据块的长度的整数倍时,对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
综上所述,本申请实施例提供了一种基于安全数字输入输出接口的数据传输方法、装置及系统,在基于SDIO接口与外部设备之间读写数据的过程中,外部设备为SDIO从设备,发起读写操作的终端设备为SDIO主设备,SDIO从设备在发送数据包的同时也携带下一个数据包长度的方式,方便于SDIO主设备能够直接基于该数据包长度而向SDIO从设备读取数据包,从而优化了SDIO主设备从SDIO从设备读取数据的操作步骤。以及由于数据包在SDIO主设备和SDIO从设备之间都是利用SDIO总线进行数据传输的,因此,本申请实施例还进一步对数据包进行先聚合处理再填充处理的方式,以使得每个数据包能够采用数据块传输方式并且基于SDIO总线上的一次传输完成对数据包的传输操作,从而有效提高了SDIO总线上传输速率。以上,本申请实施例从整体上提高了SDIO接口传输效率。
本申请实施例提供的基于安全数字输入输出接口的数据传输装置(应用于SDIO从设备)包括处理器和存储器,上述第一处理单元和第一发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
本申请实施例提供的基于安全数字输入输出接口的数据传输装置(应用于SDIO主设备)包括处理器和存储器,上述接收单元、获取单元和读取单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于SDIO接口与外部设备之间读写数据的过程中,以SDIO从设备在发送数据包的同时也携带下一个数据包长度的方式,方便于SDIO主设备能够直接基于该数据包长度而向SDIO从设备读取数据包,从而优化了SDIO主设备从SDIO从设备读取数据的操作步骤,大大提高SDIO接口传输效率。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如应用于SDIO从设备的所述的基于安全数字输入输出接口的数据传输方法;或,所述计算机程序被处理器执行时实现如应用于SDIO主设备的所述的基于安全数字输入输出接口的数据传输方法。
本申请实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如应用于SDIO从设备的所述的基于安全数字输入输出接口的数据传输方法;或,所述计算机程序被处理器执行时实现如应用于SDIO主设备的所述的基于安全数字输入输出接口的数据传输方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种基于安全数字输入输出接口的数据传输方法,其特征在于,所述方法包括:
安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;
所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
2.根据权利要求1所述的方法,其特征在于,所述在第一数据包中携带第二数据包的长度,包括:
获取所述第二数据包的长度;
将所述第二数据包的长度填入到所述第一数据包的包头中,得到经填入处理后的第一数据包;
向所述经填入处理后的第一数据包中添加特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度。
3.根据权利要求1或2所述的方法,其特征在于,在所述在第一数据包中携带第二数据包的长度之前,所述方法还包括:
判断待传输队列的数据包数量是否大于预设阈值;
若是,则从所述待传输队列中确定除了首位缓存进入的数据包以外的其余数据包;
在所述其余数据包中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包;
根据首位缓存进入所述待传输队列的数据包和所述经聚合处理后的数据包,确定所述待传输队列中包含的第一数据包和第二数据包,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包。
4.根据权利要求3所述的方法,其特征在于,所述在所述其余数据包中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包,包括:
将所述其余数据包聚合处理成一个目标数据包;或,
按照缓存进入所述待传输队列的先后顺序,遍历所述其余数据包中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
将所述目标数据包确定为所述其余数据包对应的经聚合处理后的数据包。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在得到所述目标数据包之后,以及在将所述目标数据包确定为所述其余数据包对应的经聚合处理后的数据包之前,所述方法还包括:
获取基于SDIO协议传输的SDIO标准数据块的长度;
获取所述目标数据包的长度;
判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
若否,则对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
6.一种基于安全数字输入输出接口的数据传输方法,其特征在于,包括:
安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包;
所述SDIO主设备从所述第一数据包中获取第二数据包的长度信息;
所述SDIO主设备根据所述第二数据包的长度信息,从SDIO从设备读取所述第二数据包。
7.根据权利要求6所述的方法,其特征在于,所述SDIO主设备从所述第一数据包中获取第二数据包的长度的信息,包括:
检测所述第一数据包中是否携带了特定标识,所述特定标识用于表征所述第一数据包已携带所述第二数据包的长度;
若是,则从所述第一数据包的包头读取所述第二数据包的长度信息。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
响应于向所述SDIO从设备写数据的操作指令,按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据。
9.根据权利要求8所述的方法,其特征在于,在所述按照待传输队列中数据包的先后顺序,依次向所述SDIO从设备发送数据之前,所述方法还包括:
判断待传输队列的数据包数量是否大于预设阈值;
若是,则在所述待传输队列中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包。
10.根据权利要求8或9所述的方法,其特征在于,所述在所述待传输队列中对多个相邻缓存进入所述待传输队列的数据包进行聚合处理,得到经聚合处理后的数据包,包括:
将待传输队列中的数据包聚合处理成一个目标数据包;或,
按照缓存进入所述待传输队列的先后顺序,遍历所述待传输队列中每个数据包并基于预设数目对相邻所述数据包进行聚合处理,得到多个目标数据包;
将所述目标数据包确定为经聚合处理后的数据包。
11.根据权利要求9或10所述的方法,其特征在于,在得到所述目标数据包之后,以及在将所述目标数据包确定为经聚合处理后的数据包之前,所述方法还包括:
获取基于SDIO协议传输的SDIO标准数据块的长度;
获取所述目标数据包的长度;
判断所述目标数据包的长度是否为所述SDIO标准数据块的长度的整数倍;
若否,则对所述目标数据包进行填充处理,直至经填充处理后的目标数据包的长度达到所述SDIO标准数据块的长度的整数倍。
12.一种基于安全数字输入输出接口的数据传输装置,其特征在于,应用于如权利要求1至5中任一项所述的方法,所述装置包括:
第一处理单元,用于安全数字输入输出SDIO从设备在待传输队列的数据包数量大于一个时,在第一数据包中携带第二数据包的长度,所述第二数据包为所述待传输队列中所述第一数据包的下一个数据包;
第一发送单元,用于所述SDIO从设备按照所述待传输队列中数据包的先后顺序,依次向SDIO主设备发送数据。
13.一种基于安全数字输入输出接口的数据传输装置,其特征在于,应用于如权利要求6至11中任一项所述的方法,所述装置包括:
接收单元,用于安全数字输入输出SDIO主设备接收来自SDIO从设备的第一数据包;
获取单元,用于所述SDIO主设备从所述第一数据包中获取第二数据包的长度信息;
读取单元,所述SDIO主设备根据所述第二数据包的长度信息,从SDIO从设备读取所述第二数据包。
14.一种基于安全数字输入输出接口的数据传输系统,其特征在于,包括:应用于SDIO主设备上的如权利要求12所述的装置和应用于SDIO从设备上的如权利要求13所述的装置。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的基于安全数字输入输出接口的数据传输方法;或,
所述计算机程序被处理器执行时实现如权利要求6-11中任一项所述的基于安全数字输入输出接口的数据传输方法。
16.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的基于安全数字输入输出接口的数据传输方法;或,
所述计算机程序被处理器执行时实现如权利要求6-11中任一项所述的基于安全数字输入输出接口的数据传输方法。
CN202211088795.7A 2022-09-07 2022-09-07 基于安全数字输入输出接口的数据传输方法、装置及系统 Pending CN116192781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211088795.7A CN116192781A (zh) 2022-09-07 2022-09-07 基于安全数字输入输出接口的数据传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211088795.7A CN116192781A (zh) 2022-09-07 2022-09-07 基于安全数字输入输出接口的数据传输方法、装置及系统

Publications (1)

Publication Number Publication Date
CN116192781A true CN116192781A (zh) 2023-05-30

Family

ID=86449563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211088795.7A Pending CN116192781A (zh) 2022-09-07 2022-09-07 基于安全数字输入输出接口的数据传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN116192781A (zh)

Similar Documents

Publication Publication Date Title
US9774651B2 (en) Method and apparatus for rapid data distribution
US9860838B2 (en) Transmitting device, receiving device, communication device, programs, transmission method, and receiving method for wireless communication of continuous data in the form of packets
CN109564502B (zh) 应用于存储设备中的访问请求的处理方法和装置
CN113590512B (zh) 可直连外设设备的自启动dma装置及应用
US11500541B2 (en) Memory system and controlling method
CN104461979A (zh) 基于环形总线的多核片上通信网络实现方法
CN110519388B (zh) 区块链请求的处理方法、装置、电子设备及可读存储介质
CN112953683A (zh) 一种自适应速率srio接口数据发送方法
WO2014092551A1 (en) System and method for optimal memory management between cpu and fpga unit
CN113572582B (zh) 数据发送、重传控制方法及系统、存储介质及电子设备
CN103516627B (zh) 多芯片通信中数据包发送、接收的方法和装置
EP2336897B1 (en) Data processing apparatus, data processing method, and computer-readable storage medium
CN116204487A (zh) 远程数据访问方法及装置
JP4201590B2 (ja) データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体
KR102011137B1 (ko) 데이터 처리 장치와 회로
CN116192781A (zh) 基于安全数字输入输出接口的数据传输方法、装置及系统
US10430352B1 (en) Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US9450706B2 (en) Communication apparatus and packet transfer method
CN116319629A (zh) 基于安全数字输入输出接口的数据传输方法及装置
CN115550442A (zh) 数据包传输方法、装置、电子设备及存储介质
JP5772132B2 (ja) データ転送装置、データ転送方法および情報処理装置
CN110602211A (zh) 一种带异步通知的乱序rdma方法与装置
CN113518082B (zh) 一种消息处理方法、电子设备及存储介质
CN115982090B (zh) 软硬件协同实现远端内存访问的方法和装置
CN111124987B (zh) 一种基于pcie的数据传输控制系统和方法

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