本发明涉及数据存储领域,特别涉及一种面向移动式传感器的多介质融合数据存储方法与存储系统。
背景技术:
移动传感器对于存储器性能要求高,既要满足存储容量大、读写速度快、响应时间短和抗震能力强等要求,同时又要兼具灵活性。
闪存是一种基于半导体技术的电子可擦除可编程存储器,具有体积小、抗震动性强、功耗低、掉电非易失、存储密度大、读写速度快等优点,被广泛用于固态存储领域,但闪存存在小写性能差和文件管理时间开支大等问题。
相变存储器是一种新型的非易失性半导体存储器件,具有存取速度快、可靠性高、可按字节存储、耐高温、抗震动能力强等优点。但它作为一种新型的存储器,技术还不是十分成熟,存储容量不能满足目前传感器数据量需求。
目前已被提出的几种融合方式适用于某些应用场景,但两者优势尚未得到充分发挥,文件管理时间长的缺点没有克服。
技术实现要素:
为了解决上述技术问题,本发明提出一种工作效率高的面向移动式传感器的多介质融合数据存储方法,并设计出一种结构简单的面向移动式传感器的多介质融合数据存储系统。
本发明解决上述问题的技术方案是:一种面向移动式传感器的多介质融合数据存储方法,包括以下步骤:
步骤一:系统接收一簇数据;
步骤二:判断和识别该簇数据是否为大写数据,如为大写数据则进入步骤三,否则进入步骤四;
步骤三:将该簇数据写入闪存阵列内,同时将该簇数据对应的fat表数据和fdt表数据写入至相变存储器,然后进入步骤五;
步骤四:将该簇数据写入相变存储器内,然后进入步骤五;
步骤五:查询数据存储是否结束,如果未结束,返回步骤一继续接收下一簇数据,如果已经结束,则进入步骤六;
步骤六:将相变存储器内的所有fat表数据读出,同时将相变存储器内的所有fdt表数据读出,然后进入步骤七;
步骤七:将相变存储器内读出的所有fat表数据和fdt表数据转存到闪存阵列,进入步骤八;
步骤八:数据存储结束。
上述面向移动式传感器的多介质融合数据存储方法,所述步骤二中,判断和识别的数据分为大写数据和小写数据,其中大写数据是单个文件大于512kb并且该文件写满之前不存入其他文件的传感器数据;小写数据是除大写数据以外的分散传感器数据。
上述面向移动式传感器的多介质融合数据存储方法,闪存阵列和相变存储器的数据存储并行执行,即闪存阵列的大写数据读写操作与相变存储器的小写数据读写并行工作。
一种面向移动式传感器的多介质融合数据存储系统,包括数据接收模块、数据类型感知与分类模块、大写数据的fdt表更新模块、大写数据的fat表更新模块、小写数据读写控制模块、大写数据读写控制模块;
数据接收模块与数据类型感知与分类模块相连,数据接收模块接收外部数据,并送入数据类型感知与分类模块;
数据类型感知与分类模块与小写数据读写控制模块、大写数据读写控制模块相连,数据类型感知与分类模块识别来自数据接收模块的数据,将数据分为大写数据和小写数据,并将大写数据送入大写数据读写控制模块,将小写数据送入小写数据读写控制模块;
大写数据的fdt表更新模块与小写数据读写控制模块相连,在数据存储过程中大写数据的fdt表更新模块生成大写数据的文件管理fdt表数据,并发送至小写数据读写控制模块;
大写数据的fat表更新模块与小写数据读写控制模块相连,在数据存储过程中大写数据的fat表更新模块生成大写数据的文件管理fat表数据,并发送至小写数据读写控制模块;
小写数据读写控制模块与大写数据读写控制模块、相变存储器相连,在存储过程中小写数据读写控制模块将小写数据、大写数据的文件管理fdt表数据与fat表数据按照相变存储器的读写协议写入相变存储器,其中大写数据的文件管理fdt表数据和fat表数据按照与小写数据的相同方法进行读写控制;在存储结束后将大写数据的文件管理fat表数据和fdt表数据从相变存储器内读出,并发送到大写数据读写控制模块;
大写数据读写控制模块与小写数据读写控制模块、闪存阵列相连,在存储过程中大写数据读写控制模块将大写数据存入闪存阵列;存储结束时接收来自小写数据读写控制模块的大写数据的文件管理fat表数据和fdt表数据,并保存到闪存阵列。
本发明的有益效果在于:本发明的多介质融合数据存储方法在数据存储时将真正存储的大写数据和其对应的文件数据分开存储,即传感器大写数据保存到闪存,而其文件数据保存到相变存储器。在传感器数据存储即将结束工作时,再将文件数据统一从相变存储器读出并转存到闪存中。通过结合闪存和相变存储器的优点弥补了彼此性能的不足,更大程度地发挥两者优势,从而大幅减少文件管理时间,提高存储效率。
附图说明
图1为本发明多介质融合数据存储方法的流程图。
图2为本发明多介质融合数据存储方法中数据的存储路径示意图。
图3为本发明多介质融合数据存储方法保存数据的时序图。
图4为本发明多介质融合数据存储系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
本发明中,数据存储涉及三类数据:第一类被称为大写数据,指单个文件大于512kb并且该文件写满之前不存入其他文件的传感器数据;第二类是除大写数据以外的分散传感器数据,被称为小写数据;第三类是存储数据对应的文件管理数据,即fat表数据和fdt表数据。
如图1所示,一种面向移动式传感器的多介质融合数据存储方法,包括以下步骤:
步骤一:系统接收一簇数据。
步骤二:判断和识别该簇数据是否为大写数据,如为大写数据则进入步骤三,否则进入步骤四。
如图2所示,闪存存储大写数据,这种数据是单个文件大于512kb并且该文件写满之前不存入其他文件的传感器数据;相变存储器存储小写数据,这种数据是除大写数据以外的分散传感器数据。
步骤三:将该簇数据写入闪存阵列内,同时将该簇数据对应的fat表数据和fdt表数据写入至相变存储器,然后进入步骤五。
步骤四:将该簇数据写入相变存储器内,然后进入步骤五。
步骤五:查询数据存储是否结束,如果未结束,返回步骤一继续接收下一簇数据,如果已经结束,则进入步骤六。
步骤六:将相变存储器内的所有fat表数据读出,同时将相变存储器内的所有fdt表数据读出,然后进入步骤七。
步骤七:将从相变存储器内读出的所有fat表数据和fdt表数据转存到闪存阵列,进入步骤八。
步骤八:数据存储结束。
上述面向移动式传感器的多介质融合数据存储方法,闪存阵列和相变存储器的数据存储并行执行,即闪存阵列的大写数据读写操作与相变存储器的小写数据读写并行工作。
闪存对于大写数据存储速度快,因为是这些数据物理空间连续,能够充分保障移动式传感器大批量连续数据的存储。相变存储器保存小写数据,解决了传统闪存数据存储系统同时保存大、小写数据时出现的存储速率明显下降的问题。
数据存储系统文件管理时间开支较大。例如在嵌入式存储系统常用的fat文件系统中,文件管理通常包含fat表内簇链接更新,以及fdt表内的文件信息更新。因此,随着一个簇的数据写入,除了真实数据保存外还有复杂的文件数据更新。
传统fat文件系统中文件数据更新时间开支过大有两个原因:第一,闪存是移动式传感器数据存储系统最常用的介质,其数据读写与文件管理操作单位不一致,造成文件更新数据的急剧增加。闪存最小读写单位是扇区,扇区大小为512b,而文件数据中fat表簇链接更新只需4b,fdt表文件信息更新最多只需32b。虽然文件管理更新数据量远小于一个扇区,仍需分别更新一个扇区的数据;第二,闪存内文件区和数据区物理上是不连续的,而闪存的工作机制是在不连续空间的数据读写会大大增加响应时间,从而明显降低了存储速率。
本发明的多介质融合数据存储方法的工作时序如图3所示。大写数据存储时的时序如图3虚线左面,闪存在存储某个簇的数据的同时,相变存储器保存该簇对应的fat数据和fdt表数据,如图3中闪存内的簇n数据和相变存储器内的文件数据同时保存。数据存储结束后的时序如图3虚线右面,将存储过程中保存到相变存储器内的所有fat和fdt数据依次读出,然后依次转存到闪存中。
这种多介质融合数据存储方法能够解决基于闪存的数据存储系统文件管理时间长的问题。
首先,文件数据即fat数据和fdt数据在存储过程中暂存到相变存储器内,这可大大减小写入的文件数据量。因为相变存储器可字节替换,无需如闪存每次最少更新一个扇区512b的数据。因此,fat表更新数据量减少至传统方法的4b/512b=1/128。fdt表更新数据量减少至传统方法的32b/512b=1/16。
其次,文件数据和传感器数据在存储过程中并行存储,分别保存到相变存储器和闪存内。闪存在存储过程中无需每写入一个簇数据,需跳转几次地址至fat表和fdt表处写入文件数据。因此,消除了传统方法中地址跳转导致的长响应时间问题。
最后,在存储结束后将文件数据转存到闪存,是将存储中所有文件数据统一同时转存,文件数据只需更新一次。这种方法将连续写入文件数据,大大减少了跳转频率,因此也大大减少文件管理时间。
如图4所示,一种面向移动式传感器的多介质融合数据存储系统,包括数据接收模块、数据类型感知与分类模块、大写数据的fdt表更新模块、大写数据的fat表更新模块、小写数据读写控制模块、大写数据读写控制模块;
数据接收模块与数据类型感知与分类模块相连,数据接收模块接收外部数据并送入数据类型感知与分类模块;
数据类型感知与分类模块与小写数据读写控制模块、大写数据读写控制模块相连,数据类型感知与分类模块识别来自数据接收模块的数据,将数据分为大写数据和小写数据,并将大写数据送入大写数据读写控制模块,将小写数据送入小写数据读写控制模块;
大写数据的fdt表更新模块与小写数据读写控制模块相连,大写数据的fdt表更新模块在数据存储过程中生成大写数据的文件管理fdt表数据,并送入小写数据读写控制模块;
大写数据的fat表更新模块与小写数据读写控制模块相连,大写数据fat表更新模块在数据存储过程中生成大写数据的文件管理fat表数据,并送入小写数据读写控制模块;
小写数据读写控制模块与大写数据读写控制模块、相变存储器相连,小写数据读写控制模块在存储过程中将小写数据、大写数据的文件管理fdt表数据与fat表数据按照相变存储器的读写协议写入相变存储器,大写数据的fdt表数据和fat表数据按照与小写数据的相同方法进行读写控制;在存储结束后将大写数据的文件管理fat表数据和fdt表数据从相变存储器内读出,并发送到大写数据读写控制模块;
大写数据读写控制模块与小写数据读写控制模块、闪存阵列相连,大写数据读写控制模块在存储过程中将大写数据写入闪存阵列;存储结束时接收来自小写数据读写控制模块发送的大写数据的文件管理fat表数据和fdt表数据,并保存到闪存阵列。
1.一种面向移动式传感器的多介质融合数据存储方法,其特征在于,包括以下步骤:
步骤一:系统接收一簇数据;
步骤二:判断和识别该簇数据是否为大写数据,如为大写数据则进入步骤三,否则进入步骤四;
步骤三:将该簇数据写入闪存阵列内,同时将该簇数据对应的fat表数据和fdt表数据写入至相变存储器,然后进入步骤五;
步骤四:将该簇数据写入相变存储器内,然后进入步骤五;
步骤五:查询数据存储是否结束,如果未结束,返回步骤一继续接收下一簇数据,如果已经结束,则进入步骤六;
步骤六:将相变存储器内的所有fat表数据读出,同时将相变存储器内的所有fdt表数据读出,然后进入步骤七;
步骤七:将从相变存储器内读出的所有fat表数据和fdt表数据转存到闪存阵列,进入步骤八;
步骤八:数据存储结束。
2.根据权利要求1所述的面向移动式传感器的多介质融合数据存储方法,其特征在于,所述步骤二中,判断和识别的数据分为大写数据和小写数据,其中大写数据是单个文件大于512kb并且该文件写满之前不存入其他文件的传感器数据;小写数据是除大写数据以外的分散传感器数据。
3.根据权利要求1所述的面向移动式传感器的多介质融合数据存储方法,其特征在于,闪存阵列和相变存储器的数据存储并行执行,即闪存阵列的大写数据读写操作与相变存储器的小写数据读写并行工作。
4.一种面向移动式传感器的多介质融合数据存储系统,其特征在于:包括数据接收模块、数据类型感知与分类模块、大写数据的fdt表更新模块、大写数据的fat表更新模块、小写数据读写控制模块、大写数据读写控制模块;
数据接收模块与数据类型感知与分类模块相连,数据接收模块接收外部数据,并发送至数据类型感知与分类模块;
数据类型感知与分类模块与小写数据读写控制模块、大写数据读写控制模块相连,数据类型感知与分类模块识别来自数据接收模块的数据,将数据分为大写数据和小写数据,并将大写数据送入大写数据读写控制模块,将小写数据送入小写数据读写控制模块;
大写数据的fdt表更新模块与小写数据读写控制模块相连,在数据存储过程中大写数据的fdt表更新模块生成大写数据的文件管理fdt表数据,并送入小写数据读写控制模块;
大写数据的fat表更新模块与小写数据读写控制模块相连,在数据存储过程中大写数据的fat表更新模块生成大写数据的文件管理fat表数据,并送入小写数据读写控制模块;
小写数据读写控制模块与大写数据读写控制模块、相变存储器相连,在存储过程中小写数据读写控制模块将小写数据、大写数据的文件管理fdt表数据与fat表数据按照相变存储器的读写协议写入相变存储器,其中大写数据的文件管理fdt表数据和fat表数据按照与小写数据的相同方法进行读写控制;在存储结束后将保存的大写数据的文件管理fat表数据和fdt表数据从相变存储器内读出,并发送到大写数据读写控制模块;
大写数据读写控制模块与小写数据读写控制模块、闪存阵列相连,在存储过程中大写数据读写控制模块将大写数据存入闪存阵列;存储结束时接收来自小写数据读写控制模块的大写数据的文件管理fat表数据和fdt表数据,并保存到闪存阵列。
技术总结