CN113934371A - 一种存储器及其数据管理方法和计算机存储介质 - Google Patents
一种存储器及其数据管理方法和计算机存储介质 Download PDFInfo
- Publication number
- CN113934371A CN113934371A CN202111170503.XA CN202111170503A CN113934371A CN 113934371 A CN113934371 A CN 113934371A CN 202111170503 A CN202111170503 A CN 202111170503A CN 113934371 A CN113934371 A CN 113934371A
- Authority
- CN
- China
- Prior art keywords
- block
- file
- writing
- file information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013523 data management Methods 0.000 title claims abstract description 17
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011022 operating instruction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- 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/064—Management of blocks
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储器的数据管理方法、装置及存储介质,包括步骤:预设全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息;接收非易失存储器的操作指令;通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。本发明通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。在随机读取文件时,可以根据读取的文件位置,换算出读取文件所在的块和页,然后读取对应的数据。
Description
技术领域
本发明涉及存储器技术领域,特别是涉及一种存储器、存储器的数据管理方法及存储介质。
背景技术
Nand flash存储器是现在市场上主要的非易失闪存技术之一。1989年东芝公司发明了Nand flash内存结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。Nand flash存储器的结构能提高极高的单元密度,可以达到高存储密度,可以做到Gbit级别,并且写入和擦除的速度也很快,同时具有成本上的优势。
但Nand flash存储器只能进行块(即Block)擦除,按页(即)读写,每个块有坏块风险。如果需要支持随机读写更新数据,即读-修改-写方式更新数据,那么读时需要缓存整个块,在MCU等低内存的环境下不能适用。在现有技术中使用非易失存储器(NAND flash存储器)存储数据常见有两种方式,一种是直接访问,即直接读写Nand flash存储器,用户自己管理读写的数据;另一种是使用文件管理系统进行访问,例如使用FatFS读写Nand flash存储器。
然而上述一种方式中,用户需要自己管理读写的数据,需要做好坏块管理,且在执行复杂文件操作(增删改查)时,这种方式操作繁琐,容易出错,使用不够便捷。
在上述第二种方式中,FatFs的功能强大,但是要求底层操作接口支持随机读写能力。由于Nand flash存储器只支持块擦除,页读写,同时Nand flash存储器的块都很大,可达到128K,远超MCU等几十K的内存环境,因此现有的Nand flash存储器无法支持随机读写,或者说无法支持读-修改-写的操作方式。
发明内容
为此,需要提供一种存储器的数据管理方法,用于解决现有Nand flash存储器的块的容量较大,无法支持随机读写的技术问题。
为实现上述目的,发明人提供了一种存储器的数据管理方法,包括步骤:
预设全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页;所述块索引表用于记录文件信息使用的块索引号;所述文件信息分配表用于记录文件信息使用的块索引号,所述块分配表用于记录各所述块是否被使用;
接收Nand flash存储器的操作指令;
通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
进一步的,所述操作指令包括打开文件指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,包括步骤:
根据文件信息分配表判断所述打开文件指令所要打开的是否是新建文件;
若是,则在所述文件信息分配表中查找空闲的文件信息区并标记为使用中,以及返回所述新建文件的文件描述符;
若否,则根据所述打开文件指令查找所述文件信息分配表,以及返回查找到的文件描述符。
进一步的,所述操作指令包括文件写入指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
在所述块索引表中查找所述文件写入指令所要写入的位置是否是新的所述块;
若是,则在所述块分配表中随机查找空闲的所述块,擦除所述块并写入信息,在所述块分配表中将所述块的索引标记为使用,在块索引表中标记所述文件使用的块索引号;
若否,则将所述文件写入至所述写入所述位置对应的块中。
进一步的,所述“将所述文件写入至所述写入所述位置对应的块中”包括步骤:
检查所述位置是否已经写入过信息,若是,则不写入信息并报错;若否,则在所述位置写入信息。
进一步的,所述操作指令包括随机读指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
根据所述随机读指令所要读的位置计算出对应的所述块和所述页;
在所述块索引表中查找所述块的索引号;
根据所述块的索引号在所述数据区读取对应的所述块所对应的所述页。
进一步的,所述操作指令包括删除指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
在所述块索引表中查收所述删除指令所对应的块的索引号;
根据所述块的索引号将所述块分配表中对应的块标记为空闲;
将所述删除指令所对应的文件信息分配表中的文件信息区标记为空闲。
进一步的,在执行所述删除指令时,暂不删除所述数据区中所述删除指令所对应的块所存储的信息;所述对应的块所存储的信息由下一次信息写入至此块时再擦除并写入新信息。
进一步的,所述块的容量大于或等于64KB。
为解决上述技术问题,本发明还提供了另一技术方案:
一种存储器,包括:全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页;所述块索引表用于记录文件信息使用的块索引号;所述文件信息分配表用于记录文件信息是否被使用,所述块分配表用于记录各所述块是否被使用;
所述数据读写装置用于接收Nand flash存储器的操作指令,以及通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
为解决上述技术问题,本发明还提供了另一技术方案:
一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上任一项技术方案所述的存储器的数据管理方法。
现有技术中,对NandFlash操作需要支持随机写入,即读-修改-写操作,在内存容量较大的环境可支持上述随机写入的方案,但在小内存环境中是无法支持的。区别于现有技术方案,本发明中的技术方案为在Nand flash存储器写入信息时,写入接口进行限制,通过序列化写入,否则会报错。用户调用接口时,也按照接口要求序列化写入。这样可以保证整个块只需要擦除一次。
区别于现有技术,上述技术方案预设全局信息区、文件信息区和数据区;所述数据区用于存储信息,所述数据区包括多个块,块包括多个页,所述文件信息区包括块索引表,所述全局信息区包括文件信息分配表和块分配表;通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。在随机读取文件时,可以根据读取的文件位置,换算出读取文件所在的块和页,然后读取对应的数据。
附图说明
图1为具体实施方式所述存储器的数据管理方法的流程图;
图2为具体实施方式所述全局信息区、文件信息区和数据区的示意图;
图3为具体实施方式所述打开文件指令的流程图;
图4为具体实施方式所述打开文件指令的示意图;
图5为具体实施方式所述文件写入指令的流程图;
图6为具体实施方式所述文件写入指令的示意图;
图7为具体实施方式所述随机读指令的流程图;
图8为具体实施方式所述随机读指令的示意图;
图9为具体实施方式所述删除指令的流程图;
图10为具体实施方式所述删除指令的示意图;
图11为具体实施方式所述Nand flash存储器的数据读写装置的示意图;
图12为具体实施方式所述计算机存储介质的示意图;
附图标记说明:
10、全局信息区;
20、文件信息区;
30、数据区;
101、文件信息分配表;
102、块分配表;
110、Nand flash存储器的数据读写装置;
120、计算机存储介质;
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1至图10,本实施方式提供了一种Nand flash存储器的数据读写方法。该非易失存储器(NAND-Flash存储器)的数据读写方法结合了NAND-Flash存储器特点和产品应用特点,预设了全局信息区、文件信息区和数据区,通过预设全局信息区、文件信息区和数据区可实现Nand flash存储器支持序列化写入和随机读取。
如图1所示,Nand flash存储器的数据读写方法包括步骤:
S101、预设全局信息区10、文件信息区20和数据区30;
S102、接收Nand flash存储器的操作指令;
S103、通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。其中,序列化写入按文件内容顺序写入,例如:先写0-9字节,然后10-19字节,再20-29……,依此顺序写入,在写入的过程中不乱序写入,例如,不能在已经写到20-29字节时,突然改写10-19字节,这样会修改原来写过的内容。
其中,如图2所示:在步骤S101中,将Nand-flash存储器划分为全局信息区10、文件信息区20和数据区30,这三个部分,所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页,所述块的容量较大,在一些情况下所述块的容量大于或等于64KB。全局信息区10、文件信息区20和数据区30之间设置有对应关系。全局信息区10也可叫作超级信息区(英文为super-area),全局信息区10包括:文件信息分配表101和块分配表102;
所述文件信息分配表101(英文为inode-table)用于记录文件信息是否被使用。
块分配表102(英文为block-table),块分配表用于记录各所述块是否被使用。
文件信息区20(英文为block-inode)包括块索引表,所述块索引表用于记录文件信息使用的块索引号。
例如,数据区30中第3个块被使用,那么在块分配表102中记录块3就被标记为已使用,在块索引表中记录块3的编号(例如编号为3),在块索引表中这里块3的编号就是其索引号。
在步骤S102中,接收Nand flash存储器的操作指令,操作指令包括以下中的任意一种或多种:打开文件指令、文件写入指令、随机读指令、删除指令。在步骤S103中,通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
本发明存储器的数据管理方法可支持文件系统的open,read,write,close,seek,eof等操作接口,实现支持序列化写入和随机读取。由于现有的Nand-Flash存储器的每个块的容量都较大,无法支持随机读写,而本实施方式中,通过预设文件信息分配表、所述块分配表和所述块索引表进行Nand-Flash存储器的读写等操作,可减少Nand-Flash存储器的缺点的影响,从而实现高效灵活的文件存储管理。
如图3和图4所示,在一实施方式中,所述操作指令包括打开文件指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,包括步骤:
S301、接收打开文件指令;
S302、判断所述打开文件指令所要打开的是否是新建文件;
S303、若是,则在所述文件信息分配表中查找空闲的文件信息区(每个文件信息区对应一个编号)并标记为使用中,以及返回所述新建文件的文件描述符;
S304、若否,则根据所述打开文件指令查找所述文件信息分配表,以及返回查找到的文件描述符。
在该打开文件指令实施方式中,由于预设了全局信息区10和文件信息区20,以及全局信息区10和文件信息区20之间具有对应关系,因此可直接根据所述文件信息分配表中的编号打开文件,简化文件打开流程。用户可以自己管理文件名和文件信息区对应的编号之间的对应关系。在一些实施方式中,如果用户存储文件不需要文件名,则可直接使用文件信息分配表中的编号打开对应的文件,打开过程十分简单方便。
如图5和图6所示,在一实施方式中,所述操作指令包括文件写入指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
S501、接收文件写入指令;
S502、在所述块索引表中查找所述文件写入指令所要写入的位置是否是新的所述块;
S503、若是,则在所述块分配表中随机查找空闲的所述块,擦除所述块并写入信息,在所述块分配表中将所述块的索引标记为使用,在块索引表中标记所述文件使用的块索引号;
若否,则将所述文件写入至所述写入所述位置对应的块中。
如图5所示,在步骤S502中若文件写入指令所要写入的位置不是新的所述块,则所述“将所述文件写入至所述写入所述位置对应的块中”包括步骤:
S504、检查所述位置是否已经写入过信息;
S505、若否,则在所述位置写入信息;
S506、若是,则不写入信息并报错。
在图6中,虚线表示查找空闲的块,实线表示写入块和正常写入文件;
由图6可见,在文件写入时,如果写入的位置没有对应块,在块分配表中随机查找空闲的块,并擦除块,且标记为使用,在块索引表中标记使用块索引。
需要说明的是,在该实施方式步骤S503中是随机查找空闲的所述块,这样可以平衡整个Nand flash存储器各块的擦写寿命,避免出现单独某个块频繁参数而出现坏块。并且在步骤S504中还检查写入位置是否已被写过,如果有则说明错误,因此不再写入。在该实施方式中文件写入通过写入接口执行,写入接口只支持顺序写入,避免复杂的读-修改-写等随机写入操作,同时满足大多数应用需求。
如图7和图8所示,在一实施方式中,所述操作指令包括随机读指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
S701、接收随机读指令;
S702、根据所述随机读指令所要读的位置计算出对应的所述块和所述页;
S703、在所述块索引表中查找所述块的索引号;
S704、根据所述块的索引号在所述数据区读取对应的所述块所对应的所述页。
在步骤S702中,根据所述随机读指令所要读的位置计算出对应的所述块和所述页,其中,所述块和所述页可根据所要读的位置以及所述块的大小和所述页的大小进行计算得到。
若,写入位置为b,块的大小为bsize,页大小为psize;
则,块位置:block_pos=b/bsize;
块内页位置:page_pos=(b%bsize)/psize;
页内字节位置:bye_pos=b%psize。
例如,当块的大小为128K,每个块包含64个页,每个页的大小为2K,所需要读写位置为第318K字节位置。
此时,块位置:318K/128K=2;
块内页位置:(318K%128K)/2K=31;
页内字节位置:(318K%2K)=0;
因此,通过计算获得块位置后,通过文件信息中的块索引表就可以查找到块索引。
在随机读取文件时,可以根据读取的文件位置,换算出读取文件所在的块和以及块中具体的页,然后读取对应的数据,实现随机读取,从而大大提高了文件读取效率。
如图9和图10所示,在一实施方式中,所述操作指令包括删除指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
S901、接收删除指令;
S902、在所述块索引表中查收所述删除指令所对应的块的索引号;
S903、根据所述块的索引号将所述块分配表中对应的块标记为空闲;
S904、将所述删除指令所对应的文件信息分配表中的文件信息区标记为空闲。
在一实施方式中,在执行所述删除指令时,只需要修改块分配表中的状态,标记为未使用,及将文件信息分配表中的文件信息区标记为空闲,暂不删除所述数据区中所述删除指令所对应的块所存储的信息;所述对应的块所存储的信息由下一次信息写入至此块时再擦除并写入新信息,从而使操作过程快速,且可减少块擦除和写入的次数,提升Nandflash存储器的使用寿命。
如图11所示,在一实施方式中提供了一种存储器110,包括:全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页;所述块索引表用于记录文件信息使用的块索引号;所述文件信息分配表用于记录文件信息是否被使用,所述块分配表用于记录各所述块是否被使用;
所述数据读写装置用于接收Nand flash存储器的操作指令,以及通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
上述Nand flash存储器的数据读写装置110结合了NAND-Flash存储器特点和产品应用特点,通过预设文件信息分配表、所述块分配表和所述块索引表进行Nand-Flash存储器的读写等操作,可减少Nand-Flash存储器的缺点的影响,实现Nand flash存储器支持序列化写入和随机读取,从而实现高效灵活的文件存储管理。
如图12所示,在一实施方式中提供了一种计算机存储介质120,其上存储有计算机程序,所述程序被处理器执行时实现如以上任意一顶实施方式所述的存储器的数据管理方法。
该计算机存储介质120结合了NAND-Flash存储器特点和产品应用特点,通过预设文件信息分配表、所述块分配表和所述块索引表进行Nand-Flash存储器的读写等操作,可减少Nand-Flash存储器的缺点的影响,实现Nand flash存储器支持序列化写入和随机读取,从而实现高效灵活的文件存储管理。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (10)
1.一种存储器的数据管理方法,其特征在于,包括步骤:
预设全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页;所述块索引表用于记录文件信息使用的块索引号;所述文件信息分配表用于记录文件信息是否被使用,所述块分配表用于记录各所述块是否被使用;
接收Nand flash存储器的操作指令;
通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
2.根据权利要求1所述的存储器的数据管理方法,其特征在于,所述操作指令包括打开文件指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,包括步骤:
根据文件信息分配表判断所述打开文件指令所要打开的是否是新建文件;
若是,则在所述文件信息分配表中查找空闲的文件信息区并标记为使用中,以及返回所述新建文件的文件描述符;
若否,则根据所述打开文件指令查找所述文件信息分配表,以及返回查找到的文件描述符。
3.根据权利要求1或2所述的存储器的数据管理方法,其特征在于,所述操作指令包括文件写入指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
在所述块索引表中查找所述文件写入指令所要写入的位置是否是新的所述块;
若是,则在所述块分配表中随机查找空闲的所述块,擦除所述块并写入信息,在所述块分配表中将所述块的索引标记为使用,在块索引表中标记所述文件使用的块索引号;
若否,则将所述文件写入至所述写入所述位置对应的块中。
4.根据权利要求3所述的存储器的数据管理方法,其特征在于,所述“将所述文件写入至所述写入所述位置对应的块中”包括步骤:
检查所述位置是否已经写入过信息,若是,则不写入信息并报错;若否,则在所述位置写入信息。
5.根据权利要求1或2所述的存储器的数据管理方法,其特征在于,所述操作指令包括随机读指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
根据所述随机读指令所要读的位置计算出对应的所述块和所述页;
在所述块索引表中查找所述块的索引号;
根据所述块的索引号在所述数据区读取对应的所述块所对应的所述页。
6.根据权利要求1或2所述的存储器的数据管理方法,其特征在于,所述操作指令包括删除指令;
所述通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取,还包括步骤:
在所述块索引表中查收所述删除指令所对应的块的索引号;
根据所述块的索引号将所述块分配表中对应的块标记为空闲;
将所述删除指令所对应的文件信息分配表中的文件信息区标记为空闲。
7.根据权利要求6所述的存储器的数据管理方法,其特征在于,在执行所述删除指令时,暂不删除所述数据区中所述删除指令所对应的块所存储的信息;所述对应的块所存储的信息由下一次信息写入至此块时再擦除并写入新信息。
8.根据权利要求6所述的存储器的数据管理方法,其特征在于,所述块的容量大于或等于64KB。
9.一种存储器,其特征在于,包括:全局信息区、文件信息区和数据区;所述全局信息区包括文件信息分配表和块分配表;所述文件信息区包括块索引表;所述数据区用于存储信息,所述数据区包括多个块,每个块包含多个页;所述块索引表用于记录文件信息使用的块索引号;所述文件信息分配表用于记录文件信息是否被使用,所述块分配表用于记录各所述块是否被使用;
所述数据读写装置用于接收Nand flash存储器的操作指令,以及通过所述文件信息分配表、所述块分配表和所述块索引表对所述数据区内的所述块进行序列化写入和/或随机读取。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8任一项所述的存储器的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111170503.XA CN113934371B (zh) | 2021-10-08 | 2021-10-08 | 一种存储器及其数据管理方法和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111170503.XA CN113934371B (zh) | 2021-10-08 | 2021-10-08 | 一种存储器及其数据管理方法和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113934371A true CN113934371A (zh) | 2022-01-14 |
CN113934371B CN113934371B (zh) | 2024-04-12 |
Family
ID=79278146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111170503.XA Active CN113934371B (zh) | 2021-10-08 | 2021-10-08 | 一种存储器及其数据管理方法和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934371B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1362708A (zh) * | 2001-01-02 | 2002-08-07 | 吴秀林 | 一种闪存芯片的读写方法 |
CN1405683A (zh) * | 2001-09-18 | 2003-03-26 | 华为技术有限公司 | Flash存储文件管理方法 |
CN1542624A (zh) * | 2003-04-29 | 2004-11-03 | 大唐移动通信设备有限公司 | 一种在Flash文件系统中加快逻辑块映射速度的方法 |
US20070033374A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reprogrammable Non-Volatile Memory Systems With Indexing of Directly Stored Data Files |
US20100287327A1 (en) * | 2009-05-06 | 2010-11-11 | Via Telecom, Inc. | Computing systems and methods for managing flash memory device |
CN102867019A (zh) * | 2012-07-30 | 2013-01-09 | 利尔达科技有限公司 | 分离式文件系统及其管理方法 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN103646063A (zh) * | 2013-11-27 | 2014-03-19 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种星载高速文件管理系统 |
CN104376099A (zh) * | 2014-11-25 | 2015-02-25 | 贵州电力试验研究院 | 一种基于闪存的文件系统的实现方法和实现装置 |
CN107239526A (zh) * | 2017-05-27 | 2017-10-10 | 河南思维轨道交通技术研究院有限公司 | 文件系统实现方法、碎片整理方法、操作位置定位方法 |
US20180081797A1 (en) * | 2016-09-21 | 2018-03-22 | Institute of Geology and Geophysics, Chinese Academy of Sciences. | Wear-leveling nandflash memory reading/writing method |
CN108664482A (zh) * | 2017-03-27 | 2018-10-16 | 纳思达股份有限公司 | Flash存储器及存储文件管理方法 |
CN108664577A (zh) * | 2018-05-03 | 2018-10-16 | 中北大学 | 一种基于flash空闲区的文件管理方法及系统 |
CN111797058A (zh) * | 2020-07-02 | 2020-10-20 | 长沙景嘉微电子股份有限公司 | 一种通用文件系统及文件管理的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1277213C (zh) * | 2004-12-31 | 2006-09-27 | 大唐微电子技术有限公司 | 一种闪存文件系统管理方法 |
JP2008059228A (ja) * | 2006-08-31 | 2008-03-13 | Sharp Corp | ファイルシステム |
CN105630705B (zh) * | 2015-06-10 | 2019-09-17 | 上海磁宇信息科技有限公司 | 数据存储装置及使用块替换表的读写方法 |
CN108228479B (zh) * | 2018-01-29 | 2021-04-30 | 深圳市泰比特科技有限公司 | 一种嵌入式flash数据存储方法及系统 |
CN108710578B (zh) * | 2018-04-20 | 2022-07-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
-
2021
- 2021-10-08 CN CN202111170503.XA patent/CN113934371B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1362708A (zh) * | 2001-01-02 | 2002-08-07 | 吴秀林 | 一种闪存芯片的读写方法 |
CN1405683A (zh) * | 2001-09-18 | 2003-03-26 | 华为技术有限公司 | Flash存储文件管理方法 |
CN1542624A (zh) * | 2003-04-29 | 2004-11-03 | 大唐移动通信设备有限公司 | 一种在Flash文件系统中加快逻辑块映射速度的方法 |
US20070033374A1 (en) * | 2005-08-03 | 2007-02-08 | Sinclair Alan W | Reprogrammable Non-Volatile Memory Systems With Indexing of Directly Stored Data Files |
US20100287327A1 (en) * | 2009-05-06 | 2010-11-11 | Via Telecom, Inc. | Computing systems and methods for managing flash memory device |
CN102867019A (zh) * | 2012-07-30 | 2013-01-09 | 利尔达科技有限公司 | 分离式文件系统及其管理方法 |
CN103577121A (zh) * | 2013-11-05 | 2014-02-12 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于nand flash的高可靠线性文件存取方法 |
CN103646063A (zh) * | 2013-11-27 | 2014-03-19 | 中国航天科技集团公司第五研究院第五一三研究所 | 一种星载高速文件管理系统 |
CN104376099A (zh) * | 2014-11-25 | 2015-02-25 | 贵州电力试验研究院 | 一种基于闪存的文件系统的实现方法和实现装置 |
US20180081797A1 (en) * | 2016-09-21 | 2018-03-22 | Institute of Geology and Geophysics, Chinese Academy of Sciences. | Wear-leveling nandflash memory reading/writing method |
CN108664482A (zh) * | 2017-03-27 | 2018-10-16 | 纳思达股份有限公司 | Flash存储器及存储文件管理方法 |
CN107239526A (zh) * | 2017-05-27 | 2017-10-10 | 河南思维轨道交通技术研究院有限公司 | 文件系统实现方法、碎片整理方法、操作位置定位方法 |
CN108664577A (zh) * | 2018-05-03 | 2018-10-16 | 中北大学 | 一种基于flash空闲区的文件管理方法及系统 |
CN111797058A (zh) * | 2020-07-02 | 2020-10-20 | 长沙景嘉微电子股份有限公司 | 一种通用文件系统及文件管理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113934371B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101288054B (zh) | 闪存管理方法、系统、存储设备、以及闪存设备 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US20220197818A1 (en) | Method and apparatus for performing operations to namespaces of a flash memory device | |
US20060129749A1 (en) | Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device | |
US11126561B2 (en) | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
US10298649B2 (en) | Guaranteeing stream exclusivity in a multi-tenant environment | |
CN110674056B (zh) | 一种垃圾回收方法及装置 | |
US11269783B2 (en) | Operating method for data storage device | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
CN111007985B (zh) | 一种存储系统空间回收的兼容处理方法、系统及设备 | |
CN110312986B (zh) | 用于在固态设备上存储数据的流的机会性使用 | |
CN104133640B (zh) | 从休眠快速恢复 | |
US20230409235A1 (en) | File system improvements for zoned storage device operations | |
CN113934371B (zh) | 一种存储器及其数据管理方法和计算机存储介质 | |
US11429519B2 (en) | System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive | |
US11461225B2 (en) | Storage device, control method of storage device, and storage medium | |
CN114610228A (zh) | 文件管理系统及其文件管理方法、装置 | |
KR100479170B1 (ko) | 메모리 억세스 제어장치 및 방법 | |
TW202137013A (zh) | 記憶體控制器與資料處理方法 | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
US20210303212A1 (en) | Data processing method and memory controller utilizing the same | |
JP7435470B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
KR100688463B1 (ko) | 물리 메모리의 데이터 기록 및 삭제 방법 | |
CN117950590A (zh) | 一种优化ZenFS中的重置操作以延长ZNS-SSD使用寿命的方法 |
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 |