一种海量数据的实时存储系统和方法
【技术领域】
[0001]本发明属于数据通信和数据存储的技术领域,具体涉及到一种海量数据的实时存储系统,以及采用该实时存储系统的方法。
【背景技术】
[0002]传统的文件系统(windows平台的FAT32、NTFS,Iinux的EXT2)适用于计算机日常数据量较小情况下的数据存储、查询与交换等需求;针对海量数据的实时存储(数据量为lGB/s),嵌入式解决方案中的ARM/DSP采用传统文件系统无法满足海量数据的实时处理要求。
[0003]嵌入式解决方案中海量数据实时存储有两点瓶颈:第一,ARM/DSP针对海量数据的实时处理,系统中断请求已经成为限制CPU的短板,目前ARM/DSP没有intel CPU高主频特性来响应底层设备的频繁中断;第二,传统文件系统存储的文件越多,会对文件系统的扇区管理带来越大负担,会出现存储文件越多存储速度越慢的现象。
【发明内容】
[0004]本发明的技术解决问题是:克服现有技术的不足,提供一种海量数据的实时存储系统,其存储速率快、存储速率稳定、文件管理简单。
[0005]本发明的技术解决方案是:这种海量数据的实时存储系统,其包括基于现场可编程门阵列FPGA、固态硬盘SSD、系统时间模块RTC、内存颗粒DDR ;FPGA通过对外数据接收端口来接收4路低压差分信号LVDS,通过4路高速串行总线接口 SATA将输入数据存储至SSD硬盘,FPGA通过DDR接口与DDR连接;系统上电之初获取磁盘中的文件系统信息,将文件系统信息存储于DDR中,FPGA进行海量数据记录时实时更新DDR中的文件系统信息镜像,FPGA通过串行低速通信总线IIC与RTC连接而将DDR中存储的文件系统信息镜像刷新到磁盘文件系统信息所在的空间中。
[0006]还提供了采用这种海量数据的实时存储系统的方法,包括以下步骤:
[0007](I)系统上电;
[0008](2)系统初始化;
[0009](3)获取磁盘中的文件系统信息;
[0010](4)将文件系统信息存储于DDR中;
[0011](5)开始存储数据文件;
[0012](6)更新文件系统信息至DDR;
[0013](7)当前数据文件存储完成;
[0014](8)判断文件系统镜像更新是否完成,如果是则执行步骤(10),如果不是并且镜像刷新使能开启则执行步骤(9),如果不是并且镜像刷新使能关闭则执行步骤(5);
[0015](9)输入数据存储至DDR ;
[0016](10)更新文件系统信息至SSD ;
[0017](11)判断存储使能是否开启,是则执行步骤(5),否则执行步骤(12);
[0018](12)结束。
[0019]本发明通过基于FPGA实现的文件系统和SSD来满足海量数据实时存储的需求,避免了文件记录过程中由于频繁刷新文件系统信息表导致的SATA2.0通道带宽下降,避免了由于频繁刷新文件系统扇区位置导致磁盘使用寿命的快速耗损,FPGA通过对硬盘扇区的DMA读写操作大幅度提高了硬盘数据的读写速度,通过提高磁盘文件写入和读取速率能够满足用户海量数据记录和导出的需求,本发明的文件系统与通用文件系统不兼容,能够对存储在硬盘中的数据内容起到保护的作用,数据不会被通用操作系统所获取,从而起到了数据保护的功能,通过文件系统分区信息双备份的特性,能够达到损坏分区信息的自动恢复功能,因此存储速率快、存储速率稳定、文件管理简单。
【附图说明】
[0020]图1为根据本发明的文件系统分区示意图;
[0021]图2为根据本发明的海量数据的实时存储系统的结构示意图;
[0022]图3为根据本发明的文件系统功能模块划分示意图;
[0023]图4为根据本发明的文件系统模块逻辑连接示意图;
[0024]图5为根据本发明的海量数据的实时存储方法的流程图。
【具体实施方式】
[0025]如图2所示,这种海量数据的实时存储系统,其包括基于现场可编程门阵列FPGA、固态硬盘SSD、系统时间模块RTC、内存颗粒DDR ;FPGA通过对外数据接收端口来接收4路低压差分信号LVDS,通过4路高速串行总线接口 SATA将输入数据存储至SSD硬盘,FPGA通过DDR接口与DDR连接;系统上电之初获取磁盘中的文件系统信息,将文件系统信息存储于DDR中,FPGA进行海量数据记录时实时更新DDR中的文件系统信息镜像,FPGA通过串行低速通信总线Iic与RTC连接而将DDR中存储的文件系统信息镜像刷新到磁盘文件系统信息所在的空间中。
[0026]优选地,如图3-4所示,所述文件系统包括文件系统主控模块、上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块,文件系统主控模块分别连接上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块、寄存器,上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块分别通过交互矩阵模块与DDR接口、SATA通信。
[0027]优选地,IIC获取时间的指令延时在10ms级别。
[0028]优选地,SATA的带宽大于200MB/S。
[0029]优选地,RTC更新时间长度以分钟为单位。
[0030]还提供了采用这种海量数据的实时存储系统的方法,包括以下步骤:
[0031](I)系统上电;
[0032](2)系统初始化;
[0033](3)获取磁盘中的文件系统信息;
[0034](4)将文件系统信息存储于DDR中;
[0035](5)开始存储数据文件;
[0036](6)更新文件系统信息至DDR;
[0037](7)当前数据文件存储完成;
[0038](8)判断文件系统镜像更新是否完成,如果是则执行步骤(10),如果不是并且镜像刷新使能开启则执行步骤(9),如果不是并且镜像刷新使能关闭则执行步骤(5);
[0039](9)输入数据存储至DDR ;
[0040](10)更新文件系统信息至SSD ;
[0041](11)判断存储使能是否开启,是则执行步骤(5),否则执行步骤(12);
[0042](12)结束。
[0043]本发明通过基于FPGA实现的文件系统和SSD来满足海量数据实时存储的需求,避免了文件记录过程中由于频繁刷新文件系统信息表导致的SATA2.0通道带宽下降,避免了由于频繁刷新文件系统扇区位置导致磁盘使用寿命的快速耗损,FPGA通过对硬盘扇区的DMA读写操作大幅度提高了硬盘数据的读写速度,通过提高磁盘文件写入和读取速率能够满足用户海量数据记录和导出的需求,本发明的文件系统与通用文件系统不兼容,能够对存储在硬盘中的数据内容起到保护的作用,数据不会被通用操作系统所获取,从而起到了数据保护的功能,通过文件系统分区信息双备份的特性,能够达到损坏分区信息的自动恢复功能,因此存储速率快、存储速率稳定、文件管理简单。
[0044]以下结合附图和具体的实施例对本发明作进一步的详细说明。
[0045]为简洁描述本发明的文件系统,以后用FAST (File Access Speed Table)作为其简称,图1是本发明文件系统分区示意图。
[0046]文件分析表由文件系统版本信息及文件描述符两部分所组成;文件分区表采用自定义的格式实现文件的存储及查询工作;
[0047]图2为海量数据记录设备系统框图,系统上电之初需要获取磁盘中的FAST系统信息,将FAST系统信息存
储于FPGA片外DDR颗粒中,FPGA进行海量数据记录时实时更新位于片外的DDR颗粒中的FAST信息镜像,定时器更新时间长度以分钟为单位,FPGA内部通过定时器将片外DDR颗粒中存储的FAST镜像刷新到磁盘FAST信息所在的空间中。
[0048]上述方案具有以下优点:
[0049]①避免了文件记录过程中由于频繁刷新FAST信息表导致的SATA2.0通道带宽下降。
[0050]②避免了由于频频繁刷新FAST扇区位置导致磁盘使用寿命的快速耗损。
[0051]③存储文件采用自定义系统,FPGA通过对硬盘扇区的DMA读写操作大幅度提高了硬盘数据的读写速度。
[0052]④通过提高磁盘文件写入和读取速率能够满足用户海量数据记录和导出的需求。
[0053]⑤自定义文件系统与通用文件系统不兼容,能够对存储在硬盘中的数据内容起到保护的作用,数据不会被通用操作系统所获取,从而起到了数据保护的功能。
[0054]⑥通过FAST分区信息双备份的特性,能够达到损坏分区信息的自动恢复功能。
[0055]同时上述方案也会带来如下设计挑战:
[0056]①FPGA获取文件时间信息,通过IIC低速接口与RTC模块相连,为满足文件建立时间、结束时间的信息实时获取,需要IIC接口获取时间的指令延时在10ms级别。
[0057]②FPGA需要将存储在内存中的FAST分区信息定时更新到硬盘相应空间中,需要在SATA2.0接口带宽设计上预留出更新FAST分区信息带来的带宽开销,SATA2.0接口带宽应大于200MB/S存储速率,否则出现会因时间累积导致内存中存储的记录数据溢出带来的数据丢失问题。
[0058]③更新FAST分区信息定时器的时间长度设计,需要在硬盘使用寿命、SATA存储带宽开销、用户数据存储的实时性三个方面做均衡考虑。
[0059]FPGA内部实现文件系统根据功能划分为:文件系统主控模块、上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块等六大模块。功能划分示意框图如图3。
[0060]FPGA逻辑连接框图如图4所示。
[0061]交换矩阵模块用于支持多个模块对DDR控制器、SATA2.0控制器并发访问,在交换矩阵内实现多个请求的仲裁及数据分流作用。
[0062]基于FPGA实现的文件系统具有如下用途:
[0063]I)能够实时存储海量数据信息(lGB/s)。
[0064]2)文件数据存储速率稳定,系统带宽抖动较小。
[0065]3)文件存储简单且便于查询。
[0066]4)文件系统分区双备份功能,能够防止系统意外断电导致文件系统分区表破坏。
[0067]5)适用于嵌入式海量数据存储领域,提供小型化低功耗的系统解决方案。
[0068]按照图2嵌入式系统方案图所示,FPGA芯片对外数据接收端口为4路LVDS高速信号,数据存储接口为4路SATA接口,FPGA外接DDR内存颗粒。输入数据经过FPGA内部实现的自定义文件系统存储至SSD硬盘,能够实现海量数据的实时存储功能。
[0069]系统工作流程如图5所示,系统上电等待各个硬件模块初始化完成,FPGA内部自定义文件系统首先检测硬盘内部存储的文件系统版本,检测通过将文件系统镜像存储至片外DDR内存颗粒,检测出错则将硬盘内部文件系统格式化为自定义文件系统格式;文件记录过程通过FPGA接收外部输入高速差分信号,数据按照内部写文件模块的操作将数据通过SATA接口写入硬盘,同时将文件描述符更新至文件系统镜像空间;待文件系统定时器时间达到镜像文件刷新时刻,启用文件系统镜像刷新模块,将文件系统镜像写入硬盘指定分区中;文件系统镜像刷新完毕后,重新进入文件存储状态;等待系统断电或者停止存储指令后文件系统工作结束。
[0070]本发明采用了如下型号的模块:
[0071]FPGA 型号:Xilinx 公司的 XC5VLX155T
[0072]DDR 颗粒:Micro 公司的 MT47H64M16HR-3
[0073]SATA连接器:Molex高速连接器
[0074]以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
【主权项】
1.一种海量数据的实时存储系统,其特征在于,其包括基于现场可编程门阵列FPGA、固态硬盘SSD、系统时间模块RTC、内存颗粒DDR ;FPGA通过对外数据接收端口来接收4路低压差分信号LVDS,通过4路高速串行总线接口 SATA将输入数据存储至SSD硬盘,FPGA通过DDR接口与DDR连接;系统上电之初获取磁盘中的文件系统信息,将文件系统信息存储于DDR中,FPGA进行海量数据记录时实时更新DDR中的文件系统信息镜像,FPGA通过串行低速通信总线Iic与RTC连接而将DDR中存储的文件系统信息镜像刷新到磁盘文件系统信息所在的空间中。2.根据权利要求1所述的海量数据的实时存储系统,其特征在于,所述文件系统包括文件系统主控模块、上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块,文件系统主控模块分别连接上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块、寄存器,上电文件系统自检模块、文件系统初始化模块、写文件模块、读文件模块、文件系统定时刷新模块分别通过交互矩阵模块与DDR接口、SATA通信。3.根据权利要求1所述的海量数据的实时存储系统,其特征在于,IIC获取时间的指令延时在10ms级别。4.根据权利要求1所述的海量数据的实时存储系统,其特征在于,SATA的带宽大于200MB/S。5.根据权利要求1所述的海量数据的实时存储系统,其特征在于,RTC更新时间长度以分钟为单位。6.一种采用根据权利要求1所述的海量数据的实时存储系统的方法,其特征在于,包括以下步骤: (1)系统上电; (2)系统初始化; (3)获取磁盘中的文件系统信息; (4)将文件系统信息存储于DDR中; (5)开始存储数据文件; (6)更新文件系统信息至DDR; (7)当前数据文件存储完成; (8)判断文件系统镜像更新是否完成,如果是则执行步骤(10),如果不是并且镜像刷新使能开启则执行步骤(9),如果不是并且镜像刷新使能关闭则执行步骤(5); (9)输入数据存储至DDR; (10)更新文件系统信息至SSD; (11)判断存储使能是否开启,是则执行步骤(5),否则执行步骤(12); (12)结束。
【专利摘要】公开了一种海量数据的实时存储系统,其存储速率快、存储速率稳定、文件管理简单。其包括基于现场可编程门阵列FPGA、固态硬盘SSD、系统时间模块RTC、内存颗粒DDR;FPGA通过对外数据接收端口来接收4路低压差分信号LVDS,通过4路高速串行总线接口SATA将输入数据存储至SSD硬盘,FPGA通过DDR接口与DDR连接;系统上电之初获取磁盘中的文件系统信息,将文件系统信息存储于DDR中,FPGA进行海量数据记录时实时更新DDR中的文件系统信息镜像,FPGA通过串行低速通信总线IIC与RTC连接而将DDR中存储的文件系统信息镜像刷新到磁盘文件系统信息所在的空间中。还提供了采用这种系统的方法。
【IPC分类】G06F3/06
【公开号】CN104881257
【申请号】CN201510312329
【发明人】王怀亮
【申请人】北京世纪铭辰科技有限公司
【公开日】2015年9月2日
【申请日】2015年6月9日
转载请注明原文地址:https://www.famiwei.com/read-8138816.html