CN116301669B - 一种基于fpga的高速存储系统分区方法及系统 - Google Patents
一种基于fpga的高速存储系统分区方法及系统 Download PDFInfo
- Publication number
- CN116301669B CN116301669B CN202310595683.9A CN202310595683A CN116301669B CN 116301669 B CN116301669 B CN 116301669B CN 202310595683 A CN202310595683 A CN 202310595683A CN 116301669 B CN116301669 B CN 116301669B
- Authority
- CN
- China
- Prior art keywords
- file
- partition
- file system
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000000638 solvent extraction Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000013500 data storage Methods 0.000 claims abstract description 22
- 238000005192 partition Methods 0.000 claims description 156
- 230000000977 initiatory effect Effects 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 11
- 238000013524 data verification Methods 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000009286 beneficial effect Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- 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的高速存储系统分区方法及系统,属于通信技术领域,本发明基于FPGA来实现高速数据存储系统的并行处理,会更精准控制时序,存储速率也更快,可以解决由于嵌入式软件顺序实现在同步和转换的处理上带来较大的误差,而且控制较为繁琐;使用地面计算机通过读卡器对NVMe SSD盘进行系统分区信息的灵活配置,同时使用本发明在使用FPGA实现文件系统管理有效的解决了由于存储数据过快带来的处理带宽问题,本发明方法简单易实现,精度高,可在各种高速数据存储系统应用领域中使用。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种基于FPGA的高速存储系统分区方法及系统。
背景技术
高速数据存储系统在航天、航空领域中应用十分广泛,而传统的数据存储系统速率慢、数据量小,接口协议受限,通常使用嵌入式软件来实现数据的文件存储系统管理。而现在的高速大数据存储由于其通道多、协议接口速率快、数据量大,且没有嵌入式芯片,因此,存在以下问题:由于嵌入式软件顺序实现在同步和转换的处理上带来较大的误差,而且控制较为繁琐;以及由于存储数据过快带来的处理带宽问题。再有,现阶段高速数据存储由FPGA实现且没有CPU可以使用的情况,传统的方式都是通过CPU下发配置信息对分区信息进行分区及管理,高速数据存储文件系统由嵌入式软件完成存在存储速率不够、不能快速、灵活的处理同步大数据存储等问题。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于FPGA的高速存储系统分区方法及系统,解决了上述的问题。
为了达到以上目的,本发明采用的技术方案为:一种基于FPGA的高速存储系统分区方法,包括以下步骤:
S1、将文件分区信息重新分配,并更新写入至NVMe SSD盘;
S2、上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储;
S3、产生文件读取完成信号;
S4、基于文件读取完成信号,得到分区配置信息和当前文件系统信息;
S5、利用FPGA逻辑端接收分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求;
S6、利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区。
本发明的有益效果是:本发明的针对现阶段高速数据存储由FPGA实现且没有CPU可以使用的情况,传统的方式都是通过CPU下发配置信息对分区信息进行分区及管理。现有高速数据存储文件系统由嵌入式软件完成,存在存储速率不够、不能快速、灵活的处理同步大数据存储等问题,本发明提出一种新的文件系统管理分区方法,本发明涉及航天、航空等领域中用于飞行参数的数据存储系统,用于获取识别需要分析的飞行参数数据,由FPGA逻辑端实现同步大数据存储,高效的完成文件系统分区信息的写入,由FPGA软核端实现对文件分区信息的管理,达到数据下载后能准确通过文件信息进行识别,由测试计算机实现灵活配置更改文件系统分区信息。本发明为文件系统更新管理的创新技术,具有灵活、高效、速率快、稳定可靠、实现可重用性高的特点。
进一步地,所述步骤S1包括以下步骤:
S101、对NVMe SSD盘进行分区时,将NVMe SSD盘通过读卡器和地面计算机连接,并在图形化界面上对数据卡分区,其中,每个数据类型对应一个存储分区,每个存储分区均能设置容量大小;
S102、由地面计算机,将图形化界面文件分区信息对应的寄存器通过读卡器写入NVMe SSD盘指定的文件分区区域,同时将文件分区信息设定的更新标志写入NVMe SSD盘中指定地址。
上述进一步方案的有益效果是:本发明通过适配不同场景的需求,灵活的配置NVMe SSD盘的分区信息、实施NVMe SSD盘格式化操作(全部或者部分文件区域)。通过地面计算机使用图形化界面文件将分区信息写入NVMe SSD盘能够适配不同的应用场景对盘的存储区域进行不同的划分且更改灵活。同时可以实现NVMe SSD盘数据全部或者部分区域的格式化操作。
再进一步地,所述步骤S2包括以下步骤:
S201、插上板卡,并进行上电初始化操作;
S202、利用FPGA软核端读取数据卡中的文件分区信息,并利用FPGA软核端向FPGA逻辑端写入文件系统更新标志以及读请求;
S203、由FPGA逻辑端发起读NVMe SSD请求,将从NVMe SSD盘中读出的文件系统信息按照读出顺序依次存储至本地RAM中,其中,所述读NVMe SSD请求包括读请求、读文件系统信息地址和读数据量。
上述进一步方案的有益效果是:本发明通过上述设计,完成对NVMe SSD盘的初始化操作,正确访问NVMe SSD盘后,FPGA逻辑端将配置信息读取至本地RAM中,实现配置信息从NVMe SSD盘到FPGA逻辑端的装载。
再进一步地,所述步骤S3包括以下步骤:
S301、由FPGA逻辑端检测读文件系统信息的结束标志,产生读文件系统完成标志;
S302、当FPGA逻辑端检测到FGPA软核端读取有效读文件系统完成标记时,将文件系统读完成标志置为无效,以实现文件读取完成信号的产生。
上述进一步方案的有益效果是:本发明通过FPGA逻辑端完成读文件系统信息整个流程的判断,FPGA逻辑端与软核端对文件系统信息读取完成状态交互,确定此交互过程稳定可靠。
再进一步地,所述步骤S4包括以下步骤:
S401、当FPGA软核端查询读取到有效读文件系统完成标记后,发起读请求,将文件系统的数据逐个读取至本地并缓存;
S402、当通过辨别到文件分区信息有变时,按照文件地址得到分区配置信息;
S403、设置分区数据校验方式和校验失败处理方式;
S404、基于步骤S403设置的方式,当校验正确后,重置文件系统信息,并按分区配置信息更新文件系统信息,且将分区配置信息和更新标志清除指令下发至FPGA逻辑端。
上述进一步方案的有益效果是:FPGA软核端实现文件系统信息的读取、缓存、校验、计算,按照计算结果将分区信息和配置信息下发给FPGA逻辑端,这部分主要实现配置的处理,完成对当前记录文件初始值信息的写入。
再进一步地,所述步骤S5包括以下步骤:
S501、由FPGA逻辑端接收分区配置信息;
S502、基于接收的分区配置信息,当对应通道数据记录时,由FPGA逻辑端按照数据量对当前存储数据的起始地址和结束地址寄存器进行更新,并同步写入当前本地文件系统缓存器,每记录一帧数据记录数据次数计数值累加一次;
S503、当计数值超过设置参数时,由FPGA逻辑端发起文件系统信息存盘请求。
上述进一步方案的有益效果是:解析配置信息,按照配置信息和计算出的当前存储位置进行当前数据存储,实现文件系统信息与数据记录的同步,每写入一个数据包,本地文件信息实时累加本地的文件系统信息。
再进一步地,所述步骤S6包括以下步骤:
S601、利用FPGA逻辑端,在文件数据存盘的间隙期间发起将当前本地文件系统信息存入至NVMe SSD盘的请求;
S602、根据每个通道的数据记录,判断整个文件系统是否循环存储完成,若是,则完成分区,结束流程,否则,返回步骤S5。
上述进一步方案的有益效果是:本发明通过设置超过设置的帧数据包量,以有效地完成文件系统本地系统信息的NVMe SSD存盘操作。
本发明提供了一种基于FPGA的高速存储系统分区系统,包括:
第一处理模块,用于将文件分区信息重新分配,并更新写入至NVMe SSD盘;
第二处理模块,用于上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储;
第三处理模块,用于产生文件读取完成信号;
第四处理模块,用于基于文件读取完成信号,得到分区配置信息和当前文件系统信息;
第五处理模块,用于利用FPGA逻辑端接收分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求;
第六处理模块,用于利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区。
本发明的有益效果是:本发明的针对现阶段高速数据存储由FPGA实现且没有CPU可以使用的情况,传统的方式都是通过CPU下发配置信息对分区信息进行分区及管理。现有高速数据存储文件系统由嵌入式软件完成,存在存储速率不够、不能快速、灵活的处理同步大数据存储等问题,本发明提出一种新的文件系统管理分区系统,本发明涉及航天、航空等领域中用于飞行参数的数据存储系统,用于获取识别需要分析的飞行参数数据,其由FPGA逻辑端实现同步大数据存储,高效的完成文件系统分区信息的写入,由FPGA软核端实现对文件分区信息的管理,达到数据下载后能准确通过文件信息进行识别,由测试计算机实现灵活配置更改文件系统分区信息。本发明为文件系统更新管理的创新技术,具有灵活、高效、速率快、稳定可靠、实现可重用性高的特点。
附图说明
图1为本发明的方法流程图。
图2为本实施例中地面计算机配置NVMe SSD盘分区信息架构图。
图3为本实施例中动态分区文件系统更新过程图。
图4为本实施例中NVMe SSD盘存储信息架构图。
图5为本实施例中文件系统信息结构图。
图6为本实施例中读文件系统数据流程示意图。
图7 为本实施例中置位和清标志示意图。
图8为本发明的系统结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1
本发明基于FPGA逻辑端的高速并行处理能力,FPGA软核端对计算可以轻易的实现。如图1所示,本发明提供了一种基于FPGA的高速存储系统分区方法,其实现方法如下:
S1、将文件分区信息重新分配,并更新写入至NVMe SSD盘,其实现方法如下:
S101、对NVMe SSD盘进行分区时,将NVMe SSD盘通过读卡器和地面计算机连接,并在图形化界面上对数据卡分区,其中,每个数据类型对应一个存储分区,每个存储分区均能设置容量大小;
S102、由地面计算机,将图形化界面文件分区信息对应的寄存器通过读卡器写入NVMe SSD盘指定的文件分区区域,同时将文件分区信息设定的更新标志写入NVMe SSD盘中指定地址。
本实施例中,在使用NVMe SSD盘之前,需要重新对NVMe SSD盘进行分区时,将NVMeSSD盘通过读卡器和地面计算机连连接,在图形化界面上灵活对数据卡分区,每个数据类型对应一个存储分区,每个存储分区可以灵活设置容量大小。地面计算机将图形化界面分区信息对应的寄存器通过读卡器写入NVMe SSD特定的文件分区区域,同时将文件分区信息约定的更新标志写入NVMe SSD中特定地址(文件系统信息末尾地址)。
S2、上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储,其实现方法如下:
S201、插上板卡,并进行上电初始化操作;
S202、利用FPGA软核端读取数据卡中的文件分区信息,并利用FPGA软核端向FPGA逻辑端写入文件系统更新标志以及读请求;
S203、由FPGA逻辑端发起读NVMe SSD请求,将从NVMe SSD盘中读出的文件系统信息按照读出顺序依次存储至本地RAM中,其中,所述读NVMe SSD请求包括读请求、读文件系统信息地址和读数据量。
本实施例中,如图6所示,插上板卡,上电初始化完成后,FPGA软核端向FPGA逻辑端写入文件系统更新标志读请求,FPGA逻辑端接收到读请求、读文件系统信息地址、读数据量等发起读NVMe SSD请求,将从NVMe SSD盘中读出的文件系统数据按照读出顺序依次存储到本地RAM中。
S3、产生文件读取完成信号,其实现方法如下:
S301、由FPGA逻辑端检测读文件系统信息的结束标志,产生读文件系统完成标志;
S302、当FPGA逻辑端检测到FGPA软核端读取有效读文件系统完成标记时,将文件系统读完成标志置为无效,以实现文件读取完成信号的产生。
本实施例中,如图7所示,FPGA逻辑端检测读文件系统信息的结束标志,产生读文件系统完成标志。FPGA逻辑端检测到FPGA软核端读走此标志(且标志为有效时),将文件系统读完成标志置为无效。
S4、基于文件读取完成信号,得到分区配置信息和当前文件系统信息,其实现方法如下:
S401、当FPGA软核端查询读取到有效读文件系统完成标记后,发起读请求,将文件系统的数据逐个读取至本地并缓存;
S402、当通过辨别到文件分区信息有变时,按照文件地址得到分区配置信息;
S403、设置分区数据校验方式和校验失败处理方式;
S404、基于步骤S403设置的方式,当校验正确后,重置文件系统信息,并按分区配置信息更新文件系统信息,且将分区配置信息和更新标志清除指令下发至FPGA逻辑端。
本实施例中,FPGA软核端查询读取到文件系统读完成有效标志后,发起读请求逐个将文件系统的数据读取至本地并缓存。当通过判别更新标识识别到分区信息有变时,按照地址取出分区配置信息,考虑分区数据有效性应设置分区数据校验方式(累加和、CRC等),校验失败处理方式(上报异常或停止记录),当校验正确后将重置文件系统信息,按照新的分区信息更新文件系统信息,且将分区信息和更新标识清除指令下发至FPGA逻辑端。
S5、利用FPGA逻辑端接收新的分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求,其实现方法如下:
S501、由FPGA逻辑端接收分区配置信息;
S502、基于接收的分区配置信息,当对应通道数据记录时,由FPGA逻辑端按照数据量对当前存储数据的起始地址和结束地址寄存器进行更新,并同步写入当前本地文件系统缓存器,每记录一帧数据记录数据次数计数值累加一次;
S503、当计数值超过设置参数时,由FPGA逻辑端发起文件系统信息存盘请求。
本实施例中,FPGA逻辑端接收到配置信息(包括分区信息、初始值、文件有效地址),当每个通道数据记录时,FPGA逻辑端更新本地文件系统寄存器,每更新一次计数值累加,当计数值超过设置参数(文件记录次数)时,FPGA逻辑端将发起一次文件系统信息存盘(NVMe SSD盘)请求。
S6、利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区,其实现方法如下:
S601、利用FPGA逻辑端,在文件数据存盘的间隙期间发起将当前本地文件系统信息存入至NVMe SSD盘的请求;
S602、根据每个通道的数据记录,判断整个文件系统是否循环存储完成,若是,则完成分区,结束流程,否则,返回步骤S5。
本实施例中,FPGA逻辑端实现在文件数据存盘的间隙发起文件系统信息存入NVMESSD中,这样完成了一次更新文件信息分区并记录NVMe SSD盘请求,根据数据记录,在下电之前,从此开始循环步骤S5和步骤S6,达到整个文件系统的循环存储管理。
本实施例中,如图2所示,图2描述通过地面计算机灵活配置NVMe SSD盘分区信息的结构图。图中,NVMe SSD盘容量大小为1TB、分区是划分每个通道的存储区域起始区域和容量大小、地面计算机为标准测试工控机,实现分区软件的开发和提供读卡器的硬件接口和配置、读卡器为读写NVMe SSD盘设备,将通过地面计算机应用软件手动输入的分区信息写入NVMe SSD盘。地面计算机应用软件通过读卡器实现指定区域数据下载。
本实施例中,如图3所示,图3描述文件分区信息配置后,动态更新结构图,图中,FPGA软核端在上电后通过FPGA逻辑端读取到NVMe SSD盘的分区信息和是否格式化部分区域,如格式化按照新的分区信息进行配置,FPGA软核端更新文件系统信息,将每个分区信息下发至FPGA逻辑端,FPGA逻辑端按照最新文件系统存储,当有数据请求存储时,按照最新的分区信息进行对应数据的NVMe SSD盘的存储,来一帧数据地址进行对应地址累加并管理,如此循环计数。
本实施例中,如图4所示,图4描述了采用本发明,高速文件系统存储管理在NVMeSSD盘中架构图,如图所示,NVMe SSD盘共分为三个区域,前面一个小区域(1GB)用来存储所有通信文件系统信息(具体结构详见图5,文件系统信息结构),中间一个区域(1GB)用来作为预留区域,既预留存储空间,以便需求迭代,后面剩余的大区域用来作为数据的存储区域。其中通道的文件信息指具体的数据,如通道1文件、通道2文件以及通道N文件,每个通道按照分区信息均有一个区域范围,包括有:文件存储基地址、存储最大结束地址、当前文件存储结束地址、当前文件存储开始地址,每次上电按照计算的当前存储开始地址进行存储,下电时会更新一次所有通道数据的当前结束地址进文件信息。
本实施例中,图4中的注释1:在使用NVMe SSD盘之前,需要重新对NVMe SSD盘进行分区时,将NVMe SSD盘通过读卡器和地面计算机连连接,在图形化界面上灵活对数据卡分区,每个数据类型对应一个存储分区,每个存储分区可以灵活设置容量大小。
本实施例中,如图5所示,图5描述了文件系统信息的构成及整个文件系统信息的结构图。文件系统信息主要分为两块区域,第一块区域包括通道分区信息及分区信息更新标志,由地面计算机对此区域进行更新维护,FPGA不对此区域进行更新操作,只在上电初始化时对此区域数据进行读取更新。第二块区域记录通道文件系统信息,当分区信息未更新时,每次上电都会产生一个File(文件)及索引结尾,File里面包括当前数据存储的起始地址、结束地址,通过在每次上电初始化时读取上一次文件信息的起始地址、结束地址可以计算出当前文件记录的起始地址(如图中通道1文件系统信息和通道2文件系统信息),并将此地址配置给逻辑端,FPGA逻辑端按照起始地址开始存储数据。
本实施例中,图5中的注释1:每次上电每个通道只会产生一个文件(File),该文件写入的位置(即为file的位置)需要读取之前的文件File进行判断(比如上次写的文件是File(N-1),这次文件只会写到FileN),每个通道的文件系统信息中的文件File构成为96Byte,其中当前文件起始地址和当前文件结束地址都由实时记录数据产生,16Byte(FPGA软核端写入),文件名时间信息(64Byte)也由FPGA软核端写入。
本实施例中,图5中的注释2:每次上电每个通道只会产生一个文件(File),该文件写入的位置(即为file的位置)需要读取之前的文件File进行判断(比如上次写的文件是File(N-1),这次文件只会写到FileN),每个通道的文件系统信息中的文件File构成为96Byte,其结构为:FileN为当前文件起始地址(8Byte)+当前文件结束地址(8Byte)+16Byte(软核可写入的数据区))+文件名时间信息(64Byte),其中当前文件起始地址和当前文件结束地址都由实时记录数据产生,16Byte(FPGA软核端写入),文件名时间信息(64Byte)也由FPGA软核端写入。
注释2:索引结尾结构为:索引结尾结构为同步头(60Byte)+有效文件数量(2Byte)+起始文件号(2Byte)+和校验(32Byte),在每次FPGA逻辑端存储文件系统信息时,实时校验,实现校验与实时更新数据一致,有效文件数量(2Byte)、当前起始文件号由FPGA软核端实时查询最新文件的起始地址和结束地址进行比较判断填写。
本实施例中,本发明包括文件系统分区信息配置、文件系统的写盘、文件系统初始信息的读取、文件系统的存储、文件系统的计算、文件系统的更新、文件系统信息的校验。其中文件系统的写盘指按照文件记录的次数,定时或者定量(文件记录次数)将文件系统作为数据信息存入NVMe SSD盘。文件系统分区信息配置通过地面计算机使用读卡器将分区信息写入NVMe SSD盘中。文件系统初始信息的读取在上电初始化后,按照之前设置的存储地址将文件系统信息从NVMe SSD盘中读取出来放入FPGA逻辑缓存。文件系统的缓存包括FPGA逻辑端缓存和FPGA软核嵌入式的缓存。文件系统的计算包括两种计算,一种是FPGA软核端初始化时,对读出的文件系统中文件信息进行和校验,校验正确后按照分区信息对File文件进行查找比对,找到当前文件有效的File文件,找到文件信息对应有效的结束地址,结束地址加1作为当前文件存储的起始地址,依次类推。另外一种是在文件存储过程中,FPGA逻辑端在存储文件时,对本地的结束地址进行同步累加,FPGA软核端通过自定义接口进行地址的查询,当查询到初始化时有效的File的起始地址被当前文件的结束地址覆盖时,证明之前的数据被覆盖,将对应的File文件中有效标志置为无效,即对应的文件无效,并将此信息更新FPGA逻辑端对应的文件信息存储区域,以便FPGA逻辑端更新文件信息至NVMe SSD盘。
本实施例中,本发明能够提供一种灵活更新基于FPGA的高速存储系统分区信息的方法,通过采用地面计算机、读卡器对文件分区信息进行配置,改善每次需更改时,需要产品开盖,同时需要在逻辑端软核进行更改参数后编译,再下载FPGA逻辑端,再上电记录,不灵活的缺点。同时又利用FPGA并行处理速率快、可靠性高,快速的存储大数据,由于当前通道数据的存储起始地址和结束地址是在FPGA逻辑端进行按照文件存储进行计算更新,每存储一帧数据,对应通道数据的地址会累加,同时按照之前FPGA软核端下发的分区信息判断是否超过了当前数据的存储分区结束地址,如超过则回到分区开始地址,再覆盖计数。而FPGA软核端可以通过实时查询FPGA逻辑端的数据起始地址和结束地址,判断文件是否覆盖,当覆盖时将被覆盖文件置为无效。通过这种文件系统存储管理方法,将需要进行高速存储计算文件系统管理部分的放在FPGA逻辑端进行处理,将需要大量比较计算且要求不高和参数配置等操作放在FPGA软核端进行处理,可以快速的进行存储的同步精确按照通道更新起始地址和结束地址并比对,且存储的文件系统都是同步的文件信息,同时FPGA软核端也可以查询比较文件系统的覆盖度,解决了嵌入式软件处理速率过慢,不能准确跟踪记录文件系统的固有难题。即,通过本发明提供的FPGA实现高速文件系统管理的方法:使用基于FPGA软核端(microblaze)进行文件信息的解算及判断;使用FPGA逻辑端进行文件信息的存储、读取、生成文件信息及校验;使用基于FPGA软核端(microblaze)对整个文件记录流程进行控制,配置参数;使用地面计算机设备对盘进行文件分区信息的灵活配置,能够大幅度提高大数据记录文件管理的可靠性,保障飞机的飞行数据安全性和可恢复性。
实施例2
如图8所示,本发明提供了一种基于FPGA的高速存储系统分区系统,包括:
第一处理模块,用于将文件分区信息重新分配,并更新写入至NVMe SSD盘;
第二处理模块,用于上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储;
第三处理模块,用于产生文件读取完成信号;
第四处理模块,用于基于文件读取完成信号,得到分区配置信息和当前文件系统信息;
第五处理模块,用于利用FPGA逻辑端接收分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求;
第六处理模块,用于利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区。
如图8所示实施例提供的分区系统可以执行上述方法实施例分区方法所示的技术方案,其实现原理与有益效果类似,此处不再赘述。
本实施例中,本申请可以根据分区方法进行功能单元的划分,例如可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成单元即可以采用硬件的形式来实现,也可以采用软件功能单元的形式来实现。需要说明的是,本发明中对单元的划分是示意性的,仅仅为一种逻辑划分,实际实现时可以有另外的划分方式。
本发明实施例中,分区系统为了实现分区方法的原理与有益效果,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本发明所公开的实施例描述的各示意单元及算法步骤,本发明能够以硬件和/或硬件和计算机软件结合的形式来实现,某个功能以硬件还是计算机软件驱动的方式来执行,取决于技术方案的特定应用和设计约束条件,可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明的针对现阶段高速数据存储由FPGA实现且没有CPU可以使用的情况,传统的方式都是通过CPU下发配置信息对分区信息进行分区及管理。现有高速数据存储文件系统由嵌入式软件完成,存在存储速率不够、不能快速、灵活的处理同步大数据存储等问题,本发明提出一种新的文件系统管理分区系统,本发明涉及航天、航空等领域中用于飞行参数的数据存储系统,用于获取识别需要分析的飞行参数数据,其由FPGA逻辑端实现同步大数据存储,高效的完成文件系统分区信息的写入,由FPGA软核端实现对文件分区信息的管理,达到数据下载后能准确通过文件信息进行识别,由测试计算机实现灵活配置更改文件系统分区信息。本发明为文件系统更新管理的创新技术,具有灵活、高效、速率快、稳定可靠、实现可重用性高的特点。
Claims (6)
1.一种基于FPGA的高速存储系统分区方法,其特征在于,包括以下步骤:
S1、将文件分区信息重新分配,并更新写入至NVMe SSD盘;
S2、上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储;
S3、产生文件读取完成信号;
S4、基于文件读取完成信号,得到分区配置信息和当前文件系统信息;
所述步骤S4包括以下步骤:
S401、当FPGA软核端查询读取到有效读文件系统完成标记后,发起读请求,将文件系统的数据逐个读取至本地并缓存;
S402、当通过辨别到文件分区信息有变时,按照文件地址得到分区配置信息;
S403、设置分区数据校验方式和校验失败处理方式;
S404、基于步骤S403设置的方式,当校验正确后,重置文件系统信息,并按分区配置信息更新文件系统信息,且将分区配置信息和更新标志清除指令下发至FPGA逻辑端;
S5、利用FPGA逻辑端接收分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求;
所述步骤S5包括以下步骤:
S501、由FPGA逻辑端接收分区配置信息;
S502、基于接收的分区配置信息,当对应通道数据记录时,由FPGA逻辑端按照数据量对当前存储数据的起始地址和结束地址寄存器进行更新,并同步写入当前本地文件系统缓存器,每记录一帧数据记录数据次数计数值累加一次;
S503、当计数值超过设置参数时,由FPGA逻辑端发起文件系统信息存盘请求;
S6、利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区。
2.根据权利要求1所述的基于FPGA的高速存储系统分区方法,其特征在于,所述步骤S1包括以下步骤:
S101、对NVMe SSD盘进行分区时,将NVMe SSD盘通过读卡器和地面计算机连接,并在图形化界面上对数据卡分区,其中,每个数据类型对应一个存储分区,每个存储分区均能设置容量大小;
S102、由地面计算机,将图形化界面文件分区信息对应的寄存器通过读卡器写入NVMeSSD盘指定的文件分区区域,同时将文件分区信息设定的更新标志写入NVMe SSD盘中指定地址。
3.根据权利要求1所述的基于FPGA的高速存储系统分区方法,其特征在于,所述步骤S2包括以下步骤:
S201、插上板卡,并进行上电初始化操作;
S202、利用FPGA软核端读取数据卡中的文件分区信息,并利用FPGA软核端向FPGA逻辑端写入文件系统更新标志以及读请求;
S203、由FPGA逻辑端发起读NVMe SSD请求,将从NVMe SSD盘中读出的文件系统信息按照读出顺序依次存储至本地RAM中,其中,所述读NVMe SSD请求包括读请求、读文件系统信息地址和读数据量。
4.根据权利要求1所述的基于FPGA的高速存储系统分区方法,其特征在于,所述步骤S3包括以下步骤:
S301、由FPGA逻辑端检测读文件系统信息的结束标志,产生读文件系统完成标志;
S302、当FPGA逻辑端检测到FGPA软核端读取有效读文件系统完成标记时,将文件系统读完成标志置为无效,以实现文件读取完成信号的产生。
5.根据权利要求1所述的基于FPGA的高速存储系统分区方法,其特征在于,所述步骤S6包括以下步骤:
S601、利用FPGA逻辑端,在文件数据存盘的间隙期间发起将当前本地文件系统信息存入至NVMe SSD盘的请求;
S602、根据每个通道的数据记录,判断整个文件系统是否循环存储完成,若是,则完成分区,结束流程,否则,返回步骤S5。
6.一种使用权利要求1-5任一所述的基于FPGA的高速存储系统分区方法的系统,其特征在于,包括:
第一处理模块,用于将文件分区信息重新分配,并更新写入至NVMe SSD盘;
第二处理模块,用于上电初始化,利用FPGA软核端基于读取的文件分区信息更新文件系统信息,并利用FPGA逻辑端从NVMe SSD盘中获取文件系统信息并存储;
第三处理模块,用于产生文件读取完成信号;
第四处理模块,用于基于文件读取完成信号,得到分区配置信息和当前文件系统信息,其具体为:
当FPGA软核端查询读取到有效读文件系统完成标记后,发起读请求,将文件系统的数据逐个读取至本地并缓存;
当通过辨别到文件分区信息有变时,按照文件地址得到分区配置信息;
设置分区数据校验方式和校验失败处理方式;
基于设置的方式,当校验正确后,重置文件系统信息,并按分区配置信息更新文件系统信息,且将分区配置信息和更新标志清除指令下发至FPGA逻辑端;
第五处理模块,用于利用FPGA逻辑端接收分区配置信息,并当通道数据记录一次时,更新当前本地文件系统信息,并发起存盘请求,其具体为:
由FPGA逻辑端接收分区配置信息;
基于接收的分区配置信息,当对应通道数据记录时,由FPGA逻辑端按照数据量对当前存储数据的起始地址和结束地址寄存器进行更新,并同步写入当前本地文件系统缓存器,每记录一帧数据记录数据次数计数值累加一次;
当计数值超过设置参数时,由FPGA逻辑端发起文件系统信息存盘请求;
第六处理模块,用于利用FPGA逻辑端,将当前本地文件系统信息存储至NVMe SSD盘,完成分区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310595683.9A CN116301669B (zh) | 2023-05-25 | 2023-05-25 | 一种基于fpga的高速存储系统分区方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310595683.9A CN116301669B (zh) | 2023-05-25 | 2023-05-25 | 一种基于fpga的高速存储系统分区方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116301669A CN116301669A (zh) | 2023-06-23 |
CN116301669B true CN116301669B (zh) | 2023-08-11 |
Family
ID=86785549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310595683.9A Active CN116301669B (zh) | 2023-05-25 | 2023-05-25 | 一种基于fpga的高速存储系统分区方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301669B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117331514B (zh) * | 2023-12-01 | 2024-02-23 | 超越科技股份有限公司 | 一种基于区域划分的固态盘数据压缩系统及方法 |
CN117792896B (zh) * | 2024-02-26 | 2024-05-10 | 江苏元信网安科技有限公司 | 一种基于fpga的配置管理系统及配置管理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870211A (zh) * | 2012-12-10 | 2014-06-18 | 国际商业机器公司 | 把文件写入到多个介质的方法和存储系统 |
CN104881257A (zh) * | 2015-06-09 | 2015-09-02 | 北京世纪铭辰科技有限公司 | 一种海量数据的实时存储系统和方法 |
CN106663053A (zh) * | 2014-07-24 | 2017-05-10 | 三星电子株式会社 | 数据操作方法和电子设备 |
CN108664218A (zh) * | 2018-04-23 | 2018-10-16 | 浙江大华技术股份有限公司 | 一种基于数据特征的ssd存储方法、装置及系统 |
CN110727604A (zh) * | 2019-08-26 | 2020-01-24 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2021156677A2 (en) * | 2020-02-03 | 2021-08-12 | Samsung Electronics Co., Ltd | Data management system and method of controlling |
CN114116527A (zh) * | 2021-12-01 | 2022-03-01 | 中船重工(武汉)凌久电子有限责任公司 | 基于可编程融合芯片的NVMe SSD存储方法及系统 |
CN115543224A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 基于zns ssd的文件系统控制方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107615388A (zh) * | 2015-03-20 | 2018-01-19 | 波利伍德有限责任公司 | 存储控制器中的可配置多级纠错 |
US11042314B2 (en) * | 2018-07-31 | 2021-06-22 | The Silk Technologies Ilc Ltd | Generation, validation and implementation of storage-orchestration strategies using virtual private array (VPA) in a dynamic manner |
US11010079B2 (en) * | 2019-04-09 | 2021-05-18 | Intel Corporation | Concept for storing file system metadata within solid-stage storage devices |
JP2022163604A (ja) * | 2021-04-14 | 2022-10-26 | 株式会社日立製作所 | 分散ストレージシステム及び記憶制御方法 |
-
2023
- 2023-05-25 CN CN202310595683.9A patent/CN116301669B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870211A (zh) * | 2012-12-10 | 2014-06-18 | 国际商业机器公司 | 把文件写入到多个介质的方法和存储系统 |
CN106663053A (zh) * | 2014-07-24 | 2017-05-10 | 三星电子株式会社 | 数据操作方法和电子设备 |
CN104881257A (zh) * | 2015-06-09 | 2015-09-02 | 北京世纪铭辰科技有限公司 | 一种海量数据的实时存储系统和方法 |
CN108664218A (zh) * | 2018-04-23 | 2018-10-16 | 浙江大华技术股份有限公司 | 一种基于数据特征的ssd存储方法、装置及系统 |
CN110727604A (zh) * | 2019-08-26 | 2020-01-24 | 华为技术有限公司 | 一种数据处理方法及装置 |
WO2021156677A2 (en) * | 2020-02-03 | 2021-08-12 | Samsung Electronics Co., Ltd | Data management system and method of controlling |
CN114116527A (zh) * | 2021-12-01 | 2022-03-01 | 中船重工(武汉)凌久电子有限责任公司 | 基于可编程融合芯片的NVMe SSD存储方法及系统 |
CN115543224A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 基于zns ssd的文件系统控制方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116301669A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116301669B (zh) | 一种基于fpga的高速存储系统分区方法及系统 | |
US10223009B2 (en) | Method and system for efficient cache buffering supporting variable stripe sizes to enable hardware acceleration | |
US9223509B2 (en) | File processing method and storage device | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN105573681A (zh) | 一种ssd盘片内部raid组建方法及系统 | |
CN103995855A (zh) | 存储数据的方法和装置 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN109669818B (zh) | 无本地缓存的连续数据保护方法和系统 | |
CN105183374A (zh) | 一种数据读写方法以及主板 | |
CN105138469A (zh) | 一种数据读写方法以及主板 | |
CN105824846A (zh) | 数据迁移方法及装置 | |
CN109614054A (zh) | 数据的读取方法和系统 | |
CN109117297A (zh) | 一种固态硬盘的故障定位方法及装置 | |
CN116257460B (zh) | 基于固态硬盘的Trim命令处理方法及固态硬盘 | |
CN104898989A (zh) | 一种大容量数据存储设备、方法及装置 | |
CN101241469B (zh) | 一种在嵌入式系统中存储、读取数据的方法及装置 | |
CN102609224B (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN104408126B (zh) | 一种数据库的持久化写入方法、装置和系统 | |
CN109614272A (zh) | 无本地缓存的连续数据保护方法和系统 | |
CN116339643B (zh) | 一种磁盘阵列的格式化方法、装置、设备和介质 | |
CN103092725B (zh) | 一种实现存储器中数据备份的方法及装置 | |
CN112463055A (zh) | 一种优化并使用固态硬盘l2p表的方法、系统、设备及介质 | |
CN105634635A (zh) | 一种共享rtc的方法、装置和系统 | |
CN101794255B (zh) | 无纸记录仪及无纸记录仪数据存储方法 | |
CN109508151A (zh) | 一种提升固态硬盘性能的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |