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

一种阈值电压确定方法和装置与流程

2021-09-07 18:41:00 来源:中国专利 TAG:阈值 电压 装置 方法


1.

本技术:
涉及存储技术领域,特别是涉及一种阈值电压确定方法和装置。


背景技术:

2.固态硬盘等存储设备可以包含多个die(晶圆),一个die可以包括多个block(闪存块),一个block可以包括多个page(闪存页),一个word line(字线)可以包括多个存储单元,一个word line对应一个或者多个page。当需要写入数据时,可以向存储单元中充入电子,进而,当需要读取数据时,可以根据存储单元的电压值和阈值电压的大小关系,确定存储单元记录的信息。
3.然而,如果存储设备中的数据处于长时间未更新状态,存储单元中的电子会发生泄露,导致存储单元的电压值发生变化,进而,会导致在不同时刻写入数据的闪存块中存储单元的电压值分布的差异较大。
4.针对存储设备中的各闪存块,现有技术中,采取相同的阈值电压读取数据,进而,可能会导致数据读取出错。


技术实现要素:

5.本申请实施例的目的在于提供一种阈值电压确定方法和装置,可以在一定程度上避免数据读取出错。具体技术方案如下:
6.第一方面,为了达到上述目的,本申请实施例公开了一种阈值电压确定方法,所述方法包括:
7.对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
8.对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
9.可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
10.所述各闪存块为已写满数据的闪存块;
11.所述各闪存块位于同一晶圆中。
12.可选的,所述对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,包括:
13.对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
14.可选的,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
15.按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
16.在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
17.可选的,所述按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,包括:
18.按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
19.可选的,所述在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合,包括:
20.按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
21.可选的,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
22.确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
23.如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
24.可选的,所述方法还包括:
25.如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
26.如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块
与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
27.可选的,所述方法还包括:
28.如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
29.如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
30.可选的,所述方法还包括:
31.如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
32.如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
33.可选的,所述方法还包括:
34.如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件
时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
35.可选的,在所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中之前,所述方法还包括:
36.将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
37.将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
38.第二方面,为了达到上述目的,本申请实施例公开了一种阈值电压确定装置,所述装置包括:
39.划分模块,用于对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
40.确定模块,用于对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
41.可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
42.所述各闪存块为已写满数据的闪存块;
43.所述各闪存块位于同一晶圆中。
44.可选的,所述确定模块,具体用于对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
45.可选的,所述划分模块,具体用于按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
46.在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
47.可选的,所述划分模块,具体用于按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
48.可选的,所述划分模块,具体用于按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值
电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
49.可选的,所述划分模块,具体用于确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
50.如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
51.可选的,所述划分模块,还用于如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
52.如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
53.可选的,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
54.如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
55.可选的,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
56.如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个
闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
57.可选的,所述划分模块,还用于如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
58.可选的,所述装置还包括:
59.处理模块,用于将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
60.将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
61.在本申请实施的另一方面,为了达到上述目的,本申请实施例还公开了一种存储设备,所述存储设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
62.所述存储器,用于存放计算机程序;
63.所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的阈值电压确定方法。
64.在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在存储设备上运行时,实现如上述第一方面所述的阈值电压确定方法。
65.在本申请实施的又一方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在存储设备上运行时,使得存储设备执行上述第一方面所述的阈值电压确定方法。
66.本申请实施例提供了一种阈值电压确定方法,对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将各闪存块划分到不同的闪存块集合中,其中,针对任意两个闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻,对于每一闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
67.基于上述处理,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
68.当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
69.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1为本申请实施例提供的一种数据存储流程的示意图;
71.图2为本申请实施例提供的一种阈值电压确定方法的流程图;
72.图3为本申请实施例提供的一种对各闪存块进行划分方法的流程图;
73.图4为本申请实施例提供的一种二叉树结构;
74.图5为本申请实施例提供的一种对各闪存块进行划分方法的流程图;
75.图6为本申请实施例提供的一种阈值电压确定装置的结构图;
76.图7为本申请实施例提供的一种存储设备的结构图。
具体实施方式
77.下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
78.参见图1,图1为本申请实施例提供的一种数据存储流程的示意图。
79.虚拟闪存块(virtual block)可以包括不同晶圆中相同索引位置的多个闪存块。图1中填充有竖直线的矩形框可以表示虚拟闪存块中未写入数据的page,填充有斜线的矩形框可以表示虚拟闪存块中最新写入数据的page,填充灰色的矩形框可以表示虚拟闪存块中已写满数据的page。
80.存储设备中可以设置有freeblklist(空闪存块列表)、currentblklist(当前闪存块列表)和dirtyblklist(写满闪存块列表)。
81.freeblklist中一个虚拟闪存块中的page均未写入数据;currentblklist中一个虚拟闪存块可以包括已写入数据的page和未写入数据的page;dirtyblklist中一个虚拟闪存块中的page均已写满数据。
82.freeblklist中可以记录当前未写入数据的虚拟闪存块的标识。当需要在一个虚拟闪存块中写入数据时,可以将该虚拟闪存块的标识从freeblklist删除,并记录在currentblklist中。虚拟闪存块的标识可以为虚拟闪存块的标识的索引号。currentblklist中的虚拟闪存块都没有写满,当currentblklist中的虚拟闪存块被写满时,可以将该虚拟闪存块的标识从currentblklist中删除,并记录在dirtyblklist中。
83.另外,currentblklist中还可以记录虚拟闪存块被写满数据,添加到写满闪存块列表中的时刻,用age_fun表示。
84.图1具体流程如下:首先在currentblklist中的虚拟闪存块中写入新数据,当存储设备放置一段时间后,该虚拟闪存块中的数据变为旧数据,旧数据可以理解为较早写入的数据。当再次写入数据时,若该虚拟闪存块没有被写满,该虚拟闪存块中有旧数据、新数据,新数据可以理解为较晚写入的数据,另外,该虚拟闪存块中还存在没有写入数据的page,此时dirtyblklist中的虚拟闪存块中都是旧数据;若该虚拟闪存块被写满,则将该虚拟闪存块移到dirtyblklist中,此时dirtyblklist中的虚拟闪存块中既有旧数据,又有新数据。然后,可以从freeblklist中移出一个虚拟闪存块到currentblklist中,进行下一次的写入操作。当freeblklist中的虚拟闪存块数目低于设定阈值时,启动垃圾回收操作,从dirtyblklist中选取一个虚拟闪存块进行擦除,然后加入freeblklist中。由图1可见,(1)表示第一次写入数据,(n)表示第n次写入数据,(n)表示第n次写入数据。可见,当经过多次数据写入后,dirtyblklist中记录的虚拟闪存块会包含较早写满数据的虚拟闪存块和较晚写满数据的虚拟闪存块。即,同时存在较早写满数据的闪存块和较晚写满数据的闪存块。
85.现有技术中,针对存储设备中的各闪存块,采取相同的阈值电压读取数据,进而,可能会导致数据读取出错。
86.为了解决上述问题,本申请实施例提供了一种阈值电压确定方法,参见图2,图2为本申请实施例提供的一种阈值电压确定方法的流程图,该方法可以包括以下步骤:
87.s201:对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将各闪存块划分到不同的闪存块集合中。
88.其中,针对任意两个闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻。
89.s202:对于每一闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
90.基于本申请实施例提供的阈值电压确定方法,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
91.本申请实施例提供的阈值电压确定方法,可以在存储设备每次上电时执行,或者,也可以在数据擦除次数达到预设次数时执行,但并不限于此。
92.在步骤s201中,预设电压阈值可以由技术人员根据经验进行设置。
93.第一闪存块的阈值电压可以称为第一阈值电压,第二闪存块的阈值电压可以称为第二阈值电压。
94.如果第二阈值电压与第一阈值电压之间的差值大于预设电压阈值,表明当前各闪存块的预设事件时刻的差距较大,即,各闪存块的阈值电压分布的差距较大,此时,如果采用相同的阈值电压读取数据,可能会导致数据读取出错。
95.一种实现方式中,如果第二阈值电压与第一阈值电压之间的差值大于预设电压阈
值,根据本申请实施例的方法,可以基于预设事件时刻的顺序,对各闪存块进行划分,得到多个闪存块集合,进而,使得同一闪存块集合中的闪存块的阈值电压分布的差距较小,能够采用同一阈值电压读取数据。
96.另外,对于slc(single level cell,单层式储存)的存储设备,闪存块的阈值电压为一个电压值;对于mlc(multi level cell,多层式储存)的存储设备,闪存块的阈值电压为三个电压值;对于tlc(trinary level cell,三层式储存)的存储设备,闪存块的阈值电压为七个电压值。
97.因此,在本申请的实施例中,闪存块的阈值电压可以用电压值组成的向量表示,相应的,阈值电压之间的差值可以用对应的向量之间的距离表示。
98.另外,如果闪存块的阈值电压包括多个电压值,阈值电压之间的差值也可以用对应的一组电压值的差值表示,或者,也可以用对应的多组电压值的差值表示。
99.例如,针对tlc存储设备,当第一闪存块的阈值电压与第二闪存块的阈值电压中,存在对应的一组电压值的差值大于预设电压阈值时,可以将各闪存块划分到不同的闪存块集合。或者,当第一闪存块的阈值电压与第二闪存块的阈值电压中,存在对应的三组电压值的差值均大于预设电压阈值时,可以将各闪存块划分到不同的闪存块集合。
100.在对各闪存块进行划分时,可以按照预设份数进行划分,例如,按照预设事件时刻的顺序,直接将各闪存块划分为四份,每一份表示一个闪存块集合。在进行划分时,可以采用平均划分的方式,或者,也可以采取不平均划分的方式。
101.存储设备可以按照一定的划分规则,将各闪存块划分至不同的闪存块集合,或者,存储设备也可以按照预设事件时刻的顺序,对各闪存块进行排序,并对排序结果进行划分,得到多个闪存块集合。
102.在一个实施例中,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于已写满数据的闪存块的预设事件时刻;各闪存块为已写满数据的闪存块;各闪存块位于同一晶圆中。
103.已写满数据的闪存块的预设事件时刻可以为写满数据的时刻,即,已写满数据的闪存块的预设事件时刻可以为上述实施例中介绍的age_fun,相应的,针对当前未写满数据的闪存块,由于其仍未写满数据,因此,如果按照已写满数据的闪存块的预设事件时刻的含义,未写满数据的数据块的预设事件时刻晚于当前已写满数据的闪存块的预设事件时刻。
104.一种实现方式中,在确定闪存块的阈值电压时,存储设备可以根据本申请实施例的方法,仅对已写满数据的闪存块进行处理,确定出已写满数据的闪存块的阈值电压。即,待处理的各闪存块为已当前写满数据的闪存块。例如,存储设备可以根据本申请实施例的方法,确定位于同一晶圆的各已写满数据的闪存块的阈值电压。
105.进而,存储设备还可以根据与未已写满数据的闪存块位于同一晶圆中的已写满数据的闪存块的阈值电压,确定未写满数据的闪存块的阈值电压。例如,存储设备可以直接将同一晶圆中,已写满数据的闪存块的阈值电压的平均值,确定为未写满数据的闪存块的阈值电压。
106.例如,存储设备可以按照预设事件时刻从早到晚的顺序,对同一晶圆中的闪存块进行排序,得到表(1)。
107.表(1)
108.dirtyblklist[0]dirtyblklist[1]
……
dirtyblklist[l-1]dirtyblklist[l]
[0109]
dirtyblklist[0]表示预设事件时刻最早的闪存块,即,第一闪存块;dirtyblklist[l]表示预设事件时刻最晚的闪存块,即,第二闪存块;l 1表示该晶圆中闪存块的数目。
[0110]
在一个实施例中,参见图3,s201可以包括以下步骤:
[0111]
s2011:按照预设事件时刻的顺序,以二叉树方式从各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块。
[0112]
其中,端点闪存块至少包括第一闪存块和第二闪存块。
[0113]
参见图4,图4为本申请实施例提供的一种二叉树结构。
[0114]
该二叉树结构与表(1)相对应,l 1表示闪存块的数目,k表示二叉树的深度。
[0115]
v表示闪存块的阈值电压,例如,v0表示dirtyblklist[0](即第一闪存块)的阈值电压,表示dirtyblklist对应的闪存块的阈值电压。
[0116]
当二叉树的深度为2时,为v
l
,也即,第二闪存块的阈值电压。
[0117]
在一个实施例中,s2011可以包括以下步骤:按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
[0118]
例如,在确定第二阈值电压与第一阈值电压之间的差值大于预设电压阈值时,可以根据二叉树确定下一个端点闪存块。即,位于第一闪存块和第二闪存块的中点位置的闪存块(可以称为第三闪存块)。第三闪存块的阈值电压为(可以称为第三阈值电压),此时,二叉树的深度为3,为v
l/2

[0119]
本申请实施例中,按照预设事件时刻的顺序,位于第一闪存块和第二闪存块的中点位置的闪存块,可以称为中点闪存块。
[0120]
如果预设事件时刻位于第一闪存块和第二闪存块之间的闪存块的数量为奇数,则中点闪存块的预设事件时刻位于第一闪存块和第二闪存块之间,且预设事件时刻位于中点闪存块和第一闪存块之间的闪存块的数量(可以称为第一数量),与预设事件时刻位于中点闪存块和第二闪存块之间的闪存块的数量(可以称为第二数量)相同。
[0121]
如果预设事件时刻位于第一闪存块和第二闪存块之间的闪存块的数量为偶数,则中点闪存块的预设事件时刻位于第一闪存块和第二闪存块之间,且第一数量与第二数量的差值的绝对值为1。
[0122]
然后,存储设备可以继续判断第三阈值电压与第二阈值电压之间的差值是否大于预设电压阈值,如果大于,则可以将位于第三闪存块和第二闪存块的中点位置的闪存块,确定为端点闪存块。
[0123]
同理,如果第三阈值电压与第一阈值电压之间的差值大于预设电压阈值,则可以将位于第三闪存块和第一闪存块的中点位置的闪存块,确定为端点闪存块。
[0124]
以此类推,直至已确定出的任意相邻的两个端点闪存块的阈值电压之间的差值,不大于预设电压阈值。
[0125]
另外,为了提高数据读取的效率,即使存在相邻的两个端点闪存块的阈值电压之
间的差值大于预设电压阈值,然而,当前达到二叉树的预设深度,此时,也可以停止确定新的端点闪存块。其中,预设深度可以由技术人员根据经验进行设置。
[0126]
s2012:在任意两个端点闪存块的阈值电压之间的差值不大于预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
[0127]
在确定出端点闪存块后,针对任意两个端点闪存块,存储设备可以判断该两个端点闪存块的阈值电压的差值,是否大于预设电压阈值,如果不大于,存储设备则可以将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
[0128]
在一个实施例中,s2012可以包括以下步骤:按照预设事件时刻的顺序,如果端点闪存块中的第一端点闪存块的前一端点闪存块,与第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于预设电压阈值,将预设事件时刻位于第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
[0129]
其中,第一端点闪存块可以为确定出的任一端点闪存块。
[0130]
一种实现方式中,针对确定出的任一端点闪存块(即本申请实施例中的第一端点闪存块),存储设备可以判断按照预设事件时刻的顺序,第一端点闪存块的前一端点闪存块,与后一端点闪存块的阈值电压之间的差值,是否大于预设电压阈值。如果不大于,则存储设备可以将预设事件时刻位于第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
[0131]
另外,如果按照预设事件时刻的顺序,第一端点闪存块的前一端点闪存块,与后一端点闪存块的阈值电压之间的差值,大于预设电压阈值,则可以将预设事件时刻位于第一端点闪存块和第一端点闪存块的前一端点闪存块之间的闪存块,划分至一个闪存块集合,并将预设事件时刻位于第一端点闪存块和第一端点闪存块的后一端点闪存块之间的闪存块,划分至另一个闪存块集合。
[0132]
在一个实施例中,在s201之前,该方法还可以包括以下步骤:将第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为第一闪存块的阈值电压;将第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为第二闪存块的阈值电压。
[0133]
其中,第一预设数目和第二预设数目可以由技术人员根据经验进行设置,第一预设数目与第二预设数目可以相同,也可以不同。第一预设数目和第二预设数目的数值可以为3,或者,也可以为4,但并不限于此。
[0134]
例如,第一闪存块可以包含256个字线,字线的标识为0-255,第一预设数目为3,则可以计算标号为0、128和255的字线的阈值电压的平均值,作为第一阈值电压。
[0135]
一个字线的阈值电压可以根据谷搜索算法,以及该字线包含的存储单元的电压分布确定。
[0136]
计算第二阈值电压的方式,与计算第一阈值电压的方式类似,不再赘述。
[0137]
在一个实施例中,如果第二阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明当前各闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,即,当前各闪存块构成一个闪存块集合。
[0138]
因此,可以将第一阈值电压与第二阈值电压的平均值,确定为各闪存块中除第一闪存块和第二闪存块以外的闪存块的阈值电压。
[0139]
另外,在读取数据时,第一闪存块和第二闪存块的阈值电压可以分别采用确定出的第一阈值电压和第二阈值电压,或者,第一闪存块和第二闪存块的阈值电压,也可以采用第一阈值电压和第二阈值电压的平均值。
[0140]
在一个实施例中,参见图5,图5为本申请实施例提供的一种对各闪存块进行划分方法的流程图,可以包括以下步骤:
[0141]
s501:确定位于各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块。
[0142]
在本申请实施例中,可以采用平均划分的方式,对各闪存块进行划分,得到多个闪存块集合。
[0143]
一种实现方式中,可以基于预设事件时刻的顺序,对各闪存块进行排序,例如,可以按照预设事件时刻从早到晚的顺序,也可以按照从晚到早的顺序,对各闪存块进行排序。
[0144]
然后,可以确定出位于排序结果的中点位置的闪存块(即第三闪存块),也即上述示例中的dirtyblklist[l/2]。
[0145]
s502:如果第三闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第三闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第三闪存块,以及预设事件时刻位于第一闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第三闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0146]
在本申请实施例中,在确定出第三闪存块后,可以以第三闪存块为分界点,对各闪存块进行平均划分。
[0147]
如果第三阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第三闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,从第二闪存块至第三闪存块,也能够采用相同的阈值电压读取数据。
[0148]
因此,可以将第一闪存块、第三闪存块,以及预设事件时刻位于第一闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合,并将第二闪存块,以及预设事件时刻位于第三闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。即,以第三闪存块为分界点,将各闪存块划分为两个闪存块集合。
[0149]
在一个实施例中,该方法还可以包括以下步骤:
[0150]
步骤一,如果第三闪存块与第一闪存块的阈值电压之间的差值,不大于预设电压阈值,且第二闪存块与第三闪存块的阈值电压之间的差值,大于预设电压阈值,确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块,作为第四闪存块。
[0151]
在本申请实施例中,如果第三阈值电压与第一阈值电压之间的差值不大于预设电压阈值,且第二阈值电压与第三阈值电压的之间差值大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第二闪存块进行划分。
[0152]
例如,可以确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块(即第四闪存块)。第四闪存块的阈值电压可以称为第四阈值电压。
[0153]
步骤二,如果第四闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第四闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第四闪存块,以及预设事件时刻位于第一闪存块和第四闪存块的预设事件时刻之间的闪存块,确定为一个
闪存块集合;将第二闪存块,以及预设事件时刻位于第四闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0154]
如果第四阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第四闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第四闪存块至第二闪存块,也能够采用相同的阈值电压读取数据。
[0155]
即,以第四闪存块为分界点,将各闪存块划分为两个闪存块集合。
[0156]
在一个实施例中,该方法还可以包括以下步骤:
[0157]
步骤1,如果第二闪存块与第三闪存块的阈值电压之间的差值,不大于预设电压阈值,且第三闪存块与第一闪存块的阈值电压之间的差值,大于预设电压阈值,确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块,作为第五闪存块。
[0158]
在本申请实施例中,如果第三阈值电压与第二阈值电压之间的差值不大于预设电压阈值,且第一阈值电压与第三阈值电压的之间差值大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第三闪存块进行划分。
[0159]
例如,可以确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块(即第五闪存块)。第五闪存块的阈值电压可以称为第五阈值电压。
[0160]
步骤2,如果第二闪存块与第五闪存块的阈值电压之间的差值、第五闪存块与第一闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第五闪存块,以及预设事件时刻位于第一闪存块和第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第五闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0161]
如果第五阈值电压与第二阈值电压之间的差值不大于预设电压阈值,表明从第五闪存块至第二闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第一闪存块至第五闪存块,也能够采用相同的阈值电压读取数据。
[0162]
即,以第五闪存块为分界点,将各闪存块划分为两个闪存块集合。
[0163]
在一个实施例中,该方法还可以包括以下步骤:
[0164]
步骤一,如果第二闪存块与第三闪存块的阈值电压之间的差值、第三闪存块与第一闪存块的阈值电压之间的差值,均大于预设电压阈值,确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块,作为第七闪存块。
[0165]
在本申请实施例中,如果第三阈值电压与第一阈值电压之间的差值,第二阈值电压与第三阈值电压的之间差值,均大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第二闪存块进行划分,并对第一闪存块至第三闪存块进行划分。
[0166]
例如,可以确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块(即第六闪存块),以及位于第一闪存块与第三闪存块的中点位置的闪存块(即第七闪存块),第六闪存块的阈值电压可以称为第六阈值电压,第七闪存块的阈值电压可以称为第七阈值电压。
[0167]
步骤二,如果第七闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第六闪存块的阈值电压之间的差值、第六闪存块与第七闪存块的阈值电压之间的差值,均小于预设电压阈值,将第一闪存块、第七闪存块,以及预设事件时刻位于第一闪存块和第七闪
存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第六闪存块,以及预设事件时刻位于第七闪存块和第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第六闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。如果第一阈值电压与第七阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第七闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第七闪存块至第六闪存块,也能够采用相同的阈值电压读取数据,第六闪存块至第二闪存块,也能够采用相同的阈值电压读取数据。
[0168]
即,以第七闪存块和第六闪存块为分界点,将各闪存块划分为三个闪存块集合。
[0169]
在一个实施例中,该方法还可以包括以下步骤:
[0170]
如果第七闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第六闪存块的阈值电压之间的差值,均小于预设电压阈值,第六闪存块与第七闪存块的阈值电压之间的差值,不小于预设电压阈值,且第三闪存块与第七闪存块的阈值电压之间的差值、第六闪存块与第三闪存块的阈值电压之间的差值,均小于预设电压阈值,将第一闪存块、第七闪存块,以及预设事件时刻位于第一闪存块和第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第三闪存块,以及预设事件时刻位于第七闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第六闪存块,以及预设事件时刻位于第三闪存块和第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第六闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0171]
即,以第三闪存块、第七闪存块和第六闪存块为分界点,将各闪存块划分为四个闪存块集合。
[0172]
基于上述实施例的介绍可知,在对各闪存块进行划分,得到四个闪存块集合后,如果划分得到的一个闪存块集合中预设事件时刻最晚的闪存块,与最早的闪存块的阈值电压之间的差值大于预设电压阈值,则可以根据图3所示的二叉树,对该闪存块集合中的闪存块进一步划分。
[0173]
然而,在基于二叉树对各闪存块进行划分时,划分所达到的二叉树的深度越大,即,对各闪存块进行划分的精度越大,则处理效率越低,确定出的阈值电压的精度越高;划分所达到的二叉树的深度越小,即,对各闪存块进行划分的精度越小,处理效率越高,确定出的阈值电压的精度越低。因此,在实际处理过程中,可以综合处理效率和精度,确定划分需要达到的二叉树的深度。
[0174]
在实际处理过程中,由于存储设备自身的纠错处理能力,基于上述实施例的方法,将各闪存块划分为四个闪存块集合,就能够在很大程度上避免数据读取出错。
[0175]
在一个实施例中,针对步骤s202,对于每一闪存块集合,该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压,可以直接采用确定出的各自的阈值电压,或者,也可以都采用确定出的该闪存块集合中其他闪存块的阈值电压。
[0176]
在一个实施例中,针对步骤s202,对于每一闪存块集合,在确定以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间后,可以将该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,确定为上述阈值电压区间中的任一电压值。
[0177]
例如,确定出的阈值电压区间为[a,b],a<b,则该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压s满足:a≤s≤b。
[0178]
在一个实施例中,还可以对上述阈值电压区间进行扩展,并基于扩展后的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0179]
例如,可以基于预设系数对上述阈值电压区间进行扩展,扩展前的阈值电压区间为[a,b],a<b,预设系数包括c1和c2,0<c1≤1≤c2,则扩展后的阈值电压区间可以为[a
×
c1,b
×
c2]。
[0180]
在一个实施例中,步骤s202可以包括:对于每一闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0181]
在本申请实施例中,直接采用预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,能够提高处理效率,且确定出的阈值电压与该闪存块集合包含的各闪存块真实的阈值电压之间的差值均较小,能够进一步提高数据读取的准确度。
[0182]
基于相同的发明构思,参见图6,图6为本申请实施例提供的一种阈值电压确定装置的结构图,该装置可以包括:
[0183]
划分模块601,用于对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
[0184]
确定模块602,用于对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0185]
可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
[0186]
所述各闪存块为已写满数据的闪存块;
[0187]
所述各闪存块位于同一晶圆中。
[0188]
可选的,所述确定模块602,具体用于对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0189]
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
[0190]
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块
集合。
[0191]
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
[0192]
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
[0193]
可选的,所述划分模块601,具体用于确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
[0194]
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0195]
可选的,所述划分模块601,还用于如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
[0196]
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0197]
可选的,所述划分模块601,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
[0198]
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0199]
可选的,所述划分模块601,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述
预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
[0200]
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0201]
可选的,所述划分模块601,还用于如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
[0202]
可选的,所述装置还包括:
[0203]
处理模块,用于将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
[0204]
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
[0205]
基于本申请实施例提供的阈值电压确定装置,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
[0206]
本申请实施例还提供了一种存储设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0207]
存储器703,用于存放计算机程序;
[0208]
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
[0209]
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时
刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
[0210]
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0211]
上述存储设备提到的通信总线704可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0212]
通信接口702用于上述存储设备与其他设备之间的通信。
[0213]
存储器703可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器703还可以是至少一个位于远离前述处理器的存储装置。
[0214]
上述的处理器701可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0215]
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的阈值电压确定方法。
[0216]
具体的,上述阈值电压确定方法,包括:
[0217]
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
[0218]
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0219]
需要说明的是,上述阈值电压确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0220]
本申请实施例还提供了另一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的阈值电压确定方法。
[0221]
具体的,上述阈值电压确定方法,包括:
[0222]
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集
合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
[0223]
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
[0224]
需要说明的是,上述阈值电压确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
[0225]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstate disk(ssd))等。
[0226]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0227]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、存储设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0228]
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜