CN115033171A - 一种基于fpga的多通道数据存储方法及系统 - Google Patents
一种基于fpga的多通道数据存储方法及系统 Download PDFInfo
- Publication number
- CN115033171A CN115033171A CN202210466636.XA CN202210466636A CN115033171A CN 115033171 A CN115033171 A CN 115033171A CN 202210466636 A CN202210466636 A CN 202210466636A CN 115033171 A CN115033171 A CN 115033171A
- Authority
- CN
- China
- Prior art keywords
- data
- channel
- cache
- file
- unit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000013500 data storage Methods 0.000 title claims abstract description 24
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 230000009191 jumping Effects 0.000 claims description 6
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 239000013307 optical fiber Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于FPGA的多通道数据存储方法及系统,方法包括:PL端获取数据收发单元中各目标通道的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,PS端在文件系统中生成各目标通道的文件;PS端轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息,PL端根据对应文件的信息,将所述缓存通道中的数据包保存在存储单元中;若PS端收到停止指令,PL端停止获取所述数据,返回上一步骤直到各缓存通道中无数据,PS端更新文件系统并通过PL端将所述文件系统写入存储单元;若PS端未收到停止指令,返回上一步骤直到PS端收到停止指令。本发明提高了读取数据时的可操作性和便利性。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种基于FPGA的多通道数据存储方法及系统。
背景技术
伴随着电子产品的日益普及,带动了数据采集技术和数据存储技术的快速发展。特别是在卫星导航、电子、雷达等技术领域,数据采集存储系统越来越发挥着举足轻重的作用。而且对数据采集存储系统的技术要求也日益提高:高数据传输速率、海量存储容量、功耗与成本低。传统的数据采集存储系统难以满足这样的要求。随着技术的进步,需要存储的数据种类也越来越多,对单一存储设备的要求越来越高,需要同时存储多个通道的数据。
近年来发展的FPGA(Field Programmable Gate Array,现场可编程门阵列)技术为新一代高速数据采集存储系统提供了良好的技术支持。FPGA具有非常多的硬件资源,集成在一块芯片上的可用逻辑门电路达千万级别,可以通过内部锁相环得到非常高的时频,内部时耗小,而且效率非常高,结构灵活,能够集成多个控制器、译编码和各种外围接口电路,因此可使用FPGA来设计数据采集与数据存储部分。而在信号处理方面,FPGA由于具有丰富的内核资源,方便使用者的调用。因此,高速数据采集存储系统采用FPGA,可简化设计,提高系统的灵活性和处理速度。同时,随着Xilinx推出了ZYNQ、MPSoC等系列集成ARM硬核的FPGA产品,FPGA能够实现更高数据吞吐率的处理和存储性能。
目前使用FPGA进行多通道数据存储时的做法是,在FPGA中将多通道的数据分别进行组帧打包处理,然后将这些数据包当成一个通道的数据进行存储,使得文件系统中只存在一个文件。当需要读取数据时,将该文件对应的数据从存储介质中读取出来,然后根据存储前的组帧格式,对数据进行解析,最后将各个通道的数据分离出来,完成数据的读取。这种方法在数据可读性上有很大的局限性,当使用者只需要读取某一个通道的数据时,必须将文件对应的整个数据都读取出来,经过分离后才能得到所需的数据。如果该文件对应的数据量很大,就会耗费大量的时间用于读取和分离无用的数据。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于FPGA的多通道数据存储方法及系统,提高了读取数据时的可操作性和便利性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于FPGA的多通道数据存储方法,应用于数据采集回放系统,所述数据采集回放系统包括FPGA单元、数据收发单元、缓存单元和存储单元,所述FPGA单元包括PL端和PS端,所述PL端和PS端、数据收发单元、缓存单元和存储单元分别连接,所述方法包括:
S1)PL端通过至少2个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,PS端在文件系统中生成所述目标通道的文件;
S2)PS端轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息,PL端根据对应文件的信息,将所述缓存通道中的数据包保存在存储单元中;
S3)若PS端收到停止指令,PL端停止获取所述数据,返回步骤S2)直到各缓存通道中无数据,PS端更新文件系统并通过PL端将所述文件系统写入存储单元;若PS端未收到停止指令,返回步骤S2)直到PS端收到停止指令。
可选的,步骤S3)之后还包括读取文件的步骤,具体包括:PS端获取目标文件的读取请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,PL端将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
可选的,步骤S3)之后还包括删除文件的步骤,具体包括:PS端获取目标文件的删除请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,删除存储单元中的对应数据包,PS端删除文件系统中的对应文件。
进一步的,所述PL端和存储单元之间设有与目标通道一一对应的写入通道,步骤S2)具体包括:
S21)PS端检测当前缓存通道的数据量,若当前缓存通道数据量未达到第一阈值,执行步骤S22),若当前缓存通道数据量达到第一阈值则执行步骤S23);
S22)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3);
S23)PS端根据存储单元剩余存储空间的信息,更新当前缓存通道对应的目标通道的文件的信息中的存储空间起始地址,根据当前缓存通道的数据量,更新当前缓存通道对应的目标通道的文件的信息中的存储空间大小,将当前缓存通道对应的目标通道的文件的信息以及对应的数据写入通道使能命令发送给PL端;
S24)PL端根据当前缓存通道对应的目标通道的文件的信息,将当前缓存通道中的数据包通过所述目标通道对应的数据写入通道发送给存储单元,并保存在存储单元剩余存储空间的对应区域;
S25)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3)。
进一步的,步骤S21)之前还包括:缓存通道从PL端获取数据包并缓存,若缓存的数据量达到第一阈值,PL端生成标志位并发送给PS端;
步骤S21)具体包括:PS端若没有获取到当前缓存通道的标志位,则当前缓存通道数据量未达到第一阈值,PS端若获取到当前缓存通道的标志位,则当前缓存通道数据量达到第一阈值。
进一步的,步骤S24)之后还包括:PL端生成完成标志位,并发送给PS端,若PS端收到所述完成标志位,则执行步骤S25)。
进一步的,步骤S21)还包括:若当前缓存通道数据量未达到第一阈值,且PS端收到停止指令,则执行步骤S23)。
本发明还提出一种数据采集回放系统,包括FPGA单元、数据收发单元、缓存单元和存储单元,所述FPGA单元包括PL端和PS端,所述PL端和PS端、数据收发单元、缓存单元和存储单元分别连接,其中:
所述PL端用于通过至少两个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,等待获取文件的信息后,根据文件的信息,将所述缓存通道中的数据包保存在存储单元中;
所述PS端用于在文件系统中生成各目标通道的文件,然后轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息并发送给PL端,还用于收到停止指令后,命令PL端停止获取所述数据,各缓存通道中无数据后,更新文件系统并通过PL端将所述文件系统写入存储单元。
可选的,所述PS端还用于获取目标文件的读取请求,匹配文件系统得到对应的索引信息并发送给PL端;所述PL端还用于根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
可选的,所述PS端还用于获取目标文件的删除请求,匹配文件系统得到对应的索引信息并发送给PL端,然后删除文件系统中的对应文件;所述PL端还用于根据所述索引信息,删除存储单元中的对应数据包。
和现有技术相比,本发明具有下述优点:
本发明根据存储介质的存储速率大于采集数据的速率的实际情况,在多通道数据存储过程中采用分时存储的方式,将各通道的数据分别存储为该通道对应的文件,由于存储的结果为每个通道所对应的文件,因此在需要读取某一个通道的数据时,直接读取对应文件的数据,即获得了该通道的数据,而不需要在获取文件对应的数据之后再进行数据分离,从而提高了数据读取的效率。同时采用分时存储的方式,轮流将每个通道的数据依次进行存储,也能够满足大量数据高速存储的要求。
附图说明
图1为本发明实施例的数据采集回放系统硬件结构示意图。
图2为本发明实施例的数据采集回放系统进行多通道数据存储的执行步骤示意图。
图3为本发明实施例的多通道数据存储过程中PS端的执行步骤详细流程图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
相关名词解释
FPGA:Field Programmable Gate Array,现场可编程门阵列。
UltraScale:xilinx公司推出的FPGA的某个系列的名称。
PL:Progarmmable Logic,ZYNQ UltraScale系列芯片中的可编程逻辑。
PS:Processing System,ZYNQ UltraScale系列芯片中集成的ARM处理器。
如图1所示,本实施例提出一种数据采集回放系统,由一套板卡以及机箱组成,包括一块数据处理板、4块存储板、VPX背板以及电源板,其中数据处理板包括:UltraScale系列的FPGA作为FPGA单元、24芯光模块作为数据收发单元、DDR4颗粒作为缓存单元,还包括千兆网口、USB接口等外设,主要功能是数据的收发,数据处理以及底层驱动,包括基于SATA协议的SSD接口驱动以及RAID0的相关逻辑,配合PS嵌入式程序进行文件系统管理,本实施例中将存储板作为存储单元,单个存储板上包含8个SSD盘,通过VPX背板与数据处理板相连。电源板负责给整个机箱所有板卡提供电源。
本实施例中,FPGA单元包括PL端和PS端,其中PL端为传统FGPA,可以进行可编程的逻辑设计;PS端为高性能的ARM,可以进行嵌入式的开发。在本实施例中,PL端包含4通道光纤的数据收发模块,DDR4数据缓存模块,数据组包模块,SATA驱动以及组合RAIDO模块,数据接口交换模块和PL-PS通信模块,PS端通过千兆网口与上位机控制软件通信,其中:
4通道光纤的数据收发模块与24芯光模块交互,完成对外部光纤数据接收,以及发送内部回放数据。数据组包模块实现对数据收发模块各通道接收的数据进行组包处理以及对回放数据的解包处理;
DDR4数据缓存模块整合管理DDR4颗粒,封装成一个大容量,高吞吐量的FIFO,同时通过对地址的管理,根据前端的通道数量,虚拟出对应通道数量缓存空间用于缓存数据;
SATA驱动模块是实现SATA协议,并组成RAID0的磁盘阵列,对用户层提供数据接口以及命令接口,可以根据PS端的指令进行数据读取写入的操作;
数据接口交换模块主要根据工作模式将程序中的各类数据进行连接;
PL-PS通信模块实现PL端与PS端之间的数据交互。
因此,本实施例中的PL端和PS端、数据收发单元、缓存单元和存储单元分别连接。
本实施例的数据采集回放系统在文件系统和存储操作中进行了改进,将文件系统碎片化管理以及分时进行存储的操作,实现了多通道数据存储且每个通道对应一个文件的功能,具体的,本实施例中,进行数据记录时,FPGA单元的PL端被配置以执行:
PL端通过数据收发模块的至少2个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,等待从PS端获取文件的信息后,根据文件的信息,将所述缓存通道中的数据包保存在存储单元中;
相对应的,FPGA的PS端被配置以执行:
PS端在文件系统中生成各目标通道的文件,然后轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息并发送给PL端,收到上位机的停止指令后,命令PL端停止获取所述数据,各缓存通道中无数据后,更新文件系统并通过PL端将所述文件系统写入存储单元。
通过上述配置,FPGA中每个通道的数据被独立管理,方便后续的数据处理。
进行数据导出时,FPGA的PL端和PS端分别被配置以执行:
PS端获取目标文件的读取请求,匹配文件系统得到对应的索引信息并发送给PL端;PL端根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
进行数据删除时,FPGA的PL端和PS端分别被配置以执行:
PS端获取目标文件的删除请求,匹配文件系统得到对应的索引信息并发送给PL端,然后删除文件系统中的对应文件;PL端根据所述索引信息,删除存储单元中的对应数据包。
由此可见,基于数据记录时的配置,本实施例的数据采集回放系统可以单独删除或者导出某一个通道的数据,提高了数据处理效率和数据的可操作性。
基于上述配置,本实施例的数据采集回放系统在进行数据记录时,主要逻辑流程如下:
1,PS端运行的软件通过千兆网与上位机控制软件通信,当上位机控制软件点击执行数据记录功能时,PS端运行的软件通过PL-PS通信模块下发记录数据的指令(包括SATA写数据指令和数据使能信号以及文件系统文件索引等信息)。
2,根据指令,光纤模块将4通道的光纤数据传给数据预处理模块进行数据组包,组包后的数据通过数据接口交换模块写入DDR4数据缓存模块进行缓存,并将各通道内的数据缓存情况反馈给PS端主控程序。
3,PS端的控制软件在进入记录数据工作模式后,会开始检测PL端DDR各个通道的数据量,然后根据情况下发数据存储指令,将满足要求的通道的数据写入RAID0存储阵列中。
4,当上位机选择停止记录数据时,通过千兆网将指令下发到PS端运行的软件,然后由PS端运行的软件将停止记录数据的指令通过PL-PS通信模块下发到PL端。
5,PL端数据在收到停止记录指令时,首先关闭数据使能,数据预处理模块停止组包,不再往后级传输数据,然后判断DDR4中数据是否读空,当DDR4中数据读空时,写入SATA驱动模块的停止写指令,然后将状态信息通过PL-PS通信模块上传到PS端运行的软件,PS端运行的软件根据状态信息,更新文件系统后,将最新的文件系统通过PL-PS通信模块和SATA驱动模块写入SSD中。
基于上述逻辑,本实施例还提出一种基于FPGA的多通道数据存储方法,应用于本实施例的数据采集回放系统,如图2所示,方法包括以下步骤:
首先,PS端通过千兆网接口与上位机控制软件通信,当上位机控制软件点击执行数据记录功能时,PS端通过PL-PS通信模块向PL端下发记录数据的指令(包括SATA写数据指令和数据使能信号以及文件系统文件索引等信息),如图3所示,在PL端开始采集数据之前,PS端先对PL端复位,随后通过PL端获取存储单元状态信息,如果状态正常,则根据上位机控制软件的设置,下发目标通道的数据写入使能的信号给PL端,否则继续复位PL端,并通过PL端获取存储单元状态信息,直到状态正常,随后执行以下步骤:
S1)PL端通过至少2个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,PS端根据上位机控制软件的设置,在文件系统中生成所述目标通道的文件;
S2)PS端轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息,PL端根据对应文件的信息,将所述缓存通道中的数据包保存在存储单元中;
S3)若PS端收到停止指令,PL端停止获取所述数据,返回步骤S2)直到各缓存通道中无数据,PS端更新文件系统并通过PL端将所述文件系统写入存储单元;若PS端未收到停止指令,返回步骤S2)直到PS端收到停止指令。
本实施例中,PL端和存储单元之间设有与目标通道一一对应的写入通道,步骤S2)具体包括:
S21)PS端检测当前缓存通道的数据量,若当前缓存通道数据量未达到第一阈值,执行步骤S22),若当前缓存通道数据量达到第一阈值则执行步骤S23);
S22)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3);
如图3所示,本实施例中,目标通道为数据收发模块的全部4个通道,因此,缓存单元中是DDR通道1至DDR通道4均作为对应缓存通道,当DDR通道1未准备好,即DDR通道1的数据量未达到第一阈值时,继续检测下一缓存通道数据量,若DDR通道2准备好,即数据量达到第一阈值时,针对DDR通道2执行后续操作,否则重复前述步骤,直到DDR通道1至DDR通道4遍历完毕,如果此时DDR通道1至DDR通道4均未准备好,则执行步骤S3),即先确定是否收到停止指令,再返回步骤S21),从DDR通道1开始,重新进行检测。PS端针对准备好的缓存通道执行的后续步骤包括:
S23)PS端根据存储单元剩余存储空间的信息,更新当前缓存通道对应的目标通道的文件的信息中的存储空间起始地址,根据当前缓存通道的数据量,更新当前缓存通道对应的目标通道的文件的信息中的存储空间大小,将当前缓存通道对应的目标通道的文件的信息以及对应的数据写入通道使能命令发送给PL端;
S24)PL端根据当前缓存通道对应的目标通道的文件的信息,将当前缓存通道中的数据包通过所述目标通道对应的数据写入通道发送给存储单元,并保存在存储单元剩余存储空间的对应区域;
S25)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3)。
如图3所示,当有缓存通道数据准备好,即数据量达到第一阈值时,PS端更新对应文件的信息中的存储空间起始地址和大小,然后向PL端下发对应的写入通道的SATA写数据指令以及更新后的文件信息,同时根据存储单元剩余存储空间的变化,得到该缓存通道向存储单元所写入的数据量,PL端根据该指令以及对应的文件信息,将数据量达到第一阈值的缓存通道中相应大小的数据通过对应的写入通道,写入存储单元。当前缓存通道的数据写入完毕后,PS端将执行下一缓存通道的数据量判断以及写入,当所有的缓存通道均遍历完毕之后,则执行步骤S3),即先确定是否收到停止指令,再返回步骤S21),从DDR通道1开始,重新进行检测以及数据写入。
通过上述步骤,本实施例根据存储介质的存储速率大于采集数据的速率的实际情况,在多通道数据存储过程中采用分时存储的方式,轮流将每个通道的数据依次进行存储,满足大量数据高速存储的要求的同时,能够将FPGA对于数据采集的负载维持在较低水平,从而为其余操作,例如数据回放、数据导出等,保留充足的计算资源。
本实施例中,当有缓存通道中的数据量达到预设的第一阈值时,PL端将生成标志位并发送给PS端,因此,步骤S21)中,PS端检测当前缓存通道的数据量具体包括:PS端若没有获取到当前缓存通道的标志位,则当前缓存通道数据量未达到第一阈值,PS端若获取到当前缓存通道的标志位,则当前缓存通道数据量达到第一阈值。
本实施例中,当数据写入完成后,PL端将生成完成标志并发送给PS端,因此,步骤S24)之后还包括:PL端监听写入通道的写入量,当写入量达到文件信息中的大小时,停止向存储单元写入,生成完成标志并反馈给PS端,若PS端收到所述完成标志位,则执行步骤S25)。
如图3所示,当PS端收到上位机下发的停止指令时,则向PL端发送停止数据写入使能的信号,PL端停止从数据收发单元获取数据,此时可能缓存通道中仍然存在未写入存储单元的数据,因此,本实施例中,步骤S21)还包括:若当前缓存通道数据量未达到第一阈值,且PS端收到停止指令,则执行步骤S23)。对应的,步骤S3)中PS端更新文件系统之前还包括:PS端向PL端发送SATA写数据停止指令,从而在将缓存通道中剩余数据写入存储单元的同时,避免向存储单元写入冗余数据。
本实施例中,数据导出时,主要逻辑流程如下:
1,PS端运行的软件通过千兆网与上位机控制软件通信,当上位机控制软件选择某个文件后点击执行数据导出功能时,PS端运行的软件通过PL-PS通信模块下发导出数据的指令(包括SATA读数据指令和数据导出使能信号以及文件系统中需要导出的文件的索引等信息)。
2,根据指令,数据流程如下,SATA驱动模块接收到SATA读数据指令后,依据一起下发的文件系统的文件索引,将需要回放的数据从SSD中读取出来,然后输出到数据接口交换模块与DDR4数据缓存模块的写数据相连,数据在DDR4中缓存。在数据导出模式下,如果DDR4中有缓存数据,将数据读取出来后,传输到PL-PS通信模块的数据流接口上,通过该接口数据发送至PS端运行的软件,最后经由千兆网发送到上位机。
3,SATA驱动模块在导出文件读取结束后,将状态信息通过PL-PS通信模块上传到PS端运行的软件,结束本次导出流程。
本实施例中,数据导入时,主要逻辑流程如下:
1,PS端运行的软件通过千兆网与上位机控制软件通信,当上位机控制软件选择某个文件后点击执行数据导入功能时,PS端运行的软件通过PL-PS通信模块下发导出数据的指令(包括SATA写数据指令和数据导入使能信号以及文件系统中需要导入的文件的索引等信息)。
2,在指令下发完毕,PS端运行的软件接收上位机下传的导入数据,然后将导入数据通过PL-PS通信模块的数据流接口发送到数据接口交换模块,数据接口交换模块根据工作模式,将导入数据写入DDR4中缓存,然后SATA驱动模块根据DDR4中的数据量判断,将数据读出后写入SSD中。
3,当数据导入结束后,由PS端运行的软件的文件系统根据状态信息,生成文件索引,最后将更新后的文件系统信息写入SSD中。
因此,本实施例的步骤S3)之后还包括读取文件的步骤,具体包括:PS端获取目标文件的读取请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,PL端将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
相对应的,本实施例的步骤S3)之后还包括删除文件的步骤,具体包括:PS端获取目标文件的删除请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,删除存储单元中的对应数据包,PS端删除文件系统中的对应文件。
综上所述,本实施例中的多通道数据存储方法实现多通道数据采集生成多个对应文件的功能。在处理多通道数据存储时,通过分时、小块的读写操作,实现同时采集多通道数据且各自存储成一个文件的功能方便后续的数据处理。可以单独删除或者导出某一个通道的数据,提高了数据处理效率和数据的可操作性。同时可以最大限度的发挥UltraScaleFPGA中PS端和PL端的各自优势,既实现一个功能相对较为完善的文件系统,又大大提高了设备的可兼容性,将文件系统的管理以及底层接口的开发集中的一个芯片上,降低了设备的整体复杂度以及功耗,利于实现设备的小型化。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种基于FPGA的多通道数据存储方法,其特征在于,应用于数据采集回放系统,所述数据采集回放系统包括FPGA单元、数据收发单元、缓存单元和存储单元,所述FPGA单元包括PL端和PS端,所述PL端和PS端、数据收发单元、缓存单元和存储单元分别连接,所述方法包括:
S1)PL端通过至少2个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,PS端在文件系统中生成所述目标通道的文件;
S2)PS端轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息,PL端根据对应文件的信息,将所述缓存通道中的数据包保存在存储单元中;
S3)若PS端收到停止指令,PL端停止获取所述数据,返回步骤S2)直到各缓存通道中无数据,PS端更新文件系统并通过PL端将所述文件系统写入存储单元;若PS端未收到停止指令,返回步骤S2)直到PS端收到停止指令。
2.根据权利要求1所述的基于FPGA的多通道数据存储方法,其特征在于,步骤S3)之后还包括读取文件的步骤,具体包括:PS端获取目标文件的读取请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,PL端将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
3.根据权利要求1所述的基于FPGA的多通道数据存储方法,其特征在于,步骤S3)之后还包括删除文件的步骤,具体包括:PS端获取目标文件的删除请求,匹配文件系统得到对应的索引信息,PL端根据所述索引信息,删除存储单元中的对应数据包,PS端删除文件系统中的对应文件。
4.根据权利要求1所述的基于FPGA的多通道数据存储方法,其特征在于,所述PL端和存储单元之间设有与目标通道一一对应的写入通道,步骤S2)具体包括:
S21)PS端检测当前缓存通道的数据量,若当前缓存通道数据量未达到第一阈值,执行步骤S22),若当前缓存通道数据量达到第一阈值则执行步骤S23);
S22)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3);
S23)PS端根据存储单元剩余存储空间的信息,更新当前缓存通道对应的目标通道的文件的信息中的存储空间起始地址,根据当前缓存通道的数据量,更新当前缓存通道对应的目标通道的文件的信息中的存储空间大小,将当前缓存通道对应的目标通道的文件的信息以及对应的数据写入通道使能命令发送给PL端;
S24)PL端根据当前缓存通道对应的目标通道的文件的信息,将当前缓存通道中的数据包通过所述目标通道对应的数据写入通道发送给存储单元,并保存在存储单元剩余存储空间的对应区域;
S25)将下一缓存通道作为当前缓存通道,返回执行步骤S21),若所有缓存通道遍历完毕,跳转执行步骤3)。
5.根据权利要求4所述的基于FPGA的多通道数据存储方法,其特征在于,步骤S21)之前还包括:缓存通道从PL端获取数据包并缓存,若缓存的数据量达到第一阈值,PL端生成标志位并发送给PS端;
步骤S21)具体包括:PS端若没有获取到当前缓存通道的标志位,则当前缓存通道数据量未达到第一阈值,PS端若获取到当前缓存通道的标志位,则当前缓存通道数据量达到第一阈值。
6.根据权利要求4所述的基于FPGA的多通道数据存储方法,其特征在于,步骤S24)之后还包括:PL端生成完成标志位,并发送给PS端,若PS端收到所述完成标志位,则执行步骤S25)。
7.根据权利要求4所述的基于FPGA的多通道数据存储方法,其特征在于,步骤S21)还包括:若当前缓存通道数据量未达到第一阈值,且PS端收到停止指令,则执行步骤S23)。
8.一种数据采集回放系统,其特征在于,包括FPGA单元、数据收发单元、缓存单元和存储单元,所述FPGA单元包括PL端和PS端,所述PL端和PS端、数据收发单元、缓存单元和存储单元分别连接,其中:
所述PL端用于通过至少两个目标通道获取数据收发单元中的数据,进行数据组包后,发送给缓存单元中对应的缓存通道进行缓存,等待获取文件的信息后,根据文件的信息,将所述缓存通道中的数据包保存在存储单元中;
所述PS端用于在文件系统中生成各目标通道的文件,然后轮询各缓存通道,若存在数据量达到第一阈值的缓存通道,更新对应文件的信息并发送给PL端,还用于收到停止指令后,命令PL端停止获取所述数据,各缓存通道中无数据后,更新文件系统并通过PL端将所述文件系统写入存储单元。
9.根据权利要求8所述的数据采集回放系统,其特征在于,所述PS端还用于获取目标文件的读取请求,匹配文件系统得到对应的索引信息并发送给PL端;所述PL端还用于根据所述索引信息,将存储单元中的对应数据包发送给缓存单元,若所述缓存单元中的数据量达到第二阈值,将缓存单元中的数据包读取并解包,将解包后的数据通过目标文件对应的通道发送给数据收发单元。
10.根据权利要求8所述的数据采集回放系统,其特征在于,所述PS端还用于获取目标文件的删除请求,匹配文件系统得到对应的索引信息并发送给PL端,然后删除文件系统中的对应文件;所述PL端还用于根据所述索引信息,删除存储单元中的对应数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466636.XA CN115033171A (zh) | 2022-04-29 | 2022-04-29 | 一种基于fpga的多通道数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210466636.XA CN115033171A (zh) | 2022-04-29 | 2022-04-29 | 一种基于fpga的多通道数据存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115033171A true CN115033171A (zh) | 2022-09-09 |
Family
ID=83119349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210466636.XA Pending CN115033171A (zh) | 2022-04-29 | 2022-04-29 | 一种基于fpga的多通道数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033171A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762343A (zh) * | 2023-12-28 | 2024-03-26 | 四川赛狄信息技术股份公司 | 基于zynq平台的外挂sata盘数据处理方法及系统 |
CN118260225A (zh) * | 2024-05-29 | 2024-06-28 | 杭州沃镭智能科技股份有限公司 | 一种基于fpga的多通道dma实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631976A (zh) * | 2013-05-30 | 2014-03-12 | 中国科学院电子学研究所 | 一种小型多通道串行数据记录器 |
US20190095336A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Host computing arrangement, remote server arrangement, storage system and methods thereof |
CN113553346A (zh) * | 2021-07-22 | 2021-10-26 | 中国电子科技集团公司第十五研究所 | 大规模实时数据流一体化处理、转发和存储方法及系统 |
CN113590528A (zh) * | 2021-07-20 | 2021-11-02 | 湖南艾科诺维科技有限公司 | 基于hp接口的多通道数据采集存储回放卡、系统及方法 |
-
2022
- 2022-04-29 CN CN202210466636.XA patent/CN115033171A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631976A (zh) * | 2013-05-30 | 2014-03-12 | 中国科学院电子学研究所 | 一种小型多通道串行数据记录器 |
US20190095336A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Host computing arrangement, remote server arrangement, storage system and methods thereof |
CN113590528A (zh) * | 2021-07-20 | 2021-11-02 | 湖南艾科诺维科技有限公司 | 基于hp接口的多通道数据采集存储回放卡、系统及方法 |
CN113553346A (zh) * | 2021-07-22 | 2021-10-26 | 中国电子科技集团公司第十五研究所 | 大规模实时数据流一体化处理、转发和存储方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117762343A (zh) * | 2023-12-28 | 2024-03-26 | 四川赛狄信息技术股份公司 | 基于zynq平台的外挂sata盘数据处理方法及系统 |
CN118260225A (zh) * | 2024-05-29 | 2024-06-28 | 杭州沃镭智能科技股份有限公司 | 一种基于fpga的多通道dma实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115033171A (zh) | 一种基于fpga的多通道数据存储方法及系统 | |
CN112256601B (zh) | 数据存取控制方法、嵌入式存储系统及嵌入式设备 | |
US7228399B2 (en) | Control method for storage device controller system, and storage device controller system | |
US7162550B2 (en) | Method, system, and program for managing requests to an Input/Output device | |
RU2505851C2 (ru) | Обеспечение косвенной адресации данных в системе обработки ввода-вывода при фрагментированном списке косвенных адресов данных | |
CN110069442B (zh) | 一种基于zynq系列fpga的超高速数据采集装置及方法 | |
CN113590528B (zh) | 基于hp接口的多通道数据采集存储回放卡、系统及方法 | |
CN111258504B (zh) | 一种基于sata接口固态硬盘的存储控制系统 | |
US20030131125A1 (en) | Method and apparatus for updating task files | |
CN112562121A (zh) | 一种基于srio协议的存储数据和快速下载方法 | |
WO1996018141A1 (fr) | Systeme informatique | |
CN103984662A (zh) | 一种读、写数据的方法及设备、存储系统 | |
CN114780449B (zh) | 一种基于zynq芯片的数据存储及传输系统 | |
CN216014252U (zh) | 基于hp接口的多通道数据采集存储回放卡及系统 | |
US9652155B2 (en) | Computer system, cash data management method, and computer | |
CN105393236A (zh) | 快速数据读写方法和装置 | |
CN116737624B (zh) | 一种高性能数据存取装置 | |
US6154810A (en) | System and method for utilizing the memory of a portable computer as a disk cache while in SCSI target mode | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
US7831741B2 (en) | Indexing device and method for data storage system | |
US20140068120A1 (en) | Host system, storage device and communication method | |
CN111274189B (zh) | Usb设备及其实时通讯方法 | |
CN115481078A (zh) | 主从式通讯系统及方法 | |
CN113722270B (zh) | 一种记录回放设备及其控制方法 | |
US20240168681A1 (en) | Solving submission queue entry overflow with shadow submission queue |
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 |