CN110007857A - 一种闪存芯片的寿命预测方法及装置 - Google Patents

一种闪存芯片的寿命预测方法及装置 Download PDF

Info

Publication number
CN110007857A
CN110007857A CN201910175550.XA CN201910175550A CN110007857A CN 110007857 A CN110007857 A CN 110007857A CN 201910175550 A CN201910175550 A CN 201910175550A CN 110007857 A CN110007857 A CN 110007857A
Authority
CN
China
Prior art keywords
erasing
flash memory
memory chip
function
erased
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
Application number
CN201910175550.XA
Other languages
English (en)
Other versions
CN110007857B (zh
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.)
Beijing Star Net Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks 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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201910175550.XA priority Critical patent/CN110007857B/zh
Publication of CN110007857A publication Critical patent/CN110007857A/zh
Application granted granted Critical
Publication of CN110007857B publication Critical patent/CN110007857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/04Ageing analysis or optimisation against ageing

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)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明实施例提供一种闪存芯片的寿命预测方法及装置。所述方法包括:根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;在所述擦除函数的函数入口注册所述探测处理函数;在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;根据所述已擦除次数,预测所述闪存芯片的寿命。本发明实施例通过注入探测的方式,能适配所有闪存芯片,同时能在不同版本Linux系统上快速移植,节约了移植维护升级成本。

Description

一种闪存芯片的寿命预测方法及装置
技术领域
本发明实施例涉及计算机网络通信技术领域,具体涉及一种闪存芯片的寿命预测方法及装置。
背景技术
目前在嵌入式领域大多使用FLASH闪存作为数据存储设备,FLASH闪存的寿命与擦除次数紧密相关,在一定的擦除次数之后寿命就到期了。在同一产品的生命周期中,同一厂家不同批次或者不同厂商的FLASH闪存,可擦除次数可能不一样。另外,产品在不同的使用场景中擦除频率也不一样,因此即使同一规格的FLASH芯片寿命长短也不一样。
由于FLASH芯片寿命长短不一,对FLASH芯片的寿命预测显得尤为重要。因为FLASH芯片的可擦除次数决定了FLASH的寿命,当擦除次数过多导致整个FLASH芯片或者单个FLASH功能分区失效时,都意味着整个FLASH芯片失效,业务无法正常运行。目前对FLASH芯片寿命的预警方法主要是在芯片驱动层面做坏块和擦除次数统计,并设定一个阈值,当擦除FLASH芯片的次数达到阈值时产生告警。
然而目前存在的FLASH寿命预测方法,其主要是针对特定的FLASH芯片的擦除次数进行统计,其代码通常嵌入在具体的内核代码中,与具体的FLASH芯片特性以及驱动强相关,如果内核版本升级了,相应FLASH驱动代码的接口和代码框架都有可能变化,此时移植代码会耗时耗力,导致FLASH寿命预测方法的适用性和可移植性较差。
发明内容
针对现有技术中的缺陷,本发明实施例提供了一种闪存芯片的寿命预测方法及装置。
第一方面,本发明实施例提供一种闪存芯片的寿命预测方法,包括:
根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;
在所述擦除函数的函数入口注册所述探测处理函数;
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;
根据所述已擦除次数,预测所述闪存芯片的寿命。
如上述方法,可选地,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
如上述方法,可选地,所述根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数,包括:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
如上述方法,可选地,所述方法还包括:
获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数,包括:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
如上述方法,可选地,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
如上述方法,可选地,还包括:
获取所述闪存芯片的配置寿命;
若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警
第二方面,本发明实施例提供一种闪存芯片的寿命预测装置,包括:
初始化模块,用于根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;
注册模块,用于在所述擦除函数的函数入口注册所述探测处理函数;
探测模块,用于在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;
预测模块,用于根据所述已擦除次数,预测所述闪存芯片的寿命。
如上述装置,可选地,所述预测模块包括:
基准确定单元,用于根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
未来可运行预测单元,用于根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
寿命预测单元,用于根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
如上述装置,可选地,所述基准确定单元具体用于:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
如上述装置,可选地,所述装置还包括:
第一获取模块,用于获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述探测模块具体用于:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
如上述装置,可选地,所述预测模块具体用于:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
如上述装置,可选地,还包括:
第二获取模块,用于获取所述闪存芯片的配置寿命;
告警模块,用于若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警。
本发明实施例提供的闪存芯片的寿命预测方法,通过在闪存芯片的内核层注册擦除函数对应的探测处理函数,通过探测处理函数获取擦除数据,从而确定闪存芯片的已擦除次数,通过注入探测的方式,能适配所有闪存芯片,同时能在不同版本Linux系统上快速移植,节约了移植维护升级成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的闪存芯片的寿命预测方法流程示意图;
图2为本发明实施例提供的闪存芯片的寿命预测装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的闪存芯片的寿命预测方法流程示意图,如图1所示,该方法包括:
步骤S101、根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;
具体地,目前测试FLASH闪存芯片的方法,主要是在其内核代码中嵌入擦除次数统计函数,通过统计函数获取擦除次数。考虑到直接嵌入内核代码移植性较差,且Linux系统具有PROBE探测机制,在内核代码中注册探测处理函数,可以对内核代码中的函数进行参数监测,并且FLASH闪存芯片的擦除函数比较固定,因此,可以预先根据FLASH闪存芯片的擦除函数,编写探测处理函数,然后将探测处理处理函数编译后进行模块化封装,遇到不同Linux版本和FLASH芯片驱动,只需要适配相应探测处理函数的函数名,保持和所探测的函数原型一致,即可适配所有FLASH闪存芯片类型和驱动代码,可移植性和适配性强。
其中,待注册的探测处理函数参数原型和所探测的擦除函数参数原型一致,在探测处理函数中获取的参数值和所探测的擦除函数参数值也是一致的,因此可以直接在探测处理函数中获取擦除块地址和擦除数据大小等信息。例如,设置探测处理函数为擦除函数的回调函数,只要FLASH闪存芯片进行了擦除动作,就会调用内核层的擦除函数,此时就会调用注册的探测处理函数,探测处理函数就可以返回所探测的擦除函数的当前擦除数据。通过在内核层注册探测处理函数的方式,无需修改Linux内核源码,探测处理函数模块单独编译单独上线,可以不随产品版本一起发布,灵活方便,模块化不影响原生Linux内核代码。
步骤S102、在所述擦除函数的函数入口注册所述探测处理函数;
具体地,在探测处理函数模块初始化的时候,先获取所探测的擦除函数的符号表地址,然后根据地址注册探测点以及相应的探测处理函数,也即在擦除函数的函数入口设置断点,当应用层有擦除FLASH动作的时候,会调用擦除函数,而一旦到达擦除函数入口,由于注册了探测处理函数,优先调用探测处理函数,在探测处理函数处理完成后,再返回原先的擦除函数继续运行。
步骤S103、在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;
具体地,当FLASH闪存芯片开始运行后,只要进行擦除操作,就会运行擦除函数,由于在擦除函数入口注册了探测处理函数,因此在运行擦除函数过程中会调用探测处理函数,由于探测处理函数和擦除函数的擦除参数值可以同步,通过探测处理函数监测擦除函数的擦除参数,就可以得到擦除数据,对探测处理函数返回的擦除数据进行累加并保存,以获取FLASH闪存芯片的已擦除次数。本发明实施例所涉及的擦除数据可以在内核层保存,也可以直接传递到用户空间保存,只需保证后续的寿命预测能正常获取此处保存的统计数据即可。
步骤S104、根据所述已擦除次数,预测所述闪存芯片的寿命。
具体地,目前已有的对于FLASH闪存芯片寿命的预测比较局限,主要是设置擦除次数的阈值,然后根据统计的阈值进行告警,这种方式仅仅基于擦除次数和阈值的比较大小来告警,没有前期预测剩余寿命的过程,如果阈值设置太小可能造成FLASH芯片资源浪费,阈值设置太大可能导致告警太晚来不及更替失效产品从而造成产品数据丢失,存在一定的风险。与现有技术使用阈值不同,本发明实施例确定FLASH闪存芯片的已擦除次数之后,根据该FLASH闪存芯片的已擦除次数预测该芯片的剩余寿命,将剩余寿命与已经运行的时长相加,得到该闪存芯片的预测寿命。
本发明实施例提供的闪存芯片的寿命预测方法,通过在闪存芯片的内核层注册擦除函数对应的探测处理函数,通过探测处理函数获取擦除数据,从而确定闪存芯片的已擦除次数,通过注入探测的方式,能适配所有闪存芯片,同时能在不同版本Linux系统上快速移植,节约了移植维护升级成本。
在上述实施例的基础上,进一步地,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
具体地,对于不同闪存芯片产品,其业务形态不一样,各业务呈现不定的高峰读写期,有很多原因导致读写出现高峰,例如:异步读写时,由文件系统同步缓存时出现大量FLASH擦除;数据库缓存周期性的同步和数据保存,出现大量FLASH擦除;定时任务,当时间到期执行任务时出现的FLASH擦除;不同时段的业务高峰期,导致擦除FLASH动作频度不一。正是由于存在上述不定期的擦除FLASH数据高低峰,因此需要确定个FLASH擦除统计波动最小的时间间隔,作为预测FLASH芯片剩余可使用寿命的基准,将该基准记为基准统计时长,将基准统计时长内的已擦除次数记为基准擦除次数。
在实际应用中,可以根据已经运行时长内统计的已擦除次数,确定基准统计时长和基准擦除次数。之后,获取闪存芯片的可擦除次数,可擦除次数可以根据闪存芯片的擦除配置信息获取,之后,根据公式(1)确定闪存芯片的未来可运行时长:
Y1=(E1-E2)*T3/E3 公式(1)
其中,Y1为闪存芯片的未来可运行时长,E1为闪存芯片的可擦除次数,E2为闪存芯片的已擦除次数,T3为闪存芯片的基准统计时长,E3位闪存芯片的基准擦除次数。
然后将FLASH芯片的未来可运行时长与已经运行时长进行相加,就可得到FLASH芯片的预测寿命,即根据公式(2)确定FLASH芯片的预测寿命:
Y3=Y1+Y2 公式(2)
其中,Y3为FLASH芯片的预测寿命,Y1为FLASH芯片的未来可运行时长,Y2为FLASH芯片的已运行时长,Y2可以设置为FLASH闪存产品第一次启动开始记录的运行时长:如果是新产品融合了本发明实施例的寿命预测功能,那么在启动时会主动记录累计运行时长,只需要读取此记录时长即可;如果用于老产品,之前没有累计运行时长记录,可以用读取出厂时间或者版本编译时间来代替。本发明实施例通过基准统计时长预测闪存芯片的未来可运行时长,确保了预测结果更加准确可靠。
在上述各实施例的基础上,进一步地,所述根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数,包括:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
具体地,当某个特定时间段内统计的已擦除次数数据方差最小,说明此特定时间段内统计数据和整体平均值接近,也就是接近业务整体擦写FLASH芯片的平均情况,说明该特定时间段是后续预测的基准统计时长,后续各业务擦写FLASH的平均值情况和基准统计时长相近。以T2为单位统计周期,例如T2为一天、1小时等,在第一预设周期T1内,以T2的整数倍n*T2(简记为nT2)为采样周期,计算每个nT2采样周期内的已擦除次数。例如,T1为60天,单位统计周期T2为1天,则统计在60天内以1天为采样周期的已擦除次数,以2天为采样周期的已擦除次数,以3天为采样周期的已擦除次数等,其中n的最大值可以为T1与T2比值的取整数。已擦除次数的统计步骤参照上述注册探测函数获取已擦除次数的方法,此处不再赘述。
之后,根据公式(3)计算在第一预设周期T1内的平均擦除次数:
其中,d(w)为第w个单位统计周期内的已擦除次数,且w<T1。
然后,根据公式(4)计算每个采样周期nT2的擦除次数方差:
其中,为采样周期nT2的擦除次数方差,n、m为正整数,且m=INT(T1/nT2),INT为取整函数。
通过公式(4)确定每个采样周期的擦除次数方差之后,将中的最小值对应的采样周期nT2作为闪存芯片的基准统计时长,然后将T1周期内,采集到的以nT2作为采样周期的各个周期内的擦除次数求平均值,将该平均值作为基准统计时长内的基准擦除次数。
例如,T2为1天,T1为60天,则在FLASH产品运行时,分别记录60天的已擦除次数数据,即通过统计得到d(1)、d(2)、…、d(60)的值,然后通过公式计算60天内每天的平均已擦除次数。
当n=1时,m=60,所得到的方差为每1天的统计值计算的方差:
当n=7时,m=8,所得到的方差为每7天的统计值计算的方差:
当n=16时,m=3,所得到的方差为每16天的统计值计算的方差:
在n取1-30时,取的最小值,此时的n值代表意义为:以n天为基准统计时长时,擦写FLASH的情况最为平稳,所以用时间段n天来预测的未来擦写FLASH分区的情况和n天内检测的平均擦写情况相近,所以此时预测的寿命最准确,最少误告警或者漏告警的情况。例如,通过计算得到6天为基准统计时长,则可以根据6天统计的已擦除次数预测FLASH芯片的寿命。
在上述各实施例的基础上,进一步地,该方法还包括:
获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数,包括:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
具体地,现有的FLASH寿命的预测基于整片FLASH芯片,对于有各种功能分区的情况,不能正确的预测FLASH芯片的实际使用寿命。假如FLASH芯片分成多个分区,其中分区A读写频繁,且A分区是功能分区,如果此分区失效整个产品就会失效。在A分区读写相对频繁时,整个A分区的块会率先失效,如果A分区很小,其占整个芯片比率小,有可能达不到告警的阈值,但此时产品已经失效。为了解决这一问题,本发明实施例中分别预测FLASH闪存芯片中各个分区的寿命,将分区预测寿命最小值作为整个FLASH闪存芯片的预测寿命。首先,获取FLASH闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址,获取FLASH信息的方式有多种,例如从用户空间获取,或者直接从内核获取,包括且不限于采用定时器触发获取方式,也可以直接提取内核启动时保存的FLASH芯片信息。其中,分区起始地址用于定位各个分区,擦除块信息包括擦除块大小,表示一次擦除FLASH区块的大小。
当FLASH闪存芯片进行擦除操作时,运行擦除函数,此时会调用探测处理函数,通过探测处理函数返回每次擦除操作的擦除数据长度和擦除起始地址,通过擦除地址用于定位所擦除的具体分区,擦除数据长度用于计算已擦除次数,分区已擦除次数=获取的分区的擦除统计数据长度/擦除块大小,结合分区可擦除次数,即可得到每个分区的预测寿命,其中分区可擦除次数=分区可擦除块数量*块可擦除次数=(分区长度/擦除块大小)*块可擦除次数,以上这些参数都可通过FLASH信息获得,此处不再赘述。之后,对每个分区的统计数据进行单独存储,当该分区有擦除操作时,对该分区的已擦除次数进行累加,以此获得该分区的累计已擦除次数。若某个分区运行一段时间之后才开始统计已擦除次数,则可以根据该分区当前统计时间段T内FLASH的擦写次数为N,累计运行时长T0内,预测本分区的已擦写次数为:(T0/T)*N,此值作为后续进行寿命预测的参数,其中T等于上述所获取的基准统计时长nT2时最为准确。本发明实施例中FLASH芯片寿命预测采用波动最小值作为基准值,预测更加准确,通过区分各个分区寿命,充分考虑了产品的整体性,减小了误告警和漏告警的可能。
在上述各实施例的基础上,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
具体地,统计完各个分区的已擦除次数之后,就可预测每个分区的实际寿命,结合上面各个实施例的详细分析,可得分区实际寿命=已运行时长+[(分区长度/擦除块大小)*单块可擦除次数-获取的擦除数据长度/擦除块大小]*基准统计时长/基准擦除次数。之后,将同一FLASH闪存芯片各个分区的实际寿命的最小值作为整个FLASH芯片的预测寿命,提高了FLASH闪存芯片寿命预测的正确率。
在上述各实施例的基础上,该方法还包括:
获取所述闪存芯片的配置寿命;
若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警。
具体地,现有的寿命告警主要是通过预先设定擦写次数的阈值与已统计的擦写次数比较大小来实现,当设置的阈值太大时,寿命告警太迟,可能来不及更替产品,导致数据丢失;当设置的阈值太小时,对FLASH芯片资源是一种浪费,增加了产品的维护和运营成本,两种情况都不能很好的起到预警作用。为了解决上述问题,在本发明实施例中,预先获取闪存芯片的配置寿命,然后判断闪存芯片的预测寿命是否小于配置寿命,若是,则产出告警,否则,不进行告警。
例如,在FLASH闪存芯片产品首次运行且还没有预测寿命的基准统计时长时,需要每天统计一次数据并保存,循环统计60天后可计算出方差最小的统计基准时长nT2。当确定基准统计时长,每隔一个基准统计时长去读取保存的擦写统计值,然后根据擦写统计值用公式计算出FLASH芯片的预测寿命,根据计算的预测寿命与产品配置年限的对比,决定是否告警。
本发明实施例提供的闪存芯片的寿命预测方法,适用于所有需要监测FLASH寿命的产品,无论在何种CPU架构和Linux内核版本,只需简单的重新适配FLASH擦除函数对应的探测处理函数即可,寿命预测采用波动最小值作为基准值,预测更加准确,区分各个分区寿命,充分考虑了产品的整体性,减小了误告警和漏告警的可能,且该方法易移植以及可配置性强,节约了移植维护升级成本。
基于同样的发明构思,本发明实施例还提供一种闪存芯片的寿命预测装置,图2为本发明实施例提供的闪存芯片的寿命预测装置的结构示意图,如图2所示,该装置包括:初始化模块21、注册模块22、探测模块23和预测模块24,其中:
初始化模块21用于根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;注册模块22用于在所述擦除函数的函数入口注册所述探测处理函数;探测模块23用于在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;预测模块24用于根据所述已擦除次数,预测所述闪存芯片的寿命。
可选地,所述预测模块包括:
基准确定单元,用于根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
未来可运行预测单元,用于根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
寿命预测单元,用于根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
可选地,所述基准确定单元具体用于:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
可选地,所述装置还包括:
第一获取模块,用于获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述探测模块具体用于:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
可选地,所述预测模块具体用于:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
可选地,该装置还包括:
第二获取模块,用于获取所述闪存芯片的配置寿命;
告警模块,用于若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警。
本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。本发明实施例提供的闪存芯片的寿命预测装置,通过在闪存芯片的内核层注册擦除函数对应的探测处理函数,通过探测处理函数获取擦除数据,从而确定闪存芯片的已擦除次数,通过注入探测的方式,能适配所有闪存芯片,同时能在不同版本Linux系统上快速移植,节约了移植维护升级成本。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

Claims (12)

1.一种闪存芯片的寿命预测方法,其特征在于,包括:
根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;
在所述擦除函数的函数入口注册所述探测处理函数;
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;
根据所述已擦除次数,预测所述闪存芯片的寿命。
2.根据权利要求1所述的方法,其特征在于,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
3.根据权利要求2所述的方法,其特征在于,所述根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数,包括:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
4.根据权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数,包括:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述已擦除次数,预测所述闪存芯片的寿命,包括:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
6.根据权利要求5所述的方法,其特征在于,还包括:
获取所述闪存芯片的配置寿命;
若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警。
7.一种闪存芯片的寿命预测装置,其特征在于,包括:
初始化模块,用于根据闪存芯片的擦除函数确定所述闪存芯片的探测处理函数,其中,所述探测处理函数用于监测所述擦除函数的擦除参数;
注册模块,用于在所述擦除函数的函数入口注册所述探测处理函数;
探测模块,用于在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数在监测所述擦除函数的擦除参数后返回的擦除数据确定所述闪存芯片的已擦除次数;
预测模块,用于根据所述已擦除次数,预测所述闪存芯片的寿命。
8.根据权利要求7所述的装置,其特征在于,所述预测模块包括:
基准确定单元,用于根据所述已擦除次数和所述闪存芯片的已运行时长,确定所述闪存芯片的基准统计时长和所述基准统计时长内的基准擦除次数;
未来可运行预测单元,用于根据所述闪存芯片的可擦除次数、所述基准统计时长、所述基准擦除次数和所述已擦除次数,确定所述闪存芯片的未来可运行时长;
寿命预测单元,用于根据所述未来可运行时长和所述已运行时长之和确定所述闪存芯片的预测寿命。
9.根据权利要求8所述的装置,其特征在于,所述基准确定单元具体用于:
在第一预设周期T1内,以nT2为采样周期,计算每个所述采样周期内的已擦除次数,其中第一预设周期T1小于所述闪存芯片的已运行时长,T2为单位统计周期,且T1>T2,n为大于0的整数;
根据每个所述采样周期内的已擦除次数,计算每个所述采样周期的擦除次数方差;
将所述擦除次数方差中的最小值对应的采样周期作为所述闪存芯片的基准统计时长;
将所述基准统计时长内的平均已擦除次数作为所述基准统计时长内的基准擦除次数。
10.根据权利要求7-9任一所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取所述闪存芯片的擦除块信息、每个分区的分区长度和分区起始地址;
相应地,所述擦除参数包括:擦除数据长度和擦除起始地址;
相应地,所述探测模块具体用于:
在所述闪存芯片进行擦除操作过程中,运行所述擦除函数,调用所述探测处理函数,根据所述探测处理函数返回的当前擦除起始地址、擦除数据长度和分区长度,确定当前擦除数据对应的擦除分区;
根据所述探测处理函数返回的当前擦除数据长度和闪存芯片的擦除块信息,计算所述闪存芯片中每个分区的已擦除次数。
11.根据权利要求10所述的装置,其特征在于,所述预测模块具体用于:
根据所述闪存芯片中每个分区的已擦除次数,预测每个分区的实际寿命;
将所述分区实际寿命中的最小值,作为所述闪存芯片的预测寿命。
12.根据权利要求11所述的装置,其特征在于,还包括:
第二获取模块,用于获取所述闪存芯片的配置寿命;
告警模块,用于若所述闪存芯片的预测寿命小于所述配置寿命,则产生告警。
CN201910175550.XA 2019-03-08 2019-03-08 一种闪存芯片的寿命预测方法及装置 Active CN110007857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910175550.XA CN110007857B (zh) 2019-03-08 2019-03-08 一种闪存芯片的寿命预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910175550.XA CN110007857B (zh) 2019-03-08 2019-03-08 一种闪存芯片的寿命预测方法及装置

Publications (2)

Publication Number Publication Date
CN110007857A true CN110007857A (zh) 2019-07-12
CN110007857B CN110007857B (zh) 2022-08-19

Family

ID=67166654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910175550.XA Active CN110007857B (zh) 2019-03-08 2019-03-08 一种闪存芯片的寿命预测方法及装置

Country Status (1)

Country Link
CN (1) CN110007857B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515798A (zh) * 2019-08-08 2019-11-29 吉林大学 基于sd卡带有性能寿命评估的存储系统及其存储方法
CN111312326A (zh) * 2020-03-09 2020-06-19 宁波三星医疗电气股份有限公司 闪存寿命测试方法、装置、电力采集终端及存储介质
CN112084088A (zh) * 2020-09-04 2020-12-15 卡莱特(深圳)云科技有限公司 发送卡寿期监督方法
CN114138176A (zh) * 2021-09-16 2022-03-04 浙江大华技术股份有限公司 Nor Flash的擦除、升级方法及装置、计算机设备和存储介质
CN116700602A (zh) * 2022-12-08 2023-09-05 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备
CN116795452A (zh) * 2023-07-20 2023-09-22 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159169A (zh) * 2006-10-05 2008-04-09 国际商业机器公司 用于闪存的寿命终止预测的方法和电子设备
CN101615156A (zh) * 2009-03-31 2009-12-30 杨敬东 可实时显示移动储存设备擦写寿命的系统
CN101640069A (zh) * 2008-08-01 2010-02-03 群联电子股份有限公司 用于闪速存储器的平均磨损方法、储存系统与控制器
CN107710140A (zh) * 2015-11-27 2018-02-16 株式会社日立制作所 存储系统
CN107967928A (zh) * 2017-10-18 2018-04-27 武汉忆数存储技术有限公司 一种基于数学模型的闪存芯片寿命预测方法
CN108766496A (zh) * 2018-05-23 2018-11-06 武汉忆数存储技术有限公司 一种在线动态预测闪存芯片寿命的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159169A (zh) * 2006-10-05 2008-04-09 国际商业机器公司 用于闪存的寿命终止预测的方法和电子设备
CN101640069A (zh) * 2008-08-01 2010-02-03 群联电子股份有限公司 用于闪速存储器的平均磨损方法、储存系统与控制器
CN101615156A (zh) * 2009-03-31 2009-12-30 杨敬东 可实时显示移动储存设备擦写寿命的系统
CN107710140A (zh) * 2015-11-27 2018-02-16 株式会社日立制作所 存储系统
CN107967928A (zh) * 2017-10-18 2018-04-27 武汉忆数存储技术有限公司 一种基于数学模型的闪存芯片寿命预测方法
CN108766496A (zh) * 2018-05-23 2018-11-06 武汉忆数存储技术有限公司 一种在线动态预测闪存芯片寿命的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAREN: "STM32 FLASH擦除、写入以及防止误擦除程序代码", 《HTTPS://WWW.21IC.COM/APP/MCU/201812/778744.HTM》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515798A (zh) * 2019-08-08 2019-11-29 吉林大学 基于sd卡带有性能寿命评估的存储系统及其存储方法
CN110515798B (zh) * 2019-08-08 2021-06-04 吉林大学 基于sd卡带有性能寿命评估的存储系统及其存储方法
CN111312326A (zh) * 2020-03-09 2020-06-19 宁波三星医疗电气股份有限公司 闪存寿命测试方法、装置、电力采集终端及存储介质
CN112084088A (zh) * 2020-09-04 2020-12-15 卡莱特(深圳)云科技有限公司 发送卡寿期监督方法
CN112084088B (zh) * 2020-09-04 2024-03-01 卡莱特云科技股份有限公司 发送卡寿期监督方法
CN114138176A (zh) * 2021-09-16 2022-03-04 浙江大华技术股份有限公司 Nor Flash的擦除、升级方法及装置、计算机设备和存储介质
CN114138176B (zh) * 2021-09-16 2024-08-27 浙江大华技术股份有限公司 Nor Flash的擦除、升级方法及装置、计算机设备和存储介质
CN116700602A (zh) * 2022-12-08 2023-09-05 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备
CN116700602B (zh) * 2022-12-08 2024-04-12 荣耀终端有限公司 一种查询扩展内存寿命的方法及设备
CN116795452A (zh) * 2023-07-20 2023-09-22 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备
CN116795452B (zh) * 2023-07-20 2024-04-02 龙芯中科(北京)信息技术有限公司 驱动程序兼容性的确定方法、装置及设备

Also Published As

Publication number Publication date
CN110007857B (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN110007857B (zh) 一种闪存芯片的寿命预测方法及装置
CN102081573B (zh) 用于记录设备重启原因的装置及方法
CN106682162B (zh) 日志管理方法及装置
CN102289398A (zh) 重启测试方法
CN109460343A (zh) 基于日志的系统异常监控方法、装置、设备及存储介质
RU2653336C1 (ru) Способ диагностики сбоя электропитания в устройстве беспроводной связи
WO2017079220A2 (en) Full duplex distributed telemetry system
CN110580220B (zh) 测量代码段执行时间的方法及终端设备
CN109542341B (zh) 一种读写io监测方法、装置、终端及计算机可读存储介质
US11023335B2 (en) Computer and control method thereof for diagnosing abnormality
CN112558982B (zh) 代码检测方法、装置及计算机设备
CN113590405A (zh) 硬盘错误的检测方法、装置、存储介质和电子装置
CN111338864B (zh) 内存问题检测方法、装置、计算机设备及存储介质
CN110633199A (zh) 用于支持智能合约的区块链的测试装置、方法及介质
CN111488288A (zh) 一种测试bmc acd稳定性的方法、装置、终端及存储介质
CN116820610A (zh) 一种可观测领域中对用户态程序动态跟踪的方法和装置
CN115292201B (zh) 函数调用栈解析和回溯方法与装置
CN116719656A (zh) 优化故障诊断日志收集过程的方法、装置、终端及介质
CN116302738A (zh) 一种测试芯片的方法、系统、设备和存储介质
CN115827298A (zh) 一种服务器开机故障定位方法、装置、终端及存储介质
CN112650613B (zh) 一种错误信息处理方法、装置、电子设备及存储介质
CN114416140A (zh) 一种基于ecu的升级方法及装置
US7877474B2 (en) Method for generating and administering templates for event management
CN114496053A (zh) 数据异常检测方法、装置、设备及计算机可读存储介质
CN114253825A (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
GR01 Patent grant
GR01 Patent grant