CN112035417A - 存储块的管理方法、装置、存储介质以及电子装置 - Google Patents

存储块的管理方法、装置、存储介质以及电子装置 Download PDF

Info

Publication number
CN112035417A
CN112035417A CN202010931472.4A CN202010931472A CN112035417A CN 112035417 A CN112035417 A CN 112035417A CN 202010931472 A CN202010931472 A CN 202010931472A CN 112035417 A CN112035417 A CN 112035417A
Authority
CN
China
Prior art keywords
target
block
storage block
state
target storage
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
CN202010931472.4A
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202010931472.4A priority Critical patent/CN112035417A/zh
Publication of CN112035417A publication Critical patent/CN112035417A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0653Monitoring storage devices or systems
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供了一种存储块的管理方法、装置、存储介质以及电子装置,该方法包括:采用对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态,解决了文件系统在使用存储块的过程中,运行效率较低的技术问题。

Description

存储块的管理方法、装置、存储介质以及电子装置
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种存储块的管理方法、装置、存储介质以及电子装置。
背景技术
目前的相关技术中,文件系统在调用存储块的过程中,存储块的状态通常记录在flash中的bbt(bad block table,坏块表)表内,例如,Nand Flash, Nand型闪存,文件系统读取Nand flash中的bbt表后在内存中建立bbt,进而,在进行后续操作过程中,通过以文件系统建立的bbt表为依据,将存储块中的坏块剔除在可用块范围内。
但是,相关技术中采用的大多是当发生坏块情况时,增加对该坏块中的各个页分别进行是否为坏页的判断,对于文件系统误标记的坏块并未相应的处理,而被文件系统误标记的坏块会导致文件系统的可写分区无法正常使用,造成文件系统在使用存储块的过程中,运行效率较低的技术问题。
针对相关技术中存在的文件系统在使用存储块的过程中,运行效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种存储块的管理方法、装置、存储介质以及电子装置,以至少解决相关技术中存在的文件系统在使用存储块的过程中,运行效率较低的技术问题。
根据本发明的一个实施例,提供了一种存储块的管理方法,包括:
对第一目标存储块执行验证操作,以得到所述验证操作的结果,其中,所述验证操作用于验证所述第一目标存储块的状态,所述状态包括正常状态和坏块状态,所述第一目标存储块为预先标记为坏块的存储块;
在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块,并生成第一流程标记,其中,所述第一流程标记用于标识所述第一目标存储块的状态由坏块状态调整为正常块状态。
根据本发明的另一个实施例,提供了一种存储块的管理装置,包括:
验证模块,用于对第一目标存储块执行验证操作,以得到所述验证操作的结果,其中,所述验证操作用于验证所述第一目标存储块的状态,所述状态包括正常状态和坏块状态,所述第一目标存储块为预先标记为坏块的存储块;
处理模块,用于在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块,并生成第一流程标记,其中,所述第一流程标记用于标识所述第一目标存储块的状态由坏块状态调整为正常块状态。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本实施例,采用对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态,通过对标记为坏块的存储块进行重新检测状态,进而,实现了存储块的重新校验,避免了文件系统误标记的坏块,而导致文件系统的可写分区无法正常使用,达到提高系统运行效率以及存储块的利用效率的技术效果,解决了文件系统在使用存储块的过程中,运行效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种存储块的管理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种可选的存储块的管理方法的流程示意图;
图3是根据本发明实施例的另一种可选的存储块的管理方法的流程示意图;
图4是根据本发明实施例的又一种可选的存储块的管理方法的流程示意图;
图5是根据本发明实施例的一种可选的存储块的管理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种存储块的管理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102 可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置) 和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的存储块的管理方法对应的计算机程序,处理器 102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的存储块的管理方法,图2是根据本发明实施例的一种可选的存储块的管理方法的流程示意图,如图2所示,该流程包括如下步骤:
S202,对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块;
S204,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态。
可选地,在本实施例中,上述目标存储块可以包括但不限于将内存按照页的大小分为相等的区域,上述验证操作可以包括但不限于能够验证上述存储块为正常块或者坏块的操作,例如,以yaffs2文件系统为例,yaffs2 文件系统会在以下条件下标记坏块:在新块上申请chunk(块),该块没有任何数据,第一次被申请,如果该chunk读写失败,则会被打上needs_retiring(坏块标记)标记,该标记会在yaffs垃圾回收机制中被使用,进而将该块标记为坏块。Yaffs文件系统处理脏块时擦失败,则直接标记该块为坏块。对于正在使用的块申请新chunk时,如果读写失败,可以包括但不限于打上needs_retiring标记,但是也可以包括但不限于累计 chunk_error_strikes,当累计超过3次以后,打上needs_retiring标记。
可选地,在本实施例中,上述第一流程标记可以包括但不限于指示上述存储块的状态为正常块或者坏块,还可以用于指示当前存储区域中的存储块出现由正常块状态更新为坏块,或者,由坏块更新为正常块等情况。
通过本实施例,采用对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态,通过对标记为坏块的存储块进行重新检测状态,进而,实现了存储块的重新校验,避免了文件系统误标记的坏块,而导致文件系统的可写分区无法正常使用,达到提高系统运行效率以及存储块的利用效率的技术效果,解决了文件系统在使用存储块的过程中,运行效率较低的技术问题。
在一个可选的实施例中,对第一目标存储块执行验证操作,以得到所述验证操作的结果,包括:对所述第一目标存储块执行第一目标操作,得到目标数据,其中,所述第一目标操作包括读操作;对所述第一目标存储块执行第二目标操作,得到第二目标存储块,其中,所述第二目标操作包括擦除操作,所述擦除操作用于擦除所述第一目标存储块中存储的数据,所述第二目标存储块不包含任何数据;对所述第二目标存储块执行第三目标操作,其中,所述第三目标操作用于向所述第二目标存储块写入所述目标数据,生成第三目标存储块;在所述第一目标操作、所述第二目标操作以及所述第三目标操作均成功的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为正常状态;在所述第一目标操作、所述第二目标操作以及所述第三目标操作至少一项操作失败的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为坏块状态。
可选地,在本实施例中,上述第一目标操作可以包括但不限于读操作,上述读操作用于从上述存储块中读取上述存储块存储的目标数据,上述第二目标操作可以包括但不限于对存储块进行擦除操作,上述擦除操作用于擦除上述存储块中存储的数据,使得擦除后的存储块中不保存任何数据,上述第三目标操作可以包括但不限于向存储块中写入数据,可以包括但不限于写入上述目标数据,也可以包括但不限于写入能够用于进行存储块状态验证的数据。
可选地,在本实施例中,上述第一目标操作、第二目标操作以及第三目标操作中至少一项操作失败,则将上述存储块的状态确定为坏块状态。
例如,图3是根据本发明实施例的一种可选的存储块的管理方法的示意图,如图3所示,该流程包括如下步骤:
S302,文件系统检测存储块;
S304,flash驱动层对存储块进行标记;
S306,对标记的存储块重新进行读操作(对应于上述第一目标操作),并备份读出数据(对应于上述目标数据),在读操作成功的情况下,执行 S308,否则,执行S314;
S308,对标记的存储块重新进行擦操作,在擦操作成功的情况下,执行S310,否则,执行S314;
S310,对标记的存储块重新进行写操作,写入S306中读取到的数据,在写操作成功的情况下,执行S312,否则,执行S314;
S312,删除上述存储块的坏块标记;
S314,保持上述存储块的坏块标记;
S316,结束。
需要说明的是,在文件系统检测到坏块后传给flash层,在该层进行该块重校验,分别进行读擦写校验,注意的是读的时候需要备份读出来的数据,以便擦完后写入相同数据,保证该块上数据相同。
上述读、写、擦三个操作中,出现一个失败操作则直接进入标记坏块流程,在上述三个操作均成功的情况下,不标记坏块,防止flash上的bbt 被污染。
在一个可选的实施例中,在对第一目标存储块执行验证操作,确定所述验证操作的结果之前,所述方法还包括:从目标设备中读取第一目标表单,存入缓存区域,其中,所述目标设备用于存储一组目标存储块,所述第一目标表单中记录有所述一组目标存储块以及一组目标存储块中每个存储块对应的标记,所述标记用于表示所述目标存储块的状态;在所述缓存区域中扫描所述第一目标表单,将所述一组目标存储块中标记为坏块的存储块确定为所述第一目标存储块。
可选地,在本实施例中,上述目标设备可以包括但不限于存储设备,例如,闪存、硬盘等能够存储数据的设备,上述第一目标表单为上述目标设备中指示存储数据的存储块的状态的表单,上述缓存区域可以包括但不限于系统运行的内存等。
可选地,在本实施例中,通过内存从上述目标设备中读取上述第一目标表单,进而,能够扫描上述第一目标表单,得到标记为坏块的第一目标存储块。
在一个可选的实施例中,在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块的存储块,并生成第一流程标记包括:将所述第一目标存储块对应的目标参数由第一值调整为第二值,生成第二目标表单,其中,所述第一值用于标识所述第一目标存储块为坏块,所述第二值用于标识所述第一目标存储块为正常块;在所述目标参数由所述第一值调整为所述第二值的情况下,生成所述第一流程标记。
可选地,在本实施例中,上述目标参数可以包括但不限于上述第一目标表单中的预设参数。
例如,
Figure BDA0002670385670000081
通过将2bits数值置为00,用于表示该存储块为正常块,将2bits数值置为01,用于表示该存储块为系统检测到的坏块,将2bits数值置为10,用于表示其他信息,将2bits数值置为11,表示该存储块为出厂时已经标记为坏块。通过将存储块在目标表单中的2bits数值进行调整,进而标识第一目标存储块,并在上述2bits数值发生变化的情况下,生成上述第一流程标记,指示上述目标表单包括由坏块重校验为正常块的存储块。
在一个可选的实施例中,在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,所述方法还包括:在检测到所述第一流程标记的情况下,将所述目标设备的第一目标表单替换为所述第二目标表单。
可选地,在本实施例中,可以通过包括但不限于在目标表单中的预设位置进行置位,以实现通过上述第一流程标记指示上述目标表单包括由坏块重校验为正常块的存储块,可以包括但不限于用“0”表示上述目标表单不包括由坏块重校验为正常块的存储块,用“1”表示上述目标表单包括由坏块重校验为正常块的存储块。
上述仅是一种示例,具体配置上述第一流程标记的方式,本实施例不做任何限定。
可选地,在本实施例中,上述将目标设备的第一目标表单替换为第二目标表单,可以包括但不限于刷新上述目标设备的目标表单。
在一个可选的实施例中,在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,所述方法还包括:将存储在备份区域的与所述第一目标表单对应的备份表单替换为所述第二目标表单。
可选地,在本实施例中,可以在上述将目标设备的第一目标表单替换为第二目标表单与将存储在备份区域的与第一目标表单对应的备份表单替换为第二目标表单同时进行,也可以包括但不限于将目标设备的第一目标表单替换为第二目标表单,或者,将存储在备份区域的与第一目标表单对应的备份表单替换为第二目标表单。
上述仅是一种示例,具体替换表单的方式以及替换表单的类型可以根据实际需要或者用途进行预设,本实施例对此不做任何具体的限定。
在一个可选的实施例中,在对第一目标存储块执行验证操作之前,所述方法还包括,通过如下方式将所述第一目标存储块标记为坏块的存储块,包括:在存储块为空白存储块的情况下,执行读取操作;在所述读取操作失败的情况下,将所述空白存储块确定为所述第一目标存储块;和/或,在存储块为预先存有数据的存储块的情况下,执行擦除处理;在所述擦除操作失败的情况下,将所述预先存有数据的存储块确定为所述第一目标存储块;和/或,在存储块为正在使用的存储块的情况下,执行读写处理;在所述读写处理失败次数超过预设阈值的情况下,将所述正在使用的存储块确定为所述第一目标存储块。
可选地,在本实施例中,例如,在文件系统层检测到坏块,以yaffs2 文件系统为例,yaffs2文件系统会在以下条件下标记坏块:1.在新块上申请chunk,该block没有任何数据,第一次被申请,如果该chunk读写失败,则会被打上needs_retiring标记,该标记会在yaffs垃圾回收机制中被使用,进而将该块标记为坏块。2.Yaffs文件系统处理脏块时擦失败,则直接标记该块为坏块。3.正在使用的块申请新chunk时,如果读写失败,虽然不会打上needs_retiring标记,但是会累计chunk_error_strikes,当累计超过3次以后,也会打上needs_retiring标记。
通过本实施例,能够在不同情况下基于存储块的读、擦、写操作确定存储块是否为坏块,并在确定存储块为坏块的情况下进行相应的标记,便于后续的处理,达到提高系统运行效率、避免坏块影响系统运行的技术效果。
下面结合具体的实施例,对本发明进行进一步说明:
图4是根据本发明实施例的一种可选的存储块的管理方法的流程示意图,如图4所示,该流程包括如下步骤:
S402,内核获取flash中的bbt表;
S404,根据bbt表中的坏块标记判断是否是内核标记,在判断结果为是的情况下,执行S406,否则,执行S414;
S406,对该块重新进行读操作,在读操作成功的情况下,执行S408,否则,执行S414;
S408,对该块重新进行擦操作,在擦操作成功的情况下,执行S410,否则,执行S414;
S410,对该块重新进行写操作,在写操作成功的情况下,执行S412,否则,执行S414;
S412,将该块标记为好块,置位流程标记,用于判断是否有误标记坏块;
S414,填入ram的坏块表;
S416,判断流程标记是否置位,在判断结果为是的情况下,执行S418,否则,执行S420;
S418,将ram中的坏块表更新到flash中;
S420,结束。
需要说明的是,该流程还可以包括如下内容:
内核从flash中读出bbt表并扫描bbt表。
根据bbt表中坏块标记检出内核标记的坏块,2bits的坏块有4种标记,如下表格:
Figure BDA0002670385670000111
其中,内核标记为01标记记号。
将内核标记的坏块重新进行读擦写操作,如果flash控制器以上三个操作返回均正确,则将该块重新标记为好块,并置位流程标记记号。
根据以上操作扫描整张bbt表,在ram中建立bbt后根据是否有坏块恢复的流程标记判断是否需要刷新flash中的bbt。
如果需要刷新,则更新flash的bbt同时同步flash中的备份bbt。
通过本实施例,可以不区分何种文件系统,在flash驱动中防止坏块被错误标记,可移植性更高。还可以在内核启动流程中,在flash驱动中重新校验flash块的好坏情况,对内核误标记的坏块重新检出,并投入使用,提高flash利用率,实用性更普遍。
此外,坏块标记流程和扫描bbt流程是flash驱动通用流程,在这两个流程做预防和恢复,兼容性更强,能够达到提高系统运行效率,避免由于误标记坏块所造成的系统问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如 ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种存储块的管理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的一种可选的存储块的管理装置的结构框图,如图5所示,该装置包括:
验证模块502,用于对第一目标存储块执行验证操作,以得到所述验证操作的结果,其中,所述验证操作用于验证所述第一目标存储块的状态,所述状态包括正常状态和坏块状态,所述第一目标存储块为预先标记为坏块的存储块;
处理模块504,用于在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块,并生成第一流程标记,其中,所述第一流程标记用于标识所述第一目标存储块的状态由坏块状态调整为正常块状态。
在一个可选的实施例中,所述验证模块,包括:
第一操作单元,用于对所述第一目标存储块执行第一目标操作,得到目标数据,其中,所述第一目标操作包括读操作;
第二操作单元,用于对所述第一目标存储块执行第二目标操作,得到第二目标存储块,其中,所述第二目标操作包括擦除操作,所述擦除操作用于擦除所述第一目标存储块中存储的数据,所述第二目标存储块不包含任何数据;
第三操作单元,用于对所述第二目标存储块执行第三目标操作,其中,所述第三目标操作用于向所述第二目标存储块写入所述目标数据,生成第三目标存储块;
第一确定单元,用于在所述第一目标操作、所述第二目标操作以及所述第三目标操作均成功的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为正常状态;
第二确定单元,用于在所述第一目标操作、所述第二目标操作以及所述第三目标操作至少一项操作失败的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为坏块状态。
在一个可选的实施例中,所述装置还用于:
在对第一目标存储块执行验证操作,确定所述验证操作的结果之前,从目标设备中读取第一目标表单,存入缓存区域,其中,所述目标设备用于存储一组目标存储块,所述第一目标表单中记录有所述一组目标存储块以及一组目标存储块中每个存储块对应的标记,所述标记用于表示所述目标存储块的状态;在所述缓存区域中扫描所述第一目标表单,将所述一组目标存储块中标记为坏块的存储块确定为所述第一目标存储块。
在一个可选的实施例中,所述处理模块504包括:
调整单元,用于将所述第一目标存储块对应的目标参数由第一值调整为第二值,生成第二目标表单,其中,所述第一值用于标识所述第一目标存储块为坏块,所述第二值用于标识所述第一目标存储块为正常块;
生成单元,用于在所述目标参数由所述第一值调整为所述第二值的情况下,生成所述第一流程标记。
在一个可选的实施例中,所述装置还用于:在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,
在检测到所述第一流程标记的情况下,将所述目标设备的第一目标表单替换为所述第二目标表单。
在一个可选的实施例中,装置还用于:在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,
将存储在备份区域的与所述第一目标表单对应的备份表单替换为所述第二目标表单。
在一个可选的实施例中,所述装置还用于,通过如下方式将所述第一目标存储块标记为坏块的存储块:在对第一目标存储块执行验证操作之前,
在存储块为空白存储块的情况下,执行读取操作;在所述读取操作失败的情况下,将所述空白存储块确定为所述第一目标存储块;和/或,
在存储块为预先存有数据的存储块的情况下,执行擦除处理;在所述擦除操作失败的情况下,将所述预先存有数据的存储块确定为所述第一目标存储块;和/或,
在存储块为正在使用的存储块的情况下,执行读写处理;在所述读写处理失败次数超过预设阈值的情况下,将所述正在使用的存储块确定为所述第一目标存储块。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块;
S2,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态。
计算机可读存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块;
S2,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于: U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器 (Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,对第一目标存储块执行验证操作,以得到验证操作的结果,其中,验证操作用于验证第一目标存储块的状态,状态包括正常状态和坏块状态,第一目标存储块为预先标记为坏块的存储块;
S2,在确定验证操作的结果为第一目标存储块的状态为正常状态的情况下,将第一目标存储块标记为正常块,并生成第一流程标记,其中,第一流程标记用于标识第一目标存储块的状态由坏块状态调整为正常块状态。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种存储块的管理方法,其特征在于,包括:
对第一目标存储块执行验证操作,以得到所述验证操作的结果,其中,所述验证操作用于验证所述第一目标存储块的状态,所述状态包括正常状态和坏块状态,所述第一目标存储块为预先标记为坏块的存储块;
在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块,并生成第一流程标记,其中,所述第一流程标记用于标识所述第一目标存储块的状态由坏块状态调整为正常块状态。
2.根据权利要求1所述的方法,其特征在于,对第一目标存储块执行验证操作,以得到所述验证操作的结果,包括:
对所述第一目标存储块执行第一目标操作,得到目标数据,其中,所述第一目标操作包括读操作;
对所述第一目标存储块执行第二目标操作,得到第二目标存储块,其中,所述第二目标操作包括擦除操作,所述擦除操作用于擦除所述第一目标存储块中存储的数据,所述第二目标存储块不包含任何数据;
对所述第二目标存储块执行第三目标操作,其中,所述第三目标操作用于向所述第二目标存储块写入所述目标数据,生成第三目标存储块;
在所述第一目标操作、所述第二目标操作以及所述第三目标操作均成功的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为正常状态;
在所述第一目标操作、所述第二目标操作以及所述第三目标操作至少一项操作失败的情况下,确定所述验证操作的结果为所述第一目标存储块的状态为坏块状态。
3.根据权利要求1所述的方法,其特征在于,在对第一目标存储块执行验证操作,确定所述验证操作的结果之前,所述方法还包括:
从目标设备中读取第一目标表单,存入缓存区域,其中,所述目标设备用于存储一组目标存储块,所述第一目标表单中记录有所述一组目标存储块以及一组目标存储块中每个存储块对应的标记,所述标记用于表示所述目标存储块的状态;
在所述缓存区域中扫描所述第一目标表单,将所述一组目标存储块中标记为坏块的存储块确定为所述第一目标存储块。
4.根据权利要求3所述的方法,其特征在于,在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块的存储块,并生成第一流程标记包括:
将所述第一目标存储块对应的目标参数由第一值调整为第二值,生成第二目标表单,其中,所述第一值用于标识所述第一目标存储块为坏块,所述第二值用于标识所述第一目标存储块为正常块;
在所述目标参数由所述第一值调整为所述第二值的情况下,生成所述第一流程标记。
5.根据权利要求4所述的方法,其特征在于,在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,所述方法还包括:
在检测到所述第一流程标记的情况下,将所述目标设备的第一目标表单替换为所述第二目标表单。
6.根据权利要求4所述的方法,其特征在于,在所述第一目标存储块对应的目标参数发生变化的情况下,生成所述第一流程标记之后,所述方法还包括:
将存储在备份区域的与所述第一目标表单对应的备份表单替换为所述第二目标表单。
7.根据权利要求1所述的方法,其特征在于,在对第一目标存储块执行验证操作之前,所述方法还包括,通过如下方式将所述第一目标存储块标记为坏块的存储块,包括:
在存储块为空白存储块的情况下,执行读取操作;在所述读取操作失败的情况下,将所述空白存储块确定为所述第一目标存储块;和/或,
在存储块为预先存有数据的存储块的情况下,执行擦除处理;在所述擦除操作失败的情况下,将所述预先存有数据的存储块确定为所述第一目标存储块;和/或,
在存储块为正在使用的存储块的情况下,执行读写处理;在所述读写处理失败次数超过预设阈值的情况下,将所述正在使用的存储块确定为所述第一目标存储块。
8.一种存储块的管理装置,其特征在于,包括:
验证模块,用于对第一目标存储块执行验证操作,以得到所述验证操作的结果,其中,所述验证操作用于验证所述第一目标存储块的状态,所述状态包括正常状态和坏块状态,所述第一目标存储块为预先标记为坏块的存储块;
处理模块,用于在确定所述验证操作的结果为所述第一目标存储块的状态为正常状态的情况下,将所述第一目标存储块标记为正常块,并生成第一流程标记,其中,所述第一流程标记用于标识所述第一目标存储块的状态由坏块状态调整为正常块状态。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
CN202010931472.4A 2020-09-07 2020-09-07 存储块的管理方法、装置、存储介质以及电子装置 Pending CN112035417A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010931472.4A CN112035417A (zh) 2020-09-07 2020-09-07 存储块的管理方法、装置、存储介质以及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010931472.4A CN112035417A (zh) 2020-09-07 2020-09-07 存储块的管理方法、装置、存储介质以及电子装置

Publications (1)

Publication Number Publication Date
CN112035417A true CN112035417A (zh) 2020-12-04

Family

ID=73585416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010931472.4A Pending CN112035417A (zh) 2020-09-07 2020-09-07 存储块的管理方法、装置、存储介质以及电子装置

Country Status (1)

Country Link
CN (1) CN112035417A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672426A (zh) * 2021-08-24 2021-11-19 浙江大华技术股份有限公司 存储设备的异常确定方法及装置、存储介质、电子装置
CN114371817A (zh) * 2021-12-22 2022-04-19 浙江大华技术股份有限公司 存储介质的数据读写方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
CN102929794A (zh) * 2012-09-26 2013-02-13 惠州市德赛西威汽车电子有限公司 一种eeprom的存储方法
US20140289559A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US20170125127A1 (en) * 2015-11-03 2017-05-04 SK Hynix Inc. Memory system and operating method thereof
CN109918022A (zh) * 2019-02-22 2019-06-21 山东华芯半导体有限公司 一种ssd开卡坏块表继承方法
CN111443873A (zh) * 2020-03-27 2020-07-24 深圳天岳创新科技有限公司 一种Nand Flash存储器的管理方法和装置
CN111459708A (zh) * 2020-03-11 2020-07-28 深圳佰维存储科技股份有限公司 坏块处理方法及装置
CN111596860A (zh) * 2020-04-21 2020-08-28 中国科学院长春光学精密机械与物理研究所 一种提高nand-flash存储可靠性的fpga控制方法
CN111933199A (zh) * 2020-08-07 2020-11-13 深圳市纵维立方科技有限公司 基于存储器的数据读写方法、装置及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
CN102929794A (zh) * 2012-09-26 2013-02-13 惠州市德赛西威汽车电子有限公司 一种eeprom的存储方法
US20140289559A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US20170125127A1 (en) * 2015-11-03 2017-05-04 SK Hynix Inc. Memory system and operating method thereof
CN109918022A (zh) * 2019-02-22 2019-06-21 山东华芯半导体有限公司 一种ssd开卡坏块表继承方法
CN111459708A (zh) * 2020-03-11 2020-07-28 深圳佰维存储科技股份有限公司 坏块处理方法及装置
CN111443873A (zh) * 2020-03-27 2020-07-24 深圳天岳创新科技有限公司 一种Nand Flash存储器的管理方法和装置
CN111596860A (zh) * 2020-04-21 2020-08-28 中国科学院长春光学精密机械与物理研究所 一种提高nand-flash存储可靠性的fpga控制方法
CN111933199A (zh) * 2020-08-07 2020-11-13 深圳市纵维立方科技有限公司 基于存储器的数据读写方法、装置及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张亚辉;马胜前;: "基于STM32的Flash存储器坏块自动检测", 计算机系统应用, no. 06 *
曹勋;赵冬娥;李致成;张斌;: "提高测速系统存储速率及可靠性的方法", 电子器件, no. 01, pages 64 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672426A (zh) * 2021-08-24 2021-11-19 浙江大华技术股份有限公司 存储设备的异常确定方法及装置、存储介质、电子装置
CN114371817A (zh) * 2021-12-22 2022-04-19 浙江大华技术股份有限公司 存储介质的数据读写方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN101436138B (zh) 一种用于软件升级且动态回滚的控制装置以及控制方法
CN111142911B (zh) 具有异常恢复功能的嵌入式系统及其升级方法
CN110286853B (zh) 一种数据写入方法和装置、计算机可读存储介质
CN106155596B (zh) 数据写入方法及装置
CN112035417A (zh) 存储块的管理方法、装置、存储介质以及电子装置
CN104536841B (zh) 一种Android系统Data分区自修复方法及系统
CN104360957A (zh) 一种维持闪存损耗均衡的方法
US6609152B1 (en) System for avoiding the assignment of duplicate MAC addresses to network interface devices
CN105404533A (zh) 程序升级方法和装置
CN103559098A (zh) 智能卡测试号码控制方法、装置及系统
CN108170456B (zh) 电子设备的固件升级方法及装置
CN107168750B (zh) 一种固件升级保护方法及系统
CN106502718A (zh) 程序的升级方法和装置、控制器
CN116880782A (zh) 一种内嵌式存储器及其测试方法
CN110188850B (zh) 智能卡临时号码控制方法、装置及系统
CN102237143A (zh) 一种闪存块信息的重建方法、系统及重建设备
CN112114823B (zh) 一种基于修改mac地址的烧录读取系统
CN114625399A (zh) 系统升级方法及相关装置、设备和存储介质
CN116225317A (zh) 用户识别卡的数据读写方法、装置、用户识别卡及介质
CN112199238B (zh) 存储器固件更新方法、装置、存储介质及电子设备
CN110471791A (zh) 一种对闪存的坏块信息的存储方法和装置以及设备
CN109145021B (zh) 移动设备网络身份标识重写方法、装置以及存储介质
CN108614664A (zh) 基于NANDflash的读错误处理方法和装置
CN110737550B (zh) 终端设备的颜色标识检测方法和装置
CN112083891A (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