CN110837478A - 文件管理方法、存储介质和电子设备 - Google Patents
文件管理方法、存储介质和电子设备 Download PDFInfo
- Publication number
- CN110837478A CN110837478A CN201911077433.6A CN201911077433A CN110837478A CN 110837478 A CN110837478 A CN 110837478A CN 201911077433 A CN201911077433 A CN 201911077433A CN 110837478 A CN110837478 A CN 110837478A
- Authority
- CN
- China
- Prior art keywords
- file
- mapping relation
- file system
- address
- operating
- 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
Images
Classifications
-
- 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
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种文件管理方法、存储介质和电子设备。通过支持多个操作系统第一文件系统接口获取第一映射关系和第二映射关系,根据操作指令和第一映射关系确定文件的物理地址,根据物理地址和第二映射关系确定第二逻辑地址,通过具有负载均衡和坏区管理功能的第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作。由此,可以实现对Nand闪存进行管理,并支持多个操作系统,具备负载均衡和坏区管理功能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种文件管理方法、存储介质和电子设备。
背景技术
Nand闪存是存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand闪存具有容量较大、改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
目前基于Nand闪存的文件系统有很多,比较常用的是Yaffs(Yet Another FlashFile System)文件系统。Yaffs文件系统是一个专为Nand闪存设计的文件系统,具有运行速度快、易于移植等特点,同时具备负载均衡和坏区管理功能。
但是,Yaffs文件系统仅可以应用于linux操作系统等少量的操作系统,不能应用于大多数的windows系统。
发明内容
有鉴于此,本发明实施例的目的在于提供一种文件管理方法、存储介质和电子设备可以支持多个操作系统,并具备负载均衡和坏区管理功能。
第一方面,本发明实施例的提供了一种文件管理方法,用于管理Nand闪存,所述方法包括:
通过第一文件系统接口获取文件信息,所述文件信息包括第一映射关系,所述第一映射关系为第一逻辑地址与物理地址的对应关系;
获取操作指令;
根据所述操作指令和所述第一映射关系确定文件的物理地址;
通过第二文件系统接口获取第二映射关系,所述第二映射关系为第二逻辑地址与物理地址的对应关系;
根据所述物理地址和所述第二映射关系确定第二逻辑地址;以及
通过第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作;
其中,所述第一文件系统支持多个操作系统,所述第二文件系统具有负载均衡和坏区管理功能。
优选地,所述第一文件系统为FAT16文件系统或FAT32文件系统,所述第一逻辑地址为逻辑簇地址;
所述第二文件系统为Yaffs文件系统,所述第二逻辑地址为逻辑块地址。
优选地,所述方法还包括:
检测所述第一映射关系和所述第二映射关系的一致性;以及
响应于所述第一映射关系和所述第二映射关系不一致,根据所述第二映射关系对所述第一映射关系进行更新。
优选地,所述方法还包括:
根据更新后的第二映射关系对所述第一映射关系进行更新。
优选地,所述Nand闪存包括保留扇区、至少一个文件分配表区和数据区。
优选地,其特征在于,所述第一映射关系存储在所述文件分配表区。
优选地,通过第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作为对文件进行读取、写入或删除。
第二方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面所述的方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面所述的方法。
本发明实施例的技术方案通过支持多个操作系统第一文件系统接口获取第一映射关系和第二映射关系,根据操作指令和第一映射关系确定文件的物理地址,根据物理地址和第二映射关系确定第二逻辑地址,通过具有负载均衡和坏区管理功能的第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作。由此,可以实现对Nand闪存进行管理,并支持多个操作系统,具备负载均衡和坏区管理功能。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的文件管理方法的流程图;
图2本发明实施例的文件系统的结构示意图;
图3是本发明实施例电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个申请文件中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
本发明实施例通过将能够支持多操作系统的FAT文件系统与具备负载均衡和坏区管理功能的Yaffs文件系统结合形成新的文件系统,使得形成的文件系统既可以支持多操作系统,又具备负载均衡和坏区管理功能。
图1是本发明实施例的文件管理方法的流程图。如图1所示,本发明实施例的文件管理方法包括如下步骤:
步骤S100、通过第一文件系统接口获取文件信息。
在本实施例中,所述文件信息包括第一映射关系,所述第一映射关系为第一逻辑地址与文件的物理地址的对应关系。其中,逻辑地址是指由程序产生的与段相关的偏移地址部分。物理地址是指加载到内存地址寄存器中的地址,内存单元的真正地址。
在本实施例中,所述物理地址为扇区地址。
在本实施例中,所述第一文件系统为FAT32文件系统或FAT16文件系统,所述第一逻辑地址为逻辑簇地址。
FAT(File allocation Table,文件分配表)文件系统是一种通用文件系统,包括FAT12文件系统、FAT16文件系统和FAT32文件系统,区别在于FAT表用来记录任意一簇链接的二进制位数分别为12、16和32。
FAT32文件系统将磁盘空间按照一定数目的扇区为单位进行划分,这样的单位称之为“簇”。一个“簇”由一连串的扇区组成,通常情况下,每个扇区为512字节,但是并不是固定的值。该值可以由程序定义,合法值包括512,1024,2048和4096等。簇所含的扇区数必须是2的整数次幂,例如1,2,4,8,16,32,64和128等。
进一步地,图2本发明实施例的文件系统的结构示意图。如图2所示,本发明实施例的文件系统可以分为四个不同的部分,包括保留扇区、至少一个文件分配表区和数据区。本实施例以包括两个文件分配表区FAT1和FAT2为例进行说明。
在本实施例中,保留扇区包括DBR(Dos Boot Record,引导记录)及其它保留扇区。其中,DBR为Dos引导记录,也称为操作系统引导记录。在DBR之后往往会有一些其它保留扇区,而其它保留扇区是可选的,当没有时候,DBR后紧跟的就是FAT1。DBR是操作系统可以直接访问的第一个扇区,包括引导程序和BPB(Bios Parameter Block,分区参数记录表)。其中,DBR中的引导程序用于当MBR将系统控制权交给DBR时,判断本分区跟目录前两个文件是不是操作系统的引导文件。如果确定存在,则将引导文件读入内存,并把控制权交给该引导文件。BPB记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等参数。由于,MBR是由分区程序所产生的,它不依赖任何操作系统,而且引导程序也是可以改变的,从而实现多系统共存。本发明实施例文件系统可以支持多个操作系统,例如Windows 98、Windows Me、Windows 2000以及Windows XP等。
在本实施例中,在本实施例中,所述第一映射关系以文件分配表的形式存储,用于记录文件所分配的簇逻辑地址和物理地址的对应关系。文件系统包括两个文件分配表,FAT1和FAT2。其中,FAT1是第一个文件分配表,也是主文件分配表。FAT2是第二个文件分配表,也是FAT1的备份。具体地,文件分配表(FAT1和FAT2)是用来描述文件或文件夹,文件和文件夹内容储存在簇中,如果一个文件或文件夹需要多于一个簇的空间,则用文件分配表来描述。FAT结构用于指出文件的下一个簇,同时也说明了簇的分配状态。FAT12、FAT16、FAT32这三种文件系统之间的主要区别在与FAT项的大小不同。由此,可以根据文件分配表获取第一映射关系,所述第一映射关系为第一逻辑地址与物理地址的对应关系,所述第一逻辑地址为逻辑簇地址。
在本实施例中,数据区包括目录项以及其它数据。文件系统的每一个文件和文件夹都被分配到一个目录项,目录项中记录着文件名、大小、文件内容起始地址以及其他一些元数据。在本发明实施例文件系统中,目录项可以位于数据区,也可以是单独的分区。
具体地,通过FAT文件系统获取文件信息包括如下步骤:
步骤S110、获取DBR的扇区号。
在本实施例中,Nand闪存在启动时,由BIOS(Basic Input Output System,基本输入输出系统)读取MBR(Main Boot Record,主引导记录),并将控制权交给MBR,MBR扫描分区表,以获取DBR的扇区号,并将控制权交给DBR。
步骤S120、通过DBR获取文件信息。
在本实施例中,DBR是操作系统可以直接访问的第一个扇区,记录了第一映射关系以及一些其它参数。
由此,可以通过第一文件系统接口获取文件信息,进而获取第一映射关系。
步骤S200、获取操作指令。
在本实施例中,通过第一文件系统接口获取操作指令。
步骤S300、根据所述操作指令和所述第一映射关系确定文件物理地址。
具体地,通过FAT文件系统实现确定物理地址的方法为:根据DBR中BPB记录的信息,得知DBR保留扇区数,FAT的大小,FAT的个数。根据上述信息可以算出数据的起始位置,数据区=分区起始扇区+DBR保留扇区+(FAT表*2)。计算根目录所在的绝对位置,根目录=数据区的起始扇区+(簇大小*2)。根据目录项信息得知,根目录下的文件以及子目录等所对应的簇。根据文件的簇号就可以找到文件内容的绝对扇区。如果一个文件占用多个簇,则需要根据FAT表项得知下一个数据簇的簇号。如果根目录下的目录项是子目录的话,则根据子目录中的文件目录项得知文件内容的簇号。如果子目录中还有子目录的话,则根据这种方法一直找下去即可。
由此,可以通过操作指令在文件分配表中获取需要操作文件的簇号,进而根据簇号获取文件的物理地址。
步骤S400、通过第二文件系统接口获取第二映射关系。
在本实施例中,所述第二映射关系为第二逻辑地址与物理地址的对应关系。
在本实施例中,所述第二文件系统为Yaffs文件系统,所述第二逻辑地址为逻辑块地址。
Yaffs文件系统是专门针对Nand闪存设计的文件系统,包括Yaffs1文件系统和Yaffs2文件系统,Yaffs2文件系统能够更好的支持大容量的Nand闪存。本发明实施例以Yaffs2文件系统为了进行说明。
在本实施例中,所述第二映射关系以树结构的方式存储,记录了每个块地址与物理地址对应关系。根据所述文件物理地址和所述第二映射关系确定第二逻辑地址。
Yaffs文件系统对所有内容(比如正常文件,目录,链接,设备文件等)都统一当作文件来处理,每个文件都有一个页面专门存放文件头,文件头保存了文件的模式。因为需要在一页内放下这些内容,所以对文件名的长度,符号链接对象的路径名等长度都有限制。
具体地,Yaffs文件系统获取超级块,超级块中保存了全局文件,如硬盘已用空间、数据块可用空间、索引结点的个数和部分可以及时使用的索引结点列表、文件系统名称、文件系统的大小和状态、块设备的引用和元数据信息、最近一次的更新时间与文件系统的状态等。
进一步地,每个文件都被赋予一个唯一的数值,这个数值称做索引节点。索引节点存储在一个称作索引节点表中,该表在磁盘格式化时被分配。每个实际的磁盘或分区都有其自己的索引节点表。一个索引节点包含文件的所有信息,包括物理地址和文件类型。文件类型包括如普通文件、目录和特殊文件这样的信息。由此,可以通过第二文件系统接口获取第二映射关系。
步骤S500、根据所述物理地址和所述第二映射关系确定第二逻辑地址。
步骤S600、通过第二文件系统接口根据所述操作指令和所述文件信息对文件进行操作。
Yaffs文件系统的基本擦除单位是block(块),基本写入单位是page(页)。
在本实施例中,通过Yaffs文件系统接口根据所述操作指令和所述文件信息对文件进行操作,所述操作包括对文件进行读取、写入或删除。
具体地,上述操作可以看作存储空间分配和释放。
对于存储空间的分配,Yaffs文件系统在分配空间时是以page为单位的。首先获取处于正在分配状态的block,一般情况下,系统中只会有一个block处于该状态。检查存储器上是否有足够的可用空间,通过检查后,从当前供分配的block上选择下一个page,当一个block内的所有page全部分配完毕时,下次分配时就会重新挑选空闲的block。系统在分配chunk的时候是从block的开头到结尾按序分配的,直到一个block内的所有chunk全部分配完毕为止。
对于存储空间的释放,和空间分配不同的是,page的释放在大多数情况下并不释放对应的物理介质,这是因为Nand闪存虽然可以按page写,但只能按block擦除,所以物理介质的释放要留到垃圾收集或一个block上的所有page全部变成空闲的时候才进行。根据应用场合的不同,page的释放方式并不唯一。第一种用于文件内容的更新,即修改文件,确定要删除的block的序号,要判断一下该block上是否存在着可释放的page。block不能为空,不能是坏块。通过判断以后,递减统计值。递减统计值以后还要判断该block上的page是否已全部释放,如果已全部释放,并且不是当前分配块,就删除该block,只要能通过删除操作(不是坏块),该block就又可以用于分配了。第二种用于文件的删除,Yaffs文件系统在删除文件的时候只是删除该文件在内存中的一些描述结构,而被删除的文件所占用的page不会立即释放,也就是不会删除文件内容,在后续的文件系统操作中一般也不会把这些chunk分配出去,直到系统进行垃圾收集的时候才有选择地释放这些page。
由此,可以实现对文件进行操作并对第二映射关系进行更新,同时空间分配机制可以实现负载均衡。
具体地,Yaffs文件系统的获取物理地址,在更新文件数据的时候,会分配一块新的page(页),也就是说,同样的文件偏移地址,在该地址上的数据更新前和更新后,其对应的存储器上的存储地址是不一样的。由于基本存储单位是page,因此,将page描述的文件偏移量作为表索引,将page序号作为表内容,将这张大的映射表拆分成若干个等长的小表,并将这些小表组织成树结构。
树结构中包括多个节点,当节点为非叶节点时,数组中的每个元素都指向下一层子节点。当节点为叶子节点时,该数组拆分为16个16位长的短整数,该短整数就是文件内容在存储器上的存储位置(即page序号)。树中的每个节点,都是一组索引。对于映射树的节点的分配,调用分配函数分配节点,然后将得到的节点初始化为零,将当前所有空闲节点组成一个链表。分配得到所需的内存后,就将这些空闲空间组成索引链表。每组索引的第一个元素作为指针指向下一组索引。完成链表构造后,还要递增统计量,创建了若干组新的索引以后,从中切下所需的索引,并修改空闲链表表头指针,由此完成空间的分配。
具体地,将page为单位的文件内偏移称作逻辑块地址,文件内容在存储器上的实际存储位置称作物理地址。将索引设置为指定的值,并指向一组索引。假设:已知文件偏移地址,要找到存储器上对应的存储地址,获取文件描述结构,该结构保存着文件大小、映射树层高、映射树顶层节点指针等信息。
假设大小为128K的文件,存储器的page大小为2K,那么需要64个page来存储该文件。一组索引是8个指针,或者16个16位整数,所以需要64/16=4组索引来存储物理page序号。这4组索引就是映射树的叶节点。由于这4组索引在内存中不一定连续,所以需要另外一组索引,将其作为指针数组使用,这个指针数组的前4个元素分别指向4组节点。随着文件长度的增大,所需的叶节点越多,非叶节点也越多,树也就越长越高。作为非叶节点使用的索引每组有8个指针,需要3位二进制码对其进行索引,因此树每长高一层,逻辑块地址就多出3位。相反,每3位非零逻辑块地址就代表一层非叶节点。如果树高超过了文件结构中保存的树高,那就说明该逻辑块地址已经超出文件长度了。通过文件长度检查,检查函数参数chunk是否超过文件长度。之后就可以找到逻辑块地址对应的物理地址。
进一步地,对于在yaffs文件系统中的对象,不管是文件还是目录或者是链接,在内存都用一个结构体来描述。在后文中提到“文件”或“文件对象”,若不加特别说明,都指广义的“文件”,既可以是文件,也可以是目录。
在删除文件时,首先要将文件从原目录移至一个特殊的系统目录,以此拒绝应用程序对该文件的访问,然后判断该文件长度是否为0,如果为0,该文件就可以直接删除。如果不为0,表明该文件数据所占据的page还没有释放,要留待后继处理。
每个文件在存储器上都有一个文件头,存储着该文件的大小、所有者、创建修改时间等信息。每一个文件系统对象都被赋予一个唯一的编号,作为对象标识,也用于将该对象挂入一个散列表,加快对象的搜索速度,这个编号既可以在创建对象的时候由上层函数指定,也可以由系统分配。散列表有多个表项,每次搜索指定数量的表项,从中选取挂接链表长度最短的那一项,再根据表索引试图计算出一个和该索引上挂接对象编号。获取到对象编号和空闲对象后,再根据对象类型的不同作不同的处理。如果该对象是目录,初始化子对象(就是该目录下的文件或子目录)双向链表指针,前后指针都指向链表头自身。首先检查在父目录中是否已存在同名文件,然后创建新对象。将新对象挂入父对象的子对象链表。接下来根据对象类型作不同处理,对于最常用的文件对象和目录对象不做任何处理。如果是hardlink(硬链接),就将新对象挂入原对象的hardLink链表。Yaffs文件系统在内存中是以链表的形式处理hardlink的。在将hardlink存储到存储器上后,将两者关联起来。Hardlink本身占用一个page存储对象头。最后,将新对象头写入存储器。
进一步地,Yaffs文件系统还具备垃圾收集机制。
具体包括两个方面:一是对不再使用的page作物理上的删除。由上述可知,page释放过程中,Yaffs文件系统在删除page的时候仅仅是修改内存中的统计量,而真正的删除工作要留到垃圾收集的时候做。二是处理坏块,在对存储器进行写操作的时候,通过使用一个block上的若干page之后才发现这是一个坏块,此时该块上已经有部分有用数据了,在垃圾收集的时候要对这种情况进行处理。首先,根据坏块标记判定给定的块是否可以回收,如果可以回收,确定该块中是否还有有效page。如果包括有效page,则将正在使用的page移到空闲的块。如果没有,则将该块擦除。通过垃圾收集机制可以实现坏块处理。
步骤S700、根据更新后的第二映射关系对所述第一映射关系进行更新。
在本实施例中,通过第二文件系统在进行文件操作时,会对第一映射关系进行更新,在操作完成后,根据更新后的第二映射关系对所述第一映射关系进行更新。
进一步地,为了保证第一映射关系与第二映射关系的一致性,在步骤S100之后,本发明实施例的方法还包括:
步骤S800、检测所述第一映射关系和所述第二映射关系的一致性。
在本实施例中,通过第一文件系统接口获取文件信息后,通过第二文件系统接口的扫描机制检测所述第一映射关系和所述第二映射关系的一致性。
具体地,每个第一逻辑地址和每个第二逻辑地址都有对应的关系,首先通过第二映射关系获取物理地址与第二逻辑地址的对应关系,通过第一映射关系获取物理地址与第一逻辑地址的对应关系,根据第一逻辑地址和第二逻辑地址的对应的关系检测所述第一映射关系和所述第二映射关系的一致性。
步骤S900、响应于所述第一映射关系和所述第二映射关系不一致,根据所述第二映射关系对所述第一映射关系进行更新。
由此,可以使得每次启动后都可以保证第一映射关系和第二映射关系的一致性。
本发明实施例通过支持多个操作系统第一文件系统接口获取第一映射关系和第二映射关系,根据操作指令和第一映射关系确定文件的物理地址,根据物理地址和第二映射关系确定第二逻辑地址,通过具有负载均衡和坏区管理功能的第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作。由此,可以实现对Nand闪存进行管理,并支持多个操作系统,具备负载均衡和坏区管理功能。
图3是本发明实施例电子设备的示意图。图3所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器31和存储器32。处理器31和存储器32通过总线33连接。存储器32适于存储处理器31可执行的指令或程序。处理器31可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器31通过执行存储器32所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线33将上述多个组件连接在一起,同时将上述组件连接到显示控制器34和显示装置以及输入/输出(I/O)装置35。输入/输出(I/O)装置35可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置35通过输入/输出(I/O)控制器36与系统相连。
本领域的技术人员应明白,本发明的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本发明是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种文件管理方法,用于管理Nand闪存,其特征在于,所述方法包括:
通过第一文件系统接口获取文件信息,所述文件信息包括第一映射关系,所述第一映射关系为第一逻辑地址与物理地址的对应关系;
获取操作指令;
根据所述操作指令和所述第一映射关系确定文件的物理地址;
通过第二文件系统接口获取第二映射关系,所述第二映射关系为第二逻辑地址与物理地址的对应关系;
根据所述物理地址和所述第二映射关系确定第二逻辑地址;以及
通过第二文件系统接口根据所述操作指令和所述第二逻辑地址对文件进行操作;
其中,所述第一文件系统支持多个操作系统,所述第二文件系统具有负载均衡和坏区管理功能。
2.根据权利要求1所述的方法,其特征在于,所述第一文件系统为FAT16文件系统或FAT32文件系统,所述第一逻辑地址为逻辑簇地址;
所述第二文件系统为Yaffs文件系统,所述第二逻辑地址为逻辑块地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述第一映射关系和所述第二映射关系的一致性;以及
响应于所述第一映射关系和所述第二映射关系不一致,根据所述第二映射关系对所述第一映射关系进行更新。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据更新后的第二映射关系对所述第一映射关系进行更新。
5.根据权利要求1所述的方法,其特征在于,所述Nand闪存包括保留扇区、至少一个文件分配表区和数据区。
6.根据权利要求5所述的方法,其特征在于,所述第一映射关系存储在所述文件分配表区。
7.根据权利要求1所述的方法,其特征在于,通过第二文件系统接口根据所述操作指令和所述第二逻辑对文件进行操作为对文件进行读取、写入或删除。
8.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911077433.6A CN110837478A (zh) | 2019-11-06 | 2019-11-06 | 文件管理方法、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911077433.6A CN110837478A (zh) | 2019-11-06 | 2019-11-06 | 文件管理方法、存储介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110837478A true CN110837478A (zh) | 2020-02-25 |
Family
ID=69576195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911077433.6A Pending CN110837478A (zh) | 2019-11-06 | 2019-11-06 | 文件管理方法、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837478A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800005A (zh) * | 2021-01-22 | 2021-05-14 | 中孚安全技术有限公司 | 一种文件系统深度检查方法、系统、终端及存储介质 |
CN113821458A (zh) * | 2021-09-18 | 2021-12-21 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101430700A (zh) * | 2007-10-16 | 2009-05-13 | 巴比禄股份有限公司 | 文件系统管理装置和存储装置 |
US20110153697A1 (en) * | 2005-09-15 | 2011-06-23 | Computer Assoicates Think, Inc. | Automated Filer Technique for Use in Virtualized Appliances and Applications |
CN102224489A (zh) * | 2008-11-24 | 2011-10-19 | 汤姆森特许公司 | 包括快闪转换层的快闪存储器及其中存储文件的方法 |
CN102341803A (zh) * | 2009-03-05 | 2012-02-01 | 桑迪士克以色列有限公司 | 响应于触发事件而优化所存储内容的传送的系统 |
-
2019
- 2019-11-06 CN CN201911077433.6A patent/CN110837478A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153697A1 (en) * | 2005-09-15 | 2011-06-23 | Computer Assoicates Think, Inc. | Automated Filer Technique for Use in Virtualized Appliances and Applications |
CN101430700A (zh) * | 2007-10-16 | 2009-05-13 | 巴比禄股份有限公司 | 文件系统管理装置和存储装置 |
CN102224489A (zh) * | 2008-11-24 | 2011-10-19 | 汤姆森特许公司 | 包括快闪转换层的快闪存储器及其中存储文件的方法 |
CN102341803A (zh) * | 2009-03-05 | 2012-02-01 | 桑迪士克以色列有限公司 | 响应于触发事件而优化所存储内容的传送的系统 |
Non-Patent Citations (1)
Title |
---|
冯宪光等: "《计算机系统组装与维护教程》", 30 November 2016 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800005A (zh) * | 2021-01-22 | 2021-05-14 | 中孚安全技术有限公司 | 一种文件系统深度检查方法、系统、终端及存储介质 |
CN113821458A (zh) * | 2021-09-18 | 2021-12-21 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
CN113821458B (zh) * | 2021-09-18 | 2023-09-05 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110678836B (zh) | 用于键值存储的持久性存储器 | |
CN108804510B (zh) | 键值文件系统 | |
JP4685038B2 (ja) | 隠蔽領域管理装置および方法 | |
US8904137B1 (en) | Deduplication system space recycling through inode manipulation | |
US8612488B1 (en) | Efficient method for relocating shared memory | |
US7934064B1 (en) | System and method for consolidation of backups | |
EP2176795B1 (en) | Hierarchical storage management for a file system providing snapshots | |
US8315995B1 (en) | Hybrid storage system | |
US9342528B2 (en) | Method and apparatus for tiered storage | |
JP6430499B2 (ja) | Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス | |
KR20090046567A (ko) | 반도체 디스크 및 그것의 동작 방법 | |
US11841826B2 (en) | Embedded reference counts for file clones | |
US20150254013A1 (en) | Method for storing metadata of log-structured file system for flash memory | |
JP2015521310A (ja) | 効率的なデータオブジェクトストレージ及び検索 | |
CN101882132A (zh) | 虚拟fat文件系统的创建及读取方法以及装置 | |
JP2004326800A (ja) | ファイルシステムのバージョンを管理する方法およびシステム | |
KR20200122994A (ko) | 키 값 첨부 | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
CN111143285A (zh) | 一种小文件存储文件系统以及小文件处理方法 | |
CN106709014B (zh) | 一种文件系统转换方法及装置 | |
CN110837478A (zh) | 文件管理方法、存储介质和电子设备 | |
CN115840731A (zh) | 文件处理方法、计算设备及计算机存储介质 | |
CN102253985A (zh) | 一种文件系统数据的管理方法及系统 | |
US20090112951A1 (en) | Apparatus and method of managing files and memory device | |
CN115480692A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200225 |
|
RJ01 | Rejection of invention patent application after publication |