CN115346582A - nor闪存的操作方法、装置、设备及计算机可读存储介质 - Google Patents

nor闪存的操作方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115346582A
CN115346582A CN202211087852.XA CN202211087852A CN115346582A CN 115346582 A CN115346582 A CN 115346582A CN 202211087852 A CN202211087852 A CN 202211087852A CN 115346582 A CN115346582 A CN 115346582A
Authority
CN
China
Prior art keywords
sector
file
abnormal
sectors
flash memory
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
Application number
CN202211087852.XA
Other languages
English (en)
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.)
XIAMEN FOUR-FAITH COMMUNICATION TECHNOLOGY CO LTD
Original Assignee
XIAMEN FOUR-FAITH COMMUNICATION TECHNOLOGY 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 XIAMEN FOUR-FAITH COMMUNICATION TECHNOLOGY CO LTD filed Critical XIAMEN FOUR-FAITH COMMUNICATION TECHNOLOGY CO LTD
Priority to CN202211087852.XA priority Critical patent/CN115346582A/zh
Publication of CN115346582A publication Critical patent/CN115346582A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种nor闪存的操作方法、装置、设备及计算机可读存储介质,包括:在检测到上电动作时,对flash中的所有扇区进行遍历;在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;若是,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;若否,对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除,将写入标志正常的文件块转移到新扇区中,同时删除原扇区。解决了嵌入式设备会有突然断电的情况,导致文件系统的损坏的问题。

Description

nor闪存的操作方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及闪存技术领域,特别涉及一种nor闪存的操作方法、装置、设备及计算机可读存储介质。
背景技术
Nor闪存是一种简单易用的存储,无需复杂驱动便可以进行数据存储操作。但由于擦写次数较低(是NAND十分之一),扇区擦除时间较长(Nor需要100ms而NAND只要4ms),导致存储动态数据较为困难,然而,NAND一般大于64MB,驱动程序也比较复杂,价格较高。
在物联网终端或是在嵌入式应用中,一般用的比较多的是8MB以下的Nor闪存,Nor闪存驱动程序简单价格也比较低。在物联网终端或是在嵌入式应用中,常常需要存储大量传感器数据,并且还会进行增删改查操作,简单的写入数据到闪存就无法应对复杂的增删改查操作。同时还要考虑嵌入式设备会有突然断电的情况,导致文件系统的损坏。
有鉴于此,提出本申请。
发明内容
本发明公开了一种nor闪存的操作方法、装置、设备及计算机可读存储介质,旨在解决嵌入式设备会有突然断电的情况,导致文件系统的损坏的问题。
本发明第一实施例提供了一种nor闪存的操作方法,包括:
在检测到上电动作时,对flash中的所有扇区进行遍历;
在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
若是,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
若否,对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除。
优选地,所述对flash中的所有扇区进行遍历,具体为:
创建扇区映射表;
调用散列函数将读取到的数据进行运算,并将所述运算生成的希哈值和实际扇区映射保存到所述扇区映射表中。
优选地,所述根据扇区的扇区头判断扇区是否存在异常,具体为:
获取每一扇区的扇区头,确定具有相同扇区编号的扇区;
激活所述具有相同扇区编号的扇区的标志,并判断所述扇区的标志是否可用;
若是,定义为正常扇区;
若否,定义为异常扇区。
优选地,所述对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除之后,还包括:
生成擦除计数器值最大的空闲扇区与擦除计数器值最小的非空闲扇区的计数器差值,并判断所述计数器差值是否大于预设值;
若是,对擦除计数器值最小的非空闲扇进行碎片整理;
若否,获取非空闲扇区中回收系数最大的扇区进行碎片整理,其中,所述碎片整理包括将写入标志正常的文件块转移到新扇区中,同时删除原扇区。
优选地,还包括:
在检查到文件关闭动作时,根据所述文件的文件名生成最终扇区编号;
查询扇区映射表,在判断到所述最终扇区编号存在于所述扇区映射表内时,根据该扇区的文件索引从小到大写入缓存数据,并更新文件索引。
优选地,所述根据所述文件的文件名生成最终扇区编号,具体为:
调用散列函数对所述文件名进行运算,生成希哈值;
对所述希哈值进行取模运算,生成扇区编号;
根据所述文件的文件偏移量,确定文件块索引;
根据所述扇区编号以及所述文件块索引生成所述最终扇区编号。
优选地,还包括:
在检查到文件删除动作时,获取所述文件名确定文件所在的扇区;
遍历所述扇区,获取所述扇区内的最后一个文件块的文件索引,设置删除标志位,并更新所述扇区内的文件块索引。
本发明第二实施例提供了一种nor闪存的操作装置,包括:
遍历单元,用于在检测到上电动作时,对flash中的所有扇区进行遍历;
判断单元,用于在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
擦除单元,用于擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
文件块删除单元,用于对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除。
本发明第三实施例提供了一种nor闪存的操作设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种nor闪存的操作方法。
本发明第三实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上任意一项所述的一种nor闪存的操作方法。
基于本发明提供的一种nor闪存的操作方法、装置、设备及计算机可读存储介质,通过在在检测到上电动作时,对flash中的所有扇区进行遍历,根据每一扇区的扇区头分析出具有异常的扇区,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区,同时对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除,将写入标志正常的文件块转移到新扇区中,同时删除原扇区,解决了嵌入式设备会有突然断电的情况,导致文件系统的损坏的问题。
附图说明
图1是本发明第一实施例提供的一种nor闪存的操作方法的流程示意图;
图2是是本发明提供的文件块更新至新扇区的示意图;
图3是本发明第二实施例提供的一种nor闪存的操作装置的模块示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以下结合附图对本发明的具体实施例做详细说明。
本发明公开了一种nor闪存的操作方法、装置、设备及计算机可读存储介质,旨在解决嵌入式设备会有突然断电的情况,导致文件系统的损坏的问题。
请参阅图1,本发明第一实施例提供了一种nor闪存的操作方法,其可由nor闪存的操作设备(以下简称操作设备)来执行,特别的,由所述操作设备内的一个或者多个处理器来执行,以实现如下步骤:
S101,在检测到上电动作时,对flash中的所有扇区进行遍历;
在本实施例中,所述操作设备可以是嵌入式设备、或其他具有数据处理分析能力的终端,其中,所述操作设备内可安装有相应的操作系统以及应用软件,并通过操作系统以及应用软件的结合来实现本实施例所需的功能。
需要说明的是,发明人发现,在使用nor闪存的嵌入式设备,在断电后可能导致数据块不完整的情况。
具体地,在本实施例中,在检测到上电动作时,可以创建扇区映射表;
调用散列函数将读取到的数据进行运算,并将所述运算生成的希哈值和实际扇区映射保存到所述扇区映射表中。
需要说明的是,扇区映射表存储在内存中,用于快速定位数据所在的位置,其中,扇区映射表可以包括:
扇区编号:具有唯一性范围0-65535,可以通过散列函数计算得到
回收系数:表示扇区内有多少个数据块可以回收,用于实现磨损均衡
满数据标志:表示该扇区内全是有效数据
可用标志:表示扇区可以使用
相对擦除计数器:扇区的擦除计数器,用于实现磨损均衡。
需要说明的是,为了确保扇区头信息是有效的,在遍历的时候,判断到有未遍历的扇区,判断其是否需要进行格式化,每个扇区的第一个文件块存储扇区信息(扇区头),里面有一个扇区标识来表示使用格式化后的扇区,如果是格式化后的扇区就不用进行格式化。其中,扇区头可以包括:
扇区编号:具有唯一性范围0-65535,可以通过散列函数计算得到;
可用标志:表示扇区可以使用(掉电保护);
擦除计数器:记录扇区擦除次数;
空闲块掩码:8个字节64个位表示扇区内63个文件块的使用情况,某位为0表示对应的文件块已分配;
删除掩码:8个字节64个位表示扇区内63个文件块的使用情况,某位为0表示对应的文件块已删除;
首块掩码:表示这个文件块是否为文件数据第一个块,用于加速查找;
回归掩码:用于最大程度使用扇区中的所有块,提高存储寿命;
扇区标识:表示这个扇区是HTFS中的扇区;
在设备上电时,遍历所有存储器中的所有扇区头,从而生成扇区映射表。
S102,在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
具体地,在本实施例中,可以通过获取每一扇区的扇区头,确定具有相同扇区编号的扇区;
激活所述具有相同扇区编号的扇区的标志,并判断所述扇区的标志是否可用;
若是,定义为正常扇区;
若否,定义为异常扇区。
S103,若是,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
需要说明的是,在本实施例中,如果有扇区编号重复可以通过激活标志进行判断,没有激活的扇区进行擦除操作并设置为空闲扇区,这样避免扇区编号重复。
S104,若否,对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除(如图2所示)。
需要说明的是,写入标志用于表示当前的文件块是否被正常写入,如果写入标志没有设置表示文件块没有正常写入需要删除文件块,其中,文件块包括:
文件块索引:表示当前块是文件的第几个块;
可用标志:当前块是有效的(掉电保护);
文件校验:文件内容的CRC校验;
块内长度:文件块内的数据长度;
写入标志:表示当前块写入完成;
在本发明一个可能的实施例中,所述对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除之后,还包括:
生成擦除计数器值最大的空闲扇区与擦除计数器值最小的非空闲扇区的计数器差值,并判断所述计数器差值是否大于预设值;
若是,对擦除计数器值最小的非空闲扇进行碎片整理;
若否,获取非空闲扇区中回收系数最大的扇区进行碎片整理,其中,所述碎片整理包括将写入标志正常的文件块转移到新扇区中,同时删除原扇区。
需要说明的是,获取擦除计数器最少的扇区,如果擦除计数器最少扇区与擦除计数器最多的扇区相差大于127(当然,数值可以根据实际情况设定,不仅限于此)则将其转移到空闲扇区,这样可用避免一个扇区一直使用或者一直不使用导致磨损不均衡。
需要说明的是,在没有数据的情况下删除掩码:0x7FFFFFFFFFFFFFFF,删除块时掩码置0,删除前4个数据块就变成:0x7FFFFFFFFFFFFFF0,全部删除就会变成;0x0000000000000000,只要判断为0就表示这个扇区已经全部扇区是一个脏扇区,需要进行回收。
在本发明一个可能的实施例中,还包括:
在检查到文件关闭动作时,根据所述文件的文件名生成最终扇区编号;
查询扇区映射表,在判断到所述最终扇区编号存在于所述扇区映射表内时,根据该扇区的文件索引从小到大写入缓存数据,并更新文件索引。
需要说明的是,在文件关闭时写入缓存数据,写入缓存按照文件块索引顺序从小到大写入。首先写入的是包含文件长度的第一个文件块,这样即使遇到突然断电,也能恢复部分文件数据。
需要说明的是,在判断到所述最终扇区编号存在于所述扇区映射表内时,可以通过申请新扇区,并在申请成功后写入扇区编号,其中,文件索引更新包括:检查空闲掩码是否存在空闲块,若不存在空闲块,则扇区编号加1,若存在空闲块,更新数据块,同时文件块索引加1。
在本发明一个可能的实施例中,所述根据所述文件的文件名生成最终扇区编号,具体为:
调用散列函数对所述文件名进行运算,生成希哈值;
需要说明的是,散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表,其中,散列函数可以运算所述文件名生成64位希哈值。
对所述希哈值进行取模运算,生成扇区编号;
$$文件块索引=向上取整(文件读取位置/48)\\扇区编号=(散列函数(文件名称)+文件块索引)\mod(65536)\\扇区物理地址=扇区映射表(扇区编号)$$,其中,64位希哈值对65536进行取模运算得到扇区编号。
根据所述文件的文件偏移量,确定文件块索引;
根据所述扇区编号以及所述文件块索引生成所述最终扇区编号。
在本发明一个可能的实施例中,还可以包括:
在检查到文件删除动作时,获取所述文件名确定文件所在的扇区;
遍历所述扇区,获取所述扇区内的最后一个文件块的文件索引,设置删除标志位,并更新所述扇区内的文件块索引。
需要说明的是,删除文件主要是要设置位于扇区头的删除掩码,删除文件块从最后一个块开始删除,避免突然断电导致文件系统损坏(文件块失去关联)。
在本发明一个可能的实施例中,在文件写入时,文件不会立即写入,会存储到缓存中,然后在文件关闭时写入,具体地:
在传入写入数据时,可以通过文件偏移得到文件块索引,其中,扇区编号=文件希哈计算出的扇区编号+文件块索引;
在查询扇区映射表时检查到文件块索引存在时,进一步遍历扇区内文件块,检查是否存在对应的文件块,
若是,读取数据到缓存,并比较缓存新旧数据,是否需要更新;
在判断到需要更新时,设置更新标志,写入数据到缓存并将文件块索引+1;
在判断到不需要更新时,文件块索引直接+1;
在本发明一个可能的实施例中,在文件读取时,具体包括:
1.通过文件名称得到文件希哈值
2.通过文件希哈值和需求读取的文件块索引得到扇区编号
3.通过扇区编号查询扇区映射表得到扇区地址
4.检查扇区内的文件块的希哈值以及文件块索引是否一致
请参阅图3,本发明第二实施例提供了一种nor闪存的操作装置,包括:
遍历单元201,用于在检测到上电动作时,对flash中的所有扇区进行遍历;
判断单元202,用于在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
擦除单元203,用于擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
文件块删除单元204,用于对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除。
本发明第三实施例提供了一种nor闪存的操作设备,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上任意一项所述的一种nor闪存的操作方法。
本发明第三实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如上任意一项所述的一种nor闪存的操作方法。
基于本发明提供的一种nor闪存的操作方法、装置、设备及计算机可读存储介质,通过在在检测到上电动作时,对flash中的所有扇区进行遍历,根据每一扇区的扇区头分析出具有异常的扇区,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区,同时对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除,将写入标志正常的文件块转移到新扇区中,同时删除原扇区,解决了嵌入式设备会有突然断电的情况,导致文件系统的损坏的问题。
示例性地,本发明第三实施例和第四实施例中所述的计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述实现一种nor闪存的操作设备中的执行过程。例如,本发明第二实施例中所述的装置。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种nor闪存的操作方法的控制中心,利用各种接口和线路连接整个所述实现对一种nor闪存的操作方法的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种nor闪存的操作方法的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述实现的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种nor闪存的操作方法,其特征在于,包括:
在检测到上电动作时,对flash中的所有扇区进行遍历;
在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
若是,擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
若否,对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除。
2.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,所述对flash中的所有扇区进行遍历,具体为:
创建扇区映射表;
调用散列函数将读取到的数据进行运算,并将所述运算生成的希哈值和实际扇区映射保存到所述扇区映射表中。
3.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,所述根据扇区的扇区头判断扇区是否存在异常,具体为:
获取每一扇区的扇区头,确定具有相同扇区编号的扇区;
激活所述具有相同扇区编号的扇区的标志,并判断所述扇区的标志是否可用;
若是,定义为正常扇区;
若否,定义为异常扇区。
4.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,所述对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除,还包括:
生成擦除计数器值最大的空闲扇区与擦除计数器值最小的非空闲扇区的计数器差值,并判断所述计数器差值是否大于预设值;
若是,对擦除计数器值最小的非空闲扇进行碎片整理;
若否,获取非空闲扇区中回收系数最大的扇区进行碎片整理,
其中,所述碎片整理包括将写入标志正常的文件块转移到新扇区中,同时删除原扇区。
5.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,还包括:
在检查到文件关闭动作时,根据所述文件的文件名生成最终扇区编号;
查询扇区映射表,在判断到所述最终扇区编号存在于所述扇区映射表内时,根据该扇区的文件索引从小到大写入缓存数据,并更新文件索引。
6.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,所述根据所述文件的文件名生成最终扇区编号,具体为:
调用散列函数对所述文件名进行运算,生成希哈值;
对所述希哈值进行取模运算,生成扇区编号;
根据所述文件的文件偏移量,确定文件块索引;
根据所述扇区编号以及所述文件块索引生成所述最终扇区编号。
7.根据权利要求1所述的一种nor闪存的操作方法,其特征在于,还包括:
在检查到文件删除动作时,获取所述文件名确定文件所在的扇区;
遍历所述扇区,获取所述扇区内的最后一个文件块的文件索引,设置删除标志位,并更新所述扇区内的文件块索引。
8.一种nor闪存的操作装置,其特征在于,包括:
遍历单元,用于在检测到上电动作时,对flash中的所有扇区进行遍历;
判断单元,用于在检测到所述遍历完成时,根据扇区的扇区头判断扇区是否存在异常;
擦除单元,用于擦除异常的扇区,并将所述异常的扇区设置为空闲扇区;
文件块删除单元,用于对每一正常扇区中的文件块进行遍历,并将写入标志存在异常的文件块删除。
9.一种nor闪存的操作设备,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1至7任意一项所述的一种nor闪存的操作方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序能够被所述计算机可读存储介质所在设备的处理器执行,以实现如权利要求1至7任意一项所述的一种nor闪存的操作方法。
CN202211087852.XA 2022-09-07 2022-09-07 nor闪存的操作方法、装置、设备及计算机可读存储介质 Pending CN115346582A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211087852.XA CN115346582A (zh) 2022-09-07 2022-09-07 nor闪存的操作方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211087852.XA CN115346582A (zh) 2022-09-07 2022-09-07 nor闪存的操作方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115346582A true CN115346582A (zh) 2022-11-15

Family

ID=83954994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211087852.XA Pending CN115346582A (zh) 2022-09-07 2022-09-07 nor闪存的操作方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115346582A (zh)

Similar Documents

Publication Publication Date Title
US10007468B2 (en) Method and apparatus for erasing data in data section in flash memory
JP4560408B2 (ja) 不揮発性記憶装置の制御方法
CN113220239A (zh) 一种flash存储的擦写方法、装置、设备及可读存储介质
US7996606B2 (en) System and method for writing data and a time value to an addressable unit of a removable storage medium
CN109496292B (zh) 一种磁盘管理方法、磁盘管理装置及电子设备
CN113568579B (zh) 一种存储器、数据存储方法以及数据读取方法
CN114089915B (zh) 基于flash存储器的文件追加写操作方法及装置
CN111913890B (zh) 一种基于安全模组的非易失存储器随机化读写方法
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US8984218B2 (en) Drive indicating mechanism for removable media
CN114155906A (zh) 一种数据块修复方法、装置、设备及存储介质
CN116185563B (zh) 一种基于车规级微控制器数据闪存的软件模拟算法
US20060120235A1 (en) System and method of erasing non-volatile recording media
CN115346582A (zh) nor闪存的操作方法、装置、设备及计算机可读存储介质
US8510614B2 (en) Bad block identification methods
JP2003196165A (ja) 不揮発性メモリ及びそのデータ更新方法
CN115328851A (zh) 一种数据保护方法、装置、设备及介质
CN114816832B (zh) 一种单片机的数据管理方法、装置以及系统
JP3826115B2 (ja) 記憶装置、メモリ管理方法及びプログラム
CN111949198A (zh) 一种坏块管理方法、装置和存储设备
CN112035378A (zh) 一种数据快速写入flash闪存的方法及系统
CN116610269B (zh) 数据存储方法、装置、存储介质和控制器
CN118034610B (zh) 应用于存储器的密钥数据处理方法、存储器、装置及设备
CN114816249A (zh) 一种flash数据的修改方法、装置以及系统
CN112711378B (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