一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于NVMe接口的存储系统的制作方法

2022-11-16 15:07:41 来源:中国专利 TAG:

一种基于nvme接口的存储系统
技术领域
1.本发明涉及航空电子技术领域,具体涉及一种基于nvme接口的存储系统。


背景技术:

2.近年来,随着机载数据应用平台的不断升级,现有技术采用nandflah和sata存储模块的存储速度和存储容量已经不能满足机载数据平台的需求,飞行对数据应用平台的的存储能力和处理能力不断提高,故需采用百tb级的数据存储和管理方案。因此,目前的存储系统存在不能满足航空机载数据平台海量数据存储需求的问题。


技术实现要素:

3.有鉴于此,本技术实施例提供一种基于nvme接口的存储系统,该系统支持航空领域大量机载飞参数据的存储,实现航空机载嵌入式数据应用中心百tb级的磁盘的阵列管理。通过万兆网组网完成nvme(non-volatile memory express)主控模块的数据互联,主机交换模块完成整个nvme模块的任务调度,数据通过远程dma的方式直接从数据采集模块搬至nvme主控模块对应的内存空间,实现存储磁盘序列的虚拟化,有效解决航空机载数据应用平台数据存储、管理和应用问题。
4.本技术实施例提供以下技术方案:一种基于nvme接口的存储系统,包括:数据采集模块、主机交换模块和nvme主控模块;
5.所述数据采集模块与所述主机交换模块连接,用于采集待存储数据后,向所述主机交换模块发送数据存储命令;
6.所述主机交换模块与所述nvme主控模块连接,用于接收所述存储命令后,根据存储命令中的数据类型向所述nvme主控模块发送写入命令;
7.所述nvme主控模块中挂载nvme ssd磁盘阵列,所述nvme主控模块分别与所述数据采集模块和所述主机交换模块连接,用于接收所述写入命令后,根据写入命令确定数据写入地址,再向所述主机交换模块回传应答信号;
8.所述主机交换模块接收到所述应答信号后,向所述数据采集模块发送写入指令,完成对所述nvme主控模块的任务调度;所述数据采集模块接收到所述写入指令后,将缓存的待存储数据发送至所述nvme主控模块中,所述nvme主控模块根据所述写入地址,将待存储数据存放至所述nvme ssd磁盘阵列存储区域中的固定逻辑扇区;
9.其中,所述数据采集模块、所述主机交换模块和所述nvme主控模块之间通过万兆网组网完成数据交互。
10.进一步地,所述nvme主控模块中包括10g ethernet pcs/pma模块、arm核、dma模块、ddr3模块、nvme_host模块;
11.所述10g ethernet pcs/pma模块用于通过光电转换模块,与所述数据采集模块和所述主机交换模块进行数据交互;
12.所述arm核用于解析所述主机交换模块发送的写入命令,所述dma模块用于将所述
数据采集模块发送的待存储数据搬至nvme对应的数据缓存区,所述arm核还用于通知所述dma模块数据搬运时间以及搬运位置;所述ddr模块用来做数据缓存,所述nvme_host模块用于将ddr模块中的数据搬运至nvme ssd磁盘阵列存储区域中的固定逻辑扇区。
13.进一步地,所述nvme主控模块接收到所述写入命令后,首先识别是否往当前模块写入数据,确认当前模块写入命令后,所述nvme主控模块在内存中构建提交队列和对应的完成队列,并将命令写入所述提交队列的尾部;nvme主控模块的主控制端更新提交队列尾指针和db寄存器,通知所述nvme ssd磁盘阵列提取新命令;所述nvme ssd磁盘阵列查询db寄存器的更新值,到nvme主控模块的提交队列头部提取命令,并实时更新设备内部提交队列头部指针;nvme ssd磁盘阵列解析命令并执行,进行相应的读写操作;nvme ssd磁盘阵列完成一条指令后,将执行结果封装为完成包并写入nvme主控模块的完成队列中;nvme ssd磁盘阵列向nvme主控模块发送中断信息,通知nvme主控模块命令执行完毕;所述nvme主控模块收到中断信息后,解析完成队列中的命令完成包并进行处理,处理完毕后,释放完成队列位置,并更新完成队列头指针db寄存器。
14.进一步地,所述主机交换模块向所述nvme主控模块发送的所述写入命令中包括:该数据的数据类型、待写入的虚拟空间,以及映射到的逻辑扇区。
15.进一步地,所述数据采集模块将缓存的待存储数据发送至所述nvme主控模块之前,将所述待存储数据的数据类型、数据发送对应的虚拟空间、对应虚拟空间的逻辑扇区发送至所述主机交换模块。
16.进一步地,包括4个所述nvme主控模块,每个所述nvme主控模块挂载8个nvme ssd磁盘,每个nvme ssd磁盘设有16百tb的存储容量。
17.进一步地,所述主机交换模块采用switch交换机模块,该switch交换机模块基于soc设计,基于标准的exfat文件系统完成数据的分发、打包和转存。
18.与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:本发明实施例采用nvme主控模块对磁盘阵列进行管理,采用万兆网互联的方式完成nvme主控模块的数据互联,实现磁盘空间的虚拟化管理,基于soc完成主机交换模块的设计,实现数据采集模块至nvme主控模块的任务调度,根据传输的数据类型,决定数据传输的方向,最终通过远程dma的方式直接将数据采集模块的数据搬至虚拟化的磁盘阵列中,同时解决了航空机载百tb级存储设备数据文件管理问题和热插拔问题。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
20.图1是本发明实施例的虚拟化存储系统架构图;
21.图2是本发明实施例的nvme主控端内部架构。
具体实施方式
22.下面结合附图对本技术实施例进行详细描述。
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相
互组合。下面将参考附图并结合实施例来详细说明本发明,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.如图1-图2所示,本发明实施例提供了一种基于nvme接口的存储系统,包括:数据采集模块、主机交换模块和nvme主控模块;
25.所述数据采集模块与所述主机交换模块连接,用于采集待存储数据后,向所述主机交换模块发送数据存储命令;
26.所述主机交换模块与所述nvme主控模块连接,用于接收所述存储命令后,根据存储命令中的数据类型向所述nvme主控模块发送写入命令;
27.其中,所述主机交换模块主要应用于数据搬运前进行的任务调度工作,该模块接收到数据采集模块发送的数据存储命令后,通知nvme主控模块,数据将要写入,该数据的数据类型、写入哪段虚拟空间、具体映射到具体的哪一段逻辑扇区;
28.所述nvme主控模块中挂载nvme ssd磁盘阵列,所述nvme主控模块分别与所述数据采集模块和所述主机交换模块连接,用于接收所述写入命令后,根据写入命令确定数据写入地址,再向所述主机交换模块回传应答信号;
29.所述主机交换模块接收到所述应答信号后,向所述数据采集模块发送写入指令,完成对所述nvme主控模块的任务调度;所述数据采集模块接收到所述写入指令后,将缓存的待存储数据发送至所述nvme主控模块中,所述nvme主控模块根据所述写入地址,将待存储数据存放至所述nvme ssd磁盘阵列存储区域中的固定逻辑扇区;
30.具体地,所述nvme主控模块在收到主机交换模块的写入命令后,首先识别是否往当前模块写入数据,确认当前模块写入命令后,nvme主控模块在自身内存中构建sq(submission queue提交队列)和对应的cq(completion queue完成队列),并将命令写入sq尾部;主控制端更新sq尾指针和db寄存器,通知ssd存储阵列提取新命令;ssd存储阵列查询db的更新值,到nvme主控模块sq头部提取命令,并实时更新设备内部sq头部指针;ssd存储阵列解析命令并执行,进行相应的读写操作;ssd存储阵列完成一条指令后,将执行结果封装为完成包并写入nvme主控模块cq中;ssd存储阵列向nvme主控模块发送一个与回执信息相对的中断信息,通知nvme主控模块命令执行完毕;nvme主控模块收到中断后,解析cq中的命令完成包并进行相应处理;nvme主控模块处理完毕后,释放完成队列位置,并更新cq头指针db寄存器。
31.其中,所述数据采集模块、所述主机交换模块和所述nvme主控模块之间通过万兆网组网完成数据交互。
32.本发明实施例采用nvme主控模块,通过虚拟化存储的方式实现航空机载嵌入式数据应用中心百tb级的磁盘的阵列管理;通过万兆网互联的方式完成nvme主控模块的数据互联,完成机载飞参数据的数据存储和分发;基于soc完成主机交换模块的设计,实现数据采集模块至nvme主控模块的任务调度,根据传输的数据类型,决定数据传输的方向,最终通过远程dma的方式直接从数据采集模块将数据搬至nvme主控模块的虚拟化的磁盘阵列中;通过命名空间对每个nvme主控模块进行管理,有效保证数据在异常情况下的安全性和完整性。
33.在一种具体实施方式中,该系统平台支持航空领域大量机载飞参数据的存储,通过虚拟化存储的方式实现航空机载嵌入式数据应用中心百万tb级的磁盘的阵列管理。具体地,该系统采用nvme协议对磁盘阵列进行管理,对于数据采集模块而言,每个nvme主控模块会提供一个虚拟的存储空间,每个虚拟存储空间大小为128百tb,通常每个嵌入式nvme主控模块可以挂载8个nvme接口的存储磁盘,每个nvme存储磁盘支持16百tb的存储容量,nvme_host端基于一块v7系列的赛灵思开发板,该模块通过万兆网完成组网,其中包含4个组网模块完成数据存储,4个nvme主控模块对应4个虚拟的存储空间的大小共512百tb,用户可根据数据类型,将数据直接搬至每个虚拟空间的具体存储区域。对于用户而言,4个128百tb的虚拟存储空间,构成了一个可任意操作的512百tb大小的存储区域,数据采集模块在发送数据前,会将数据类型,发送数据位于哪个虚拟空间,对应虚拟空间的具体的逻辑扇区告知主机交换模块。4个nvme组网模块通过万兆网进行组网,上游数据源可以通过万兆网交换机访问任意存储空间完成数据的读写。
34.在该硬件平台的基础上,可以完成海量数据的存储和管理。整个数据和任务调度在switch交换机模块完成,该模块基于soc设计,基于标准的exfat文件系统完成数据的分发,打包,转存。每个nvme ssd存储磁盘采用的标准nvme接口,方便写满数据后直接插入电脑端完成数据恢复。
35.本发明实施例的整个系统的系统架构如图1所示,机载数据应用平台存储单元nvme host基于嵌入式soc平台完成主控制端设计,通过nvme技术实现对存储阵列的控制,嵌入式soc平台中的arm通过万兆网光纤接口完成同数据采集模块及主机交换模块的数据交互,通过万兆网组网完成nvme主控模块的数据互联,主机交换模块完成整个nvme模块的任务调度,数据通过远程dma的方式直接从数据采集模块搬至nvme主控模块对应的内存空间,实现存储磁盘序列的虚拟化。
36.整个nvme主控模块的内部原理如图2所示:nvme主控模块主要同数据采集模块、主机交换模块进行数据交互,整个nvme主控模块基于soc完成设计开发,通过模块10g ethernet pcs/pma将数据发送至光电转换模块,然后通过光纤传输至数据采集模块和主机交换模块,arm核用来解析主机交换模块发送过来的指令,dma模块将数据采集模块发送过来的数据搬至nvme对应的数据缓存区,arm核用来通知dma模块何时进行数据搬运,搬运的具体位置;ddr3模块用来做数据缓存。
37.整个模块的运行机制如图2所示:数据采集模块采集到数据后,通过光纤将信息告知主机交换模块,主机交换模块根据采集到的数据类型将指令分发到特定的nvme主控制端的arm核中,arm核在接收到数据即将发送指令后,将写入数据的初始地址告知dma控制器,然后给主机交换模块一个应答信号,通知该模块自己已准备就绪,主机交换模块收到应答信号后,通知数据采集模块开始进行数据流写,此时数据采集模块将缓存中的数据通过光纤发送至nvme主控模块对应的光纤接收数据缓存区,然后dma控制器识别到光纤接收数据缓存区中有数据后,开始将数据搬运至nvme写数据时对应的ddr缓存区域,然后nvme_host模块将ddr中的数据搬运至nvme ssd磁盘阵列存储区域中的固定逻辑扇区。
38.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献