CN110309082A - 数据存储方法、存储系统及微控制器 - Google Patents
数据存储方法、存储系统及微控制器 Download PDFInfo
- Publication number
- CN110309082A CN110309082A CN201910569884.5A CN201910569884A CN110309082A CN 110309082 A CN110309082 A CN 110309082A CN 201910569884 A CN201910569884 A CN 201910569884A CN 110309082 A CN110309082 A CN 110309082A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- subregion
- address
- safety verification
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据存储方法、存储系统及微控制器,涉及数据存储领域,包括将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。将存储介质分区,并且给分区进行编码,存储时,根据编码将分区先后使用,并对分区的存储次数进行计数,在其前一分区的存储次数达到预设阈值时,换下一分区继续进行存储,将多个分区的存储次数叠加,从而扩展了存储介质的存储次数。
Description
技术领域
本发明涉及数据存储技术,更具体地说,它涉及一种数据存储方法、存储系统及微控制器。
背景技术
微控制器,又称单片机,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
随着微控制器技术的发展,现已广泛应用于各行各业。
目前市面上的单片机绝大部分是OTP的,数据无法断电保存,当有数据需要保存时通常采用外置EEPROM作为存储器。但是外置EEPROM的数据操作方式是公开的,导致EEPROM内的数据无法保密,当涉及敏感数据时无法采用该方案。还有一类OTP单片机内置了EEPROM,则可以解决敏感数据保密问题,但是一般此类单片机价格较贵。
基于FLASH作为存储器的单片机,作为程序载体的ROM本身就是可以多次擦写的,同样也可以作为断电数据保存的载体。FLASH单片机的价格和OTP单片机基本相当;但是FLASH和EEPROM比较其擦写次数不在一个数量级,EEPROM一般擦写次数是10~100万次,FLASH的擦写次数一般是1~10万次。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种数据存储方法、存储系统及微控制器,具有增大存储介质的存储次数的优点。
为实现上述目的,本发明提供了如下技术方案:
第一方面,提供一种数据存储方法,应用于微控制器,包括
将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;
在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;
在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
采用上述技术方案,将存储介质分区,并且给分区进行编码,存储时,根据编码将分区先后使用,并对分区的存储次数进行计数,在其前一分区的存储次数达到预设阈值时,换下一分区继续进行存储,将多个分区的存储次数叠加,从而扩展了存储介质的存储次数。
进一步,还包括对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。
采用上述技术方案,对分区进行归类为已用完、未使用和当前使用,方便存储的切换,提高存储效率。
进一步,在每次数据存储之前,包括
获取可验证通过进行数据存储的数据填入签名;
将数据填入数据缓冲区;
获取数据存储区的地址填入范围;
获取可验证通过进行数据存储的地址填入签名;
将实际存储地址填入地址变量。
采用上述技术方案,获取可验证通过的数据填入签名,从而避免验证无法通过的无权限存储情况,减少乱存储影响存储介质的存储次数。并且对于数据存储区也是规划使用,先获取可用的地址填入范围,之后将实际存储地址填入地址变量,从而减少了实际存储的地址选择范围,提高地址选择和填入效率。
进一步,在每次数据存储之前,还包括在实际存储地址填入地址变量后,
进行第一次安全性核实;
在第一次安全性核实通过后,给存储介质使能;
之后进行第二次安全性核实;
在第二次安全性核实通过后,把地址变量的值赋予存储介质;
之后进行第三次安全性核实;
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。
采用上述技术方案,在每一个步骤之前都要进行安全性核实,可避免在每个步骤过程中,程序乱跑和跑飞恰好至当前步骤,造成前一次安全性核实的失效,从而增强了程序运行的稳定和安全。
第二方面,提供一种数据存储系统,包括处理器与存储器,所述存储器存储有指令集供所述处理器调用以实现如下功能:
将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;
在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;
在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
进一步,所述指令集还供所述处理器调用以实现如下功能:
对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。
进一步,所述指令集还供所述处理器调用以实现如下功能:
在每次数据存储之前,包括
获取可验证通过进行数据存储的数据填入签名;
将数据填入数据缓冲区;
获取数据存储区的地址填入范围;
获取可验证通过进行数据存储的地址填入签名;
将实际存储地址填入地址变量。
进一步,所述指令集还供所述处理器调用以实现如下功能:
在每次数据存储之前,还包括在实际存储地址填入地址变量后,
进行第一次安全性核实;
在第一次安全性核实通过后,给存储介质使能;
之后进行第二次安全性核实;
在第二次安全性核实通过后,把地址变量的值赋予存储介质;
之后进行第三次安全性核实;
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。
第三方面,提供一种微控制器,包括如上所述的数据存储系统。
上述本发明第二方面和第三方面所获得的技术效果与第一方面对应技术方案所获得的技术效果近似,不再赘述。
综上所述,本发明具有以下有益效果:
1. 将存储介质分区,并且给分区进行编码,存储时,根据编码将分区先后使用,并对分区的存储次数进行计数,在其前一分区的存储次数达到预设阈值时,换下一分区继续进行存储,将多个分区的存储次数叠加,从而扩展了存储介质的存储次数;
2. 获取可验证通过的数据填入签名,从而避免验证无法通过的无权限存储情况,减少乱存储影响存储介质的存储次数。并且对于数据存储区也是规划使用,先获取可用的地址填入范围,之后将实际存储地址填入地址变量,从而减少了实际存储的地址选择范围,提高地址选择和填入效率;
3. 在每一个步骤之前都要进行安全性核实,可避免在每个步骤过程中,程序乱跑和跑飞恰好至当前步骤,造成前一次安全性核实的失效,有助于程序运行的稳定和安全。
附图说明
图1为本发明中数据存储方法的流程图;
图2为本发明中数据存储方法的安全验证的流程图;
图3为本发明中数据存储系统的原理图。
图中:1、处理器;2、存储器。
具体实施方式
下面结合附图及实施例,对本发明进行详细描述。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
实施例1
一种数据存储方法,参照图1,包括步骤S101至步骤S109。
步骤S101:将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码。
应当知道,存储介质指的是存储容量较大的存储介质,例如FLASH,方便进行分区以进行存储次数的扩充。按照配置的大小,可以为按照固定大小,也可以依据实际需要按照非固定大小。赋予唯一的编码,指的是给分区以地址信息,方便识别和操作。
步骤S102:在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数。
另外,对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。对分区进行归类为已用完、未使用和当前使用,方便存储的切换,提高存储效率。
步骤S103:在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
在一分区的存储次数达到预设阈值时,才更换下一分区,充分利用分区的存储次数,扩充存储容量。
在每次数据存储之前,包括步骤S2001至步骤S2010。
步骤S2001:获取可验证通过进行数据存储的数据填入签名。
数据填入签名,是数据填入的标志,与数据储存任务对应,必须该签名验证通过才可以顺利进行数据存储。
步骤S2002:将数据填入数据缓冲区。
将数据填入数据缓冲区,在可存储时,由缓冲区直接进行数据存储,存储更为迅速。
步骤S2003:获取数据存储区的地址填入范围。
获取地址填入范围,减少数据存储时寻址的寻址量,加快存储速度。
步骤S2004:获取可验证通过进行数据存储的地址填入签名。
地址填入签名用于验证地址填入者的身份,避免无权限、不相关地址的填入。
步骤S2005:将实际存储地址填入地址变量。
获取实际的存储地址。
步骤S2006:进行第一次安全性核实。
进行安全核实验证包括,第一步,检查写入操作的地址是否在数据分区范围内;第二步,检查数据填入标志是否为特定值(0x3C),是的话可以确认数据缓冲区内的数据是需要填入的数据;第三步,检查地址填入标志是否为特定值(0x3C),是的话可以确认地址变量内的值是需要填入数据的数据分区地址。
步骤S2007:在第一次安全性核实通过后,给存储介质使能。
步骤S2008:之后进行第二次安全性核实。
步骤S2009:在第二次安全性核实通过后,把地址变量的值赋予存储介质。
步骤S2010:之后进行第三次安全性核实。
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。在FLASH写入操作的每一步前均进行安全性核实,可以有效防止任何情况下的程序溢出、跑飞等不可预见、不可控的情况导致的FLASH误操作。
实施例2
一种微控制器,包括数据存储系统,参照图3,数据存储系统包括处理器1与存储器2,存储器2存储有指令集供所述处理器1调用以实现如下功能:
将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;
在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;
在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。
在每次数据存储之前,包括:
获取可验证通过进行数据存储的数据填入签名;
将数据填入数据缓冲区;
获取数据存储区的地址填入范围;
获取可验证通过进行数据存储的地址填入签名;
将实际存储地址填入地址变量。
在每次数据存储之前,还包括在实际存储地址填入地址变量后,
进行第一次安全性核实;
在第一次安全性核实通过后,给存储介质使能;
之后进行第二次安全性核实;
在第二次安全性核实通过后,把地址变量的值赋予存储介质;
之后进行第三次安全性核实;
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种数据存储方法,应用于微控制器,其特征在于:包括
将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;
在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;
在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
2.根据权利要求1所述的数据存储方法,其特征在于:还包括对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。
3.根据权利要求2所述的数据存储方法,其特征在于:在每次数据存储之前,包括
获取可验证通过进行数据存储的数据填入签名;
将数据填入数据缓冲区;
获取数据存储区的地址填入范围;
获取可验证通过进行数据存储的地址填入签名;
将实际存储地址填入地址变量。
4.根据权利要求3所述的数据存储方法,其特征在于:在每次数据存储之前,还包括在实际存储地址填入地址变量后,
进行第一次安全性核实;
在第一次安全性核实通过后,给存储介质使能;
之后进行第二次安全性核实;
在第二次安全性核实通过后,把地址变量的值赋予存储介质;
之后进行第三次安全性核实;
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。
5.一种数据存储系统,其特征在于:包括处理器(1)与存储器(2),所述存储器(2)存储有指令集供所述处理器(1)调用以实现如下功能:
将存储介质按配置的大小进行分区,并对各分区赋予唯一的编码;
在数据存储时,按照配置的编码顺序,先存储于前一编码对应的分区,并对分区的数据存储次数进行计数;
在该分区的数据存储次数达到预设阈值时,按照配置的编码顺序,将数据存储切换至下一编码对应的分区。
6.根据权利要求5所述的数据存储系统,其特征在于:所述指令集还供所述处理器(1)调用以实现如下功能:
对分区依据使用状况归类为未使用或当前使用或已用完,编码顺序包括由当前使用的分区切换为未使用的分区。
7.根据权利要求6所述的数据存储系统,其特征在于:所述指令集还供所述处理器(1)调用以实现如下功能:
获取可验证通过进行数据存储的数据填入签名;
将数据填入数据缓冲区;
获取数据存储区的地址填入范围;
获取可验证通过进行数据存储的地址填入签名;
将实际存储地址填入地址变量。
8.根据权利要求7所述的数据存储系统,其特征在于:所述指令集还供所述处理器(1)调用以实现如下功能:
在每次数据存储之前,还包括在实际存储地址填入地址变量后,
进行第一次安全性核实;
在第一次安全性核实通过后,给存储介质使能;
之后进行第二次安全性核实;
在第二次安全性核实通过后,把地址变量的值赋予存储介质;
之后进行第三次安全性核实;
在第三次安全性核实通过后,把数据缓冲区的数据写入存储介质。
9.一种微控制器,其特征在于:包括如权利要求5至8任一所述的数据存储系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910327542 | 2019-04-23 | ||
CN2019103275422 | 2019-04-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110309082A true CN110309082A (zh) | 2019-10-08 |
Family
ID=68076907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910569884.5A Pending CN110309082A (zh) | 2019-04-23 | 2019-06-27 | 数据存储方法、存储系统及微控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309082A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070126744A1 (en) * | 2005-12-07 | 2007-06-07 | Takayuki Tsutsumi | Data processing apparatus and method thereof |
CN101404579A (zh) * | 2008-10-31 | 2009-04-08 | 成都市华为赛门铁克科技有限公司 | 一种防止网络攻击的方法及装置 |
CN101566972A (zh) * | 2009-05-12 | 2009-10-28 | 苏州国芯科技有限公司 | 嵌入式系统用户多分区存储空间访问权限的安全控制方法 |
CN103226500A (zh) * | 2012-01-31 | 2013-07-31 | 英飞凌科技股份有限公司 | 通过签名分析计算的系统和方法 |
CN104598165A (zh) * | 2014-12-31 | 2015-05-06 | 深圳市共进电子股份有限公司 | 在嵌入式设备上对存储器提高耐用性的方法及装置 |
CN105045721A (zh) * | 2015-07-23 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 一种数据一致性校验的方法和装置 |
-
2019
- 2019-06-27 CN CN201910569884.5A patent/CN110309082A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070126744A1 (en) * | 2005-12-07 | 2007-06-07 | Takayuki Tsutsumi | Data processing apparatus and method thereof |
CN101404579A (zh) * | 2008-10-31 | 2009-04-08 | 成都市华为赛门铁克科技有限公司 | 一种防止网络攻击的方法及装置 |
CN101566972A (zh) * | 2009-05-12 | 2009-10-28 | 苏州国芯科技有限公司 | 嵌入式系统用户多分区存储空间访问权限的安全控制方法 |
CN103226500A (zh) * | 2012-01-31 | 2013-07-31 | 英飞凌科技股份有限公司 | 通过签名分析计算的系统和方法 |
CN104598165A (zh) * | 2014-12-31 | 2015-05-06 | 深圳市共进电子股份有限公司 | 在嵌入式设备上对存储器提高耐用性的方法及装置 |
CN105045721A (zh) * | 2015-07-23 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 一种数据一致性校验的方法和装置 |
Non-Patent Citations (1)
Title |
---|
谭耀铭: "存储块", 《操作系统概论》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130073784A1 (en) | Method and system for random write unalignment handling | |
TWI261168B (en) | Non-volatile memory system with erase counts stored in an erase count block | |
EP1619584A1 (en) | Memory allocation | |
US20100122015A1 (en) | Software adapted wear leveling | |
US8433844B2 (en) | Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof | |
US20120159057A1 (en) | Memory power tokens | |
US20130246890A1 (en) | Architecture to allow efficient storage of data on nand flash memory | |
US20020044486A1 (en) | IC card with different page sizes to increase endurance | |
CN104750625A (zh) | 数据储存装置以及快闪存储器控制方法 | |
WO2008137755A1 (en) | Wear leveling | |
US20010054129A1 (en) | Method, system and computer program | |
CN107329902A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN105138465B (zh) | 加快Nand Flash写操作的方法及装置 | |
CN105183392A (zh) | 一种定长数据在flash的存储方法 | |
CN110309082A (zh) | 数据存储方法、存储系统及微控制器 | |
AU2014214945A1 (en) | System and method for management of unique alpha-numeric order message identifiers within DDR memory space | |
CN104142979A (zh) | 一种实现rfid标签存储管理的索引方法 | |
TW201214113A (en) | Method for performing meta block management, and associated memory device and controller thereof | |
CN107037986A (zh) | 一种延长可擦写芯片寿命的方法和装置 | |
TW200625315A (en) | Nonvolatile semiconductor memory device which erases data in units of one block including a number of memory cells, and data erasing method of the nonvolatile semiconductor memory device | |
CN103412828B (zh) | 一种数据处理的方法和设备 | |
CN103678157B (zh) | 数据储存装置以及快闪存储器控制方法 | |
DE102009005501B4 (de) | Leistungsabhängiger Speicherzugriff | |
CN108121668A (zh) | 一种存储映射控制装置及控制方法 | |
US20100302856A1 (en) | Nonvolatile memory device and method of programming and reading the same |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191008 |