CN106649142A - 一种具有断电续存功能的高速存储器 - Google Patents

一种具有断电续存功能的高速存储器 Download PDF

Info

Publication number
CN106649142A
CN106649142A CN201611102026.2A CN201611102026A CN106649142A CN 106649142 A CN106649142 A CN 106649142A CN 201611102026 A CN201611102026 A CN 201611102026A CN 106649142 A CN106649142 A CN 106649142A
Authority
CN
China
Prior art keywords
data
flash
write
nand flash
module
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
Application number
CN201611102026.2A
Other languages
English (en)
Other versions
CN106649142B (zh
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.)
China Academy of Launch Vehicle Technology CALT
Beijing Aerospace Changzheng Aircraft Institute
Original Assignee
China Academy of Launch Vehicle Technology CALT
Beijing Aerospace Changzheng Aircraft Institute
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 China Academy of Launch Vehicle Technology CALT, Beijing Aerospace Changzheng Aircraft Institute filed Critical China Academy of Launch Vehicle Technology CALT
Priority to CN201611102026.2A priority Critical patent/CN106649142B/zh
Publication of CN106649142A publication Critical patent/CN106649142A/zh
Application granted granted Critical
Publication of CN106649142B publication Critical patent/CN106649142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种具有断电续存功能的高速存储器,包括三块存储板,其中两块存储板互为备份,用于存储采编器组帧后的数据和接口控制器转发的地面测试***控制指令;第三块存储板用于存储接口控制器转发的外***备份数据和地面测试***控制指令。本发明存储器通过FPGA单元对NAND Flash芯片两个CE同时进行双面读写操作,相对于传统的单CE单面操作,提高了存储器的读写速率。同时在上电复位完成后,存储器能够对上次写到的块地址进行检测和保存,实现了断电续存功能,能够从已有数据后面续存,在地面测试及飞行器飞行过程中,支持多次加断电操作,提高了***可靠性,满足***特殊使用要求。

Description

一种具有断电续存功能的高速存储器
技术领域
本发明涉及一种具有断电续存功能的高速存储器,属于高速飞行器的回收遥测领域。
背景技术
遥测***主要完成飞行器在飞行过程中各种力学、热学以及其他环境参数和其他数据的测量、存储以及事后数据处理工作。回收遥测是高速飞行器的主要遥测方式之一,存储器及数据处理技术是回收遥测的核心设备和技术。
飞行器上遥测***一般由采编器、接口控制器和存储器等设备组成。采编器用于对模拟量信号进行采集、编码、组帧,并通过LVDS接口发送组帧后的数据给存储器。接口控制器用于接收外***备份数据和地面测试***指令并转发给存储器,从存储器下载数据并转发给地面测试***。
存储器一般采用Flash芯片作为核心存储芯片。存储器进行存储操作时,一般采用单CE单面操作,存储速率较低,已无法满足目前遥测***对高速数据存储的需求。并且传统遥测***中的存储器进行存储时,一般采用指令控制存储器开始记录,断电重新加电后,不能自动开始记录。并且每次从首地址开始记录,不能从已有数据后面续存。
发明内容
本发明的目的在于克服现有技术的上述缺陷,提供一种具有断电续存功能的高速存储器,采用双面读写操作,具有断电续存功能,提高了存储器的读写速率以及***可靠性。
本发明的上述目的主要是通过如下技术方案予以实现的:一种具有断电续存功能的高速存储器,包括三块存储板,其中两块存储板互为备份,用于存储采编器组帧后的数据和接口控制器转发的地面测试***控制指令;第三块存储板用于存储接口控制器转发的外***备份数据和地面测试***控制指令;
三块存储板组成相同,均包括两块NAND Flash芯片、FPGA单元、RS422接口芯片、LVDS接收器、LVDS发送器以及电源模块;
互为备份的两块存储板上的LVDS接收器用于接收采编器组帧后的数据,并输出给FPGA单元;第三块存储板上的LVDS接收器用于接收接口控制器转发的外***备份数据,并输出给FPGA单元;
RS422接口芯片用于接收接口控制器转发的地面测试***控制指令,并输出给FPGA单元;
FPGA单元接收来自LVDS接收器的数据,如果在预先设计的延时时间段内未接收到地面测试***控制指令,则将接收的数据同时写入两块NAND Flash芯片中,否则根据地面测试***控制指令对两块NAND Flash芯片进行擦除或下载操作,将下载的数据通过LVDS发送器输出给地面测试***,所述地面测试***控制指令包括擦除、下载、停止下载;
电源模块为存储板上的各个器件供电。
所述每块存储板上还包括金手指,用于将两块NAND Flash芯片的管脚引出,在存储板上电源模块、FPGA单元或LVDS发送器失效时,能够通过金手指从外部对NAND Flash芯片进行写入、擦除或下载操作。
所述FPGA单元包括时钟产生模块、复位信号产生模块、顶层控制模块、数据接收缓存模块、指令接收模块、Flash控制模块以及数据输出控制模块;
时钟产生模块:用于产生全局和各个模块运行所需时钟信号,能够根据外部输入的时钟选择信号选择本地晶振或外部时钟;
复位信号产生模块:产生全局复位信号,在时钟产生模块产生的时钟信号有效时,将全局复位信号置为低电平,用于将除自身和时钟产生模块以外的其他模块复位,保持一段时间后将全局复位信号置为高电平;
顶层控制模块:当全局复位信号为高电平后,产生配置使能信号对除自身以及时钟产生模块、复位信号产生模块以外的其他模块进行配置,配置完成后,顶层控制模块控制FPGA单元进入运行状态;
数据接收缓存模块:配置完成后,接收来自LVDS接收器的数据,并将接收的数据分别缓存在两个独立的FIFO中;
指令接收模块:用于接收并解析来自RS422接口芯片的控制指令,输出给Flash控制模块;
Flash控制模块:上电时对NAND Flash芯片进行复位、配置和上电检测;如果在预先设计的延时时间段内未接收到接收控制模块输出的控制指令,则将两个独立FIFO中的数据写入到对应的NAND Flash芯片中,如果接收到,则根据接收的控制指令完成对应NANDFlash芯片的擦除或下载操作;将下载的数据发送给数据输出控制模块;
数据输出控制模块:对Flash控制模块发送的数据进行乒乓缓存操作,经过编码后通过LVDS发送器输出给地面。
所述Flash控制模块包括Flash复位子模块、Flash配置子模块、Flash上电检测子模块、Flash擦除子模块、Flash写子模块和Flash读子模块;
Flash复位子模块:上电复位后,完成两块NAND Flash芯片的复位操作,使其能够正常工作;
Flash配置子模块:复位完成后,配置NAND Flash芯片的工作模式;
Flash上电检测子模块:配置完成后,对NAND Flash芯片的坏块和上次写到的块地址进行检测,将坏块地址写入到坏块表中,将上次写到的块地址写入寄存器中;
Flash擦除子模块:在对NAND Flash芯片进行写入之前,如果接收到指令接收模块输出的擦除指令,则同时对两块NAND Flash芯片坏块以外的位置进行擦除操作,若好块擦除不成功,则需要将其标记为坏块并写入到坏块表中;
Flash写子模块:从寄存器中读取上次写到的块地址,采用双面操作,将两个独立FIFO中缓存的数据对应写入到两块NAND Flash芯片上次写到块地址之后的好块中;
Flash读子模块:采用双面操作,根据指令接收模块输出的控制指令选择一块NANDFlash芯片,从其中的好块中读取数据,发送给数据输出控制模块。
所述采用双面操作向一块NAND Flash芯片进行写操作的实现方法为:
(5.1)从FIFO的缓存数据中依次读取四组数据,每组数据为8KB;
(5.2)将第一组数据写入到NAND Flash芯片第一个CE的第一面,将第二组数据写入到第一个CE的第二面,将第三组数据写入到第二个CE的第一面,将第四组数据写入到第二个CE的第二面,且四组数据同时写入,写入的地址均为上次写到块地址之后N个块地址处,N=2,3或4;
(5.3)每组数据写入完成后,在该组数据写入块对应的空闲区做出写入标记;
(5.4)重复执行上述过程,将FIFO中缓存的数据写入到NAND Flash芯片中。
所述采用双面操作对一块NAND Flash芯片进行读操作的实现方法为:
(6.1)依次从第一个CE的第一面、第一个CE的第二面、第二个CE的第一面、第二个CE的第二面读取一组数据,每组数据为8KB;
(6.2)重复步骤(6.1),完成NAND Flash芯片中数据的读取;
(6.3)将读取的数据按照读出顺序整合成数据流并输出。
所述Flash上电检测模块对NAND Flash芯片上次写到的块地址进行检测的实现方法为:
Flash上电检测模块读取NAND Flash芯片空闲区的标记,四个CE面中最后一个写入标记对应的写入块地址即为NAND Flash芯片上次写到的块地址。
地面接收到存储器的数据后,进行如下操作:
(8.1)地面对接收数据进行检测,在检测到L个“FF”时,则认为是两次不同加电的数据,将不同次加电的数据分别保存为不同的数据文件,用于不同次加电测试的数据处理和判读;其中L<=4*NM;
(8.2)在每次加电测试的时间历程内,计算每个遥测参数的最大值、最小值和平均值;
(8.3)根据每个遥测参数预先设置的最大值、最小值和平均值判据进行判读,当计算得到的最大值、最小值和平均值均满足该遥测参数最大值、最小值和平均值判据时,该遥测参数判读合理。
本发明与现有技术相比具有如下有益效果:
(1)、本发明存储器通过FPGA单元对NAND Flash芯片两个CE同时进行双面读写操作,相对于传统的单CE单面操作,提高了存储器的读写速率。
(2)、本发明Flash上电检测模块在上电复位完成后,能够对上次写到的块地址进行检测和保存,实现了断电续存功能,能够从已有数据后面续存,在地面测试及飞行器飞行过程中,支持多次加断电操作,提高了***可靠性,满足***特殊使用要求。
(3)、本发明在存储器存储的帧格式中记录软件版本号,实现了软件版本的在线监测和管理设计,在设计、调试以及测试过程中能够实时监测或者事后判读烧写到设备中的软件版本号,避免了软件版本烧写错误,提高了设计可靠性。
(4)、地面接收到存储器的数据后,能够自动将接收到的数据根据不同次加电情况分割成多个文件,便于对每次加电测试数据进行判读和分析。同时对每次接收到的遥测参数统计最大值、最小值和平均值,根据判据进行自动判读,提高了数据判读的效率和智能化程度。
附图说明
图1为本发明存储器组成简图;
图2为本发明存储器内部具体实现框图;
图3为FPGA单元组成框图;
图4为Flash双面写操作时序图;
图5为Flash双面读操作时序图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的描述:
如图1所示,本发明提出一种具有断电续存功能的高速存储器,包括存储板C1、存储板C2和存储板C3,其中存储板C1和存储板C2互为备份,用于存储采编器组帧后的数据和接口控制器转发的地面测试***控制指令。存储板C3用于存储接口控制器转发的外***备份数据和地面测试***控制指令。
存储板C1、存储板C2和存储板C3组成相同,如图2所示,均包括两块NAND Flash芯片、FPGA单元、RS422接口芯片、金手指、LVDS接收器、LVDS发送器以及电源模块。
互为备份的C1和C2上的LVDS接收器用于接收采编器组帧后的数据,并输出给FPGA单元,第三块存储板上的LVDS接收器用于接收接口控制器转发的外***备份数据,并输出给FPGA单元。
存储器中存储的采编器组帧后的数据帧格式由128个字节组成,其中包括108个字节的遥测参数和9个字节的存储板状态字。
存储板C1的状态字为Sta13、Sta12和Sta11,存储板C2的状态字为Sta23、Sta22和Sta21,存储板C3的状态字为Sta33、Sta32和Sta31。其中Sta13、Sta23、Sta33为“CC”时代表存储板C1、存储板C2、存储板C3工作正常,否则,代表工作异常。状态字的后两个字节“XXXX”在空闲时为“00”+存储板版本号,存储板版本号为一个字节;在擦除过程中为“1XXX”(XXX为正在擦除的块地址),擦除完毕变为“1000”;记录过程中为“8XXX”(XXX为正在记录的块地址)。
同时帧格式中还包括存储器接收到的地面测试***发送的指令CMD,指令主要包括擦除指令、P1下载指令、P2下载指令和停止下载指令。每个存储板中两块NAND Flash芯片记为P1和P2。
帧格式中还包括采编器和接口控制器的软件版本号。在设备软件调试过程中,会产生多个软件版本号,为便于软件版本号在线监测和管理,在采编帧格式中增加软件版本号,***测试时,可以实时监测,也可以事后判读烧写到设备中的软件版本号,避免了软件版本烧写错误。
在帧格式中还编排有帧同步码,如采用EB90146F作为帧同步码,实现一个完整帧的帧同步,用于事后数据判读和处理。
存储器的数据和状态字复用一个数据通道,传输速率为240Mbps。上电复位后即传送状态字,只在收到下载指令后才下传存储器数据,其他时间均传送状态字。
存储器中存储的外***备份数据帧格式由136字节组成。其中前两个字节为帧头,第3~6字节为帧计数,从0开始计数,计满后重新从0开始。第7~134字节为外***有效数据。最后两个字节为帧尾。
RS422接口芯片用于接收接口控制器转发的地面测试***控制指令,并输出给FPGA单元。一个字节的帧头和一个字节的指令构成一个指令字,指令字重复三遍组成一个控制指令帧。
FPGA单元接收来自LVDS接收器的数据,如果在预先设计的延时时间段内未接收到地面测试***控制指令,则将接收的数据同时写入两块NAND Flash芯片中,否则根据地面测试***控制指令对两块NAND Flash芯片进行擦除或下载操作,将下载的数据通过LVDS发送器向外输出。地面测试***控制指令包括擦除、下载、停止下载。
存储板C1和存储板C2互为备份。存储板中两块NAND Flash芯片P1、P2也互为备份。
电源模块为存储板上的各个器件供电。
金手指用于将两块NAND Flash芯片的管脚引出,在存储板上电源模块、FPGA单元或LVDS发送器或其他相关器件失效时,能够从外部对NAND Flash芯片进行写入、擦除或下载操作。
如图3所示,FPGA单元包括时钟产生模块、复位信号产生模块、顶层控制模块、数据接收缓存模块、指令接收模块、Flash控制模块以及数据输出控制模块。
时钟产生模块用于产生全局和各个模块运行所需时钟信号,能够根据外部输入的时钟选择信号选择本地晶振或外部时钟。
复位信号产生模块产生全局复位信号,在时钟产生模块产生的时钟信号有效时,将全局复位信号置为低电平,用于将除时钟产生模块以外的其他模块复位,保持一段时间后将全局复位信号置为高电平。
当全局复位信号为高电平后,顶层控制模块产生配置使能信号对除时钟产生模块、复位信号产生模块以外的其他模块进行配置,配置完成后,顶层控制模块控制FPGA单元进入运行状态,开始进行指令和数据的接收,并执行相应的操作。
数据接收缓存模块在配置完成后,接收来自LVDS接收器的数据,并将接收的数据分别缓存在两个独立的FIFO中。
指令接收模块用于接收并解析来自RS422接口芯片的控制指令,输出给Flash控制模块。接收的指令有“擦除”、“下载”和“停止下载”,分别完成存储器芯片擦除、下载相应存储模块数据和停止下载存储器数据的功能。需对指令进行判决,判决有效才开始执行相应动作,指令判决方式采用三判二方式进行。
指令接收模块主要由串行数据接收模块、同步处理模块、三判二模块以及命令解析模块组成,根据相应的指令解析出相应的使能信号。串行数据接收模块用于接收指令,并输出给同步处理模块;同步处理模块用于将接收到的指令进行同步处理,处理后输出给三判二模块;三判二模块用于对接收到的指令进行三判二处理;命令解析模块用于将三判二处理后的指令进行解析,得到相应的使能信号。
Flash控制模块上电时对两块NAND Flash芯片进行复位、配置和上电检测;如果在预先设计的延时时间段内未接收到接收控制模块输出的控制指令,则将两个独立FIFO中的数据对应写入到两块NAND Flash芯片中,如果接收到,则根据接收的控制指令完成两块NAND Flash芯片的擦除或下载操作;将下载的数据发送给数据输出控制模块。
数据输出控制模块对Flash控制模块发送的数据进行乒乓缓存操作,经过编码后通过LVDS发送器向外输出。
Flash控制模块包括Flash复位子模块、Flash配置子模块、Flash上电检测子模块、Flash擦除子模块、Flash写子模块和Flash读子模块。各模块具体说明如下:
Flash复位模块:上电复位后,完成两块NAND Flash芯片的复位操作,使其能够正常工作。Flash配置模块:复位完成后,配置NAND Flash芯片的工作模式。
Flash上电检测模块:配置完成后,对NAND Flash芯片的坏块和上次写到的块地址进行检测,将坏块地址写入到坏块表中,将上次写到的块地址写入寄存器中。
存储器上电后延时一段时间如30s后自动进入记录状态,开始记录时,从寄存器中读出上次写到的块地址,为了可靠性以及事后数据处理方便,从上次写到的块地址的后N个块地址处,即上次写到的块地址+N块处开始记录。从而实现了断电续存功能。同时两次加电的数据之间存在4*NM(4*N兆)个“FF”。为了防止以往的数据被覆盖,存储器记录满后,不再记录。
Flash擦除模块:在对NAND Flash芯片进行写入之前,根据指令接收模块输出的擦除指令进行擦除,擦除时,首先需要根据上电检测模块建立的坏块RAM表进行判断,坏块不进行擦除操作;若好块擦除不成功,则需要将其标记为坏块并写入到坏块表中。
Flash写模块:采用双面操作,将两个独立FIFO中的数据对应写入到两块NANDFlash芯片中。
Flash上电后30s内无擦除、下载和停止下载指令来,则Flash进入记录状态。写入前,对上次写到的位置和当前写入的块是否为好块进行检查,好块才进行双面写入操作。对好块的写入操作具体如下:
(1)从FIFO的缓存数据中依次读取四组数据,每组数据为8KB;
(2)将第一组数据写入到NAND Flash芯片第一个CE的第一面,将第二组数据写入到第一个CE的第二面,将第三组数据写入到第二个CE的第一面,将第四组数据写入到第二个CE的第二面,且四组数据同时写入,写入的地址均为上次写到块地址之后N个块地址处,且保证该写入地址对应的块为好块,N为2,3或4;
(3)每组数据写入完成后,在该组数据写入块对应的空闲区做出写入标记;
(4)重复执行上述过程,将FIFO中缓存的数据写入到NAND Flash芯片中。
四个CE面中最后一个写入标记对应的写入块地址即为NAND Flash芯片上次写到的块地址。
Flash读模块:采用双面操作,根据指令接收模块输出的控制指令选择一块NANDFlash芯片,从其中的好块中读取数据,发送给数据输出控制模块。
由于对Flash进行编程操作时采用了双面操作,读Flash时也必须采用双面读操作。首先根据上电检测模块中建立的坏块表,对当前读的块进行判断,好块才进行读操作。其中好块是指两个CE的两个面对应块均为好块。
对好块进行读操作的步骤如下:
(1)依次从第一个CE的第一面、第一个CE的第二面、第二个CE的第一面、第二个CE的第二面读取一组数据,每组数据为8KB;
(2)重复步骤(1),完成NAND Flash芯片中数据的读取;
(3)将读取的数据按照读出顺序整合成数据流并输出。
事实上,本发明C3中的两块NAND Flash芯片P1、P2也可以顺序记录,即先存P1,P1存满后存P2。这样可以将存储板C3的存储容量扩展为原来的2倍。
进一步地,本发明中存储器可以将记录的块地址实时发送给地面测控软件,可以实时监测存储器读写的块地址,测试结束后,地面测控软件可以自动计算出存储器中存储的数据量,方便数据下载。
目前遥测***测量的参数越来越多,普遍具有上百甚至几百路遥测参数。传统遥测***在数据处理和判读时一般采用人工判读的方法,此种判读方法效率不高,判读时间长,而且容易出现误判。人工判读时只对数据丢帧情况进行检测,或者对测量参数做曲线进行判读。第一种方法无法对所有的遥测参数进行全面判读;第二种方法在进行大数据量判读时,做曲线较慢,效率较低。
本发明中,地面接收到存储器的数据后,能够自动将接收到的数据根据不同次加电情况分割成多个文件,同时对每次接收到的遥测参数进行自动判读。
分割文件的方法如下:
根据不同次加电的数据之间会有4*NM个“FF”,在检测到连续L个“FF”时(L≤4*NM),则认为是两次不同加电的数据,将不同次加电的数据分别保存为不同的数据文件,用于不同次加电测试的数据处理和判读。
针对每次加电测试的数据进行自动判读的方法如下:
(1)在每次加电测试的时间历程内,计算每个遥测参数的最大值、最小值和平均值;
(2)根据每个遥测参数预先设置的最大值、最小值和平均值判据进行判读,当计算得到的最大值、最小值和平均值均满足该遥测参数最大值、最小值和平均值判据时,该遥测参数判读合理。
实施例:
1、存储器组成
存储器中FPGA单元采用XILINX公司的FPGA芯片XC3S500E-4CP132I,NAND Flash芯片采用Micron公司MT29F128G08AJAAAWP,每块芯片容量为16GB。
存储器采用相同三块存储板,其中存储板C1和存储器C2与采编器连接,都用来存储采编器数据和地面测试***控制指令,且C1和C2互为备份,C1、C2中的两片Flash数据也互为备份。存储板C3用来存储外***备份数据和地面测试***控制指令。
每块存储板均包括两块NAND Flash芯片、FPGA单元、RS422接口芯片、LVDS接收器、LVDS发送器、金手指以及电源模块。
2、FPGA单元设计
FPGA单元包括时钟产生模块、复位信号产生模块、顶层控制模块、数据接收缓存模块、指令接收模块、Flash控制模块以及数据输出控制模块。时钟产生模块采用ISE提供的IP核产生时钟,利用40MHz的输入时钟产生80MHz、40MHz和20MHz的运行时钟:clk80M、clk40M和clk20M。由于输入时钟有两个:本地晶振和外部时钟,因此设计两个DCM,通过clksel信号进行选择。
复位信号产生模块在时钟产生模块产生的时钟信号有效时,将全局复位信号置为低电平,利用计数器保持大于200ms后置为高电平。
当全局复位信号为高电平后,顶层控制模块产生配置使能信号对除时钟产生模块、复位信号产生模块以外的其他模块进行配置,配置完成后,顶层控制模块控制FPGA单元进入运行状态,开始进行指令和数据的接收,并执行相应的操作。
数据接收缓存模块接收来自LVDS接收器SN65lv1224B的数据,LVDS接收器和数据接收缓存模块进行交互的时钟频率为20MHz,LVDS接收器输出十位数据,因此定义数据位的高二位为“11”时为有效数据。
由于每个存储板中有两个互为备份的Flash芯片,因此设计时需要两个独立的FIFO,将接收的数据分别缓存在两个独立的FIFO中。
指令接收模块用于接收RS422接口芯片的控制指令,解析后输出给Flash控制模块。指令传输速率为115200bps;数据格式为1位起始位,8位数据位,1位奇偶校验位和1位停止位,数据的传输顺序为低位在前高位在后。每次地面测试***发送一帧控制指令,每帧控制指令共六个字节,一个字节的帧头0XB8和一个字节的CMD组成一个完整的指令字,指令字间隔为100us,重复的三个指令组成了一帧指令,指令帧间隔为2ms。
Flash控制模块上电时对两块NAND Flash芯片进行复位、配置和上电检测。然后等待30s,只在30s内响应“下载”、“擦除”指令。工作模式如下:
1)30s之内如果接收到下载指令,则下载NAND Flash芯片数据,在下载数据过程中,如果接收到停止下载指令,则停止下载,Flash控制模块进入空闲状态,可继续接收下载或擦除指令。数据下载完成之后,Flash控制模块也进入空闲状态,可接收下载或擦除指令。
2)在30s内如果接收到擦除指令,则擦除NAND Flash芯片数据,同时将当前写地址复位为NAND Flash芯片首地址。
3)在30s之内如果没有接收到任何指令,30s后则自动进入写入状态,向NANDFlash芯片当前存储的写入地址后面顺序写入数据,能够存储并实时更新当前写入地址,当前写入地址在存储器断电后不消失,下次上电后能够从当前写入的地址之后继续进行写入。进入写入状态后,不再接收任何指令。NAND Flash芯片记满后,则不再写入。
存储器的两块NAND Flash芯片同步进行写入,互为备份。
数据输出控制模块对Flash控制模块发送的数据进行乒乓缓存操作,然后再将数据经过8B10B编码通过LVDS发送器发送出去。
3、Flash控制模块设计
Flash控制模块包括Flash复位子模块、Flash配置子模块、Flash上电检测子模块、Flash擦除子模块、Flash写子模块和Flash读子模块。
1)Flash复位模块
该模块主要完成对Flash芯片的复位操作,使其能够正常工作。
2)Flash配置模块
该模块主要功能是在复位完成后对Flash芯片的工作模式进行设定,默认为Timemode0,设计时将其设置为Timemode4。
3)Flash上电检测模块
配置完成后,对NAND Flash芯片的坏块和上次写到的块地址进行检测,将坏块地址写入到坏块表中,将上次写到的块地址写入寄存器中。
Flash芯片在出厂时允许有一定的坏块量,所以在进行擦除、读、写操作之前需要将flash坏块检测出来。flash的坏块标记位置在每个块第一页的第8192位置,标记为0x00。为了提高flash的写入速度,设计时采用双面操作,两个片选信号(CE)乒乓操作。为了保证块地址整体移动,设计时将两个CE的双面地址共4个块地址一起进行判断,若4个块中有一个坏块,则同时跳过该4块地址。检查坏块时建立一个1bit×4096的RAM表,坏块标记为‘0’,好块标记为‘1’。
上电检测时,将上次写到的块地址查找出来,查找的方法是查找每一块第一页的8193位置处的内容,0x55代表已写入,其他代表未写入,查到出最后一块第一页的8193处为0x55的块地址,即为上次写到的块地址。将该块地址写入到寄存器中。
4)Flash擦除模块
该模块主要功能是在写入Flash之前对其进行擦除操作。擦除时,首先需要根据上电检测模块建立的坏块RAM表进行判断,坏块不进行擦除操作;若好块在擦除过程中不成功,则需要将其标记为坏块,即在该块的第一页的第8192地址处标记为0x00。
5)Flash写模块
Flash写模块用于对Flash进行编程存储。设计时采用双面操作,其时序如图4所示。首先向总线上写入指令80H,表示写指令,接着写入写地址,然后是写入的数据,然后写入11H,代表双面写操作,再写入80H,将地址加1后写入总线,然后是写入的数据,之后写入10H,表示本次双面写操作完成。flash上电后30s内无擦除、下载和停止下载指令来,则Flash进入记录状态。选取N=2,写入前,对上次写到的位置和当前写入的块是否为好块进行检查,好块才进行双面写入操作。
6)Flash读操作
同样由于对Flash进行编程操作时采用了双面操作,因此读Flash时也必须采用双面读操作。首先根据上电复位模块中建立的坏块RAM表,对当前读的块进行判断,好块才进行读操作。双面读操作时序如图5所示。先在总线上写入00H,表示读指令,然后写入地址A,然后写入32H,表示双面读操作,再依次写入00H、地址B和30H,30H表示本次双面读操作完成。然后根据FPGA的控制,读出地址A中的数据A。然后在总线上依次写入06H、地址B和E0H,表示切换到地址B,然后根据FPGA的控制,读出地址B中的数据B。
4、地面对存储器下传数据的处理
1)根据不同次加电的数据之间会有8M字节的“FF”,在检测到连续小于等于8M字节的“FF”,则认为是两次不同加电的数据,将不同次加电的数据分别保存为不同的数据文件。
2)在每次加电测试的时间历程内,计算每个遥测参数的最大值、最小值和平均值。
3)根据每个遥测参数预先设置的最大值、最小值和平均值判据进行判读,当计算得到的最大值、最小值和平均值均满足该遥测参数最大值、最小值和平均值判据时,该遥测参数判读合理。
5、实际应用情况
本发明中的存储器提高了存储器读写速率;具有断电续存功能,提高了存储器可靠性和测试方便性;同时,本发明进一步给出了地面测试***对存储器下传数据的处理方法,能够将多次加电的数据自动分割为多个文件,便于数据进一步判读和分析;数据判读时能够统计出每个遥测参数的最大值、最小值和平均值,根据判据快速判读并给出判读结果,提高了数据判读的效率和智能化程度。
本发明已应用于某飞行器中,并经过多项试验考核,完整获取到了飞行器各项测量参数,数据存储速率和下载速率均提高了约一倍,在地面测试及飞行器飞行过程中,支持多次加断电操作,提高了***可靠性,满足***特殊使用要求。地面能够对遥测参数进行全面判读,遥测参数的数据量越大,效率提高的越多,对于1小时的飞行试验数据,效率提高了近1倍。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。

Claims (8)

1.一种具有断电续存功能的高速存储器,其特征在于:包括三块存储板,其中两块存储板互为备份,用于存储采编器组帧后的数据和接口控制器转发的地面测试***控制指令;第三块存储板用于存储接口控制器转发的外***备份数据和地面测试***控制指令;
三块存储板组成相同,均包括两块NAND Flash芯片、FPGA单元、RS422接口芯片、LVDS接收器、LVDS发送器以及电源模块;
互为备份的两块存储板上的LVDS接收器用于接收采编器组帧后的数据,并输出给FPGA单元;第三块存储板上的LVDS接收器用于接收接口控制器转发的外***备份数据,并输出给FPGA单元;
RS422接口芯片用于接收接口控制器转发的地面测试***控制指令,并输出给FPGA单元;
FPGA单元接收来自LVDS接收器的数据,如果在预先设计的延时时间段内未接收到地面测试***控制指令,则将接收的数据同时写入两块NAND Flash芯片中,否则根据地面测试***控制指令对两块NAND Flash芯片进行擦除或下载操作,将下载的数据通过LVDS发送器输出给地面测试***,所述地面测试***控制指令包括擦除、下载、停止下载;
电源模块为存储板上的各个器件供电。
2.根据权利要求1所述的一种具有断电续存功能的高速存储器,其特征在于:所述每块存储板上还包括金手指,用于将两块NAND Flash芯片的管脚引出,在存储板上电源模块、FPGA单元或LVDS发送器失效时,能够通过金手指从外部对NAND Flash芯片进行写入、擦除或下载操作。
3.根据权利要求2所述的一种具有断电续存功能的高速存储器,其特征在于:所述FPGA单元包括时钟产生模块、复位信号产生模块、顶层控制模块、数据接收缓存模块、指令接收模块、Flash控制模块以及数据输出控制模块;
时钟产生模块:用于产生全局和各个模块运行所需时钟信号,能够根据外部输入的时钟选择信号选择本地晶振或外部时钟;
复位信号产生模块:产生全局复位信号,在时钟产生模块产生的时钟信号有效时,将全局复位信号置为低电平,用于将除自身和时钟产生模块以外的其他模块复位,保持一段时间后将全局复位信号置为高电平;
顶层控制模块:当全局复位信号为高电平后,产生配置使能信号对除自身以及时钟产生模块、复位信号产生模块以外的其他模块进行配置,配置完成后,顶层控制模块控制FPGA单元进入运行状态;
数据接收缓存模块:配置完成后,接收来自LVDS接收器的数据,并将接收的数据分别缓存在两个独立的FIFO中;
指令接收模块:用于接收并解析来自RS422接口芯片的控制指令,输出给Flash控制模块;
Flash控制模块:上电时对NAND Flash芯片进行复位、配置和上电检测;如果在预先设计的延时时间段内未接收到接收控制模块输出的控制指令,则将两个独立FIFO中的数据写入到对应的NAND Flash芯片中,如果接收到,则根据接收的控制指令完成对应NAND Flash芯片的擦除或下载操作;将下载的数据发送给数据输出控制模块;
数据输出控制模块:对Flash控制模块发送的数据进行乒乓缓存操作,经过编码后通过LVDS发送器输出给地面。
4.根据权利要求3所述的一种具有断电续存功能的高速存储器,其特征在于:所述Flash控制模块包括Flash复位子模块、Flash配置子模块、Flash上电检测子模块、Flash擦除子模块、Flash写子模块和Flash读子模块;
Flash复位子模块:上电复位后,完成两块NAND Flash芯片的复位操作,使其能够正常工作;
Flash配置子模块:复位完成后,配置NAND Flash芯片的工作模式;
Flash上电检测子模块:配置完成后,对NAND Flash芯片的坏块和上次写到的块地址进行检测,将坏块地址写入到坏块表中,将上次写到的块地址写入寄存器中;
Flash擦除子模块:在对NAND Flash芯片进行写入之前,如果接收到指令接收模块输出的擦除指令,则同时对两块NAND Flash芯片坏块以外的位置进行擦除操作,若好块擦除不成功,则需要将其标记为坏块并写入到坏块表中;
Flash写子模块:从寄存器中读取上次写到的块地址,采用双面操作,将两个独立FIFO中缓存的数据对应写入到两块NAND Flash芯片上次写到块地址之后的好块中;
Flash读子模块:采用双面操作,根据指令接收模块输出的控制指令选择一块NANDFlash芯片,从其中的好块中读取数据,发送给数据输出控制模块。
5.根据权利要求4所述的一种具有断电续存功能的高速存储器,其特征在于:所述采用双面操作向一块NAND Flash芯片进行写操作的实现方法为:
(5.1)从FIFO的缓存数据中依次读取四组数据,每组数据为8KB;
(5.2)将第一组数据写入到NAND Flash芯片第一个CE的第一面,将第二组数据写入到第一个CE的第二面,将第三组数据写入到第二个CE的第一面,将第四组数据写入到第二个CE的第二面,且四组数据同时写入,写入的地址均为上次写到块地址之后N个块地址处,N=2,3或4;
(5.3)每组数据写入完成后,在该组数据写入块对应的空闲区做出写入标记;
(5.4)重复执行上述过程,将FIFO中缓存的数据写入到NAND Flash芯片中。
6.根据权利要求5所述的一种具有断电续存功能的高速存储器,其特征在于:所述采用双面操作对一块NAND Flash芯片进行读操作的实现方法为:
(6.1)依次从第一个CE的第一面、第一个CE的第二面、第二个CE的第一面、第二个CE的第二面读取一组数据,每组数据为8KB;
(6.2)重复步骤(6.1),完成NAND Flash芯片中数据的读取;
(6.3)将读取的数据按照读出顺序整合成数据流并输出。
7.根据权利要求5所述的一种具有断电续存功能的高速存储器,其特征在于:所述Flash上电检测模块对NAND Flash芯片上次写到的块地址进行检测的实现方法为:
Flash上电检测模块读取NAND Flash芯片空闲区的标记,四个CE面中最后一个写入标记对应的写入块地址即为NAND Flash芯片上次写到的块地址。
8.根据权利要求1所述的一种具有断电续存功能的高速存储器,其特征在于:地面接收到存储器的数据后,进行如下操作:
(8.1)地面对接收数据进行检测,在检测到L个“FF”时,则认为是两次不同加电的数据,将不同次加电的数据分别保存为不同的数据文件,用于不同次加电测试的数据处理和判读;其中L<=4*NM;
(8.2)在每次加电测试的时间历程内,计算每个遥测参数的最大值、最小值和平均值;
(8.3)根据每个遥测参数预先设置的最大值、最小值和平均值判据进行判读,当计算得到的最大值、最小值和平均值均满足该遥测参数最大值、最小值和平均值判据时,该遥测参数判读合理。
CN201611102026.2A 2016-12-02 2016-12-02 一种具有断电续存功能的高速存储器 Active CN106649142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611102026.2A CN106649142B (zh) 2016-12-02 2016-12-02 一种具有断电续存功能的高速存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611102026.2A CN106649142B (zh) 2016-12-02 2016-12-02 一种具有断电续存功能的高速存储器

Publications (2)

Publication Number Publication Date
CN106649142A true CN106649142A (zh) 2017-05-10
CN106649142B CN106649142B (zh) 2019-09-06

Family

ID=58818373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611102026.2A Active CN106649142B (zh) 2016-12-02 2016-12-02 一种具有断电续存功能的高速存储器

Country Status (1)

Country Link
CN (1) CN106649142B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683829A (zh) * 2019-01-04 2019-04-26 中国科学院声学研究所东海研究站 基于fpga的智能存储控制***及其应用
CN110362417A (zh) * 2019-06-18 2019-10-22 南京理工大学 Fpga实现断电续存功能的***及方法
CN110990044A (zh) * 2019-11-12 2020-04-10 中国航发南方工业有限公司 在应用编程方法、计算机可读取的存储介质
CN111124276A (zh) * 2019-11-15 2020-05-08 中国运载火箭技术研究院 一种可多模态工作的数据存储***及方法
CN111324917A (zh) * 2020-03-31 2020-06-23 南京辉腾电子科技有限公司 一种fpga实现的断电续存功能的***及方法
CN112231178A (zh) * 2020-11-03 2021-01-15 中国航空工业集团公司西安航空计算技术研究所 一种适用于机载高安全计算机的加电时间计时***
CN112363864A (zh) * 2020-11-09 2021-02-12 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片
CN112486748A (zh) * 2020-11-30 2021-03-12 北京泽石科技有限公司 测试***及其测试方法
CN112578993A (zh) * 2019-09-27 2021-03-30 北京忆恒创源科技有限公司 多平面nvm处理编程出错的方法与存储设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070252912A1 (en) * 2006-04-24 2007-11-01 Geno Valente System and methods for the simultaneous display of multiple video signals in high definition format
CN104156327A (zh) * 2014-08-25 2014-11-19 曙光信息产业股份有限公司 一种分布式文件***中写回模式下对象掉电识别方法
CN104360960A (zh) * 2014-11-28 2015-02-18 成都龙腾中远信息技术有限公司 一种基于载荷地面测试接口适配器的高速存储模块及其存储方法
CN105066798A (zh) * 2015-09-15 2015-11-18 四川航天***工程研究所 带记录功能的弹载遥测仪
CN204944518U (zh) * 2015-09-15 2016-01-06 四川航天***工程研究所 带记录功能的弹载遥测仪
CN105405465A (zh) * 2015-12-29 2016-03-16 中北大学 数据存储及处理电路
US20160098918A1 (en) * 2014-10-01 2016-04-07 Maxim Integrated Products, Inc. Tamper detection systems and methods for industrial & metering devices not requiring a battery

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070252912A1 (en) * 2006-04-24 2007-11-01 Geno Valente System and methods for the simultaneous display of multiple video signals in high definition format
CN104156327A (zh) * 2014-08-25 2014-11-19 曙光信息产业股份有限公司 一种分布式文件***中写回模式下对象掉电识别方法
US20160098918A1 (en) * 2014-10-01 2016-04-07 Maxim Integrated Products, Inc. Tamper detection systems and methods for industrial & metering devices not requiring a battery
CN104360960A (zh) * 2014-11-28 2015-02-18 成都龙腾中远信息技术有限公司 一种基于载荷地面测试接口适配器的高速存储模块及其存储方法
CN105066798A (zh) * 2015-09-15 2015-11-18 四川航天***工程研究所 带记录功能的弹载遥测仪
CN204944518U (zh) * 2015-09-15 2016-01-06 四川航天***工程研究所 带记录功能的弹载遥测仪
CN105405465A (zh) * 2015-12-29 2016-03-16 中北大学 数据存储及处理电路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张腾: "某遥测数据采编与固态记录综合测试装置的设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683829A (zh) * 2019-01-04 2019-04-26 中国科学院声学研究所东海研究站 基于fpga的智能存储控制***及其应用
CN110362417A (zh) * 2019-06-18 2019-10-22 南京理工大学 Fpga实现断电续存功能的***及方法
CN110362417B (zh) * 2019-06-18 2022-09-27 南京理工大学 Fpga实现断电续存功能的***及方法
CN112578993A (zh) * 2019-09-27 2021-03-30 北京忆恒创源科技有限公司 多平面nvm处理编程出错的方法与存储设备
CN110990044A (zh) * 2019-11-12 2020-04-10 中国航发南方工业有限公司 在应用编程方法、计算机可读取的存储介质
CN110990044B (zh) * 2019-11-12 2023-06-30 中国航发南方工业有限公司 在应用编程方法、计算机可读取的存储介质
CN111124276A (zh) * 2019-11-15 2020-05-08 中国运载火箭技术研究院 一种可多模态工作的数据存储***及方法
CN111124276B (zh) * 2019-11-15 2023-09-29 中国运载火箭技术研究院 一种可多模态工作的数据存储***及方法
CN111324917A (zh) * 2020-03-31 2020-06-23 南京辉腾电子科技有限公司 一种fpga实现的断电续存功能的***及方法
CN112231178A (zh) * 2020-11-03 2021-01-15 中国航空工业集团公司西安航空计算技术研究所 一种适用于机载高安全计算机的加电时间计时***
CN112231178B (zh) * 2020-11-03 2023-11-24 中国航空工业集团公司西安航空计算技术研究所 一种适用于机载高安全计算机的加电时间计时***
CN112363864A (zh) * 2020-11-09 2021-02-12 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片
CN112363864B (zh) * 2020-11-09 2023-10-27 海光信息技术股份有限公司 检测数据维持有效性的方法、检测装置和芯片
CN112486748A (zh) * 2020-11-30 2021-03-12 北京泽石科技有限公司 测试***及其测试方法
CN112486748B (zh) * 2020-11-30 2024-04-09 北京泽石科技有限公司 测试***及其测试方法

Also Published As

Publication number Publication date
CN106649142B (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN106649142A (zh) 一种具有断电续存功能的高速存储器
CN107844431A (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
CN206557767U (zh) 一种基于乒乓操作结构控制数据缓存的缓存***
CN101853207B (zh) 存储装置
CN105573239A (zh) 一种高速背板总线通讯控制装置及方法
CN107491267B (zh) 一种基于lvds接口的高速图像数据存储装置
CN103559146B (zh) 一种提高NAND flash控制器读写速度的方法
CN103605309B (zh) 一种四通道大容量波形存储***的构建方法
CN104461624B (zh) 一种三维声波测井仪近探头测量模块的远程升级方法
CN102609376B (zh) 一种串行总线存储器、串行总线传输***及方法
CN102253898B (zh) 一种图像数据的内存管理方法及装置
CN111800345B (zh) 一种高可靠星座组网空间路由器电路
CN100361523C (zh) 一种数字相机实时采集***
CN105681783B (zh) 音视频数据采集接口电路设计方法
CN105005453B (zh) 星载nand flash固存坏区管理***
CN107038040A (zh) 基于pcie的fpga更新***及更新方法
CN110334040A (zh) 一种星载固态存储***
CN105066798A (zh) 带记录功能的弹载遥测仪
CN112562121A (zh) 一种基于srio协议的存储数据和快速下载方法
CN105955899B (zh) 基于全固态半导体存储器阵列的雷达数字信号处理装置
CN101140330B (zh) 可动态配置硬件电路的综合数控地面测井***
CN114911662A (zh) 设置于固态硬盘主控芯片内的坏块扫描电路及扫描方法
CN107634794A (zh) 一种用于航天器的多模复接储存装置
CN116088927B (zh) 一种基于zynq处理器配置fpga程序电路及方法
CN113742282A (zh) 一种基于fpga的sata ip核及数据存储方法

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