一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于PCIE的存储系统、方法及电子设备与流程

2022-11-13 11:48:54 来源:中国专利 TAG:

基于pcie的存储系统、方法及电子设备
技术领域
1.本技术涉及存储领域,尤其涉及一种基于pcie的存储系统、方法及电子设备。


背景技术:

2.目前,随着科技的不断发展,高速数据采集、视频图像处理、航天设备遥控遥测等领域,对高速大容量的数据的传输、存储技术有了更高的要求。在此环境下,具有极高带宽、优良性能、高传输速率的pcie总线技术脱颖而出,成为现代高速存储设计系统中的重要一环。
3.pcie全程pci express,是由英特尔提出的第三代高性能i/o总线和接口标准。pcie能够应用于移动设备、台式电脑、工作站、服务器和通信平台等io设备互联。pcie的传输是基于高速lvds差分信号的双通道传输模式,每一通道即一对收发差分信号,通过8b10b编码方式完成数据传输和校验。
4.目前工程中使用的pcie传输方案接口,是pcie的tlp协议传输。常规pcie在fpga数据处理层面,需要对tlp协议有更深层次的理解。tlp指令有多个事务类型,包括io读写、mem读写和配置读写,每次操作都要对tlp解析,时序要求更高,处理周期更长,对用户来说操作体验差,而且不便于升级维护。除此之外,tlp协议处理数据更加复杂,fpga逻辑资源要求更高,有可能导致工作时,fpga温度升高,对基带设备的散热是一种考验。


技术实现要素:

5.本技术实施例提供一种基于pcie的存储系统、方法及电子设备,能够解决相关技术中采用tlp协议传输的pcie接口方案处理数据复杂且效率低下的问题,从而提高存储系统处理数据的效率。
6.为达到上述目的,本技术采用如下技术方案:第一方面,提供一种基于pcie的存储系统,其特征在于,包括缓存器、存储控制器、dma传输控制器和基于axi协议的pcie接口;其中,所述存储控制器连接于所述缓存器,所述dma传输控制器连接于所述存储控制器和所述pcie接口;所述pcie接口用于接收基于axi协议的突发写读操作指令,所述存储控制器用于根据所述突发写读操作指令将接收的数据写入所述缓存器以及从所述缓存器中读取所述数据以向dma传输控制器发送所述数据;所述dma传输控制器用于基于axi协议处理所述数据并通过dma传输处理后的所述数据至所述pcie接口,以使所述pcie接口输出处理后的所述数据。
7.可选地,所述dma传输控制器包括数据处理模块、数据传输模块和第一控制模块;其中,所述数据处理模块连接于所述数据传输模块和所述第一控制模块,所述数据传输模块连接于所述第一控制模块,所述数据传输模块和所述第一控制模块均连接于所述pcie接口;所述数据处理模块用于对所述存储控制器发送的数据进行处理,并将处理后的所
述数据传输至所述数据传输模块;所述第一控制模块用于接收所述pcie接口传输的数据输出指令并向所述数据传输模块发送所述数据输出指令;所述数据传输模块用于根据所述数据输出指令向所述pcie接口输出处理后的所述数据。
8.可选地,所述dma传输控制器还包括:中断产生模块,连接于与所述第一控制模块、所述数据传输模块和所述pcie接口;所述中断产生模块用于根据所述第一控制模块和所述数据传输模块产生中断。
9.可选地,所述dma传输控制器还包括:第一fifo缓冲模块,连接于所述存储控制器和所述数据处理模块;所述第一fifo缓冲模块用于对所述存储控制器发送的所述数据进行缓冲处理并向所述数据处理模块发送缓冲处理后的所述数据。
10.可选地,所述存储控制器包括写入模块、读取模块和第二控制模块;其中,所述写入模块连接于所述读取模块和所述第二控制模块所述读取模块,所述读取模块连接于所述第一fifo缓冲模块,所述第二控制模块连接于所述缓存器;所述第二控制模块用于基于所述突发写读操作指令控制所述写入模块将数据写入所述缓存器并在所述数据写入所述缓存器后向所述读取模块发送标志位;所述第二控制模块用于基于所述突发写读操作指令和所述标志位控制所述读取模块从所述缓存器中读取所述数据并向所述dma传输控制器发送所述数据。
11.可选地,所述存储控制器还包括:第二fifo缓冲模块,连接于所述写入模块;所述第二fifo缓冲模块用于对接收的外部数据进行处理,并向所述写入模块发送处理后的所述外部数据;其中,处理后的所述外部数据为所述数据。
12.可选地,还包括:fpga电路板,所述存储控制器、所述dma传输控制器和所述pcie接口均集成于所述fpga电路板上;其中,所述缓存器为外挂的高速访问存储器。
13.第二方面,提供一种基于pcie的存储方法,包括:通过pcie接口接收基于axi协议的突发写读操作指令;根据所述写读操作指令将数据写入缓存器后并读取所述数据;基于axi协议处理读取后的所述数据;通过dma传输处理后的所述数据至所述pcie接口;通过所述pcie接口输出处理后的所述数据。
14.可选地,所述根据所述写读操作指令将数据写入缓存器后并读取所述数据,包括:根据所述写读操作指令将数据写入缓存器;在所述数据写入所述缓存器后生成标志位;根据所述突发写读操作指令和所述标志位从所述缓存器读取所述数据。
15.第三方面,提供一种电子设备,其特征在于,包括第一方面中任意一种可能的实现方式所述的基于pcie的存储系统。
16.第四方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机
程序或指令在计算机上运行时,使得该计算机执行第二方面中任意一种可能的实现方式所述的存储方法。
17.基于上述基于pcie的存储系统,基于axi协议的pcie接口,基于axi协议的pcie接口指定一个目标地址,这个目标地址对应系统存储控制空间的地址,表示对该空间进行读写突发操作,突发长度自定,适用于大批量数据传输,从而提高数据传输效率。且基于axi协议的pcie接口相对tlp协议包处理更加简单快捷,同时便于理解,对于后期维护升级提供更多的便利。
18.本技术提供的基于pcie的存储方法、存储介质及电子设备,与基于pcie的存储系统属于同一发明构思,因此具有相同的有益效果,在此不再赘述。
19.附图说明
20.图1是本技术一示例性实施例提供的一种基于pcie的存储系统的示意框图;图2为本技术一示例性实施例提供的另一种基于pcie的存储系统的示意框图;图3是本技术一示例性实施例提供的一种基于pcie的存储方法的流程示意图;图4为本技术一示例性实施例提供的一种电子设备的结构示意图。
21.具体实施方式
22.下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
23.本技术实施例的技术方案可以应用于各种通信系统,例如无线保真(wireless fidelity, wifi)系统,车到任意物体(vehicle to everything,v2x)通信系统、设备间(device-todevie,d2d)通信系统、车联网通信系统、第4代(4th generation,4g)移动通信系统,如长期演进(long term evolution,lte)系统、全球互联微波接入(worldwide interoperability for microwave access,wimax)通信系统、第五代(5th generation,5g)移动通信系统,如新空口(new radio,nr)系统,以及未来的通信系统,如第六代(6th generation,6g) 移动通信系统等。
24.本技术将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
25.另外,在本技术实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
26.本技术实施例中,“信息(information)”,“信号(signal)”,“消息(message)”,“信道(channel)”、“信令(singaling)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是
一致的。
27.下面将结合图1-图2对本技术实施例提供的基于pcie的存储系统进行具体阐述。
28.示例性地,图1是本技术一示例性实施例提供的一种基于pcie的存储系统的示意框图。如图1所示,该基于pcie的存储系统10包括:缓存器11、存储控制器12、dma传输控制器13和基于axi协议的pcie接口14。其中,存储控制器12连接于所述缓存器,dma传输控制器13连接于存储控制器12和pcie接口12。
29.pcie接口12用于接收基于axi协议的突发写读操作指令,存储控制器12用于根据所述突发写读操作指令将接收的数据写入缓存器11以及从缓存器11中读取所述数据以向dma传输控制器13发送所述数据。dma传输控制器13用于基于axi协议处理所述数据并通过dma传输处理后的所述数据至pcie接口14,以使pcie接口14输出处理后的所述数据。
30.示例性地,图2是本技术一示例性实施例提供的另一种基于pcie的存储系统的示意框图。如图2所示,dma传输控制器13包括数据处理模块131、数据传输模块132和第一控制模块133。其中,数据处理模块131连接于数据传输模块132和第一控制模块133,所述数据传输模块132连接于第一控制模块133,数据传输模块132和控制模块133均连接于pcie接口12。
31.数据处理模块131用于对存储控制器12发送的数据进行处理,并将处理后的所述数据传输至数据传输模块132。
32.数据处理模块131可以根据pcie接口传送来的控制指令对存储控制器12发送的数据进行处理,所述控制指令用于完成数据传输前一些参数的配置,如中断大小配置指令、传输速率配置指令、软复位指令、启动指令等。由于从缓存器11读出来的数据是无帧概念的,数据处理模块131对存储控制器12发送的数据的处理是将这些数据进行组帧,并配置初始值,配置初始值包括配置dma传输起始地址、末尾地址、msi-x中断的地址和数据。数据处理模块131在完成数据处理后,将处理后的所述数据传输至数据传输模块132。
33.第一控制模块133用于接收pcie接口14传输的数据输出指令,并向数据传输模块132发送所述数据输出指令。数据传输模12块用于根据所述数据输出指令向pcie接口14输出处理后的所述数据。
34.具体的,所述数据输出指令可以包括axi突发长度信息和起始地址dma信息。pcie接口14是使用axi协议的接口,使用axi协议的接口传输有突发长度概念,相当于一次传输的数据长度。dma传输控制器13传输数据是在某片地址范围内完成数据搬运,这个区域范围就得由起始地址和结束地址来界定。通过pcie接口14输出处理后的所述数据可以存储在与pcie接口14连接的终端设备中。
35.可选地,dma传输控制器13还包括:中断产生模块134,连接于与第一控制模块133、数据传输模块132和pcie接口14。中断产生模块134用于根据第一控制模块133述数据传输模块132产生中断。
36.其中,中断的含义是告诉终端设备有一个进程需要处理,第一控制模块133可以根据控制指令中包含的中断大小信息控制中断产生模块134执行中断操作。中断大小信息是指数据传输模块132发送一定长度数据后会产生中断,中断大小就是特指上述的数据传输模块132发送的数据长度。当数据传输模块132传输一定长度的数据后,会产生一个握手信号,中断产生模块134会根据这个握手信号产生pcie接口中断时序(可以理解为中断指令),
然后终端设备会检测到中断信号。可选地,中断产生模块134采用msi-x中断类型执行中断操作。通过采取中断措施可以防止存储空间数据循环写会覆盖之前的数据。
37.可选地,dma传输控制器13还包括:第一fifo缓冲模块135,连接于存储控制器12和数据处理模块131。第一fifo缓冲模块135用于对存储控制器122发送的所述数据进行缓冲处理并向数据处理模块131发送缓冲处理后的所述数据。
38.可选地,存储控制器12包括写入模块121、读取模块122和第二控制模块123;其中,写入模块121连接于读取模块122、第二控制模块123和读取模块122,读取模块122连接于第一fifo缓冲模块135,第二控制模块123连接于缓存器11。
39.第二控制模块123用于基于所述突发写读操作指令控制写入模块121将数据写入缓存器11并在所述数据写入缓存器11后向读取模块122发送标志位。其中,标志位就是一种握手信号,写入模块121将数据写入缓存器11后生成握手信号,告诉读取模块122缓存器11中已经存储了数据,可以进行数据的读取了。
40.第二控制模块123用于基于所述突发写读操作指令和所述标志位控制读取模块122从缓存器11中读取所述数据并向dma传输控制器13发送所述数据。
41.可选地,存储控制器12还包括:第二fifo缓冲模块124,连接于写入模块121。第二fifo缓冲模块124用于对接收的外部数据进行处理,并向所述写入模块发送处理后的所述外部数据;其中,处理后的所述外部数据为所述数据。
42.可选地,还包括:fpga电路板,存储控制器12、dma传输控制器13和pcie接口14均集成于所述fpga电路板上。其中,缓存器11为外挂的高速访问存储器。
43.基于图1-图2中任一项所示出的示例性地,基于pcie的存储系统,采用基于axi协议的pcie接口,fpga使用该集成ip,直接操作的是基于axi协议的pcie接口,基于axi协议的pcie接口指定一个目标地址,这个目标地址对应系统存储控制空间的地址,表示对该空间进行读写突发操作,突发长度自定,适用于大批量数据传输。且基于axi协议的pcie接口相对tlp协议包处理更加简单快捷,同时便于理解,对于后期维护升级提供更多的便利。
44.因为axi协议自身的特点(大批量数据传输),所以适用高速数传,本技术采用pciex4,单lane速率5gb,理论速率可达到20gb。经过数据传输测试,本技术基带设备速率能达到1.2gb,完全优于市场上基带1gb 的性能。
45.另外,现有技术中对缓存器(比如ddr3)进行块读块写,对一块数据连续的写满再写另外一块数据,读的开始则是基于一块地址写满再读。而本技术,则是通过写入模块对第二控制模块(比如ddr3控制器)进行axi的突发写操作,写完后将完成的标志位flag传递给读取模块,读取模块根据这个握手信号对第二控制模块直接读取操作,中间无等待时间,数据处理更快,实时性更高。
46.因此,本技术采用时写时读处理,尽可能快速处理数据,解决了原有设备数据采集速率过低问题,大幅度提高带宽传输,同时性能也更加稳定、实时性更好。
47.以上结合图1-图2详细说明了本技术实施例提供的存储系统。以下结合图3详细说明用于执行本技术实施例提供的基于pcie的存储方法,图3是本技术一示例性实施例提供
disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1202可以和处理器1201集成在一起,也可以独立存在,并通过电子设备1200的接口电路(图4中未示出)与处理器1201耦合,本技术实施例对此不作具体限定。
64.收发器1203,用于与其他通信装置之间的通信。例如,电子设备1200为终端设备,收发器1203可以用于与网络设备通信,或者与另一个终端设备通信。又例如,电子设备1200为网络设备,收发器1203可以用于与终端设备通信,或者与另一个网络设备通信。
65.可选地,收发器1203可以包括接收器和发送器(图4中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
66.可选地,收发器1203可以和处理器1201集成在一起,也可以独立存在,并通过电子设备1200的接口电路(图4中未示出)与处理器1201耦合,本技术实施例对此不作具体限定。
67.需要说明的是,图4中示出的电子设备1200的结构并不构成对该电子设备的限定,实际的电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
68.此外,电子设备1200的技术效果可以参考上述系统实施例所述的基于pcie的存储系统的技术效果,此处不再赘述。
69.本技术实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
70.可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
71.可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本技术并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器rom,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
72.示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,fpga),可以是专用集成芯片(application specific integrated circuit,asic),还可以是系统芯片(system on chip,soc),还可以是中央处理器(central processor unit,cpu),还可以是网络处理器(network processor,np),还可以是数字信号处理电路(digital signal processor,dsp),还可以是微控制器(micro controller unit,mcu),还可以是可编程控制器(programmable logic device,pld)或其他集成芯片。
73.应理解,在本技术实施例中的处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
74.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
75.上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
76.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
77.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a, b, c, a-b, a-c, b-c, 或a-b-c,其中a,b,c可以是单个,也可以是多个。
78.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
79.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
80.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
81.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
82.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
83.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
84.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
85.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献