CN112908390A - 数据存储方法、装置、电子设备及存储介质 - Google Patents
数据存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112908390A CN112908390A CN202110142569.1A CN202110142569A CN112908390A CN 112908390 A CN112908390 A CN 112908390A CN 202110142569 A CN202110142569 A CN 202110142569A CN 112908390 A CN112908390 A CN 112908390A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- effective
- data storage
- empty
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000015654 memory Effects 0.000 claims description 43
- 230000002950 deficient Effects 0.000 claims description 5
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据存储方法、装置、电子设备及存储介质,涉及计算机技术领域,其中数据存储方法包括:识别出数据区块中的损坏区块和有效区块;对所述损坏区块进行擦除处理,得到目标空区块;获取所述有效区块的有效数据;获取数据存储指令;根据所述数据存储指令将所述有效数据存储至所述目标空区块;将预设校验码和非空区识别标志写入所述目标空区块。上述数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种数据存储方法、装置、电子设备及存储介质。
背景技术
如今电子设备已遍布我们的生活,种类繁多的电子设备中不乏需要对可变数据进行存储的设备,以便在设备重启后可根据用户配置或上次运行存储状态运行设备。
目前存储可变数据的方式主要采用非易失存储器,如EEPROM(带电可擦可编程只读存储器),FRAM(铁电存储器)、Flash。EEPROM与FRAM可动态快速读写,数据可以掉电保持,但其价格高昂,不适合大容量可变数据的存储。Flash价格廉价,容量大,读写速度快,但在写入之前需要先擦除Flash区块,这个时间通常较长,因此在Flash擦除写入期间设备掉电,极易损坏存储数据。目前主要解决方式是对数据进行备份,上电时对数据进行检测,出现损坏时使用备份区数据恢复。但这种方式并不能有效规避数据写入时有效数据块的损坏概率。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明实施例提出一种数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
本发明实施例还提出一种数据存储装置。
本发明实施例还提出一种电子设备。
本发明实施例还提出一种计算机可读存储介质。
根据本发明的第一方面实施例的数据存储方法,包括:
识别出数据区块中的损坏区块和有效区块;
对所述损坏区块进行擦除处理,得到目标空区块;
获取所述有效区块的有效数据;
获取数据存储指令;
根据所述数据存储指令将所述有效数据存储至所述目标空区块;
将预设校验码和非空区识别标志写入所述目标空区块。
根据本发明第一方面实施例的数据存储方法,至少具有如下有益效果:首先,识别出数据区块中的损坏区块和有效区块,然后对损坏区块进行擦除处理,得到目标空区块,并获取有效区块的有效数据,再获取数据存储指令,根据数据存储指令将有效数据存储至目标空区块,最后将预设校验码和非空区识别标志写入目标空区块,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
根据本发明的一些实施例,在所述将预设校验码和非空区识别标志写入所述目标空区块之后,还包括:对所述有效区块进行擦除处理;根据擦除处理后的所述有效区块执行所述获取数据存储指令的步骤。
根据本发明的一些实施例,在所述获取数据存储指令之后,还包括:将所述有效数据加载至预设存储器中;在所述根据所述数据存储指令将所述有效数据存储至所述目标空区块之前,还包括:从所述预设存储器中提取出所述有效数据。
根据本发明的一些实施例,所述获取数据存储指令,包括:获取所述有效数据中的可变数据;基于所述可变数据计算计时时间,若所述可变数据未发生变更,则比较所述计时时间和预设时间之间的大小关系;若所述计时时间大于或等于所述预设时间,则获取所述数据存储指令。
根据本发明的一些实施例,所述方法还包括:若所述计时时间小于所述预设时间,则执行所述获取所述有效数据中的可变数据的步骤。
根据本发明的一些实施例,还包括:若所述可变数据发生变更,则重新计算所述计时时间,并执行所述获取所述有效数据中的可变数据的步骤。
根据本发明的一些实施例,所述识别出数据区块中的损坏区块和有效区块,包括:获取数据区块对应的非空区识别标志,根据所述非空区识别标志从所述数据区块中提取出非空区块;获取所述非空区块对应的预设校验码,检测所述预设检验码的正确性;若所述预设校验码不正确,则从所述非空区块中识别出所述损坏区块。
根据本发明的第二方面实施例的数据存储装置,包括:
识别模块,用于识别出数据区块中的损坏区块和有效区块;
擦除模块,用于对所述损坏区块进行擦除处理,得到目标空区块;
第一获取模块,用于获取所述有效区块的有效数据;
第二获取模块,用于获取数据存储指令;
存储模块,用于根据所述数据存储指令将所述有效数据存储至所述目标空区块;
写入模块,用于将预设校验码和非空区识别标志写入所述目标空区块。
根据本发明第二方面实施例的数据存储装置,至少具有如下有益效果:通过执行本发明第一方面实施例的数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
根据本发明第三方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现第一方面所述的数据存储方法。
根据本发明第三方面实施例的电子设备,至少具有如下有益效果:通过执行本发明第一方面实施例的数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
根据本发明第四方面实施例的计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面所述的数据存储方法。
根据本发明第四方面实施例的计算机可读存储介质,至少具有如下有益效果:通过执行本发明第一方面实施例的数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的数据存储方法的流程示意图;
图2为本发明实施例的获取数据存储指令的流程示意图;
图3为本发明实施例的有效区块的结构示意图;
图4为本发明实施例的数据存储装置的结构示意图;
图5为本发明实施例的电子设备的功能模块图。
附图标记:
识别模块400、擦除模块410、第一获取模块420、第二获取模块430、存储模块440、写入模块450、处理器500、存储器510、数据传输模块520、摄像头530、显示屏540。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
首先,对本申请中涉及的若干名词进行解析:
1、Flash:Flash Memory,即Flash闪存,一般简称为"Flash",它属于内存器件的一种,是一种非易失性(Non-Volatile)内存。
2、RAM:random access memory,简称RAM,即随机存取存储器,又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。
3、CRC:Cyclic Redundancy Check,循环冗余校验,一种差错校验技术,是数据通讯中最常采用的校验方式。CRC码即循环冗余校验码。
目前存储可变数据的方式主要采用非易失存储器,如EEPROM(带电可擦可编程只读存储器)、FRAM(铁电存储器)、Flash。EEPROM与FRAM可动态快速读写,数据可以掉电保持,但其价格高昂,不适合大容量可变数据的存储。Flash价格廉价,容量大,读写速度快,但在写入之前需要先擦除Flash区块,这个时间通常较长,因此在Flash擦除写入期间设备掉电,极易损坏存储数据。目前主要解决方式是对数据进行备份,上电时对数据进行检测,出现损坏时使用备份区数据恢复。但这种方式并不能有效规避数据写入时有效数据块的损坏概率。
基于此,本发明实施例提出一种数据存储方法、装置、电子设备及存储介质,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
参照图1,根据本发明第一方面实施例的数据存储方法,包括:
步骤S100,识别出数据区块中的损坏区块和有效区块;
其中,数据区块可以是对Flash进行开辟所得的、用作数据存储的Flash区块,该Flash区块可以包括有效区块和无效区块,其中无效区块可以包括损坏区块和空区块;损坏区块可以是区块中存有数据、但数据受损的数据区块,通常是在数据写入或擦除过程中,由于设备断电造成区块损坏;有效区块可以是已存储数据且数据完好的数据区块。可选的,可以对数据区块进行识别,检测出数据区块中的损坏区块和有效区块,例如可以先通过数据区块的非空标志识别出非空区块(非空区块即存储有数据的数据区块,非空区块可以包括有效区块和损坏区块),然后通过数据区块对应的校验码进行识别,若识别得到校验码错误,则确定该数据区块为损坏区块;否则确定该区域为有效区域,由此检测得到数据区块的损坏区块和有效区块。
步骤S110,对损坏区块进行擦除处理,得到目标空区块。
其中,目标空区块可以是将损坏区块进行擦除后所得的空区块。可选的,因损坏区块中的数据受损,所以可以将损坏区块中的数据进行擦除,即对损坏区块进行擦除处理。损坏区块擦除后将变为空区,即可得到目标空区块。
步骤S120,获取有效区块的有效数据。
可选的,可以提取出有效区块存储的数据,即提取出有效数据。在一些具体的实施例中,可以将有效数据先存储至RAM中,以便设备和用户对有效数据进行动态修改。
步骤S130,获取数据存储指令。
其中,数据存储指令可以是用于存储有效数据的命令。可选的,可以通过判断有效数据是否需要存储,从而可以确定是否需要生成数据存储指令。具体的,若检测到有效数据需要存储,则生成数据存储指令,用于指示存储该有效数据;若检测到有效数据不需要存储,则无需生成数据存储指令。
步骤S140,根据数据存储指令将有效数据存储至目标空区块。
可选的,若有效数据需要存储,则可以根据数据存储指令将有效数据存储至经过擦除处理得到的空区块中,即将有效数据存储至目标空区块中;若有效数据不需要存储,则无需将有效数据存储至目标空区块,以避免数据的频繁存储。
步骤S150,将预设校验码和非空区识别标志写入目标空区块。
其中,预设校验码可以是根据有效数据计算得到的数据区块对应的校验码;非空区识别标志可以是已存储有数据的数据区块的标记。可选的,在将有效数据存储至目标空区块后,目标空区块即为已存储有数据的数据区块,因此可以对目标空区块进行标记,可以将预设校验码和非空区识别标志写入目标空区块,使得目标空区块转变为有效区块。在一些具体的实施例中,可以根据加载RAM中的可变数据计算得到预设校验码,预设校验码的生成方式可以是使用CRC码,非空区识别标志可使用任意不是所有位都是1的值,如取0xAA。由于将预设校验码和非空区识别标志写入目标空区块的写入时间较短,即使在写入操作中发生断电,造成目标空区块发生损坏的概率也较低,从而可以降低有效数据块的损坏概率。
上述数据存储方法,首先,识别出数据区块中的损坏区块和有效区块,然后对损坏区块进行擦除处理,得到目标空区块,并获取有效区块的有效数据,再获取数据存储指令,根据数据存储指令将有效数据存储至目标空区块,最后将预设校验码和非空区识别标志写入目标空区块,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
在本发明的一些实施例中,在将预设校验码和非空区识别标志写入目标空区块之后,还包括:
对有效区块进行擦除处理,根据擦除处理后的有效区块执行获取数据存储指令的步骤。可选的,在将有效区块的有效数据存储至目标空区块后,可以将该有效区块进行擦除,从而可以产生新的空区块以存储新的数据,可以根据擦除的有效区块(即新的空区块)存储新的数据,即根据擦除处理后的有效区块执行获取数据存储指令的步骤。通过对有效区块进行擦除,将Flash擦除和写入操作进行剥离,即使在擦除操作时发生断电,也不会损坏有效区块,降低有效数据块的损坏概率。
在本发明的一些实施例中,在获取数据存储指令之后,还包括:
将有效数据加载至预设存储器中。其中,预设存储器可以是预先设置的用于存储有效数据的内部存储器。可选的,可以设置预设存储器为RAM,则可以将有效数据加载至RAM,从而可以便于设备和用户对有效数据进行随时、快速读写。
在根据数据存储指令将有效数据存储至目标空区块之前,还包括:
从预设存储器中提取出有效数据。可选的,可以先从预设存储器中提取出有效数据,然后再将有效数据存储至目标空区块。例如,假设预设存储器为RAM,若在RAM中,有效数据被设备或用户进行了修改,则需要对修改后的数据进行完整性检测,因此不能将修改后的有效数据直接存储至目标空区块中;若有效数据没有被修改,即可以确定有效数据需要被存储,因此可以生成数据存储指令,根据数据存储指令从RAM中提取出有效数据并将其存储到目标空区块中。通过将有效数据加载至预设存储器中,当需要将有效数据存储至目标空区块时,再从预设存储器中提取出有效数据,可以实现可变数据的自动存储,还可以按需调整Flash的写入频率。
参照图2,在本发明的一些实施例中,获取数据存储指令,包括:
步骤S200,获取有效数据中的可变数据。
其中,可变数据可以是有效数据中可以变更或修改的数据。可选的,可以从有效数据中提取出可变数据,并对可变数据进行检测和分析,判断其是否发生变更,若可变数据发生变更,则可以确定有效数据发生了变更;若可变数据没有发生变更,则可以确定可变数据也没有发生变更。
步骤S210,基于可变数据计算计时时间,若可变数据未发生变更,则比较计时时间和预设时间的大小关系。
其中,计时时间可以是检测可变数据是否发生变更的时间长度;预设时间可以是计时时间对应的时间上限,预设时间可以根据需求设置。可选的,可以根据需求设置一个计时器进行计时。可以根据Flash写入频率设置预设时间,例如,当预设时间的取值越大,Flash写入频率就越低,但设备重启后数据是最新数据的概率越小;反之,若预设时间越小,则Flash写入频率越高,但设备重启后数据是最新数据的概率越大。可以通过判断可变数据是否发生变更,进而确定计时时间的大小。例如,若检测到可变数据未发生变更,则可以读取计时器时间,得到计时时间,然后可以比较计时时间和预设时间之间的大小关系,得到计时时间大于预设时间的大小关系、计时时间小于预设时间的大小关系或计时时间等于预设时间的大小关系。
步骤S220,若计时时间大于或等于预设时间,则获取数据存储指令。
可选的,若计时时间大于或等于预设时间,则可以确定计时时间达到时间上限,因此可以确定需要将有效数据存储至目标空区块中,所以可以生成数据存储指令,由此得到数据存储指令。通过获取有效数据中的可变数据,并根据可变数据计算计时时间,然后比较计时时间和预设时间的大小关系,若计时时间大于或等于预设时间,则可以确定需要将有效数据存储至目标区块中,因此需要获取数据存储指令,实现可变数据的自动存储。
在本发明的一些实施例中,获取数据存储指令的方法还包括:
若计时时间小于预设时间,则执行获取有效数据中的可变数据的步骤。可选的,若计时时间小于预设时间,则可以确定计时时间未达到时间上限,则可以确定有效数据未达到存储要求,因此不能生成获取数据存储指令,即不能直接将有效数据存储至目标空区块中。可以重新对有效数据中的可变数据进行检测,即执行获取有效数据中的可变数据的步骤,直至计时时间大于或等于预设时间。当计时时间小于预设时间时,执行获取有效数据中的可变数据的步骤,可以自动检测有效数据是否需要存储,实现可变数据的自动存储。
在本发明的一些实施例中,获取数据存储指令的方法还包括:
若可变数据发生变更,则重新计算计时时间,并执行获取有效数据中的可变数据的步骤。可选的,若可变数据发生变更,则可以确定有效数据中产生了新的数据,所以需要对新的数据的完整性进行检测。因此,不能将发生变更的有效数据直接存储至目标空区块中,需要重新计算计时时间,可以重新对有效数据中的可变数据进行检测,即执行获取有效数据中的可变数据的步骤,直至检测到可变数据未发生变更。当可变数据发生变更时,需要重新计算计时时间,并执行获取有效数据中的可变数据的步骤,可以确保有效数据的完整性,降低有效数据的损坏概率。
在本发明的一些实施例中,识别出数据区块中的损坏区块和有效区块,包括:
获取数据区块对应的非空区识别标志,根据非空区识别标志从数据区块中提取出非空区块。其中,非空区块可以是已经存储有数据的数据区块,非空区块可以包括有效区块和损坏区块。可选的,如图3所示,图3示出了有效区块的结构,由图3可得,有效区块的区块内部存储三部分信息:有效数据、预设校验码和非空区识别标志。数据区块中可以包括有效区块和无效区块,其中无效区块可以包括空区块和损坏区块,首先可以通过非空区识别标志判别该区是否为空区,若不是空区块,则可以从数据区块中提取出该区,该区即为非空区块。
获取非空区块对应的预设校验码,检测预设检验码的正确性。可选的,可以使用预设校验码对每一非空区块进行检测,若预设校验码不正确,则可以确定该区为损坏区块,进入下一步;若预设检验码正确,则可以确定该区为有效区块,可以提取出有效区块。
若预设校验码不正确,则从非空区块中识别出损坏区块。可选的,当预设校验码不正确时,可以确定该非空区块中的数据受损,因此可以确定该区为损坏区块,即识别出损坏区块,由此得到损坏区块和有效区块。通过非空区识别标志从数据区块中识别出非空区块,再利用预设校验码识别出非空区块中的有效区块和损坏区块,可以准确识别出有效区块和损坏区块,降低有效数据块的损坏概率。
下面以一个具体的实施例详细描述本发明实施例的数据存储方法的过程。需要理解的是,下面描述仅是示例性说明,而不是对本发明的具体限制。
数据存储方法,执行以下步骤:
第一步,开辟Flash两个区块用作数据存储。
FLash的两个区块始终有一个有效区块和一个无效区块,无效区块可以包括损坏区块和空区块。其中有效区块为已存储数据且数据完好的Flash区块;无效区块可以包括空区块或者损坏区块;空区块指已完成擦除操作的Flash区块,损坏区块指数据受损的Flash区块,通常是在数据写入或擦除过程设备断电造成的。其中,有效区块的结构如图3所示,区块内部存储三部分信息:有效数据、预设校验码和非空区识别标志。
第二步,识别出Flash区块中的有效区块和损坏区块。
对Flash两个数据区块进行识别,检测出空区块、有效区块和损坏区块。首先可以通过非空区识别标志判别该区是否为空区;若不是空区块,则该区块为非空区块,然后可以根据区块中存储的数据计算出数据校验码,与区块存储的预先设置的校验码进行比较,判别出该非空区块是有效区块还是损坏区块;若计算校验码与区块预设校验码不同,则该非空区块为损坏区块,否则为有效区块。若非空区块为损坏区块,对损坏区块进行擦除操作。
第三步,将有效区块中的有效数据加载至RAM。
将有效数据加载至RAM,此时RAM中的数据可由设备和用户动态修改。
第四步,检测数据是否需要存储。
对存储于RAM中的数据进行检测,判断数据是否需要存储,具体的:设置一个计时器,计时时间可根据需求设置,不启动计时器,在检测期间只要RAM中数据发生变更便重启计时器(启动计时器并重置计时器),在计时器计时时间到达预设值时,触发存储请求,进入第五步。
第五步,将有效数据存储至目标空区块,并写入预设校验码和非空区识别标志。
为便于描述,这里记当前Flash数据区块中的有效区块为BlockA,记当前Flash区块中的空区块为BlockB。根据当前RAM中可变数据和非空区识别标志计算预设校验码,非空区识别标志可使用任意不是所有位都是1的值,如取0xAA,预设校验码的生成方式可以是使用CRC码;此后将RAM中的可变数据、非空区识别标志和预设校验码写入BlockB,在写入完成后BlockB将成为有效区块。若在写入工程中设备断电,下次上电时BlockB为坏区块、BlockA为有效区块。
第六步,对有效区块进行擦除。
擦除第五步所诉的有效区块BlockA,完成操作后BlockA将成为空区块,若擦除过程中设备断电,下次上电时BlockA为坏区快,而BlockB为有效区块。
上述数据存储方法中,将Flash的擦除和写入操作进行剥离,擦除操作和写入操作始终在有效区块存在的情况下对另一区块进行操作,如此即便在操作期间设备断电,仅有当前操作区块会损坏,另一区块仍为有效区块,可用于数据恢复。此外,因Flash写入时间远小于Flash擦除时间,这与擦除、写入依次进行的方式相比,大大降低了最新数据备份损坏的概率。
通过检测数据变更重启存储触发定时器的方法,可实现可变参数的自动存储,此外通过调节定时器的定时时长,可按需调节可变参数存储的频度。
参照图4,根据本发明第二方面实施例的数据存储装置,包括:
识别模块400,用于识别出数据区块中的损坏区块和有效区块;
擦除模块410,用于对损坏区块进行擦除处理,得到目标空区块;
第一获取模块420,用于获取有效区块的有效数据;
第二获取模块430,用于获取数据存储指令;
存储模块440,用于根据数据存储指令将有效数据存储至目标空区块;
写入模块450,用于将预设校验码和非空区识别标志写入目标空区块。
上述数据存储装置,通过执行本发明第一方面实施例的数据存储方法,能够将Flash的擦除和写入操作进行剥离,降低有效数据块的损坏概率,实现可变数据自动存储,成本低廉。
参照图5,本发明第三方面实施例还提供了一种电子设备功能模块图,包括:至少一个处理器500,以及与至少一个处理器500通信连接的存储器510;还可以包括数据传输模块520、摄像头530、显示屏540。
其中,处理器500通过调用存储器510中存储的计算机程序,用于执行第一方面实施例中的数据存储方法。
存储器作为一种非暂态存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明第一方面实施例中的数据存储方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面实施例中的数据存储方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面实施例中的数据存储方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例中的数据存储方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面实施例中的数据存储方法。
本发明第四方面实施例还提供了计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于:执行第一方面实施例中的数据存储方法。
在一些实施例中,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第三方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面实施例中的数据存储方法。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.数据存储方法,其特征在于,包括:
识别出数据区块中的损坏区块和有效区块;
对所述损坏区块进行擦除处理,得到目标空区块;
获取所述有效区块的有效数据;
获取数据存储指令;
根据所述数据存储指令将所述有效数据存储至所述目标空区块;
将预设校验码和非空区识别标志写入所述目标空区块。
2.根据权利要求1所述的方法,其特征在于,在所述将预设校验码和非空区识别标志写入所述目标空区块之后,还包括:
对所述有效区块进行擦除处理;
根据擦除处理后的所述有效区块执行所述获取数据存储指令的步骤。
3.根据权利要求1所述的方法,其特征在于,在所述获取数据存储指令之后,还包括:
将所述有效数据加载至预设存储器中;
在所述根据所述数据存储指令将所述有效数据存储至所述目标空区块之前,还包括:
从所述预设存储器中提取出所述有效数据。
4.根据权利要求1所述的方法,其特征在于,所述获取数据存储指令,包括:
获取所述有效数据中的可变数据;
基于所述可变数据计算计时时间,若所述可变数据未发生变更,则比较所述计时时间和预设时间的大小关系;
若所述计时时间大于或等于所述预设时间,则获取所述数据存储指令。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述计时时间小于所述预设时间,则执行所述获取所述有效数据中的可变数据的步骤。
6.根据权利要求4所述的方法,其特征在于,还包括:
若所述可变数据发生变更,则重新计算所述计时时间,并执行所述获取所述有效数据中的可变数据的步骤。
7.根据权利要求1所述的方法,其特征在于,所述识别出数据区块中的损坏区块和有效区块,包括:
获取数据区块对应的非空区识别标志,根据所述非空区识别标志从所述数据区块中提取出非空区块;
获取所述非空区块对应的预设校验码,检测所述预设检验码的正确性;
若所述预设校验码不正确,则从所述非空区块中识别出所述损坏区块。
8.数据存储装置,其特征在于,包括:
识别模块,用于识别出数据区块中的损坏区块和有效区块;
擦除模块,用于对所述损坏区块进行擦除处理,得到目标空区块;
第一获取模块,用于获取所述有效区块的有效数据;
第二获取模块,用于获取数据存储指令;
存储模块,用于根据所述数据存储指令将所述有效数据存储至所述目标空区块;
写入模块,用于将预设校验码和非空区识别标志写入所述目标空区块。
9.电子设备,其特征在于,包括:
至少一个处理器,以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如权利要求1至7任一项所述的数据存储方法。
10.计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142569.1A CN112908390B (zh) | 2021-02-02 | 2021-02-02 | 数据存储方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110142569.1A CN112908390B (zh) | 2021-02-02 | 2021-02-02 | 数据存储方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112908390A true CN112908390A (zh) | 2021-06-04 |
CN112908390B CN112908390B (zh) | 2023-07-28 |
Family
ID=76121428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110142569.1A Active CN112908390B (zh) | 2021-02-02 | 2021-02-02 | 数据存储方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112908390B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117610322A (zh) * | 2024-01-24 | 2024-02-27 | 南京派威信息科技有限公司 | 基于数字孪生的智慧水务动态监测系统及监测方法 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795890B1 (en) * | 1999-02-19 | 2004-09-21 | Mitsubishi Denki Kabushiki Kaisha | Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory |
US20090091978A1 (en) * | 2007-10-09 | 2009-04-09 | Phison Electronics Corp. | Wear leveling method and controller using the same |
CN102473135A (zh) * | 2009-07-29 | 2012-05-23 | 国际商业机器公司 | 存储设备的写入擦除耐久寿命 |
US20120246399A1 (en) * | 2009-12-03 | 2012-09-27 | Hitachi, Ltd. | Storage Device and Memory Controller |
CN102789426A (zh) * | 2012-07-27 | 2012-11-21 | 青岛海信宽带多媒体技术有限公司 | 在非易失性存储器件中存储信息的方法和装置 |
CN103186436A (zh) * | 2013-03-28 | 2013-07-03 | 深圳市显控自动化技术有限公司 | 一种android系统掉电保护方法及装置 |
WO2014015522A1 (zh) * | 2012-07-27 | 2014-01-30 | 青岛海信宽带多媒体技术有限公司 | 在非易失性存储器件中存储信息的方法和装置 |
CN106227625A (zh) * | 2016-09-05 | 2016-12-14 | 深圳震有科技股份有限公司 | 一种因掉电而损坏的闪存数据的恢复方法及系统 |
CN106407130A (zh) * | 2016-09-12 | 2017-02-15 | 深圳易充新能源(深圳)有限公司 | 一种Nandflash内存数据管理的方法 |
CN106649137A (zh) * | 2016-10-18 | 2017-05-10 | 凌云光技术集团有限责任公司 | 一种Nand Flash坏块管理方法、装置及存储器 |
CN107851053A (zh) * | 2015-07-16 | 2018-03-27 | 高通技术国际有限公司 | 用于管理快闪存储器内容的损坏的方法和设备 |
CN108664409A (zh) * | 2018-03-14 | 2018-10-16 | 上海卫星工程研究所 | 坏块管理方法及系统 |
US10310736B1 (en) * | 2016-12-22 | 2019-06-04 | Veritas Technologies Llc | Systems and methods for storing data |
CN110286848A (zh) * | 2019-05-08 | 2019-09-27 | 西安万像电子科技有限公司 | 数据处理方法及装置 |
CN110413223A (zh) * | 2019-06-25 | 2019-11-05 | 汉纳森(厦门)数据股份有限公司 | Flash存储器的数据读写方法、介质、设备及装置 |
CN110474777A (zh) * | 2019-08-09 | 2019-11-19 | 刘一涵 | 记账节点和区块生成方法 |
CN110534151A (zh) * | 2018-05-24 | 2019-12-03 | 深圳忆联信息系统有限公司 | 实现写入前擦除的方法、装置、计算机设备及存储介质 |
CN111966299A (zh) * | 2020-08-24 | 2020-11-20 | 深圳三地一芯电子有限责任公司 | 一种用于Nand Flash的磨损均衡方法及装置 |
-
2021
- 2021-02-02 CN CN202110142569.1A patent/CN112908390B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795890B1 (en) * | 1999-02-19 | 2004-09-21 | Mitsubishi Denki Kabushiki Kaisha | Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory |
US20090091978A1 (en) * | 2007-10-09 | 2009-04-09 | Phison Electronics Corp. | Wear leveling method and controller using the same |
CN102473135A (zh) * | 2009-07-29 | 2012-05-23 | 国际商业机器公司 | 存储设备的写入擦除耐久寿命 |
US20120246399A1 (en) * | 2009-12-03 | 2012-09-27 | Hitachi, Ltd. | Storage Device and Memory Controller |
CN102789426A (zh) * | 2012-07-27 | 2012-11-21 | 青岛海信宽带多媒体技术有限公司 | 在非易失性存储器件中存储信息的方法和装置 |
WO2014015522A1 (zh) * | 2012-07-27 | 2014-01-30 | 青岛海信宽带多媒体技术有限公司 | 在非易失性存储器件中存储信息的方法和装置 |
CN103186436A (zh) * | 2013-03-28 | 2013-07-03 | 深圳市显控自动化技术有限公司 | 一种android系统掉电保护方法及装置 |
CN107851053A (zh) * | 2015-07-16 | 2018-03-27 | 高通技术国际有限公司 | 用于管理快闪存储器内容的损坏的方法和设备 |
CN106227625A (zh) * | 2016-09-05 | 2016-12-14 | 深圳震有科技股份有限公司 | 一种因掉电而损坏的闪存数据的恢复方法及系统 |
CN106407130A (zh) * | 2016-09-12 | 2017-02-15 | 深圳易充新能源(深圳)有限公司 | 一种Nandflash内存数据管理的方法 |
CN106649137A (zh) * | 2016-10-18 | 2017-05-10 | 凌云光技术集团有限责任公司 | 一种Nand Flash坏块管理方法、装置及存储器 |
US10310736B1 (en) * | 2016-12-22 | 2019-06-04 | Veritas Technologies Llc | Systems and methods for storing data |
CN108664409A (zh) * | 2018-03-14 | 2018-10-16 | 上海卫星工程研究所 | 坏块管理方法及系统 |
CN110534151A (zh) * | 2018-05-24 | 2019-12-03 | 深圳忆联信息系统有限公司 | 实现写入前擦除的方法、装置、计算机设备及存储介质 |
CN110286848A (zh) * | 2019-05-08 | 2019-09-27 | 西安万像电子科技有限公司 | 数据处理方法及装置 |
CN110413223A (zh) * | 2019-06-25 | 2019-11-05 | 汉纳森(厦门)数据股份有限公司 | Flash存储器的数据读写方法、介质、设备及装置 |
CN110474777A (zh) * | 2019-08-09 | 2019-11-19 | 刘一涵 | 记账节点和区块生成方法 |
CN111966299A (zh) * | 2020-08-24 | 2020-11-20 | 深圳三地一芯电子有限责任公司 | 一种用于Nand Flash的磨损均衡方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117610322A (zh) * | 2024-01-24 | 2024-02-27 | 南京派威信息科技有限公司 | 基于数字孪生的智慧水务动态监测系统及监测方法 |
CN117610322B (zh) * | 2024-01-24 | 2024-04-19 | 南京派威信息科技有限公司 | 基于数字孪生的智慧水务动态监测系统及监测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112908390B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6601132B2 (en) | Nonvolatile memory and method of writing data thereto | |
EP0862762B1 (en) | Semiconductor memory device having error detection and correction | |
US7197613B2 (en) | Nonvolatile memory | |
CN102298545B (zh) | 一种系统启动引导处理方法及装置 | |
JP2002351685A (ja) | 不揮発性メモリのデータ更新方法及び制御装置 | |
CN108170495B (zh) | 一种bios升级方法、系统、设备及计算机可读存储介质 | |
US8402204B2 (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
CN107239411B (zh) | 一种车载控制器内存管理方法及系统 | |
CN110333891A (zh) | 基于物联网的增强型ota升级的方法 | |
CN110286853B (zh) | 一种数据写入方法和装置、计算机可读存储介质 | |
CN112397128A (zh) | 一种Flash存储器的控制方法和装置 | |
CN112631628A (zh) | 单片机升级方法、单片机、存储介质 | |
CN112015447A (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN112908390B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN113641390B (zh) | 一种系统升级方法、装置、设备及存储介质 | |
JP4158526B2 (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
CN116880782A (zh) | 一种内嵌式存储器及其测试方法 | |
CN114064084A (zh) | Onu的升级管理方法、存储介质、电子装置和onu | |
US20070214329A1 (en) | Method and apparatus for writing to a target memory page of a memory | |
CN113220319A (zh) | 一种数据更新方法、装置及车辆 | |
CN116755735A (zh) | 嵌入式软件在线升级方法、装置、腹膜透析仪、存储介质 | |
CN114721602B (zh) | 一种基于FreeRTOS的Nor Flash滚动存储方法及装置 | |
CN113918485B (zh) | 一种闪存资料防丢失方法、装置、设备及存储介质 | |
CN105278993B (zh) | 一种基于Linux系统的驱动模块升级方法及装置 | |
CN113051184B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Data storage methods, devices, electronic devices, and storage media Granted publication date: 20230728 Pledgee: Shenzhen Rural Commercial Bank Co.,Ltd. Shenzhen Shantou Special Cooperation Zone Branch Pledgor: SHENZHEN SAMKOON TECHNOLOGY Corp.,Ltd. Registration number: Y2024980009185 |