CN107391038A - 资料存储型闪存的数据写入方法、闪存及存储介质 - Google Patents

资料存储型闪存的数据写入方法、闪存及存储介质 Download PDF

Info

Publication number
CN107391038A
CN107391038A CN201710621597.5A CN201710621597A CN107391038A CN 107391038 A CN107391038 A CN 107391038A CN 201710621597 A CN201710621597 A CN 201710621597A CN 107391038 A CN107391038 A CN 107391038A
Authority
CN
China
Prior art keywords
data
written
flash memory
storage type
type flash
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
CN201710621597.5A
Other languages
English (en)
Other versions
CN107391038B (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.)
SiliconGo Microelectronics Co Ltd
Original Assignee
SiliconGo Microelectronics 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 SiliconGo Microelectronics Co Ltd filed Critical SiliconGo Microelectronics Co Ltd
Priority to CN201710621597.5A priority Critical patent/CN107391038B/zh
Publication of CN107391038A publication Critical patent/CN107391038A/zh
Application granted granted Critical
Publication of CN107391038B publication Critical patent/CN107391038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]
    • 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
    • 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/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

Abstract

本发明公开了一种资料存储型闪存的数据写入方法、闪存及存储介质,所述方法包括:获取资料存储型闪存的待写入数据;对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。本发明通过识别文件系统数据中的擦除标识,并通过所述擦除标识将所述文件系统数据对应的逻辑区块地址设置无效标识,从而实现识别逻辑区块地址中的无效数据功能。

Description

资料存储型闪存的数据写入方法、闪存及存储介质
技术领域
本发明涉及资料存储型闪存领域,尤其涉及一种资料存储型闪存的数据写入方法、闪存及存储介质。
背景技术
资料存储型闪存使用的SCSI(Small Computer System Interface小型计算机系统接口)协议有类似识别逻辑区块地址中的无效数据功能的指令,不过需要操作系统支持,而目前大多数操作系统对此功能未做支持,故资料存储型闪存一般对此功能也不做支持。
资料存储型闪存现在基本都是以NAND flash(资料存储型闪存)作为数据的存储介质,NAND flash不允许覆盖写,必须先擦除再写入,而且,写入以页为单位,而擦除以块为单位,因此,在擦除一个块之前需要先将此块中有效的页数据先搬移到其他块中。当无识别逻辑区块地址中的无效数据时,只有相同的LBA(Logical Block Address逻辑区块地址)被重复写入时,才会标记原有数据为无效,从而在数据搬移过程中,有大量未被标记为无效但实际已无效的数据参与其中,导致的结果就是写入性能下降,写入放大变大,以及使用寿命缩短。
发明内容
本发明的主要目的在于提出一种资料存储型闪存的数据写入方法、闪存及存储介质,旨在解决现有技术中资料存储型闪存无法实现识别逻辑区块地址中的无效数据功能的技术问题。
为实现上述目的,本发明提供一种资料存储型闪存的数据写入方法,所述资料存储型闪存的数据写入方法包括以下步骤:
获取资料存储型闪存的待写入数据;
对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;
在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;
在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。
优选地,所述对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,具体包括:
对所述待写入数据进行解析,从解析结果中获取所述待写入数据的数据结构,将所述待写入数据的数据结构与预设数据结构进行比较,当所述待写入数据的数据结构与预设数据结构一致时,认定所述待写入数据为文件系统数据。
优选地,所述将所述待写入数据的数据结构与预设数据结构进行比较之后,所述资料存储型闪存的数据写入方法包括:
在所述待写入数据的数据结构与预设数据结构不一致时,将所述待写入数据写入对应的逻辑区块地址。
优选地,所述判断所述待写入数据中是否含有擦除标识,具体包括:
提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,在所述预设字段中的字符信息与预设擦除信息一致时,认定所述待写入数据中含有擦除标识。
优选地,所述将所述预设字段中的字符信息与预设擦除信息进行比较之后,所述资料存储型闪存的数据写入方法包括:
在所述预设字段中的字符信息与预设擦除信息不一致时,将所述待写入数据写入对应的逻辑区块地址。
优选地,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
获取所述待写入数据的逻辑区块地址信息,根据所述逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址。
优选地,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为无效标识时,将所述逻辑区块地址对应的数据进行擦除。
优选地,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移。
此外,为实现上述目的,本发明还提出一种闪存,所述闪存包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资料存储型闪存的数据写入程序,所述资料存储型闪存的数据写入程序配置为实现如上文所述的资料存储型闪存的数据写入方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有资料存储型闪存的数据写入程序,所述资料存储型闪存的数据写入程序被处理器执行时实现如上文所述的资料存储型闪存的数据写入方法的步骤。
本发明通过识别文件系统数据中的擦除标识,并通过所述擦除标识将所述文件系统数据对应的逻辑区块地址设置无效标识,从而实现识别逻辑区块地址中的无效数据功能。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的闪存结构示意图;
图2为本发明资料存储型闪存的数据写入方法第一实施例的流程示意图;
图3为擦除前解析的文件系统数据的数据结构图;
图4为擦除后解析的文件系统数据的数据结构图;
图5为本发明资料存储型闪存的数据写入方法第二实施例的流程示意图;
图6为本发明资料存储型闪存的数据写入方法第三实施例的流程示意图;
图7为本发明资料存储型闪存的数据写入方法第四实施例的流程示意图;
图8为本发明资料存储型闪存的数据写入方法第五实施例的流程示意图;
图9为本发明资料存储型闪存的数据写入方法第六实施例的流程示意图;
图10为本发明资料存储型闪存的数据写入方法第七实施例的流程示意图;
图11为本发明资料存储型闪存的数据写入方法第八实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的闪存结构示意图。
如图1所示,该闪存可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括USB接口,可选用户接口1003还可以包括micro USB。存储器1004可以是NANDflash。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的闪存结构并不构成对闪存的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1004中可以包括操作系统、用户接口模块以及资料存储型闪存的数据写入程序。
在图1所示的闪存中,用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明闪存通过处理器1001调用存储器1004中存储的资料存储型闪存的数据写入程序,并执行以下操作:
获取资料存储型闪存的待写入数据;
对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;
在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;
在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
对所述待写入数据进行解析,从解析结果中获取所述待写入数据的数据结构,将所述待写入数据的数据结构与预设数据结构进行比较,当所述待写入数据的数据结构与预设数据结构一致时,认定所述待写入数据为文件系统数据。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
在所述待写入数据的数据结构与预设数据结构不一致时,将所述待写入数据写入对应的逻辑区块地址。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,在所述预设字段中的字符信息与预设擦除信息一致时,认定所述待写入数据中含有擦除标识。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
在所述预设字段中的字符信息与预设擦除信息不一致时,将所述待写入数据写入对应的逻辑区块地址。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
获取所述待写入数据的逻辑区块地址信息,根据所述逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为无效标识时,将所述逻辑区块地址对应的数据进行擦除。
进一步地,处理器1001可以调用存储器1004中存储的存储有资料存储型闪存的数据写入程序,还执行以下操作:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移。
本实施例通过识别文件系统数据中的擦除标识,并通过所述擦除标识将所述文件系统数据对应的逻辑区块地址设置无效标识,从而实现识别逻辑区块地址中的无效数据功能。
基于上述硬件结构,提出本发明资料存储型闪存的数据写入方法实施例。
参照图2,图2为本发明资料存储型闪存的数据写入方法第一实施例的流程示意图。
在第一实施例中,所述资料存储型闪存的数据写入方法包括以下步骤:
步骤S10,获取资料存储型闪存的待写入数据;
需要说明的是,在本实施例中资料存储型闪存以NAND flash为例,识别逻辑区块地址中的无效数据指令是属于ATA8-ACS规范的技术指令,通过识别逻辑区块地址中的无效数据指令使NAND flash固态存储设备擦除某些数据,即某些数据对应的逻辑区块地址是无效的,目前主要应用在SSD(Solid State Drives固态硬盘)设备中。
资料存储型闪存使用的SCSI协议有类似识别逻辑区块地址中的无效数据功能的指令,但是需要操作系统支持,而目前大多操作系统对此功能未做支持,因此,一般资料存储型闪存一般对此功能不支持,资料存储型闪存现在基本都是以NAND flash作为数据的存储介质。
步骤S20,对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;
可以理解的是,一般文件系统数据由MBR(Main Boot Record主引导记录)、DBR(Dos Boot Record系统引导记录区)、FAT(File Allocation Table文件分配表)、DIR(Directory根目录区)以及DATA(数据)区构成。下面以FAT16文件系统为例进行说明。
MBR在512字节的主引导扇区中,占用446个字节,另外64个字节分配给DPT(DiskPartition Table硬盘分区表),最后两个字节是分区的结束标志,MBR包含一系列参数和一段引导程序,引导程序用于检查分区表中是否正确以及在系统自检后引导具有激活标识的分区上的操作系统。
DBR是操作系统直接访问的第一扇区,包括一个引导程序和BPB(Bios ParameterBlock参数记录表),引导程序接收MBR控制权时,判断本分区跟目录前两个文件是不是操作系统的引导文件,如果存在,就将其写入,并将控制权交给该文件。BPB参数块记录本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数以及分配单元的大小等参数。
文件占用磁盘空间时,基本单位是簇,同一个文件的数据并不一定是完整的存放在磁盘的一个连续的区域内,而往往会分成若干段,这种存储方式称为文件的链式存储,在链式存储中,硬盘准确地记录哪些簇已经被文件占用,还为每个已经占用的簇指明存储后继内容的下一个簇的簇号,这些由FAT表来保存,由于FAT对于文件管理的重要性,对FAT有一个备份,即在原FAT的后面再建一个同样的FAT。
在FAT表之后是DIR区,记录根目录下每个文件的起始单元,文件的属性等,定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表可知道文件在硬盘中的具体位置和大小。
DATA区是用于数据存储,位于DIR之后。
通过对待写入数据的解析,可判断待写入的数据的数据结构是否为文件系统的数据结构,如果与文件系统的数据结构一致,则可认定待写入的数据为文件系统数据。
步骤S30,在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;
需要说明的是,文件系统在擦除文件时,仅仅对其文件名进行处理,对于内容不进行处理,对于文件名的处理就是将其所有的目录项的第一个字节设置为0xe5,此时认为该文件已经被擦除。
在所述待写入数据为文件系统数据时,查看所述待写入数据中的预设字段的字符是否含有e5字符信息,如果有,就认定待写入数据为已经被擦除的数据。
如图3,图3为擦除前解析的文件系统数据的数据结构图。
解析一个长文件名为“abcdefghijklmnopqrstuvxwyz.1234567890”,文件内容为“just a test string for this long name file”的文件系统数据。其中从0x9e000-0x9e070表示目录项,0x9e200表示文件内容,对所述文件系统数据进行擦除。
如图4,图4为擦除后解析的文件系统数据的数据结构图。
从图中看出,0x9e000-0x9e070中的4个目录项的第一个字符变成e5,而在0x9e200表示的文件内容并没有改变。
为了便于判断所述文件系统数据是否为擦除数据,对解析后的文件系统数据进行字符判断,即判断所述文件系统数据是否包含e5字符信息,如果所述文件系统数据包含e5字符信息,则认定所述文件系统数据为已擦除文件系统数据。
步骤S40,在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。
逻辑区块地址是资料存储型闪存用来表示数据所在位置,即LBA(Logical BlockAddress逻辑区块地址),LBA可表示数据区块的地址或者某个地址上所指向的数据区块。
需要说明的是,资料存储型闪存在进行数据写入时,不允许覆盖写,必须先擦除再写入,而且,写入以页为单位,而擦除以块为单位,块由多个页组成。
在没有识别逻辑区块地址中的无效数据的情况下,资料存储型闪存无法知道哪些被擦除的数据是无效的,必须到系统要求在相同的逻辑区块地址写入数据才知道哪些数据可以被擦除。
本实施例可通过获取到擦除标识,从而可识别到所述文件系统数据为进行擦除过的无效数据,将文件系统数据对应的逻辑区块地址设置无效标识,从而实现识别逻辑区块地址中的无效数据功能。
进一步地,如图5所示,基于第一实施例提出本发明资料存储型闪存的数据写入方法第二实施例,在本实施例中,所述步骤S20包括:
步骤S201,对所述待写入数据进行解析,从解析结果中获取所述待写入数据的数据结构,将所述待写入数据的数据结构与预设数据结构进行比较;
步骤S202,当所述待写入数据的数据结构与预设数据结构一致时,认定所述待写入数据为文件系统数据。
可以理解的是,一般文件系统数据由MBR、DBR、FAT、DIR以及DATA区构成,可通过固件解析,还可通过写入解析程序,通过调用所述解析程序对待写入的数据进行解析,还可通过其他相同或相似的功能对所述道待写入数据进行解析,本实施例对此不作限制。
由上可知,一般文件系统数据由MBR、DBR、FAT、DIR以及DATA区构成,通过解析待写入数据,获取待写入数据的数据结构,判断所述数据结构与一般的文件系统的数据结构是否一致,在数据结构与一般的文件系统的数据结构一致时,可认定待写入数据为文件系统数据。
为了更准确判断待写入数据为无效数据,可通过获取到擦除标识,一般情况下可通过文件系统数据获取到擦除标识。
本实施例可通过先对待写入数据进行是否为文件系统数据的判断,从而可进一步准确判断待写入数据为无效数据。
进一步地,如图6所示,基于第二实施例提出本发明资料存储型闪存的数据写入方法第三实施例,在本实施例中,所述将所述待写入数据的数据结构与预设数据结构进行比较之后,所述方法包括:
步骤S203,在所述待写入数据的数据结构与预设数据结构不一致时,将所述待写入数据写入对应的逻辑区块地址。
可以理解的是,一般文件系统数据由MBR、DBR、FAT、DIR以及DATA区构成,可通过固件解析,还可通过写入解析程序,通过调用所述解析程序对待写入的数据进行解析,还可通过其他相同或相似的功能对所述道待写入数据进行解析,本实施例对此不作限制。
由上可知,一般文件系统数据由MBR、DBR、FAT、DIR以及DATA区构成,通过解析待写入数据,获取待写入数据的数据结构,判断所述数据结构与一般的文件系统的数据结构是否一致,在数据结构与一般的文件系统的数据结构不一致时,可认定待写入数据不为文件系统数据。
可通过判断待写入数据不为文件系统数据,从而可知不会涉及文件系统的更新,而涉及文件实际内容的更新,从而可判断待写入数据为需要写入的数据,而不为无效数据。
本实施例可通过先对待写入数据进行是否为文件系统数据的判断,从而可进一步准确判断待写入数据是否无效数据,在待写入数据不为文件系统数据的情况下,只涉及文件时间内容的更新,则可进一步判断待写入数据不为无效数据,从而提高判断待写入数据为无效数据的准确性。
进一步地,如图7所示,基于第一实施例提出本发明资料存储型闪存的数据写入方法第四实施例,在本实施例中,所述步骤S30具体包括:
步骤S301,提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较;
步骤S302,在所述预设字段中的字符信息与预设擦除信息一致时,认定所述待写入数据中含有擦除标识。
需要说明的是,所述预设字段为解析后的待写入数据中的目录项,其中目录项包含待写入数据,判断所述待写入数据的目录项中的字符是否含有擦除标识,可判断出所述待写入数据为已擦除的数据。
为了提高判断待写入数据为无效数据的准确性,对待写入数据中的预设字段中的字符信息进行提取,将提取的字符信息与预设擦除信息进行比较。例如一般情况下,对文件系统数据进行擦除时,可将所述文件系统数据目录项中的第一个字符设置为e5。
本实施例可判断所述待写入数据中的目录去的第一个字符是否为e5,如果所述待写入数据中的目录去的第一个字符为e5,则认定所述待写入数据为擦除的数据,从而可知所述待写入数据为无效数据。
本实施例可通过提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,根据判断结果认定所述待写入数据是否为已擦除的数据,从而提高判断待写入数据为无效数据的准确性。
进一步地,如图8所示,基于第四实施例提出本发明资料存储型闪存的数据写入方法第五实施例,在本实施例中,所述将所述预设字段中的字符信息与预设擦除信息进行比较之后,所述方法包括:
步骤S303,在所述预设字段中的字符信息与预设擦除信息不一致时,将所述待写入数据写入对应的逻辑区块地址。
为了提高判断待写入数据为无效数据的准确性,对待写入数据中的预设字段中的字符信息进行提取,将提取的字符信息与预设擦除信息进行比较。例如一般情况下,对文件系统数据进行擦除时,可将所述文件系统数据目录项中的第一个字符设置为e5。
本实施例可判断所述待写入数据中的目录去的第一个字符是否为e5,如果所述待写入数据中的目录去的第一个字符不为e5,则认定所述待写入数据不为擦除的数据,从而可知所述待写入数据为有效数据,对于有效数据,则不进行处理,即将述待写入数据写入对应的逻辑区块地址。
本实施例可通过提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,根据判断结果认定所述待写入数据是否为已擦除的数据,从而提高判断待写入数据为无效数据的准确性。
进一步地,如图9所示,基于第一实施例提出本发明资料存储型闪存的数据写入方法第六实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S50,获取所述待写入数据的逻辑区块地址信息,根据所述逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址。
需要说明的是,一般情况下,待写入数据包括待写入数据的逻辑区块地址信息,表示待写入数据将要写入的位于资料存储型闪存中的逻辑区块地址。
在擦除一个文件时,系统并没有擦除这个文件的数据,只是把所述数据占用的逻辑区块地址标记为空,即标记无效标识。
相应地,在写入一个文件系统数据时,所述文件系统数据占用的逻辑区块地址标记为有效标识,即表示所述逻辑区块地址已经占有有效数据。
本实施例可通过获取待写入数据的逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址,从而提高待写入数据写入的准确性。
进一步地,如图10所示,基于第六实施例提出本发明资料存储型闪存的数据写入方法第七实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S60,在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为无效标识时,将所述逻辑区块地址对应的数据进行擦除。
本实施例可通过判断待写入数据为无效数据时,将所述逻辑区块地址对应的数据进行擦除,从而在资料存储型闪存中实现识别逻辑区块地址中的无效数据功能。
需要说明的是,资料存储型闪存在数据写入时,必须先擦除才能再写入,在执行操作时,数据会被移动多次,这些重复才做会增加写入的数据量,还会减少资料存储型闪存的寿命,在无识别逻辑区块地址中的无效数据时,只有相同的逻辑区块地址被重复写入时,才会标记原有的数据为无效,在数据搬移的过程中,有大量未被标记为无效但实际与无效的数据被搬移,导致写入性能下降,这种现象被称为WA(Write Amplification写入放大),即实际写入的物理信息量是将要写入的逻辑数据的多倍。
在数据写入过程中,资料存储型闪存会将块中的有效也数据转移到一个缓存区,再将这个块中的数据进行擦除,这种处理称为GC(Garbage Collection垃圾回收)。
为了减少GC时,减小WA,可通过识别出待写入数据的无效标识,从而可知待写入数据为无效数据,在进行数据搬移时,较少对“无效”数据的搬移,并对标记为无效标识的逻辑区块地址中的数据进行擦除。
本实施例可通过判断待写入数据为无效数据时,将所述逻辑区块地址对应的数据进行擦除,从而在垃圾回收时,减少数据写入放大,提高资料存储型闪存写入性能。
进一步地,如图11所示,基于第七实施例提出本发明资料存储型闪存的数据写入方法第八实施例,在本实施例中,所述步骤S40之后,所述方法还包括:
步骤S70,在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移。
在数据写入过程中,资料存储型闪存会将块中的有效也数据转移到一个缓存区,再将这个块中的数据进行擦除,但在数据转移的过程中,会将大量未被标记为无效但实际已无效的数据进行转移,从而出现写入放大。
为了减小写入放大,提高资料存储型闪存的写入性能,对待写入数据进行判断,在待写入数据为无效数据时,将待写入数据对应的逻辑区块地址标识无效标识。
在待写入数据写入时,将待写入数据对应的逻辑区块地址中的有效数据进行搬移,由于无效数据对应的逻辑区块地址标记为无效标识,可不将标记为无效标识的逻辑区块地址中的无效数据进行搬移,从而减少写入放大。例如当要写入一个4KB的数据时,假设写入数据对应的逻辑区块地址中已经没有空闲空间,但是有无效数据可以擦除,在这种情况下,实际写4KB的数据,但是会造成整个块的写入操作,但是在无效数据对应的逻辑区块地址标记有无效标识之后,对应无效标识的逻辑区块地址中的无效数据不会进行搬移,从而减小写入放大。
本实施例可通过在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移,从而在垃圾回收时,减少无效数据写入放大,提高资料存储型闪存写入性能。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有资料存储型闪存的数据写入程序,所述资料存储型闪存的数据写入程序被处理器执行时实现如下操作:
获取资料存储型闪存的待写入数据;
对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;
在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;
在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
对所述待写入数据进行解析,从解析结果中获取所述待写入数据的数据结构,将所述待写入数据的数据结构与预设数据结构进行比较,当所述待写入数据的数据结构与预设数据结构一致时,认定所述待写入数据为文件系统数据。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
在所述待写入数据的数据结构与预设数据结构不一致时,将所述待写入数据写入对应的逻辑区块地址。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,在所述预设字段中的字符信息与预设擦除信息一致时,认定所述待写入数据中含有擦除标识。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
在所述预设字段中的字符信息与预设擦除信息不一致时,将所述待写入数据写入对应的逻辑区块地址。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
获取所述待写入数据的逻辑区块地址信息,根据所述逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为无效标识时,将所述逻辑区块地址对应的数据进行擦除。
进一步地,所述存储有资料存储型闪存的数据写入程序被处理器执行时还实现如下操作:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移。
本实施例通过识别文件系统数据中的擦除标识,并通过所述擦除标识将所述文件系统数据对应的逻辑区块地址设置无效标识,从而实现识别逻辑区块地址中的无效数据功能。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种资料存储型闪存的数据写入方法,其特征在于,所述数据写入方法包括以下步骤:
获取资料存储型闪存的待写入数据;
对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,所述文件系统数据为携带有分区目录的数据;
在所述待写入数据为文件系统数据时,判断所述待写入数据中是否含有擦除标识;
在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识。
2.如权利要求1所述的资料存储型闪存的数据写入方法,其特征在于,所述对所述待写入数据进行解析,根据解析结果判断所述待写入数据是否为文件系统数据,具体包括:
对所述待写入数据进行解析,从解析结果中获取所述待写入数据的数据结构,将所述待写入数据的数据结构与预设数据结构进行比较,当所述待写入数据的数据结构与预设数据结构一致时,认定所述待写入数据为文件系统数据。
3.如权利要求2所述的资料存储型闪存的数据写入方法,其特征在于,所述将所述待写入数据的数据结构与预设数据结构进行比较之后,所述资料存储型闪存的数据写入方法包括:
在所述待写入数据的数据结构与预设数据结构不一致时,将所述待写入数据写入对应的逻辑区块地址。
4.如权利要求1所述的资料存储型闪存的数据写入方法,其特征在于,所述判断所述待写入数据中是否含有擦除标识,具体包括:
提取所述待写入数据的预设字段中的字符信息,将所述预设字段中的字符信息与预设擦除信息进行比较,在所述预设字段中的字符信息与预设擦除信息一致时,认定所述待写入数据中含有擦除标识。
5.如权利要求4所述的数据写入方法,其特征在于,所述将所述预设字段中的字符信息与预设擦除信息进行比较之后,所述资料存储型闪存的数据写入方法包括:
在所述预设字段中的字符信息与预设擦除信息不一致时,将所述待写入数据写入对应的逻辑区块地址。
6.如权利要求1所述的资料存储型闪存的数据写入方法,其特征在于,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
获取所述待写入数据的逻辑区块地址信息,根据所述逻辑区块地址信息,将所述待写入数据写入对应的逻辑区块地址。
7.如权利要求6所述的资料存储型闪存的数据写入方法,其特征在于,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为无效标识时,将所述逻辑区块地址对应的数据进行擦除。
8.如权利要求7所述的资料存储型闪存的数据写入方法,其特征在于,所述在所述待写入数据中含有擦除标识时,获取所述资料存储型闪存为所述待写入数据分配的逻辑区块地址,并为所述逻辑区块地址设置无效标识步骤之后,所述资料存储型闪存的数据写入方法还包括:
在所述待写入数据进行写入时,获取所述待写入数据对应的逻辑区块地址的标识信息,在所述标识信息为有效标识时,将所述逻辑区块地址对应的数据进行进行转移。
9.一种闪存,其特征在于,所述闪存包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的资料存储型闪存的数据写入程序,所述资料存储型闪存的数据写入程序配置为实现如权利要求1至8中任一项所述的资料存储型闪存的数据写入方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有资料存储型闪存的数据写入程序,所述资料存储型闪存的数据写入程序被处理器执行时实现如权利要求1至8中任一项所述的资料存储型闪存的数据写入方法的步骤。
CN201710621597.5A 2017-07-26 2017-07-26 资料存储型闪存的数据写入方法、闪存及存储介质 Active CN107391038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710621597.5A CN107391038B (zh) 2017-07-26 2017-07-26 资料存储型闪存的数据写入方法、闪存及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710621597.5A CN107391038B (zh) 2017-07-26 2017-07-26 资料存储型闪存的数据写入方法、闪存及存储介质

Publications (2)

Publication Number Publication Date
CN107391038A true CN107391038A (zh) 2017-11-24
CN107391038B CN107391038B (zh) 2020-07-17

Family

ID=60341168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710621597.5A Active CN107391038B (zh) 2017-07-26 2017-07-26 资料存储型闪存的数据写入方法、闪存及存储介质

Country Status (1)

Country Link
CN (1) CN107391038B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958657A (zh) * 2018-06-27 2018-12-07 深圳市德名利电子有限公司 一种数据存储方法、存储设备及存储系统
CN109358910A (zh) * 2018-09-05 2019-02-19 广州小鹏汽车科技有限公司 固件写入、启动方法及用于实现固件写入、启动的系统
CN109753240A (zh) * 2018-11-28 2019-05-14 上海威固信息技术股份有限公司 一种采用新型垃圾回收机制的数据存储方法
CN111930301A (zh) * 2020-06-29 2020-11-13 深圳佰维存储科技股份有限公司 垃圾回收优化方法、装置、存储介质及电子设备
CN116204450A (zh) * 2023-04-28 2023-06-02 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1362708A (zh) * 2001-01-02 2002-08-07 吴秀林 一种闪存芯片的读写方法
CN101770427A (zh) * 2009-01-07 2010-07-07 芯邦科技(深圳)有限公司 一种利用Flash存储空间的方法及装置
CN101840307A (zh) * 2009-03-17 2010-09-22 株式会社东芝 控制器和存储器系统
CN102981975A (zh) * 2012-11-16 2013-03-20 深圳市江波龙电子有限公司 闪存数据的管理方法和系统
TWI436212B (zh) * 2011-07-21 2014-05-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN105138465A (zh) * 2015-04-30 2015-12-09 北京天诚盛业科技有限公司 加快Nand Flash写操作的方法及装置
CN105868122A (zh) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 快闪存储设备的数据处理方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1362708A (zh) * 2001-01-02 2002-08-07 吴秀林 一种闪存芯片的读写方法
CN101770427A (zh) * 2009-01-07 2010-07-07 芯邦科技(深圳)有限公司 一种利用Flash存储空间的方法及装置
CN101840307A (zh) * 2009-03-17 2010-09-22 株式会社东芝 控制器和存储器系统
TWI436212B (zh) * 2011-07-21 2014-05-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN102981975A (zh) * 2012-11-16 2013-03-20 深圳市江波龙电子有限公司 闪存数据的管理方法和系统
CN105138465A (zh) * 2015-04-30 2015-12-09 北京天诚盛业科技有限公司 加快Nand Flash写操作的方法及装置
CN105868122A (zh) * 2016-03-28 2016-08-17 深圳市硅格半导体股份有限公司 快闪存储设备的数据处理方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958657A (zh) * 2018-06-27 2018-12-07 深圳市德名利电子有限公司 一种数据存储方法、存储设备及存储系统
CN109358910A (zh) * 2018-09-05 2019-02-19 广州小鹏汽车科技有限公司 固件写入、启动方法及用于实现固件写入、启动的系统
CN109753240A (zh) * 2018-11-28 2019-05-14 上海威固信息技术股份有限公司 一种采用新型垃圾回收机制的数据存储方法
CN109753240B (zh) * 2018-11-28 2021-12-21 上海威固信息技术股份有限公司 一种采用垃圾回收机制的数据存储方法
CN111930301A (zh) * 2020-06-29 2020-11-13 深圳佰维存储科技股份有限公司 垃圾回收优化方法、装置、存储介质及电子设备
CN116204450A (zh) * 2023-04-28 2023-06-02 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质
CN116204450B (zh) * 2023-04-28 2023-08-18 新华三技术有限公司 数据写入方法、处理器、器件、业务板及存储介质

Also Published As

Publication number Publication date
CN107391038B (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN107391038A (zh) 资料存储型闪存的数据写入方法、闪存及存储介质
CN108073363B (zh) 数据存储方法、存储设备及计算机可读存储介质
CN108733306B (zh) 一种文件合并方法及装置
CN104461632A (zh) 一种Web App加载方法及装置
CN111324303B (zh) Ssd垃圾回收方法、装置、计算机设备及存储介质
CN101354715A (zh) 用于操作数据处理系统的系统、方法和计算机程序产品
US8615624B2 (en) Methods, apparatuses, and computer program products for enhancing memory erase functionality
CN101983376A (zh) 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
CN113568566A (zh) 利用索引物件来进行简易存储服务无缝迁移的方法、主装置以及存储服务器
CN103049708A (zh) 一种数据库的审计配置方法及系统
CN108984339B (zh) 数据恢复方法及相关产品
CN102541969B (zh) 基于fat文件系统的文件保护方法、系统及存储器
CN112835528A (zh) 脏页刷新方法和装置、电子设备和存储介质
CN103677893B (zh) 开机的映像文件的大小缩减方法及运算装置
CN111803917A (zh) 资源的处理方法和装置
CN111597129B (zh) 缓存管理方法、装置、存储介质和固态非易失存储设备
CN110334065B (zh) 一种文件处理方法和系统
CN104239112B (zh) 一种设备驱动程序安装方法及装置
CN110134546A (zh) 批量重启windows系统方法、电子装置及存储介质
US20160232166A1 (en) Method and Apparatus for Accessing File
CN111158606B (zh) 存储方法、装置、计算机设备和存储介质
JP2008546236A (ja) 別の携帯端末から携帯端末のコンタクトカードへアクセスする方法
CN1312550C (zh) 一种将数据转储到移动存储介质以及从其上提取数据的方法
CN109683813B (zh) 一种nvme ssd自动格式化方法、装置、终端及存储介质
CN114675776A (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
CB02 Change of applicant information

Address after: Units 05-2 and 06-08, 6th floor, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen SiliconGo Semiconductor Co., Ltd.

Address before: Units 05-2 and 06-08, 6th floor, Changhong Science and Technology Building, 18 Science and Technology South 12 Road, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: SILICONGO MICROELECTRONICS CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant