The invention discloses a sensor node non volatile memory data management method, which includes: (1) initialization steps: according to the amount of data stored in storage area, non easy memory initialization in the appropriate size; (2) the operating position calculation steps: embedded system every time when the power is on, scanning distribution of storage area, calculate the time increase and delete data in the tail and head position, avoid repeated erase operation in a location storage area; (3) increase the data each time steps: add new data, write data at the end of the storage area; (4) to delete the data: delete the old data each time step and delete data from the storage area of the head. The sensing node of the nonvolatile memory data management, solve the nonvolatile memory even erase problem, improve the reliability of non volatile memory, prolonging the service life, and can meet the new sensor node sensing data storage requirements.
【技术实现步骤摘要】
一种传感节点非易失存储器数据管理的方法
本专利技术涉及数据存储
,特别涉及一种传感节点非易失存储器数据管理的方法。
技术介绍
在物联网应用中,常需要部署传感节点来感知物理世界的情况。传感节点是一个嵌入式系统,包括传感器模块、计算与存储模块、通信模块和电源模块等。当传感节点获取的传感数据不能及时通过通信模块发送到后端系统时,就需要临时存储这些传感数据,以便以后将这些传感数据发送到后端系统进行分析。由于传感节点的尺寸、能耗有限,且工作环境一般比较恶劣(例如,在有振动的环境中工作),存储器通常采用非易失存储器来存储感知数据,这样,一旦传感节点的电源被切断或电源失效的情况下,也能持久性在非易失存储器中保存传感数据。非易失存储器具有尺寸小、能耗的优点外,还具有必须整块擦写的特点,为了向非易失存储器的某个位置写入数据,需要先将这个位置所在的存储块的数据读取代内存中,在内存中修改数据后,再擦出这个存储块,最后将内存数据写入这个存储块中。由于非易失存储器的寿命是由其能经受的擦写次数决定的,反复擦写非易失存储器的某些区域,可能会很快达到规定的擦写次数,整个非易失存储器可靠性脚 ...
【技术保护点】
一种传感节点非易失存储器数据管理的方法,其特征在于,包括:步骤1、根据要保存的数据量,在非易失存储器中初始化适当大小的存储区域;如果一条传感数据占用N字节,需要保存M条记录,则分配(N+L)×M字节的空间,其中每条记录需要一个L字节的记录号R,记录号R取值从1到S,M≤((S+1)/2);从分配的存储区域头部开始,逐条读取每个记录的记录号,如果记录号为0,则表示空白记录;如果记录号不为0,则表示有效数据记录,读取过程中,记下最小的有效数据记录号MinR及其位置编号MinL,记下最大的有效数据记录号MaxR及其位置编号MaxL;存储区域逐条记录读取S完成后,如果MinR=Ma ...
【技术特征摘要】
1.一种传感节点非易失存储器数据管理的方法,其特征在于,包括:步骤1、根据要保存的数据量,在非易失存储器中初始化适当大小的存储区域;如果一条传感数据占用N字节,需要保存M条记录,则分配(N+L)×M字节的空间,其中每条记录需要一个L字节的记录号R,记录号R取值从1到S,M≤((S+1)/2);从分配的存储区域头部开始,逐条读取每个记录的记录号,如果记录号为0,则表示空白记录;如果记录号不为0,则表示有效数据记录,读取过程中,记下最小的有效数据记录号MinR及其位置编号MinL,记下最大的有效数据记录号MaxR及其位置编号MaxL;存储区域逐条记录读取S完成后,如果MinR=MaxR,则表示没有有效数据记录,设置MinR=MaxR=0,MinL=MaxL=1;如果(MaxR-MinR)<M,则MinR为存储区域的头部,其位置编号为MinL,MaxR为存储区域的尾部,其位置编号为MaxL;如果(MaxR-MinR)≥M,则表明记录号进行了一次循环,存储区域中记录号大于S/2且记录号与S相差最大的有效记录为存储区域的头部,其位置编号为MinL,存储区域中记录号小于S/2且记录号与S相差最小的有效记录为存储区域的尾部,其位置编号为MaxL;每次增加新数据时,将数据写在存储区域的尾部包括:步骤a:如果MaxL=MinL,且MaxL位置处为空白记录,则进行本步骤,否则转步骤b,将新数据保存在MaxL+1位置处,新的尾部保持不变;新数据的记录号为1;新的头部保持不变;并转步骤36;步骤b:如果(MaxL+1)≤M,且MaxL+1位置处为空白记录,则继续进行本步骤,否则,转步骤c;将新数据保存在MaxL+1位置处,新的尾部为MaxL递增1,如果递增后MaxL>M,则MaxL=1,新数据的记录号为尾部的记录号递增1,如果递增后的记录号>S,则新数据的记录号=1,新的头部保持不变,并转步骤f;步骤c:如果(MaxL+1)≤M,且(MaxL+1)位置处不为空白记录,则进行本步骤,否则转步骤d...
【专利技术属性】
技术研发人员:王佳,张宏,方志,郑箘,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。