CN117251117A - 一种基于串行总线轮询管理的星载固态存储系统 - Google Patents
一种基于串行总线轮询管理的星载固态存储系统 Download PDFInfo
- Publication number
- CN117251117A CN117251117A CN202311516033.7A CN202311516033A CN117251117A CN 117251117 A CN117251117 A CN 117251117A CN 202311516033 A CN202311516033 A CN 202311516033A CN 117251117 A CN117251117 A CN 117251117A
- Authority
- CN
- China
- Prior art keywords
- storage
- satellite
- borne
- management
- frame
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000007726 management method Methods 0.000 claims description 96
- 239000007787 solid Substances 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 claims 1
- 230000008054 signal transmission Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000005192 partition Methods 0.000 description 2
- FYYHWMGAXLPEAU-UHFFFAOYSA-N Magnesium Chemical compound [Mg] FYYHWMGAXLPEAU-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 229910052749 magnesium Inorganic materials 0.000 description 1
- 239000011777 magnesium Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于串行总线轮询管理的星载固态存储系统,包括星载存储管理单元、星载存储控制单元和NAND Flash阵列;两个单元之间采用串行总线轮询通信协议,通过一主多从,主从应答的形式实现卫星在轨存储任务的调度管理;星载存储管理单元,用于与星务计算机通信,建立存储阵列逻辑地址和物理地址的映射,存储地址管理,还用于通过信息帧实现存储任务串行化管理;星载存储控制单元,用于解析星载存储管理单元的串行指令,以串行总线方式反馈当前存储状态,控制NAND Flash阵列的底层驱动;NAND Flash阵列,用于在卫星观测时完成在轨数据的存储,在卫星入境后回放数据,并组成传输帧至地面站。
Description
技术领域
本发明属于星载大容量存储领域,尤其涉及一种基于串行总线轮询管理的星载固态存储系统。
背景技术
大容量固态存储器是卫星数据传输与存储分系统的重要组成部分。航天测控任务期间,载荷的产出以数据的形式在存储器内进行存储;同时,卫星各载荷的状态也以数据的形式进行存储。卫星入境后,将数据传输至地面站,进行解析恢复,生成相应的产品。
现有技术星载存储阵列管理系统采用并行总线中断模式,存在中断频繁、IO资源占用多、存储阵列扩展受限等问题。
随着卫星技术的发展,尤其是载荷技术的提升,带来星上数据爆炸式增长,星载存储系统在吞吐率、容量等性能方面都面临巨大挑战。
发明内容
针对现有星载存储阵列管理系统采用并行总线中断模式面临中断频繁、IO资源占用多、存储阵列扩展受限等问题,本发明的目的在于克服现有技术缺陷,提出了一种基于串行总线轮询管理的星载固态存储系统。
为了实现上述目的,本发明提出了一种基于串行总线轮询管理的星载固态存储系统,所述系统包括:星载存储管理单元、星载存储控制单元和NAND Flash阵列;其中,
所述星载存储管理单元和星载存储控制单元之间采用自定义的串行总线轮询通信协议,通过以星载存储管理单元为主机,以星载存储控制单元为从机的一主多从的架构,采用主从应答的形式实现卫星在轨存储任务的调度管理;
所述星载存储管理单元,用于与星务计算机的通信,用于建立存储阵列逻辑地址和物理地址之间的映射网络,用于进行存储地址管理,还用于通过自定义的信息帧实现存储任务串行化管理;
所述星载存储控制单元,用于解析星载存储管理单元的串行指令,以串行总线方式反馈当前存储状态,还用于控制NAND Flash阵列的底层驱动;
所述NAND Flash阵列,用于在卫星观测任务阶段完成在轨数据的存储,在卫星入境后回放数据,并组成传输帧下传至地面站。
优选的,所述星载存储管理单元以CPU为核心,在VxWorks操作系统下,通过CAN总线接收星务计算机的指令,在卫星观测任务阶段开启数据存储任务,在卫星入境阶段开启数据下传任务,并动态维护NAND Flash阵列的存储空间。
优选的,所述动态维护NAND Flash阵列的存储空间为:根据指令进行指定存储空间的擦除任务或启动自主擦除任务。
优选的,主机与从机的通信采用差分信号的传输方式。
优选的,所述自定义的信息帧包括命令帧、数据帧和应答帧;其中,
所述命令帧为定长帧,由星载存储管理单元向星载存储控制单元发送,包括数据通道使能指令、出入境指令、内部编码/译码的打开或关闭;存储信息的管理和查询;内部寄存器信息的管理和查询以及转发来自地面的指令;
所述数据帧为变长帧,根据内容包括初始化数据帧、地址管理数据帧、状态数据帧、坏块信息数据帧:
所述应答帧为定长帧,由星载存储控制单元根据接收到的命令帧和/或数据帧,向星载存储管理单元进行回复;回复内容包括指令正确、指令格式正确但累积和错误,以及指令格式解析错误的无效指令。
优选的,所述信息帧交互方式包括:
星载存储管理单元发起命令帧,星载存储控制单元回复应答帧;
星载存储管理单元发起命令帧,并跟随数据帧,星载存储控制单元回复应答帧;
星载存储管理单元发起命令帧,星载存储控制单元回复数据帧。
优选的,所述信息帧交互具有重传机制,当主机发出指令设定时长后未接收到从机的应答,或从机反馈指令接收出错,则主机自主重复发送一次指令;如果仍发生通信错误,则停止本次通信,将错误状态组织到工程参数中。
优选的,星载存储管理单元通过CAN总线向星务计算机反馈系统状态信息,包括指令计数、时间码信息、各单元模拟量信息和各单元通信状态。
优选的,所述星载存储控制单元以FPGA为核心。
优选的,所述NAND Flash阵列采用SLC型NAND Flash,1个存储单元内只存储1个数据位。
与现有技术相比,本发明的优势在于:
1、本发明采用串行总线的方式完成了操作系统对NAND Flash的地址映射、地址管理、坏块管理以及底层驱动的实现;
2、本发明采用通信总线设计,使IO数量大大减少,利于存储阵列的扩展;
3、本发明采用批地址管理策略,提高了CPU的运行性能;
4、本发明主从通信利用差分信号的传输方式增强了传输信号可靠性;
5、本发明用一主多从架构下的串行总线轮询通信模式,主节点与从节点之间以信息帧为最小传输单元;
6、信息帧由长度固定的命令帧、长度可变的数据帧和固定格式的应答帧组成,其中命令帧和数据帧都采用用户自定义模式,增强了协议的适用性。
附图说明
图1是本发明的存储管理单元和存储控制单元之间的通信方式示意图;
图2是本发明的存储控制单元底层驱动实现示意图;
图3是本发明的基于串行总线轮询管理的星载固态存储系统组成框图;
图4是命令帧示意;
图5是数据帧示意;
图6是应答帧示意;
图7是帧通信方式示意;
图8是本发明的系统工作流程示意图。
具体实施方式
本发明的目的是以串行总线轮询的方式实现星载大容量存储系统的任务管理。本发明基于航天任务中对星载存储器的需求,结合当前地面存储FTL(Flash TranslationLayer)和HAL(Hardware Abstraction Layer)技术的研究,兼顾VxWorks操作系统的平衡性与NAND Flash的操作特性,提出了一种基于串行总线轮询管理的星载固态存储系统。该系统采用串行总线的方式完成了操作系统对NAND Flash的地址映射、地址管理、坏块管理以及底层驱动的实现;同时串行通信总线设计,使IO数量大大减少,利于存储阵列的扩展;并且采用批地址管理策略,提高了CPU的运行性能;此外,主从通信利用差分信号的传输方式增强了传输信号可靠性。
一种基于串行总线轮询管理的星载固态存储系统,该系统包括:
星载存储管理单元,用于完成星载存储系统与星务计算机的通信,包括系统接收来自地面站的遥控指令、向地面站反馈温度、电压等遥测状态等以及在VxWorks操作系统下建立存储阵列逻辑地址和物理地址之间的映射网络,进行地址管理;
星载存储控制单元,用于建立管理单元与NAND Flash之间的连接,包括解析来自存储管理单元的串行指令,以串行总线方式反馈当前的存储状态,以及完成NAND Flash底层驱动的控制;
NAND Flash阵列,用于数据的物理存储介质,在观测任务阶段完成在轨数据的存储管理,在入境后将数据回放至地面站;
星载存储管理单元和星载存储控制单元之间采用自定义的串行总线轮询通信协议,用于系统内部存储管理单元和存储控制单元之间进行信息交互,采用主从应答的形式,通过串行总线,执行在轨存储任务;自定义的信息帧包括命令帧、数据帧和应答帧。
存储任务调度管理,用于系统以命令帧、数据帧和应答帧的方式实现存储任务串行化管理。
下面结合附图和实施例对本发明的技术方案进行详细的说明。
实施例
如图1所示,本发明的实施例提供了一种基于串行总线轮询管理的星载固态存储系统,所述系统中存储管理单元和存储控制单元之间以串行总线的方式进行通信。通信链路由RS422接收芯片和发送芯片构成1组具有半双工功能的收发器,内部为UART协议,波特率采用自定义1Mbps,误差小于2%。在该架构下,接收端和发送端各为一组差分信号相比于传统设计中的“地址+时钟+数据”的“三总线”方式,不仅IO数量大大减少,而且差分传输的方式降低了信号之间的共模干扰,提高了信号的稳定性。
图2所示,底层驱动是指通过存储控制单元建立NAND Flash操作的驱动控制体系。在镁光MT29F256G08型NAND Flash中存在等待、总线空闲、命令输入、地址输入等7种模式。存储控制单元,利用FPGA丰富的IO引脚、较小的时钟延迟和丰富的内部RAM资源,直接建立FPGA与底层芯片之间的逻辑关系,从而实现NAND Flash的数据写入、数据擦除和数据读取等底层操作,并具有以下特征:
(1)数据写入、数据擦除和数据读取以任务(Mission)为单位进行操作,以任务启动为起点,以任务完成为终点;
(2)任务启动后将自主加载命令字和地址,判断反馈状态,直至任务结束;
(3)任务以串行方式进行,即某一时间内只能执行其中一项任务,只有在该任务结束后才能响应其它任务;
(4)无论数据写入、擦除和读取执行成功还是失败都为合理结果,因此,均视为有效的任务终点,其中任务成功将返回等待状态,而失败将视为产生了坏块,进行坏块处理;
(5)任务之间具有优先级,其中写任务优先级最高,擦除任务次之,读任务优先级最低,从而保证待写入数据都能完成存储;
(6)底层驱动控制中,数据的写入和读取以页为单位,数据的擦除以块为单位。
如图3所示,基于串行总线轮询管理的星载固态存储系统由存储管理单元、存储控制单元和NAND Flash构成。存储管理单元和存储控制单元直接,采用主从应答的形式。存储管理单元以CPU为核心,主要完成两部分功能:一是与星务计算机进行通信,接收地面遥控指令同时向地面反馈遥测状态;二是在操作系统下建立存储阵列LPN和PPN之间的映射网络,同时作为存储阵列任务的发起端。存储控制单元以FPGA为核心,主要用来建立CPU与NAND Flash之间的连接,解析来自CPU的指令,反馈当前的存储状态,同时完成NAND Flash底层驱动控制。NAND Flash作为存储芯片,选用SLC型架构,完成数据的写入和读出。存储阵列的扩展方式如下:存储阵列硬件模块为SLC型NAND Flash构成的存储单元,并通过虚拟并行块、多级流水操作等方式提高存储单元的吞吐率和存储总容量。存储单元在物理架构上将32个器件分成2组,每组能够独立支持1个4级流水操作;同时,每组由4个存储子单元构成,每个存储子单元采用并行扩展的32位I/O总线(F_D0~31),具有4路片选(F_CE0~3),4路忙/就绪(F_RB0~3),4组读(F_RE0~3)、写(F_WE0~3)、地址加载(F_ALE0~3)、命令加载(F_CLE0~3)信号。因此,4个存储子单元并行扩展为128位IO总线,而8组存储子单元并行扩展为256位IO总线,大大提高了系统的吞吐率。
图4、图5、图6所示,存储控制单元和存储管理单元之间通过信息帧进行通信,信息帧由命令帧、数据帧和应答帧组成,其中,数据帧根据内容可分为初始化数据帧、地址管理数据帧、状态数据帧、坏块信息数据帧:
(1)命令帧:为固定长度的帧,由9个字节构成,由VxWorks操作系统作为主机,向作为从机的FPGA发送系统命令字,完成指令的交互。控制命令根据功能分为5种:数据输入通道的选择和打开/关闭;内部编码/译码的打开/关闭;存储信息的管理和查询;内部寄存器信息的管理和查询;转发来自地面的指令。
(2)数据帧:初始化数据帧,固定长度,由1028个字节构成,其中数据域1024B,其功能为了实现FTL中CPU的逻辑地址与Flash阵列中物理地址的动态管理,在上电之初以簇为单元,自动遍历Flash空余区前5个字,并完成汉明码解码后,建立Flash阵列的地址映射其每条信息由64bit组成,其中高32bit由块信息、块类型、通道号、尾簇地址和本流水级内使用块计数构成;低32bit为提取的时间码信息;地址管理数据帧,可变长度,数据域中的写地址和读地址以簇为最小单位发送,擦除地址以块为最小单位发送,发送以4级流水为1组,同时发送。数据帧为变长,4B整数倍,最大512B,每4B表示1个块地址(精确到簇地址),即数据域偏移地址0~127B为流水级0的32个块地址,128~255B为流水级1的32个块地址,256~383B为流水级2的32个块地址,384~511B为流水级3的32个块地址;状态数据帧,不定长帧,该部分为用户自定义区,由用户根据项目需求设置关键参数的数量及定义,并按照状态信息帧格式组成相应的信息帧,在接收到管理单元的指令后进行状态反馈;坏块信息数据帧,不定长帧,在NAND Flash完成数据的写入或者擦除操作后,控制单元通过检测NAND Flash反馈的bit0来确定是否出现坏块,如果出现坏块,则以不定长帧的形式向管理单元返回存储失败块信息,以便管理单元完成地址信息的更新,坏块数据帧共515B,其中数据域512B,每4B表示1个块地址(精确到簇地址),即0~3B为流水级x的1个块地址,4~7B为流水级x的1个块地址,8~11B为流水级x的1个块地址,12~15B为流水级x的1个块地址,若返回数据全部为x“FFFFFFFF”,表示指令接收错误。
(3)应答帧:长度固定,由4个字节组成,分别为,包头标识(2字节)、ID(1字节)和应答码(1字节)。其中,包头标识固定为0xEB90,ID为作为通信从机的载荷编号,每个载荷的ID唯一,用以实现与通信终端的匹配;应答码根据通信状态分为3种:0xF1,指令正确;0xF2,指令格式正确,但累积和错误;0xF4,指令格式解析错误,无效指令。
图7所示,作为主的星载存储管理单元和作为从的星载存储控制单元之间存在以下三种通信模式:星载存储管理单元发起命令帧,星载存储控制单元回复应答帧;星载存储管理单元发起命令帧,并跟随数据帧,星载存储控制单元回复应答帧;星载存储管理单元发起命令帧,星载存储控制单元回复数据帧。
图8所示,基于串行总线轮询管理的星载固态存储系统的核心是通过管理单元和控制单元协同作用,完成存储任务的调度管理和执行,实现高效的存储任务的调度管理策略。系统通过在轨卫星执行数据存储任务时,BAT表获取、确定首尾指针位置、存储指针更新和任务管理、回放指针更新和任务管理以及擦除指针更新和任务管理等8个方面简要对系统的运行进行说明。
(1)获取BAT表信息,建立地址映射:系统加电后,存储阵列管理CPU首先完成对内部寄存器的初始化设置并在内存中开辟BAT所需的存储空间,随后向存储阵列控制FPGA通过命令帧的形式发送初始化指令。存储阵列控制FPGA启动状态机,自主遍历NAND Flash存储块空余区5个字节,提取相关的块状态信息,组织块使用分配表,并将其写至内部RAM进行缓存。待BAT组织结束后,存储阵列管理CPU以数据帧的形式,将BAT信息读取至内存中,完成块状态的整理。
(2)确定首尾指针位置:将前一块的使用状态记为变量flag,初始赋值为0x5a(0xFF为已使用,0x00为未使用);指定分区,根据每块的块状态判断:若flag为未使用,且该块尾簇小于127,说明该块为当前存储指针位置,记录该块地址为存储块指针n_usStoreBlk,记录该块尾簇+1为存储簇指针n_ucStoreCls,置flag为未使用;若flag为已使用,说明是从已使用块变为未使用块,记录该块地址为存储块指针n_usStoreBlk,记录存储簇指针n_ucStoreCls为0;更新该块存储块计数为前一个已使用块计数+1;如果是无效块,将无效块计数+1。
(3)更新当前存储指针:记存储控制FPGA返回的当前存储块地址为n_usBlk,当前存储簇地址为n_ucCls;如果n_usBlk位于[SPtr.Blk, SPtr.NextBlk)之间,则更新当前存储指针SPtr;若n_ucCls小于128,则更新当前存储指针SPtr.Blk=n_usBlk,SPtr.Cls=n_ucCls;否则,从n_usBlk查找下一个未使用块n_usBlk,更新当前存储指针SPtr.Blk=n_usBlk,SPtr.Cls=0。
(4)数据存储控制管理:记当前存储块SPtr.Blk的存储块计数为n_usCurBlkCnt,当前存储末块SPtr.NextBlk的存储块计数为n_usEndBlkCnt;如果n_usCurBlkCnt与n_usEndBlkCnt的差小于等于4,说明当前剩余可用存储块数(每级流水)小于等于4,则调用fSsrSendStrBlks()单元查找新的超过32块未使用块(每级流水)发送给存储控制单元。
(5)更新回放指针:记存储控制FPGA返回的当前回放块地址为n_usBlk,当前回放簇地址为n_ucCls;如果n_usBlk位于[RPtr.Blk, RPtr.NextBlk]之间,则更新当前回放指针RPtr:若n_ucCls小于128,则更新当前回放指针RPtr.Blk=n_usBlk,RPtr.Cls=n_ucCls;否则,从n_usBlk查找下一个未使用块n_usBlk,更新当前回放指针RPtr.Blk=n_usBlk,RPtr.Cls=0。
(6)数据回放控制管理:记当前回放块RPtr.Blk的存储块计数为n_usCurBlkCnt,当前回放末块RPtr.NextBlk的存储块计数为n_usEndBlkCnt;如果n_usCurBlkCnt与n_usEndBlkCnt的差小于等于4,说明当前剩余可用回放块数(每级流水)小于等于4,则调用fSsrSendRepBlks()单元查找新的回放块发送给存储控制FPGA。
(7)更新擦除指针:记存储控制FPGA返回的当前擦除块地址为n_usBlk;如果n_usBlk位于[EPtr.Blk, EPtr.NextBlk)之间,则更新当前擦除指针EPtr:如果EPtr.Blk!=EPtr.NextBlk,则从n_usBlk查找下一个已使用块n_usBlk,更新当前擦除指针EPtr.Blk=n_usBlk,并更新[EPtr.PrevBlk, EPtr.Blk)之间的块状态为未使用块。
(8)数据擦除控制管理:如果是指令擦除状态,依次判断并全擦除工程参数区和载荷数据区;指令擦除结束后,向存储控制单元发送存储软复位命令,设置存储管理任务进入存储初始化状态,重新进行BAT表映射;如果是自主擦除状态,检查分区任一级流水剩余可用存储块数;若任一级流水剩余可用存储块数小于等于64,则调用fSsrSendEraBlks()单元查找新的擦除块发送给存储控制FPGA。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于串行总线轮询管理的星载固态存储系统,其特征在于,所述系统包括:星载存储管理单元、星载存储控制单元和NAND Flash阵列;其中,
所述星载存储管理单元和星载存储控制单元之间采用自定义的串行总线轮询通信协议,通过以星载存储管理单元为主机,以星载存储控制单元为从机的一主多从的架构,采用主从应答的形式实现卫星在轨存储任务的调度管理;
所述星载存储管理单元,用于与星务计算机的通信,用于建立存储阵列逻辑地址和物理地址之间的映射网络,用于进行存储地址管理,还用于通过自定义的信息帧实现存储任务串行化管理;
所述星载存储控制单元,用于解析星载存储管理单元的串行指令,以串行总线方式反馈当前存储状态,还用于控制NAND Flash阵列的底层驱动;
所述NAND Flash阵列,用于在卫星观测任务阶段完成在轨数据的存储,在卫星入境后回放数据,并组成传输帧下传至地面站。
2.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述星载存储管理单元以CPU为核心,在VxWorks操作系统下,通过CAN总线接收星务计算机的指令,在卫星观测任务阶段开启数据存储任务,在卫星入境阶段开启数据下传任务,并动态维护NAND Flash阵列的存储空间。
3.根据权利要求2所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述动态维护NAND Flash阵列的存储空间为:根据指令进行指定存储空间的擦除任务或启动自主擦除任务。
4.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,主机与从机的通信采用差分信号的传输方式。
5.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述自定义的信息帧包括命令帧、数据帧和应答帧;其中,
所述命令帧为定长帧,由星载存储管理单元向星载存储控制单元发送,包括数据通道使能指令、出入境指令、内部编码/译码的打开或关闭;存储信息的管理和查询;内部寄存器信息的管理和查询以及转发来自地面的指令;
所述数据帧为变长帧,根据内容包括初始化数据帧、地址管理数据帧、状态数据帧和坏块信息数据帧:
所述应答帧为定长帧,由星载存储控制单元根据接收到的命令帧和/或数据帧,向星载存储管理单元进行回复;回复内容包括指令正确、指令格式正确但累积和错误,以及指令格式解析错误的无效指令。
6.根据权利要求5所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述信息帧的交互方式包括:
星载存储管理单元发起命令帧,星载存储控制单元回复应答帧;
星载存储管理单元发起命令帧,并跟随数据帧,星载存储控制单元回复应答帧;
星载存储管理单元发起命令帧,星载存储控制单元回复数据帧。
7.根据权利要求6所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述信息帧的交互具有重传机制,当主机发出指令设定时长后未接收到从机的应答,或从机反馈指令接收出错,则主机自主重复发送一次指令;如果仍发生通信错误,则停止本次通信,将错误状态组织到工程参数中。
8.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,星载存储管理单元通过CAN总线向星务计算机反馈系统状态信息,包括指令计数、时间码信息、各单元模拟量信息和各单元通信状态。
9.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述星载存储控制单元以FPGA为核心。
10.根据权利要求1所述的基于串行总线轮询管理的星载固态存储系统,其特征在于,所述NAND Flash阵列采用SLC型NAND Flash,1个存储单元内只存储1个数据位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311516033.7A CN117251117B (zh) | 2023-11-15 | 2023-11-15 | 一种基于串行总线轮询管理的星载固态存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311516033.7A CN117251117B (zh) | 2023-11-15 | 2023-11-15 | 一种基于串行总线轮询管理的星载固态存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117251117A true CN117251117A (zh) | 2023-12-19 |
CN117251117B CN117251117B (zh) | 2024-01-26 |
Family
ID=89131646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311516033.7A Active CN117251117B (zh) | 2023-11-15 | 2023-11-15 | 一种基于串行总线轮询管理的星载固态存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251117B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274952A1 (en) * | 2009-04-22 | 2010-10-28 | Samsung Electronics Co., Ltd. | Controller, data storage device and data storage system having the controller, and data processing method |
CN105549901A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技集团公司第十研究所 | 星载综合化海量数据存储与回放设备 |
CN108153487A (zh) * | 2017-11-30 | 2018-06-12 | 西安空间无线电技术研究所 | 一种基于nand flash的星载固存多源数据文件系统 |
CN112000595A (zh) * | 2020-07-06 | 2020-11-27 | 西安电子科技大学 | 一种阵列通道控制系统、方法、控制器、存储介质及应用 |
-
2023
- 2023-11-15 CN CN202311516033.7A patent/CN117251117B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100274952A1 (en) * | 2009-04-22 | 2010-10-28 | Samsung Electronics Co., Ltd. | Controller, data storage device and data storage system having the controller, and data processing method |
CN105549901A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技集团公司第十研究所 | 星载综合化海量数据存储与回放设备 |
CN108153487A (zh) * | 2017-11-30 | 2018-06-12 | 西安空间无线电技术研究所 | 一种基于nand flash的星载固存多源数据文件系统 |
CN112000595A (zh) * | 2020-07-06 | 2020-11-27 | 西安电子科技大学 | 一种阵列通道控制系统、方法、控制器、存储介质及应用 |
Non-Patent Citations (3)
Title |
---|
乔亚飞;李华旺;常亮;李杰;: "基于FPGA的星载NANDFLASH控制器的设计", 电子设计工程, no. 14 * |
徐楠;李朝阳;王兆琦;韩笑冬;安卫钰;王晓宇;冯彦君;: "高轨卫星星载计算机优化设计与实现", 中国空间科学技术, no. 01 * |
杨海峰;柴霖;胡建平;: "基于Nand Flash的星载综合数据固态记录系统", 电讯技术, no. 06 * |
Also Published As
Publication number | Publication date |
---|---|
CN117251117B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806986B (zh) | 提高网络芯片报文存储效率的方法、设备及存储介质 | |
US7890732B2 (en) | Memory card and semiconductor device | |
US5603001A (en) | Semiconductor disk system having a plurality of flash memories | |
US6477632B1 (en) | Storage device and accessing method | |
US7069373B2 (en) | USB endpoint controller flexible memory management | |
CN111125049B (zh) | 基于rdma与非易失内存的分布式文件数据块读写方法及系统 | |
CN110334040B (zh) | 一种星载固态存储系统 | |
CN115687228B (zh) | 一种基于PCIe总线的星载固态存储系统及方法 | |
US20040049628A1 (en) | Multi-tasking non-volatile memory subsystem | |
CN110750356B (zh) | 适用于非易失性内存的多核交互方法、系统及存储介质 | |
US20010007565A1 (en) | Packet receiving method on a network with parallel and multiplexing capability | |
JPH05205005A (ja) | ロジック・シミュレーション・マシン用ホスト・インタフェース | |
CN115357540A (zh) | 存储系统及其计算存储处理器、固体硬盘和数据读写方法 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN117251117B (zh) | 一种基于串行总线轮询管理的星载固态存储系统 | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
CN116486868A (zh) | 计算高速链路(CXL)上的高速非易失性存储器(NVMe) | |
US7127564B2 (en) | Double buffered flash programming | |
CN117312201B (zh) | 一种数据传输方法、装置及加速器设备、主机和存储介质 | |
US6847990B2 (en) | Data transfer unit with support for multiple coherency granules | |
JP2007310760A (ja) | 記憶装置 | |
CN111162794B (zh) | 译码数据缓存方法和译码器 | |
CN117389936B (zh) | 处理器数据读取方法及处理器数据读取系统 | |
CN116301636B (zh) | 一种管理数据结构的方法以及基于哈希算法的硬件加速器 | |
CN113220238B (zh) | 一种通用sas控制器接口实现方法 |
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 |