CN113495681A - 一种nand flash文件数据存取方法、装置及存储介质 - Google Patents
一种nand flash文件数据存取方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113495681A CN113495681A CN202010263561.6A CN202010263561A CN113495681A CN 113495681 A CN113495681 A CN 113495681A CN 202010263561 A CN202010263561 A CN 202010263561A CN 113495681 A CN113495681 A CN 113495681A
- Authority
- CN
- China
- Prior art keywords
- storage space
- nand flash
- designated
- flash file
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000007726 management method Methods 0.000 claims description 97
- 238000013500 data storage Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 101001114057 Homo sapiens P antigen family member 1 Proteins 0.000 description 1
- 101001114056 Homo sapiens P antigen family member 2 Proteins 0.000 description 1
- 102100023219 P antigen family member 1 Human genes 0.000 description 1
- 102100023220 P antigen family member 2 Human genes 0.000 description 1
- MKIMSXGUTQTKJU-UHFFFAOYSA-N Propamocarb hydrochloride Chemical compound [Cl-].CCCOC(=O)NCCC[NH+](C)C MKIMSXGUTQTKJU-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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
- 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提供了一种NAND FLASH文件数据存取方法、装置及存储介质,该方法包括:将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间;将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。本发明能够简化指定NAND FLASH文件数据的读取过程、减少读取时间,提高读取效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种NAND FLASH文件数据存取方法、装置及存储介质。
背景技术
NAND FLASH是一种掉电保存的存储器,内部以块(BLOCK)为擦写单元,每个BLOCK包含64页(PAGE),页号从0到63,其中每一PAGE的存储空间长度是2KB,是最小的读写单元。
智能入户设备通常使用NAND FLASH存储设备参数信息,如不同光照条件下的图像参数文件、设备的编解码固件文件等,并在开机启动时根据当前环境信息(如当前环境的光照数值)读取对应的参数文件。
目前,智能入户设备通过挂载FLASH文件系统来进行NAND FLASH数据文件的读取。现有FLASH文件系统中,文件数据分为管理数据和有效数据,文件的管理数据根据文件的有效数据占用的BLOCK数分为一份或多份,并分别存放在存储文件的有效数据的每个BLOCK的PAGE0中。现有FLASH文件系统中,文件的管理数据占用空间大,在进行文件的有效数据读取时,需要读取多个BLOCK的PAGE0以查找文件的管理数据,并根据文件的管理数据读取文件的有效数据,读取过程复杂,耗时长、效率低,无法满足用户对智能入户设备的快速开机启动需求。
发明内容
有鉴于此,本发明的目的在于提供了一种NAND FLASH文件数据存取方法、装置及存储介质,能够简化指定NAND FLASH文件数据的读取过程、减少读取时间,提高读取效率。
为了达到上述目的,本发明提供了如下技术方案:
一种NAND FLASH文件数据存取方法,包括:
为指定NAND FLASH文件分配指定存储空间,并将指定存储空间划分为第一存储空间和第二存储空间;
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
一种NAND FLASH文件数据存取装置,包括:处理器、以及与所述处理器通过总线相连的非瞬时计算机可读存储介质;
所述非瞬时计算机可读存储介质,存储有可被所述处理器执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现以下步骤:
为指定NAND FLASH文件分配指定存储空间,并将指定存储空间划分为第一存储空间和第二存储空间;
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如上述NAND FLASH文件数据存取方法中的步骤。
由上面的技术方案可知,本发明中,将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间,将指定NAND FLASH文件的管理数据和有效数据分别存放在第一存储空间和第二存储空间,根据第一存储空间中各指定NAND FLASH文件的管理数据从第二存储空间中读取该指定NAND FLASH文件的有效数据。这种将指定NAND FLASH文件的管理数据和有效数据分别存储的方式,能够简化指定NAND FLASH文件数据的读取过程、减少读取时间,提高读取效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一NAND FLASH文件数据存取方法流程图;
图2是本发明实施例二NAND FLASH文件数据存取方法流程图;
图3是本发明实施例指定存储空间划分示意图;
图4是本发明实施例三NAND FLASH文件数据存取方法流程图;
图5是本发明实施例提供的指定NAND FLASH文件存储示例图;
图6是本发明实施例四NAND FLASH文件数据存取方法流程图;
图7是本发明实施例NAND FLASH文件数据存取装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本发明实施例一NAND FLASH文件数据存取方法流程图,如图1所示,该方法包括以下步骤:
步骤101、将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间。
本实施例中,将一些需要进行快速读取的NAND FLASH文件称为指定NAND FLASH文件,可以预先为这些指定NAND FLASH文件分配一个指定存储空间,用于存储这些指定NANDFLASH文件的管理数据和有效数据。
步骤102、将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NANDFLASH文件的有效数据存储在第二存储空间。
本实施例中,指定NAND FLASH文件的管理数据中,包括用于指示指定NAND FLASH文件的存储位置相关的信息。
步骤103、根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
根据图1所示实施例可以看出,本实施例通过将指定NAND FLASH文件的管理数据和有效数据分别存储在第一存储空间和第二存储空间,使得在进行指定NAND FLASH文件的读取时只需要在第一存储空间执行一次文件的管理数据读取,之后就可以根据文件的管理数据去第二存储空间读取文件的有效数据,相比于现有一个BLOCK中同时存储管理数据和有效数据导致文件读取过程需要多次文件的管理数据和有效数据的读取而言,读取过程简单,因此可以有效减少读取时间,提高读取效率。
参见图2,图2是本发明实施例二NAND FLASH文件数据存取方法流程图,如图2所示,该方法包括以下步骤:
步骤2011、确定指定NAND FLASH文件的管理数据占用的存储空间总长度。
本实施例中,各指定NAND FLASH文件的管理数据的长度是已知的。所述指定NANDFLASH文件的管理数据占用的存储空间总长度,即所有指定NAND FLASH文件的管理数据的长度之和。例如,假设各指定NAND FLASH文件的管理数据的长度相同,均是20byte,则如果一共有100个指定NAND FLASH文件,则指定NAND FLASH文件的管理数据占用的存储空间总长度是2000byte。
步骤2012、根据所述存储空间总长度确定指定NAND FLASH文件的管理数据占用的页数M。
这里,M是正整数。
根据所述存储空间总长度确定指定NAND FLASH文件的管理数据占用的页数M,可采用以下公式其中,表示向上取整,L1是所述存储空间总长度,L是一个PAGE的存储空间长度(现有技术中,一PAGE的存储空间长度是2048byte)。以L1=2000byte为例,
步骤2013、在为指定NAND FLASH文件分配的指定存储空间中选取至少M页连续存储空间,将该连续存储空间作为第一存储空间并将指定存储空间的剩余存储空间作为第二存储空间。
本实施例中,在为指定NAND FLASH文件分配的指定存储空间中选取至少M页连续存储空间的具体方法可以为:在指定存储空间的起始端选取至少M页连续存储空间;或者,在指定存储空间的结束端反向选取至少M页连续存储空间。
例如图3所示,假设指定存储空间是BLOCKX至BLOCKX+99共100个BLOCK,且M=2,则可以选取BLOCKX的前两个PAGE:PAGE0和PAGE1作为第一存储空间,相应地,BLOCKX中的PAGE2至PAGE63、以及BLOCKX+1至BLOCKX+99作为第二存储空间。另外,实际实现中也可以选取BLOCK99的最后两个PAGE:PAGE62和PAGE63作为第一存储空间,相应地,BLOCKX至BLOCKX+98、以及BLOCKX+99中的PAGE0至PAGE61作为第二存储空间。
另外,在实际应用中,也可以选取指定存储空间中间的至少M页连续存储空间,将该连续存储空间作为第一存储空间并将指定存储空间的剩余存储空间作为第二存储空间。
以上步骤2011至步骤2013是图1所示步骤101的具体细化。
步骤202、将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NANDFLASH文件的有效数据存储在第二存储空间;
步骤203、根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
以上步骤202和步骤203与图1所示步骤101和102的实现原理相同,不再赘述。
根据图2所示实施例可知,本实施例与图1所示实施例相比,除了具有图1所示实施例的优点外,还通过计算指定NAND FLASH文件的管理数据占用的存储空间总长度,据此确定NAND FLASH文件的管理数据所需占用的页数M,从而采用在指定存储空间中选取不小于M页连续存储空间作为第一存储空间,保证第一存储空间能够存储所有指定NAND FLASH文件的管理数据。
参见图4,图4是本发明实施例三NAND FLASH文件数据存取方法流程图,如图4所示,该方法包括以下步骤:
步骤401、将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间。
步骤4021、为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据。
本实施例中,所述管理数据包括文件名称、起始位置、文件长度等信息。
本实施例中,所述为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据,具体包括以下步骤:
S11、确定该指定NAND FLASH文件的有效数据所需占用的页数N,从第二存储空间中选取尚未分配的N页连续存储空间,将该连续存储空间确定为该指定NAND FLASH文件的有效数据存储空间。
S12、将该指定NAND FLASH文件的管理数据的文件名称、起始位置和文件长度分别设置为该指定NAND FLASH文件的文件名称、该指定NAND FLASH文件的有效数据存储空间的起始位置、该指定NAND FLASH文件的有效数据长度。
上述步骤S11中,确定该指定NAND FLASH文件的有效数据所需占用的页数N,可采用以下公式其中,L2是该指定NAND FLASH文件的有效数据长度,L是一个PAGE的存储空间长度(现有技术中,一PAGE的存储空间长度是2048byte)。以L2=4098byte为例,
在确定该指定NAND FLASH文件的有效数据所需占用的页数N之后,可以从第二存储空间中选取尚未分配的N页连续存储空间,将该连续存储空间确定为该指定NAND FLASH文件的有效数据存储空间。例如假设指定存储空间为BLOCKX至BLOCKX+99,且已经选取BLOCKX的前两个PAGE:PAGE0和PAGE1作为第一存储空间,BLOCKX中的PAGE2至PAGE63、以及BLOCKX+1至BLOCKX+99作为第二存储空间,则如果第二存储空间尚未为任何文件分配有效数据存储空间,则可以将BLOCKX中的PAGE2至PAGE4这一连续存储空间分配给该指定NAND FLASH文件作为其有效数据存储空间,具体参见图5所示的File1。
步骤4022、将每一指定NAND FLASH文件的管理数据存储在第一存储空间,并将该指定NAND FLASH文件的有效数据存储到为该指定NAND FLASH文件分配的有效数据存储空间。
本实施例中,各指定NAND FLASH文件的管理数据在第一存储空间中的存储位置可以是随机的,与可以按照某种预先设定的顺序,例如按照文件名称的字母顺序排序后依次存放到第一存储空间中,本发明对此不做限定。
以上步骤4021至步骤4022是图1所示步骤102的具体细化。
步骤403、根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
以上步骤401、步骤403分别与图1所示步骤101、步骤103的实现原理相同,不再赘述。
根据图4所示实施例可知,本实施例与图1所示实施例相比,除了具有图1所示实施例的优点外,还通过先给指定NAND FLASH文件分配有效数据存储空间,从而使得指定NANDFLASH文件的管理数据中的起始位置和指定NAND FLASH文件的有效数据的存放位置随之确定,进而可以实现后续对指定NAND FLASH文件的管理数据和有效数据的有序存放。
参见图6,图6是本发明实施例四NAND FLASH文件数据存取方法流程图,如图6所示,该方法包括以下步骤:
步骤601、将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间。
步骤602、将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NANDFLASH文件的有效数据存储在第二存储空间。
以上步骤601至步骤602与图1所示步骤101至步骤102的实现原理相同,不再赘述。
步骤6031、接收针对任一指定NAND FLASH文件的文件读取请求。
本实施例中,文件读取请求中携带待读取文件的文件名称。
步骤6032、读取第一存储空间中的管理数据,在读取的管理数据中查找文件名称与所述文件读取请求携带的文件名称相同的管理数据,将找到的管理数据确定为该指定NAND FLASH文件的管理数据。
本实施例中,可以将第一存储空间中的管理数据全部读取出来,然后在读取的管理数据中查找待读取文件的文件名称,找到后相应管理数据即为待读取文件的管理数据。
步骤6033、根据该指定NAND FLASH文件的管理数据中的起始位置和文件长度确定该指定NAND FLASH文件的结束位置。
本实施例中,所述管理数据中的起始位置包括起始块(BLOCK)和起始页(PAGE)。所述结束位置包括结束块(BLOCK)和结束页(PAGE)。
根据该指定NAND FLASH文件的管理数据中的起始位置和文件长度确定该指定NAND FLASH文件的结束位置,具体采用以下方式:
S21、根据该指定NAND FLASH文件的管理数据中的文件长度(即该指定NAND FLASH文件的有效数据长度)确定该指定NAND FLASH文件的有效数据占用的PAGE数量。
S22、根据该PAGE数量以及该指定NAND FLASH文件的管理数据中的起始位置确定该指定NAND FLASH文件的结束位置。
例如,假设该指定NAND FLASH文件的管理数据中的文件长度是2000,则可确定其占用PAGE数量是2。假设该指定NAND FLASH文件的起始位置为:BLOCKX(起始BLOCK)、PAGE63(起始PAGE),则根据该指定NAND FLASH文件的有效数据占用的PAGE数量2和该指定NANDFLASH文件的起始位置可确定该NAND FLASH文件的结束位置为BLOCKX+1(结束BLOCK)、PAGE1(结束PAGE)。
步骤6034、对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取。
这里,该指定NAND FLASH文件的有效数据的起始位置,即该指定NAND FLASH文件的管理数据中包括的起始位置。
本实施例中,对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取,具体包括:
S31、当该起始位置的起始块与所述结束位置的结束块相同时,对该起始位置的起始块中从该起始位置的起始页到所述结束位置的结束页的数据进行连续多页读取;
S33、当该起始位置的起始块与所述结束位置的结束块不同时,先对该起始位置的起始块中从该起始位置的起始页到该起始位置的起始块的尾页的数据进行连续多页读取,再依次对从该起始位置的起始块的下一块到所述结束位置的结束块的前一块的数据进行逐块读取,最后对所述结束位置的结束块中从所述结束位置的结束块的首页到所述结束位置的结束页的数据进行连续多页读取。
上述步骤S31中,该起始位置的起始块与所述结束位置的结束块相同,表明该指定NAND FLASH文件的起始页和结束页在同一BLOCK上,直接对从起始页到结束页的数据进行一次读取(连续多页读取)即可。
上述步骤S32中,该起始位置的起始块与所述结束位置的结束块不同,表明该指定NAND FLASH文件的起始页和结束页不在同一BLOCK上,该指定NAND FLASH文件的有效数据是跨BLOCK存放的,这种情况下,需要分多次读取数据,首先是对第一BLOCK上的有效数据的读取,其次是跨越的若干BLOCK上有效数据的读取,最后是最后一个BLOCK上的有效数据的读取,例如该指定NAND FLASH文件的有效数据存放情况如下:BLOCKX中的PAGE63、BLOCKX+1中的PAGE0-PAGE63、以及BLOCKX+2中的PAGE0,则会分三次读取完NAND FLASH文件的有效数据:1)先读取BLOCKX中的PAGE63,2)再整块读取BLOCKX+1,3)最后读取BLOCKX+2中的PAGE0。
以上步骤6031至步骤6034是图1所示步骤103的具体细化。
根据图6所示实施例可知,本实施例与图1所示实施例相比,除了具有图1所示实施例的优点外,还根据指定NAND FLASH文件的管理数据中的起始位置和文件长度确定该指定NAND FLASH文件的结束位置,从而快速定位到该指定NAND FLASH文件的有效数据存放位置并对有效数据进行逐块读取,可以进一步提高NAND FLASH文件的读取速度和读取效率。
以上对本发明实施例NAND FLASH文件数据存取方法进行了详细说明,本发明实施例还提供了一种NAND FLASH文件数据存取装置,以下结合图7进行详细说明。
参见图7,图7是本发明实施例NAND FLASH文件数据存取装置的结构示意图,如图7所示,该装置包括:处理器701、以及与所述处理器701通过总线相连的非瞬时计算机可读存储介质702;
所述非瞬时计算机可读存储介质702,存储有可被所述处理器701执行的一个或多个计算机程序;所述处理器701执行所述一个或多个计算机程序时实现以下步骤:
将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间;
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
图7所示装置中,
所述处理器701,将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间,包括:
确定指定NAND FLASH文件的管理数据占用的存储空间总长度;
根据所述存储空间总长度确定指定NAND FLASH文件的管理数据占用的页数M;
在指定存储空间中选取至少M页连续存储空间,将该连续存储空间作为第一存储空间并将指定存储空间的剩余存储空间作为第二存储空间。
图7所示装置中,
所述处理器701,在指定存储空间中选取至少M页连续存储空间时,用于:
在指定存储空间的起始端选取至少M页连续存储空间;或者,在指定存储空间的结束端反向选取至少M页连续存储空间。
图7所示装置中,
所述处理器701,将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间,包括:
为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据;
将每一指定NAND FLASH文件的管理数据存储在第一存储空间,并将该指定NANDFLASH文件的有效数据存储到为该指定NAND FLASH文件分配的有效数据存储空间。
图7所示装置中,
所述管理数据包括文件名称、起始位置、文件长度;
所述处理器701,为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据,包括:
确定该指定NAND FLASH文件的有效数据所需占用的页数N,从第二存储空间中选取尚未分配的N页连续存储空间,将该连续存储空间确定为该指定NAND FLASH文件的有效数据存储空间;
将该指定NAND FLASH文件的管理数据的文件名称、起始位置和文件长度分别设置为该指定NAND FLASH文件的文件名称、该指定NAND FLASH文件的有效数据存储空间的起始位置、该指定NAND FLASH文件的有效数据长度。
图7所示装置中,
所述处理器701,根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据,包括:
接收针对任一指定NAND FLASH文件的文件读取请求;
读取第一存储空间中的管理数据,在读取的管理数据中查找文件名称与所述文件读取请求携带的文件名称相同的管理数据,将找到的管理数据确定为该指定NAND FLASH文件的管理数据;
根据该指定NAND FLASH文件的管理数据中的起始位置和文件长度确定该指定NAND FLASH文件的结束位置;
对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取。
图7所示装置中,
所述起始位置包括起始块和起始页;
所述结束位置包括结束块和结束页;
所述处理器701,对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取,包括:
当该起始位置的起始块与所述结束位置的结束块相同时,对该起始位置的起始块中从该起始位置的起始页到所述结束位置的结束页的数据进行连续多页读取;
当该起始位置的起始块与所述结束位置的结束块不同时,先对该起始位置的起始块中从该起始位置的起始页到该起始位置的起始块的尾页的数据进行连续多页读取,再依次对从该起始位置的起始块的下一块到所述结束位置的结束块的前一块的数据进行逐块读取,最后对所述结束位置的结束块中从所述结束位置的结束块的首页到所述结束位置的结束页的数据进行连续多页读取。
本发明实施例还提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上述图1、图2、图4、或图6所示的NAND FLASH文件数据存取方法中的步骤。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种NAND FLASH文件数据存取方法,其特征在于,该方法包括:
将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间;
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
2.根据权利要求1所述的方法,其特征在于,
将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间,包括:
确定指定NAND FLASH文件的管理数据占用的存储空间总长度;
根据所述存储空间总长度确定指定NAND FLASH文件的管理数据占用的页数M;
在指定存储空间中选取至少M页连续存储空间,将该连续存储空间作为第一存储空间并将指定存储空间的剩余存储空间作为第二存储空间。
3.根据权利要求2所述的方法,其特征在于,
在指定存储空间中选取至少M页连续存储空间的方法为:
在指定存储空间的起始端选取至少M页连续存储空间;或者,在指定存储空间的结束端反向选取至少M页连续存储空间。
4.根据权利要求1所述的方法,其特征在于,
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间,包括:
为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据;
将每一指定NAND FLASH文件的管理数据存储在第一存储空间,并将该指定NAND FLASH文件的有效数据存储到为该指定NAND FLASH文件分配的有效数据存储空间。
5.根据权利要求4所述的方法,其特征在于,
所述管理数据包括文件名称、起始位置、文件长度;
为每一指定NAND FLASH文件在第二存储空间中分配有效数据存储空间,基于该有效数据存储空间生成该指定NAND FLASH文件的管理数据,包括:
确定该指定NAND FLASH文件的有效数据所需占用的页数N,从第二存储空间中选取尚未分配的N页连续存储空间,将该连续存储空间确定为该指定NAND FLASH文件的有效数据存储空间;
将该指定NAND FLASH文件的管理数据的文件名称、起始位置和文件长度分别设置为该指定NAND FLASH文件的文件名称、该指定NAND FLASH文件的有效数据存储空间的起始位置、该指定NAND FLASH文件的有效数据长度。
6.根据权利要求5所述的方法,其特征在于,
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据,包括:
接收针对任一指定NAND FLASH文件的文件读取请求;
读取第一存储空间中的管理数据,在读取的管理数据中查找文件名称与所述文件读取请求携带的文件名称相同的管理数据,将找到的管理数据确定为该指定NAND FLASH文件的管理数据;
根据该指定NAND FLASH文件的管理数据中的起始位置和文件长度确定该指定NANDFLASH文件的结束位置;
对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取。
7.根据权利要求6所述的方法,其特征在于;
所述起始位置包括起始块和起始页;
所述结束位置包括结束块和结束页;
对第二存储空间中从该指定NAND FLASH文件的有效数据的起始位置到所述结束位置之间的数据进行读取,包括:
当该起始位置的起始块与所述结束位置的结束块相同时,对该起始位置的起始块中从该起始位置的起始页到所述结束位置的结束页的数据进行连续多页读取;
当该起始位置的起始块与所述结束位置的结束块不同时,先对该起始位置的起始块中从该起始位置的起始页到该起始位置的起始块的尾页的数据进行连续多页读取,再依次对从该起始位置的起始块的下一块到所述结束位置的结束块的前一块的数据进行逐块读取,最后对所述结束位置的结束块中从所述结束位置的结束块的首页到所述结束位置的结束页的数据进行连续多页读取。
8.一种NAND FLASH文件数据存取装置,其特征在于,该装置包括:处理器、以及与所述处理器通过总线相连的非瞬时计算机可读存储介质;
所述非瞬时计算机可读存储介质,存储有可被所述处理器执行的一个或多个计算机程序;所述处理器执行所述一个或多个计算机程序时实现以下步骤:
将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间;
将指定NAND FLASH文件的管理数据存储在第一存储空间,并将指定NAND FLASH文件的有效数据存储在第二存储空间;
根据存储在第一存储空间的指定NAND FLASH文件的管理数据读取存储在第二存储空间的指定NAND FLASH文件的有效数据。
9.根据权利要求8所述的装置,其特征在于,
所述处理器,将为指定NAND FLASH文件分配的指定存储空间划分为第一存储空间和第二存储空间,包括:
确定指定NAND FLASH文件的管理数据占用的存储空间总长度;
根据所述存储空间总长度确定指定NAND FLASH文件的管理数据占用的页数M;
在指定存储空间中选取至少M页连续存储空间,将该连续存储空间作为第一存储空间并将指定存储空间的剩余存储空间作为第二存储空间。
10.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至7中任一权项所述的NAND FLASH文件数据存取方法中的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263561.6A CN113495681A (zh) | 2020-04-07 | 2020-04-07 | 一种nand flash文件数据存取方法、装置及存储介质 |
PCT/CN2021/082457 WO2021203964A1 (zh) | 2020-04-07 | 2021-03-23 | 一种nand flash文件数据存取方法、装置及存储介质 |
US17/995,459 US20230168830A1 (en) | 2020-04-07 | 2021-03-23 | Method and apparatus for data access of nand flash file, and storage medium |
EP21785191.4A EP4134802A4 (en) | 2020-04-07 | 2021-03-23 | METHOD AND DEVICE FOR DATA ACCESS TO NAND FLASH FILES AND STORAGE MEDIA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010263561.6A CN113495681A (zh) | 2020-04-07 | 2020-04-07 | 一种nand flash文件数据存取方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113495681A true CN113495681A (zh) | 2021-10-12 |
Family
ID=77995200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010263561.6A Pending CN113495681A (zh) | 2020-04-07 | 2020-04-07 | 一种nand flash文件数据存取方法、装置及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230168830A1 (zh) |
EP (1) | EP4134802A4 (zh) |
CN (1) | CN113495681A (zh) |
WO (1) | WO2021203964A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296637A (zh) * | 2021-12-09 | 2022-04-08 | 广西东信数建信息科技有限公司 | 一种本地存储卷动态创建方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382876A (zh) * | 2008-10-07 | 2009-03-11 | 北京创毅视讯科技有限公司 | 一种数据存储方法 |
CN102279805A (zh) * | 2011-09-06 | 2011-12-14 | 四川九洲电器集团有限责任公司 | 一种存储器数据存放及读取方法 |
US20130080481A1 (en) * | 2011-09-27 | 2013-03-28 | Sybase, Inc. | Extreme large space allocation |
CN105468642A (zh) * | 2014-09-09 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | 数据的存储方法及装置 |
CN108089821A (zh) * | 2017-12-20 | 2018-05-29 | 福建星海通信科技有限公司 | 一种微控制器数据存储管理的方法 |
CN109189772A (zh) * | 2018-08-21 | 2019-01-11 | 华清瑞达(天津)科技有限公司 | 用于无文件系统存储介质的文件管理方法及系统 |
CN110147203A (zh) * | 2019-05-16 | 2019-08-20 | 北京金山云网络技术有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1576593B1 (en) * | 2002-12-24 | 2015-10-21 | LG Electronics Inc. | Dual journaling store method and storage medium thereof |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
US20070143567A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
US20070143560A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with memory allocation for a directly mapped file storage system |
US20070143378A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
US20070143561A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system |
US8296337B2 (en) * | 2006-12-06 | 2012-10-23 | Fusion-Io, Inc. | Apparatus, system, and method for managing data from a requesting device with an empty data token directive |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
KR101515525B1 (ko) * | 2008-10-02 | 2015-04-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
WO2010103760A1 (ja) * | 2009-03-13 | 2010-09-16 | パナソニック株式会社 | アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
JP2014179066A (ja) * | 2013-02-14 | 2014-09-25 | Panasonic Corp | ストレージ制御装置、ストレージシステム、およびストレージ制御方法 |
US9009565B1 (en) * | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
CN105335095B (zh) * | 2014-08-11 | 2019-04-05 | 北京兆易创新科技股份有限公司 | 闪存文件系统的处理方法及装置 |
KR101758331B1 (ko) * | 2015-12-22 | 2017-07-31 | 성균관대학교산학협력단 | 비휘발성 메모리 기반의 파일 기록 장치 및 그 방법 |
JP6523193B2 (ja) * | 2016-03-08 | 2019-05-29 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
CN106293532A (zh) * | 2016-08-10 | 2017-01-04 | 广东佳禾声学科技有限公司 | 一种Flash数据储存方法 |
TWI679534B (zh) * | 2017-09-18 | 2019-12-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及資料儲存方法 |
CN109918234B (zh) * | 2019-03-06 | 2020-07-07 | 苏州浪潮智能科技有限公司 | 一种基于ssd的元数据恢复方法、装置、设备及介质 |
-
2020
- 2020-04-07 CN CN202010263561.6A patent/CN113495681A/zh active Pending
-
2021
- 2021-03-23 EP EP21785191.4A patent/EP4134802A4/en active Pending
- 2021-03-23 US US17/995,459 patent/US20230168830A1/en active Pending
- 2021-03-23 WO PCT/CN2021/082457 patent/WO2021203964A1/zh unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382876A (zh) * | 2008-10-07 | 2009-03-11 | 北京创毅视讯科技有限公司 | 一种数据存储方法 |
CN102279805A (zh) * | 2011-09-06 | 2011-12-14 | 四川九洲电器集团有限责任公司 | 一种存储器数据存放及读取方法 |
US20130080481A1 (en) * | 2011-09-27 | 2013-03-28 | Sybase, Inc. | Extreme large space allocation |
CN105468642A (zh) * | 2014-09-09 | 2016-04-06 | 杭州海康威视数字技术股份有限公司 | 数据的存储方法及装置 |
CN108089821A (zh) * | 2017-12-20 | 2018-05-29 | 福建星海通信科技有限公司 | 一种微控制器数据存储管理的方法 |
CN109189772A (zh) * | 2018-08-21 | 2019-01-11 | 华清瑞达(天津)科技有限公司 | 用于无文件系统存储介质的文件管理方法及系统 |
CN110147203A (zh) * | 2019-05-16 | 2019-08-20 | 北京金山云网络技术有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296637A (zh) * | 2021-12-09 | 2022-04-08 | 广西东信数建信息科技有限公司 | 一种本地存储卷动态创建方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
EP4134802A1 (en) | 2023-02-15 |
US20230168830A1 (en) | 2023-06-01 |
EP4134802A4 (en) | 2023-08-30 |
WO2021203964A1 (zh) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN110149803B (zh) | 数据存储方法、系统及终端设备 | |
CN107168647B (zh) | Flash数据读写方法及系统 | |
US20170364300A1 (en) | Controller, flash memory apparatus, method for identifying data block stability, and method for storing data in flash memory apparatus | |
US8275968B2 (en) | Managing unallocated storage space using extents and bitmaps | |
US20190220443A1 (en) | Method, apparatus, and computer program product for indexing a file | |
CN107209716B (zh) | 内存管理装置和方法 | |
CN107391030B (zh) | 数据存储方法、装置、计算机可读存储介质以及计算机设备 | |
KR101400506B1 (ko) | 비휘발성 메모리 제어기 및 그 제어 방법 | |
CN113495681A (zh) | 一种nand flash文件数据存取方法、装置及存储介质 | |
CN114816240A (zh) | 一种数据写入方法及一种数据读取方法 | |
CN111190835B (zh) | 一种数据写入方法、装置、设备及介质 | |
CN112965661A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN116301614A (zh) | 存储器数据存取方法、系统、设备和存储介质 | |
CN110781101A (zh) | 一种一对多映射关系的存储方法、装置、电子设备及介质 | |
CN112035380B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN115641887A (zh) | 闪存管理方法及闪存设备 | |
CN109189345B (zh) | 一种在线数据整理方法、装置、设备及存储介质 | |
CN109471813A (zh) | 一种数据插入方法及相关装置 | |
CN115237819A (zh) | 一种数据存储、数据读取方法及装置 | |
CN108345551B (zh) | 一种存储数据的方法及装置 | |
CN115657950B (zh) | 一种基于多信道的数据读写处理方法、装置及相关设备 | |
CN110147429B (zh) | 文本比较方法、装置、计算机设备和存储介质 | |
CN111104403B (zh) | 一种lsm树数据处理方法、系统、设备及计算机介质 | |
CN115964002B (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 |