一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储寿命预警方法及装置与流程

2022-02-21 11:57:04 来源:中国专利 TAG:


1.本发明涉及数据存储技术领域,特别是涉及一种存储寿命预警方法及存储寿命预警装置。


背景技术:

2.标准尺寸安全存储卡(standard size sd,也称secure digital memory card,sd)以及微型数字安全存储卡(microsd card,也称trans-flash card,tf),均为sda协会制定的行业规范,由于具有体积小、数据传输速度快、可热插拔等优良的特性,广泛使用于手机、相机、行车记录仪等电子设备上。
3.sd、tf卡中使用的存储介质为快闪存储器(nand flash),它是一种电子式可擦除可编程的非易逝性存储器,允许在操作中被多次擦除。根据闪存基本存储单元(cell)中储存电子单元密度可分为:slc(单层次存储单元)、mlc(双层存储单元)、tlc(三层存储单元)和qlc(四层存储单元),从slc到qlc,成本降低、容量增大但是速度变慢、寿命降低。并且随着擦除次数的增多,存储速度以及可靠性都会下降。
4.闪存芯片有寿命限制,其寿命即它的p/e cycle(program/erase cycle,编程和擦除循环)次数。当闪存芯片的编程/擦除循环次数超过它的标称寿命上限,将可能导致闪存的存储单元产生缺陷并最终失效,失去存储电荷的能力,闪存芯片的可靠性和性能不再得到保障。由于闪存存储设备自身不带有寿命显示功能,用户不能及时的获取闪存存储设备的健康状态并更换闪存设备,从而导致数据丢失的严重问题。


技术实现要素:

5.基于此,有必要针对传统技术中用户不能及时获取闪存存储设备的健康状态并在闪存存储设备的编程/擦除循环次数超过它的标称寿命上限后更换闪存设备,从而导致数据丢失的问题,提供一种存储寿命预警方法及存储寿命预警装置。
6.一种存储寿命预警方法,包括:
7.获取单层次存储单元的编程/擦除循环次数;
8.获取三层存储单元的编程/擦除循环次数;
9.判断所述单层次存储单元的编程/擦除循环次数是否达到单层标称阈值;
10.若是,则进行寿命预警;
11.若否,则判断所述三层存储单元的编程/擦除循环次数是否达到三层标称阈值;
12.若是,则进行寿命预警。
13.在其中一个实施例中,所述获取单层次存储单元的编程/擦除循环次数,包括:
14.每次对所述单层次存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数;
15.根据所述单层次存储单元中所有块的编程/擦除循环次数和所述单层次存储单元中块的数量得到所述单层次存储单元中所有块的编程/擦除循环次数的平均值以作为所述
单层次存储单元的编程/擦除循环次数。
16.在其中一个实施例中,所述获取三层存储单元的编程/擦除循环次数,包括:
17.每次对所述三层存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数;
18.根据所述三层存储单元中所有块的编程/擦除循环次数和所述三层存储单元中块的数量得到所述三层存储单元中所有块的编程/擦除循环次数的平均值以作为所述三层存储单元的编程/擦除循环次数。
19.在其中一个实施例中,所述进行寿命预警包括点亮led灯以进行寿命预警。
20.在其中一个实施例中,所述获取单层次存储单元的编程/擦除循环次数之前,还包括:
21.对闪存存储设备进行初始化。
22.一种存储寿命预警装置,包括:
23.单层获取模块,用于获取单层次存储单元的编程/擦除循环次数;
24.三层获取模块,用于获取三层存储单元的编程/擦除循环次数;
25.单层判断模块,用于判断所述单层次存储单元的编程/擦除循环次数是否达到第一标称阈值;
26.报警模块,用于在所述单层次存储单元的编程/擦除循环次数达到所述单层标称阈值时,进行寿命预警;
27.三层判断模块,用于在所述单层次存储单元的编程/擦除循环次数未达到所述三层标称阈值时,判断所述三层存储单元的编程/擦除循环次数是否达到三层标称阈值;所述报警模块还用于在所述三层存储单元的编程/擦除循环次数达到所述三层标称阈值时,进行寿命预警。
28.在其中一个实施例中,所述单层获取模块包括:
29.单层计数模块,用于每次对所述单层次存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数;
30.单层计算模块,用于根据所述单层次存储单元中所有块的编程/擦除循环次数和所述单层次存储单元中块的数量得到所述单层次存储单元中所有块的编程/擦除循环次数的平均值以作为所述单层次存储单元的编程/擦除循环次数。
31.在其中一个实施例中,所述三层获取模块包括:
32.三层计数模块,用于每次对所述三层存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数;
33.三层计算模块,用于根据所述三层存储单元中所有块的编程/擦除循环次数和所述三层存储单元中块的数量得到所述三层存储单元中所有块的编程/擦除循环次数的平均值以作为所述三层存储单元的编程/擦除循环次数。
34.在其中一个实施例中,还包括led,所述报警模块进行寿命预警时向所述led输出控制信号以点亮所述led。
35.在其中一个实施例中,还包括初始化模块,用于对所述存储寿命预警装置进行初始化。
36.上述存储寿命预警方法及存储寿命预警装置对单层次存储单元和三层存储单元
的使用寿命分别进行评估,在单层次存储单元的编程/擦除循环次数达到单层标称阈值和在三层存储单元的编程/擦除循环次数达到三层标称阈值时都进行寿命预警,提示使用者更换闪存存储设备,从而避免闪存存储设备使用寿命达到寿命上限导致数据丢失。
附图说明
37.图1为一实施例中的存储寿命预警方法的流程图。
38.图2为另一实施例中的存储寿命预警方法的流程图。
39.图3为一实施例中的存储寿命预警装置的结构框图。
40.附图标记说明:
41.300、存储寿命预警装置;310、单层获取模块;320、三层获取模块;330、单层判断模块;340、报警模块;350、三层判断模块。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.在本技术的描述中,需要理解的是,术语“中心”、“横向”、“上”、“下”“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”以及“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,需要说明的是,当元件被称为“形成在另一元件上”时,它可以直接连接到另一元件上或者可能同时存在居中元件。当一个元件被认为是“连接”另一个元件,它可以直接连接到另一元件或者同时存在居中元件。相反,当元件被称作“直接在”另一元件“上”时,不存在中间元件。
44.图1为一实施例中的存储寿命预警方法的流程图。该存储寿命预警方法可以适用于任意的闪存存储设备,例如sd、microsd、emmc、nm、ssd等。如图1所示,存储寿命预警方法包括以下步骤:
45.步骤s120,获取单层次存储单元的编程/擦除循环次数。
46.步骤s130,获取三层存储单元的编程/擦除循环次数。
47.具体的,闪存存储设备中包括单层次存储单元和三层次存储单元,分别获取该闪存设备中单层次存储单元的编程/擦除循环次数和三层存储单元的编程/擦除循环次数。
48.步骤s140,判断单层次存储单元的编程/擦除循环次数是否达到单层标称阈值。
49.具体的,可以根据单层次存储单元的寿命值设置单层标称阈值。判断单层次存储单元的编程/擦除循环次数是否达到单层标称阈值,若是,则执行步骤s150,否则,执行步骤s160。
50.步骤s150,进行寿命预警。
51.具体的,当单层次存储单元的编程/擦除循环次数达到单层标称阈值则表示单层次存储单元即将达到寿命上限,此时进行寿命预警以通知使用者更换闪存存储设备,从而避免单层次存储单元达到寿命上限导致数据丢失。进行寿命预警是通过诸如led显示、语音
提示、显示屏显示、投影显示、短信提示中的任意一种。
52.步骤s160,判断三层存储单元的编程/擦除循环次数是否达到三层标称阈值。
53.具体的,可以根据三层存储单元的寿命值设置三层标称阈值。由于单层存储单元的寿命远高于三层存储单元的寿命,因此,单层次存储单元和三层存储单元需要适用不同的寿命评估标准,可以设置单层标称阈值大于三层标称阈值。
54.当判断到单层次存储单元的编程/擦除循环次数未达到单层标称阈值则表示单层次存储单元中的块继续进行编程和擦除仍然可以保证数据安全性,此时,继续判断三层存储单元的编程/擦除循环次数是否达到三层标称阈值,若是,则执行步骤150进行寿命预警。
55.上述存储寿命预警方法对单层次存储单元和三层存储单元的使用寿命进行评估,在单层次存储单元的编程/擦除循环次数达到单层标称阈值和在三层存储单元的编程/擦除循环次数达到三层标称阈值时都进行寿命预警,提示使用者更换闪存存储设备,从而避免闪存存储设备使用寿命达到寿命上限导致数据丢失。
56.图2为另一实施例中的存储寿命预警方法的流程图。如图2所示,存储寿命预警方法包括以下步骤:
57.步骤s110,对闪存存储设备进行初始化。
58.步骤s121,每次对单层次存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数。
59.具体的,将闪存存储设备中的块(block)作为基础存储单元来进行寿命监测。在闪存存储设备中会分配一部分存储单元作为单层次存储单元,以用于存储文件系统、坏块等元数据信息。单层次存储单元中包含多个块,每次对单层次存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数,该块的编程/擦除循环次数即为对该块擦除操作的次数。本实施例中将第i个块的编程/擦除循环次数记为ei。当检测到擦除操作时对该块的编程/擦除循环次数在原来次数的基础上加一。单层次存储单元中各块的编程/擦除循环次数信息可以作为元数据存储并采用双备份避免数据丢失后无法使用。
60.步骤s122,根据单层次存储单元中所有块的编程/擦除循环次数和单层次存储单元中块的数量得到单层次存储单元中所有块的编程/擦除循环次数的平均值以作为单层次存储单元的编程/擦除循环次数。
61.具体的,单层次存储单元的编程/擦除循环次数的计算公式如下:
[0062][0063]
其中,n为单层次存储单元中块的总数,ei为第i个块的编程/擦除循环次数。根据单层次存储单元中所有块的编程/擦除循环次数和单层次存储单元中块的数量可以计算得到单层次存储单元中所有块的编程/擦除循环次数的平均值e
slc_avg
以作为单层次存储单元的编程/擦除循环次数。单层次存储单元中各个块的损耗均衡(wear leveling)越均匀,则利用各块的编程/擦除循环次数的平均值e
slc_avg
以作为单层次存储单元的编程/擦除循环次数进行的寿命预测越准确。可以利用闪存转换层(flash translation layer)算法和垃圾回收(garbage collection)算法来保证损耗均衡。
[0064]
步骤s131,每次对三层存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数。
[0065]
步骤s132,根据三层存储单元中所有块的编程/擦除循环次数和三层存储单元中块的数量得到三层存储单元中所有块的编程/擦除循环次数的平均值以作为三层存储单元的编程/擦除循环次数。
[0066]
具体的,步骤s131与步骤s121的计算过程类似,步骤s132与步骤s122的计算过程类似。当检测到对三层存储单元中的块进行擦除操作时对该块的编程/擦除循环次数在原来计数的基础上加一,该块的编程/擦除循环次数即为对该块擦除操作的次数。根据三层存储单元中所有块的编程/擦除循环次数和三层存储单元中块的数量可以计算得到三层存储单元中所有块的编程/擦除循环次数的平均值e
tlc_avg
以作为三层存储单元的编程/擦除循环次数。
[0067]
步骤s140,判断单层次存储单元的编程/擦除循环次数是否达到单层标称阈值。
[0068]
具体的,可以根据单层次存储单元的寿命值设置单层标称阈值。判断单层次存储单元的编程/擦除循环次数是否达到单层标称阈值,若是,则执行步骤s140,否则,执行步骤s150。
[0069]
步骤s151,点亮led灯以进行寿命预警。
[0070]
具体的,当单层次存储单元的编程/擦除循环次数达到单层标称阈值则表示单层次存储单元即将达到寿命上限,此时进行寿命预警以通知使用者更换闪存存储设备,从而避免单层次存储单元达到寿命上限导致数据丢失。本实施例中,闪存存储设备具有led,当需要进行寿命预警时,向led输出控制信号以点亮led灯。led灯点亮的报警形式包括但不限于常亮、闪烁等。
[0071]
步骤s160,判断三层存储单元的编程/擦除循环次数是否达到三层标称阈值。
[0072]
具体的,可以根据三层存储单元的寿命值设置三层标称阈值。由于单层存储单元的寿命远高于三层存储单元的寿命,因此,单层次存储单元和三层存储单元需要适用不同的寿命评估标准,可以设置单层标称阈值大于三层标称阈值。
[0073]
当判断到单层次存储单元的编程/擦除循环次数未达到单层标称阈值则表示单层次存储单元中的块继续进行编程和擦除仍然可以保证数据安全性,此时,继续判断三层存储三元的编程/擦除循环次数是否达到三层标称阈值,若是,则执行步骤s151点亮led灯以进行寿命预警。
[0074]
本实施例中,单层次存储单元的编程/擦除循环次数达到单层标称阈值进行的寿命预警形式可以与三层存储单元的编程/擦除循环次数达到三层标称阈值进行的寿命预警形式不同。例如,单层次存储单元的编程/擦除循环次数达到单层标称阈值时led常亮,三层存储单元的编程/擦除循环次数达到三层标称阈值时led闪烁,从而可以区分达到寿命上限的存储单元。又例如,led的数量可以有多个,单层次存储单元的编程/擦除循环次数达到单层标称阈值和三层存储单元的编程/擦除循环次数达到三层标称阈值时可以控制不同颜色的led点亮,从而可以区分达到寿命上限的存储单元。在其他实施例中,也可以设置单层次存储单元的编程/擦除循环次数达到单层标称阈值进行的寿命预警形式与三层存储单元的编程/擦除循环次数达到三层标称阈值进行的寿命预警形式相同。
[0075]
需要说明的是上述存储寿命预警方法中各步骤的实施顺序并不仅限于附图1和附图2中的实施顺序,例如,步骤s130可以在步骤s120之前执行。
[0076]
本技术还提供一种存储寿命预警装置,该存储寿命预警装置可以为诸如sd、
microsd、emmc、nm、ssd等任意的闪存存储设备,并且具备预警功能。
[0077]
图3为一实施例中的闪存存储设备的结构框图。如图3所示,存储寿命预警装置300包括单层获取模块310、三层获取模块320、单层判断模块330、报警模块340以及三层判断模块350。
[0078]
单层获取模块310用于获取单层次存储单元的编程/擦除循环次数。三层获取模块320用于获取三层存储单元的编程/擦除循环次数。单层判断模块330用于判断单层次存储单元的编程/擦除循环次数是否达到第一标称阈值。报警模块340用于在单层次存储单元的编程/擦除循环次数达到单层标称阈值时,进行寿命预警。三层判断模块350用于在单层次存储单元的编程/擦除循环次数未达到三层标称阈值时,判断三层存储单元的编程/擦除循环次数是否达到三层标称阈值。报警模块340还用于在三层存储单元的编程/擦除循环次数达到三层标称阈值时,进行寿命预警。
[0079]
本实施例中存储寿命预警装置300中各模块执行的步骤可以是上述存储寿命预警方法中的步骤,具体实施方式不再赘述,将各模块设置于闪存存储设备的主控或者固件或者除了主控之外的其他芯片中,从而执行对应步骤以进行寿命预警。上述存储寿命预警装置300对单层次存储单元和三层存储单元的使用寿命进行评估,在单层次存储单元的编程/擦除循环次数达到单层标称阈值和在三层存储单元的编程/擦除循环次数达到三层标称阈值时都进行寿命预警,提示使用者更换闪存存储设备,从而避免闪存存储设备使用寿命达到寿命上限导致数据丢失。
[0080]
在一实施例中,单层获取模块310包括单层计数模块及单层计算模块。单层计数模块用于每次对单层次存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数。单层计算模块用于根据单层次存储单元中所有块的编程/擦除循环次数和单层次存储单元中块的数量得到单层次存储单元中所有块的编程/擦除循环次数的平均值以作为单层次存储单元的编程/擦除循环次数。
[0081]
在一实施例中,三层获取模块320包括三层计数模块以及三层计算模块。三层计数模块用于每次对三层存储单元中的块进行擦除操作时,对该块的编程/擦除循环次数进行加一计数。三层计算模块用于根据三层存储单元中所有块的编程/擦除循环次数和三层存储单元中块的数量得到三层存储单元中所有块的编程/擦除循环次数的平均值以作为三层存储单元的编程/擦除循环次数。
[0082]
在一实施例中,存储寿命预警装置300还包括led。报警模块340进行寿命预警时向led输出控制信号以点亮led。
[0083]
在一实施例中,存储寿命预警装置300还包括初始化模块。初始化模块用于对存储寿命预警装置300进行初始化。
[0084]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0085]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献