CN107273309A - 一种串行闪存数据保护方法和装置 - Google Patents
一种串行闪存数据保护方法和装置 Download PDFInfo
- Publication number
- CN107273309A CN107273309A CN201710359509.9A CN201710359509A CN107273309A CN 107273309 A CN107273309 A CN 107273309A CN 201710359509 A CN201710359509 A CN 201710359509A CN 107273309 A CN107273309 A CN 107273309A
- Authority
- CN
- China
- Prior art keywords
- data
- sector
- buffer area
- page
- mapping
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种串行闪存数据保护方法和装置,方法包括:基于逻辑地址划分串行闪存为缓存区和实际区;建立缓存区与实际区之间的页面映射;将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。装置用于执行对应方法。本发明通过设定缓存区和实际区,通过页映射进行数据之间的转移,当缓存区溢出或者需要特定的数据转移的时候进行数据的转移,只有当数据被完整的转移之后才进行数据的清除,能够确保数据在断电的情况下仍能进行数据的保存。
Description
技术领域
本发明涉及一种串行闪存数据保护方法和装置,属于计算机领域。
背景技术
串行FALSH存储器因接口简单、容量巨大,广泛应用于单片机产品开发环境。但其读写速度相对缓慢的特点,导致其在进行数据写入操作阶段,意外发生掉电情况时会极高概率出现文件丢失,甚至导致整个文件***崩溃现象。
现有阶段解决此问题的方法通常:在硬件方面进行弥补,比如掉电保护电路等策略;此方法很大程度上解决了意外掉电带来数据丢失的问题,但涉及的技术环节过多,并且同样需要软件方面配合,因此无法100%保证其可靠性。最大不足就是保护电路会极大地提升了产品开发成本(硬件成本)。
发明内容
为了解决上述问题,本发明提供一种串行闪存数据保护方法和装置。
本发明采用的技术方案一方面为一种串行闪存数据保护方法,包括以下步骤:基于逻辑地址划分串行闪存为缓存区和实际区;建立缓存区与实际区之间的页面映射;将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
优选地,还包括以下步骤:获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
优选地,当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
优选地,当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
本发明采用的技术方案另一方面为一种串行闪存数据保护装置,包括以下模块:
划分模块,用于基于逻辑地址划分串行闪存为缓存区和实际区;映射模块,用于建立缓存区与实际区之间的页面映射;数据处理模块,用于将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
优选地,所述映射模块还用于获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
优选地,所述数据处理模块,还用于当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
优选地,所述数据处理模块,还用于当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
本发明的有益效果为通过设定缓存区和实际区,通过页映射进行数据之间的转移,当缓存区溢出或者需要特定的数据转移的时候进行数据的转移,只有当数据被完整的转移之后才进行数据的清除,能够确保数据在断电的情况下仍能进行数据的保存。
附图说明
图1所示为基于本发明实施例的一种串行闪存数据保护方法的示意图。
具体实施方式
以下结合实施例对本发明进行说明。
基于发明的实施例1,如图1所示一种串行闪存数据保护方法,包括以下步骤:基于逻辑地址划分串行闪存为缓存区和实际区;建立缓存区与实际区之间的页面映射;将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
使用程序(基于逻辑地址划分)将闪存划分为缓存区和实际区,所述实际区是最终用来存储数据的空间,通过页式存储的形式将缓存区和实际区进行存储单元的分配,通过建立两者之间的页面映射,即页与页之间对应(同时将映射的记录做成映射表,包括扇区号,对应的物理地址和逻辑地址等信息);而数据写入的步骤,第一步是外部的待写入数据首先会被按页(即映射扇区)存入缓存区,由于缓存区的设定是由程序控制的,因此根据映射扇区的扇区号的使用记录就可以知道扇区的使用情况,当缓存区没有多余的映射扇区或者需要将缓存区的数据存入实际区的时候,根据映射扇区之间的页面映射关系,进行数据的移动,当数据写入完成的时候,擦拭缓存区的对应的映射扇区的数据并拆除页面映射关系。
基于发明的实施例1的一种串行闪存数据保护方法,还包括以下步骤:获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
当数据需要写入实际区的某个绝对地址时,通过查询建立页面映射的映射表,可以知道是否已经有设定好的映射关系,如果存在的话,就不用重新进行映射关系的建立,就可以直接通过内存进行数据的转移,如果不存在的话,那么在缓存区内确定一个映射扇区(可以是本来没有写入数据的部分,也可以是经过擦拭后获得的部分);获取该映射扇区的数据并存入RAM。
基于发明的实施例1的一种串行闪存数据保护方法,当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
通过数据写入或者擦拭记录,很容易知道闪存空间的使用情况,当缓存区的剩余的映射扇区(即没有存储有数据的扇区)数量或者扇区空间不足的时候,获取已写入数据的扇区的资料,选择其中的若干扇区进行数据转移(可以随机选择扇区或者按照数据写入时间的顺序选最老的扇区),当数据写入完成的时候,则擦拭缓存区的对应的扇区并拆除页面映射关系。
基于发明的实施例1的一种串行闪存数据保护方法,当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
由于需要将特定的数据进行转移,因此,会从特定的扇区进行数据的转移,通过RAM从特定的映射扇区读取数据,然后基于页面映射的关系将数据写入实际区对应的扇区/页,当数据写入完成的时候,则擦拭缓存区的对应的扇区并拆除页面映射关系。
基于本发明的实施例2,一种串行闪存数据保护装置,包括以下模块:
划分模块,用于基于逻辑地址划分串行闪存为缓存区和实际区;映射模块,用于建立缓存区与实际区之间的页面映射;数据处理模块,用于将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
基于本发明的实施例2的一种串行闪存数据保护装置,所述映射模块还用于获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
基于本发明的实施例2的一种串行闪存数据保护装置,所述数据处理模块,还用于当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
基于本发明的实施例2的一种串行闪存数据保护装置,所述数据处理模块,还用于当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (8)
1.一种串行闪存数据保护方法,其特征在于,包括以下步骤:
基于逻辑地址划分串行闪存为缓存区和实际区;
建立缓存区与实际区之间的页面映射;
将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
2.根据权利要求1所述的一种串行闪存数据保护方法,其特征在于,还包括以下步骤:
获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;
如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
3.根据权利要求2所述的一种串行闪存数据保护方法,其特征在于,当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
4.根据权利要求2所述的一种串行闪存数据保护方法,其特征在于,当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
5.一种串行闪存数据保护装置,其特征在于,包括以下模块:
划分模块,用于基于逻辑地址划分串行闪存为缓存区和实际区;
映射模块,用于建立缓存区与实际区之间的页面映射;
数据处理模块,用于将待写入数据逐区写入缓存区的映射扇区,当缓存区的剩余的映射扇区的空间不足或者数据需要转换扇区时,将映射扇区的数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
6.根据权利要求5所述的一种串行闪存数据保护装置,其特征在于,所述映射模块还用于获取需要写入数据的实际区的绝对地址,查询该绝对地址是否在缓存区存在对应的映射扇区,如果不存在,则确定一个映射扇区并建立与所述绝对地址的页面映射;
如果存在,则读取该映射扇区的数据并存入RAM,所述RAM用于存储待写入实际区的数据。
7.根据权利要求6所述的一种串行闪存数据保护装置,其特征在于,所述数据处理模块,还用于当缓存区的剩余的映射扇区的空间不足时,RAM从已写入数据的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
8.根据权利要求6所述的一种串行闪存数据保护装置,其特征在于,所述数据处理模块,还用于当需要转换扇区时,RAM从对应的映射扇区读取数据,基于页面映射将数据写入实际区,当数据写入完成时,擦拭缓存区对应的映射扇区并拆除页面映射关系。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359509.9A CN107273309A (zh) | 2017-05-19 | 2017-05-19 | 一种串行闪存数据保护方法和装置 |
PCT/CN2017/086340 WO2018209733A1 (zh) | 2017-05-19 | 2017-05-27 | 一种串行闪存数据保护方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710359509.9A CN107273309A (zh) | 2017-05-19 | 2017-05-19 | 一种串行闪存数据保护方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273309A true CN107273309A (zh) | 2017-10-20 |
Family
ID=60064773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710359509.9A Pending CN107273309A (zh) | 2017-05-19 | 2017-05-19 | 一种串行闪存数据保护方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107273309A (zh) |
WO (1) | WO2018209733A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539891A (zh) * | 2008-03-17 | 2009-09-23 | 凤凰微电子(中国)有限公司 | 一种嵌入式快闪存储器、存储***及其数据掉电保护方法 |
CN102306124A (zh) * | 2011-08-01 | 2012-01-04 | 深圳市文鼎创数据科技有限公司 | Nand Flash芯片硬件驱动层的实现方法 |
CN102591748A (zh) * | 2011-12-29 | 2012-07-18 | 记忆科技(深圳)有限公司 | 固态硬盘及其掉电保护方法、*** |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其*** |
CN103093157A (zh) * | 2013-01-25 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种sas raid卡缓存数据永久性保护方法 |
CN103269361A (zh) * | 2013-05-03 | 2013-08-28 | 北京理工大学 | 一种用于深空通信的文件传输装置及其设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100595757C (zh) * | 2006-03-28 | 2010-03-24 | 联芯科技有限公司 | 文件***的安全管理方法及装置 |
CN100504814C (zh) * | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
CN102841851B (zh) * | 2012-07-19 | 2015-09-09 | 深圳市江波龙电子有限公司 | 闪存管理方法和闪存设备 |
-
2017
- 2017-05-19 CN CN201710359509.9A patent/CN107273309A/zh active Pending
- 2017-05-27 WO PCT/CN2017/086340 patent/WO2018209733A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539891A (zh) * | 2008-03-17 | 2009-09-23 | 凤凰微电子(中国)有限公司 | 一种嵌入式快闪存储器、存储***及其数据掉电保护方法 |
CN102306124A (zh) * | 2011-08-01 | 2012-01-04 | 深圳市文鼎创数据科技有限公司 | Nand Flash芯片硬件驱动层的实现方法 |
CN102591748A (zh) * | 2011-12-29 | 2012-07-18 | 记忆科技(深圳)有限公司 | 固态硬盘及其掉电保护方法、*** |
CN103049394A (zh) * | 2012-11-30 | 2013-04-17 | 记忆科技(深圳)有限公司 | 固态硬盘数据缓存的方法及其*** |
CN103093157A (zh) * | 2013-01-25 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种sas raid卡缓存数据永久性保护方法 |
CN103269361A (zh) * | 2013-05-03 | 2013-08-28 | 北京理工大学 | 一种用于深空通信的文件传输装置及其设计方法 |
Non-Patent Citations (1)
Title |
---|
孙辉: "NAND固态盘有限编程/擦除次数的评测模型及优化方法", 《中国博士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018209733A1 (zh) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
CN105159622B (zh) | 一种减小ssd读写io时延的方法与*** | |
CN104699417B (zh) | 数据储存装置以及其数据存取方法 | |
CN101727295B (zh) | 一种基于虚拟块闪存地址映射的数据写入及读出方法 | |
RU2661280C2 (ru) | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных | |
CN105808163B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
US20050055532A1 (en) | Method for efficiently controlling read/write of flash memory | |
CN101819509A (zh) | 一种固态硬盘读写方法 | |
CN106569732B (zh) | 数据迁移方法及装置 | |
CN106802870B (zh) | 一种高效的嵌入式***芯片Nor-Flash控制器及控制方法 | |
CN107273046B (zh) | 一种基于固态盘阵列的数据处理方法及*** | |
CN111475425A (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
CN103970669A (zh) | 用于加速在固态设备中的回收操作的物理到逻辑地址映射 | |
CN109117383A (zh) | 管理闪存模块的方法和闪存控制器 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN105917303A (zh) | 一种控制器、识别数据块稳定性的方法和存储*** | |
CN108763100B (zh) | 一种固态存储设备快速trim方法及其*** | |
CN111639037B (zh) | 一种缓存的动态分配方法、装置及DRAM-Less固态硬盘 | |
CN218631411U (zh) | 一种校验写入状态的固态存储器 | |
CN110968527B (zh) | Ftl提供的缓存 | |
CN107273309A (zh) | 一种串行闪存数据保护方法和装置 | |
CN108491162A (zh) | 一种提高存储***性能的方法及装置 | |
CN116737613A (zh) | 映射表管理方法及存储器 | |
CN111897489B (zh) | 数据写入方法、装置、设备及计算机可读存储介质 | |
CN105138294B (zh) | 一种硬盘设备及信息处理方法 |
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: 20171020 |