CN112562121A - 一种基于srio协议的存储数据和快速下载方法 - Google Patents

一种基于srio协议的存储数据和快速下载方法 Download PDF

Info

Publication number
CN112562121A
CN112562121A CN202011614310.4A CN202011614310A CN112562121A CN 112562121 A CN112562121 A CN 112562121A CN 202011614310 A CN202011614310 A CN 202011614310A CN 112562121 A CN112562121 A CN 112562121A
Authority
CN
China
Prior art keywords
data
module
srio
storage
interface
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
Application number
CN202011614310.4A
Other languages
English (en)
Inventor
张三刚
徐恺
薛倩倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LUOYANG WEIXIN ELECTRONIC TECHNOLOGY CO LTD
Original Assignee
LUOYANG WEIXIN ELECTRONIC TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LUOYANG WEIXIN ELECTRONIC TECHNOLOGY CO LTD filed Critical LUOYANG WEIXIN ELECTRONIC TECHNOLOGY CO LTD
Priority to CN202011614310.4A priority Critical patent/CN112562121A/zh
Publication of CN112562121A publication Critical patent/CN112562121A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3802Harddisk connected to a computer port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols

Abstract

本发明提出一种基于SRIO协议的存储数据和快速下载方法,包括需求分析与系统架构设计、系统硬件设计、SRIO转存储协议逻辑设计和软件设计,所述系统工作时的功能主要包括高速数据存储和数据回放,所述数据存储时通过光纤SRIO接收高速载荷数据存储到固态存储介质中,数据存储流程包括数据的解析、打包、写盘、数据维护等操作,其中数据采集及打包由数据管理逻辑完成,写盘和数据维护由数据管理软件完成。本发明提供的一种基于SRIO协议的数据存储和快速下载方法解除了传统设备由于载荷电信号传输能力对载荷源端与记录设备的距离约束,能够有效减少对机载平台集中体积和功耗的限制,提升了数据传输速率和平台适应性,有利于机载平台设计性能优化。

Description

一种基于SRIO协议的存储数据和快速下载方法
技术领域
本发明涉及机载存储数据传输技术领域,具体为一种基于SRIO协议的存储数据和快速下载方法。
背景技术
数据存储类产品广泛应用在机载任务系统产品中,早期产品主要用于监控、记录飞行参数和总线数据,数据速率低,记录容量小。随着机载产品性能进步和载荷设备各项指标的提升,存储产品处理的载荷种类逐渐包括多种载荷图像、侦察视频等,数据量也越来越大,各种载荷设备之间安装位置有时距离相差较远,载荷数据传输接口标准各不相同,如何实现多种类、不同速度载荷数据的统一记录管理并支持快速回放是记录类产品面临的新挑战。
目前存储数据一般都采用标准SATA接口,数据回放的方法主要分在线和离线回放,离线回放一般使用人工取卡的方式,这种方式对结构设计要求较高,需要飞机和产品都要预留记录卡插拔位置,影响产品和飞机的密封设计。在线回放一般将数据转换为通用数据接口如以太网等回放,这种方式可支持较远距离传输数据,但是以太网受限于协议速率和嵌入式处理器主频等,紧急情况下可能影响系统任务执行。因此,我们提出一种基于SRIO协议的数据存储和快速下载方法。
发明内容
本发明的目的在于提供一种基于SRIO协议的数据存储和快速下载方法,以解决上述背景技术提出的以太网受限于协议速率和嵌入式处理器主频等,紧急情况下可能影响系统任务执行的问题。
为实现上述目的,本发明提供如下技术方案:
一种基于SRIO协议的存储数据存储和快速下载方法,包括需求分析与系统架构设计、系统硬件设计、SRIO转存储协议逻辑设计和软件设计,具体设计如下:
需求分析与系统架构设计:分析基于光纤的机载环境远程数据存储技术研究的典型应用环境和工作状态,分析应用需求,为系统中模块硬件、可编程逻辑和软件功能划分和设计提供依据;
系统硬件设计:系统采用FPGA为主处理芯片,设计DDR缓存和Flash构成最小系统,设计SRIO接口用于载荷数据接收和回放输出、设计多路电子盘用于存储数据、设计光电转换模块实现SRIO信号的光电转换;
SRIO转存储协议逻辑设计:基于FPGA资源设计记录和回放的SRIO接口,SATA存储控制接口,设计接口协议数据转换和数据流控制;
软件设计:软件控制模块工作模式,监控模块状态,设计简洁高效的机载数据文件系统,实现记录载荷数据内容的数据管理功能和数据检索回放功能;
所述系统工作时的功能主要包括高速数据存储和数据回放,所述数据存储时通过光纤SRIO接收高速载荷数据存储到固态存储介质中,数据存储流程包括数据的解析、打包、写盘、数据维护等操作,其中数据采集及打包由数据管理逻辑完成,写盘和数据维护由数据管理软件完成,所述数据回放时需要根据指令从盘中获取目标数据,打包为SRIO协议格式,再转换为光纤格式输出,光纤接收高速数据存储系统设计可以根据时间信息、数据类型信息、记录序号信息进行数据检索回传,数据的检索回传主要由数据管理软件完成。
优选的,所述SRIO转存储协议逻辑设计包括SRIO接口模块、存储接口协议控制模块、操作指令分解模块、缓冲管理模块、读写盘控制应用模块、处理器模块,所述SRIO接口模块通过例化FPGA的GTX接口实现SRIO协议的逻辑层、传输层和物理层,同时实现SRIO链路状态管理;
存储接口协议控制模块:主要实现接口仲裁、读状态机、写状态机以及状态处理,负责将SRIO接口解析的有效数据分解发送到后端多个存储设备,同时将从存储设备获取的数据组织后发送给SRIO接口,传给对端设备;
操作指令分解模块:存储数据时,操作指令分解模块根据后端存储设备数量和存储指令要求,将载荷数据分发到不同的缓冲管理空间中,数据回放时,读取载荷数据对应缓存的反馈状态,满足条件后将数据从缓存取出并向后端输出;
缓冲管理模块:根据逻辑外部挂接的存储接口数量,开辟不同数量的缓冲通道,每个通道的读数据流和写数据流分开控制,每个方向的数据流又分为写入缓冲控制和读出缓冲控制;
读写盘控制应用:读写盘控制应用通过逻辑例化FPGA的GTX接口,实现8路SATAHOST接口,通过SATA接口实现对SSD的读写控制和存储空间控制,数据进入写盘控制应用后进入仲裁读写判断,然后进入读写功能实现状态机;
处理器模块:处理器模块通过逻辑搭建软核处理器,为软件运行提供环境,为软件和逻辑之间信息交互提供通路,为模块提供调试监控接口,便于监控模块状态和故障定位。
优选的,所述软件设计中设置自定义文件系统,实现存储数据管理功能,包括记录载荷数据,生成文件列表,创建记录索引,更新记录状态,实现循环记录和检索输出功能,完成系统自检测和工作状态管理。
优选的,所述系统硬件主要由FPGA单元、存储单元、光电转换单元、时钟单元、复位单元组成,所述FPGA单元是模块的核心处理控制单元,由FPGA主芯片,DDR3缓存,配置Flash组成,选型FPGA具有16路GTX高速收发器,每路线速率最大支持12.5Gbps,GTX接口使用灵活,可根据需求配置实现多种高速总线协议,本模块中配置实现8路SATAIII接口,线速率6Gbps,对接8路单芯片SSD;实现1路x4SRIO,线速率5Gbps,总带宽20Gbps,用于高速数据回放;实现两路x1SRIO,线速率3.125Gbps,用于接收源端载荷数据,FPGA具有约406K资源,丰富的时钟和BRAM资源,用于实现SRIO协议到SATA的转换,同时逻辑例化软核处理器,运行软件,控制模块状态;
存储单元:存储单元主要设计2片单芯片SSD,每片单芯片SSD标称容量1TB,有效容量不低于标称容量90%,SSD最高支持SATAIII协议,线速率6Gbps,同时向下兼容3Gbps和1.5Gbps,项目设计使用SATAIII,单路读写速度超过300MB/s;
光电转换单元:光电转换单元主要设计光电转换模块,实现SRIO协议的光电转换,光电转换模块选用50/125um的OM3光纤类型,工作波长850nm,支持典型传输速率6.25Gbps,传输距离支持100米到300;
时钟单元:分析模块所需时钟包括FPGA的端单端时钟50MHz,SATA接口差分时钟150MHz,DDR3需要2个差分时钟200MHz,SRIO接口需要1个差分时钟125MHz,时钟单元设计5个晶振做模块频率输入;
复位单元:模块设计看门狗芯片,用于监控应用软件的运行状态,如果出现异常情况,如逻辑加载失败或者工作过程中软件跑死等情况,则触发看门狗复位重新配置FPGA,重新恢复模块功能;
供电单元:模块接收外部5V供电,经过内部二次电源转换为各个芯片工作所需电源。
与现有技术相比,本发明的有益效果是:
本发明提供的一种基于SRIO协议的存储数据和快速下载方法通过对机载环境存储系统的应用环境特点研究,设计基于光纤接口的高速数据存储系统的硬件、逻辑、软件方案,研制满足机载条件的基于光纤的机载环境远程数据存储系统,同时该系统设计的技术使用灵活,可快速推广移植到后续新研产品中,可提高产品开发效率、缩短产品开发周期,基于SRIO协议实现大容量数据远程存储和快速回放;解除了传统设备由于载荷电信号传输能力对载荷源端与记录设备的距离约束,能够有效减少对机载平台集中体积和功耗的限制,提升了数据传输速率和平台适应性,有利于机载平台设计性能优化。
附图说明
图1为本发明数据存储时的数据流图。
图2为本发明数据回放时的数据流图。
图3为本发明系统硬件设计的模块组成框图。
图4为本发明SRIO转存储协议逻辑设计的逻辑方案设计框图。
图5为本发明的设计复位状态机示意图。
图6为本发明的发送状态机示意图。
图7为本发明的SRIO接收状态机示意图。
图8为本发明以2个盘为例的存储方式管理示意图。
图9为本发明以2个盘为例的各个区域在数据盘中的位置示意图。
图10为本发明的索引表中的内容对数据块进行检索示意图。
图11为本发明的存储系统扩展示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
请参阅图1-图11,本发明提供一种技术方案:
一种基于SRIO协议的存储数据和快速下载方法,包括需求分析与系统架构设计、系统硬件设计、SRIO转存储协议逻辑设计和软件设计,具体设计如下:
系统架构:系统工作时的功能主要包括高速数据存储和数据回放。
数据存储时通过光纤SRIO接收高速载荷数据存储到固态存储介质中,数据存储流程包括数据的解析、打包、写盘、数据维护等操作,数据流图如图1所示。其中数据采集及打包由数据管理逻辑完成,写盘和数据维护由数据管理软件完成。
数据回放时需要根据指令从盘中获取目标数据,打包为SRIO协议格式,再转换为光纤格式输出。光纤接收高速数据存储系统设计可以根据时间信息、数据类型信息、记录序号信息进行数据检索回传。数据的检索回传主要由数据管理软件完成,数据流图如图2所示。
系统功能需要硬件提供环境支撑,模块内部运行的逻辑和软件配合实现,根据要求功能性能指标要求,对基于光纤的机载环境远程数据存储技术研究的硬件、软件、逻辑功能划分如下。
系统硬件设计:
a) 设计FPGA最小系统,设计DDR缓存,Flash等;
b) 设计光电转换模块,提供光纤高速接口
c) 设计模块所需时钟;
d) 接收外部供电输入,转换为内部芯片所需二次电源;
e) 设计看门狗功能。
SRIO转存储协议逻辑设计:
a) 设计实现SRIO协议;
b) 设计存储接口协议控制;
c) 实现电子盘读写控制应用;
d) 搭建软核处理器,提供软件运行环境。
软件设计:
a) 设计自定义文件系统,实现存储数据管理功能,包括记录载荷数据,生成文件列表,创建记录索引,更新记录状态,实现循环记录和检索输出功能;
b) 完成系统自检测和工作状态管理。
系统硬件设计:
系统硬件主要由FPGA单元、存储单元、光电转换单元、时钟单元、复位单元组成。模块组成框图如图3所示。
各单元划分和功能介绍如下:
a) FPGA单元
是模块的核心处理控制单元,主要由FPGA主芯片,DDR3缓存,配置Flash组成。选型FPGA具有16路GTX高速收发器,每路线速率最大支持12.5Gbps,GTX接口使用灵活,可根据需求配置实现多种高速总线协议。本模块中配置实现8路SATAIII接口,线速率6Gbps,对接8路单芯片SSD;实现1路x4SRIO,线速率5Gbps,总带宽20Gbps,用于高速数据回放;实现两路x1SRIO,线速率3.125Gbps,用于接收源端载荷数据。FPGA具有约406K资源,丰富的时钟和BRAM资源,用于实现SRIO协议到SATA的转换,同时逻辑例化软核处理器,运行软件,控制模块状态。
DDR3缓存设计选用4片位宽为16bit的DDR3做缓存,每2片扩展为1组32bit位宽,DDR3线速率支持1600Mbps,缓存理论总带宽超过12GB/s。
配置Flash根据FPGA的配置容量要求,选用256Mb的SPINOR型Flash,支持最大始终频率100MHz,满足模块使用需求。
b) 存储单元
存储单元主要设计2片单芯片SSD,每片单芯片SSD标称容量1TB,有效容量不低于标称容量90%,SSD最高支持SATAIII协议,线速率6Gbps,同时向下兼容3Gbps和1.5Gbps,项目设计使用SATAIII,单路读写速度超过300MB/s。
c) 光电转换单元
光电转换单元主要设计光电转换模块,实现SRIO协议的光电转换。光电转换模块选用50/125um的OM3光纤类型,工作波长850nm,支持典型传输速率6.25Gbps,传输距离支持100米到300米。
d)时钟单元
分析模块所需时钟包括FPGA的端单端时钟50MHz,SATA接口差分时钟150MHz,DDR3需要2个差分时钟200MHz,SRIO接口需要1个差分时钟125MHz,时钟单元设计5个晶振做模块频率输入。
e)复位单元
模块设计看门狗芯片,用于监控应用软件的运行状态。如果出现异常情况,如逻辑加载失败或者工作过程中软件跑死等情况,则触发看门狗复位重新配置FPGA,重新恢复模块功能。
f)供电单元
模块接收外部5V供电,经过内部二次电源转换为各个芯片工作所需电源。
模块内部高速信号较多,最大速率达到6.25Gbps,在设计时提前选取高速PCB板材,进行模块热仿真和高速信号仿真,选取合适层叠结构,PCB布局和布线设计严格执行高速信号设计要求,保证模块硬件工作正常。
SRIO转存储协议逻辑设计:
逻辑方案设计框图如图4所示。主要包括SRIO接口模块,存储接口协议控制模块,操作指令分解模块,缓冲管理模块,写盘控制应用模块等。
a)SRIO接口模块
SRIO接口模块通过例化FPGA的GTX接口实现SRIO协议的逻辑层、传输层和物理层,同时实现SRIO链路状态管理。
SRIO接口模块中的链路复位管理主要负责SRIO逻辑的复位管理,能够产生上电复位、链路断开复位、外部控制主动复位。保证SRIO链路工作正常。设计复位状态机如图5所示。
设计SRIO发送状态机,完成SRIO数据包发送功能,发送状态机设计如图6所示。
发送状态机可支持SWRITE、NWRITE、NWRITE_R、NREAD、DOORBELL,单个SRIO数据包可支持发送数据包长度为:8、16、32、64、128、256字节。SWRITE和NWRITE可支持BRUST形式的大数据量发送,NWRITE_R以及NREAD单次指令最大仅支持256B。单次指令执行完成后会输出标识信号或者中断信号,通知应用层该次数据已经发送完成。
设计SRIO接收状态机,接收SRIO对端设备发送过来的SRIO载荷数据包,并根据要求回复response数据包。本系统中要求为2种载荷,SRIO接收状态机如图7所示。
目前能够处理的SRIO数据包类型包括:SWRITE、NWRITE、NWRITE_R、NREAD、DOORBELL。接收的DOORBELL由于数据比较简单,这里不再状态机中进行处理,通过逻辑将其翻译为32个时钟周期的高电平信号,可以直接接处理器的中断控制器。信息域内容则通过寄存器送处理器进一步处理。
b) 存储接口协议控制模块
存储接口协议控制模块主要实现接口仲裁、读状态机、写状态机以及状态处理。负责将SRIO接口解析的有效数据分解发送到后端多个存储设备,同时将从存储设备获取的数据组织后发送给SRIO接口,传给对端设备。
c) 操作指令分解
存储数据时,操作指令分解模块根据后端存储设备数量和存储指令要求,将载荷数据分发到不同的缓冲管理空间中。数据回放时,读取载荷数据对应缓存的反馈状态,满足条件后将数据从缓存取出并向后端输出。
d) 缓冲管理
根据逻辑外部挂接的存储接口数量,开辟不同数量的缓冲通道,每个通道的读数据流和写数据流分开控制,每个方向的数据流又分为写入缓冲控制和读出缓冲控制。
以SSD0为例,存储数据时,该通道分配的载荷数据通过写数据流控制存入缓冲,当数据写盘条件满足时,在读出缓冲逻辑控制下取出数据发送给写盘控制应用接口。回放数据时,从SSD0回读的数据通过读数据流写入缓冲控制存入缓存,当数据往外发送条件满足时,载荷数据从缓存中读出后发送到下一级模块。多个盘的缓冲管理操作方式类似。
e)读写盘控制应用
读写盘控制应用通过逻辑例化FPGA的GTX接口,实现8路SATAHOST接口,通过SATA接口实现对SSD的读写控制和存储空间控制。数据进入写盘控制应用后进入仲裁读写判断,然后进入读写功能实现状态机。为了提升数据读写速度,8路SSD按照RAID0管理。在RAID0中8个成员SSD相同地址段的块(block)存储空间组成一个条带(stripe),条带的长度为成员SSD个数,条带的深度为各成员磁盘的块容量。各成员磁盘共享相同的操作指令,对于写操作,待写盘的条带数据按照块结构均匀写入到各成员磁盘,对于读操作,则块数据从各成员磁盘的逻辑块中读出,组成一个完整的条带数据。图8是以2个盘为例的存储方式管理示意图。
f)处理器模块
处理器模块通过逻辑搭建软核处理器,为软件运行提供环境,为软件和逻辑之间信息交互提供通路,为模块提供调试监控接口,便于监控模块状态和故障定位。
软件设计:
软件驻留在载板FPGA的软核处理器中,软件设计实现自定义文件系统,实现数据记录、存储管理、数据回放功能。
大多数数据存储设备采用标准的文件系统,以文件的形式对数据进行存储管理,但该模式存在使用时间长记录文件多之后,存储效率降低和文件系统易损坏的问题,不适合嵌入式平台应用环境。研究了国内外数据记录标准,结合现有硬件架构及平台的记录软件的软件架构及处理模式,设计一种适合嵌入式应用环境的数据记录软件架构以及统一的数据存储格式,实现各种接口及功能的模块化配置。
本发明设计的机载数据文件系统将每个电子盘都定义4种数据存储区,分别为:保留区、状态信息区、索引表区和载荷数据区。以本系统中2个盘为例,各个区域在数据盘中的位置(扇区号)如图9所示。
机载数据文件系统中需要定义的数据格式包括:数据盘状态信息、数据记录状态信息、数据索引表以及载荷数据包格式。所有数据类型均采用大端模式。
数据盘状态信息和数据记录状态信息存储在数据盘的状态信息区。数据盘状态信息在每个数据盘中存储并互为备份,数据索引表存储在数据盘的索引表区;载荷数据包存储在数据盘的载荷数据区。
机载数据文件系统以数据块为单位进行存储,数据块大小可配置,通过记录状态信息中的数据记录起始扇区号和记录数据块数量字段可以定位数据位于电子盘中的位置。在文件系统中数据块索引表与数据块一一对应,可根据索引表中的内容对数据块进行检索如图10所示。
当数据块写入电子盘以后,需要为数据块创建索引表,并更新记录状态信息。在检索回放时,为了提高检索效率,文件系统使用了索引表,可以满足不同系统的数据检索需求。通过遍历索引表,查找符合检索条件的数据块。
a)载荷数据存储
存储在电子盘中的数据块大小设计为4MB。软件通过DMA将载荷数据存储在软件管理的内存空间中,软件再将内存中的数据通过DMA写入电子盘的指定地址。针对多路载荷数据,软件为每路载荷创建DDR数据缓冲区进行管理。
对于低速载荷数据和日志数据同样采用4MB数据包格式,由于数据速率较低,因此采用一包数据多次写盘来保证数据的可靠性。
b)数据回放
数据回放根据和回放解析设备之间的指令交互执行。数据检索功能在实现时,为每个电子盘定义了一个索引表指针,依次遍历每个盘,找到符合条件的索引表项;然后比较每个索引表指针指向的索引表信息,时间最早的即为要查找的数据块,在获取该数据块后,重新查找符合条件的数据块,并重复执行以上步骤,直至所有满足条件的数据块均被找到。该算法的时间复杂度为O(n)。
自定义文件系统中,数据检索流程为:
1) 首先根据记录状态信息中的数据记录起始位置,计算盘0中第一块数据的索引表位置;
2) 遍历索引表,查找第一个符合条件的数据块;
3) 依次查找其余盘中第一个符合条件的数据块;
4) 获取各盘中目标数据块中数据时间最早的一个;
5) 通过索引表位置计算数据块位置;
6)获取数据。
扩展使用:
系统设计使用SRIO总线,SRIO总线专门针对嵌入式系统的互联,协议拓扑支持星状、网状、环装、树状等多种拓扑结构,可实现个基于光纤的机载环境远程数据存储技术研究的互联和容量扩展。按照SRIO协议规定设备ID用8位数据表示,则可设计扩展最多255个存储系统,每个系统中FPGA支持的存储容量又可根据高速接口灵活配置。使用基于光纤的机载环境远程数据存储技术研究设计可支持存储容量从几十GB到几十TB,而软件和逻辑仅需根据硬件资源做少量改动,可满足目前多数机载记录类产品的存储容量、存取速度使用需求。存储系统扩展示意图如图11所示。

Claims (4)

1.一种基于SRIO协议的存储数据和快速下载方法,其特征在于:包括需求分析与系统架构设计、系统硬件设计、SRIO转存储协议逻辑设计和软件设计,具体设计如下:
需求分析与系统架构设计:分析基于光纤的机载环境远程数据存储技术研究的典型应用环境和工作状态,分析应用需求,为系统中模块硬件、可编程逻辑和软件功能划分和设计提供依据;
系统硬件设计:系统采用FPGA为主处理芯片,设计DDR缓存和Flash构成最小系统,设计SRIO接口用于载荷数据接收和回放输出、设计多路电子盘用于存储数据、设计光电转换模块实现SRIO信号的光电转换;
SRIO转存储协议逻辑设计:基于FPGA资源设计记录和回放的SRIO接口,SATA存储控制接口,设计接口协议数据转换和数据流控制;
软件设计:软件控制模块工作模式,监控模块状态,设计简洁高效的机载数据文件系统,实现记录载荷数据内容的数据管理功能和数据检索回放功能;
所述系统工作时的功能主要包括高速数据存储和数据回放,所述数据存储时通过光纤SRIO接收高速载荷数据存储到固态存储介质中,数据存储流程包括数据的解析、打包、写盘、数据维护操作,其中数据采集及打包由数据管理逻辑完成,写盘和数据维护由数据管理软件完成,所述数据回放时需要根据指令从盘中获取目标数据,打包为SRIO协议格式,再转换为光纤格式输出,光纤接收高速数据存储系统设计可以根据时间信息、数据类型信息、记录序号信息进行数据检索回传,数据的检索回传主要由数据管理软件完成。
2.根据权利要求1所述的一种基于SRIO协议的存储数据和快速下载方法,其特征在于:所述SRIO转存储协议逻辑设计包括SRIO接口模块、存储接口协议控制模块、操作指令分解模块、缓冲管理模块、读写盘控制应用模块、处理器模块,所述SRIO接口模块通过例化FPGA的GTX接口实现SRIO协议的逻辑层、传输层和物理层,同时实现SRIO链路状态管理;
存储接口协议控制模块:主要实现接口仲裁、读状态机、写状态机以及状态处理,负责将SRIO接口解析的有效数据分解发送到后端多个存储设备,同时将从存储设备获取的数据组织后发送给SRIO接口,传给对端设备;
操作指令分解模块:存储数据时,操作指令分解模块根据后端存储设备数量和存储指令要求,将载荷数据分发到不同的缓冲管理空间中,数据回放时,读取载荷数据对应缓存的反馈状态,满足条件后将数据从缓存取出并向后端输出;
缓冲管理模块:根据逻辑外部挂接的存储接口数量,开辟不同数量的缓冲通道,每个通道的读数据流和写数据流分开控制,每个方向的数据流又分为写入缓冲控制和读出缓冲控制;
读写盘控制应用:读写盘控制应用通过逻辑例化FPGA的GTX接口,实现8路SATAHOST接口,通过SATA接口实现对SSD的读写控制和存储空间控制,数据进入写盘控制应用后进入仲裁读写判断,然后进入读写功能实现状态机;
处理器模块:处理器模块通过逻辑搭建软核处理器,为软件运行提供环境,为软件和逻辑之间信息交互提供通路,为模块提供调试监控接口,便于监控模块状态和故障定位。
3.根据权利要求1所述的一种基于SRIO协议的存储数据和快速下载方法,其特征在于:所述软件设计中设置自定义文件系统,实现存储数据管理功能,包括记录载荷数据,生成文件列表,创建记录索引,更新记录状态,实现循环记录和检索输出功能,完成系统自检测和工作状态管理。
4.根据权利要求1所述的一种基于SRIO协议的存储数据和快速下载方法,其特征在于:所述系统硬件包括FPGA单元、存储单元、光电转换单元、时钟单元、复位单元组成,所述FPGA单元是模块的核心处理控制单元,由FPGA主芯片,DDR3缓存,配置Flash组成,选型FPGA具有16路GTX高速收发器,每路线速率最大支持12.5Gbps,GTX接口使用灵活,可根据需求配置实现多种高速总线协议,本模块中配置实现8路SATAIII接口,线速率6Gbps,对接8路单芯片SSD;实现1路x4SRIO,线速率5Gbps,总带宽20Gbps,用于高速数据回放;实现两路x1SRIO,线速率3.125Gbps,用于接收源端载荷数据,FPGA具有约406K资源,丰富的时钟和BRAM资源,用于实现SRIO协议到SATA的转换,同时逻辑例化软核处理器,运行软件,控制模块状态;
存储单元:存储单元主要设计2片单芯片SSD,每片单芯片SSD标称容量1TB,有效容量不低于标称容量90%,SSD最高支持SATAIII协议,线速率6Gbps,同时向下兼容3Gbps和1.5Gbps,项目设计使用SATAIII,单路读写速度超过300MB/s;
光电转换单元:光电转换单元主要设计光电转换模块,实现SRIO协议的光电转换,光电转换模块选用50/125um的OM3光纤类型,工作波长850nm,支持典型传输速率6.25Gbps,传输距离支持100米到300;
时钟单元:分析模块所需时钟包括FPGA的端单端时钟50MHz,SATA接口差分时钟150MHz,DDR3需要2个差分时钟200MHz,SRIO接口需要1个差分时钟125MHz,时钟单元设计5个晶振做模块频率输入;
复位单元:模块设计看门狗芯片,用于监控应用软件的运行状态,如果出现异常情况,如逻辑加载失败或者工作过程中软件跑死等情况,则触发看门狗复位重新配置FPGA,重新恢复模块功能;
供电单元:模块接收外部5V供电,经过内部二次电源转换为各个芯片工作所需电源。
CN202011614310.4A 2020-12-30 2020-12-30 一种基于srio协议的存储数据和快速下载方法 Pending CN112562121A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011614310.4A CN112562121A (zh) 2020-12-30 2020-12-30 一种基于srio协议的存储数据和快速下载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011614310.4A CN112562121A (zh) 2020-12-30 2020-12-30 一种基于srio协议的存储数据和快速下载方法

Publications (1)

Publication Number Publication Date
CN112562121A true CN112562121A (zh) 2021-03-26

Family

ID=75034722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011614310.4A Pending CN112562121A (zh) 2020-12-30 2020-12-30 一种基于srio协议的存储数据和快速下载方法

Country Status (1)

Country Link
CN (1) CN112562121A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722120A (zh) * 2021-07-30 2021-11-30 龙芯中科(太原)技术有限公司 集成电路及其实现程序开发的方法
CN113763596A (zh) * 2021-09-06 2021-12-07 天津津航计算技术研究所 一种机载异构网络数据记录方法
CN114020663A (zh) * 2021-11-17 2022-02-08 中国航空无线电电子研究所 一种机载总线数据记录装置
CN114936172A (zh) * 2022-05-24 2022-08-23 国网河南省电力公司内乡县供电公司 一种能够实现载荷数据管理的无人机机载数据管理系统
CN114973452A (zh) * 2022-05-11 2022-08-30 北京麦克沃根科技有限公司 记录板及利用该记录板进行记录的方法
CN115858458A (zh) * 2023-02-22 2023-03-28 华中科技大学同济医学院附属同济医院 一种基于数据统计的财会数据归档系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326155A (zh) * 2016-08-19 2017-01-11 南京理工大学 一种多总线数据记录与回放装置及方法
CN108519857A (zh) * 2018-03-16 2018-09-11 中北大学 多源非格式化宽带数据高速海量格式化存储与特征保全方法
CN110321300A (zh) * 2019-05-20 2019-10-11 中国船舶重工集团公司第七一五研究所 一种信号处理数据高速记录与回放模块的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326155A (zh) * 2016-08-19 2017-01-11 南京理工大学 一种多总线数据记录与回放装置及方法
CN108519857A (zh) * 2018-03-16 2018-09-11 中北大学 多源非格式化宽带数据高速海量格式化存储与特征保全方法
CN110321300A (zh) * 2019-05-20 2019-10-11 中国船舶重工集团公司第七一五研究所 一种信号处理数据高速记录与回放模块的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴建华: "《基于Linux的高速记录回放系统计算机软件设计》", 《中国优秀硕士学位论文全文数据库 (基础科学辑)》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722120A (zh) * 2021-07-30 2021-11-30 龙芯中科(太原)技术有限公司 集成电路及其实现程序开发的方法
CN113722120B (zh) * 2021-07-30 2024-04-05 龙芯中科(太原)技术有限公司 集成电路及其实现程序开发的方法
CN113763596A (zh) * 2021-09-06 2021-12-07 天津津航计算技术研究所 一种机载异构网络数据记录方法
CN114020663A (zh) * 2021-11-17 2022-02-08 中国航空无线电电子研究所 一种机载总线数据记录装置
CN114020663B (zh) * 2021-11-17 2024-01-30 中国航空无线电电子研究所 一种机载总线数据记录装置
CN114973452A (zh) * 2022-05-11 2022-08-30 北京麦克沃根科技有限公司 记录板及利用该记录板进行记录的方法
CN114936172A (zh) * 2022-05-24 2022-08-23 国网河南省电力公司内乡县供电公司 一种能够实现载荷数据管理的无人机机载数据管理系统
CN115858458A (zh) * 2023-02-22 2023-03-28 华中科技大学同济医学院附属同济医院 一种基于数据统计的财会数据归档系统

Similar Documents

Publication Publication Date Title
CN112562121A (zh) 一种基于srio协议的存储数据和快速下载方法
CN100511122C (zh) 固态硬盘控制器电路及固态硬盘
CN100334564C (zh) 具有内部行高速缓存的内存集线器及访问方法
CN111581153A (zh) 一种基于Open VPX的雷达信号处理装置
CN101710270B (zh) 一种基于闪存的高速大容量存储器及芯片数据管理方法
JP2008546049A (ja) 宛先ディスクへのアクセス方法とディスク容量拡張システム及びディスクアレイ
CN110334040B (zh) 一种星载固态存储系统
CN105549916A (zh) PCIe固态硬盘控制器、基于PCIe的存储系统及其数据读写方法
CN116841932B (zh) 一种可灵活连接的便携式高速数据存取设备及其工作方法
CN111258504A (zh) 一种基于sata接口固态硬盘的存储控制系统
CN109408434B (zh) 一种基于fpga的多路高速ad数据采集和存储系统
CN207115383U (zh) 一种基于fpga+emmc存储阵列的存储系统
CN104035731B (zh) 一种刀片式服务器的存储头结点
CN209624766U (zh) 一种基于fpga的高速信号采集存储及回放系统
CN102541778A (zh) 一种超高速超大容量存储装置及其实现方法
CN204291206U (zh) 一种基于闪存阵列的高清视频数据记录仪
CN111475459A (zh) 一种9u vpx数据存储服务器及数据处理方法
CN116737624B (zh) 一种高性能数据存取装置
CN106528462B (zh) 大容量数据记录器数据回读设备
CN207586908U (zh) 一种高速扩容存储模块
CN116700445A (zh) 一种基于分布式存储硬件架构的全闪存arm存储服务器
CN102868739A (zh) 应用于ip san集群存储系统的交换设备
CN216014252U (zh) 基于hp接口的多通道数据采集存储回放卡及系统
CN105630400A (zh) 高速海量数据存储系统
CN212484353U (zh) 一种基于Open VPX的雷达信号处理装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326