一种基于PCIe总线的星载固态存储系统及方法技术方案

技术编号:36575332 阅读:13 留言:0更新日期:2023-02-04 17:33
本发明专利技术属于星载固态存储器、航天存储与传输技术领域,具体涉及一种基于PCIe总线的星载固态存储系统及方法。本发明专利技术系统包括:数据接收模块接收外部主控模块CPU软件发送的工程数据和应用数据;数据存储模块接收数据接收模块解析的数据,并根据类别存储至存储阵列两个固定分区中;数据发送模块根据主控模块CPU软件指令回放存储模块中的延时数据,并发送至主控模块CPU软件;通信控制模块通过串行总线与主控模块CPU软件进行通信,完成存储相关指令控制与状态反馈;和时钟管理模块将外部输入的时钟由DCM生成FPGA内部需要的不同频率时钟,并生成全局复位信号。本发明专利技术高度模块化,逻辑清晰,功能划分明确,重用性强,可扩展性强。可扩展性强。可扩展性强。

【技术实现步骤摘要】
一种基于PCIe总线的星载固态存储系统及方法


[0001]本专利技术属于星载固态存储器、航天存储与传输
,具体涉及一种基于PCIe总线的星载固态存储系统及方法。

技术介绍

[0002]星载总线技术在星载数据采集和传输中十分重要,目前在航天领域被广泛应用的总线或网络主要包括RS422,RS485,CAN总线,1553总线,LVDS等。虽然这些总线具有很广泛的应用,但是随着航天探测任务的复杂化和困难化,以及更先进的数据采集设备例如合成孔径雷达、多光谱成像仪被应用在了航天领域中,星载总线需要数据量日益增大,而这些总线在传输的速率、通信的距离,协议的配合以及功耗方面均存在不足。为了满足大容量数据传输和存储需求,需要应用更快速更稳定更高效的总线协议。
[0003]PCIe (peripheral component interconnect express)是一种高速串行计算机扩展总线标准,是由英特尔在2001年提出的,旨在替代旧的PCI(Peripheral Component Interconnect,外围组件互联),PCI

X和AGP(Accelerated Graphical Port)总线标准。PCIe属于高速串行点对点双通道高带宽传输,所连接的设备独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。它的主要优势就是数据传输速率高,PCIe 3.0的速度可达8GT/s,而且还有相当大的发展潜力,适合航天场景下的数据传输
[0004]星载固态存储系统是卫星平台的关键系统之一,作为数据枢纽支撑卫星任务的开展实施。星载固态存储系统主要功能是接收来自主控模块计算机单元CPU软件的系统工程数据(反映科学实验系统各主控模块以及接口的工作状态数据)和应用数据(在轨产生的科学数据、视频数据和图像数据的总称),将其按照工参区、载荷区两个固定分区分类存储;在接收到计算机单元的回放指令后将数据读出发送至计算机单元;并完成与计算机单元的指令和状态交互。
[0005]当前星载固态存储系统多为定制化设计,即根据不同的卫星型号任务需对有效载荷数据类型、存储容量、存储速率等需求重新进行方案设计,导致研发效率不高、重用性较差等,因此需对系统进行层次化、模块化和规整化等架构设计,提高星载存储系统的可重构性和普适性。

技术实现思路

[0006]本专利技术的目的在于克服现有技术缺陷,提出了一种基于PCIe总线的星载固态存储器系统,本专利技术还公开了一种基于PCIe总线的星载固态存储器方法。
[0007]为达到上述目的,本专利技术通过下述技术方案实现。
[0008]本专利技术提出了一种基于PCIe总线的星载固态存储系统,应用于存储硬件中,所述系统包括:数据接收模块和数据存储模块;其中,所述数据接收模块,用于接收外部主控模块发送的工程数据和应用数据,并进行
PCIe物理层协议解析和数据应用层协议解析,生成对应的标识信号,并将数据乒乓缓存至对应的FIFO中;所述数据存储模块,采用固定分区存储方式,根据数据类型对数据进行分别独立循环存储,并在收到回放指令后将延时数据取出传输至计算机单元CPU软件。
[0009]作为上述技术方案的一种改进,所述数据接收模块,包括:PCIe协议解析接收单元、应用层协议解析单元、科学数据编码前FIFO单元和工程数据编码前FIFO单元;其中,所述PCIe协议解析接收单元,用于接收来自外部主控模块发送的工程数据和应用数据,采用PCIe专用IP核对接收的数据完成PCIe物理层协议解析,并将解析后的数据流转化后写入AXI总线;所述应用层协议解析单元,用于接收PCIe协议解析接收单元解析后的工程数据、应用数据,对接收的数据进行数据包格式判别,并根据判别的数据类型将数据缓存至对应的工程数据FIFO或应用数据FIFO中,具体包括:若同步字为0x55AA且标识域为0xED1D,则判定数据为工程数据包并启动一次数据接收,并将接收的数据写入工程数据FIFO中缓存;若同步字为0x55AA且标识域为0x6D1D~0x6DFD,则判定为应用数据包并启动一次数据接收,并将接收的数据写入应用数据FIFO中缓存;若同步字不为0x55AA或同步字为0x55AA时标识域无效,则不接收数据;所述科学数据编码前FIFO单元,用于设置应用数据FIFO相关参数,并提供prog_full信号给数据存储模块作为读FIFO触发条件;所述工程数据编码前FIFO单元,用于设置工程数据FIFO相关参数,并提供prog_full信号给数据存储模块作为读FIFO触发条件。
[0010]作为上述技术方案的一种改进,所述数据存储模块,包括:RS编码管理单元、数据缓存单元、FLASH控制管理单元和存储数据输出单元;其中,所述RS编码管理单元,用于接收数据接收模块缓存的工程数据和应用数据,并根据对应的标识信号,对有效数据进行RS纠错编码后,将数据乒乓缓存至数据缓存单元;所述数据缓存单元,通过对SDRAM存储空间进行固定分区,其中分区I用来缓存工程数据;分区II用来缓存应用数据,然后等待存储调度写入FLASH芯片中;还用于生成反映各数据缓存区状态信号;所述FLASH控制管理单元,用于完成对工程数据和应用数据的存储控制以及完成对FLASH芯片底层驱动的逻辑实现;所述存储数据输出单元,用于对回放的延时存储数据进行RS译码,并写入FIFO缓存进行输出预处理操作。
[0011]作为上述技术方案的一种改进,所述数据缓存单元,通过对SDRAM存储空间进行固定分区,其中分区I用来缓存工程数据;分区II用来缓存应用数据,然后等待存储调度写入FLASH芯片中,具体包括:当工程数据缓存FIFO或应用数据缓存FIFO任一缓存数据量达到阈值时,则启动对应缓存FIFO读操作;此时,若RS编码使能信号有效,则对读取的数据进行RS编码并写入异步乒乓FIFO缓存,若RS编码使能信号无效,则对读取的数据直接写入异步乒乓FIFO缓存;数据写入异步乒乓FIFO时记录对应通道号。
[0012]当任一异步FIFO缓存数据量达到256*128bits时,RS编码管理单元输出有效的对
应异步乒乓FIFO半满信号,接收到RS编码后异步乒乓FIFO读使能信号后,输出对应FIFO缓存数据和通道号;当存在异步乒乓FIFO半满信号有效时启动对应异步乒乓FIFO读操作和SDRAM写操作,并根据来自

RS编码管理

模块的通道号将编码后的数据源包写入SDRAM对应分区缓存;当SDRAM工程数据分区或应用数据分区的任一分区缓存数据量满4簇时,启动1次FLASH写操作,数据缓存单元根据来自FLASH控制管理单元的SDRAM读请求信号和读地址将目标数据从SDRAM中按簇读出并写入后端异步缓存FIFO;FLASH控制管理单元根据数据缓存单元发送的信号完成异步缓存FIFO一簇数据读取。
[0013]作为上述技术方案的一种改进,所述完成对FLASH芯片底层驱动的逻辑实现,具体包括:生成F本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PCIe总线的星载固态存储系统,应用于存储硬件中,其特征在于,所述系统包括:数据接收模块和数据存储模块;其中,所述数据接收模块,用于接收外部主控模块发送的工程数据和应用数据,并进行PCIe物理层协议解析和数据应用层协议解析,生成对应的标识信号,并将数据乒乓缓存至对应的FIFO中;所述数据存储模块,采用固定分区存储方式,根据数据类型对数据进行分别独立循环存储,并在收到回放指令后将延时数据取出传输至计算机单元CPU软件。2.根据权利要求1所述的基于PCIe总线的星载固态存储系统,其特征在于,所述数据接收模块,包括:PCIe协议解析接收单元、应用层协议解析单元、科学数据编码前FIFO单元和工程数据编码前FIFO单元;其中,所述PCIe协议解析接收单元,用于接收来自外部主控模块发送的工程数据和应用数据,采用PCIe专用IP核对接收的数据完成PCIe物理层协议解析,并将解析后的数据流转化后写入AXI总线;所述应用层协议解析单元,用于接收PCIe协议解析接收单元解析后的工程数据、应用数据,对接收的数据进行数据包格式判别,并根据判别的数据类型将数据缓存至对应的工程数据FIFO或应用数据FIFO中,具体包括:若同步字为0x55AA且标识域为0xED1D,则判定数据为工程数据包并启动一次数据接收,并将接收的数据写入工程数据FIFO中缓存;若同步字为0x55AA且标识域为0x6D1D~0x6DFD,则判定为应用数据包并启动一次数据接收,并将接收的数据写入应用数据FIFO中缓存;若同步字不为0x55AA或同步字为0x55AA时标识域无效,则不接收数据;所述科学数据编码前FIFO单元,用于设置应用数据FIFO相关参数,并提供prog_full信号给数据存储模块作为读FIFO触发条件;所述工程数据编码前FIFO单元,用于设置工程数据FIFO相关参数,并提供prog_full信号给数据存储模块作为读FIFO触发条件。3.根据权利要求1所述的基于PCIe总线的星载固态存储系统,其特征在于,所述数据存储模块,包括:RS编码管理单元、数据缓存单元、FLASH控制管理单元和存储数据输出单元;其中,所述RS编码管理单元,用于接收数据接收模块缓存的工程数据和应用数据,并根据对应的标识信号,对有效数据进行RS纠错编码后,将数据乒乓缓存至数据缓存单元;所述数据缓存单元,通过对SDRAM存储空间进行固定分区,其中分区I用来缓存工程数据;分区II用来缓存应用数据,然后等待存储调度写入FLASH芯片中;还用于生成反映各数据缓存区状态信号;所述FLASH控制管理单元,用于完成对工程数据和应用数据的存储控制以及完成对FLASH芯片底层驱动的逻辑实现;所述存储数据输出单元,用于对回放的延时存储数据进行RS译码,并写入FIFO缓存进行输出预处理操作。4.根据权利要求3所述的基于PCIe总线的星载固态存储系统,其特征在于,所述数据缓存单元,通过对SDRAM存储空间进行固定分区,其中分区I用来缓存工程数据;分区II用来缓存应用数据,然后等待存储调度写入FLASH芯片中,具体包括:
当工程数据缓存FIFO或应用数据缓存FIFO任一缓存数据量达到阈值时,则启动对应缓存FIFO读操作;此时,若RS编码使能信号有效,则对读取的数据进行RS编码并写入异步乒乓FIFO缓存,若RS编码使能信号无效,则对读取的数据直接写入异步乒乓FIFO缓存;数据写入异步乒乓FIFO时记录对应通道号;当任一异步FIFO缓存数据量达到256*128bits时,RS编码管理单元输出有效的对应异步乒乓FIFO半满信号,接收到RS编码后异步乒乓FIFO读使能信号后,输出对应FIFO缓存数据和通道号;当存在异步乒乓FIFO半满信号有效时启动对应异步乒乓FIFO读操作和SDRAM写操作,并根据来自

RS编码管理

模块的通道号将编码后的数据源包写入SDRAM对应分区缓存;当SDRAM工程数据分区或应用数据分区的任一分区缓存数据量满4簇时,启动1次FLASH写操作,数据缓存单元根据来自FLASH控制管理单元的SDRAM读请求信号和读地址将目标数据从SDRAM中按簇读出并写入后端异步缓存FIFO;FLASH控制管理单元根据数据缓存单元发送的信号完成异步缓存FIFO一簇数据读取。5.根据权利要求3所述的基于PCIe总线的星载固态存储系统,其特征在于,所述完成对FLASH芯片底层驱动的逻辑实现,具体包括:生成FLASH存储器件操作的驱动信号并符合操作时序要求;操作包括复位、读、写和擦除;自动在存储区的每一个已使用簇的空余区加载簇标记信息以及系统时间码信息;通过软件命令启动针对指定FLASH存储区的操作;自动检测存储区内部出错的信息,并对出错的簇和块进行标记,并及时通知设备软件;维护表示硬件工作状态的相关信息,且该信息可由软件从特定地址读取其内容;每次加电后自动生成反映存储区所有块使用情况的BAT,并由软件从指定地址读取;对计算机单元CPU软件发送的存储块地址进行自动管理,根据存储任务调度完成对通信控制模块中缓存的未使用块地址、待回放块地址、待擦除块地址、待标记无效块地址、CPU读簇地址的自动取用、校验与转发。6.根据权利要求1所述的基于PCIe总线的星载固态存储系统,其特征在于,所述系统还包括数据发送模块;所述数据发送模块,包括: SCI接收FIFO单元、ENG接收FIFO单元、数据调度单元和PCIe数据发送单元;其中,所述SCI接收FIFO单元,用于接收数据存储模块回放的应用数据,进行跨时钟域处理;设置SCI接收FIFO相关参数,并提供prog_full信号给数据调度单元作为读FIFO触发条件;所述ENG接收FIFO单元,用于接收数据存储模块回放的工程数据,进行跨时钟域处理;设置ENG接收FIFO相关参数,并提供prog_full信号给数据调度单元作为读FIFO触发条件;所述数据调度单元,用于监测...

【专利技术属性】
技术研发人员:刘畅董振兴安军社朱岩师雨杰
申请(专利权)人:中国科学院国家空间科学中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1