CN116661696A - 一种基于快闪存储器的存储方法及相关装置 - Google Patents

一种基于快闪存储器的存储方法及相关装置 Download PDF

Info

Publication number
CN116661696A
CN116661696A CN202310658094.0A CN202310658094A CN116661696A CN 116661696 A CN116661696 A CN 116661696A CN 202310658094 A CN202310658094 A CN 202310658094A CN 116661696 A CN116661696 A CN 116661696A
Authority
CN
China
Prior art keywords
data
storage
storage area
original
flash memory
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.)
Granted
Application number
CN202310658094.0A
Other languages
English (en)
Other versions
CN116661696B (zh
Inventor
刘吉平
宾豪
李美菊
王翔
郑增忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Hangshun Chip Technology R&D Co Ltd
Original Assignee
Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Hangshun Chip Technology R&D Co Ltd filed Critical Shenzhen Hangshun Chip Technology R&D Co Ltd
Priority to CN202310658094.0A priority Critical patent/CN116661696B/zh
Publication of CN116661696A publication Critical patent/CN116661696A/zh
Application granted granted Critical
Publication of CN116661696B publication Critical patent/CN116661696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据存储技术领域,具体是涉及一种基于快闪存储器的存储方法及相关装置。本发明首先将原存储区域上的标识信息复制到新存储区域上,同时将原存储区域上的原数据所对应的修改数据存储在新存储区域,之后将原存储区域上的标识信息更改为无效信息。当需要再次查看标识信息所对应的数据时就直接到新区域上查看。本发明既存储了修改数据又不需要擦除原存储区域上的数据,不擦除原存储区域上的数据就不需要擦除原存储区域所在的整个存储区间上的数据,从而保证了所有数据的安全性。

Description

一种基于快闪存储器的存储方法及相关装置
技术领域
本发明涉及数据存储技术领域,具体是涉及一种基于快闪存储器的存储方法及相关装置。
背景技术
快闪存储器(Flash)作为内存的一种,是一种可电擦写,掉电后信息不丢失的存储器。Flash由成千上万个存储单元组成,每个单元存储一个bit(二进制),嵌入式系统中,一般使用Flash作为信息存储介质。Flash具备如下存储特性:只能通过编程将数据1变成0;将0恢复成1需要进行擦除操作,且只能针对某个存储区间(存储区间即页page,快闪存储器由若干个存储区间构成)整体擦除;Flash擦除编程次数有限制。
如果要在某区间上擦除需要修改的局部数据,之后将修改之后的数据直接存储在该区间。那么基于快闪存储器的特点,即使只需要擦除该区间上的局部数据,也必须通过擦除该区间上的所有数据才能完成擦除局部数据的操作。这就导致每次将修改数据存储在该区间上,都要先执行擦除这一操作。快闪存储器在擦除的过程中一旦断电就会导致其全部数据的丢失,而且频繁的擦除操作还会影响快闪存储器的性能,从而降低了其所存储数据的安全性。
综上所述,现有技术中将修改数据存储到快闪存储器的方法降低了数据安全性。
因此,现有技术还有待改进和提高。
发明内容
为解决上述技术问题,本发明提供了一种基于快闪存储器的存储方法及相关装置,解决了现有技术中将修改数据存储到快闪存储器的方法降低了数据安全性的问题。
为实现上述目的,本发明采用了以下技术方案:
第一方面,本发明提供一种基于快闪存储器的存储方法,其中,包括:
将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
在一种实现方式中,所述将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器,包括:
确定所述标识信息中的状态标识、数据长度标识、编号标识,所述状态标识用于表征所述原数据是否有效,所述数据长度标识用于标识所述原数据所占用的字节长度,所述编号标识用于标识所述原数据的编号;
将所述原数据的所述状态标识、所述数据长度标识、所述编号标识从所述原存储区域复制到新存储区域。
在一种实现方式中,所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据,包括:
将所述原数据的所述状态标识、所述数据长度标识、所述编号标识从所述原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息中的所述状态标识更改为无效标识。
在一种实现方式中,所述将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据,包括:
在所述新存储区域上创建变长存储单元,所述变长存储单元为存储长度根据待存储数据长度定义的存储单元;
将所述修改数据存储在所述变长存储单元上。
在一种实现方式中,还包括:
检测所述存储区间的剩余存储容量;
当所述剩余存储容量小于阈值时,创建另一个区别于所述存储区间的存储新区间;
将所述存储区间的存储标记信息复制到所述存储新区间;
将所述存储区间上有效的标识信息所对应的修改数据复制到所述存储新区间上。
在一种实现方式中,所述将所述存储区间上有效的标识信息所对应的修改数据复制到所述存储新区间上,之后还包括:
擦除所述存储区间上的数据;
将擦除数据之后的所述存储区间作为碎片区间,所述碎片区间用于另一个所述存储区间上的数据。
在一种实现方式中,所述擦除所述存储区间上的数据,之前还包括:
将所述存储区间上无效的标识信息所对应的原数据复制到RAM存储器上,所述RAM存储器为所述快闪存储器所在的主机上的存储器。
第二方面,本发明实施例还提供一种基于快闪存储器的存储装置,其中,所述装置包括如下组成部分:
复制模块,用于将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
标识更改模块,用于所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
修改模块,用于将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
第三方面,本发明实施例还提供一种终端设备,其中,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于快闪存储器的存储程序,所述处理器执行所述基于快闪存储器的存储程序时,实现上述所述的基于快闪存储器的存储方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于快闪存储器的存储程序,所述基于快闪存储器的存储程序被处理器执行时,实现上述所述的基于快闪存储器的存储方法的步骤。
有益效果:本发明首先将原存储区域上的标识信息复制到新存储区域(当前未存储任何数据)上,同时将原存储区域上的原数据所对应的修改数据存储在新存储区域,之后将原存储区域上的标识信息更改为无效信息。当需要再次查看标识信息所对应的数据时就直接到新区域上查看。本发明既存储了修改数据又不需要擦除原存储区域上的数据,不擦除原存储区域上的数据就不需要擦除原存储区域所在的整个存储区间上的数据,从而保证了所有数据的安全性。
附图说明
图1为本发明的整体流程图;
图2为本发明实施例中的修改之前的存储区间示意图;
图3为本发明实施例中的修改之后的存储区间示意图;
图4为本发明实施例中的存储区间结构图;
图5为本发明实施例中的碎片回收前示意图;
图6为本发明实施例中的碎片回收后示意图;
图7为本发明实施例中的数据存储流程图;
图8为本发明实施例中的第一个变长信息存储示意图;
图9为本发明实施例中的第二个变长信息存储示意图;
图10为本发明实施例提供的终端设备的内部结构原理框图。
具体实施方式
以下结合实施例和说明书附图,对本发明中的技术方案进行清楚、完整地描述。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
经研究发现,快闪存储器(Flash)作为内存的一种,是一种可电擦写,掉电后信息不丢失的存储器。Flash由成千上万个存储单元组成,每个单元存储一个bit(二进制),嵌入式系统中,一般使用Flash作为信息存储介质。Flash具备如下存储特性:只能通过编程将数据1变成0;将0恢复成1需要进行擦除操作,且只能针对某个存储区间(存储区间即页page,快闪存储器由若干个存储区间构成)整体擦除;Flash擦除编程次数有限制。
如果要在某区间上擦除需要修改的局部数据,之后将修改之后的数据直接存储在该区间。那么基于快闪存储器的特点,即使只需要擦除该区间上的局部数据,也必须通过擦除该区间上的所有数据才能完成擦除局部数据的操作。这就导致每次将修改数据存储在该区间上,都要先执行擦除这一操作。快闪存储器在擦除的过程中一旦断电就会导致其全部数据的丢失,而且频繁的擦除操作还会影响快闪存储器的性能,从而降低了其所存储数据的安全性。
为解决上述技术问题,本发明提供了一种基于快闪存储器的存储方法及相关装置,解决了现有技术中将修改数据存储到快闪存储器的方法降低了数据安全性的问题。具体实施时,首先将原数据的标识信息从原存储区域复制到新存储区域;然后将原存储区域上标识信息更改为无效标识;最后将修改数据存储在新存储区域,修改数据为原数据修改之后的数据。本发明能够提高数据存储的安全性。
举例说明,比如用快闪存储器(Flash)的某一个页page(页即如图2所示的存储区间)存储一个学生的信息(信息即图2中的DATA0所涵盖的数据,包括身高、体重以及年龄),现有技术修改该学生信息时,是先擦除DATA0数据,再将修改之后的身高、体重以及年龄(记为新的信息DATA0_new)存储在DATA0处。而快闪存储器具有如下的特点:即使只需擦除存储区间上的某一个数据,也必须将存储区间上的所有数据擦除才能擦除真正需要擦除的数据,即快闪存储器的存储区间不允许只修改局部数据。从上述分析可知,现有技术在修改存储区间上的数据时,需要执行全部数据擦除这一操作,而全部数据擦除又会影响数据安全性。本实施例为了解决上述技术问题,采用如下的技术方案:
图3中的第四行是未存储任何数据的存储区域,将需要修改的第二行(原存储区域)的学生数据DATA0(原数据)所对应的标识信息len(DATA0的数据长度)和IDO(DATA0的数据编号)复制到第四行(新存储区域),然后将相对DATA0修改之后的数据DATA0_new(修改数据)存储在第四行。最后将第二行的valid(有效的)更改为invalid(无效的)。当需要查询该学生的信息时,查找同时有ID0编号(存储区域编号)以及valid标记的存储区域,该存储区域所存储的数据才是该学生的有效数据。
示例性方法
本实施例的基于快闪存储器的存储方法可应用于终端设备中,所述终端设备可为具有存储功能的终端产品,比如电脑等。在本实施例中,如图1中所示,所述基于快闪存储器的存储方法具体包括如下步骤:
S100,将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器。
S200,所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据。
S300,将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
在一个实施例中,存储区间的结构如图4所示,图4中0-15表示前16个bytes(字节),为信息存储标记(page info头),信息存储标记可根据实际需求自定义;从第16个byte及之后,则存放的是变长信息。图4中的Info_flag表示存储标记,指示是否为特殊存储(变长存储为特殊存储)和普通存储,Info_len表示信息存储标记的长度,Header_len表示变长数据头的长度,Type表示存储的数据类型,Total_page记录整个存储空间容量(存储区间所在的快闪存储器Flash的存储容量),Page_index表示当前存储区域page所在整个存储空间(快闪存储器)的位置。
在一个实施例中,步骤S100的标识信息包括状态标识(status)、数据长度标识(len)、编号标识(ID)。状态标识用于表征其所对应的存储区域内的数据是否是有效的。ID用于表征存储区间上的每个数据的编号(修改前后的数据用同一个编号)。
为了建立原数据与修改数据(针对原数据修改之后的数据)的对应关系,该实施例采用如下的方式:
将所述原数据的所述状态标识、所述数据长度标识、所述编号标识从所述原存储区域复制到新存储区域。
由于原数据和修改数据采用同一个编号标识,因此用户只需要通过编号标识就可以查找到与原数据对应的修改数据。
该实施例中,当原数据的状态标识、数据长度标识、编号标识从原存储区域复制到新存储区域之后,就将原数据的状态标识更改为无效标识,以提示用户该原数据不再具有使用价值。
在一个实施例中,步骤S300的具体过程如下:在所述新存储区域上创建变长存储单元,所述变长存储单元为存储长度根据待存储数据长度定义的存储单元;将所述修改数据存储在所述变长存储单元上。
变长存储单元即为图3中的DATA0_new所在的存储单元,所谓的变长存储单元,即该存储单元的存储容量可以根据其所存储的数据大小进行改变。
在一个实施例中,如果当前的存储区间剩余的容量很小了,不足以建立新的存储区域时,就需要将当前存储区间上的标识为有效的数据都复制到新的存储区间page上,而将无效的数据保留在当前存储区间上。这样能够避免无效的数据占据新的存储区间,从而给新的存储区间节省更大的空间用于存储后续新的修改数据。该实施例具体包括如下的步骤S401至S407:
S401,检测所述存储区间的剩余存储容量。
S402,当所述剩余存储容量小于阈值时,创建另一个区别于所述存储区间的存储新区间。
S403,将所述存储区间的存储标记信息复制到所述存储新区间。
存储标记信息即图4中的Info_flag(存储标记,用于标记是特殊存储还是普通存储)、Info_len(信息存储标记的长度)、Header_len(变长数据头的长度)、Type(存储的数据类型)、Total_page(用于记录整个存储空间容量),Page_index(当前存储区域page所在整个存储空间的位置)。存储区间和存储新区间共用同一个存储标记信息,用于表明这两个区间所存储的数据具有关联性,也就是之前用户需要在存储区间查找的数据,当该存储区间被擦除之后,可以在与该存储区间相同的存储标记信息的存储新区间上查找其所需要的数据。
S404,将所述存储区间上有效的标识信息所对应的修改数据复制到所述存储新区间上。
存储区间上的无效数据即不需要再次使用的数据,因此不需要再复制这部分数据浪费存储新区间的空间。只将有效的数据复制到存储新区间上,既能节省存储新区间的空间,又能够保证有效数据可以继续被用户使用。
S405,将所述存储区间上无效的标识信息所对应的原数据复制到RAM存储器上,所述RAM存储器为所述快闪存储器所在的主机上的存储器。
S406,擦除所述存储区间上的数据。
S407,将擦除数据之后的所述存储区间作为碎片区间,所述碎片区间用于另一个所述存储区间上的数据。
存储区间上的有效数据已经被复制到存储新区间上,因此可以将存储区间上的所有数据擦除,擦除之后的存储区间可以作为碎片区间,碎片区间相当于一个空白的存储区间,当别的存储区间剩余容量很小时,就可以将该存储区间上的有效数据复制到碎片区间上。
步骤S401至S407擦除存储区间是基于如下原理:
如图5所示,当要修改DATA0信息的时候,当前存储区间page没有足够的空间存储修改之后的DATA0,这个时候就需要重新开辟一块新的page作为碎片page,首先把原来的page开头的信息存储标记(page info头)copy到新的page上,然后把原存储区间page上被标记为invalid的数据回收,标记为valid的数据复制到新的存储区间page中。如图6所示,当把有效数据放入新的存储区间之后,就擦除原来的page上的数据(原来的page即图5所示的存储区间)。把擦除数据之后的图5中的存储区间作为下一个碎片page。本实施例能够防止突然掉电导致数据的丢失且无法找回的现象的发生。
以图7所示的流程图阐述本发明是如何修改数据以及如何进行碎片回收:
S101,开始进行信息的存储。
S102,存储信息的时候,需要判断这类型的信息是否以前已经存过,如果存在,那么执行S103。如果不存在,则执行S104。
S103,把老记录标记为无效。
比如要重新存储学生甲的新信息,存储区间上之前已经保存了学生甲的旧信息了,那么就将学生甲的旧信息标记为无效信息。
S104,判断空间是否足够。如果剩余空间足够,则执行S105至S106。否则,执行步骤S1041至S1045。
S105,当前page的空余部分追加新的信息。
S106,将当前page的新信息标记为有效。
S1041,就会进行碎片的回收。
S1042,在碎片回收的过程中,首先对原始的page info头进行copy到新的碎片page info头。
S1043,提取原始page的有效信息,删除无效信息。
S1044,把原始数据的有效信息写入到碎片page中,以作为碎片的回收,删除多余数据。
S1045,擦除原始page,此page可作为下一个回收机制的碎片page。
S107,执行完成,退出操作。
下面以两个实施例阐述本发明的数据存储方法:
实施例一
定义Info_flag为0xFFFFFFFF,表明此快闪存储器Flash的存储区间page是普通Flash信息存储方案(如果是其它特定值,那么表示此page空间是变长信息存储方案)。将Info_len(即page info头的长度)固定为16字节。将Header_len(表示变长数据头的长度,包含len、IDn、status的长度)固定为3字节。将Type(表示存储的信息的类型)定义为密钥(用0x01表示)或者敏感信息(用0x02表示)或者加密信息(用0x03表示)等。给Total_page(用于记录整个Flash的page size)以及Page_index(用于记录当前page所在整个Flash的index,index从0开始)分别设置数值。定义len、IDn、status、DATA这些参数,其中,len为DATA的长度,字节为单位。IDn为ID标识,表示相同类型下不同子类的数据。Status为状态标识,表示当前变长数据是否有效。当Status为0xFF表示数据有效,当Status为0x01表示数据无效。定义DATA为当前数据。
通过上述方式,每次存储信息的时候,根据page info头,能够明确信息是普通Flash存储还是变长信息存储,变长数据及page info头的长度,信息的类型,所在Flash的大小以及index,根据变长信息块,能够明确信息的长度,信息的子类,信息的标识以及信息,最终就能够实现变长信息的存储了。
当数据填充满一个page,没有足够空间填写下一个信息的时候,就会用到信息回收,把有效的信息回收起来,无效的信息擦除,保证了Flash的寿命以及在擦写过程中掉电导致的信息丢失的问题。
实施例二
图8和图9中的Info_flag均标记为0xAAAAAAAA,表明图8和图9中的存储区间用于存储变长信息,图8和图9中的存储区间page上的Info_len均为0x10,表示信息存储标记占16字节。Header_len为0x03,表示变长数据头的长度,即是下一行的0x09 0x00 0xFF的长度。Type为0x01,表示此块存储的是加密的信息。Total_page为0x100表示此存储空间有256个page,Page_index为0,表示这是第一个page。
变长信息存储在信息存储标记头以下的位置(addr+16处),最开始存放第一包数据,0x09(len)表示变长信息的数据为9个字节,0x00(IDn)表示此page中的第一包数据,0x01(status)表示此数据无效,后面的9个0xAA表示第一包变长的加密数据(DATA);紧接着存放的是第二包的数据,0x11(len)表示变长信息的数据为17个字节,0x01(IDn)表示此page中的第二包数据,0xFF(status)表示此数据有效,后面的17个0x55表示第二包变长的加密数据(DATA);接下来存放的是第三包的数据(第三包的数据是第一包数据的修改数据),0x09(len)表示变长信息的数据为9个字节,0x00(IDn)表示此page中的第一包数据,0xFF(status)表示此数据有效,后面的9个0xBB表示第一包变长的加密数据(DATA)。
综上,本发明首先将原存储区域上的标识信息复制到新存储区域(当前未存储任何数据)上,同时将原存储区域上的原数据所对应的修改数据存储在新存储区域,之后将原存储区域上的标识信息更改为无效信息。当需要再次查看标识信息所对应的数据时就直接到新区域上查看。本发明既存储了修改数据又不需要擦除原存储区域上的数据,不擦除原存储区域上的数据就不需要擦除原存储区域所在的整个存储区间上的数据,从而保证了所有数据的安全性。
示例性装置
本实施例还提供一种基于快闪存储器的存储装置,所述装置包括如下组成部分:
复制模块,用于将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
标识更改模块,用于所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
修改模块,用于将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于快闪存储器的存储方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该终端设备的温度传感器是预先在终端设备内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的基于快闪存储器的存储程序,处理器执行基于快闪存储器的存储程序时,实现如下操作指令:
将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于快闪存储器的存储方法,其特征在于,包括:
将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
2.如权利要求1所述的基于快闪存储器的存储方法,其特征在于,所述将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器,包括:
确定所述标识信息中的状态标识、数据长度标识、编号标识,所述状态标识用于表征所述原数据是否有效,所述数据长度标识用于标识所述原数据所占用的字节长度,所述编号标识用于标识所述原数据的编号;
将所述原数据的所述状态标识、所述数据长度标识、所述编号标识从所述原存储区域复制到新存储区域。
3.如权利要求2所述的基于快闪存储器的存储方法,其特征在于,所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据,包括:
将所述原数据的所述状态标识、所述数据长度标识、所述编号标识从所述原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息中的所述状态标识更改为无效标识。
4.如权利要求1所述的基于快闪存储器的存储方法,其特征在于,所述将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据,包括:
在所述新存储区域上创建变长存储单元,所述变长存储单元为存储长度根据待存储数据长度定义的存储单元;
将所述修改数据存储在所述变长存储单元上。
5.如权利要求1所述的基于快闪存储器的存储方法,其特征在于,还包括:
检测所述存储区间的剩余存储容量;
当所述剩余存储容量小于阈值时,创建另一个区别于所述存储区间的存储新区间;
将所述存储区间的存储标记信息复制到所述存储新区间;
将所述存储区间上有效的标识信息所对应的修改数据复制到所述存储新区间上。
6.如权利要求5所述的基于快闪存储器的存储方法,其特征在于,所述将所述存储区间上有效的标识信息所对应的修改数据复制到所述存储新区间上,之后还包括:
擦除所述存储区间上的数据;
将擦除数据之后的所述存储区间作为碎片区间,所述碎片区间用于另一个所述存储区间上的数据。
7.如权利要求6所述的基于快闪存储器的存储方法,其特征在于,所述擦除所述存储区间上的数据,之前还包括:
将所述存储区间上无效的标识信息所对应的原数据复制到RAM存储器上,所述RAM存储器为所述快闪存储器所在的主机上的存储器。
8.一种基于快闪存储器的存储装置,其特征在于,所述装置包括如下组成部分:
复制模块,用于将原数据的标识信息从原存储区域复制到新存储区域,所述原数据位于所述原存储区域内,所述新存储区域为存储区间上未被存储的区域,所述新存储区域和所述原存储区域位于同一个所述存储区间上,各个所述存储区间用于构成快闪存储器;
标识更改模块,用于所述原数据的标识信息从原存储区域复制到新存储区域之后,将所述原存储区域上所述标识信息更改为无效标识,所述无效标识用于表征所述原存储区域上的所述原数据不再作为所述快闪存储器对外输出的数据;
修改模块,用于将修改数据存储在所述新存储区域,所述修改数据为所述原数据修改之后的数据。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于快闪存储器的存储程序,所述处理器执行所述基于快闪存储器的存储程序时,实现如权利要求1-7任一项所述的基于快闪存储器的存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于快闪存储器的存储程序,所述基于快闪存储器的存储程序被处理器执行时,实现如权利要求1-7任一项所述的基于快闪存储器的存储方法的步骤。
CN202310658094.0A 2023-06-05 2023-06-05 一种基于快闪存储器的存储方法及相关装置 Active CN116661696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310658094.0A CN116661696B (zh) 2023-06-05 2023-06-05 一种基于快闪存储器的存储方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310658094.0A CN116661696B (zh) 2023-06-05 2023-06-05 一种基于快闪存储器的存储方法及相关装置

Publications (2)

Publication Number Publication Date
CN116661696A true CN116661696A (zh) 2023-08-29
CN116661696B CN116661696B (zh) 2024-03-22

Family

ID=87716816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310658094.0A Active CN116661696B (zh) 2023-06-05 2023-06-05 一种基于快闪存储器的存储方法及相关装置

Country Status (1)

Country Link
CN (1) CN116661696B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457658A (en) * 1993-02-24 1995-10-10 International Business Machines Corporation Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
CN105723462A (zh) * 2013-11-11 2016-06-29 高通股份有限公司 存储在nand存储器设备中的数据的防故障刷新
CN111427511A (zh) * 2020-03-10 2020-07-17 青岛小鸟看看科技有限公司 一种数据存储方法及装置
CN112579004A (zh) * 2020-12-17 2021-03-30 杭州艾芯智能科技有限公司 快速删除flash数据的方法、系统、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457658A (en) * 1993-02-24 1995-10-10 International Business Machines Corporation Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
WO2010144587A2 (en) * 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
CN105723462A (zh) * 2013-11-11 2016-06-29 高通股份有限公司 存储在nand存储器设备中的数据的防故障刷新
CN111427511A (zh) * 2020-03-10 2020-07-17 青岛小鸟看看科技有限公司 一种数据存储方法及装置
CN112579004A (zh) * 2020-12-17 2021-03-30 杭州艾芯智能科技有限公司 快速删除flash数据的方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN116661696B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
US7694094B2 (en) Transaction method for managing the storing of persistent data in a transaction stack
US20080005510A1 (en) Compression Method for Managing the Storing of Persistent Data From a Non-Volatile Memory to a Backup Buffer
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
JP4058322B2 (ja) メモリカード
US20020085433A1 (en) Data management system and data management method
US8352672B2 (en) Memory system with nonvolatile memory
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
JP2008146253A (ja) 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
US20050278480A1 (en) Method of writing data into flash memory
CN115291815B (zh) 一种存储器及其控制方法与存储系统
CN115599578A (zh) 一种存储器及其控制方法与存储系统
WO2023179243A1 (zh) 数据读写方法、系统及介质、设备
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
CN116661696B (zh) 一种基于快闪存储器的存储方法及相关装置
US7185140B2 (en) Method for storing in nonvolatile memory and storage unit
CN112347002B (zh) flash数据的保存方法、系统、计算机设备及存储介质
JP4661369B2 (ja) メモリコントローラ
JP2005222202A (ja) 不揮発性記憶装置のデータ保護方法
CN114721602B (zh) 一种基于FreeRTOS的Nor Flash滚动存储方法及装置
TWI805445B (zh) 借助額外實體位址資訊來進行記憶體裝置之存取控制的方法、記憶體裝置以及記憶體裝置的控制器
JP4794530B2 (ja) 半導体装置および携帯電話
EP2267725A1 (en) Memory device for managing the recovery of a non volatile memory
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
US20140052893A1 (en) File deletion for non-volatile memory
JP2010256944A (ja) Nand型フラッシュメモリ保守装置及びnand型フラッシュメモリ保守プログラム及びnand型フラッシュメモリ保守方法

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
GR01 Patent grant
GR01 Patent grant