CN112947862A - 设备、Flash存储器及其数据存储方法 - Google Patents

设备、Flash存储器及其数据存储方法 Download PDF

Info

Publication number
CN112947862A
CN112947862A CN202110262832.0A CN202110262832A CN112947862A CN 112947862 A CN112947862 A CN 112947862A CN 202110262832 A CN202110262832 A CN 202110262832A CN 112947862 A CN112947862 A CN 112947862A
Authority
CN
China
Prior art keywords
storage area
data
directory information
flash memory
target storage
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
CN202110262832.0A
Other languages
English (en)
Other versions
CN112947862B (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.)
Goertek Techology Co Ltd
Original Assignee
Goertek Techology 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 Goertek Techology Co Ltd filed Critical Goertek Techology Co Ltd
Priority to CN202110262832.0A priority Critical patent/CN112947862B/zh
Publication of CN112947862A publication Critical patent/CN112947862A/zh
Application granted granted Critical
Publication of CN112947862B publication Critical patent/CN112947862B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/064Management of blocks
    • 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/0643Management of files
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]

Abstract

本发明公开了一种Flash存储器的数据存储方法,Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,Flash存储器的数据存储方法包括以下步骤:在接收到指令,且指令触发目录信息的写入操作时,在各个第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,第二目标存储区域为数据写入次数最少的第一存储区域,第一目标存储区域为上一次进行写入操作的第一存储区域;从第一目标存储区域中读取第一目录信息,并将第二目标存储区域存储的第二目录信息擦除;根据指令更新第一目录信息,并将更新后的第一目录信息写入第二目标存储区域。本发明还公开一种Falsh存储器和设备。本发明延长了Flash存储器的使用寿命。

Description

设备、Flash存储器及其数据存储方法
技术领域
本发明涉及Flash存储器技术领域,尤其涉及一种设备、Flash存储器及其数据存储方法。
背景技术
Flash存储器是一种非易失性存储器,在没有供电的情况下,Flash存储器也可以长期保存系统数据。Flash存储器相当于文件存储设备,可用于存储低成本的消费电子设备的用户数据和系统信息。
Flash存储器在进行数据存储时,需要对数据进行管理。而Flash存储器中有多个存储数据的区域,每个区域进行数据存储时,数据的管理信息均需要进行更新,这会导致数据管理区域的擦写次数远远大于数据存储的区域。Flash存储器的擦写次数有一定的限制,由于数据管理区域的擦写次数远远大于数据存储的区域,会使得数据管理区域更早的出现坏块的问题,从而导致Flash存储器无法写入数据,缩短了Flash存储器的使用寿命。
发明内容
本发明的主要目的在于提供一种设备、Flash存储器及其数据存储方法,旨在解决Flash存储器的使用寿命较短的问题。
为实现上述目的,本发明提供一种Flash存储器的数据存储方法,所述Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,所述Flash存储器的数据存储方法包括以下步骤:
在接收到指令,且所述指令触发目录信息的写入操作时,在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,所述第二目标存储区域为数据写入次数最少的所述第一存储区域,所述第一目标存储区域为上一次进行写入操作的所述第一存储区域;
从所述第一目标存储区域中读取第一目录信息,并将所述第二目标存储区域存储的第二目录信息擦除;
根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域。
在一实施例中,所述将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
更新所述第二目标存储区域的数据写入次数;
将更新后的数据写入次数以及更新后的所述第一目录信息写入所述第二目标存储区域。
在一实施例中,所述Flash存储器包括若干用于存储数据的第二存储区域,所述根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
在所述指令为数据写入指令时,确定所述数据写入指令对应的数据的第一索引;
在各个所述第二存储区域中确定第三目标存储区域,并获取所述第三目标存储区域的标识;
将所述标识以及所述索引关联添加至所述第一目录信息,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将所述数据写入指令对应的数据写入至所述第三目标存储区域。
在一实施例中,所述Flash存储器包括用于存储数据的若干第二存储区域,所述根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
在所述指令为数据删除指令时,获取所述数据删除指令对应的数据的第二索引;
在所述第一目录信息删除所述第二索引,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将第四目标存储区域中的数据删除,其中,所述第四目标存储区域为所述第二索引关联的标识所对应的第二存储区域。
在一实施例中,所述在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域的步骤包括:
获取每个所述第一存储区域的数据写入次数;
将上一次进行写入操作的第一存储区域确定为第一目标存储区域,并将最少的数据写入次数对应的所述第一存储区域确定为第二目标存储区域。
在一实施例中,所述在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域的步骤包括:
获取每个所述第一存储区域进行写入操作的时间点;
将最晚的所述时间点对应的第一存储区域确定为第一目标存储区域,且将最早的所述时间点对应的第一存储区域确定为第二目标存储区域,其中,各个所述第一存储区域按照预设顺序写入目录信息。
在一实施例中,在所述指令为数据删除指令或者数据写入指令时,判定所述指令触发目录信息的写入操作。
在一实施例中,所述第一存储区域为所述Flash存储器的数据块。
为实现上述目的,本发明还提供一种Flash存储器,所述Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,所述Flash存储器还包括处理器以及存储在所述Flash存储器内并可在所述处理器上运行的存储程序,所述存储程序被所述处理器执行时实现如上所述的Flash存储器的数据存储方法的各个步骤。
为实现上述目的,本发明还提供一种设备,所述设备包括如上所述的Flash存储器。
本发明提供的设备、Flash存储器及其数据存储方法,Flash存储器包括至少两个用于存储数据的目录信息的存储区域,Flash存储器在接收到指令且该指令触发目录信息的写入操作时,将上一次进行目录信息写入的存储区域作为第一目标存储区域,且将数据写入次数最少的存储区域作为第二目标存储区域,Flash存储器从第一目标存储区域读取第一目录信息,并将第二目标存储区域的第二目录信息擦除,Flash存储器再根据指令更新第一目录信息,最后将更新后的第一目录信息写入至第二目标存储区域。本发明中Flash存储器存储有多个用于存储目录信息的存储区域,在需要将数据的目录信息写入存储区域时,Flash存储器中最近一次存储的存储区域中读取最新的目录信息进行更新,并在写入次数最少的存储区域中存储更新后的目录信息,也即通过目录信息交替写入不同的存储区域减少单个存储区域的擦写次数,延长了Flash存储器的使用寿命。
附图说明
图1为本发明实施例涉及的Flash存储器的硬件结构示意图;
图2为本发明Flash存储器的数据存储方法第一实施例的流程示意图;
图3为本发明Flash存储器的数据存储方法第二实施例的流程示意图;
图4为本发明Flash存储器的数据存储方法第三实施例的流程示意图;
图5为本发明Flash存储器的数据存储方法第四实施例的流程示意图;
图6为本发明Flash存储器的数据存储方法第五实施例的流程示意图;
图7为本发明Flash存储器的数据存储方法第六实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的主要解决方案是:在接收到指令,且所述指令触发目录信息的写入操作时,在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,所述第二目标存储区域为数据写入次数最少的所述第一存储区域,所述第一目标存储区域为上一次进行写入操作的所述第一存储区域;从所述第一目标存储区域中读取第一目录信息,并将所述第二目标存储区域存储的第二目录信息擦除;根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域。
本发明中Flash存储器存储有多个用于存储目录信息的存储区域,在需要将数据的目录信息写入存储区域时,Flash存储器中最近一次存储的存储区域中读取最新的目录信息进行更新,并在写入次数最少的存储区域中存储更新后的目录信息,也即通过目录信息交替写入不同的存储区域减少单个存储区域的擦写次数,延长了Flash存储器的使用寿命。
如图1所示,图1是本发明实施例方案涉及的Flash存储器的硬件结构示意图。
如图1所示,本发明实施例方案涉及是Flash存储器。Flash存储器可以包括:处理器101,例如CPU,通信总线102,至少两个存储区域103。其中,通信总线102用于实现这些组件之间的连接通信。本领域技术人员可以理解,图1中示出的结构并不构成对Flash存储器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的Flash存储器中可以包括存储程序。
在图1所示的装置中,处理器101可以用于调用Flash存储器中存储的存储程序,并执行以下操作:
在接收到指令,且所述指令触发目录信息的写入操作时,在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,所述第二目标存储区域为数据写入次数最少的所述第一存储区域,所述第一目标存储区域为上一次进行写入操作的所述第一存储区域;
从所述第一目标存储区域中读取第一目录信息,并将所述第二目标存储区域存储的第二目录信息擦除;
根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
更新所述第二目标存储区域的数据写入次数;
将更新后的数据写入次数以及更新后的所述第一目录信息写入所述第二目标存储区域。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
在所述指令为数据写入指令时,确定所述数据写入指令对应的数据的第一索引;
在各个所述第二存储区域中确定第三目标存储区域,并获取所述第三目标存储区域的标识;
将所述标识以及所述索引关联添加至所述第一目录信息,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将所述数据写入指令对应的数据写入至所述第三目标存储区域。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
在所述指令为数据删除指令时,获取所述数据删除指令对应的数据的第二索引;
在所述第一目录信息删除所述第二索引,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将第四目标存储区域中的数据删除,其中,所述第四目标存储区域为所述第二索引关联的标识所对应的第二存储区域。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
获取每个所述第一存储区域的数据写入次数;
将上一次进行写入操作的第一存储区域确定为第一目标存储区域,并将最少的数据写入次数对应的所述第一存储区域确定为第二目标存储区域。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
获取每个所述第一存储区域进行写入操作的时间点;
将最晚的所述时间点对应的第一存储区域确定为第一目标存储区域,且将最早的所述时间点对应的第一存储区域确定为第二目标存储区域,其中,各个所述第一存储区域按照预设顺序写入目录信息。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
在所述指令为数据删除指令或者数据写入指令时,判定所述指令触发目录信息的写入操作。
在一实施例中,处理器101可以调用Flash存储器中存储的存储程序,还执行以下操作:
所述第一存储区域为所述Flash存储器的数据块。
本实施例根据上述方案,Flash存储器包括至少两个用于存储数据的目录信息的存储区域,Flash存储器在接收到指令且该指令触发目录信息的写入操作时,将上一次进行目录信息写入的存储区域作为第一目标存储区域,且将数据写入次数最少的存储区域作为第二目标存储区域,Flash存储器从第一目标存储区域读取第一目录信息,并将第二目标存储区域的第二目录信息擦除,Flash存储器再根据指令更新第一目录信息,最后将更新后的第一目录信息写入至第二目标存储区域。本发明中Flash存储器存储有多个用于存储目录信息的存储区域,在需要将数据的目录信息写入存储区域时,Flash存储器中最近一次存储的存储区域中读取最新的目录信息进行更新,并在写入次数最少的存储区域中存储更新后的目录信息,也即通过目录信息交替写入不同的存储区域减少单个存储区域的擦写次数,延长了Flash存储器的使用寿命。
基于上述Flash存储器的硬件构架,提出本发明Flash存储器的数据存储方法的实施例。
参照图2,图2为本发明Flash存储器的数据存储方法的第一实施例,所述Flash存储器的数据存储方法包括以下步骤:
步骤S10,在接收到指令,且所述指令触发目录信息的写入操作时,在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,所述第二目标存储区域为数据写入次数最少的所述第一存储区域,所述第一目标存储区域为上一次进行写入操作的所述第一存储区域;
在本实施例中,执行主体为Flash存储器。Flash存储器中存储有至少两个用于存储数据的目录信息的第一存储区域。Flash存储器存储区域还设有若干第二存储区域,第二存储区域用于存储数据。目录信息至少包括数据的文件名、数据在Flash存储器中的存储位置等。目录信息所占据的数据量较少,因此,第一存储区域的存储量可设置一个数据块的存储量,也即一个存储区域为一个数据块。而第二存储区域可以为数据块的整数倍,也即第二存储区域可以由一个或多个数据块构成。以下以两个第一存储区域以及若干第二存储,对Flash存储器的内部存储结构进行说明,具体如表-1:
表-1
Figure BDA0002970266340000081
其中,4K为一个数据块block的存储量,N为整数。
Flash存储器在接收到指令时,需要确定该指令是否满足目录信息的写入操作。若是指令为数据写入指令时,则需要将数据写入至Flash存储器的第二存储区域,此时,Flash存储器需要获取写入数据的目录,因此需要对第一存储区域中的目录信息进行更新,而目录信息的更新需要先目录信息读取出来进行更新,再将第一存储区域中的目录信息擦除,最后将更新的目录信息写入至第一存储区域,故,指令为数据写入指令时,会触发目录信息的写入操作。
若指令为数据删除指令时,则需要从第一存储区域中存储的目录信息,将有关删除的数据的文件名进行删除,也会涉及到目录信息的读取、更新以及再次写入。故,指令为数据删除指令时,会触发目录信息的写入操作。
而指令为数据读取指令时,仅需要在第一存储区域中查找数据对应的文件名,无需对目录信息进行更新,也即数据读取指令不会触发目录信息的写入操作。
Flash存储器在接收到指令且该指令触发目录信息的写入操作时,需要在各个第一存储区域中确定第一目标存储区域以及第二目标存储区域。
具体的,Flash存储器在对第一存储区域进行写入操作时,会记录第一存储区域的数据写入次数,而Flash存储器会交替的将目录信息写入至不同的第一存储区域。例如,Flash存储器包括AB两个第一存储区域,若是当前的数据的目录信息写入至第一存储区域A,则下次的数据的目录信息则写入至第一存储区域B。也即每个第一存储区域具有对应的数据写入次数。Flash存储器在各个第一存储区域中确定上一次进行写入操作的第一存储区域作为第一目标存储区域,第一目标存储区域中的目录信息是最新的,也即第一目标存储区域的目录信息包含有当前的每个第二存储区域所存储的数据的管理信息。Flash存储器再在各个第一存储区域中确定数据写入次数最少的第一存储区域作为第二目标存储区域。可以理解的是,第一目标存储区域为上一次进行写入操作的第一存储区域,第二目标存储区域为数据写入次数最少的第一存储区域。
步骤S20,从所述第一目标存储区域中读取第一目录信息,并将所述第二目标存储区域存储的第二目录信息擦除;
Flash存储器在确定第一目标存储区域以及第二目标存储区域后,从第一目标存储区域中读取第一目录信息,并将第二目标存储区域中的第二目录信息进行擦除,以便于后续目录信息的写入。
步骤S30,根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域。
Flash存储器会根据指令更新第一目录信息。具体的,若是指令为数据写入指令,则将数据写入指令对应的数据的文件名以及存储位置添加至第一目录信息中;若是指令为数据删除指令,则将数据删除指令对应的数据的文件名以及存储位置在第一目录信息中进行删除。
Flash存储器在得到更新后的第一目录信息后,即可将更新后的第一目录信息写入至第二目标存储区域内,以完成数据管理的写入。
在本实施例提供的技术方案中,Flash存储器包括至少两个用于存储数据的目录信息的存储区域,Flash存储器在接收到指令且该指令触发目录信息的写入操作时,将上一次进行目录信息写入的存储区域作为第一目标存储区域,且将数据写入次数最少的存储区域作为第二目标存储区域,Flash存储器从第一目标存储区域读取第一目录信息,并将第二目标存储区域的第二目录信息擦除,Flash存储器再根据指令更新第一目录信息,最后将更新后的第一目录信息写入至第二目标存储区域。本发明中Flash存储器存储有多个用于存储目录信息的存储区域,在需要将数据的目录信息写入存储区域时,Flash存储器中最近一次存储的存储区域中读取最新的目录信息进行更新,并在写入次数最少的存储区域中存储更新后的目录信息,也即通过目录信息交替写入不同的存储区域减少单个存储区域的擦写次数,延长了Flash存储器的使用寿命。
参照图3,图3为本发明Flash存储器的数据存储方法的第二实施例,基于第一实施例,所述步骤S30包括:
步骤S31,更新所述第二目标存储区域的数据写入次数;
步骤S32,将更新后的数据写入次数以及更新后的所述第一目录信息写入所述第二目标存储区域。
在本实施例中,第一存储区域中还存储有数据写入次数,也即Flash存储器是从第一存储区域中读取第一存储区域的数据写入次数。对此,Flash存储器在得到更新后的第一目录信息后,更新第二目标存储区域的数据写入次数,也增大第二目标存储区域的数据写入次数,增大的数量大于1。Flash存储器再将更新后的数据写入次数以及更新后的第一目录信息写入第二目标存储区域。
需要说明的是,若是实现第一存储区域的目录交替写入,可将数据写入次数增大2,从而使得各个第一存储区域不会出现数据写入次数相同的情况。例如,若是第一存储区域A的数据写入次数为4次,以及第一存储区域B的数据写入次数为5,若是第一存储区域A为第二目标存储区域时,且数据写入次数增大1,则会出现第一存储区域A与第一存储区域B的数据写入次数相同的情况;若是数据写入次数增大2,则第一存储区域A的数据写入次数大于与第一存储区域B的数据写入次数,也即Flash存储器会将第一存储区域B作为下一次目录信息写入的存储区域。采用此种方式,可以避免Flash存储器在相同的数据写入次数的第一存储区域中选择第二目标存储区域。
在本实施例提供的技术方案中,Flash存储器在得到更新后的第一目录信息后,更新第二目标存储区域的数据写入次数,并将更新后的数据写入次数以及更新后的第一目录信息写入至第二目标存储区域,以便于Flash存储器在后续基于最新的数据写入次数选择第二目标存储区域进行目录信息的写入。
参照图4,图4为本发明Flash存储器的数据存储方法的第三实施例,基于第一或第二实施例,所述步骤S30包括:
步骤S33,在所述指令为数据写入指令时,确定所述数据写入指令对应的数据的第一索引;
步骤S34,在各个所述第二存储区域中确定第三目标存储区域,并获取所述第三目标存储区域的标识;
步骤S35,将所述标识以及所述索引关联添加至所述第一目录信息,以对所述第一目录信息进行更新;
步骤S36,将更新后的所述第一目录信息写入所述第二目标存储区域,并将所述数据写入指令对应的数据写入至所述第三目标存储区域。
在本实施例中,第一存储区域中存储的目录信息实则是多个结构体构成的。结构体包括数据的文件名、数据的索引以及数据存储在第二存储区域的标识。标识以及索引可以根据Flash存储器进行自定义。
在当指令为数据写入指令时,Flash存储器对数据写入指令对应的数据配置第一索引index,并且在各个未存储数据的各个第二存储区域中确定存储数据的第三目标存储区域,且为第三目标存储区域配置标识indexArray[i]。Flash存储将第一索引以及标识关联添加至第一目录信息得到更新后第一目录信息。第一索引以及标识关联指的是,将数据的文件名、第一索引以及存储数据的标识生成一个结构体,再将结构体添加至第一目录信息中。此外,结构体中还可以包括存储区域的写入次数。
Flash存储在得到更新后的第一目录信息后,将更新后的第一目录信息写入至第二目标存储区域,并将数据写入指令对应的数据存储至第三目标存储区域中,以完成目录信息的写入以及数据的存储。
在本实施例提供的技术方案中,在指令为数据写入指令时,Flash存储器获取数据写入指令对应的数据的第一索引,且确定存储数据的第三目标存储区域,再将第一索引以及第三目标存储区域的标识存储至第一目录信息中以对第一目录信息进行更新,最后将更新后的第一目录信息写入至第二目标存储区域,且将数据存储至第三目标存储区域,以便于后续基于第一目录信息中第一索引以及标识从第三目标存储区域中读取数据。
参照图5,图5为本发明Flash存储器的数据存储方法的第四实施例,基于第一或第二实施例,所述步骤S30包括:
步骤S37,在所述指令为数据删除指令时,获取所述数据删除指令对应的数据的第二索引;
步骤S38,在所述第一目录信息删除所述第二索引,以对所述第一目录信息进行更新;
步骤S39,将更新后的所述第一目录信息写入所述第二目标存储区域,并将第四目标存储区域中的数据删除,其中,所述第四目标存储区域为所述第二索引关联的标识所对应的第二存储区域。
在本实施例中,指令包括有数据删除指令。在当Flash存储器接收到数据删除指令时,则获取数据删除指令所需删除的数据的第二索引。Flash存储器基于第二索引,先在第一目录信息中查找与第二索引关联的标识,再将第二索引从第一目录信息中删除,同时更改第二索引关联的标识的值,例如,可将标识indexArray[i]=N修改indexArray[i]=0,从而标记该标识对应的第二存储区域中未存储数据;Flash存储器再将标识对应的第四目标存储区域中的数据删除,第四目标存储区域存储的数据即为数据删除指令所需删除的数据。可以理解的是,将第一目录信息中的结构体中的索引删除、将标识对应的值进行修改、且增大数据写入次数。
在本实施例提供的技术方案中,Flash存储器在确定指令为数据删除指令,则获取数据删除指令对应的数据的第二索引,再从第一目录信息删除第二索引以对第一目录信息进行更新,最后将更新后的第一目录信息写入第二目标存储区域,且将第二索引关联的标识的第二存储区域的数据进行删除,从而完成数据删除指令所对应的数据的删除。
参照图6,图6为本发明Flash存储器的数据存储方法的第五实施例,基于第一至第四实施例中任一实施例,所述步骤S10包括:
步骤S11,获取每个所述第一存储区域的数据写入次数;
步骤S12,将上一次进行写入操作的第一存储区域确定为第一目标存储区域,并将最少的数据写入次数对应的所述第一存储区域确定为第二目标存储区域。
在本实施例中,每个第一存储区域中存储有自身的数据写入次数。数据写入次数位于结构体中。数据写入次数位于结构体的头部。Flash存储器在拿到结构体的头部信息后,需要先进行CRC(Cyclic Redundancy Check,循环冗余校验)16的校验,若是检验通过,则可以拿到第一存储区域的数据写入次数。
Flash存储器在得到每个第一存储区域的数据写入次数后,将最少的数据写入次数对应的第一存储区域确定为第二目标存储区域。
Flash存储器还可将第一存储区域的数据写入时间放入结构体中,使得Flash存储器获取每个第一存储区域的数据写入时间,数据写入时间最晚的第一存储区域即为上一次进行写入操作的第一存储区域,该第一存储区域即可确定为第一目标存储区域。
在本实施例提供的技术方案中,Flash存储器获取每个第一存储区域的数据写入次数,并将上一次进行写入操作的第一存储区域确定为第一目标存储区域,且将最少的数据写入次数对应的第一存储区域确定为第二目标存储区域。
参照图7,图7为本发明Flash存储器的数据存储方法的第六实施例,基于第一至第四中任一实施例,所述步骤S10包括:
步骤S13,获取每个所述第一存储区域进行写入操作的时间点;
步骤S14,将最晚的所述时间点对应的第一存储区域确定为第一目标存储区域,且将最早的所述时间点对应的第一存储区域确定为第二目标存储区域,其中,各个所述第一存储区域按照预设顺序写入目录信息。
在本实施例中,各个第一存储区域按照预设顺序写入目录信息。例如,Flash存储器包括ABC三个第一存储区域,若是当前的数据的目录信息写入至第一存储区域A,则下次的数据的目录信息则写入至第一存储区域B,且下下次的数据的目录信息则写入至第一存储区域C。
而Flash存储器会记录目录信息的写入时间点,也即记录第一存储区域进行写入操作的时间点。在有数据的目录信息需要写入时,Flash存储器则获取每个第一存储区域进行写入操作的时间点(第一存储区域只会保存最近一次进行写入操作的时间点)。由于各个第一存储区域按照预设顺序写入目录信息,最早时间点进行写入操作的第一存储区域的数据写入次数是最少的,而最晚时间点进行写入操作的第一存储区域中的目录信息是最新的,故,Flash存储器将最晚的时间点对应的第一存储区域确定为第一目标存储区域,且将最早时间点对应的第一存储区域确定为第二目标存储区域。
在本实施例提供的技术方案中,Flash存储器获取每个第一存储区域进行写入操作的时间点,从而将最晚的时间点对应的第一存储区域确定为第一目标存储区域,且将最高的时间点对应的第一存储区域确定为第二目标存储区域。
本发明还提供一种Flash存储器,所述Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,所述Flash存储器还包括处理器以及存储在所述Flash存储器内并可在所述处理器上运行的存储程序,所述存储程序被所述处理器执行时实现如上所述的Flash存储器的数据存储方法的各个步骤。
本发明还提供一种设备,所述设备包括如上实施例所述的Flash存储器。该设备可以是智能手表、智能手环等可穿戴设备,也可以是手机、定位器等移动设备。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种Flash存储器的数据存储方法,其特征在于,所述Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,所述Flash存储器的数据存储方法包括以下步骤:
在接收到指令,且所述指令触发目录信息的写入操作时,在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域,其中,所述第二目标存储区域为数据写入次数最少的所述第一存储区域,所述第一目标存储区域为上一次进行写入操作的所述第一存储区域;
从所述第一目标存储区域中读取第一目录信息,并将所述第二目标存储区域存储的第二目录信息擦除;
根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域。
2.如权利要求1所述的Flash存储器的数据存储方法,其特征在于,所述将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
更新所述第二目标存储区域的数据写入次数;
将更新后的数据写入次数以及更新后的所述第一目录信息写入所述第二目标存储区域。
3.如权利要求1所述的Flash存储器的数据存储方法,其特征在于,所述Flash存储器包括若干用于存储数据的第二存储区域,所述根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
在所述指令为数据写入指令时,确定所述数据写入指令对应的数据的第一索引;
在各个所述第二存储区域中确定第三目标存储区域,并获取所述第三目标存储区域的标识;
将所述标识以及所述索引关联添加至所述第一目录信息,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将所述数据写入指令对应的数据写入至所述第三目标存储区域。
4.如权利要求1所述的Flash存储器的数据存储方法,其特征在于,所述Flash存储器包括用于存储数据的若干第二存储区域,所述根据所述指令更新所述第一目录信息,并将更新后的所述第一目录信息写入所述第二目标存储区域的步骤包括:
在所述指令为数据删除指令时,获取所述数据删除指令对应的数据的第二索引;
在所述第一目录信息删除所述第二索引,以对所述第一目录信息进行更新;
将更新后的所述第一目录信息写入所述第二目标存储区域,并将第四目标存储区域中的数据删除,其中,所述第四目标存储区域为所述第二索引关联的标识所对应的第二存储区域。
5.如权利要求1所述的Flash存储器的数据存储方法,其特征在于,所述在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域的步骤包括:
获取每个所述第一存储区域的数据写入次数;
将上一次进行写入操作的第一存储区域确定为第一目标存储区域,并将最少的数据写入次数对应的所述第一存储区域确定为第二目标存储区域。
6.如权利要求1所述的Flash存储器的数据存储方法,其特征在于,所述在各个所述第一存储区域中,确定第一目标存储区域以及第二目标存储区域的步骤包括:
获取每个所述第一存储区域进行写入操作的时间点;
将最晚的所述时间点对应的第一存储区域确定为第一目标存储区域,且将最早的所述时间点对应的第一存储区域确定为第二目标存储区域,其中,各个所述第一存储区域按照预设顺序写入目录信息。
7.如权利要求1-6任一项所述的Flash存储器的数据存储方法,其特征在于,在所述指令为数据删除指令或者数据写入指令时,判定所述指令触发目录信息的写入操作。
8.如权利要求1-6任一项所述的Flash存储器的数据存储方法,其特征在于,所述第一存储区域为所述Flash存储器的数据块。
9.一种Flash存储器,其特征在于,所述Flash存储器包括至少两个用于存储数据的目录信息的第一存储区域,所述Flash存储器还包括处理器以及存储在所述Flash存储器内并可在所述处理器上运行的存储程序,所述存储程序被所述处理器执行时实现如权利要求1-8中任一项所述的Flash存储器的数据存储方法的各个步骤。
10.一种设备,其特征在于,所述设备包括如权利要求9所述的Flash存储器。
CN202110262832.0A 2021-03-10 2021-03-10 设备、Flash存储器及其数据存储方法 Active CN112947862B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110262832.0A CN112947862B (zh) 2021-03-10 2021-03-10 设备、Flash存储器及其数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110262832.0A CN112947862B (zh) 2021-03-10 2021-03-10 设备、Flash存储器及其数据存储方法

Publications (2)

Publication Number Publication Date
CN112947862A true CN112947862A (zh) 2021-06-11
CN112947862B CN112947862B (zh) 2022-09-20

Family

ID=76228633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110262832.0A Active CN112947862B (zh) 2021-03-10 2021-03-10 设备、Flash存储器及其数据存储方法

Country Status (1)

Country Link
CN (1) CN112947862B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510495B1 (en) * 1999-11-19 2003-01-21 Nec Corporation Data write method into nonvolatile memory, information processing device and recording medium
CN1719422A (zh) * 2005-08-18 2006-01-11 北京中星微电子有限公司 一种存储器文件数据虚拟存取方法
CN103064792A (zh) * 2012-12-26 2013-04-24 北京创毅讯联科技股份有限公司 数据写入方法及装置
CN106651359A (zh) * 2016-11-09 2017-05-10 大唐微电子技术有限公司 一种数据处理方法和装置
CN107025066A (zh) * 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
CN109271100A (zh) * 2018-08-28 2019-01-25 深圳智芯数据服务有限公司 一种Flash存储器数据存储方法和读取方法
CN111506251A (zh) * 2019-01-30 2020-08-07 杭州海康威视系统技术有限公司 数据处理方法、装置、smr存储系统及存储介质
CN111562882A (zh) * 2020-04-22 2020-08-21 深圳震有科技股份有限公司 一种数据写入方法、智能终端及存储介质
CN112181303A (zh) * 2020-09-29 2021-01-05 广东艾科技术股份有限公司 数据存储方法、装置、计算机设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510495B1 (en) * 1999-11-19 2003-01-21 Nec Corporation Data write method into nonvolatile memory, information processing device and recording medium
CN1719422A (zh) * 2005-08-18 2006-01-11 北京中星微电子有限公司 一种存储器文件数据虚拟存取方法
CN103064792A (zh) * 2012-12-26 2013-04-24 北京创毅讯联科技股份有限公司 数据写入方法及装置
CN107025066A (zh) * 2016-09-14 2017-08-08 阿里巴巴集团控股有限公司 在基于闪存的存储介质中写入存储数据的方法和装置
CN106651359A (zh) * 2016-11-09 2017-05-10 大唐微电子技术有限公司 一种数据处理方法和装置
CN109271100A (zh) * 2018-08-28 2019-01-25 深圳智芯数据服务有限公司 一种Flash存储器数据存储方法和读取方法
CN111506251A (zh) * 2019-01-30 2020-08-07 杭州海康威视系统技术有限公司 数据处理方法、装置、smr存储系统及存储介质
CN111562882A (zh) * 2020-04-22 2020-08-21 深圳震有科技股份有限公司 一种数据写入方法、智能终端及存储介质
CN112181303A (zh) * 2020-09-29 2021-01-05 广东艾科技术股份有限公司 数据存储方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112947862B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
KR100844058B1 (ko) 파일 삭제 방법, 파일·오픈 방법, 파일 삭제 프로그램, 및파일·오픈·프로그램
CN110162525B (zh) 基于b+树的读写冲突解决方法、装置及存储介质
CN111198856B (zh) 文件管理方法、装置、计算机设备和存储介质
CN110413282B (zh) 一种冗余资源处理方法、装置、设备及存储介质
CN111104063A (zh) 一种数据存储方法、装置及电子设备和存储介质
CN110673800B (zh) 文件系统的数据操作方法、装置、设备及可读存储介质
CN108512948B (zh) 通讯录更新方法、装置、计算机设备和存储介质
CN114416121A (zh) 固件烧录方法、装置、烧录设备以及固件烧录系统
CN112182010A (zh) 脏页刷新方法和装置、存储介质和电子设备
CN111596945A (zh) 嵌入式系统动态多分区固件的差分升级方法
CN112506941B (zh) 核查点的处理方法和装置、电子设备和存储介质
CN112947862B (zh) 设备、Flash存储器及其数据存储方法
KR100637787B1 (ko) 파일 정보의 기록 처리 방법 및 프로그램
CN113672162A (zh) 数据存储方法、装置及设备
KR20060106993A (ko) 플래시 메모리 데이터 저장 방법
CN114185849A (zh) 文件操作方法、文件操作系统、电子设备及存储介质
EP3407633A1 (en) A method of managing integrated circuit cards, corresponding card and apparatus
KR100316584B1 (ko) 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법
CN113434468B (zh) 文件存储方法、装置、设备及可读存储介质
KR20010056423A (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법
CN112398666B (zh) 软件差分升级方法、装置、设备及存储介质
CN112579003B (zh) 键值对的调整方法、装置、存储介质以及电子装置
JP3978720B2 (ja) データ記憶方法
CN113641449B (zh) 镜像下载控制方法及装置、设备和存储介质
KR100548427B1 (ko) 플래시 메모리 파일 시스템의 데이터 관리방법

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