Flash存储器、Flash存储器的文件管理方法和装置与流程

文档序号:14897326发布日期:2018-07-08 08:47阅读:142来源:国知局

本申请实施例涉及存储器技术,尤其涉及一种flash存储器、flash存储器的文件管理方法和装置。



背景技术:

flash存储器是一种基于半导体技术的非易失性存储器,具有功耗低,容量大,体积小,重量轻,访问速度高等优点,已逐步取代其它半导体存储器件而广泛应用于移动电子产品中。

任何flash存储器都是有固定存储容量的,其写入操作只能在空或者已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除,但是flash芯片的寿命是有限的,超过最大的擦除次数,容易损坏flash芯片。为了解决在进行写入操作之前必须先执行擦除的问题,现有的flash文件存储管理方法,例如申请号为01142240,名为《flash存储文件管理方法》的专利申请,将flash存储区分为文件索引区和文件数据存储区两个区域,文件索引区用于记录文件目录和基本分配单元“块”的分配信息,文件数据存储区用于存储文件的具体内容,适用于随机对文件进行读、写和擦除操作,操作灵活。

但是上述方法对于存储的文件包含设置信息及连续数据两部分的情况下,会出现操作复杂,不易实现,操作延时长等问题。



技术实现要素:

本申请实施例提供一种flash存储器、flash存储器的文件管理方法和装置,以实现对包含设置信息及连续数据两部分的文件的快速操作。

第一方面,本申请实施例提供一种flash存储器,包括:存储区域;

所述存储区域被划分为多个页,所述存储区域包括内容区,所述内容区用于存储至少一个文件,每个文件包括设置页和数据页,所述数据页用于存储数据,所述设置页用于存储与采集所述数据相关的设置信息。

在一种可能的设计中,所述存储区域还包括分配区,所述分配区包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自的内容为相应文件的设置页的页号,所述设置页的页号用于指示设置页的存储位置。

在一种可能的设计中,所述存储区域还包括引导区和默认配置区;

所述引导区用于存储相应的数据采集装置的属性信息和所述存储区域的划分信息;

所述默认配置区用于存储与采集数据相关的默认设置信息。

第二方面,本申请实施例提供一种flash存储器的文件管理方法,所述方法为基于第一方面任一可能的设计中所述的flash存储器的方法;所述方法包括:

当待存储文件为至少一个时,对于每个待存储文件,确定待存储文件的目标设置页,并将与采集待存储文件的数据相关的目标设置信息写入所述目标设置页中;其中,所述目标设置信息包括待存储文件的目标数据页的首页信息;

对于每个待存储文件,根据目标设置信息中的首页信息,确定待存储文件的目标数据页的首页,并从所述首页开始,将采集的目标数据连续写入所述flash存储器中;其中,所述目标数据是数据采集装置按照相应的目标设置信息采集的。

在一种可能的设计中,在所述存储区域还包括分配区,且所述分配区包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自的内容为相应文件的设置页的页号时,所述确定待存储文件的目标设置页,包括:

读取所述分配区所在的页包括的信息,得到所述分配区包括的所有项的内容;

若内容区存储有至少一个文件,则获取所述所有项中包括页号的项的内容中的最大页号;

根据所述最大页号,得到所述目标设置页的页号,所述目标设置页的页号为所述最大页号与预设值之和;

根据所述目标设置页的页号,确定所述目标设置页。

在一种可能的设计中,在读取所述分配区所在的页包括的信息,得到至少一个项的内容之后,所述方法还包括:

获取所述所有项的内容中包括的页号的数量,所述数量用于指示内容区存储的文件的数量;

根据所述数量、分配区中第一个项的偏移地址和每个项占用的字节数,获取所述目标配置页的页号在所述分配区的目标存储位置;

在根据所述最大页号,得到所述目标设置页的页号之后,所述方法还包括:

在所述分配区的目标存储位置处写入所述目标设置页的页号。

在一种可能的设计中,在所述获取所述至少一个项的内容中的最大页号之后,包括:

读取最大页号指示的第一设置页的内容,得到第一设置页中的第一设置信息,所述第一设置信息中包括文件的数据页的尾页信息;

根据所述尾页信息,确定所述待存储文件的目标数据页的首页信息。

在一种可能的设计中,在所述存储区域还包括分配区,且所述分配区包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自的内容为相应文件的设置页的页号时,所述方法还包括:

采集数据的过程结束后,对于每一个待存储文件,将待存储文件的尾页信息写入待存储文件的目标配置页中;其中,所述尾页信息包括存储最后一项采集的数据的物理地址。

在一种可能的设计中,在所述存储区域还包括分配区,且所述分配区包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自的内容为相应文件的设置页的页号时;所述方法还包括:

读取所述分配区所在的页包括的信息,得到至少一个设置页的页号;

根据所述至少一个设置页的页号,读取每个页号指示的设置页的设置信息,得到所述flash存储器中存储的各文件的设置信息;

根据用户输入的待读文件的标识,读取所述待读文件的数据页中包括的数据;其中,所述待读文件的标识是用户根据flash存储器中存储的各文件的设置信息获取到的。

第三方面,本申请实施例一种flash存储器的文件管理装置,所述装置为基于基于第一方面任一可能的设计中所述的flash存储器的装置,所述装置包括:

信息设置模块,用于当待存储文件为至少一个时,对于每个待存储文件,确定待存储文件的目标设置页,并将与采集待存储文件的数据相关的目标设置信息写入所述目标设置页中;其中,所述目标设置信息包括待存储文件的目标数据页的首页信息;

数据写入模块,用于对于每个待存储文件,根据目标设置信息中的首页信息,确定待存储文件的目标数据页的首页,并从所述首页开始,将采集的目标数据连续写入所述flash存储器中;其中,所述目标数据是数据采集装置按照相应的目标设置信息采集的。

在一种可能的设计中,所述装置还包括:数据读取模块;

所述数据读取模块用于,在所述存储区域还包括分配区,且所述分配区包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自的内容为相应文件的设置页的页号时;读取所述分配区所在的页包括的信息,得到至少一个设置页的页号;

根据所述至少一个设置页的页号,读取每个页号指示的设置页的设置信息,得到所述flash存储器中存储的各文件的设置信息;

根据用户输入的待读文件的标识,读取所述待读文件的数据页中包括的数据;其中,所述待读文件的标识是用户根据flash存储器中存储的各文件的设置信息获取到的。

第四方面,本申请实施例提供一种flash存储器的文件管理系统,包括:第一方面任一可能的设计中所述的flash存储器、数据采集装置、所述数据采集装置的控制设备和终端设备;

所述flash存储器、所述数据采集装置和所述终端设备均与所述数据采集装置的控制设备连接;

其中,所述数据采集装置的控制设备包括第三方面任一可能的设计中所述的flash存储器的文件管理装置。

第五方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第二方面任一可能设计中所述的方法。

第六方面,本申请实施例提供一种电子设备,包括:处理器、存储器及通信总线,所述通信总线用于实现各元器件之间的连接,所述存储器用于存储程序指令,所述处理器用于读取所述存储器中的程序指令,并根据所述存储器中的程序指令执行第二方面任一可能设计中所述的方法。

本申请中由于文件的设置页和数据页是分开设置的,且设置页中包含相应数据页的首页信息,因此,可方便快速的将设置信息写入设置页,将数据写入数据页中。同时,还可以先将多个待存储文件的设置信息写入各自的设置页中,再分别按照各自设置信息中与采集数据有关的设置信息进行数据的采集,写入各自的数据页中,保证了在需要得到多个待存储文件时,数据写入过程的方便快速。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种可能的系统架构图;

图2为本申请实施例提供的flash存储器的存储区域划分示意图;

图3为本申请实施例提供的文件属性定义图;

图4为本申请实施例提供的启动方式定义图;

图5为本申请实施例提供的停止方式定义图;

图6为本申请提供的flash存储器的文件管理方法流程图一;

图7为本申请实施例提供的flash存储器的存储区域分布示意图;

图8为本申请提供的flash存储器的文件管理方法流程图二;

图9为本申请实施例提供的flash存储器的文件管理装置实施一的结构示意图

图10为本申请实施例提供的flash存储器的文件管理装置实施二的结构示意图;

图11为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种可能的系统架构图,参见图1,该系统架构可包括flash存储器11、数据采集装置12、数据采集装置的控制设备13和终端14。其中,flash存储器11的存储区域被划分为多个页,存储区域包括内容区,内容区用于存储至少一个文件,每个文件包括设置页和数据页,数据页用于存储数据采集装置采集的数据,设置页用于存储与采集数据相关的设置信息,设置信息包括与该设置页对应的数据页的首页信息,每个文件的数据页至少为一页。

具体地,flash存储器11与控制设备13建立连接后,控制设备13可对flash存储器进行写入操作以及读取flash存储器内存储的信息的操作。控制设备13可接收终端14发送的与采集数据相关的设置信息,并将与采集数据相关的设置信息写入flash存储器11中的设置页中,控制设备13按照flash存储器11中设置页中的设置信息控制数据采集装置12进行数据采集,并将数据采集装置12采集到的数据写入到数据页中;其中,设置页和数据页组成一个文件的内容。

由于flash存储器中存储的每个文件均包括设置页和数据页,因此,在写入相应文件时,先确定设置页,并在设置页中写入部分设置信息,以使控制设备可控制数据采集装置按照设置信息采集数据,设置信息写入过程快速方便,又由于设置信息中包括了相应文件的数据页的首页信息,采集的数据连续写入的区域也被确定,因此,连续数据写入过程也快速方便。

下面采用具体的实施例对本申请的flash存储器进行详细的说明。

图2为本申请实施例提供的flash存储器的存储区域划分示意图,参见图2,flash存储器的存储区域被划分为多个页,存储区域包括内容区21、分配区22、引导区23和默认配置区24。

内容区21用于存储至少一个文件,每个文件包括设置页和数据页,数据页用于存储数据,设置页用于存储与获取数据相关的设置信息。

分配区22包括多个项,当内容区存储有n个文件时,则分配区中的n个项各自内容包括相应文件的设置页的页号。

引导区23用于存储相应的数据采集装置的属性信息和存储区域的划分信息。

默认配置区24用于存储与采集数据相关的默认设置信息。

具体地,本实施例中的flash存储器的存储区域被按照flash擦除的最小单位划分为0号起始的多个页,若flash存储器的存储容量为2m,flash擦除的最小单位为1kb,则存储区域被划分为2048页,其中,用于存储的页数可小于等于2048页。

首先,先对引导区23进行说明。

引导区23用于存储对应的数据采集装置的属性信息和存储区域的划分信息,比如数据采集装置的存储版本、名称、创建时间、类型、存储区域各区各自的起始页号和所占页数等,还可包括:数据采集装置出厂时间和校准数据等。可将存储区域的第0页作为引导区。

若数据采集装置为温湿度传感器,则flash存储器的引导区存储的具体数据以及属性可参见表1。

表1、引导区存储的具体数据以及属性

参见表1可知,引导区包括:温湿度传感器的存储名称、温度分辨率、0表示的实际最小温度、最高温度、湿度分辨率、0表示的实际最小湿度、最高湿度等;还包括:引导区起始页号、引导区页数、默认配置区起始页号、默认配置区页数、分配区起始页号、分配区页数、内容区起始页号、内容区页数。

因此,通过读取引导区的内容,便可获知分配区、默认配置区、内容区的位置。

其中,对于温度分辨率;使用两个字节表示:[bytehigh,bytelow],bytehigh表示小数点后的位数,bytelow表示数字,因此温度分辨率t1的换算公式为:即如引导区存储的温度分辨率为0x201,则实际的温度分辨率为其中,0x201对应的低字节bytelow是0x01,0x201对应的高位字节bytehigh是0x02,[0x02,0x01]=0x201。

在实际的使用过程中,温湿度传感器的控制设备读取引导区中存储的温度分辨率,按照上述方法,即可得到实际的温度分辨率,用于控制温湿度传感器对温度的测量。

对于温湿度传感器检测范围内可以检测到的实际最小温度tmin实:若flash存储器中存储的温度值tflash1为0时表示-46.85℃,表示为tmin=-46.85℃,则tmin实=tflash1*t1+tmin=0*0.01-46.85=-46.85。

对于湿度分辨率:用两个字节表示:[bytehigh,bytelow],bytehigh表示小数点后的位数,bytelow表数字,因此湿度分辨率h1的换算公式为:即如引导区存储的湿度分辨率为0x201,则实际的温度分辨率为其中,0x201对应的低字节bytelow是0x01,0x201对应的高位字节bytehigh是0x02,[0x02,0x01]=0x201。

在实际的使用过程中,温湿度传感器的控制设备读取引导区中存储的湿度分辨率,按照上述方法,即可得到实际的湿度分辨率,用于控制温湿度传感器对湿度的测量。

对于实际温度与flash存储器中存储的温度值之间的换算:若已知flash存储器中存储的温度值为tflash2,则实际温度t实=tflash2×t1+tmin实,若已知实际温度t实,则

在实际的使用过程中,若温湿度传感器的控制设备读取flash存储器中存储的温度值,则可通过公式:t实=tflash2×t1+tmin实,得到实际的温度;若温湿度传感器的控制设备将温湿度传感器采集到的温度值写入flash存储器中,则通过公式得到存储至flash存储器中的值。

对于实际湿度与flash存储器中存储的湿度值之间的换算:若已知flash存储器中存储的湿度值为hflash,则实际湿度h实=hflash×h1+hmin,若已知实际湿度h实,则由表1可知,hmin等于0。

在实际的使用过程中,若温湿度传感器的控制设备读取flash存储器中存储的湿度值,则可通过公式:h实=hflash×h1+hmin,得到实际的湿度;若温湿度传感器的控制设备将温湿度传感器采集到的湿度值写入flash存储器中,则通过公式得到存储至flash存储器中的值。

其次,对默认配置区24进行说明。

默认设置区24,用于存储与采集数据相关的默认设置信息,比如,设置信息中的采样间隔。

接着,对分配区22进行说明。

分配区22包括多个项,每一项占用2个字节,每个字节为8位,即16bytes,每个项的内容为对应文件设置页的页号;若内容区21存储有n个文件时,则分配区中有n个项,各自的内容为相应文件的设置页的页号;除了该n个项其余的项的内容可均为ffffh。

这样,分配区中的第一项的物理地址即为分配区所在页的起始地址,因此可知分配区中的第一项的偏移地址,再根据内容区文件的数量以及每项占用的字节数,就可以得到当前待存储文件的目标设置页的存储位置对应的偏移地址,根据目标设置页的存储位置对应的偏移地址,就可得到存储目标设置页的物理地址。

接着,对内容区21进行说明。

内容区21用于存储至少一个文件,每个文件包括设置页和数据页。

数据页用于连续存储数据采集装置采集的数据,每一个文件的数据页至少包括一页,且不限制每一个文件的数据页包括的页数,与具体需要存储的数据相关。

设置页用于存储与采集数据相关的设置信息,设置信息包括与该设置页对应的数据页的首页信息。

若数据采集装置为温湿度传感器,则flash存储器的设置页存储的具体数据可参见表2。

表2、设置页存储的具体数据

由表2可知,设置页的设置项包括:文件属性、温湿度传感器的启动方式、温湿度传感器的停止方式、温湿度传感器的采样间隔、采样的起始时间、采样的停止时间、存储采样数据的首页0址处的地址、有效数据终止地址等。

对上述的各设置项进行设置后,便可得到与采集数据相关的设置信息。

图3为本申请实施例提供的文件属性定义图,图4为本申请实施例提供的启动方式定义图,图5为本申请实施例提供的停止方式定义图。

对于文件属性,参见图3,占用两个字节,16位,没有用到的位默认为“1”;对于0位:若0位为0表示进行温度采样,为1表示不进行温度采样;对于1位:为0表示进行湿度采样,为1表示不进行湿度采样。

当用户需求为检测温度时,用户通过终端输入温度采集指令,终端将温度采集指令发送至温湿度传感器的控制设备,温湿度传感器的控制设备根据接收到温度采集指令将文件属性设置为采集温度,即在文件属性对应的字节的0位的值由“1”替换成“0”。当用户需求为检测温度和湿度时,用户通过终端输入温湿度采集指令,终端将温湿度采集指令发送至温湿度传感器的控制设备,温湿度传感器的控制设备根据接收到温湿度采集指令将文件属性设置为采集温湿度,即在文件属性对应的字节的0位的值由“1”替换成“0”,1位的值由“1”替换成“0”。

经过上述过程,即完成了对文件属性的设置,得到了文件属性对应的设置信息。

对于温湿度传感器的启动方式,参见图4,占用两个字节、16位,没有用到的位默认为“1”;对于0位:若0位为1表示按键启动温湿度传感器,否则按键不影响温湿度传感器的启动;对于1位:为0表示设置信息设置完毕后延后一段时间(延迟时间为用户通过终端设置的)启动温湿度传感器,对于2位:为1表示定时启动温湿度传感器。

对于启动方式的设置,得到启动方式对应的设置信息的过程,参见得到文件属性对应的设置信息的过程,此处不再赘述。

对于停止方式,参见图5,占用两个字节、16位,没有用到的位默认为“1”;对于0位:为0表示按键停止温湿度传感器,否则按键不影响温湿度传感器的停止;对于1位:为0表示从flash存储器中读取数据时要停止采样,否则不影响采样;对于2位:为0表示采样数固定,否则采样长度不限制。

对于停止方式的设置,得到停止方式对应的设置信息的过程,参见得到文件属性对应的设置信息的过程,此处不再赘述。

对于采样间隔:用户通过终端输入采样间隔,终端将采样间隔发送至温湿度传感器的控制设备,温湿度传感器的控制设备将接收到采样间隔写入至采样间隔对应的字节处,得到了设置信息:采样间隔。

若用户没有通过终端设置采用间隔,温湿度传感器的控制设备在控制温湿度传感器进行采样时,可通过读取默认设置页中的默认采样间隔控制温湿度传感器进行采样。

对于采样起始时间:当温湿度传感器启动开始采集相应数据时,温湿度传感器的控制设备将相应的时间写入至采样起始时间对应的字节处,得到了设置信息:采样起始时间。

对于采样停止时间:当温湿度传感器停止采集相应数据时,温湿度传感器的控制设备将相应的时间写入至采样停止时间对应的字节处,得到了设置信息:采样停止时间。

对于存储采样数据的首页0址处的地址:一种方式为用户可通过终端输入存储采样数据的首页0址处的地址,终端将存储采样数据的首页0址处的地址发送至温湿度传感器的控制设备,温湿度传感器的控制设备将接收到存储采样数据的首页0址处的地址写入至设置页中,得到了设置信息:存储采样数据的首页0址处的地址。另外一种方式为:温湿度传感器的控制设备将“存储采样数据的首页0址处的地址”写入设置页中。

其中,“存储采样数据的首页0址处的地址”决定了相应文件的数据页的首页信息,也就是“存储采样数据的首页0址处的地址”所对应的页就是相应文件的数据页的首页。

对于有效数据终止地址:在数据采集完毕后,温湿度传感器的控制设备将实际有效数据终止地址(即存储相应文件的最后一项采集数据的地址)写入。

对于其它的设置项的设置信息的设置过程本实施例中不再赘述。一个文件的设置页包括的设置信息是对该文件的数据页存储的数据的属性的描述。数据采集装置的控制设备控制温湿度传感器在当前的采集数据过程中,按照已经设置好的设置信息:比如是采集温度还是湿度、采样间隔、采集的数据从哪一页开始写入(也就是数据页的首页),进行数据的采集以及采集的数据的写入,并在采集数据的整个过程中,完善与采集数据相关的设置页的信息比如:采样起始时间、采样停止时间、有效数据终止地址。当数据采集结束后,与该数据采集过程相对应的文件便存储完毕,该文件设置页中存储了该文件的设置信息(也就是属性),也就是如何采集的、采集的什么、采集数据的存储地址等,数据页中连续存储了采集的数据。

下面采用具体的实施例对本申请的flash存储器的文件管理方法进行详细的说明。

图6为本申请提供的flash存储器的文件管理方法流程图一,如图6所示,本实施例的方法可以包括:

步骤s101、当待存储文件为至少一个时,对于每个待存储文件,确定待存储文件的目标设置页,将与采集待存储文件的数据相关的目标设置信息写入目标设置页中;其中,目标设置信息包括相应待存储文件的目标数据页的首页信息;

步骤s102、对于每个待存储文件,根据目标设置信息中的首页信息,确定待存储文件的目标数据页的首页,并从首页开始,将采集的目标数据连续写入flash存储器中;其中,目标数据是数据采集装置按照相应目标设置信息采集的。

具体地,本实施例中的执行主体可为图1中的控制设备13,涉及向图2所示的实施例中的flash存储器写入文件的方法。

下面以数据采集装置为温湿度传感器为例,对文件写入图2所示的实施例中的flash存储器的过程进行说明。

对于步骤s101:当用户需要开始一个或者多个数据采集过程时,也就是说存在至少一个待存储文件,需要确定各待存储文件各自的目标配置页,以将与采集相应待存储文件的数据相关的目标设置信息写入相应的目标配置页中;而与采集相应待存储文件的数据相关的设置信息中包括相应待存储文件的目标数据页的首页信息,因此,当用户需要开始一个或者多个数据采集过程时,也就是说存在至少一个待存储文件时,还需要确定该待存储文件的目标数据页的首页信息。

上述的目标设置信息还包括:文件属性、温湿度传感器的启动方式、温湿度传感器的停止方式、温湿度传感器的采样间隔等。文件属性、温湿度传感器的启动方式、温湿度传感器的停止方式、温湿度传感器的采样间隔等,这些目标设置信息都是用户根据自己的需求决定的,因此,这些目标设置信息可通过终端设置后发送至温湿度传感器的控制设备,温湿度传感器的控制设备将这些目标设置信息写入目标配置页。

本领域技术人员可以理解的是,上述目标设置信息并不是待存储文件全部的设置信息,在数据采集过程开始后,温湿度传感器的控制设备还会写入与采集数据相关的设置信息,比如起始采样时间、终止采样时间等。

下面分别对确定待存储文件的目标数据页的首页信息的过程以及确定待存储文件的目标配置页的过程进行说明。

在说明确定待存储文件的目标数据页的首页信息的过程以及确定待存储文件的目标配置页的过程之前,首先对flash存储器的存储区域的分布进行说明。

图7为本申请实施例提供的flash存储器的存储区域分布示意图。

参见图7,可知引导区在最前面的页,默认配置区在引导区后面的页,分配区在默认配置区后面的页,内容区在分配区后面的页。内容区的前p页为各文件的设置页,每个文件的设置页为1页,后面的s页为各文件的数据页。

对于分配区和内容区:参见图7,分配区中项号为0005h的项的内容为000bh,指示内容区中第000bh页的设置页,分配区中项号为0006h的项的内容为0010h,指示内容区中第0010h页的设置页。其中,项号只是为了清楚的对分配区进行说明,分配区中并没有存储有项号。

首先对确定该待存储文件的目标数据页的首页信息的过程进行说明。

确定该待存储文件的目标数据页的首页信息的过程可如下:

a1、读取分配区所在的页包括的信息,得到分配区包括的所有项的内容;

a2、若内容区存储有至少一个文件,则获取所有项中包括页号的项的内容中的最大页号;

a3、读取最大页号指示的第一设置页的内容,得到第一设置页中的第一设置信息,第一设置信息中包括文件的数据页的尾页信息;

a4、根据第一设置信息中包括文件的数据页的尾页信息,确定待存储文件的首页信息。

对于a1、温湿度传感器的控制设备通过读取引导区,获知分配区的起始页以及分配区占用的页数,也就是获知了分配区所在的页。

在获知了分配区所在的页后,温湿度传感器的控制设备读取分配区所在的页包括的信息,得到分配区包括的所有项的内容;其中,分配区包括多个项,并不一定每个项的内容都为文件设置页的页号。

对于a2~a3、若内容区存储有至少一个文件,则从分配区包括的所有项中包括页号的内容中提取出最大页号;根据该最大页号,读取最大页号指示的第一设置页的设置信息,也就是若最大页号为m,则读取第m页的内容。其中,最大页号即为内容区存储的最后一个文件的配置页的页号,那么第一设置页即为内容区存储的最后一个文件的设置页。根据前述对设置页的阐述,可知设置页中包括文件的尾页信息:有效数据终止地址,因此,根据读取的第一设置页的设置信息可得到内容区存储的最后一个文件的尾页信息。

对于a4、对于内容区存储有至少一个文件的情况,根据内容区存储的最后一个文件的尾页信息,确定待存储文件的首页信息。比如根据内容区存储的最后一个文件的尾页信息确定内容区存储的最后一个文件的尾页页号为k,那么待存储文件的数据首页页号可为k+1,当然也可为k+2等,进而可得到待存储文件的目标数据页的首页信息,比如:目标数据页的首页0址处的地址。

若内容区没有存储文件,确定第一个待存储的文件的首页时,则待存储文件的首页页号可为p+3(对应与:内容区包括p页设置页,分配区占一页、默认配置区占一页、引导区占一页,则内容区可存储数据的首页为存储区域的第p+4页,页号为p+3)。

上述获取目标数据页的首页信息的过程的执行主体为温湿度传感器的控制设备,适用场景为温湿度传感器的启动方式为按键启动,此时温湿度传感器的控制设备可在接收到用户通过按键输入温湿度传感器的启动指令后,按照a1~a4中的方法,确定待存储文件的目标数据页的首页信息后,将待存储文件的目标数据页的首页信息写入目标设置页中,然后控制温湿度传感器开始采集数据。

此外,温湿度传感器的控制设备可根据a1~a3中的方法将读取完的第一设置页的设置信息,发送至终端进行显示,用户按照a4中的方法,确定待存储文件的目标数据页的首页信息后,将待存储文件的目标数据页的首页信息输入终端,终端将其发送至温湿度传感器的控制设备,温湿度传感器的控制设备待存储文件的目标数据页的首页信息写入目标配置页中。此时,若内容区没有存储文件,则在确定第一个待存储的文件的首页时,发送至终端的页号可为p+3。

此时,第一设置页中的尾页信息在终端可显示为尾页页号,即温湿度传感器的控制设备会将“有效数据终止地址”转化为尾页页号后再发送至终端进行显示。用户输入的首页信息也可为首页页号,温湿度传感器的控制设备会将接收到的首页页号转化成“存储采样数据的首页0址处的地址”后写入目标设置页中。

本领域技术人员应当明白,当待存储文件具有多个,且先将各存储文件的设置信息写入至相应的目标设置页中时,由于数据还没有进行采集写入,无法获知每个待存储文件的尾页信息,第一个待存储文件(设置页的页号最小的待存储文件)可以按照上述的方法确定目标数据页的首页信息,对于第二个待存储文件的目标数据页的首页信息可在第一个待存储文件存储完毕后,温湿度传感器的控制设备按照a1~a4中的方法确定首页信息后写入至相应的设置页中(即设置信息的首页信息不先通过终端设置),此时,便不存在内容区不包括文件的情况,且此时读取的分配区的最大页号为第一待存储文件的配置页的页号,内容区存储的最后一个文件为第一个待存储文件。对于其它的待存储文件的目标数据页的首页,获取原理与第二个待存储文件的获取原理相同,此处不再赘述。

其次,对获取待存储文件的目标配置页的过程进行说明。

获取待存储文件的目标配置页的过程可如下:

b1、读取分配区所在的页包括的信息,得到分配区包括的所有项的内容;

b2、若内容区存储有至少一个文件,则获取所有项中包括页号的项的内容中的最大页号;

b3、根据最大页号,得到目标设置页的页号,目标设置页的页号为最大页号与预设值之和;

b4、根据目标设置页的页号,确定目标设置页。

对于b1:参见前述对a1的描述,此处不再赘述。

对于b2~b3、若内容区存储有至少一个文件,则分配区包括的所有项中包括页号的内容中提取出最大页号;若每个文件的设置页占用的页数为1页,可将最大页号加1后得到目标设置页的页号,即此时的预设值为1。在得到了目标设置页的页号后,就确定了目标设置页,也就是确定了与目标设置页对应的flash存储器的物理地址。

若内容区没有存储文件,则不存在最大页号,确定第一个待存储的文件的目标设置页的页号时,若分配区占一页、默认配置区占一页、引导区占一页,则第一个待存储的文件的目标设置页的页号为3。

另外,需要将待存储文件的目标设置页的页号写入到分配区中。具体方法为:

c1、读取分配区所在的页包括的信息,得到分配区包括的所有项的内容;

c2、获取所有项的内容中包括的页号的数量,该数量用于指示内容区存储的文件的数量;

c3、根据内容区存储的文件的数量、分配区中第一个项的项号和每个项占用的字节数,获取目标配置页的页号在分配区的目标存储位置;

c4、在目标存储位置处写入目标页的页号。

具体地,对于c1,参见前述对a1的阐述,此处不再赘述。

对于c2,从分配区读取出来多少个页号,就说明内容区具有多少个设置页,因为每个文件均具有一个设置页,因此,分配区的所有项的内容中包括的页号的数量与内容区包括的文件的数量相同。

对于c3,如前所述,分配区中每个项占用两个字节,因此,可根据内容区包括的文件的数量(或者说读取的至少一个项的内容中包括的页号的数量)、分配区中第一个项的偏移地址、每个项占用的字节数,获取目标配置页的页号在分配区的目标存储位置。其中,目标存储位置为存储目标配置页的页号的物理地址。其中,分配区中的第一项的物理地址即为分配区所在页的起始地址,因此可知分配区中的第一项的偏移地址。

具体地,可通过如下实现方式得到目标配置页的页号在分配区的目标存储位置:根据内容区包括的文件的数量、分配区中第一个项的偏移地址、每个项占用的字节数,获取存储目标配置页的页号的项的目标偏移地址;根据目标偏移地址和分配区的基地址之和,得到存储目标配置页的页号的物理地址,也就是得到了目标存储位置。

对于步骤s102、在将目标设置信息写入至目标设置页后,温湿度传感器的控制设备可根据目标设置信息中的首页信息:“存储采样数据的首页0址处的地址”,得到目标数据页的首页,也就是得到目标数据页的首页的物理地址;其中,目标数据页用于存储待存储文件的数据,待存储文件的数据即为当前采集过程开始后温湿度传感器按照目标设置页中已经设置好的目标设置信息采集得到的数据,目标设置页中已经设置好的目标设置信息可包括:进行温度采样、采样间隔0.01s等。

目标数据页的首页确定后,温湿度传感器的控制设备根据目标设置页中设置的温湿度传感器的启动方式,控制温湿度传感器开始采集数据,并控制温湿度传感器按照目标设置信息中与数据采集过程相关的设置信息进行数据采集,将温湿度传感器采集得到的数据从该首页开始,连续写入flash存储器中。

具体地,温湿度传感器将按照目标设置信息中与数据采集过程相关的设置信息采集得到的数据转化成flash存储器存储的值后,从该首页开始,连续写入flash存储器中。其中,温湿度传感器将采集到的温度和/或湿度转化为flash存储器存储的值的方法详见上述对“引导区”部分的介绍。

目标数据页中的每一页中的每一项是一个采样点的数据,每个采样点的长度是由文件属性决定的。当文件属性为温度采样时,每个采样点数据的长度是两个字节,当文件属性为进行温度采样和湿度采样时,每个采样点的数据长度是四个字节,前两个字节是温度表示,后两个字节是湿度表示。即目标数据页是由一系列的采样点数据组成,相应页中没有用到的各字节可为0xff。

采集数据结束后,对于每一个待存储文件,将待存储文件的尾页信息写入待存储文件的目标配置页中,完善目标配置页的目标配置信息,也就是完善待存储文件的数据的属性信息。尾页信息可包括存储最后一项采样数据的物理地址。

本领域技术人员可以理解的是,若待存储文件有多个,步骤s101和步骤s102可先后进行,即先将多个待存储文件的设置信息分别写入各自的设置页后,再分别按照各自设置信息中与采集数据有关的设置信息进行数据的采集,写入各自的数据页中,即先对多个待存储文件进行设置信息的设置,再分别采集各待存储文件的数据;步骤s101和步骤s102还可不存在先后顺序,即先将一个待存储文件的设置信息写入相应的设置页,然后采集该待存储文件的数据,再将下一个待存储文件的设置信息写入相应的设置页以及采集该待存储文件的数据,即设置一个待存储文件的设置信息后,采集一个待存储文件的数据。

本实施例中由于文件的设置页和数据页是分开设置的,且设置页中包含相应数据页的首页信息,因此,可方便快速的将设置信息写入设置页,将数据写入数据页中。同时,还可以先将多个待存储文件的设置信息写入各自的设置页中,再分别按照各自设置信息中与采集数据有关的设置信息进行数据的采集,写入各自的数据页中,保证了在需要得到多个待存储文件时,数据写入过程的方便快速。

本实施例的flash存储器的文件管理方法,包括当待存储文件为至少一个时,对于每个待存储文件,确定待存储文件的目标设置页,将与待存储文件的数据相关的目标设置信息写入目标设置页中;其中,目标设置信息包括相应待存储文件的数据页的首页信息;对于每个待存储文件,根据目标设置信息中包括的首页信息,确定待存储文件的目标数据页的首页,并从该首页开始,将采集的目标数据连续写入flash存储器中;其中,目标数据是数据采集装置按照相应目标设置信息中的与采集数据相关的信息采集的。本实施例的flash存储器的文件管理方法,数据写入过程的方便快速,并可保证在需要得到多个待存储文件时,数据写入过程的方便快速。

下面采用具体的实施例对从flash存储器中读取文件的过程进行说明。

图8为本申请提供的flash存储器的文件管理方法流程图二,如图8所示,本实施例的方法可以包括:

步骤s201、读取分配区所在的页包括的信息,得到至少一个设置页的页号;

步骤s202、根据至少一个设置页的页号,读取每个页号指示的设置页的设置信息,得到flash存储器中存储的各文件的设置信息;

步骤s203、根据用户输入的待读文件标识,读取待读文件的数据页中包括的具体数据;其中,待读文件标识是用户根据flash存储器中存储的各文件的设置信息确定的。

具体地,对于步骤s201、湿度传感器的控制设备通过读取引导区,获知分配区的起始页以及分配区占用的页数,也就是获知了分配区所在的页。

在获知了分配区所在的页后,温湿度传感器的控制设备读取分配区所在的页包括的信息,得到所有项的内容,提取所有项中包括页号的项的内容中的页号,得到至少一个设置页的页号。

对于步骤s202、据至少一个设置页的页号,读取每个页号指示的设置页的设置信息,得到flash存储器中存储的各文件的设置信息,也就是得到了一个设置信息列表,该设置信息列表中包括flash存储器中存储的所有文件的设置信息。

对于步骤s203、温湿度传感器的控制设备获取到flash存储器中存储的所有文件的设置信息后,将其发送至终端进行显示,用户通过终端的显示界面获知flash存储器中存储的所有文件的设置信息。

如前所述,每个文件的设置信息中包括文件属性、采样间隔、采样起始时间、采样终止时间、数据页的首页信息和尾页信息等。比如,用户想查看a1~a2时间范围内采样的温度数据,而某个文件的设置信息中的文件属性为温度采样,采样起始时间为b1,采样终止时间为b2,b1早于或等于a1,b2晚于或等于a2,则可确定该文件为待读文件,该设置信息中的数据页的首页信息和尾页信息即为确定的待读文件的标识;用户通过终端输入待读文件的标识,其中,用户在显示界面看到的首页信息可为首页页号,在显示界面看到的尾页信息可为尾页页号。

终端将待读文件的标识发送至温湿度传感器的控制设备,温湿度传感器的控制设备将待读文件的数据页的数据读出后,发送至终端,从而实现了读取flash存储器中的文件的过程。

具体地,温湿度传感器的控制设备从待读文件的数据页的首页开始读取数据,若当前读取的页的页号小于或等于终止页号,则判断是否出现ffff页,若否,则读取的当前页的数据,若是,停止读取数据;若当前读取的页的页号大于终止页号,则停止读取数据。其中,ffff页是指出现错误的页。

本领域技术人员可以理解的是,若flash存储器的设置页中存储的首页信息为“存储采样数据的首页0址处的地址”,而终端向用户显示的是首页页号,则温湿度传感器的控制设备会将“存储采样数据的首页0址处的地址”转化为首页页号后再发送至终端进行显示。若flash存储器的设置页中存储的尾页信息为“有效数据终止地址”,而终端向用户显示的是尾页页号,则温湿度传感器的控制设备会将“有效数据终止地址”转化为尾页页号后再发送至终端进行显示。

本实施例中由于文件的设置页和数据页是分开设置的,且设置页中包含相应数据页的属性信息,用户可根据设置页中的设置信息确定想要读取的文件,读取过程方便快速。

图9为本申请实施例提供的flash存储器的文件管理装置实施一的结构示意图,如图9所示,本实施例的装置可以包括:信息设置模块11和数据写入模块12。

其中,flash存储器的存储区域被划分为多个页,存储区域包括内容区,内容区用于存储至少一个文件,每个文件包括设置页和数据页,数据页用于存储数据,设置页用于存储与采集数据相关的设置信息;信息设置模块11,用于当待存储文件为至少一个时,对于每个待存储文件,确定待存储文件的目标设置页,并将与采集待存储文件的数据相关的目标设置信息写入目标设置页中;其中,目标设置信息包括待存储文件的目标数据页的首页信息;数据写入模块12,用于对于每个待存储文件,根据目标设置信息中的首页信息,确定待存储文件的目标数据页的首页,并从首页开始,将采集的目标数据连续写入flash存储器中;其中,目标数据是数据采集装置按照相应的目标设置信息采集的。

信息设置模块11,具体用于读取分配区所在的页包括的信息,得到至少一个项的内容;若内容区存储有至少一个文件,则获取至少一个项的内容中的最大页号;根据最大页号,得到目标设置页的页号,目标设置页的页号为最大页号与预设值之和;根据目标设置页的页号,确定目标设置页。

信息设置模块11,还具体用于,项的内容还包括项号,项对应的偏移地址为项号的预设倍数,在读取分配区所在的页包括的信息,得到至少一个项的内容之后,获取至少一个项的内容中包括的页号的数量,数量用于指示内容区存储的文件的数量;根据数量、分配区中第一个项的项号和每个项占用的字节数,获取目标配置页的页号在分配区的目标存储位置;每个项占用的字节数与预设倍数相同;在根据最大页号,得到目标设置页的页号之后,在目标存储位置处写入目标设置页的页号。

信息设置模块11,还具体用于,在获取多个设置页各自的页号中的最大页号之后,读取最大页号指示的第一设置页的内容,得到第一设置页中的第一设置信息,第一设置信息中包括文件的数据页的尾页信息;根据尾页信息,确定待存储文件的首页信息。

信息设置模块11,还用于获取采集数据的过程结束后,对于每一个待存储文件,将待存储文件的尾页信息写入待存储文件的目标配置页中;其中,尾页信息包括存储最后一项获取的数据的物理地址。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本申请实施例提供的flash存储器的文件管理装置实施二的结构示意图,如图10所示,本实施例的装置在图9所示装置结构的基础上,进一步地,还可以包括:数据读取模块13。

数据读取模块13用于读取分配区所在的页包括的信息,得到至少一个设置页的页号;根据至少一个设置页的页号,读取每个页号指示的设置页的设置信息,得到flash存储器中存储的各文件的设置信息;根据用户输入的待读文件的标识,读取待读文件的数据页中包括的数据;其中,待读文件的标识是用户根据flash存储器中存储的各文件的设置信息获取到的。

本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

本申请实施例还提供一种flash存储器的文件管理系统,包括:图2所示的flash存储器、数据采集装置、数据采集装置的控制设备和终端设备;flash存储器、数据采集装置和所述终端设备均与数据采集装置的控制设备连接;其中,数据采集装置的控制设备包括图9或图10所示的flash存储器的文件管理装置。

本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如图6或图8所示的实施例中的方法。

图11为本申请实施例提供的电子设备的结构示意图,参见图11,本实施例的电子设备300,包括:处理器31、存储器32及通信总线33,通信总线33用于实现各元器件之间的连接,存储器32用于存储程序指令,处理器31用于读取存储器32中的程序指令,并根据存储器32中的程序指令执行图6或图8所示的实施例中的方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1