CN114089915B - 基于flash存储器的文件追加写操作方法及装置 - Google Patents
基于flash存储器的文件追加写操作方法及装置 Download PDFInfo
- Publication number
- CN114089915B CN114089915B CN202111348840.3A CN202111348840A CN114089915B CN 114089915 B CN114089915 B CN 114089915B CN 202111348840 A CN202111348840 A CN 202111348840A CN 114089915 B CN114089915 B CN 114089915B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- page
- flash memory
- information
- 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.)
- Active
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0643—Management of files
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于FLASH存储器的文件追加写操作方法及装置,该方法通过接收追加写请求,根据第一目录信息,确定文件末端数据的存储位置,读取末端数据并写入缓存,将第一目录信息中的编辑位设置为使能状态,以启动追加写的操作。以文件末端作为追加写的起始位置,并在追加写操作完成后,生成第二目录信息。上述对FLASH进行追加写的方法实现了对文件末端的准确定位,精准地仅将文件末端数据进行缓存保护,相较于现有技术对全部文件数据进行缓存保护,节省文件移动的数量和时间,降低了追加写中数据丢失概率,减少了对FLASH的擦除区域面积和次数,保证了FLASH存储器的使用寿命。
Description
技术领域
本发明涉及FLASH存储器写处理技术,尤其涉及一种基于FLASH存储器的文件追加写操作方法及装置。
背景技术
FLASH存储器是一种基于半导体技术的非易失性存储器(Non-Volatile Memory),具有功耗低,容量大,体积小,重量轻,访问速度高等优点,已逐步取代其它半导体存储器件而广泛应用于移动电子产品中。
然而,现有FLASH存储器进行写操作的原理是根据数据信息内容,将对应比特位由1写为0,以记录下数据信息。FLASH存储器的写操作不像随机存取存储器RAM(randomaccess memory,简称“RAM”)一样可以随意被改写,其写过数据信息的地方需要先进行擦除操作,才能再次写入信息。擦除操作的原理是,将擦除区域的所有比特位由0写为1。通常,擦除的最小单位定义为页,页的容量一般比字节的容量要大许多。当把文件数据保存在FLASH存储器后,有时候需要对文件进行追加写,所谓追加写就是对已经写入的文件进行补充,再次写入数据信息。例如,历史记录文件就需要不断写入历史数据,因此,在无线通讯方式传输数据时,需要非常可靠并有效地写入数据,以防止因网络中断等情况造成的数据写入不完整。对于追加写,现有技术是先将FLASH存储器中的原文件数据在缓存Buffer中进行备份操作,然后在Buffer的备份数据中追加写入数据,同时擦除原文件数据所在FLASH页的全部数据,然后再把追加后的备份数据重新写入刚刚擦除过的FLASH页内。
现有FLASH存储器的追加写操作存在以下缺点:1)效率低,对一个文件数据的追加需要经历备份、擦除及重新写入的过程,且FLASH文件的擦除时间通常比读取数据的时间要长许多,反复的擦除操作较为耗时;2)安全性差,在对文件进行备份、擦除、再导入的移动过程容易引起文件数据的丢失;3)降低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存储器进行追加写的方法简单、便捷、高效。通过对文件末端进行准确定位,可以精准地仅将文件末端数据进行缓存保护,相较于现有技术对全部文件数据进行缓存保护,节省了文件移动的数量和时间,且极大降低了追加过程中数据丢失的概率,同时,减少了对FLASH的擦除区域面积和次数,在数据通讯不中断的情况下,无需对FLASH内的文件数据存储区进行擦除操作,保证了FLASH存储器的使用寿命。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一示例性实施例示出的基于FLASH存储器的文件追加写操作方法的流程图;
图2为本发明另一示例性实施例示出的基于FLASH存储器的文件追加写操作方法的流程图;
图3为图2所示实施例的FLASH存储器的框架结构;
图4为图2所示实施例的FLASH存储器的文件属性的结构示意图;
图5为图2所示实施例的FLASH存储器的项号和偏址映射关系的示意图;
图6为图2所示实施例的FLASH存储器的存储结构的一示例性示意图;
图7为本发明一示例性实施例示出的基于FLASH存储器的文件追加写操作装置的结构示意图;
图8为本发明另一示例性实施例示出的基于FLASH存储器的文件追加写操作装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一示例性实施例示出的基于FLASH存储器的文件追加写操作方法的流程图,本发明实施例的基于FLASH存储器的文件追加写操作方法可以应用于各种使用闪存作为存储信息介质的系统。如图1所示,本实施例提供一种基于FLASH存储器的文件追加写操作方法,包括:
步骤101、接收文件的追加写请求,根据追加写请求获取文件的第一目录信息。
FLASH存储器接收用户对文件进行追加写的请求,在该请求中会包含有需要进行追加写的文件的存储信息,例如,文件名等标识信息,根据该存储信息,FLASH存储器确认该需要被追加写的文件存储在该存储器内,并获取该文件的目录信息,所谓目录信息就是记载该文件详细的存储信息的目录文件,例如,可以包括:文件名、文件存储位置、文件大小、文件类型、文件描述等等。为了与后面追加写操作完成后重新建立的目录信息以示区别,在该步骤中,目录信息以第一目录信息进行标识。
步骤102、根据文件的第一目录信息,确定文件的末端数据在FLASH存储器内的存储位置。
根据该第一目录信息中记载的文件存储信息,可以定位到该文件在存储器中的存储位置,也就是定位到文件的末端数据在存储器中的存储位置,之所以要定位文件末端数据,主要考虑追加写操作一般都是从该文件的末端继续记录数据内容,因此,精确定位到文件末端,而不需要对文件的其他段落进行准确定位,可以加快文件定位的效率,节省文件定位操作的处理资源。
步骤103、根据预设容量,读取预设容量的末端数据。
步骤104、将预设容量的末端数据写入缓存,并将文件的第一目录信息中的编辑位设置为使能状态。
所谓预设容量,指的是预设的数据容量,容量最小衡量单位为比特Bit。对于存入缓存的文件末端的数据容量,可以以预设的容量进行截取,例如,预设容量为若干个字节Byte、若干块block或若干页Page。因此,该预设容量可以包括以下容量类型中的任意一种:以页为计算单位的容量、以块为计算单位的容量、以字节为计算单位的容量。通常来说,1比特、1字节的数据容量太小,可以定义比字节大很多的页作为衡量数据容量的单位,FLASH存储器在进行擦除等操作时,可以以页为单位进行一页一页的内容擦除。例如,有些FLASH存储器分为大页(每页2048+64字节)和小页(每页512+16字节)等。还可以定义块,以块作为容量衡量单位,如有些FLASH存储器包含2048个块,则可以以块为擦除的最小单位,每个块还可以包含64个页,每页有2048+64个字节等。需要说明的是,预设容量的大小及衡量单位可以由本领域技术人员根据存储器的处理性能自行进行设定,本发明对此不作具体限定。根据预设容量,将文件末端的数据写入缓存,例如,将文件末端最后一页的数据量写入缓存中,进行备份保护,然后将文件的第一目录信息中的编辑位设置为使能状态。所谓编辑位就是用于向追加写请求指明何时开始写入数据,指示其现在可以开始对文件进行追加写入的操作了。以下内容中,未做特殊说明的,均以页作为衡量文件数据量的单位,并以页来描述下述的具体实施方案。
步骤105、以文件末端作为追加写的起始位置,接收追加写的数据内容。
步骤106、追加写完成后,生成文件的第二目录信息。
在步骤101中提到过,目录信息就是用于记录文件的各项存储信息的文档,而第一目录信息是文件在进行追加写操作前的存储信息,第二目录信息则是对文件发生改变后,也就是追加写入进一步数据内容后,新生成的描述该文件存储信息的目录信息。因此,此时在存储器中针对该文件存在两份目录信息,第一目录信息和第二目录信息。之所以不根据追加写后的文件对第一目录信息进行更新,而要新生成一份第二目录信息,是因为FLASH存储器自身的写特征所决定的,也就是在背景技术中提到过的,FLASH存储器进行写操作时,只能把相应的位由1写为0,在FLASH中写数据不能像RAM一样可以随意改写,写过数据的地方要擦除后才能写。因此,对于第一目录信息中写为0的位,必须先擦除,得到均为1的位,才能再次写入。然而,擦除操作通常比写入操作耗时长,因此,为了提升追加写的处理效率,可以新生成一个目录信息,也就是第二目录信息,以标识追加写操作后的文件存储信息。
本实施例提供的基于FLASH存储器的文件追加写操作方法,通过接收追加写请求,并根据文件的第一目录信息,确定出文件的末端数据在FLASH存储器内的存储位置;然后根据预设容量,读取出预设容量的末端数据;将读取出的末端数据写入缓存中,并将文件的第一目录信息中的编辑位设置为使能状态,以启动追加写的操作。其中,以文件末端作为追加写的起始位置开始接收追加写的数据内容,并在追加写操作完成后,生成文件的第二目录信息。上述对FLASH存储器进行追加写的方法简单、便捷、高效。通过对文件末端进行准确定位,可以精准地仅将文件末端数据进行缓存保护,相较于现有技术对全部文件数据进行缓存保护,节省了文件移动的数量和时间,且极大降低了追加过程中数据丢失的概率;同时,减少了对FLASH的擦除区域面积和次数,在数据通讯不中断的情况下,无需对FLASH内的文件数据存储区进行擦除操作,保证了FLASH存储器的使用寿命。
图2为本发明另一示例性实施例示出的基于FLASH存储器的文件追加写操作方法的流程图,如图2所示,基于上述实施例,本实施例提供一种基于FLASH存储器的文件追加写操作方法,包括:
步骤201、接收文件的追加写请求,根据追加写请求获取文件的第一目录信息。
该第一目录信息包括:文件的描述卷信息、文件的存储页卷信息。其中,卷表示用于保存一类数据的一个或多个连续页。
步骤202、根据描述卷信息,确定文件的起始端在FLASH存储器内的首端位置标识。
步骤203、根据首端位置标识,在存储页卷信息中确定文件的末端在FLASH存储器内的末端位置标识。
步骤204、根据末端位置标识,确定文件的末端数据在FLASH存储器内的存储位置。
具体的,如图3所示,可以将FLASH存储结构分为文件的目录信息和文件的数据存储区,文件的目录信息包括用于描述文件信息的文件描述卷信息和用于指示页的分配使用情况的存储页卷信息,文件的目录信息仅占用少数的存储页资源;文件的数据存储区用于存储文件数据,占用FLASH的大部分存储页资源。
其中,文件描述卷,用于描述存储文件的信息,其每一项对应FLASH中保存的一个文件的文件描述,内容是文件信息及文件的起始页号,每项结构如表1所示:
表1
名称 | 占用字节 |
文件描述长度 | 2 |
文件属性 | 2 |
文件生成时间 | 8 |
文件起始页号 | 2 |
文件长度 | 4 |
文件校验字 | 16 |
保留区 | 16 |
文件名长度 | 2 |
文件名 | 不定 |
从表1中可以看出文件的描述卷信息用于记录存储文件的信息,主要的内容包括:文件属性、文件起始页号、文件长度、文件名以及其它信息。其中,文件名、文件起始页号和文件长度对于FLASH文件数据的写入、读取和擦除起重要的索引作用,能准备快速地定位到执行任务的地址区域,有助于快速响应指令。文件属性用于描述文件的状态,占用两个字节共16位。其中,占用2字节的文件属性的结构如图4所示,第0位标识此文件是否为可读的标志位,第1位标识此文件是否为可写的标识位,第15位为之前提到的编辑位,若此位被设置为使能状态,即写入0,则表示此文件可以开始编辑、或此文件当前正在编辑,则可以在此文件的末页后写入新的内容。其它位为保留位,可供本领域技术人员对文件属性进行其他功能设定之用。通过第15位的标识状态,可以识别该文件目前的状态,实现在FLASH文件中直接追加文件数据。
存储页卷(如图5、图6所示),用于指示页的分配使用情况,表示了文件数据保存的页的链表结构。存储页卷包括项号和内容,存储页卷内的每一项是一个16位的整数,占用两个8位字节,所以从存储页起始点开始的偏址是项序号的两倍(如图5所示)。每个项保存的地址顺序与序号一致,如图5所示,项号0在0偏址处,项号1在2偏址处......项号100在200偏址处,每个项号与对应的存储页的页码一一对应,即项号0对应页0,项号1对应页1,项号2项对应页2。图6中的项的“内容”表示文件数据的下一个存储页的页号,则该存储页卷的一级一级链表结构显示了文件从第一页到最后一页的线索表,例如第000BH项的内容为0010H,则表示第000BH页的下一页是0010H页,而0010H页的下一页是0013H页;再例如,若第100H项的地址是第200H字节,若此两字节的内容是70H,这表示所在文件使用了第100H页的数据区,此文件所用的下一页号为70H。这样,通过文件描述卷获知文件起始页号,再通过存储页卷的链表确定出文件的末页页号,从而可以精准地找到文件的末端位置标识,即末页的存储地址。此外,对每个项的“内容”还可以作如下限定:1)0x0000表示此项对应页的数据已无效;2)0xFFFF表示对应页没写数据;3)0x7FFF表示文件的结尾;4)0x0006表示系统区;5)0x0003表示此页是坏页。由于每个项保存的地址顺序与序号一致,每个项的项号与存储页页号一一对应,项的内容只是文件数据的下一个存储页的页号,因此,通过项号和FLASH存储区偏址的映射关系、项号与页号的对应关系,在文件描述卷中读出文件的起始页号后,能快速定位文件在FLASH存储器中的起始地址以及根据存储页卷的文件链表结构,获取文件下一个存储页的页号和地址,按顺序读取存储在FLASH中的文件数据。如图6所示的FALSH文件存储结构的例子,将FLASH存储区分为文件目录区(A)和文件存储区(B),目录区(A)包括文件描述卷(A1)和存储页卷(A2)。从文件描述卷(A1)可知,本文件的文件名为test.txt,文件长度为0x0900,文件起始页号为:0x000b,文件属性为0xC003,即1100 0000 00000011,根据文件属性定义可知,第0位和第1位置1,可用于标识此文件不可读不可写;若文件属性为0xC000,即1100 0000 0000 0000,则对应的第0位和第1位被写入0,可用于标识此文件可读可写;其中,编辑位第15位为1,表示此文件状态正常,暂时没有追加写的请求;第14位的1可以用来标识文件的状态,“1”表示该文件没有进行过追加写操作,“0”表示该文件完成了追加写操作。例如,若该文件还没有被进行过追加写操作,意味着没有新的目录信息(即第二目录信息)生成,则该文件当前仅有一个目录信息(即第一目录信息),且该第一目录信息是有效的。若该文件进行过了追加写操作,则相应的,第15位应该被写入0,追加写完成后,再将第14位写入0,以表示有新的第二目录信息生成,该第一目录信息无效,可以考虑擦除该第一目录信息所占用的FLASH存储器的空间,对于该无效位的说明在后续的内容中将会有详细的描述。从存储页卷(A2)可知,文件的初始存储页页号为0x000B,第二页页号为0x0010,第三页页号为0x0013,由于在存储页卷中,0x0013项的内容为0x0001,表示文件数据已写完,则文件test.txt的文件数据依次存储在0x000B、0x0010和0x0013页内,0x0013为文件的末页存储数据。
步骤205、根据预设容量,读取预设容量的末端数据。
步骤206、将预设容量的末端数据写入缓存,并将文件的第一目录信息中的编辑位设置为使能状态。
在首次将文件数据写入FLASH存储器后,当需要继续对该文件追加文件数据时,根据上述步骤根据文件描述卷的文件起始页号搜索文件的起始页,并根据存储页卷的文件存储页链表搜索文件的末页数据地址,然后,就可以将文件的末页数据写入缓存Buffer中进行保存了,并且在识别到文件属性的第15位编辑位被设置为使能状态的情况下,开始执行下面的追加写入操作。
步骤207、以文件末端作为追加写的起始位置,接收追加写的数据内容。
具体的,在读取文件的末页数据,并将文件的末页数据写入缓存后,追加写的具体写入过程可以有如下两种方式:
方式一、以页为单位在FLASH存储器中连续写入追加写的数据内容,具体为:
S1、在FLASH存储器的文件数据末页开始追加写数据;
S2、文件追加写的内容全部写入后,生成此文件的新的文件目录(即第二目录信息),其中包含新的文件描述和新的存储页卷,还可以将原来的文件目录设置为无效。
方式二、以页为单位,在FLASH存储器中每写入一页数据内容,在存储页卷信息中对文件的末端位置标识进行一次更新,并在缓存中对写入的末端数据进行一次更新后,继续在FLASH存储器中写入下一页内容,直到接收全部追加的数据内容,具体为:
S1、在FLASH存储器的文件数据末页开始追加写数据;
S2:文件追加写满一页,更新第一目录信息的文件存储页卷,即存储页卷所显示的末页的位置标识被更新为新追加的一页的页码所在的位置,同时将当前新写入的末页数据存入缓存Buffer中覆盖原来的末页数据,然后继续在下一空页中追加写入数据;
S3:重复S2直至全部文件追加写完成。
S4:文件追加写完成,生成此文件的新的文件描述卷和存储页卷,设置原来的文件目录无效,这样无效文件目录所占的目录区位置可以释放并重新使用。
在上述任一种接收追加写的数据内容的过程中,若发生通信中断,则在通信恢复后,可以根据缓存中存储的末端数据,擦除FLASH存储器内的对应的末端数据以及末端数据后所追加写入的数据内容;并将缓存中当前存储的末端数据写入该FLASH存储器,再在末端数据后追加数据内容。
具体的,针对第一种追加写方式,若中途出现通讯中断或断电中断,则需要并将末页数据及后续追加写的数据所在的页擦除,再从缓存中取出之前存入的末页数据,再在末页数据后重新开始追加写过程。针对第二种追加写方式,由于末页数据随着追加写过程在被不断的更新,因此,若发生中断的情况,从缓存中取出的是最新的末页数据,则需要擦除及重新追加写的数据内容会相较于第一种方式数据量少。
步骤208、追加写完成后,对文件的第一目录信息进行更新。
步骤209、对第一目录信息中的文件状态位进行识别,若文件状态位为无效状态,则释放第一目录信息所占用的FLASH存储器的存储空间。
具体的,对文件的第一目录信息进行更新包括:将第一目录信息中的文件状态位设置为无效状态。在之前提到的文件属性中给出第14位,用于标识此文件的目录是否有效。若文件目录已无效该位为0,若文件目录是有效的该位为1。也就是说,当追加写完成后,将追加写前的文件目录,也就是第一目录中的第14位写入0,以表示该第一目录信息已经无效,可以将该第一目录信息占用的FLASH存储器的存储空间释放。因此,该第14位指示了是否需要对该存储区域进行擦除的指示,以及时清理无效的文件内容。
步骤210、追加写完成后,生成文件的第二目录信息。
其中,步骤208、步骤210不分先后顺序,也可以同时执行。
通过在文件属性中设置第14位标识文件目录是否无效,以及第15位当前文件是否正在进行追加写的编辑状态,从而使得在上述的两种追加写过程中,如果写过程通讯中断则系统可以根据追加的文件目录的情况进行判断和处理:1)若文件的追加写操作正常处理完,已建立同名的新的文件目录(即文件的第二目录信息已经生成),则此时新的文件目录的文件属性中第15位编辑位的状态应该为1(没有追加写请求)、文件目录的文件属性中第14位无效位的状态应该为1(该文件目录有效,该文件没有被追加写过);同时,该文件原先的文件目录(即文件的第一目录信息)的文件属性中的第15位编辑位的状态应该为0,表示此文件可以被追加写入内容;第14位无效位的状态应该为0,表示此文件已经被追加写并且生成了新的文件目录,因此该目录已无效。2)如果文件在追加写过程中出现通讯中断,则原文件的编辑位为0(正在追加写中),此时,由于中断因此新的文件描述卷还没有被建立,待通讯恢复后,擦除文件末页数据,并依据之前写入Buffer的内容重新写入文件末页数据,重新开始追加写入数据。3)如果通讯中断时,文件的新文件目录已建立,原文件目录的编辑位为0(该文件执行过追加写),目录无效位为1(由于中断,则系统还未来得及将原文件的无效位置0),若识别得到新的文件目录正确,则将原文件目录的无效位置0,无效原文件目录即可。
本实施例,在通讯可能出错的情况下,可以保证高效地追加文件数据,并且在不出错的情况下不需要擦除FLASH文件数据存储区域,即使文件数据在追加过程中出现通讯中断的情况,也只需擦除末页文件数据即可重新追加写入,此方法使得在追加过程中数据不会丢失,并且保证了FLASH的使用寿命。由于FLASH文件的擦除时间比读取数据的时间长,因此,写满一页后更新缓存Buffer的数据,使得在通讯中断的情况下,只需擦除末页文件数据,节省时间,减少擦除的区域,并且每次存入缓存中的数据仅为一页,只需较小的容量的缓存即可,保证了FLASH的使用寿命。
图7为本发明一示例性实施例示出的基于FLASH存储器的文件追加写操作装置的结构示意图,如图7所示,该基于FLASH存储器的文件追加写操作装置,包括:
接收模块1,用于接收文件的追加写请求。获取模块2,用于根据追加写请求获取文件的第一目录信息。确定模块3,用于根据文件的第一目录信息,确定文件的末端数据在FLASH存储器内的存储位置。读取模块4,用于根据预设容量,读取预设容量的末端数据。写入模块5,用于将预设容量的末端数据写入缓存,并将文件的所述第一目录信息中的编辑位设置为使能状态;该编辑位的状态用于向追加写请求指明何时开始写入数据。该接收模块1,还用于以文件末端作为追加写的起始位置,接收追加写的数据内容。该装置还包括:生成模块6,用于在追加写完成后,生成文件的第二目录信息。
该实施例的实现原理与上述图1所示方法实施例的实现原理相似,在此不再赘述。
本实施例提供的基于FLASH存储器的文件追加写操作装置,通过接收追加写请求,并根据文件的第一目录信息,确定出文件的末端数据在FLASH存储器内的存储位置;然后根据预设容量,读取出预设容量的末端数据;将读取出的末端数据写入缓存中,并将文件的第一目录信息中的编辑位设置为使能状态,以启动追加写的操作。其中,以文件末端作为追加写的起始位置开始接收追加写的数据内容,并在追加写操作完成后,生成文件的第二目录信息。上述对FLASH存储器进行追加写的方法简单、便捷、高效。通过对文件末端进行准确定位,可以精准地仅将文件末端数据进行缓存保护,相较于现有技术对全部文件数据进行缓存保护,节省了文件移动的数量和时间,且极大降低了追加过程中数据丢失的概率;同时,减少了对FLASH的擦除区域面积和次数,在数据通讯不中断的情况下,无需对FLASH内的文件数据存储区进行擦除操作,保证了FLASH存储器的使用寿命,在数据通讯可能中断的情况下,保证了追加写数据的安全和稳定性。
图8为本发明另一示例性实施例示出的基于FLASH存储器的文件追加写操作装置的结构示意图,如图8所示,在上述实施例的基础上,第一目录信息包括:文件的描述卷信息、文件的存储页卷信息。相应的,确定模块3,具体用于根据描述卷信息,确定文件的起始端在FLASH存储器内的首端位置标识;根据首端位置标识,在存储页卷信息中确定文件的末端在FLASH存储器内的末端位置标识;根据末端位置标识,确定文件的末端数据在FLASH存储器内的存储位置。
可选的,该装置还包括:更新模块7,用于对文件的第一目录信息进行更新,具体用于将第一目录信息中的文件状态位设置为无效状态。识别模块8,用于对第一目录信息中的文件状态位进行识别,若文件状态位为无效状态,则释放第一目录信息所占用的FLASH存储器的存储空间。
可选的,预设容量包括以下容量类型中的任意一种:以页为计算单位的容量、以块为计算单位、以字节为计算单位的容量。
可选的,若预设容量以页为计算单位,且预设容量为一页的数据容量,则相应的,读取模块4,具体用于读取文件的末页数据。写入模块5,具体用于将文件的末页数据写入缓存。接收模块1,具体用于以页为单位在FLASH存储器中连续写入追加写的数据内容;或者,具体用于以页为单位,在FLASH存储器中每写入一页数据内容,在存储页卷信息中对文件的末端位置标识进行一次更新,并在缓存中对写入的末端数据进行一次更新后,继续在FLASH存储器中写入下一页内容。
可选的,该装置还包括:擦除模块9,用于在接收模块1接收追加写的数据内容的过程中,若发生通信中断,则在通信恢复后,根据缓存中存储的末端数据,擦除FLASH存储器内的对应的末端数据以及末端数据后所追加写入的数据内容;写入模块5,还用于将缓存中当前存储的末端数据写入FLASH存储器,再在末端数据后追加数据内容。
该实施例的实现原理与上述图2所示方法实施例的实现原理相似,在此不再赘述。
通过上述各个实施例,本发明克服了现有的FLASH文件数据追加写入方法效率低、安全性差以及降低FLASH芯片寿命的问题。通过在FLASH芯片的文件目录部分使用两个标识位,分别表示此文件正在编辑和此文件目录已无效,根据标识位的状态,实现在FLASH文件中直接追加文件数据,并且写过程中如果通讯中断,则系统可根据追加的文件目录的情况进行判断和处理,提高FLASH文件数据追加的效率、安全性和稳定性,并减少FLASH芯片的擦除次数。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种FLASH存储器,其特征在于,以页为单位存储文件数据,所述FLASH存储器包括:
文件的数据存储区和文件的目录信息,所述文件的数据存储区用于存储文件数据,所述文件的目录信息用于存储文件的目录信息,所述文件的目录信息包括文件的描述卷信息和文件的存储页卷信息;
所述文件的描述卷信息用于确定文件的起始页号;
所述文件的存储页卷信息用于确定文件末端,并以所述文件末端作为追加写的起始位置,接收追加写的数据内容,并执行追加写数据操作;
所述文件的描述卷信息包括文件起始页,所述文件起始页用于在对文件追加写入数据时,搜索文件起始页的页号;
所述文件的存储页卷信息表示文件数据保存的页的链表结构,包括项和项的内容,所述项包括地址顺序、项号和存储页的页号,所述项号与所述地址顺序一致,所述项号与对应的所述存储页的页号一一对应,所述项的内容表示文件数据的下一个存储页的页号;
所述项的内容用于根据所述文件起始页的页号对应的项号确定项的内容,并根据所述项的内容搜索文件的下一个存储页的页号,直到搜索到文件的末页的页号,所述文件的末页为所述文件末端;
所述项用于将文件的末页数据写入缓存,并将文件的末页作为追加写的文件数据的起始地址,接收追加写的数据内容,并执行追加写数据操作。
2.根据权利要求1所述的FLASH存储器,其特征在于,所述项的内容还包括用于表示文件的结尾的值。
3.根据权利要求1所述的FLASH存储器,其特征在于,所述文件的描述卷信息还包括用于描述存储文件的信息的文件名、文件长度中的至少一种。
4.根据权利要求1所述的FLASH存储器,其特征在于,所述文件的描述卷信息还包括文件属性信息,所述文件属性信息用于描述文件的状态;
所述文件属性信息包括第一编辑位,所述第一编辑位包括使能状态和非使能状态,所述使能状态表示标识文件可开始编辑或正在编辑,用于指示允许对文件执行追加写数据操作;
所述非使能状态表示文件状态正常无执行追加写的请求。
5.根据权利要求4所述的FLASH存储器,其特征在于,所述文件属性信息还包括第二编辑位,所述第二编辑位用于标识文件的状态;
所述第二编辑位包括第一状态和第二状态,所述第一状态用于标识文件未进行过追加写操作,所述第二状态用于标识文件已完成追加写操作。
6.根据权利要求5所述的FLASH存储器,其特征在于,所述文件的目标信息还用于在执行追加写数据操作之后,生成文件的新的目录信息,所述新的目录信息包括新的文件的描述卷信息和新的文件的存储页卷信息。
7.根据权利要求6所述的FLASH存储器,其特征在于,在生成文件的新的目录信息之后,所述文件的初始目录信息的第二编辑位的状态更新为第二状态,表示所述文件的初始目录信息为无效。
8.根据权利要求1所述的FLASH存储器,其特征在于,
在接收追加写的数据内容的过程中,若发生通信中断,则在通信恢复后,所述FLASH存储器内对应的末端数据以及追加写数据操作写入的数据内容被擦除。
9.根据权利要求8所述的FLASH存储器,其特征在于,在FLASH存储器内对应的末端数据以及追加写数据操作写入的数据内容被擦除之后,所述文件的存储页卷信息还用于根据写入缓存中的末端数据,接收追加写的数据内容,并执行追加写数据操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111348840.3A CN114089915B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111348840.3A CN114089915B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
CN201710188749.7A CN108664208B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710188749.7A Division CN108664208B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114089915A CN114089915A (zh) | 2022-02-25 |
CN114089915B true CN114089915B (zh) | 2022-12-20 |
Family
ID=63786137
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710188749.7A Active CN108664208B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
CN202111348840.3A Active CN114089915B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710188749.7A Active CN108664208B (zh) | 2017-03-27 | 2017-03-27 | 基于flash存储器的文件追加写操作方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108664208B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888596B (zh) * | 2019-06-25 | 2021-07-09 | 北京华弘集成电路设计有限责任公司 | 一种Flash存储区域的文件擦写方法及装置 |
CN110505314B (zh) * | 2019-09-26 | 2022-11-25 | 浪潮电子信息产业股份有限公司 | 一种并发追加上传请求的处理方法 |
CN111831618A (zh) * | 2020-07-21 | 2020-10-27 | 北京青云科技股份有限公司 | 数据写入方法、数据读取方法、装置、设备及存储介质 |
CN112347007B (zh) * | 2020-10-14 | 2022-12-09 | 歌尔科技有限公司 | 闪存数据保护方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002324008A (ja) * | 2001-04-26 | 2002-11-08 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
CN1821978A (zh) * | 2006-01-16 | 2006-08-23 | 深圳创维-Rgb电子有限公司 | 在嵌入系统的非易失存储器中进行数据操作的方法 |
CN1913040A (zh) * | 2005-08-12 | 2007-02-14 | 中兴通讯股份有限公司 | 一种在nor flash中配置参数的方法 |
CN102867019A (zh) * | 2012-07-30 | 2013-01-09 | 利尔达科技有限公司 | 分离式文件系统及其管理方法 |
CN102968383A (zh) * | 2012-12-13 | 2013-03-13 | 蚌埠依爱消防电子有限责任公司 | 一种用于火灾报警系统的提高flash使用寿命的方法 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN105630707A (zh) * | 2015-11-16 | 2016-06-01 | 上海磁宇信息科技有限公司 | 具有断电保护功能的存储设备、断电保护方法及计算系统 |
CN106202275A (zh) * | 2016-06-30 | 2016-12-07 | 乐视控股(北京)有限公司 | 对象文件的追加、截断方法及装置 |
CN106527969A (zh) * | 2016-09-21 | 2017-03-22 | 中国科学院地质与地球物理研究所 | 一种寿命均衡的NandFlash存储器读写方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090087498A (ko) * | 2006-12-06 | 2009-08-17 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 고-용량, 비-휘발성 스토리지를 위한 캐시로서의 솔리드-스테이트 스토리지 장치, 시스템 및 방법 |
US9207876B2 (en) * | 2007-04-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Remove-on-delete technologies for solid state drive optimization |
US9229809B2 (en) * | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
CN105138465B (zh) * | 2015-04-30 | 2018-09-11 | 北京天诚盛业科技有限公司 | 加快Nand Flash写操作的方法及装置 |
CN106527958B (zh) * | 2015-09-09 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 用于分布式存储系统的写入数据、获取数据的方法和设备 |
CN105302488B (zh) * | 2015-10-27 | 2018-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统的数据写入方法及系统 |
CN105718530B (zh) * | 2016-01-15 | 2020-02-04 | 上海磁宇信息科技有限公司 | 文件存储系统及其文件存储控制方法 |
-
2017
- 2017-03-27 CN CN201710188749.7A patent/CN108664208B/zh active Active
- 2017-03-27 CN CN202111348840.3A patent/CN114089915B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002324008A (ja) * | 2001-04-26 | 2002-11-08 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
CN1913040A (zh) * | 2005-08-12 | 2007-02-14 | 中兴通讯股份有限公司 | 一种在nor flash中配置参数的方法 |
CN1821978A (zh) * | 2006-01-16 | 2006-08-23 | 深圳创维-Rgb电子有限公司 | 在嵌入系统的非易失存储器中进行数据操作的方法 |
CN102867019A (zh) * | 2012-07-30 | 2013-01-09 | 利尔达科技有限公司 | 分离式文件系统及其管理方法 |
CN102968383A (zh) * | 2012-12-13 | 2013-03-13 | 蚌埠依爱消防电子有限责任公司 | 一种用于火灾报警系统的提高flash使用寿命的方法 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN105630707A (zh) * | 2015-11-16 | 2016-06-01 | 上海磁宇信息科技有限公司 | 具有断电保护功能的存储设备、断电保护方法及计算系统 |
CN106202275A (zh) * | 2016-06-30 | 2016-12-07 | 乐视控股(北京)有限公司 | 对象文件的追加、截断方法及装置 |
CN106527969A (zh) * | 2016-09-21 | 2017-03-22 | 中国科学院地质与地球物理研究所 | 一种寿命均衡的NandFlash存储器读写方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108664208B (zh) | 2022-02-15 |
CN108664208A (zh) | 2018-10-16 |
CN114089915A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
CN109343790B (zh) | 一种基于nand flash的数据存储方法、终端设备及存储介质 | |
CN114089915B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
CN108431783B (zh) | 访问请求处理方法、装置及计算机系统 | |
CN108399047B (zh) | 一种闪存文件系统及其数据管理方法 | |
CN107818269B (zh) | 一种基于Flash的文件保存方法及系统 | |
TWI436369B (zh) | 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統 | |
CN106354662B (zh) | 一种nand flash数据存储方法 | |
CN107203331B (zh) | 写数据的方法及装置 | |
CN108664482B (zh) | Flash存储器及存储文件管理方法 | |
CN109669889B (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
KR20170010810A (ko) | 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비 | |
CN111159114A (zh) | 文件存储方法、装置及服务器 | |
WO2016101145A1 (zh) | 一种控制器、识别数据块稳定性的方法和存储系统 | |
CN109840218B (zh) | 有效数据管理方法以及存储控制器 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及系统 | |
CN113918485B (zh) | 一种闪存资料防丢失方法、装置、设备及存储介质 | |
CN105446652A (zh) | 进行摄像数据存储的方法及装置 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN107908500B (zh) | 一种坏块识别方法及装置 | |
CN115328851A (zh) | 一种数据保护方法、装置、设备及介质 | |
CN109960611B (zh) | 数据恢复的方法、装置、电子设备及机器可读存储介质 | |
JP6864228B2 (ja) | 記憶装置および記憶装置のデータ管理方法 | |
CN112988037A (zh) | 静态磨损均衡方法、终端和计算机可读存储介质 | |
CN113625964B (zh) | 基于NandFlash的顺序存储方法、电子设备和存储介质 |
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 |