CN109683829B - 基于fpga的智能存储控制系统及其应用 - Google Patents
基于fpga的智能存储控制系统及其应用 Download PDFInfo
- Publication number
- CN109683829B CN109683829B CN201910007525.0A CN201910007525A CN109683829B CN 109683829 B CN109683829 B CN 109683829B CN 201910007525 A CN201910007525 A CN 201910007525A CN 109683829 B CN109683829 B CN 109683829B
- Authority
- CN
- China
- Prior art keywords
- data
- flash
- configuration
- main controller
- storage area
- 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
Images
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
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)
- Computer Security & Cryptography (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种基于FPGA的智能存储控制系统,包括FLASH主控制器;FLASH命令形成器及带记忆功能的地址生成器,用于产生跨时钟域的电平信号并自动避免越界写入;配置数据形成器,用于由写配置驱动信号驱动控制配置写入功能;自动读取配置器,用于由内部驱动信号驱动实现自动化配置读取;主数据与辅助数据形成器,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;FLASH数据读取缓存器;多接口外发驱动模块,用于自主记录发送包数并完成既定数量的工作。本发明还涉及一种该系统在无人水下航行器及水声设备中的应用。采用了该系统及其应用,解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特点。
Description
技术领域
本发明涉及智能存储领域,尤其涉及FLASH存储领域,具体是指一种基于FPGA的智能存储控制系统及其应用。
背景技术
智能存储控制系统设计是无人水下航行器及水声设备设计中的一种关键技术,具有非常重要的应用价值。在涉及水下航行、水下定位导航与通信及水下探测的应用中,特别是水声定位导航与通信等应用中,常需要使用闪存FLASH存储大量不同类型的数据,且应对各种复杂的情况,因此必须挂载存储系统往往是必须的。此外,考虑到无人水下航行器及水声设备配备了多种不同类型的声呐及内置外置传感器,因此,研究基于现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)设计具有的智能存储控制系统亦是必要的。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
目前,现有的常用的无人水下航行器及水声设备的存储控制系统设计,并未实现分为三种特殊区域的概念且无自主分配存储空间的机制;另外,在应对水下复杂环境引起的系统重启、关机等问题时,不存在自主记忆更新功能,不具备自动配置功能;最后,在存储写入控制上,通常需要用户控制输入参数,造成诸多不便。因此,无论是从可靠性、简洁性或是智能化的角度,一般的无人水下航行器及水声设备的存储控制系统设计在性能上欠佳。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种具有可靠性、简洁性、智能化的基于FPGA的智能存储控制系统及其应用。
为了实现上述目的,本发明的基于FPGA的智能存储控制系统及其应用如下:
该基于FPGA的智能存储控制系统,其主要特点是,所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作。
较佳地,所述的系统还包括数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据。
较佳地,所述的数据存储区根据设备参数自动分配存储空间。
较佳地,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
较佳地,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
较佳地,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
较佳地,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
较佳地,所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电频信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入。
较佳地,所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
较佳地,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
较佳地,所述的主数据及辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
上述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
采用了本发明的基于FPGA的智能存储控制系统及其应用,实现自主分配存储空间的机制;在应对水下复杂环境引起的系统重启、关机等问题时,具备自主记忆更新功能和自动配置功能;在存储写入控制上,避免需要用户控制输入参数而造成的诸多不便;解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特征。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
附图说明
图1为本发明的基于FPGA的智能存储控制系统的框架示意图。
图2为本发明的基于FPGA的智能存储控制系统的分为三种类型的数据存储区示意图。
图3为本发明的基于FPGA的智能存储控制系统的配置写入主副双状态机的示意图。
图4为本发明的基于FPGA的智能存储控制系统的主数据和辅助数据形成器的示意图。
图5为本发明的基于FPGA的智能存储控制系统的实现系统生成方法流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该基于FPGA的智能存储控制系统,其中,所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作。
作为本发明的优选实施方式,所述的系统还包括数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据。
作为本发明的优选实施方式,所述的数据存储区根据设备参数自动分配存储空间。
作为本发明的优选实施方式,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
作为本发明的优选实施方式,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
作为本发明的优选实施方式,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
作为本发明的优选实施方式,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
作为本发明的优选实施方式,所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电频信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入。
作为本发明的优选实施方式,所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
作为本发明的优选实施方式,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
作为本发明的优选实施方式,所述的主数据及辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
本发明还涉及一种上述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
在本发明的具体实施方式中,将存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区,并基于无人水下航行器及水声设备参数对存储空间自动分配;基于FPGA生成无人水下航行器及水声设备智能存储控制系统框架;基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器;利用主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据;基于乒乓操作产生跨时钟域的主数据和辅助数据形成器;产生具备自主决策功能多接口外发驱动单元。本发明可有效解决既有应用于无人水下航行器及水声设备的存储控制系统在水下工作时出现的可靠性、简洁性或是智能化问题。
系统包括:存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区;
基于无人水下航行器及水声设备系统参数对存储空间自动分配;
基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器;
主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据;
基于乒乓操作产生跨时钟域的主数据和辅助数据形成器;
多接口外发驱动单元,具备自主决策功能。
存储系统分为三个存储区,即配置数据存储区、辅助数据存储区以及主数据存储区等数据存储区:
配置数据区存储区主要存储系统配置信息,以及存储系统相关的信息,包括上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址等;
辅助数据存储区则主要存储各类声呐、内置和外置传感器相关信息;
主数据数据存储区主要存储带有时间标的数字采样器(AD)采集的数字信号。
基于无人水下航行器及水声设备参数对存储空间自动分配:
存储区自动分配,具体而言,将配置数据区存于存储系统的首区或尾区;
辅助数据与主数据的存储区依赖于系统参数,对存储空间自动分配。
基于FPGA生成FLASH命令形成器及带记忆功能的地址生成器,包括:
FLASH命令形成器将从多接口获得的命令与既有无人水下航行器及水声设备的授时、环境等条件进行综合,进而产生由边沿信号转成跨时钟域的电平信号,或者将电平信号转成跨时钟域的边沿信号;
智能存储控制系统根据当前的存储空间分配,自动产生各分区写入地址。即使存在断电等情形,依然可以根据存于配置数据区的配置数据自动加载并根据既定规则写入。既定规则包括但不限于,递增写入、递减写入、间隔写入等;
地址生成器可根据当前存储区域的大小,自动避免越界写入;
地址生成器,遇到擦除等情形具备自动释放空间,其状态机自动使地址生成器归置初始状态,无需任何人为干预。
主副双状态机控制配置写入功能,并基于配置读取状态机自动读取配置数据,包括:
配置写入状态机由主副双状态机组成,且均由写配置驱动信号驱动。驱动信号由几个部分组成,包括但不限于停止工作触发沿信号、多接口写配置数据使能信号、擦除完毕自动写配置使能信号等。获得驱动信号后,主副状态机进入写配置数据状态。其中,主状态机由两个阶段组成,即首区擦除及配置写入;
主状态机先完成首区的擦除工作,在单块擦除完成且判断操作类型为“写配置”之后,完成状态清零,并等待副状态机执行的配置数据在RAM中写完并输出数据准备好标志信号。此后,继续完成配置写入,并通过多个接口向上位机反馈写配置完成信号;
自动化配置读取状态机无需外置驱动信号,而由内部驱动信号驱动,即实现自动化配置读取。该内部驱动信号是基于每次上电复位信号产生的沿触发信号。
基于乒乓操作产生跨时钟域的主数据和辅助数据形成器,包括:
针对主数据的连续存储是利用乒乓操作对不等宽RAM操作实现的,即对RAMA写入时FLASH控制状态机实现对RAMB的读取,而对RAMB写入时则实现对RAMA的读取,交替完成双不等宽RAM的读取与写入;
主数据写入时,任何一个不等宽RAM写满时则产生数据准备好信号并经数据选择器送给FLASH控制状态机,再将读命令、地址反向传递给相应RAM;辅助数据写入时,亦由状态机控制,在写满一页之后,产生数据准备好信号;
FLASH控制状态机,在收到主数据和辅助数据后产生仲裁,依序读取。另外,RAM的写入和读取的信号均由延迟器保持以完成跨时钟域处理,以确保避免亚稳态产生。
多接口外发驱动单元,具备自主决策功能,包括:
驱动单元由直接内存存取(DMA)控制,在获得FIFO非空之后,自主加载FIFO中的内容至RAM之后。经FLASH控制状态机向多接口外发驱动单元输出;
多接口外发驱动单元,具备自主决策功能,记录发送包数且完成既定数量后无需外部命令自主结束,并同时使得FLASH控制器和FLASH数据读取缓存器强制结束状态。
下面结合附图和实施例对本发明作进一步的详细说明,图5为本发明实施例提供的一种基于FPGA的应用于无人水下航行器及水声设备的智能存储控制系统设计方法的实现流程示意图,如图5所示,本实施例提供一种基于FPGA的应用于无人水下航行器及水声设备的智能存储控制系统设计方法,所述方法包括:
步骤101,将无人水下航行器及水声设备的整个数据存储区分区为配置数据存储区、辅助数据存储区以及主数据存储区等三种类型(如图2所示),并基于无人水下航行器及水声设备参数对存储空间自动分配。
配置数据区存储的内容主要应包括但不限于:帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限、潜标路由信息等。
辅助数据每记录一次称为一帧,辅助数据记录的内容主要包括但不限于:帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪(Doppler Velocity Logger,DVL)速度数据、惯性导航位置数据、水下无人航行器定位分析数据及帧尾数据。
主数据记录的主要内容包括但不限于:帧头、记录时间以及AD采样器采集的数字信号。
存储区自动分配,具体而言,将配置数据区存于存储系统的首区或尾区,连续N块,其存储大小固定为512K×N字节;
假设辅助数据的记录频率为fA,每记录一帧的存储大小为NAPER,则其每秒记录的存储空间为NA=fANAPER字节;
假设主数据的采样频率为fs,其存储位宽为NW,则其每秒记录的存储空间为NM=fsNW字节;
因此,假定总容量为T字节,则存储空间分配时,应该有辅助数据区域分配的空间为,
而与之对应主数据区域分配的空间为,
以上单位均为字节。
步骤102,基于FPGA生成无人水下航行器及水声设备智能存储控制系统框架。
框架内包括如下基本组成单元:FLASH主控制器、FLASH命令形成器及带记忆功能的地址生成器、配置数据形成器及自动读取配置器、主数据和辅助数据形成器以及FLASH数据读取缓存器等控制单元,如图3所示。各基本组成单元,均有有限状态机完成控制。
FLASH主控制器包括对FLASH读取、写入以及擦除的物理层处理,以及各种标志位的产生。标志位包括但不限于读取、写入、擦除完成以及繁忙标志。
步骤103,生成FLASH命令形成器及带记忆功能的地址生成器。
FLASH命令形成器将从多接口获得的命令与既有无人水下航行器及水声设备的授时、环境等条件进行综合,进而产生由边沿信号转成跨时钟域的电平信号,或者将电平信号转成跨时钟域的边沿信号。
除此之外,智能存储控制系统根据当前的存储空间分配,自动产生各分区写入地址。即使存在断电等情形,依然可以根据存于配置数据区的配置数据自动加载并根据既定规则写入。既定规则包括但不限于,递增写入、递减写入、间隔写入等。
地址生成器可根据当前存储区域的大小,自动避免越界写入。
地址生成器,遇到擦除等情形具备自动释放空间,其状态机自动使地址生成器归置初始状态,无需任何人为干预。
步骤104,产生由写配置驱动信号驱动的配置写入主副双状态机,并基于配置读取状态机自动读取配置数据。
如图3所示,该配置写入状态机由主副双状态机组成,且均由写配置驱动信号驱动。驱动信号由几个部分组成,包括但不限于停止工作触发沿信号、多接口(如以太网、串口、同步串行口(Synchronous serial PORTs,SPORT)等)写配置数据使能信号、擦除完毕自动写配置使能信号等。获得驱动信号后,主副状态机进入写配置数据状态。其中,主状态机由两个阶段组成,即首区擦除及配置写入。
主状态机先完成首区的擦除工作,在单块擦除完成且判断操作类型为“写配置”之后,完成状态清零,并等待副状态机执行的配置数据在RAM中写完并输出数据准备好标志信号。此后,继续完成配置写入,并通过多个接口向上位机反馈写配置完成信号。
自动化配置读取状态机无需外置驱动信号,而由内部驱动信号驱动,即实现自动化配置读取。该内部驱动信号是基于每次上电复位信号产生的沿触发信号。
步骤105,基于乒乓操作产生跨时钟域的主数据和辅助数据形成器。
如图4所示,针对主数据的连续存储是利用乒乓操作对不等宽RAM操作实现的,即对RAMA写入时FLASH控制状态机实现对RAMB的读取,而对RAMB写入时则实现对RAMA的读取。
主数据写入时,任何一个不等宽RAM写满时则产生数据准备好信号并经数据选择器送给FLASH控制状态机,再将读命令、地址反向传递给相应RAM;辅助数据写入时,亦由状态机控制,在写满一页之后,产生数据准备好信号。
FLASH控制状态机,在收到主数据和辅助数据后产生仲裁,依序读取。另外,RAM的写入和读取的信号均由延迟器保持以完成跨时钟域处理,以确保避免亚稳态产生。
步骤106,生成FLASH数据读取缓存器及多接口外发驱动单元。
驱动单元由直接内存存取(DMA)控制,在获得FIFO非空之后,自主加载FIFO中的内容至RAM之后。经FLASH控制状态机向多接口外发驱动单元输出。
多接口外发驱动单元,具备自主决策功能,记录发送包数且完成既定数量后无需外部命令自主结束,并同时使得FLASH控制器和FLASH数据读取缓存器强制结束状态。
采用了本发明的基于FPGA的智能存储控制系统,实现自主分配存储空间的机制;在应对水下复杂环境引起的系统重启、关机等问题时,具备自主记忆更新功能和自动配置功能;在存储写入控制上,避免需要用户控制输入参数而造成的诸多不便;解决既有存储控制系统在水下工作时出现的问题,具有可靠性、简洁性或是智能化的特征。智能存储控制系统,可以实现高效存储,减少人工输入,具有重要的意义。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (8)
1.一种基于FPGA的智能存储控制系统,其特征在于,
所述的系统包括:
FLASH主控制器,用于对FLASH读取、写入及擦除的物理层处理,并产生各种标志位;
所述的系统还包括:
数据存储区,所述的数据存储区包括:
配置数据存储区,与所述的FLASH主控制器相连接,用于存储系统配置信息和系统相关的配置数据信息;
辅助数据存储区,与所述的FLASH主控制器相连接,用于存储声呐、内置和外置传感器的辅助数据信息;
主数据存储区,与所述的FLASH主控制器相连接,用于存储数字采样器采集的数字信号数据;
所述的数据存储区根据设备参数自动分配存储空间;
所述的系统还包括:
FLASH命令形成器及带记忆功能的地址生成器,与所述的FLASH主控制器相连接,用于产生跨时钟域的电平信号,根据当前的存储空间分配自动产生各分区写入地址,并自动避免越界写入;
配置数据形成器,与所述的FLASH主控制器相连接,用于由写配置驱动信号驱动控制配置写入功能;
自动读取配置器,与所述的FLASH主控制器相连接,用于由内部驱动信号驱动实现自动化配置读取;
主数据与辅助数据形成器,与所述的FLASH主控制器相连接,用于根据乒乓操作对不等宽RAM操作实现主数据的连续存储;
FLASH数据读取缓存器,与所述的FLASH主控制器相连接,用于缓存FLASH数据;
多接口外发驱动模块,与所述的FLASH主控制器和FLASH数据读取缓存器相连接,用于自主记录发送包数并完成既定数量的工作;
所述的FLASH命令形成器及带记忆功能的地址生成器包括:
FLASH命令形成器,与所述的FLASH主控制器相连接,用于根据获取的命令和既有无人水下航行器及水声设备的条件将电平信号和边沿信号进行转换;
智能存储控制系统,与所述的FLASH主控制器相连接,用于根据当前的存储空间分配自动产生各分区写入地址;
地址生成器,与所述的FLASH主控制器相连接,用于根据当前存储区域的大小自动避免越界写入;
所述的配置数据形成器包括主状态机和副状态机,均与所述的FLASH主控制器相连接,且主状态机和副状态机相互连接,用于由写配置驱动信号驱动控制配置写入功能。
2.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的配置数据存储区存储的数据包括帧头、上次记录的辅助数据存储区结束地址、上次记录的主数据存储区结束地址、工作模式、同步工作点、各潜标经纬度信息、预设声速向量信息、检测门限和潜标路由信息。
3.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的辅助数据存储区存储的数据包括帧头、包号、当前记录时间标、多个避碰声呐的计算数据、水下定位时刻、水下定位结果、水下无人航行器至甲板单元通信负载数据、甲板单元至水下无人航行器通信负载数据、水下无人航行器姿态数据、多普勒计程仪速度数据、惯性导航位置数据、水下无人航行器定位分析数据和帧尾数据。
4.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的主数据存储区存储的数据包括帧头、记录时间和AD采样器采集的数字信号。
5.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的FLASH主控制器产生的标志位包括读取标志、写入标志、擦除完成标志和繁忙标志。
6.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的自动读取配置器的内部驱动信号为基于上电复位信号产生的沿触发信号。
7.根据权利要求1所述的基于FPGA的智能存储控制系统,其特征在于,所述的主数据与辅助数据形成器包括FLASH控制状态机,与所述的FLASH主控制器和多接口外发驱动模块相连接,用于接收主数据和辅助数据后产生仲裁并依序读取,向所述的多接口外发驱动单元输出数据。
8.一种权利要求1至7中任一项所述的基于FPGA的智能存储控制系统在无人水下航行器及水声设备中的应用。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007525.0A CN109683829B (zh) | 2019-01-04 | 2019-01-04 | 基于fpga的智能存储控制系统及其应用 |
PCT/CN2019/086531 WO2020140361A1 (zh) | 2019-01-04 | 2019-05-13 | 基于fpga的智能存储控制系统及其应用 |
US17/133,796 US11379129B2 (en) | 2019-01-04 | 2020-12-24 | FPGA-based intelligent storage control system and application thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910007525.0A CN109683829B (zh) | 2019-01-04 | 2019-01-04 | 基于fpga的智能存储控制系统及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683829A CN109683829A (zh) | 2019-04-26 |
CN109683829B true CN109683829B (zh) | 2020-10-30 |
Family
ID=66192067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910007525.0A Active CN109683829B (zh) | 2019-01-04 | 2019-01-04 | 基于fpga的智能存储控制系统及其应用 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11379129B2 (zh) |
CN (1) | CN109683829B (zh) |
WO (1) | WO2020140361A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683829B (zh) * | 2019-01-04 | 2020-10-30 | 中国科学院声学研究所东海研究站 | 基于fpga的智能存储控制系统及其应用 |
CN111176911B (zh) * | 2019-11-18 | 2023-08-08 | 北京时代民芯科技有限公司 | 一种新型的大存储量高速fpga辅助配置系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116175A (zh) * | 2013-01-18 | 2013-05-22 | 东南大学 | 基于dsp和fpga的嵌入式导航信息处理器 |
CN103336751A (zh) * | 2013-07-10 | 2013-10-02 | 广西科技大学 | 寻址功能与存储单元一体化存储控制器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115681A (en) * | 1997-12-17 | 2000-09-05 | The United States Of America As Represented By The Secretary Of The Navy | Real-time data acquisition |
US8301833B1 (en) * | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
CN101446921B (zh) * | 2008-12-23 | 2010-09-01 | 青岛海信宽带多媒体技术股份有限公司 | 一种Flash存储器的动态存储方法 |
CN103092257B (zh) * | 2012-12-29 | 2015-06-24 | 中国船舶重工集团公司第七一○研究所 | 一种自适应触发同步控制装置 |
US10027340B1 (en) * | 2012-12-31 | 2018-07-17 | Jefferson Science Associates, Llc | Method and apparatus to digitize pulse shapes from radiation detectors |
CN103226976A (zh) * | 2013-03-19 | 2013-07-31 | 中国科学院声学研究所 | 一种基于FPGA实现多片Nandflash存储及读取的装置 |
CN103399831B (zh) * | 2013-08-14 | 2015-11-18 | 江西航天海虹测控技术有限责任公司 | Nandflash存储器自动循环存储的实现方法 |
CN106528443B (zh) * | 2016-11-09 | 2019-08-06 | 上海微小卫星工程中心 | 适用于星载数据管理的flash管理系统及方法 |
CN106649142B (zh) * | 2016-12-02 | 2019-09-06 | 北京航天长征飞行器研究所 | 一种具有断电续存功能的高速存储器 |
CN114035749B (zh) * | 2018-01-12 | 2023-02-28 | 珠海极海半导体有限公司 | 电子设备和Flash存储器 |
CN109683829B (zh) * | 2019-01-04 | 2020-10-30 | 中国科学院声学研究所东海研究站 | 基于fpga的智能存储控制系统及其应用 |
-
2019
- 2019-01-04 CN CN201910007525.0A patent/CN109683829B/zh active Active
- 2019-05-13 WO PCT/CN2019/086531 patent/WO2020140361A1/zh active Application Filing
-
2020
- 2020-12-24 US US17/133,796 patent/US11379129B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116175A (zh) * | 2013-01-18 | 2013-05-22 | 东南大学 | 基于dsp和fpga的嵌入式导航信息处理器 |
CN103336751A (zh) * | 2013-07-10 | 2013-10-02 | 广西科技大学 | 寻址功能与存储单元一体化存储控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN109683829A (zh) | 2019-04-26 |
US20210117111A1 (en) | 2021-04-22 |
WO2020140361A1 (zh) | 2020-07-09 |
US11379129B2 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100661419B1 (ko) | 불휘발성 반도체 기억 장치 및 반도체 디스크 장치 | |
US20080215801A1 (en) | Portable Data Storage Using Slc and Mlc Flash Memory | |
US20200301606A1 (en) | Solid state drive latency estimation interface for host performance tuning | |
CN101568904A (zh) | 非易失性存储器的成扇形展开的高速系统体系结构和输入/输出电路 | |
CN109683829B (zh) | 基于fpga的智能存储控制系统及其应用 | |
JP5443998B2 (ja) | 不揮発性記憶装置、ホスト装置、不揮発性記憶システム、データ記録方法、およびプログラム | |
KR100958850B1 (ko) | 플래시 메모리의 작동을 모니터링하기 위한 디바이스 및방법 | |
JP5533963B2 (ja) | 構成可能な入出力ポートを伴うメモリモジュール | |
JPH0916735A (ja) | Pcカード | |
CN107491267B (zh) | 一种基于lvds接口的高速图像数据存储装置 | |
CN109471819A (zh) | 为来自主机的读取请求提供短的读取响应时间的存储设备 | |
CN117406932A (zh) | 数据处理方法、装置、服务器和存储介质 | |
TW202102975A (zh) | 主機輸出入命令的執行裝置及方法及電腦程式產品 | |
CN111931442A (zh) | Fpga内嵌flash控制器及电子装置 | |
CN111782154A (zh) | 数据搬移方法、装置及系统 | |
KR20150057397A (ko) | 데이터 저장 장치 | |
US9158676B2 (en) | Nonvolatile memory controller and a nonvolatile memory system | |
CN113778907A (zh) | 存储设备 | |
JP2007310680A (ja) | 不揮発性記憶装置およびそのデータ転送方法 | |
KR100761374B1 (ko) | 플래시 메모리 제어 방법 및 장치 | |
TWI688864B (zh) | 儲存設備及儲存方法 | |
CN102362263A (zh) | Ssd控制器与ssd控制器的操作方法 | |
KR100685324B1 (ko) | 듀얼포트 디램을 이용한 낸드 플래시 메모리의 임의 접근시스템 및 제어장치 | |
JP2007183757A (ja) | 記憶制御装置 | |
JP4790334B2 (ja) | 不揮発性記憶装置 |
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 |