数据存储及处理方法

文档序号:9844045阅读:1181来源:国知局
数据存储及处理方法
【技术领域】
[0001] 本发明公开的数据存储及处理方法属存储测试技术领域,具体涉及的是一种能避 免采集存储电路突发掉电时丢失NAND闪存缓冲RAM中数据和FPGA内部用于闪存写入数据的 FIFO缓存器中数据的数据存储及处理方法,该方法适用于采用NAND存储器为主要存储介质 的记录仪,对电源突发掉电后要求完整记录输入数据的仪器与场合迫切需要。
【背景技术】
[0002] 随着固态记录仪的迅速发展,在航天、军工及民用等各个领域均有其身影,特别是 在航天、军事领域,记录仪的作用显得尤为重要。NAND闪存存储器具有存储密度高,读写速 度快等特点,但目前NAND结构的闪存存储器内部有一个RAM缓存空间,写入闪存的数据首先 写入缓存RAM中,其后执行闪存编程指令将缓存RAM中数据写入非易失性存储介质中,而写 入非易失性存储介质需要一定的时间才能保证数据可靠写入。多片闪存存储结构中有n(n =1,2,3···16的自然数)片NAND闪存存储器,将数据写满第1片闪存存储器的RAM后,同时立 即切换数据写入到第2片闪存存储器的RAM中,对第1片闪存编程将RAM数据写入非易失性存 储介质中,当数据写满第2片闪存存储器的RAM后,数据立即切换写入下一片,再对第2片闪 存存储器编程,按前述过程重复,直到写满第η片闪存存储器的RAM后,将数据切换到第1片 闪存存储器,以此循环进行数据写入。因此,写入闪存存储器缓存RAM中的数据在未完全编 程写入非易失性存储介质前,记录仪掉电就会丢失闪存RAM中未完全编程写入非易失性存 储单元的数据。作为输入数据和闪存存储器写之间的FIFO缓存器一样会在掉电时丢失数 据。铁电存储器虽具有像RAM-样数据高速写入和掉电不丢失的特性,但其容量十分有限而 不能满足大容量存储使用要求。用于混凝土或钢板侵彻测试加速度的记录仪,以及弹载黑 匣子常常需要高速的大容量数据存储,其着地冲击或爆炸冲击过程中电池或外部电源是最 薄弱的环节,在高加速度冲击过程中出现瞬间掉电或永久失效,掉电前采集的数据还未完 成写入闪存的非易失性存储介质中,而这些数据往往是十分关键的。故在电池掉电后,如何 获取还未能写入非易失性存储介质的数据已经成为一项亟待解决的课题。本发明的数据存 储及处理方法就完全解决了采集存储电路突发掉电时丢失NAND闪存中缓冲RAM中数据和 FPGA内部用于闪存数据写入的FIFO缓存器中数据的问题,将对航天、军工及民用等各个领 域提供性能优良、实用可靠的固态记录仪具有重要意义。

【发明内容】

[0003] 本发明的目的是:向社会提供这种数据存储及处理方法,该方法成功解决了采集 存储电路突发掉电时丢失闪存存储器中数据的问题。
[0004] 本发明的技术方案是这样的:这种数据存储及处理方法,是避免采集存储电路突 发掉电时丢失NAND闪存缓冲RAM中数据和FPGA内部用于闪存写入数据的FIFO缓存器中数据 的数据存储及处理方法,技术特点在于:所述的数据存储及处理方法如下:在FPGA的控制 下,铁电存储器同步循环存储与写入闪存存储通道中一样的数据,掉电时NAND闪存丢失其 RAM中未完成编程写入并存储的数据,同时FPGA内部丢失FIFO中缓存的部分采集数据,而铁 电存储器中正好完整保存了这些丢失数据,读取存储在各存储器中的数据后,将铁电存储 器中的数据通过处理融合到NAND闪存记录的数据后面,补足采集数据在掉电时丢失的那些 数据,在NAND闪存存储器记录满之前实现多次重新上电继续存储数据,并在多次断电后均 能补足每次断电前的采集数据。所述的NAND闪存是"与非"结构的闪存名称,所述的RAM是随 机存取存储器,所述的FPGA是现场可编程门阵列,所述的FIFO是先进先出缓存器。所述的铁 电存储器的写、读操作完全独立于NAND闪存存储器的写、读、擦除操作,通过增加 FPGA内部 的控制逻辑单元,在外部连接一片铁电存储器即可在原有的电路基础上方便实现这种数据 存储及处理方法。
[0005] 根据以上所述的数据存储及处理方法,技术特点还有:所述的数据存储及处理方 法采用数据存储及处理电路完成或实现,所述的数据存储及处理方法中电路由FPGA作控制 器,1片铁电存储器和若干片NAND闪存存储器和FPGA内部FIFO缓存存储器共同组成,所述的 若干片包括有η片NAND闪存存储器,其中η选择为1、或2、或3、…、或16的自然整数。所述的1 片铁电存储器存储量>η片NAND闪存存储器中RAM的容量+FPGA内部FIFO缓存存储器之总存 储量。
[0006] 根据以上所述的数据存储及处理方法,技术特点还有:a.所述的铁电存储器总容 量为T,总容量T包括:按地址分成a个循环存储地址单元与剩余地址空间,所述的剩余地址 空间有b个字节的、并构成与a个循环存储地址单元对等个数的、电路掉电重启时NAND闪存 存储器起始地址的存储单元,其中除a、b之外还有剩余地址空间,a选择为1、或2、或3、···、或 8的自然整数,b为地址单元数a乘以η片NAND闪存存储器的地址字节数,b中每连续η片NAND 闪存存储器的地址字节数与铁电存储器存储地址单元a中一个循环存储地址单元对应,铁 电存储器中每个循环存储地址单元的容量为k,k大于或等于η片NAND闪存中RAM容量和FPGA 内部的FIFO缓存器容量的总和,各个存储器有独立控制总线结构,铁电存储器的控制总线 与闪存、FIFO缓存的存储器控制总线相互独立,但都共用输入数据总线和读数据总线,铁电 存储器与闪存写入数据的FIFO缓存存储器同步进行数据存储,铁电存储器循环将数据写入 存储地址空间内,各类存储器分时独立进行数据读取;b.所述的数据存储及处理方法在电 路上电开始存储前,FPGA读取铁电存储器最后的b个字节数据,根据对应单元的值是否为非 零,找出存储过数据的最大地址单元a x,当判断N A N D闪存存储器未存满时,F P G A查找η片 NAND闪存写入最后一页数据的地址并加1后将其存储到对应1^+1的地址中,数据循环写入铁 电存储器的a x+1地址空间内,NAND闪存存储器在上一次存储数据地址后继续存储数据直到 存储满整个地址空间,其中有:a 2 X。c.所述的数据存储及处理方法在电路掉电时,NAND闪 存存储器丢失闪存RAM中未完成编程写入并存储的数据及FPGA内部的FIFO缓存存储器丢失 的部分采集数据,而铁电存储器中正好完整保存了这些丢失的数据。这样就可以进行或实 现丢失的部分采集数据的恢复工作。d. FPGA通过总线切换先读完NAND闪存存储器中存储的 数据,再通过指令切换总线读取铁电存储器中存储的数据,铁电存储器存储的数据与闪存 存储器存储的数据进行比较确定数据的匹配点,将两者数据融合从而获得掉电前采集的完 整数据。避免了采用NAND闪存存储器及FIFO缓存器在掉电时丢失的数据。
[0007] 表1铁电存储器地址分配表
[0008]
[0009]根据以上所述的数据存储及处理方法,技术特点还有:a.所述的数据存储及处理 方法在电路掉电后,首先读取铁电存储器存储最后的b个字节数据构成数组TAc(b),根据TAC (b)找出写过数据的铁电存储器地址单元的数据构成c个数组TDjk)和NAND闪存存储器每 次突发掉电前写入的最后一页数据构成c个数组SCjnR),其中:c为铁电存储器在NAND闪存 存储器存满前上电的次数,c < a,k为铁电存储器一个循环存储地址单元数据的容量,R为一 片NAND闪存存储器中RAM的容量。b.将数组TDc(k)的数据融合到数组SCjnR)后面,j从1开始 每次加1直到c,分别对每次掉电后数据做融合计算,选定m = nR,从TDc(k)中选定TDj(k)数 组,其中:选取1 < i < k,从i起始连续选定m个字节,当i+m < k时,TDj中选定的数组TD_X(m) 为Τ0」(?)、Τ0」(?+1)···、Τ0」(πι+?-1);当i+m>k时,TDj中选定的数组TD_X(m)为TDj(i)、."、TDj (k) 、TD」(l)、…、TDj(m+i-k-l),与SCj(nR-m+l)、SCj(nR-m+2)、…、SCj(nR)的数据按顺序-- 对应进行比较,i从1开始每次加1顺次比较,当i = k还未完全匹配,就将上一次选定m减去R, 重新匹配直到m = R为止;c.当对应数据完全相同时,记录下两者相等时刻的i值并停止搜 索,当i+m〈k时,将Τ0」(πι+υ、Τ0」(πι+?+1)、···、Τ0」(1〇、Τ0」(1)、···、Τ0」α-1)的数据融合添加到 闪存数据SCj(nR)的后面,当i+m>k时,将Τ0」(πι+?-1〇、Τ0」(πι+?+1)~、Τ0」(1〇、~、Τ0」 (l) 、···、?^α-1)融合添加到闪存数据SCXnR)的后面,完整补足丢失的采集数据。
[0010]根据以上所述的数据存储及处理方法,技术特点还有:所述的NAND闪存存储器和 铁电存储器均是非易失性存储介质的存储器。所述的非易失性存储介质的存储器为三星公 司的 1(9卩1608、1(9卩2608、1(9卩4608、1(91^8608,11^(^〇11公司的]\0'29卩1608、]\0'29卩166、]\?'29卩32
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1