数据传输的装置、方法及可读存储介质转让专利

申请号 : CN201910237373.3

文献号 : CN110008156B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙世博何琼邵金华孙锦段后利

申请人 : 无锡海斯凯尔医学技术有限公司

摘要 :

本发明提供了一种数据传输的装置、方法及可读存储介质,该装置包括:前端处理器,传输控制器及后端处理器。前端处理器中DMA控制器分别与传输控制器、内存控制器、各传输缓冲器和传输调度器连接,传输控制器和传输调度器均分别与各传输缓冲器连接;DMA控制器用于接收后端处理器的发送的数据传输请求,并从内存控制器接收读取到的数据,并将其发送至传输缓冲器;内存控制器,用于根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器;传输调度器,用于控制多个传输缓冲器对DMA控制器发送来的数据进行写入,控制多个传输缓冲器将数据读出并经传输控制器传输至后端处理器。进行大数据的快速传输,避免大量资源的耗费。

权利要求 :

1.一种数据传输的装置,其特征在于,包括:前端处理器,传输控制器及后端处理器;

所述前端处理器通过所述传输控制器与所述后端处理器连接;

所述前端处理器包括:DMA控制器,传输调度器,内存控制器,及多个传输缓冲器;所述DMA控制器分别与所述传输控制器、所述内存控制器、各所述传输缓冲器和所述传输调度器连接,所述传输控制器和所述传输调度器均分别与各所述传输缓冲器连接;

所述DMA控制器,用于接收所述后端处理器发送的数据传输请求,根据所述数据传输请求向所述内存控制器发送数据读取指令,接收读取到的数据,并将其发送至所述传输缓冲器;

所述内存控制器,用于根据所述数据读取指令控制内存读取数据,并将读取到的数据发送给所述DMA控制器;

所述传输调度器,用于控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出并经所述传输控制器传输至所述后端处理器,其中,所述传输调度器,包括:入口调度器和出口调度器;

所述入口调度器,用于根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据;

所述出口调度器,用于根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。

2.根据权利要求1所述的装置,其特征在于,所述DMA控制器,具体用于控制所述数据按照单帧或多帧方式进行传输。

3.根据权利要求2所述的装置,其特征在于,所述DMA控制器包括:映射单元,段计数器和段内编址器;

所述映射单元分别与所述段计数器和所述段内编址器连接,所述段计数器与所述段内编址器连接;

所述映射单元,用于接收所述后端处理器发送的单帧数据传输请求,所述单帧数据传输请求中包括:帧起始地址及帧长度信息,将具有所述起始地址的所述单帧数据按帧长度分为多段,每段包括多个段内地址,将所述帧起始地址和所述帧长度信息映射为段内编址信息和段计数信息后的初始状态中,所述段计数信息为所述单帧数据分为的段数,所述段内编址信息中的段内编址为零;

所述段内编址器,用于根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;

所述段计数器,用于若接收到所述段计数更新信息则进行减法计数,直到所述段计数信息中的计数是零为止。

4.根据权利要求1所述的装置,其特征在于,所述DMA控制器包括:映射单元、段内编址器、段计数器及帧计数器;

所述映射单元分别与所述帧计数器、所述段计数器、所述段内编址器连接,所述段计数器分别与所述段内编址器、所述帧计数器连接;

所述映射单元,用于接收所述后端处理器发送的多帧数据传输请求,所述多帧数据传输请求中包括:帧数、帧起始地址及帧长度信息,将所述帧数、所述帧起始地址及所述帧长度信息映射为帧计数信息、段内编址信息及段计数信息,将帧数、帧起始地址及帧长度信息映射为帧计数信息、段内编址信息及段计数信息后的初始状态中,帧计数信息为所述多帧数据包括的帧数,段计数信息为单帧数据包括的段数,段内编址信息中的段内编址为零;

所述段内编址器,用于根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;

所述段计数器,用于若接收到所述段计数更新信息则进行减法计数,若所述段计数信息中的计数是零,则向所述帧计数器发送帧计数更新信息,并将所述段计数信息中的计数置为最大值,进行下一帧的段计数;

所述帧计数器,用于若接收到帧计数更新信息,则进行减法计数,直到所述帧计数信息中的计数是零为止。

5.根据权利要求1所述的装置,其特征在于,所述入口调度状态包括:空闲状态和多个传输缓冲器写入状态;

所述入口调度器,具体用于:若所述入口调度状态为空闲状态且所述写令牌信息为某一写令牌信息,则控制将所述空闲状态跳变为所述某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。

6.根据权利要求5所述的装置,其特征在于,所述入口调度器,还用于若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。

7.根据权利要求6所述的装置,其特征在于,所述入口调度器,具体用于根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将所述当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。

8.根据权利要求1所述的装置,其特征在于,所述出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态;

所述出口调度器,具体用于:若所述出口调度状态为传输控制器检测状态且所述读令牌信息为某一读令牌信息,则所述传输控制器通过检测后控制将所述传输控制器检测状态跳变为所述传输缓冲器检测状态,所述传输缓冲器通过检测后控制将所述传输缓冲器检测状态跳变为所述某一读令牌信息对应的传输缓冲器读取状态,并控制该传输缓冲器读取数据。

9.根据权利要求8所述的装置,其特征在于,所述出口调度器,还用于若当前传输控制器读取数据达到第二预设长度值,则将所述当前传输缓冲器读取状态更新为传输控制器检测状态,将所述当前读令牌信息更新为另一读令牌信息。

10.根据权利要求9所述的装置,其特征在于,所述出口调度器,具体用于,根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将所述当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。

11.根据权利要求1所述的装置,其特征在于,所述传输控制器包括:多重数据缓冲区,传输处理器和串行通信引擎;

所述传输处理器分别与所述多重数据缓冲区,所述串行通信引擎连接;

所述多重数据缓冲区,用于对所述数据进行缓存;

所述传输处理器,用于将所述多重数据缓冲区中的数据发送给所述串行通信引擎;

所述串行通信引擎,用于接收所述传输处理器发送的数据,并将所述数据发送给后端处理器。

12.根据权利要求1所述的装置,其特征在于,所述后端处理器包括多核CPU;

所述多核CPU,用于将数据通过并行方式传输给后端存储器。

13.一种数据传输的方法,其特征在于,前端处理器通过传输控制器与后端处理器连接,所述前端处理器包括:DMA控制器,传输调度器,内存控制器,及多个传输缓冲器;所述DMA控制器分别与所述传输控制器、所述内存控制器、各所述传输缓冲器和所述传输调度器连接,所述传输控制器和所述传输调度器均分别与各所述传输缓冲器连接,所述方法包括:DMA控制器接收所述后端处理器发送的数据传输请求,根据所述数据传输请求向所述内存控制器发送数据读取指令;

所述内存控制器根据所述数据读取指令控制内存读取数据,并将读取到的数据发送给所述DMA控制器;

所述DMA控制器接收读取到的数据,并将其发送至所述传输缓冲器;

所述传输调度器控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出并经所述传输控制器传输至所述后端处理器,其中,所述传输调度器,包括:入口调度器和出口调度器;

所述传输调度器控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出,具体包括:所述入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据;

所述出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。

14.根据权利要求13所述的方法,其特征在于,所述DMA控制器接收读取到的数据,并将其发送至所述传输缓冲器,具体包括:所述DMA控制器控制所述数据按照单帧或多帧方式进行传输。

15.根据权利要求14所述的方法,其特征在于,所述DMA控制器包括:映射单元、段计数器和段内编址器;

所述DMA控制器接收后端处理器发送的数据传输请求,具体包括:

所述映射单元接收所述后端处理器发送的单帧数据传输请求,所述单帧数据传输请求中包括:帧起始地址及帧长度信息;

相应地,所述DMA控制器控制所述数据按照单帧方式进行传输,具体包括:所述映射单元将具有所述起始地址的所述单帧数据按帧长度分为多段,每段包括多个段内地址,将所述帧起始地址和所述帧长度信息映射为段内编址信息和段计数信息后的初始状态中,所述段计数信息为所述单帧数据分为的段数,所述段内编址信息中的段内编址为零;

所述段内编址器根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;

若所述段计数器接收到所述段计数更新信息,则进行减法计数,直到所述段计数信息中的计数是零为止。

16.根据权利要求14所述的方法,其特征在于,所述DMA控制器包括:映射单元、段内编址器、段计数器及帧计数器;

所述DMA控制器接收后端处理器的发送的数据传输请求,具体包括:

所述映射单元接收所述后端处理器的发送的多帧数据传输请求,所述多帧数据传输请求中包括:帧数、帧起始地址及帧长度信息;

所述DMA控制器控制所述数据按照多帧方式进行传输,具体包括:

所述映射单元将所述帧数、所述帧起始地址及所述帧长度信息映射为帧计数信息、段内编址信息及段计数信息,将帧数、帧起始地址及帧长度信息映射为帧计数信息、段内编址信息及段计数信息后的初始状态中,帧计数信息为所述多帧数据包括的帧数,段计数信息为单帧数据包括的段数,段内编址信息中的段内编址为零;

所述段内编址器根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;

若所述段计数器接收到所述段计数更新信息则进行减法计数,若所述段计数信息中的计数是零,则向所述帧计数器发送帧计数更新信息,并将所述段计数信息中的计数置为最大值,进行下一帧的段计数;

若所述帧计数器接收到帧计数更新信息,则进行减法计数,直到所述帧计数信息中的计数是零为止。

17.根据权利要求13所述的方法,其特征在于,所述入口调度状态包括:空闲状态和多个传输缓冲器写入状态;

所述入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据,具体包括:若所述入口调度状态为空闲状态且所述写令牌信息为某一写令牌信息,则控制将所述空闲状态跳变为所述某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。

18.根据权利要求17所述的方法,其特征在于,所述控制该传输缓冲器写入数据之后,还包括:若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。

19.根据权利要求18所述的方法,其特征在于,所述将当前写令牌信息更新为另一写令牌信息,具体包括:所述入口调度器根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将所述当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。

20.根据权利要求13所述的方法,其特征在于,所述出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态;

所述出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据,具体包括:若所述出口调度状态为传输控制器检测状态且所述读令牌信息为某一读令牌信息,则所述传输控制器通过检测后控制将所述传输控制器检测状态跳变为所述传输缓冲器检测状态,所述传输缓冲器通过检测后控制将所述传输缓冲器检测状态跳变为所述某一读令牌信息对应的传输缓冲器读取状态,并控制从该传输缓冲器读取数据。

21.根据权利要求20所述的方法,其特征在于,所述控制从该传输缓冲器读取数据之后,还包括:若当前传输控制器读取数据达到第二预设长度值,则将所述当前传输缓冲器读取状态更新为传输控制器检测状态,将所述当前读令牌信息更新为另一读令牌信息。

22.根据权利要求21所述的方法,其特征在于,所述将所述当前读令牌信息更新为另一读令牌信息,具体包括:所述出口调度器根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将所述当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。

23.根据权利要求13所述的方法,其特征在于,所述传输控制器包括:多重数据缓冲区,传输处理器和串行通信引擎;

所述方法还包括:

所述多重数据缓冲区对所述数据进行缓存;

所述传输处理器将所述多重数据缓冲区中的数据发送给所述串行通信引擎;

所述串行通信引擎接收所述传输处理器发送的数据,并将所述数据发送给后端处理器。

24.根据权利要求13所述的方法,其特征在于,所述后端处理器包括多核CPU;

所述方法还包括:

所述多核CPU将数据通过并行方式传输给后端存储器。

25.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求13-24中任一项所述的方法。

说明书 :

数据传输的装置、方法及可读存储介质

技术领域

[0001] 本发明实施例涉及大数据处理技术领域,尤其涉及一种数据传输的装置、方法及可读存储介质。

背景技术

[0002] 随着互联网的发展以及科技的进步,在各个科技行业出现了数据的爆发式增长,形成了大量数据。例如在超高速超声成像技术领域,超高速超声成像系统产生了大量数据,这些数据缓存在系统的前端存储器中,需要尽快传输到后端存储器或外部存储器进行后续处理。这就需要对大数据进行传输。
[0003] 现有技术中对大数据的传输不仅增加数据处理系统后端处理器负担,耗费大量资源,而且由于传输机制的问题导致大数据的传输过程缓慢,不能进行大数据的快速传输。

发明内容

[0004] 本发明实施例提供一种数据传输的装置、方法及可读存储介质,解决了现有技术中对大数据的传输中增加数据处理系统后端处理器负担,耗费大量资源,由于传输机制的问题导致大数据的传输过程缓慢的技术问题。
[0005] 第一方面,本发明实施例提供一种数据传输的装置,包括:前端处理器,传输控制器及后端处理器;
[0006] 所述前端处理器通过所述传输控制器与所述后端处理器连接;
[0007] 所述前端处理器包括:DMA控制器,传输调度器,内存控制器,及多个传输缓冲器,所述DMA控制器分别与所述传输控制器、所述内存控制器、各所述传输缓冲器和所述传输调度器连接,所述传输控制器和所述传输调度器均分别与各所述传输缓冲器连接;
[0008] 所述DMA控制器,用于接收所述后端处理器的发送的数据传输请求,根据所述数据传输请求向所述内存控制器发送数据读取指令,接收读取到的数据,并将其发送至所述传输缓冲器;
[0009] 所述内存控制器,用于根据所述数据读取指令控制内存读取数据,并将读取到的数据发送给所述DMA控制器;
[0010] 所述传输调度器,用于控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出并经所述传输控制器传输至所述后端处理器。
[0011] 所述传输调度器,包括:入口调度器和出口调度器;
[0012] 所述入口调度器,用于根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据;
[0013] 所述出口调度器,用于根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。
[0014] 进一步地,如上所述的装置,所述DMA控制器,具体用于控制所述数据按照单帧或多帧方式进行传输。
[0015] 进一步地,如上所述的装置,所述DMA控制器包括:映射单元,段计数器和段内编址器;
[0016] 所述映射单元分别与所述段计数器和所述段内编址器连接,所述段计数器与所述段内编址器连接;
[0017] 所述映射单元,用于接收所述后端处理器的发送的单帧数据传输请求,所述单帧数据传输请求中包括:帧起始地址及帧长度信息,将所述帧起始地址和所述帧长度信息映射为段内编址信息和段计数信息;
[0018] 所述段内编址器,用于根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;
[0019] 所述段计数器,用于若接收到所述段计数更新信息则进行减法计数,直到所述段计数信息中的计数是段计数初始值为止。
[0020] 进一步地,如上所述的装置,所述段内编址器,具体用于:将所述段内编址信息中的段内编址置为零,进行下一段的段内编址;
[0021] 所述段内计数器,用于若接收到所述段计数更新信息则进行减一计数,直到所述段计数信息中的计数是零为止。
[0022] 进一步地,如上所述的装置,所述DMA控制器包括:映射单元,段内编址器,段计数器及帧计数器;
[0023] 所述映射单元分别与所述帧计数器,所述段计数器,所述段内编址器连接,所述段计数器分别与所述段内编址器,所述帧计数器连接;
[0024] 所述映射单元,用于接收所述后端处理器的发送的多帧数据传输请求,所述多帧数据传输请求中包括:帧数,帧起始地址及帧长度信息,将所述帧数,所述帧起始地址及所述帧长度信息映射为段内编址信息,段计数信息及帧计数信息;
[0025] 所述段内编址器,用于根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;
[0026] 所述段计数器,用于若接收到所述段计数更新信息则进行减法计数,若所述段计数信息中的计数是段计数初始值,则向所述帧计数器发送帧计数更新信息,并将所述段计数信息中的计数置为最大值,进行下一帧的段计数;
[0027] 所述帧计数器,用于若接收到帧计数更新信息,则进行减法计数,直到所述帧计数信息中的计数是帧计数初始值为止。
[0028] 进一步地,如上所述的装置,所述段内编址器,具体用于将所述段内编址信息中的段内编址置为零,进行下一段的段内编址;
[0029] 所述段计数器,具体用于若接收到所述段计数更新信息则进行减一计数,若所述段计数信息中的计数是零,则向所述帧计数器发送帧计数更新信息;
[0030] 所述帧计数器,具体用于若接收到帧计数更新信息,则进行减一计数,直到所述帧计数信息中的计数是零为止。
[0031] 进一步地,如上所述的装置,所述入口调度状态包括:空闲状态和多个传输缓冲器写入状态;
[0032] 所述入口调度器,具体用于:若所述入口调度状态为空闲状态且所述写令牌信息为某一写令牌信息,则控制将所述空闲状态跳变为所述某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。
[0033] 进一步地,如上所述的装置,所述入口调度器,还用于若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。
[0034] 进一步地,如上所述的装置,所述入口调度器,具体用于根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将所述当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。
[0035] 进一步地,如上所述的装置,所述出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态;
[0036] 所述出口调度器,具体用于:若所述出口调度状态为传输控制器检测状态且所述读令牌信息为某一读令牌信息,则所述传输控制器通过检测后控制将所述传输控制器检测状态跳变为所述传输缓冲器检测状态,所述传输缓冲器通过检测后控制将所述传输缓冲器检测状态跳变为所述某一读令牌信息对应的传输缓冲器读取状态,并控制该传输缓冲器读取数据。
[0037] 进一步地,如上所述的装置,所述出口调度器,还用于若当前传输控制器读取数据达到第二预设长度值,则将所述当前传输缓冲器读取状态更新为传输控制器检测状态,将所述当前读令牌信息更新为另一读令牌信息。
[0038] 进一步地,如上所述的装置,所述出口调度器,具体用于,根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将所述当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。
[0039] 进一步地,如上所述的装置,所述传输控制器包括:多重数据缓冲区,传输处理器和串行通信引擎;
[0040] 所述传输处理器分别与所述多重数据缓冲区,所述串行通信引擎连接;
[0041] 所述多重数据缓冲区,用于对所述数据进行缓存;
[0042] 所述传输处理器,用于将所述多重数据缓冲区中的数据发送给所述串行通信引擎;
[0043] 所述串行通信引擎,用于接收所述传输处理器发送的数据,并将所述数据发送给后端处理器。
[0044] 进一步地,如上所述的装置,所述后端处理器包括多核CPU;
[0045] 所述多核CPU,用于将数据通过并行方式传输给后端存储器。
[0046] 第二方面,本发明实施例提供一种数据传输的方法,前端处理器通过传输控制器与后端处理器连接,所述前端处理器包括:DMA控制器,传输调度器,内存控制器,及多个传输缓冲器,所述DMA控制器分别与所述传输控制器、所述内存控制器、各所述传输缓冲器和所述传输调度器连接,所述传输控制器和所述传输调度器均分别与各所述传输缓冲器连接,所述方法包括:
[0047] DMA控制器接收所述后端处理器的发送的数据传输请求,根据所述数据传输请求向所述内存控制器发送数据读取指令;
[0048] 所述内存控制器根据所述数据读取指令控制内存读取数据,并将读取到的数据发送给所述DMA控制器;
[0049] 所述DMA控制器接收读取到的数据,并将其发送至所述传输缓冲器;
[0050] 所述传输调度器控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出并经所述传输控制器传输至所述后端处理器。
[0051] 所述传输调度器,包括:入口调度器和出口调度器;
[0052] 所述传输调度器控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出,具体包括:
[0053] 所述入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据;
[0054] 所述出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。
[0055] 进一步地,如上所述的方法,所述DMA控制器接收读取到的数据,并将其发送至所述传输缓冲器,具体包括:
[0056] 所述DMA控制器控制所述数据按照单帧或多帧方式进行传输。
[0057] 进一步地,如上所述的方法,所述DMA控制器包括:映射单元,段计数器和段内编址器;
[0058] 所述DMA控制器接收后端处理器的发送的数据传输请求,具体包括:
[0059] 所述映射单元接收所述后端处理器的发送的单帧数据传输请求,所述单帧数据传输请求中包括:帧起始地址及帧长度信息;
[0060] 相应地,所述DMA控制器控制所述数据按照单帧方式进行传输,具体包括:
[0061] 所述映射单元将所述帧起始地址和所述帧长度信息映射为段内编址信息和段计数信息;
[0062] 所述段内编址器根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;
[0063] 若所述段计数器接收到所述段计数更新信息,则进行减法计数,直到所述段计数信息中的计数是段计数初始值为止。
[0064] 进一步地,如上所述的方法,所述段内编址器将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址,具体为:
[0065] 所述段内编址器将所述段内编址信息中的段内编址置为零,进行下一段的段内编址;
[0066] 所述若所述段计数器接收到所述段计数更新信息,则进行减法计数,直到所述段计数信息中的计数是段计数初始值为止,具体为:
[0067] 若所述段计数器接收到所述段计数更新信息则进行减一计数,直到所述段计数信息中的计数是零为止。
[0068] 进一步地,如上所述的方法,所述DMA控制器包括:映射单元,段内编址器,段计数器及帧计数器;
[0069] 所述DMA控制器接收后端处理器的发送的数据传输请求,具体包括:
[0070] 所述映射单元接收所述后端处理器的发送的多帧数据传输请求,所述多帧数据传输请求中包括:帧数,帧起始地址及帧长度信息;
[0071] 所述DMA控制器控制所述数据按照多帧方式进行传输,具体包括:
[0072] 所述映射单元将所述帧数,所述帧起始地址及所述帧长度信息映射为段内编址信息,段计数信息及帧计数信息;
[0073] 所述段内编址器根据所述DMA控制器发送的数据更新所述段内编址信息,若所述段内编址信息中的段内编址达到最大值,则向所述段计数器发送段计数更新信息,并将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址;
[0074] 若所述段计数器接收到所述段计数更新信息则进行减法计数,若所述段计数信息中的计数是段计数初始值,则向所述帧计数器发送帧计数更新信息,并将所述段计数信息中的计数置为最大值,进行下一帧的段计数;
[0075] 若所述帧计数器接收到帧计数更新信息,则进行减法计数,直到所述帧计数信息中的计数是帧计数初始值为止。
[0076] 进一步地,如上所述的方法,所述段内编址器将所述段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址,具体为:
[0077] 所述段内编址器将所述段内编址信息中的段内编址置为零,进行下一段的段内编址;
[0078] 所述若所述段计数器接收到所述段计数更新信息则进行减法计数,若所述段计数信息中的计数是段计数初始值,则向所述帧计数器发送帧计数更新信息,具体为:
[0079] 若所述段计数器接收到所述段计数更新信息则进行减一计数,若所述段计数信息中的计数是零,则向所述帧计数器发送帧计数更新信息;
[0080] 所述若所述帧计数器接收到帧计数更新信息,则进行减法计数,直到所述帧计数信息中的计数是帧计数初始值为止,具体为:
[0081] 若所述帧计数器接收到帧计数更新信息,则进行减一计数,直到所述帧计数信息中的计数是零为止。
[0082] 进一步地,如上所述的方法,所述入口调度状态包括:空闲状态和多个传输缓冲器写入状态;
[0083] 所述入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据,具体包括:
[0084] 若所述入口调度状态为空闲状态且所述写令牌信息为某一写令牌信息,则控制将所述空闲状态跳变为所述某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。
[0085] 进一步地,如上所述的方法,所述控制向该传输缓冲器写入数据之后,还包括:
[0086] 若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。
[0087] 进一步地,如上所述的方法,所述将当前写令牌信息更新为另一写令牌信息,具体包括:
[0088] 所述入口调度器根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将所述当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。
[0089] 进一步地,如上所述的方法,所述出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态;
[0090] 所述出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据,具体包括:
[0091] 若所述出口调度状态为传输控制器检测状态且所述读令牌信息为某一读令牌信息,则所述传输控制器通过检测后控制将所述传输控制器检测状态跳变为所述传输缓冲器检测状态,所述传输缓冲器通过检测后控制将所述传输缓冲器检测状态跳变为所述某一读令牌信息对应的传输缓冲器读取状态,并控制从该传输缓冲器读取数据。
[0092] 进一步地,如上所述的方法,所述控制从该传输缓冲器读取数据之后,还包括:
[0093] 若当前传输控制器读取数据达到第二预设长度值,则将所述当前传输缓冲器读取状态更新为传输控制器检测状态,将所述当前读令牌信息更新为另一读令牌信息。
[0094] 进一步地,如上所述的方法,所述将所述当前读令牌信息更新为另一读令牌信息,具体包括:
[0095] 所述出口调度器根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将所述当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。
[0096] 进一步地,如上所述的方法,所述传输控制器包括:多重数据缓冲区,传输处理器和串行通信引擎;
[0097] 所述方法还包括:
[0098] 所述多重数据缓冲区对所述数据进行缓存;
[0099] 所述传输处理器将所述多重数据缓冲区中的数据发送给所述串行通信引擎;
[0100] 所述串行通信引擎接收所述传输处理器发送的数据,并将所述数据发送给后端处理器。
[0101] 进一步地,如上所述的方法,所述后端处理器包括多核CPU;
[0102] 所述方法还包括:
[0103] 所述多核CPU将数据通过并行方式传输给后端存储器。
[0104] 第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第二方面任一项所述的方法。
[0105] 本发明实施例提供一种数据传输的装置、方法及可读存储介质,该装置包括:前端处理器,传输控制器及后端处理器。前端处理器通过传输控制器与后端处理器连接。所述前端处理器包括:DMA控制器,传输调度器,内存控制器,及多个传输缓冲器,所述DMA控制器分别与所述传输控制器、所述内存控制器、各所述传输缓冲器和所述传输调度器连接,所述传输控制器和所述传输调度器均分别与各所述传输缓冲器连接;所述DMA控制器,用于接收所述后端处理器的发送的数据传输请求,根据所述数据传输请求向所述内存控制器发送数据读取指令,接收读取到的数据,并将其发送至所述传输缓冲器;所述内存控制器,用于根据所述数据读取指令控制内存读取数据,并将读取到的数据发送给所述DMA控制器;所述传输调度器,用于控制多个所述传输缓冲器对所述DMA控制器发送来的数据进行写入,以及控制多个所述传输缓冲器将数据读出并经所述传输控制器传输至所述后端处理器。由于在前端处理器中,对传输的数据能够进行有序的调度,所以能够进行大数据的快速传输,并且在后端处理器准备好接收数据后进行数据的传输,不会增加后端处理器的负担,避免大量资源的耗费。
[0106] 应当理解,上述发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。

附图说明

[0107] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0108] 图1为本发明实施例一提供的数据传输的装置的结构示意图;
[0109] 图2为本发明实施例二提供的数据传输的装置中DMA控制器的结构示意图;
[0110] 图3为本发明实施例三提供的数据传输的装置中DMA控制器的结构示意图;
[0111] 图4为本发明实施例四提供的数据传输的装置的结构示意图;
[0112] 图5为本发明实施例四提供的数据传输的装置中传输调度器的结构示意图;
[0113] 图6为本发明实施例四提供的数据传输的装置中入口调度器的入口调度状态的跳转示意图;
[0114] 图7为本发明实施例四提供的数据传输的装置中出口调度器的出口调度状态的跳转示意图;
[0115] 图8为本发明实施例五提供的数据传输的装置中传输控制器的结构示意图;
[0116] 图9为本发明实施例六提供的数据传输的方法的流程图;
[0117] 图10为本发明实施例七提供的数据传输的方法的流程图;
[0118] 图11为本发明实施例八提供的数据传输的方法的流程图;
[0119] 图12为本发明实施例九提供的数据传输的方法的流程图;
[0120] 图13为本发明实施例十提供的数据传输的方法的流程图。
[0121] 附图标记
[0122] 101-前端处理器   1011-DMA控制器   1011a-映射单元   1011b-段计数器   1011c-段内编址器   1101d-帧计数器   1012-传输调度器 1012a-入口调度器   
1012b-出口调度器 1013-内存控制器   1014-第一传输缓冲器   1015-第二传输缓冲器 1016-内存   102-传输控制器   102a-多重数据缓冲区 102b-传输处理器
102c-串行通信引擎   103-后端处理器

具体实施方式

[0123] 下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
[0124] 本发明实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0125] 图1为本发明实施例一提供的数据传输的装置的结构示意图,如图1所示,则本实施例提供的数据传输的装置包括:前端处理器101,传输控制器102及后端处理器103。
[0126] 其中,前端处理器101通过传输控制器102与后端处理器103连接。
[0127] 具体地,前端处理器101,用于对前端存储器中的数据进行传输的调度,将数据发送给传输控制器102。传输控制器102,作为前端处理器101和后端处理器103的传输通道将数据发送给后端处理器103。后端处理器103,用于对传输的数据进行调度后传输给后端存储器或外部存储设备。
[0128] 本实施例中,前端处理器101包括:DMA控制器1011,传输调度器1012,内存控制器1013,及多个传输缓冲器,DMA控制器1011分别与传输控制器102、内存控制器1013、各传输缓冲器和传输调度器1012连接,传输控制器102和传输调度器1012均分别与各传输缓冲器连接。
[0129] 本实施例中,DMA控制器1011,用于接收后端处理器103的发送的数据传输请求,根据数据传输请求向内存控制器1013发送数据读取指令,接收读取到的数据,并将其发送至传输缓冲器。内存控制器1013,用于根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器1011。传输调度器1012,用于控制多个传输缓冲器对DMA控制器1011发送来的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器102传输至后端处理器103。
[0130] 具体地,本实施例中,DMA控制器1011接收后端处理器103的发送的数据传输请求,在数据传输请求中包括传输信息,DMA控制器1011根据数据传输请求的传输信息向内存控制器1013发送对应的数据读取指令,内存控制器1013根据数据读取指令控制内存读取数据,其中,内存可从前端存储器中读取数据。并将读取到的数据发送给DMA控制器1011。DMA控制器1011接收读取到的数据,并将其发送给传输缓冲器。在DMA控制器1011将数据传输给传输缓冲器时,传输调度器1012按规则控制各传输缓冲器依次对DMA发送的数据进行写入,令每个传输缓冲器拥有均等的写入权限,即可在一个传输缓冲器写入数据后,另一传输缓冲器继续写入数据。同时传输调度器1012按照规则控制各传输缓冲器将数据依次读出并经过传输控制器102发送给后端处理器103。其中每个传输缓冲器也拥有均等的读取权限,即可在一个传输缓冲器读取数据后,另一传输缓冲器继续读取数据。
[0131] 其中,在图1中包括两个传输缓冲器,分别为第一传输缓冲器1014和第二传输缓冲器1015。
[0132] 本实施例提供的数据传输的装置,包括:前端处理器101,传输控制器102及后端处理器103。前端处理器101通过传输控制器102与后端处理器103连接。前端处理器101包括:DMA控制器1011,传输调度器1012,内存控制器1013,及多个传输缓冲器,DMA控制器1011分别与传输控制器102、内存控制器1013各传输缓冲器和传输调度器1012连接,传输控制器
102和传输调度器1012均分别与各传输缓冲器连接。DMA控制器1011,用于接收后端处理器
103的发送的数据传输请求,根据数据传输请求向内存控制器1013发送数据读取指令,接收读取到的数据,并将其发送至传输缓冲器;内存控制器1013,用于根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器1011;传输调度器1012,用于控制多个传输缓冲器对DMA控制器1011发送来的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器102传输至发送给后端处理器103。由于在前端处理器101中,对传输的数据能够进行有序的调度,所以能够进行大数据的快速传输,并且在后端处理器103准备好接收数据后进行数据的传输,不会增加后端处理器103的负担,避免大量资源的耗费。
[0133] 进一步地,本实施例中,DMA控制器1011,具体用于控制数据按照单帧或多帧方式进行传输。
[0134] 具体地,本实施例中,在DMA控制器1011接收后端处理器103的发送的数据传输请求,在数据传输请求中包括传输信息,传输信息可以为单帧传输信息,也可以为多帧传输信息,在DMA控制器1011接收读取到的数据,并将其发送给传输缓冲器时,若传输信息为单帧传输信息,则通过直接内存存取技术按照单帧方式将数据发送给传输缓冲器,若传输信息为多帧传输信息,则通过直接内存存取技术按照多帧方式将数据发送给传输缓冲器。
[0135] 所以本实施例提供的数据传输的装置,DMA控制器1011,具体用于控制数据按照单帧或多帧方式进行传输,能够通过直接内存存取技术进行数据的传输,进一步加快了数据传输的速度。
[0136] 实施例二
[0137] 图2为本发明实施例二提供的数据传输的装置中DMA控制器1011的第一结构示意图,如图2所示,本发明实施例二提供的数据传输的装置,是在本发明实施例一提供的数据传输的装置的基础上,对前端处理器101的DMA控制器1011的进一步地细化,则本实施例中,DMA控制器1011包括:映射单元1011a,段计数器1011b和段内编址器1011c。
[0138] 其中,映射单元1011a分别与段计数器1011b和段内编址器1011c连接,段计数器1011b与段内编址器1011c连接。
[0139] 本实施例中,映射单元1011a,用于接收后端处理器103的发送的单帧数据传输请求,单帧数据传输请求中包括:帧起始地址及帧长度信息,将帧起始地址和帧长度信息映射为段内编址信息和段计数信息。段内编址器1011c,用于根据DMA控制器1011发送的数据更新段内编址信息,若段内编址信息中的段内编址达到最大值,则向段计数器1011b发送段计数更新信息,并将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址。段计数器1011b,用于若接收到段计数更新信息则进行减法计数,直到段计数信息中的计数是段计数初始值为止。
[0140] 优选地,本实施例中,段内编址器1011c,具体用于:将段内编址信息中的段内编址置为零,进行下一段的段内编址。段计数器1011b,用于若接收到段计数更新信息则进行减一计数,直到段计数信息中的计数是零为止。即优选地,本实施例中,段内编址器1011c中的段内编址初始值为零,段计数器1011b进行的减法计数为减一计数。
[0141] 具体地,本实施例中,若DMA控制器1011控制数据按照单帧方式进行传输,则DMA控制器1011包括:映射单元1011a,段计数器1011b和段内编址器1011c。
[0142] 首先,映射单元1011a接收后端处理器103的发送的单帧数据传输请求,单帧数据传输请求中包括:帧起始地址及帧长度信息。其中,帧起始地址能够表示该单帧数据的存储位置,帧长度信息为单帧的长度。将帧起始地址和帧长度信息映射为段内编址信息和段计数信息,即将该具有帧起始地址的单帧数据按帧长度分为多段,每段包括多个段内编址。将帧起始地址和帧长度信息映射为段内编址信息和段计数信息后的初始状态,段计数信息为该单帧数据分为的段数。段内编址信息中的段内编址为零。
[0143] 其次,段内编址器1011c存储段内编址信息,同时监测DMA控制器1011发送的数据,根据DMA控制器1011发送的数据进行段内编址,即更新段内编址信息,段内编码由小变大,若段内编址信息中的段内编址达到最大值,说明接收的数据达到一个段,则向段计数器1011b发送段计数更新信息,同时为了对下一段进行段内编址,将段内编址信息中的段内编址置为零,以继续根据内存控制器1013发送的数据进行下一段的段内编址。
[0144] 其中,段计数更新信息表示由段计数器1011b进行减一计数的信息。
[0145] 最后,段计数器1011b存储段计数信息,若接收到段计数更新信息则表示段内编址器1011c中的段内编址达到了最大值,当前段的数据已接收完毕,需要进行下一段的段内编址,则段内计数器对段计数信息中的段数进行减一,继续进行下一段的计数。若段内编码器中的段内编码达到最大值,段计数器1011b的段计数信息中的计数是零,则说明该单帧数据已经接收完毕。
[0146] 本实施例提供的数据传输装置,DMA控制器1011包括:映射单元1011a,段计数器1011b和段内编址器1011c,能够根据后端处理器103的单帧数据传输请求进行单帧数据的准确计数和传输。
[0147] 实施例三
[0148] 图3为本发明实施例三提供的数据传输的装置中DMA控制器1011的结构示意图,如图3所示,本发明实施例三提供的数据传输的装置,是在本发明实施例一提供的数据传输的装置的基础上,对前端处理器101的DMA控制器1011的进一步细化,则本实施例中,DMA控制器1011包括:映射单元1011a,段内编址器1011c,段计数器1011b及帧计数器1011d。
[0149] 其中,映射单元1011a分别与帧计数器1011d,段计数器1011b,段内编址器1011c连接,段计数器1011b分别与段内编址器1011c,帧计数器1011d连接。
[0150] 本实施例中,映射单元1011a,用于接收后端处理器103的发送的多帧数据传输请求,多帧数据传输请求中包括:帧数,帧起始地址及帧长度信息,将帧数,帧起始地址及帧长度信息映射为段内编址信息,段计数信息及帧计数信息。段内编址器1011c,用于根据DMA控制器1011发送的数据更新段内编址信息,若段内编址信息中的段内编址达到最大值,则向段计数器1011b发送段计数更新信息,并将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址。段计数器1011b,用于若接收到段计数更新信息则进行减法计数,若段计数信息中的计数是段计数初始值,则向帧计数器1011d发送帧计数更新信息,并将段计数信息中的计数置为最大值,进行下一帧的段计数。帧计数器1011d,用于若接收到帧计数更新信息,则进行减法计数,直到帧计数信息中的计数是帧计数初始值为止。
[0151] 优选地,本实施例中,段内编址器1011c,具体用于将段内编址信息中的段内编址置为零,进行下一段的段内编址。段计数器1011b,具体用于若接收到段计数更新信息则进行减一计数,若段计数信息中的计数是零,则向帧计数器1011d发送帧计数更新信息;帧计数器1011d,具体用于若接收到帧计数更新信息,则进行减一计数,直到帧计数信息中的计数是零为止。即优选地,本实施例中,段内编址器1011c中的段内编址初始值为零。段计数器1011b进行的减法计数为减一计数,并且段计数初始值为零。帧计数器1011d中进行的减法计数为减一计数,并且帧计数初始值为零。
[0152] 具体地,本实施例中,若DMA控制器1011控制数据按照多帧方式进行传输,则DMA控制器1011包括:映射单元1011a,段内编址器1011c,段计数器1011b及帧计数器1011d。
[0153] 首先,映射单元1011a接收后端处理器103的发送的多帧数据传输请求,在多帧数据传输请求中包括:帧数,帧起始地址及帧长度信息。其中,帧数为多帧数据传输时传输的帧的个数,帧起始地址能够确定多帧数据的存储位置,帧长度信息为每帧的长度。将帧数,帧起始地址及帧长度信息映射为段内编址信息,段计数信息及帧计数信息,即将具有帧起始地址的多帧数据按帧数分为多帧,每帧按帧长度分为多段,每段包括多个段内编址。将帧数,帧起始地址及帧长度信息映射为段内编址信息,段计数信息及帧计数信息后的初始状态中,帧计数信息为该多帧数据包括的帧数,段计数信息为单帧数据包括的段数,段内编址信息中的段内编址为零。
[0154] 其次,段内编址器1011c对段内编址信息进行存储,段内编址信息的初始状态为零,同时监测DMA控制器1011发送的数据,根据DMA控制器1011发送的数据进行段内编址,即更新段内编址信息,段内编码由小变大,若段内编址信息中的段内编址达到最大值,说明接收的数据达到一个段,则向段计数器1011b发送段计数更新信息,同时为了对下一段进行段内编址,将段内编址信息中的段内编址置为零,以继续根据内存控制器1013发送的数据进行下一段的段内编址。
[0155] 再者,段计数器1011b对段计数信息进行存储,该存储的段计数信息的初始状态为每帧数据包括的段数,若接收到段计数更新信息则表示段内编址器1011c中的段内编址达到了最大值,当前段的数据已接收完毕,需要再次进行下一段的段内编址,则段内计数器对段计数信息中的段数进行减一计数,在进行减一计数过程中,若段计数信息中的计数变为零,则说明该帧数据传输完毕,则向帧计数器1011d发送帧计数更新信息,并将段计数信息中的计数置为最大值,以便进行下一帧的段计数。
[0156] 最后,帧计数器1011d对帧计数信息进行存储,帧计数信息的初始状态为多帧传输的帧数,若接收到帧计数更新信息,则表示当前帧的数据已接收完毕,需要接收下一帧的数据,则进行减一计数。每接收到一帧数据,帧计数更新信息均进行减一计数,直到帧计数信息中的计数为零为止。
[0157] 可以理解的是,若段内编址器1011c中的段内编址达到最大值,段内计数器中的段内计数为零,帧计数器1011d中的帧计数为零,则代表多帧数据传输完毕。
[0158] 本实施例提供的数据传输装置,DMA控制器1011包括:映射单元1011a,段内编址器1011c,段计数器1011b及帧计数器1011d,能够根据后端处理器103的多帧数据传输请求进行多帧数据的准确计数和传输。
[0159] 实施例四
[0160] 图4为本发明实施例四提供的数据传输的装置的结构示意图。如图4所示,本实施例提供的数据传输的装置是在本发明实施例一或本发明实施例二或实施例三提供的数据传输的装置的基础上,前端处理器101还包括:内存1016。并且对传输调度器1012进行了进一步的细化,图5为本发明实施例四提供的数据传输的装置中传输调度器1012的结构示意图,如图5所示,本实施例提供的传输调度器1012包括:入口调度器1012a和出口调度器1012b。
[0161] 其中,入口调度器1012a,用于根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据。出口调度器1012b,用于根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。
[0162] 进一步地,本实施例中,图6为本发明实施例四提供的数据传输的装置中入口调度器的入口调度状态的跳转示意图,如图6所示,本实施例中,入口调度状态包括:空闲状态和多个传输缓冲器写入状态。空闲状态为入口调度器的初始状态。若传输缓冲器为两个,则多个传输缓冲器写入状态包括:第一传输缓冲器写入状态和第二传输缓冲器写入状态。其中,第一传输缓冲器写入状态表示当前状态为向第一传输缓冲器写入状态,第二传输缓冲器写入状态表示当前状态为向第二传输缓冲器写入状态。
[0163] 其中,写令牌信息中包括传输缓冲器的标识,写令牌信息表示某一传输缓冲器具有写数据的权限的信息。
[0164] 进一步地,本实施例中,入口调度器1012a,具体用于:若入口调度状态为空闲状态且写令牌信息为某一写令牌信息,则控制将空闲状态跳变为某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。
[0165] 进一步地,入口调度器1012a,还用于若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。
[0166] 其中,第一预设长度值为预先设定的所有传输缓冲器每次写入数据的长度值。如可以为256bit,或其他数值,本实施例中对此不作限定。
[0167] 进一步地,入口调度器1012a,具体用于根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。
[0168] 其中,传输缓冲器的等待写入时间为上一次写入数据完毕后的时刻到再次开始写入数据时刻的时间间隔。
[0169] 具体地,本实施例中,入口调度器1012a根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息,能够使多个传输缓冲器具有均等写入权限。在初始未进行数据写入时,各传输缓冲器等待写入时间相同,可预先定义多个传输缓冲器写入数据的顺序。本实施例中,以两个传输缓冲器为例进行说明。即入口调度状态包括:空闲状态和两个传输缓冲器写入状态。则在入口调度器1012a中,首先入口调度状态处于初始状态,在DMA控制器1011有数据需要写入时,写令牌信息为第一写令牌信息,即第一传输缓冲器1014具有写数据的权限,则当入口调度状态为空闲状态且写令牌信息为第一写令牌信息时,则控制将空闲状态跳变为第一传输缓冲器写入状态,并控制第一传输缓冲器1014写入数据。在第一传输缓冲器1014写入数据的过程中,对写入数据的长度进行计数,若第一传输缓冲器1014写入数据达到第一预设长度值,则将第一传输缓冲器写入状态更新为空闲状态,并对某一写令牌信息进行更新,在对某一写令牌信息进行更新时,确定第二传输缓冲器1015等待写入时间长于第一传输缓冲器1014等待写入时间,则将某一写令牌信息更新为第二写令牌信息,表示第二传输缓冲器1015具有写数据的权限,则控制将空闲状态跳变为第二传输缓冲器写入状态,并控制第二传输缓冲器1015写入数据。如此循环反复,使两个传输缓冲器具有均等写入权限,并均等进行数据的写入。
[0170] 本实施例提供的数据的传输装置中,传输调度器包括:入口调度器和出口调度器。入口调度器,用于根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据。入口调度状态包括:空闲状态和多个传输缓冲器写入状态;入口调度器,具体用于:若入口调度状态为空闲状态且写令牌信息为某一写令牌信息,则控制将空闲状态跳变为某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。入口调度器,具体用于根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息,通过设置多个入口调度状态及写令牌信息,使多个传输缓冲器具有均等写入权限,并能够快读调度每个传输缓冲器进行数据的写入。
[0171] 进一步地,本实施例中,图7为本发明实施例四提供的数据传输的装置中出口调度器的出口调度状态的跳转示意图,如图7所示,本实施例中,出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态。
[0172] 其中,传输控制器检测状态为对传输控制器102进行检测的状态,传输控制器可以为USB控制器。传输缓冲器检测状态为对传输缓冲器进行检测的状态,若传输缓冲器为两个,则多个传输缓冲器读取状态包括:第一传输缓冲器读取状态和第二传输缓冲器读取状态。其中,第一传输缓冲器读取状态表示当前状态为第一传输缓冲器1014读取数据的状态,第二传输缓冲器读取状态表示当前状态为第二传输缓冲器1015读取数据的状态。传输控制器检测状态为出口调度器的初始状态。
[0173] 进一步地,本实施例中,出口调度器1012b,具体用于:若出口调度状态为传输控制器检测状态且读令牌信息为某一读令牌信息,则传输控制器通过检测后控制将传输控制器检测状态跳变为传输缓冲器检测状态,传输缓冲器通过检测后控制将传输缓冲器检测状态跳变为某一读令牌信息对应的传输缓冲器读取状态,并控制该传输缓冲器读取数据。
[0174] 进一步地,本实施例中,出口调度器1012b,还用于若当前传输控制器读取数据达到第二预设长度值,则将当前传输缓冲器读取状态更新为传输控制器检测状态,将当前读令牌信息更新为另一读令牌信息。
[0175] 其中,读令牌信息中包括传输缓冲器的标识,读令牌信息表示某一传输缓冲器具有读取数据权限的信息。
[0176] 其中,第二预设长度值为预先设定的所有传输缓冲器每次读取数据的长度值。如可以为256bit,或其他数值,本实施例中对此不作限定。
[0177] 进一步地,本实施例中,出口调度器1012b,具体用于,根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。
[0178] 其中,传输缓冲器的等待读取时间为上一次读取数据完毕后的时刻到再次开始读取数据时刻的时间间隔。
[0179] 具体地,本实施例中,出口调度器1012b根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息,能够使多个传输缓冲器拥有均等读取权限,本实施例中,以两个传输缓冲器为例进行说明。即出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,第一传输缓冲器读取状态,第二传输缓冲器读取状态。则在出口调度器1012b中,首先出口调度状态处于初始状态,以从某一传输缓冲器读取数据并将数据传输到传输控制器102中。若出口调度状态为传输控制器检测状态且读令牌信息为第一读令牌信息,则表示第一传输缓冲器1014具有读取权限并出口调取状态处于初始状态,在检测传输控制器102做好接收数据准备后,将传输控制器检测状态跳变为传输缓冲器检测状态,在检测到第一传输缓冲器1014做好读取数据的准备后,将传输缓冲器检测状态跳变为第一传输缓冲器读取状态,控制第一传输缓冲器1014读取数据。在第一传输缓冲器1014数据过程中,对读取的数据长度进行计数,若第一传输缓冲器1014写入数据达到第二预设长度值,则将第一传输缓冲器读取状态更新为传输控制器检测状态,并对第一读令牌信息进行更新,在对第一读令牌信息进行更新时,确定第二传输缓冲器1015等待读取时间长于第一传输缓冲器1014等待读取时间,则将第一读令牌信息更新为第二读令牌信息,表示第二传输缓冲器1015具有读取数据的权限,在传输控制器102做好接收数据准备后,将传输控制器检测状态跳变为传输缓冲器检测状态,在检测到第二传输缓冲器1015做好读取数据的准备后,将传输缓冲器检测状态跳变为第二传输缓冲器读取状态,控制第二传输缓冲器1015读取数据。如此循环反复,使两个传输缓冲器具有均等读取权限,并均等进行数据的读取。
[0180] 本实施例提供的数据传输的装置,传输调度器1012包括:出口调度器,出口调度器,用于根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据,出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态;出口调度器,具体用于:若出口调度状态为传输控制器检测状态且读令牌信息为某一读令牌信息,则传输控制器通过检测后控制将传输控制器检测状态跳变为传输缓冲器检测状态,传输缓冲器通过检测后控制将传输缓冲器检测状态跳变为某一读令牌信息对应的传输缓冲器读取状态,并控制该传输缓冲器读取数据。出口调度器,具体用于,根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。通过设置多个出口调度状态及写令牌信息,使多个传输缓冲器具有均等读取权限,能够快读调度每个传输缓冲器进行数据的读取。
[0181] 进一步地,本实施例中,前端控制器还包括:内存1016。
[0182] 内存1016与内存控制器1013连接,用于在内存控制器1013的控制下从前端存储器读取数据。
[0183] 实施例五
[0184] 本发明实施例五提供的数据的传输装置是在本发明实施例四提供的数据传输的装置的基础上,对传输控制器102和后端处理器103的进一步细化。
[0185] 图8为本发明实施例五提供的数据传输的装置中传输控制器102的结构示意图,如图8所示,本实施例中,传输控制器102包括:多重数据缓冲区102a,传输处理器102b和串行通信引擎102c。
[0186] 其中,传输处理器102b分别与多重数据缓冲区102a,串行通信引擎102c连接。
[0187] 具体地,多重数据缓冲区102a,用于对数据进行缓存。传输处理器102b,用于将多重数据缓冲区102a中的数据发送给串行通信引擎102c。串行通信引擎102c,用于接收传输处理器102b发送的数据,并将数据发送给后端处理器103。
[0188] 本实施例中,传输控制器102采用USB3.0控制器。
[0189] 本实施例提供的数据传输的装置,传输控制器102包括:多重数据缓冲区102a,传输处理器102b和串行通信引擎102c,多重数据缓冲区102a,用于对数据进行缓存;传输处理器102b,用于将多重数据缓冲区102a中的数据发送给串行通信引擎102c;串行通信引擎102c,用于接收传输处理器102b发送的数据,并将数据发送给后端处理器103,由于多重数据缓冲区能够对数据进行有效地缓存,所以能够有效防止数据直接传输给后端处理器,后端处理器不能及时进行数据存储,造成数据的堆积。
[0190] 进一步地,本实施例中,后端处理器103包括多核CPU。
[0191] 具体地,多核CPU,用于将数据通过并行方式传输给后端存储器。
[0192] 本实施例提供的数据传输的装置,后端处理器103采用多核CPU将数据并行传输给后端存储器,能够进一步加快数据的传输。
[0193] 实施例六
[0194] 图9为本发明实施例六提供的数据传输的方法的流程图,如图9所示,实施例提供的数据传输的方法的执行主体为数据传输的装置,则本实施例提供的数据传输的方法包括以下步骤。
[0195] 步骤901,DMA控制器接收后端处理器的发送的数据传输请求,根据数据传输请求向内存控制器发送数据读取指令。
[0196] 步骤902,内存控制器根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器。
[0197] 步骤903,DMA控制器接收读取到的数据,并将其发送至传输缓冲器。
[0198] 步骤904,传输调度器控制多个传输缓冲器对DMA控制器发送来的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器传输至后端处理器。
[0199] 本实施例中,采用本发明实施例一中提供的数据传输的装置可以执行本实施例中的数据传输的方法的技术方案。其实现原理和技术效果类似,此处不再一一赘述。
[0200] 进一步地,本实施例中,步骤903具体包括:
[0201] DMA控制器控制数据按照单帧或多帧方式进行传输。
[0202] 本实施例提供的数据传输的方法,DMA控制器控制数据按照单帧或多帧方式进行传输,能够通过直接内存存取技术进行数据的传输,进一步加快了数据传输的速度。
[0203] 实施例七
[0204] 图10为本发明实施例七提供的数据传输的方法的流程图,如图10所示,本实施例提供的数据传输的方法是在本发明实施例六提供的数据传输的方法的基础上,对步骤901及步骤903的进一步细化,其中,DMA控制器包括:映射单元,段计数器和段内编址器。本实施例中的数据传输的方法,DMA控制器控制数据按照单帧方式进行传输,则本实施例提供的数据传输的方法包括以下步骤。
[0205] 步骤1001,映射单元接收后端处理器的发送的单帧数据传输请求,单帧数据传输请求中包括:帧起始地址及帧长度信息,根据单帧数据传输请求向内存控制器发送数据读取指令。
[0206] 步骤1002,内存控制器根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器。
[0207] 步骤1003,DMA控制器控制数据按照单帧方式进行传输。
[0208] 进一步地,DMA控制器控制数据按照单帧方式进行传输,具体包括:
[0209] 步骤1003a,映射单元将帧起始地址和帧长度信息映射为段内编址信息和段计数信息。
[0210] 步骤1003b,段内编址器接收根据DMA控制器发送的数据更新段内编址信息,若段内编址信息中的段内编址达到最大值,则向段计数器发送段计数更新信息,并将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址。
[0211] 优选地,本实施例中,步骤1003b中,段内编址器将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址,具体为:
[0212] 段内编址器将段内编址信息中的段内编址置为零,进行下一段的段内编址。
[0213] 即优选地,本实施例中,段内编址器中的段内编址初始值为零。
[0214] 步骤1003c,若段计数器接收到段计数更新信息,则进行减法计数,直到段计数信息中的计数是段计数初始值为止。
[0215] 优选地,本实施例中,步骤1003c,具体为:
[0216] 若段计数器接收到段计数更新信息则进行减一计数,直到段计数信息中的计数是零为止。
[0217] 即优选地,本实施例中,段计数器进行的减法计数为减一计数,段计数初始值为零。
[0218] 步骤1004,传输调度器控制多个传输缓冲器对DMA发送的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器传输至后端处理器。
[0219] 本实施例中,采用本发明实施例二中提供的数据传输的装置可以执行本实施例中的数据传输的方法的技术方案。其实现原理和技术效果类似,此处不再一一赘述。
[0220] 实施例八
[0221] 图11为本发明实施例八提供的数据传输的方法的流程图,如图11所示,本实施例提供的数据传输的方法是在本发明实施例八提供的数据传输的方法的基础上,对步骤901及步骤903的进一步细化,其中,DMA控制器包括:映射单元,段内编址器,段计数器及帧计数器。本实施例中的数据传输的方法,DMA控制器控制数据按照多帧方式进行传输,则本实施例提供的数据传输的方法包括以下步骤。
[0222] 步骤1101,映射单元接收后端处理器的发送的多帧数据传输请求,多帧数据传输请求中包括:帧数,帧起始地址及帧长度信息,并根据多帧数据传输请求向内存控制器发送数据读取指令。
[0223] 步骤1102,内存控制器根据数据读取指令控制内存读取数据,并将读取到的数据发送给DMA控制器。
[0224] 步骤1103,DMA控制器控制数据按照多帧方式进行传输。
[0225] 进一步地,本实施例中,步骤1103具体包括以下步骤:
[0226] 步骤1103a,映射单元将帧数,帧起始地址及帧长度信息映射为段内编址信息,段计数信息及帧计数信息。
[0227] 步骤1103b,段内编址器根据DMA控制器发送的数据更新段内编址信息,若段内编址信息中的段内编址达到最大值,则向段计数器发送段计数更新信息,并将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址。
[0228] 优选地,本实施中,步骤1103b段内编址器将段内编址信息中的段内编址置为段内编址初始值,进行下一段的段内编址,具体为:
[0229] 段内编址器将段内编址信息中的段内编址置为零,进行下一段的段内编址。
[0230] 即优选地,本实施例中,段内编址器中的段内编址初始值为零。
[0231] 步骤1103c,若段计数器接收到段计数更新信息则进行减法计数,若段计数信息中的计数是段计数初始值,则向帧计数器发送帧计数更新信息,并将段计数信息中的计数置为最大值,进行下一帧的段计数。
[0232] 优选地,本实施例中,步骤1103c具体为:
[0233] 若段计数器接收到段计数更新信息则进行减一计数,若段计数信息中的计数是零,则向帧计数器发送帧计数更新信息。
[0234] 即优选地,本实施例中,段计数器进行的减法计数为减一计数,段计数初始值为零。
[0235] 步骤1103d,若帧计数器接收到帧计数更新信息,则进行减法计数,直到帧计数信息中的计数是帧计数初始值为止。
[0236] 优选地,本实施例中,步骤1103d,具体为:
[0237] 若帧计数器接收到帧计数更新信息,则进行减一计数,直到帧计数信息中的计数是零为止。
[0238] 即优选地,本实施例中,帧计数器进行的减法计数为减一计数,帧计数初始值为零。
[0239] 步骤1104,传输调度器控制多个传输缓冲器对DMA发送的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器传输至后端处理器。
[0240] 本实施例中,采用本发明实施例三中提供的数据传输的装置可以执行本实施例中的数据传输的方法的技术方案。其实现原理和技术效果类似,此处不再一一赘述。
[0241] 实施例九
[0242] 图12为本发明实施例九提供的数据传输的方法的流程图,如图12所示,本实施例提供的数据传输的方法是在本发明实施例六或实施例七或实施例八提供的数据传输的方法的基础上,对步骤904或步骤1004或步骤1104的进一步细化,其中,传输调度器,包括:入口调度器和出口调度器。本实施例中的数据传输的方法,以本发明实施例一为基础,步骤904,传输调度器控制多个传输缓冲器对DMA发送的数据进行写入,以及控制多个传输缓冲器将数据读出并经传输控制器传输至后端处理器,具体包括以下步骤。
[0243] 步骤904a,入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据。
[0244] 进一步地,入口调度器根据入口调度状态和写令牌信息控制拥有写入权限的传输缓冲器写入数据,具体包括:
[0245] 若入口调度状态为空闲状态且写令牌信息为某一写令牌信息,则控制将空闲状态跳变为某一写令牌信息对应的传输缓冲器写入状态,并控制该传输缓冲器写入数据。
[0246] 本实施例中,控制向该传输缓冲器写入数据之后,还包括:
[0247] 若当前传输缓冲器写入数据达到第一预设长度值,则将当前传输缓冲器写入状态更新为空闲状态,将当前写令牌信息更新为另一写令牌信息。
[0248] 进一步地,本实施例中,将当前写令牌信息更新为另一写令牌信息,具体包括:
[0249] 入口调度器根据每个传输缓冲器等待写入时间确定等待写入时间最长的传输缓冲器,将当前写令牌信息更新为等待写入时间最长的传输缓冲器写令牌信息。
[0250] 步骤904b,出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据。
[0251] 进一步地,出口调度状态包括:传输控制器检测状态,传输缓冲器检测状态,多个传输缓冲器读取状态。
[0252] 出口调度器根据出口调度状态和读令牌信息控制拥有读取权限的传输缓冲器读取数据,具体包括:
[0253] 若出口调度状态为传输控制器检测状态且读令牌信息为某一读令牌信息,则传输控制器通过检测后控制将传输控制器检测状态跳变为传输缓冲器检测状态,传输缓冲器通过检测后控制将传输缓冲器检测状态跳变为某一读令牌信息对应的传输缓冲器读取状态,并控制从该传输缓冲器读取数据。
[0254] 本实施例中,控制从该传输缓冲器读取数据之后,还包括:
[0255] 若当前传输控制器读取数据达到第二预设长度值,则将当前传输缓冲器读取状态更新为传输控制器检测状态,将当前读令牌信息更新为另一读令牌信息。
[0256] 进一步地,本实施例中,将当前读令牌信息更新为另一读令牌信息,具体包括:
[0257] 出口调度器根据每个传输缓冲器等待读取时间确定等待读取时间最长的传输缓冲器,将当前读令牌信息更新为等待读取时间最长的传输缓冲器读令牌信息。
[0258] 本实施例中,采用本发明实施例四中提供的数据传输的装置可以执行本实施例中的数据传输的方法的技术方案。其实现原理和技术效果类似,此处不再一一赘述。
[0259] 实施例十
[0260] 图13为本发明实施例十提供的数据传输的方法的流程图,本实施例提供的数据传输的方法在本发明实施例六提供的数据传输的方法的基础上,在步骤904之后,还包括以下步骤。
[0261] 步骤1301,多重数据缓冲区对数据进行缓存。
[0262] 步骤1302,传输处理器将多重数据缓冲区中的数据发送给串行通信引擎。
[0263] 步骤1303,串行通信引擎接收传输处理器发送的数据,并将数据发送给后端处理器。
[0264] 步骤1304,多核CPU将数据通过并行方式传输给后端存储器。
[0265] 本实施例中,采用本发明实施例五中提供的数据传输的装置可以执行本实施例中的数据传输的方法的技术方案。其实现原理和技术效果类似,此处不再一一赘述。
[0266] 实施例十一
[0267] 本发明实施例十一还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现如本发明实施例一至实施例五任一项的方法。
[0268] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0269] 作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0270] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0271] 用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0272] 在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0273] 此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0274] 尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。