CN115237348A - 一种数据存储方法、装置、电子设备和存储介质 - Google Patents
一种数据存储方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115237348A CN115237348A CN202210892124.XA CN202210892124A CN115237348A CN 115237348 A CN115237348 A CN 115237348A CN 202210892124 A CN202210892124 A CN 202210892124A CN 115237348 A CN115237348 A CN 115237348A
- Authority
- CN
- China
- Prior art keywords
- data
- sector
- written
- target
- writing
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例公开了一种数据存储方法、装置、电子设备和存储介质;本申请实施例中,当检测存在数据需写入电子设备的存储器中时,获取待写入数据;在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位;当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对存储器中的扇区进行擦除处理,得到擦除后扇区;将待写入数据写入到擦除后扇区,可以提高数据存储到电子设备的存储器中的次数,从而延长电子设备的使用寿命。
Description
技术领域
本申请涉及通讯技术领域,具体涉及一种数据存储方法、装置、电子设备和存储介质。
背景技术
随着信息科技的发展以及互联网技术的迅速发展和普及,带来了电子设备的繁荣发展,例如,出现了智能冰箱、智能电视、智能空调等多样化的电子设备。现在的电子设备中都集成有微控制单元(Microcontroller Unit;MCU),MCU内部包括了存储器,通过存储器可以实现对电子设备在运行过程中产生的各种数据进行存储。一般情况下,存储器中的存储擦写次数是有限的,而存储器中的擦写次数一般不能满足电子设备的设计寿命。
发明内容
本申请实施例提出了一种数据存储方法、装置、电子设备和存储介质,可以提高数据存储到电子设备的存储器中的次数,从而延长电子设备的使用寿命。
本申请实施例提供了一种数据存储方法,包括:
当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
将所述待写入数据写入到所述擦除后扇区。
相应的,本申请实施例还提供了一种数据存储装置,包括:
获取单元,用于当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
确定单元,用于在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
擦除单元,用于当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
写入单元,用于将所述待写入数据写入到所述擦除后扇区。
在一实施例中,所述确定单元,可以包括:
数据读取子单元,用于按照预设数据读取顺序,对所述存储器中的至少一个扇区进行数据读取处理;
信息识别子单元,用于当从所述扇区中读取到数据时,识别读取到的数据的存储位置信息;
信息生成子单元,用于根据所述读取到的数据的存储位置信息,生成所述待写入数据对应的目标写入位置信息。
在一实施例中,所述信息生成子单元,可以包括:
数据长度识别模块,用于识别所述待写入数据的数据长度;
运算模块,用于将所述读取到的数据的存储位置信息和所述待写入数据的数据长度进行运算处理,得到待定写入位置信息;
位置判别模块,用于基于所述存储位置信息中存储扇区的存储范围信息对所述待定写入位置信息进行判别处理;
位置确定模块,用于当所述待定写入位置信息符合所述存储扇区的存储范围信息时,将所述待定写入位置信息确定为所述目标写入位置信息。
在一实施例中,所述信息生成子单元,还可以包括:
第一更新模块,用于当所述待定写入位置信息不符合所述存储扇区的存储范围信息时,对所述待定写入位置信息中的写入位置数据位进行更新,得到更新后写入位置信息;
第二更新模块,用于对所述更新后写入位置信息中的写入扇区进行更新,得到所述目标写入位置信息。
在一实施例中,所述擦除单元,可以包括:
第一判别子单元,用于基于所述扇区阈值信息对所述待写入数据对应的目标写入扇区进行判别处理;
第二判别子单元,用于当所述待写入数据对应的目标写入扇区符合所述扇区阈值信息时,基于所述数据位阈值信息对所述待写入数据在所述目标写入扇区中对应的目标写入数据位进行判别处理;
擦除子单元,用于当所述目标写入数据位不符合所述扇区阈值信息时,将对所述存储器中的扇区进行擦除处理,得到擦除后扇区。
在一实施例中,所述擦除单元,还可以包括:
第一写入子单元,用于当所述待写入数据对应的目标写入扇区符合不所述扇区阈值信息时,将所述待写入数据写入所述存储器中所述目标写入位置信息对应的位置。
在一实施例中,所述写入单元,可以包括:
数据长度识别子单元,用于识别所述待写入数据的数据长度;
位置确定子单元,用于根据所述待写入数据的数据长度,在所述擦除后扇区的起始扇区中确定所述待写入数据的目标存储位置;
第二写入子单元,用于将所述待写入所述起始扇区的目标存储位置中。
相应的,本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行本申请实施例任一提供的数据存储方法。
相应的,本申请实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例任一提供的数据存储方法。
本申请实施例中,当检测存在数据需写入电子设备的存储器中时,获取待写入数据;在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位;当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对存储器中的扇区进行擦除处理,得到擦除后扇区;将待写入数据写入到擦除后扇区,可以提高数据存储到电子设备的存储器中的次数,从而延长电子设备的使用寿命。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据存储方法的场景示意图;
图2是本申请实施例提供的数据存储方法的流程示意图;
图3是本申请实施例提供的数据存储方法的又一流程示意图;
图4是本申请实施例提供的数据存储方法的又一流程示意图;
图5是本申请实施例提供的数据存储方法的又一流程示意图;
图6是本申请实施例提供的数据存储装置的结构示意图;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,然而,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提出了一种数据存储方法,该数据存储方法可以由数据存储装置执行,该数据存储装置可以集成在电子设备中。其中,该电子设备可以包括终端以及服务器等中的至少一个。即该数据存储方法可以由终端执行,也可以由服务器执行。
其中,该终端可以包括个人电脑、平板电脑、智能电视、智能手机、智能家居、可穿戴电子设备、VR/AR设备、车载计算机等等。
其中,服务器可以为多个异构系统之间的互通服务器或者后台服务器,还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器等等。
在一实施例中,如图1所示,数据存储装置可以集成在终端或服务器等电子设备上,以实施本申请实施例提出的数据存储方法。具体地,当终端10检测存在数据需写入电子设备的存储器中时,获取待写入数据;在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位;当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,服务器可以将扇区中已经存储的数据发送给服务器11,然后终端10对存储器中的扇区进行擦除处理,得到擦除后扇区;将待写入数据写入到擦除后扇区。
以下分别进行详细说明,需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例将从数据存储装置集成在电子设备的角度进行本申请实施例提出的数据存储方法进行描述。
如图2所示,提供了一种数据存储方法,具体流程包括:
101、当检测存在数据需写入电子设备的存储器中时,获取待写入数据。
在一实施例中,现在的电子设备中都集成有微控制单元(Microcontroller Unit;MCU),其中,MCU内部包括了存储器,通过存储器可以实现对电子设备在运行过程中产生的各种数据进行存储。例如,MCU中可以包括Flash存储器,等等。其中,Flash存储器又称闪存,它结合了只读存储器(Read-Only Memory,ROM)和随机存取存储器(Random AccessMemory,RAM)的长处,不仅具备电子可擦除可编程(Electrically Erasable Programmableread only memory,EEPROM)的性能,还可以快速读取数据(Non-Volatile Random AccessMemory,NVRAM)的优势,使数据不会因为断电而丢失。因此,Flash存储器得到的广泛的应用。
现在MCU内部的Flash存储器的存储擦写次数基本在1千次到10千次,如果使用内部Flash存储器作为数据存储区,Flash存储器的擦写次数一般不能满足电子设备的设计寿命。
为此,本申请实施例提出了一种数据存储方法,可以提高数据存储到电子设备的存储器中的次数,从而延长电子设备的使用寿命。
在一实施例中,当检测到存在数据需写入电子设备的存储器中时,数据存储装置可以获取待写入数据。
其中,待写入数据可以包括需要写入到存储器中的数据。其中,该待写入数据可以仅指一条数据,也可以包括多条数据。
例如,当电子设备在运行时,便会生成各种运行数据,并将生成的运行数据存储到存储器中。此时,数据存储装置可以获取到待写入数据。
例如,当电子设备是智能冰箱时,若用户打开智能冰箱,智能冰箱内部便会生成一条待写入数据。又例如,当用户对智能冰箱的功能进行设置时,智能冰箱内部可能会生成多条待写入数据,等等。
102、在存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位。
其中,扇区,是指存储器上划分的区域。存储器上的每个磁道被等分为若干个弧段,这些弧段便是存储器的扇区,存储器的读写以扇区为基本单位。存储器的每一面被分为很多条磁道,即表面上的一些同心圆,越接近中心,圆就越小。而每一个磁道又按512个字节为单位划分为等分,叫做扇区。在一些存储器的参数列表上,可以看到描述每个磁道的扇区数的参数,它通常用一个范围标识,例如373~746,这表示,最外圈的磁道有746个扇区,而最里面的磁道有373个扇区,因此可以算出来,磁道的容量分别是从186.5KB到373KB(190976B--381952B)。存储驱动器在向存储器读取和写入数据时,要以扇区为单位。
其中,目标写入位置信息可以包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位。
其中,待写入数据对应的目标写入扇区可以说明将待写入数据写入到存储器的哪个扇区中。例如,存储器中包括8个扇区,当待写入数据对应的目标写入扇区是4时,可以说明将待写入数据写入到第4个扇区中。
其中,目标写入扇区中对应的目标写入数据位可以说明将待写入数据写入到目标写入扇区中的哪个位置。
在一实施例中,在获取到待写入数据之后,可以在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,即确定待写入数据应该写入到存储区中哪个扇区的哪个位置处。例如,可以根据待写入数据的数据长度,确定待写入数据对应的目标写入位置信息。
103、当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对存储器中的扇区进行擦除处理,得到擦除后扇区。
在一实施例中,当确定了待写入数据的目标写入位置信息时,由于待写入数据的在目标写入扇区中对应的目标写入位置信息可能会超过扇区的存储范围,所以还可以基于预设写入条件对待写入数据的目标写入位置信息进行判别处理。例如,可以基于预设写入条件对待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位进行判别处理。当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对存储器中的扇区进行擦除处理,得到擦除后扇区。
其中,预设写入条件可以包括扇区阈值信息和数据位阈值信息。在基于预设写入条件对待写入数据的目标写入位置信息进行判别处理时,可以基于扇区阈值信息对待写入数据对应的目标写入扇区进行判别处理;当待写入数据对应的目标写入扇区符合扇区阈值信息时,基于扇区阈值信息对待写入数据在目标写入扇区中对应的目标写入数据位进行判别处理。
其中,扇区阈值信息可以用于判断待写入数据的目标写入位置信息是否是最大的扇区。例如,存储区中包括8个扇区,扇区阈值信息可以用于判断待写入数据的目标写入位置信息是否在第8个扇区。
其中,数据位阈值信息可以用于判断待写入数据的目标写入位置是否超过扇区的存储范围。例如,存储区中包括8个扇区,当待写入数据的目标写入扇区在第8个扇区时,还可以判断待写入数据的目标写入数据位是否超过第8个扇区的存储范围。
在一实施例中,当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,可以说明存储器中的扇区都存储满了信息,已经没有存储位置可以提供给待写入数据进行写入了,此时,可以存储器中的扇区进行擦除处理,得到擦除后扇区。例如,对存储器中的所有扇区都进行擦除处理,即清除掉存储在存储器中的数据,得到擦除后扇区。
104、将待写入数据写入到擦除后扇区。
然后,可以将待写入数据写入到擦除后扇区中,以实现将待写入数据的存储。
本申请实施例提出了一种数据存储方法,该方法包括:当检测存在数据需写入电子设备的存储器中时,获取待写入数据;在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位;当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对存储器中的扇区进行擦除处理,得到擦除后扇区;将待写入数据写入到擦除后扇区。在本申请实施例中,只有当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件,即存储器中的扇区都存储满了信息,已经没有存储位置可以提供给待写入数据进行写入时,才会对存储器中的扇区进行擦除处理。通过本申请实施例可以实现低频率地对扇区进行擦除,但是高频率地将数据写入,即擦除一次扇区之后,可以实现数据多次地写入扇区,从而可以节约对扇区进行擦除的次数,延长了存储器可以使用的寿命,进一步的,可以延长电子设备的使用寿命。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
本申请实施例将以数据存储方法集成在智能冰箱上为例来介绍本申请实施例方法。具体的,如图3所示,本申请实施例提出的数据存储方法的流程可以包括:
201、当智能冰箱检测存在数据需写入电子设备的存储器中时,获取待写入数据。
例如,若用户打开智能冰箱,智能冰箱内部便会生成一条待写入数据。又例如,当用户对智能冰箱的功能进行设置时,智能冰箱内部可能会生成多条待写入数据,等等。
202、智能冰箱在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位。
在一实施例中,在确定待写入数据对应的目标写入位置信息时,可以根据存储器中已经存储的数据确定待写入数据的目标写入位置信息。具体的,步骤“在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息”,可以包括:
按照预设数据读取顺序,对存储器中的至少一个扇区进行数据读取处理;
当从扇区中读取到数据时,识别读取到的数据的存储位置信息;
根据读取到的数据的存储位置信息,生成待写入数据对应的目标写入位置信息。
其中,读取到的数据的存储位置信息可以包括存储扇区和存储数据位。其中,存储扇区可以说明读取到的数据存储在存储器中的哪个扇区。存储数据位可以说明读取到的数据存储在扇区的哪个位置。
在一实施例中,可以按照预设数据读取顺序,对存储器中的至少一个扇区进行数据读取处理。当从扇区中读取到数据时,识别读取到的数据的存储位置信息。
其中,预设数据读取顺序可以规定集成在智能冰箱中的数据存储装置是从最大的扇区开始读取数据,还是从最小的扇区开始读取数据。
在一实施例中,由于一般是按照存储器中最新存储的数据确定待写入数据对应的目标写入位置信息,所以可以从最大的扇区开始读取数据,即预设数据读取顺序可以设定为从最大的扇区开始读取数据。
在一实施例中,可以按照预设数据读取顺序,从存储器中最大扇区号的最大数据位开始读取数据,保证读取到的数据是存储器中最新的数据。其中,在进行数据读取时,可以进行数据校验。若校验失败,数据位减小一个数据长度,继续读取。当读取的数据位小于当前读取扇区的最小数据位时,扇区号也可以减1,即从下个扇区继续读取数据。通过如此循环,直至读取到最新的且是正确的数据。若最小扇区号页没有读取到正确的数据,说明存储器中没有存储数据,此时,可以将待写入数据写入到存储器中。
例如,如图4所示,在图4中,Sector可以指当前读取的扇区号,Current_Sector可以指读取到的数据的扇区号,Max_Sector可以指最大扇区号,Min_Sector可以指最小扇区号,Data_Bit可以指当前读取的数据位,Max_Bit可以指最大数据位,Min_Bit可以指最小数据位,Current_Bit可以指读取到的数据的数据位。如图4所示,读取数据时,可以从Max_Sector的Max_Bit处开始读取数据。其中,在进行数据读取时,可以进行数据校验。当数据校验通过时,说明读取到数据。当数据校验没有通过时,可以令读取的数据位减小一个数据长度,然后判断当前读取到的数据位是否小于当前读取扇区的最小数据位。若不是,则继续从当前读取的扇区中读取数据。若是,则说明当前读取的扇区中没有数据,从下一个扇区继续读取数据。如果到最后一个扇区都没有读取到数据,则令Current_Sector=Min_Sector,Current_Bit=Min_Bit。然后,Current_Sector和Current_Bit可以指读取到的数据的存储位置信息。其中,Current_Sector可以指读取到的数据的存储扇区。Current_Bit可以指读取到的数据的存储数据位。
其中,对数据校验可以包括对数据的时间、格式等进行校验。例如,可以根据循环冗余校验(Cyclic Redundancy Check,CRC)对数据进行校验,等等,从而提高方法的安全性和可靠性。
在一实施例中,在得到读取到的数据的存储位置信息之后,可以根据读取到的数据的存储位置信息,生成待写入数据对应的目标写入位置信息。
在一实施例中,所述读取到的数据的存储位置信息可以包括读取到的数据对应的存储扇区。可以根据读取到的数据对应的存储扇区生成待写入数据对应的目标写入位置信息。具体的,步骤“根据读取到的数据的存储位置信息,生成待写入数据对应的目标写入位置信息”,可以包括:
识别待写入数据的数据长度;
将读取到的数据的存储位置信息和待写入数据的数据长度进行运算处理,得到待定写入位置信息;
基于存储位置信息中存储扇区的存储范围信息对待定写入位置信息进行判别处理;
当待定写入位置信息符合存储扇区的存储范围信息时,将待定写入位置信息确定为目标写入位置信息。
例如,可以识别待写入数据的数据长度。譬如,待写入数据的数据长度可以是8字节。又例如,待写入数据的数据可以是16字节,等等。
然后,可以将读取到的数据的存储位置信息和待写入数据的数据长度进行运算处理,得到待写入位置信息。例如,可以将读取到的数据的存储数据位和待写入数据的数据长度进行相加,得到待写入数据的待定写入数据位。然后,将待写入数据的待定写入数据位和读取到的数据的存储扇区进行整合,得到待写入数据的待定写入位置信息。
在一实施例中,由于待写入数据的待定写入数据位可能超过扇区的范围,所以还需要基于存储位置信息中存储扇区的存储范围信息对待定写入位置信息进行判别处理。例如,可以将待写入数据的待定写入数据位和存储扇区的存储范围信息进行比较。当待写入数据的待定写入数据位小于存储扇区的存储范围信息时,说明待写入数据可以存储到当前的扇区中,此时,可以将待定写入位置信息确定位目标写入位置信息。
在一实施例中,当待定写入位置信息不符合存储扇区的存储范围信息时,则需要对待定写入位置信息进行更新,得到目标写入位置信息。具体的,本申请实施例提出的方法还可以包括:
当待定写入位置信息不符合存储扇区的存储范围信息时,对待定写入位置信息中的写入位置数据位进行更新,得到更新后写入位置信息;
对更新后写入位置信息中的写入扇区进行更新,得到目标写入位置信息。
例如,当待定写入位置信息不符合存储扇区的存储范围信息时,说明存储扇区的剩余存储空间不能够满足待写入数据。此时,可以对待定写入位置信息中的写入位置数据位进行更新,得到更新后写入位置信息。例如,可以将待定写入位置信息中的写入位置数据位更新位下一个扇区中的最小数据位,得到更新后写入位置信息。然后,可以将更新后写入位置信息中的写入扇区更新位下一个扇区,得到目标写入位置信息。譬如,待定写入位置信息的写入扇区为第4个扇区,写入位置数据位为第4个扇区中的数据位。然后,可以将写入位置数据位更新为第5个扇区中的最小数据位,并将写入扇区更新为第5个扇区。因此,目标写入位置信息可以是第5个扇区中的最小数据位。
203、当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,智能冰箱对存储器中的扇区进行擦除处理,得到擦除后扇区。
在一实施例中,在某些的情况下,待写入数据的目标写入位置信息有可能会超出存储器的存储范围。例如,假设存储器中有8个扇区,目标写入位置信息中的目标写入扇区可能是第9个扇区,此时超出了存储器的存储范围。又例如,目标写入位置信息中的目标写入数据位也可能会超出存储器中的存储范围。因此,还根据预设写入条件,对待写入数据的目标写入位置信息进行判别处理。
在一实施例中,预设写入条件可以包括扇区阈值信息和数据位阈值信息。其中,扇区阈值信息可以指存储器中扇区的最大值。例如,存储器中包括8个扇区,则扇区阈值信息可以是第8个扇区。其中,数据位阈值信息可以是存储器中最大扇区的存储范围。
具体的,步骤“当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,智能冰箱对存储器中的扇区进行擦除处理,得到擦除后扇区”,可以包括:
基于扇区阈值信息待写入数据对应的目标写入扇区进行判别处理;
当待写入数据对应的目标写入扇区符合扇区阈值信息时,基于数据位阈值信息对待写入数据在所述目标写入扇区中对应的目标写入数据位进行判别处理;
当目标写入数据位不符合扇区阈值信息时,对存储器中的扇区进行擦除处理,得到擦除后扇区。
例如,可以判断目标写入位置信息中的目标写入扇区有没有超过存储区中的最大扇区。当待写入数据对应的目标写入扇区符合扇区阈值信息时,可以判断目标写入位置信息中的目标写入数据位是否超过数据位阈值信息。而当目标写入数据位不符合扇区阈值信息时,可以说明目标写入数据位超过了数据位置阈值信息,即存储器中的所以扇区都存储了信息了,此时,可以对存储器中的扇区进行擦除处理,得到擦除后扇区。
在一实施例中,本申请实施例提出的方法还可以包括:
当待写入数据对应的目标写入扇区符合不扇区阈值信息时,将待写入数据写入存储器中目标写入位置信息对应的位置。
例如,当待写入数据对应的目标写入扇区符合不扇区阈值信息时,可以说明待写入数据对应的目标写入扇区不是存储器的最大扇区,因此,待写入数据的目标写入位置信息符合要求,可以将待写入数据写入存储器中目标写入位置信息对应的位置。
在一实施例中,更具体的,如图5所示,当读取到数据后,会返回读取到的数据的存储位置信息。例如,会返回读取到的数据的存储扇区和存储数据位。然后,在将待写入数据写入时,可以先将存储数据位加一个数据长度,并判断数据位是否大于扇区的最大数据位。如果大于最大数据位,则将数据位等于最小数据位,扇区号加1。如果数据位没有超过最大数据位,则直接在该扇区将待写入数据写入。此外,扇区号加1后还需要判断扇区号是否大于最大扇区号,如果大于,则对存储器中的所有扇区进行擦除处理,得到擦除后扇区。
204、智能冰箱将待写入数据写入到擦除后扇区。
在一实施例中,当智能冰箱将存储器中的扇区进行擦除了之后,可以将待写入数据写入到擦除后扇区中。具体的,步骤“将待写入数据写入擦除后扇区”,可以包括:
识别待写入数据的数据长度;
根据待写入数据的数据长度,在擦除后扇区的起始扇区中确定待写入数据的目标存储位置;
将待写入起始扇区的目标存储位置中。
例如,可以识别待写入数据的数据长度为多个字节。然后,在擦除后扇区的起始扇区中确定待写入数据的目标存储位置。例如,将擦除后扇区的起始扇区的最小数据位确定位待写入数据的目标存储位置。然后,将待写入起始扇区的目标存储位置中。
本申请实施例提出了一种数据存储方法,该方法包括:当智能冰箱检测存在数据需写入电子设备的存储器中时,获取待写入数据;智能冰箱在存储器的至少一个扇区中确定待写入数据对应的目标写入位置信息,其中,目标写入位置信息包括待写入数据对应的目标写入扇区,以及在目标写入扇区中对应的目标写入数据位;当待写入数据对应的目标写入扇区和在目标写入扇区中对应的目标写入数据位不符合预设写入条件时,智能冰箱对存储器中的扇区进行擦除处理,得到擦除后扇区;智能冰箱将待写入数据写入到擦除后扇区。首先,在本申请实施例中可以实现夸扇区存储数据,提高了数据存储的灵活性。其次,通过本申请实施例可以实现低频率地对扇区进行擦除,但是高频率地将数据写入,即擦除一次扇区之后,可以实现数据多次地写入扇区,从而可以节约对扇区进行擦除的次数,延长了存储器可以使用的寿命,进一步的,可以延长电子设备的使用寿命。此外,通过本申请实施例还可以数量级地提升存储器的存储次数。例如,以ABOV 8316A这款芯片为例,它的数据存储区单个扇区可擦写次数为10万次,共有8个扇区,每个扇区32个字节,假设我们每次存储的数据长度为8个字节,则可计算出使用本方法前后数据保存次数对比。具体如下:
由表中可知,使用本方法后数据存储次数的提升与每次存储的数据长度和数据存储区有多少个扇区有关,每次数据存储长度越短,可用数据存储扇区越多,则数据存储次数提升也就越大。
为了更好地实施本申请实施例提供的数据存储方法,在一实施例中还提供了一种数据存储装置,该数据存储装置可以集成于电子设备中。其中名词的含义与上述数据存储方法中相同,具体实现细节可以参考方法实施例中的说明。
在一实施例中,提供了一种数据存储装置,该数据存储装置具体可以集成在电子设备,如图6所示,该数据存储装置包括:获取单元301、确定单元302、擦除单元303和写入单元303,具体如下:
获取单元301,用于当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
确定单元302,用于在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
擦除单元303,用于当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
写入单元304,用于将所述待写入数据写入到所述擦除后扇区。
在一实施例中,所述确定单元302,可以包括:
数据读取子单元,用于按照预设数据读取顺序,对所述存储器中的至少一个扇区进行数据读取处理;
信息识别子单元,用于当从所述扇区中读取到数据时,识别读取到的数据的存储位置信息;
信息生成子单元,用于根据所述读取到的数据的存储位置信息,生成所述待写入数据对应的目标写入位置信息。
在一实施例中,所述信息生成子单元,可以包括:
数据长度识别模块,用于识别所述待写入数据的数据长度;
运算模块,用于将所述读取到的数据的存储位置信息和所述待写入数据的数据长度进行运算处理,得到待定写入位置信息;
位置判别模块,用于基于所述存储位置信息中存储扇区的存储范围信息对所述待定写入位置信息进行判别处理;
位置确定模块,用于当所述待定写入位置信息符合所述存储扇区的存储范围信息时,将所述待定写入位置信息确定为所述目标写入位置信息。
在一实施例中,所述信息生成子单元,还可以包括:
第一更新模块,用于当所述待定写入位置信息不符合所述存储扇区的存储范围信息时,对所述待定写入位置信息中的写入位置数据位进行更新,得到更新后写入位置信息;
第二更新模块,用于对所述更新后写入位置信息中的写入扇区进行更新,得到所述目标写入位置信息。
在一实施例中,所述擦除单元303,可以包括:
第一判别子单元,用于基于所述扇区阈值信息对所述待写入数据对应的目标写入扇区进行判别处理;
第二判别子单元,用于当所述待写入数据对应的目标写入扇区符合所述扇区阈值信息时,基于所述数据位阈值信息对所述待写入数据在所述目标写入扇区中对应的目标写入数据位进行判别处理;
擦除子单元,用于当所述目标写入数据位不符合所述扇区阈值信息时,将对所述存储器中的扇区进行擦除处理,得到擦除后扇区。
在一实施例中,所述擦除单元303,还可以包括:
第一写入子单元,用于当所述待写入数据对应的目标写入扇区符合不所述扇区阈值信息时,将所述待写入数据写入所述存储器中所述目标写入位置信息对应的位置。
在一实施例中,所述写入单元304,可以包括:
数据长度识别子单元,用于识别所述待写入数据的数据长度;
位置确定子单元,用于根据所述待写入数据的数据长度,在所述擦除后扇区的起始扇区中确定所述待写入数据的目标存储位置;
第二写入子单元,用于将所述待写入所述起始扇区的目标存储位置中。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
通过上述的数据存储装置可以提高数据存储到电子设备的存储器中的次数,从而延长电子设备的使用寿命。
本申请实施例还提供一种电子设备,该电子设备可以包括终端或服务器;比如电子设备可以为服务器,如数据存储功能器等。如图7所示,其示出了本申请实施例所涉及的终端的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种服务和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种服务应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个服务所需的应用程序(比如声音播放服务、图像播放服务等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等服务。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及服务控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种服务,如下:
当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
将所述待写入数据写入到所述擦除后扇区。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序应用或计算机程序,该计算机程序应用或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中各种可选实现方式中提供的方法。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种数据存储方法中的步骤。例如,该计算机程序可以执行如下步骤:
当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
将所述待写入数据写入到所述擦除后扇区。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种数据存储方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据存储方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据存储方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据存储方法,其特征在于,包括:
当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
将所述待写入数据写入到所述擦除后扇区。
2.根据权利要求1所述的方法,其特征在于,所述在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,包括:
按照预设数据读取顺序,对所述存储器中的至少一个扇区进行数据读取处理;
当从所述扇区中读取到数据时,识别读取到的数据的存储位置信息;
根据所述读取到的数据的存储位置信息,生成所述待写入数据对应的目标写入位置信息。
3.根据权利要求2所述的方法,其特征在于,所述读取到的数据的存储位置信息包括所述读取到的数据对应的存储扇区;所述根据所述读取到的数据的存储位置信息,生成所述待写入数据对应的目标写入位置信息,包括:
识别所述待写入数据的数据长度;
将所述读取到的数据的存储位置信息和所述待写入数据的数据长度进行运算处理,得到待定写入位置信息;
基于所述存储位置信息中存储扇区的存储范围信息对所述待定写入位置信息进行判别处理;
当所述待定写入位置信息符合所述存储扇区的存储范围信息时,将所述待定写入位置信息确定为所述目标写入位置信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述待定写入位置信息不符合所述存储扇区的存储范围信息时,对所述待定写入位置信息中的写入位置数据位进行更新,得到更新后写入位置信息;
对所述更新后写入位置信息中的写入扇区进行更新,得到所述目标写入位置信息。
5.根据权利要求1所述的方法,其特征在于,所述预设写入条件包括扇区阈值信息和数据位阈值信息;所述当所述待写入数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区,包括:
基于所述扇区阈值信息对所述待写入数据对应的目标写入扇区进行判别处理;
当所述待写入数据对应的目标写入扇区符合所述扇区阈值信息时,基于所述数据位阈值信息对所述待写入数据在所述目标写入扇区中对应的目标写入数据位进行判别处理;
当所述目标写入数据位不符合所述扇区阈值信息时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述待写入数据对应的目标写入扇区符合不所述扇区阈值信息时,将所述待写入数据写入所述存储器中所述目标写入位置信息对应的位置。
7.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入到所述擦除后扇区,包括:
识别所述待写入数据的数据长度;
根据所述待写入数据的数据长度,在所述擦除后扇区的起始扇区中确定所述待写入数据的目标存储位置;
将所述待写入所述起始扇区的目标存储位置中。
8.一种数据存储装置,其特征在于,适用于电子设备,包括:
获取单元,用于当检测存在数据需写入电子设备的存储器中时,获取待写入数据;
确定单元,用于在所述存储器的至少一个扇区中确定所述待写入数据对应的目标写入位置信息,其中,所述目标写入位置信息包括所述待写入数据对应的目标写入扇区,以及在所述目标写入扇区中对应的目标写入数据位;
擦除单元,用于数据对应的目标写入扇区和在所述目标写入扇区中对应的目标写入数据位不符合预设写入条件时,对所述存储器中的扇区进行擦除处理,得到擦除后扇区;
写入单元,用于将所述待写入数据写入到所述擦除后扇区。
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至7任一项所述的数据存储方法。
10.一种存储介质,其特征在于,所述存储介质存储有多条计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至7任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892124.XA CN115237348A (zh) | 2022-07-27 | 2022-07-27 | 一种数据存储方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210892124.XA CN115237348A (zh) | 2022-07-27 | 2022-07-27 | 一种数据存储方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115237348A true CN115237348A (zh) | 2022-10-25 |
Family
ID=83678184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210892124.XA Pending CN115237348A (zh) | 2022-07-27 | 2022-07-27 | 一种数据存储方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115237348A (zh) |
-
2022
- 2022-07-27 CN CN202210892124.XA patent/CN115237348A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078406B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
CN111158910B (zh) | 内存管理方法、装置、存储介质及电子设备 | |
CN108563532B (zh) | 数据处理方法及相关装置 | |
CN110826036A (zh) | 用户操作行为安全性的识别方法、装置和电子设备 | |
CN114996173A (zh) | 一种管理存储设备写操作的方法和装置 | |
CN113986296A (zh) | 一种固件升级方法、装置、电子设备和存储介质 | |
CN111381953B (zh) | 进程管理方法、装置、存储介质及电子设备 | |
CN112214322B (zh) | 内存管理方法、装置、存储介质与电子设备 | |
CN111008079B (zh) | 进程管理方法、装置、存储介质及电子设备 | |
CN115237348A (zh) | 一种数据存储方法、装置、电子设备和存储介质 | |
CN112162934A (zh) | 存储块异常磨损处理方法、装置、电子设备及存储介质 | |
CN116610336A (zh) | 一种固件升级方法、系统、装置及可读存储介质 | |
CN114400037B (zh) | Nand擦除方法、装置及可读存储介质 | |
CN116301614A (zh) | 存储器数据存取方法、系统、设备和存储介质 | |
CN113434179B (zh) | 一种可编程电源的在线升级方法、装置、设备及存储介质 | |
CN101261574A (zh) | 声音数据处理装置 | |
CN114968558A (zh) | 内存清理方法以及相关设备 | |
CN114138176A (zh) | Nor Flash的擦除、升级方法及装置、计算机设备和存储介质 | |
CN111459848B (zh) | 一种文件碎片的整理方法、装置、存储介质及电子设备 | |
CN114090054A (zh) | 智能设备升级方法、装置、存储介质及电子设备 | |
CN113849510A (zh) | 空调器的数据存储方法、装置、设备和存储介质 | |
CN114327246A (zh) | 存储介质内数据存储方法、存储介质及计算机设备 | |
CN111708487A (zh) | 一种数据存储的方法、装置及计算机存储介质 | |
CN117421257B (zh) | 一种内存条的初始化方法、装置、设备及存储介质 | |
CN113883691B (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 |