CN113362877B - 一种阈值电压确定方法和装置 - Google Patents

一种阈值电压确定方法和装置 Download PDF

Info

Publication number
CN113362877B
CN113362877B CN202010139523.XA CN202010139523A CN113362877B CN 113362877 B CN113362877 B CN 113362877B CN 202010139523 A CN202010139523 A CN 202010139523A CN 113362877 B CN113362877 B CN 113362877B
Authority
CN
China
Prior art keywords
flash memory
memory block
preset event
event time
preset
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.)
Active
Application number
CN202010139523.XA
Other languages
English (en)
Other versions
CN113362877A (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.)
Hangzhou Haikang Storage Technology Co ltd
Original Assignee
Hangzhou Haikang Storage 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 Hangzhou Haikang Storage Technology Co ltd filed Critical Hangzhou Haikang Storage Technology Co ltd
Priority to CN202010139523.XA priority Critical patent/CN113362877B/zh
Publication of CN113362877A publication Critical patent/CN113362877A/zh
Application granted granted Critical
Publication of CN113362877B publication Critical patent/CN113362877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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)
  • Read Only Memory (AREA)

Abstract

本申请实施例提供了一种阈值电压确定方法和装置,方法包括:对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将各闪存块划分到不同的闪存块集合中;对于每一闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,基于上述处理,能够在一定程度上避免数据读取出错。

Description

一种阈值电压确定方法和装置
技术领域
本申请涉及存储技术领域,特别是涉及一种阈值电压确定方法和装置。
背景技术
固态硬盘等存储设备可以包含多个Die(晶圆),一个Die可以包括多个Block(闪存块),一个Block可以包括多个Page(闪存页),一个Word line(字线)可以包括多个存储单元,一个Word line对应一个或者多个Page。当需要写入数据时,可以向存储单元中充入电子,进而,当需要读取数据时,可以根据存储单元的电压值和阈值电压的大小关系,确定存储单元记录的信息。
然而,如果存储设备中的数据处于长时间未更新状态,存储单元中的电子会发生泄露,导致存储单元的电压值发生变化,进而,会导致在不同时刻写入数据的闪存块中存储单元的电压值分布的差异较大。
针对存储设备中的各闪存块,现有技术中,采取相同的阈值电压读取数据,进而,可能会导致数据读取出错。
发明内容
本申请实施例的目的在于提供一种阈值电压确定方法和装置,可以在一定程度上避免数据读取出错。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种阈值电压确定方法,所述方法包括:
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
所述各闪存块为已写满数据的闪存块;
所述各闪存块位于同一晶圆中。
可选的,所述对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,包括:
对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,包括:
按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
可选的,所述在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合,包括:
按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述方法还包括:
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述方法还包括:
如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述方法还包括:
如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述方法还包括:
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,在所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中之前,所述方法还包括:
将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
第二方面,为了达到上述目的,本申请实施例公开了一种阈值电压确定装置,所述装置包括:
划分模块,用于对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
确定模块,用于对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
所述各闪存块为已写满数据的闪存块;
所述各闪存块位于同一晶圆中。
可选的,所述确定模块,具体用于对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,所述划分模块,具体用于按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述划分模块,具体用于按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
可选的,所述划分模块,具体用于按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述划分模块,具体用于确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块,还用于如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块,还用于如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述装置还包括:
处理模块,用于将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
在本申请实施的另一方面,为了达到上述目的,本申请实施例还公开了一种存储设备,所述存储设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的阈值电压确定方法。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在存储设备上运行时,实现如上述第一方面所述的阈值电压确定方法。
在本申请实施的又一方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在存储设备上运行时,使得存储设备执行上述第一方面所述的阈值电压确定方法。
本申请实施例提供了一种阈值电压确定方法,对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将各闪存块划分到不同的闪存块集合中,其中,针对任意两个闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻,对于每一闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
基于上述处理,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据存储流程的示意图;
图2为本申请实施例提供的一种阈值电压确定方法的流程图;
图3为本申请实施例提供的一种对各闪存块进行划分方法的流程图;
图4为本申请实施例提供的一种二叉树结构;
图5为本申请实施例提供的一种对各闪存块进行划分方法的流程图;
图6为本申请实施例提供的一种阈值电压确定装置的结构图;
图7为本申请实施例提供的一种存储设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1为本申请实施例提供的一种数据存储流程的示意图。
虚拟闪存块(Virtual Block)可以包括不同晶圆中相同索引位置的多个闪存块。图1中填充有竖直线的矩形框可以表示虚拟闪存块中未写入数据的Page,填充有斜线的矩形框可以表示虚拟闪存块中最新写入数据的Page,填充灰色的矩形框可以表示虚拟闪存块中已写满数据的Page。
存储设备中可以设置有freeblkList(空闪存块列表)、currentblkList(当前闪存块列表)和dirtyblkList(写满闪存块列表)。
freeblkList中一个虚拟闪存块中的Page均未写入数据;currentblkList中一个虚拟闪存块可以包括已写入数据的Page和未写入数据的Page;dirtyblkList中一个虚拟闪存块中的Page均已写满数据。
freeblkList中可以记录当前未写入数据的虚拟闪存块的标识。当需要在一个虚拟闪存块中写入数据时,可以将该虚拟闪存块的标识从freeblkList删除,并记录在currentblkList中。虚拟闪存块的标识可以为虚拟闪存块的标识的索引号。currentblkList中的虚拟闪存块都没有写满,当currentblkList中的虚拟闪存块被写满时,可以将该虚拟闪存块的标识从currentblkList中删除,并记录在dirtyblkList中。
另外,currentblkList中还可以记录虚拟闪存块被写满数据,添加到写满闪存块列表中的时刻,用age_fun表示。
图1具体流程如下:首先在currentblkList中的虚拟闪存块中写入新数据,当存储设备放置一段时间后,该虚拟闪存块中的数据变为旧数据,旧数据可以理解为较早写入的数据。当再次写入数据时,若该虚拟闪存块没有被写满,该虚拟闪存块中有旧数据、新数据,新数据可以理解为较晚写入的数据,另外,该虚拟闪存块中还存在没有写入数据的Page,此时dirtyblkList中的虚拟闪存块中都是旧数据;若该虚拟闪存块被写满,则将该虚拟闪存块移到dirtyblkList中,此时dirtyblkList中的虚拟闪存块中既有旧数据,又有新数据。然后,可以从freeblkList中移出一个虚拟闪存块到currentblkList中,进行下一次的写入操作。当freeblkList中的虚拟闪存块数目低于设定阈值时,启动垃圾回收操作,从dirtyblkList中选取一个虚拟闪存块进行擦除,然后加入freeblkList中。由图1可见,(1)表示第一次写入数据,(n)表示第n次写入数据,(N)表示第N次写入数据。可见,当经过多次数据写入后,dirtyblkList中记录的虚拟闪存块会包含较早写满数据的虚拟闪存块和较晚写满数据的虚拟闪存块。即,同时存在较早写满数据的闪存块和较晚写满数据的闪存块。
现有技术中,针对存储设备中的各闪存块,采取相同的阈值电压读取数据,进而,可能会导致数据读取出错。
为了解决上述问题,本申请实施例提供了一种阈值电压确定方法,参见图2,图2为本申请实施例提供的一种阈值电压确定方法的流程图,该方法可以包括以下步骤:
S201:对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将各闪存块划分到不同的闪存块集合中。
其中,针对任意两个闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻。
S202:对于每一闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
基于本申请实施例提供的阈值电压确定方法,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
本申请实施例提供的阈值电压确定方法,可以在存储设备每次上电时执行,或者,也可以在数据擦除次数达到预设次数时执行,但并不限于此。
在步骤S201中,预设电压阈值可以由技术人员根据经验进行设置。
第一闪存块的阈值电压可以称为第一阈值电压,第二闪存块的阈值电压可以称为第二阈值电压。
如果第二阈值电压与第一阈值电压之间的差值大于预设电压阈值,表明当前各闪存块的预设事件时刻的差距较大,即,各闪存块的阈值电压分布的差距较大,此时,如果采用相同的阈值电压读取数据,可能会导致数据读取出错。
一种实现方式中,如果第二阈值电压与第一阈值电压之间的差值大于预设电压阈值,根据本申请实施例的方法,可以基于预设事件时刻的顺序,对各闪存块进行划分,得到多个闪存块集合,进而,使得同一闪存块集合中的闪存块的阈值电压分布的差距较小,能够采用同一阈值电压读取数据。
另外,对于SLC(Single Level Cell,单层式储存)的存储设备,闪存块的阈值电压为一个电压值;对于MLC(Multi Level Cell,多层式储存)的存储设备,闪存块的阈值电压为三个电压值;对于TLC(Trinary Level Cell,三层式储存)的存储设备,闪存块的阈值电压为七个电压值。
因此,在本申请的实施例中,闪存块的阈值电压可以用电压值组成的向量表示,相应的,阈值电压之间的差值可以用对应的向量之间的距离表示。
另外,如果闪存块的阈值电压包括多个电压值,阈值电压之间的差值也可以用对应的一组电压值的差值表示,或者,也可以用对应的多组电压值的差值表示。
例如,针对TLC存储设备,当第一闪存块的阈值电压与第二闪存块的阈值电压中,存在对应的一组电压值的差值大于预设电压阈值时,可以将各闪存块划分到不同的闪存块集合。或者,当第一闪存块的阈值电压与第二闪存块的阈值电压中,存在对应的三组电压值的差值均大于预设电压阈值时,可以将各闪存块划分到不同的闪存块集合。
在对各闪存块进行划分时,可以按照预设份数进行划分,例如,按照预设事件时刻的顺序,直接将各闪存块划分为四份,每一份表示一个闪存块集合。在进行划分时,可以采用平均划分的方式,或者,也可以采取不平均划分的方式。
存储设备可以按照一定的划分规则,将各闪存块划分至不同的闪存块集合,或者,存储设备也可以按照预设事件时刻的顺序,对各闪存块进行排序,并对排序结果进行划分,得到多个闪存块集合。
在一个实施例中,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于已写满数据的闪存块的预设事件时刻;各闪存块为已写满数据的闪存块;各闪存块位于同一晶圆中。
已写满数据的闪存块的预设事件时刻可以为写满数据的时刻,即,已写满数据的闪存块的预设事件时刻可以为上述实施例中介绍的age_fun,相应的,针对当前未写满数据的闪存块,由于其仍未写满数据,因此,如果按照已写满数据的闪存块的预设事件时刻的含义,未写满数据的数据块的预设事件时刻晚于当前已写满数据的闪存块的预设事件时刻。
一种实现方式中,在确定闪存块的阈值电压时,存储设备可以根据本申请实施例的方法,仅对已写满数据的闪存块进行处理,确定出已写满数据的闪存块的阈值电压。即,待处理的各闪存块为已当前写满数据的闪存块。例如,存储设备可以根据本申请实施例的方法,确定位于同一晶圆的各已写满数据的闪存块的阈值电压。
进而,存储设备还可以根据与未已写满数据的闪存块位于同一晶圆中的已写满数据的闪存块的阈值电压,确定未写满数据的闪存块的阈值电压。例如,存储设备可以直接将同一晶圆中,已写满数据的闪存块的阈值电压的平均值,确定为未写满数据的闪存块的阈值电压。
例如,存储设备可以按照预设事件时刻从早到晚的顺序,对同一晶圆中的闪存块进行排序,得到表(1)。
表(1)
dirtyblkList[0] dirtyblkList[1] …… dirtyblkList[L-1] dirtyblkList[L]
dirtyblkList[0]表示预设事件时刻最早的闪存块,即,第一闪存块;dirtyblkList[L]表示预设事件时刻最晚的闪存块,即,第二闪存块;L+1表示该晶圆中闪存块的数目。
在一个实施例中,参见图3,S201可以包括以下步骤:
S2011:按照预设事件时刻的顺序,以二叉树方式从各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块。
其中,端点闪存块至少包括第一闪存块和第二闪存块。
参见图4,图4为本申请实施例提供的一种二叉树结构。
该二叉树结构与表(1)相对应,L+1表示闪存块的数目,k表示二叉树的深度。
V表示闪存块的阈值电压,例如,V0表示dirtyblkList[0](即第一闪存块)的阈值电压,
Figure BDA0002398566700000141
表示dirtyblkList
Figure BDA0002398566700000142
对应的闪存块的阈值电压。
当二叉树的深度为2时,
Figure BDA0002398566700000143
为VL,也即,第二闪存块的阈值电压。
在一个实施例中,S2011可以包括以下步骤:按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
例如,在确定第二阈值电压与第一阈值电压之间的差值大于预设电压阈值时,可以根据二叉树确定下一个端点闪存块。即,位于第一闪存块和第二闪存块的中点位置的闪存块(可以称为第三闪存块)。第三闪存块的阈值电压为
Figure BDA0002398566700000151
(可以称为第三阈值电压),此时,二叉树的深度为3,
Figure BDA0002398566700000152
为VL/2
本申请实施例中,按照预设事件时刻的顺序,位于第一闪存块和第二闪存块的中点位置的闪存块,可以称为中点闪存块。
如果预设事件时刻位于第一闪存块和第二闪存块之间的闪存块的数量为奇数,则中点闪存块的预设事件时刻位于第一闪存块和第二闪存块之间,且预设事件时刻位于中点闪存块和第一闪存块之间的闪存块的数量(可以称为第一数量),与预设事件时刻位于中点闪存块和第二闪存块之间的闪存块的数量(可以称为第二数量)相同。
如果预设事件时刻位于第一闪存块和第二闪存块之间的闪存块的数量为偶数,则中点闪存块的预设事件时刻位于第一闪存块和第二闪存块之间,且第一数量与第二数量的差值的绝对值为1。
然后,存储设备可以继续判断第三阈值电压与第二阈值电压之间的差值是否大于预设电压阈值,如果大于,则可以将位于第三闪存块和第二闪存块的中点位置的闪存块,确定为端点闪存块。
同理,如果第三阈值电压与第一阈值电压之间的差值大于预设电压阈值,则可以将位于第三闪存块和第一闪存块的中点位置的闪存块,确定为端点闪存块。
以此类推,直至已确定出的任意相邻的两个端点闪存块的阈值电压之间的差值,不大于预设电压阈值。
另外,为了提高数据读取的效率,即使存在相邻的两个端点闪存块的阈值电压之间的差值大于预设电压阈值,然而,当前达到二叉树的预设深度,此时,也可以停止确定新的端点闪存块。其中,预设深度可以由技术人员根据经验进行设置。
S2012:在任意两个端点闪存块的阈值电压之间的差值不大于预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
在确定出端点闪存块后,针对任意两个端点闪存块,存储设备可以判断该两个端点闪存块的阈值电压的差值,是否大于预设电压阈值,如果不大于,存储设备则可以将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
在一个实施例中,S2012可以包括以下步骤:按照预设事件时刻的顺序,如果端点闪存块中的第一端点闪存块的前一端点闪存块,与第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于预设电压阈值,将预设事件时刻位于第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
其中,第一端点闪存块可以为确定出的任一端点闪存块。
一种实现方式中,针对确定出的任一端点闪存块(即本申请实施例中的第一端点闪存块),存储设备可以判断按照预设事件时刻的顺序,第一端点闪存块的前一端点闪存块,与后一端点闪存块的阈值电压之间的差值,是否大于预设电压阈值。如果不大于,则存储设备可以将预设事件时刻位于第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
另外,如果按照预设事件时刻的顺序,第一端点闪存块的前一端点闪存块,与后一端点闪存块的阈值电压之间的差值,大于预设电压阈值,则可以将预设事件时刻位于第一端点闪存块和第一端点闪存块的前一端点闪存块之间的闪存块,划分至一个闪存块集合,并将预设事件时刻位于第一端点闪存块和第一端点闪存块的后一端点闪存块之间的闪存块,划分至另一个闪存块集合。
在一个实施例中,在S201之前,该方法还可以包括以下步骤:将第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为第一闪存块的阈值电压;将第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为第二闪存块的阈值电压。
其中,第一预设数目和第二预设数目可以由技术人员根据经验进行设置,第一预设数目与第二预设数目可以相同,也可以不同。第一预设数目和第二预设数目的数值可以为3,或者,也可以为4,但并不限于此。
例如,第一闪存块可以包含256个字线,字线的标识为0-255,第一预设数目为3,则可以计算标号为0、128和255的字线的阈值电压的平均值,作为第一阈值电压。
一个字线的阈值电压可以根据谷搜索算法,以及该字线包含的存储单元的电压分布确定。
计算第二阈值电压的方式,与计算第一阈值电压的方式类似,不再赘述。
在一个实施例中,如果第二阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明当前各闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,即,当前各闪存块构成一个闪存块集合。
因此,可以将第一阈值电压与第二阈值电压的平均值,确定为各闪存块中除第一闪存块和第二闪存块以外的闪存块的阈值电压。
另外,在读取数据时,第一闪存块和第二闪存块的阈值电压可以分别采用确定出的第一阈值电压和第二阈值电压,或者,第一闪存块和第二闪存块的阈值电压,也可以采用第一阈值电压和第二阈值电压的平均值。
在一个实施例中,参见图5,图5为本申请实施例提供的一种对各闪存块进行划分方法的流程图,可以包括以下步骤:
S501:确定位于各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块。
在本申请实施例中,可以采用平均划分的方式,对各闪存块进行划分,得到多个闪存块集合。
一种实现方式中,可以基于预设事件时刻的顺序,对各闪存块进行排序,例如,可以按照预设事件时刻从早到晚的顺序,也可以按照从晚到早的顺序,对各闪存块进行排序。
然后,可以确定出位于排序结果的中点位置的闪存块(即第三闪存块),也即上述示例中的dirtyblkList[L/2]。
S502:如果第三闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第三闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第三闪存块,以及预设事件时刻位于第一闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第三闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
在本申请实施例中,在确定出第三闪存块后,可以以第三闪存块为分界点,对各闪存块进行平均划分。
如果第三阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第三闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,从第二闪存块至第三闪存块,也能够采用相同的阈值电压读取数据。
因此,可以将第一闪存块、第三闪存块,以及预设事件时刻位于第一闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合,并将第二闪存块,以及预设事件时刻位于第三闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。即,以第三闪存块为分界点,将各闪存块划分为两个闪存块集合。
在一个实施例中,该方法还可以包括以下步骤:
步骤一,如果第三闪存块与第一闪存块的阈值电压之间的差值,不大于预设电压阈值,且第二闪存块与第三闪存块的阈值电压之间的差值,大于预设电压阈值,确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块,作为第四闪存块。
在本申请实施例中,如果第三阈值电压与第一阈值电压之间的差值不大于预设电压阈值,且第二阈值电压与第三阈值电压的之间差值大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第二闪存块进行划分。
例如,可以确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块(即第四闪存块)。第四闪存块的阈值电压可以称为第四阈值电压。
步骤二,如果第四闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第四闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第四闪存块,以及预设事件时刻位于第一闪存块和第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第四闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
如果第四阈值电压与第一阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第四闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第四闪存块至第二闪存块,也能够采用相同的阈值电压读取数据。
即,以第四闪存块为分界点,将各闪存块划分为两个闪存块集合。
在一个实施例中,该方法还可以包括以下步骤:
步骤1,如果第二闪存块与第三闪存块的阈值电压之间的差值,不大于预设电压阈值,且第三闪存块与第一闪存块的阈值电压之间的差值,大于预设电压阈值,确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块,作为第五闪存块。
在本申请实施例中,如果第三阈值电压与第二阈值电压之间的差值不大于预设电压阈值,且第一阈值电压与第三阈值电压的之间差值大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第三闪存块进行划分。
例如,可以确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块(即第五闪存块)。第五闪存块的阈值电压可以称为第五阈值电压。
步骤2,如果第二闪存块与第五闪存块的阈值电压之间的差值、第五闪存块与第一闪存块的阈值电压之间的差值,均不大于预设电压阈值,将第一闪存块、第五闪存块,以及预设事件时刻位于第一闪存块和第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第五闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
如果第五阈值电压与第二阈值电压之间的差值不大于预设电压阈值,表明从第五闪存块至第二闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第一闪存块至第五闪存块,也能够采用相同的阈值电压读取数据。
即,以第五闪存块为分界点,将各闪存块划分为两个闪存块集合。
在一个实施例中,该方法还可以包括以下步骤:
步骤一,如果第二闪存块与第三闪存块的阈值电压之间的差值、第三闪存块与第一闪存块的阈值电压之间的差值,均大于预设电压阈值,确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于第一闪存块与第三闪存块的中点位置的闪存块,作为第七闪存块。
在本申请实施例中,如果第三阈值电压与第一阈值电压之间的差值,第二阈值电压与第三阈值电压的之间差值,均大于预设电压阈值,则可以进一步对排列顺序中第三闪存块至第二闪存块进行划分,并对第一闪存块至第三闪存块进行划分。
例如,可以确定按照预设事件时刻排列,位于第三闪存块与第二闪存块的中点位置的闪存块(即第六闪存块),以及位于第一闪存块与第三闪存块的中点位置的闪存块(即第七闪存块),第六闪存块的阈值电压可以称为第六阈值电压,第七闪存块的阈值电压可以称为第七阈值电压。
步骤二,如果第七闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第六闪存块的阈值电压之间的差值、第六闪存块与第七闪存块的阈值电压之间的差值,均小于预设电压阈值,将第一闪存块、第七闪存块,以及预设事件时刻位于第一闪存块和第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第六闪存块,以及预设事件时刻位于第七闪存块和第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第六闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。如果第一阈值电压与第七阈值电压之间的差值不大于预设电压阈值,表明从第一闪存块至第七闪存块的预设事件时刻的差距较小,能够采用相同的阈值电压读取数据,同理,第七闪存块至第六闪存块,也能够采用相同的阈值电压读取数据,第六闪存块至第二闪存块,也能够采用相同的阈值电压读取数据。
即,以第七闪存块和第六闪存块为分界点,将各闪存块划分为三个闪存块集合。
在一个实施例中,该方法还可以包括以下步骤:
如果第七闪存块与第一闪存块的阈值电压之间的差值、第二闪存块与第六闪存块的阈值电压之间的差值,均小于预设电压阈值,第六闪存块与第七闪存块的阈值电压之间的差值,不小于预设电压阈值,且第三闪存块与第七闪存块的阈值电压之间的差值、第六闪存块与第三闪存块的阈值电压之间的差值,均小于预设电压阈值,将第一闪存块、第七闪存块,以及预设事件时刻位于第一闪存块和第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第三闪存块,以及预设事件时刻位于第七闪存块和第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第六闪存块,以及预设事件时刻位于第三闪存块和第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将第二闪存块,以及预设事件时刻位于第六闪存块和第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
即,以第三闪存块、第七闪存块和第六闪存块为分界点,将各闪存块划分为四个闪存块集合。
基于上述实施例的介绍可知,在对各闪存块进行划分,得到四个闪存块集合后,如果划分得到的一个闪存块集合中预设事件时刻最晚的闪存块,与最早的闪存块的阈值电压之间的差值大于预设电压阈值,则可以根据图3所示的二叉树,对该闪存块集合中的闪存块进一步划分。
然而,在基于二叉树对各闪存块进行划分时,划分所达到的二叉树的深度越大,即,对各闪存块进行划分的精度越大,则处理效率越低,确定出的阈值电压的精度越高;划分所达到的二叉树的深度越小,即,对各闪存块进行划分的精度越小,处理效率越高,确定出的阈值电压的精度越低。因此,在实际处理过程中,可以综合处理效率和精度,确定划分需要达到的二叉树的深度。
在实际处理过程中,由于存储设备自身的纠错处理能力,基于上述实施例的方法,将各闪存块划分为四个闪存块集合,就能够在很大程度上避免数据读取出错。
在一个实施例中,针对步骤S202,对于每一闪存块集合,该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压,可以直接采用确定出的各自的阈值电压,或者,也可以都采用确定出的该闪存块集合中其他闪存块的阈值电压。
在一个实施例中,针对步骤S202,对于每一闪存块集合,在确定以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间后,可以将该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,确定为上述阈值电压区间中的任一电压值。
例如,确定出的阈值电压区间为[A,B],A<B,则该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压S满足:A≤S≤B。
在一个实施例中,还可以对上述阈值电压区间进行扩展,并基于扩展后的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
例如,可以基于预设系数对上述阈值电压区间进行扩展,扩展前的阈值电压区间为[A,B],A<B,预设系数包括C1和C2,0<C1≤1≤C2,则扩展后的阈值电压区间可以为[A×C1,B×C2]。
在一个实施例中,步骤S202可以包括:对于每一闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
在本申请实施例中,直接采用预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,能够提高处理效率,且确定出的阈值电压与该闪存块集合包含的各闪存块真实的阈值电压之间的差值均较小,能够进一步提高数据读取的准确度。
基于相同的发明构思,参见图6,图6为本申请实施例提供的一种阈值电压确定装置的结构图,该装置可以包括:
划分模块601,用于对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
确定模块602,用于对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
所述各闪存块为已写满数据的闪存块;
所述各闪存块位于同一晶圆中。
可选的,所述确定模块602,具体用于对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于该两个端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
可选的,所述划分模块601,具体用于按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
可选的,所述划分模块601,具体用于确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块601,还用于如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块601,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块601,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述划分模块601,还用于如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
可选的,所述装置还包括:
处理模块,用于将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
基于本申请实施例提供的阈值电压确定装置,能够将预设事件时刻较早的闪存块和较晚的闪存块划分至不同的闪存块集合,且针对每一闪存块集合,由于该闪存块集合中各闪存块的预设事件时刻相隔较近,各闪存块可以采用相同的阈值电压,进而,能够在一定程度上避免数据读取出错。
本申请实施例还提供了一种存储设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
上述存储设备提到的通信总线704可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述存储设备与其他设备之间的通信。
存储器703可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器703还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的阈值电压确定方法。
具体的,上述阈值电压确定方法,包括:
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
需要说明的是,上述阈值电压确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了另一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的阈值电压确定方法。
具体的,上述阈值电压确定方法,包括:
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
需要说明的是,上述阈值电压确定方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、存储设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (24)

1.一种阈值电压确定方法,其特征在于,所述方法包括:
对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压;该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压不同。
2.根据权利要求1所述的方法,其特征在于,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
所述各闪存块为已写满数据的闪存块;
所述各闪存块位于同一晶圆中。
3.根据权利要求1所述的方法,其特征在于,所述对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压,包括:
对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
4.根据权利要求1所述的方法,其特征在于,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于两个所述端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
5.根据权利要求4所述的方法,其特征在于,所述按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,包括:
按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
6.根据权利要求3所述的方法,其特征在于,所述在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于两个所述端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合,包括:
按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
7.根据权利要求1所述的方法,其特征在于,所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中,包括:
确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
12.根据权利要求1所述的方法,其特征在于,在所述基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中之前,所述方法还包括:
将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
13.一种阈值电压确定装置,其特征在于,所述装置包括:
划分模块,用于对于待处理的各闪存块,若预设事件时刻最早的第一闪存块的阈值电压,与预设事件时刻最晚的第二闪存块的阈值电压之间的差值大于预设电压阈值,则基于预设事件时刻的顺序将所述各闪存块划分到不同的闪存块集合中;其中,针对任意两个所述闪存块集合,一个闪存块集合中闪存块最晚的预设事件时刻,早于另一个闪存块集合中闪存块最早的预设事件时刻;
确定模块,用于对于每一所述闪存块集合,基于以该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压为端点的阈值电压区间,确定该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压;该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压不同。
14.根据权利要求13所述的装置,其特征在于,已写满数据的闪存块的预设事件时刻为写满数据的时刻;未写满数据的闪存块的预设事件时刻晚于所述已写满数据的闪存块的预设事件时刻;
所述各闪存块为已写满数据的闪存块;
所述各闪存块位于同一晶圆中。
15.根据权利要求13所述的装置,其特征在于,所述确定模块,具体用于对于每一所述闪存块集合,将该闪存块集合中预设事件时刻最早的闪存块,与预设事件时刻最晚的闪存块的阈值电压的平均值,确定为该闪存块集合中除预设事件时刻最早的闪存块和预设事件时刻最晚的闪存块,以外的闪存块的阈值电压。
16.根据权利要求13所述的装置,其特征在于,所述划分模块,具体用于按照预设事件时刻的顺序,以二叉树方式从所述各闪存块中,确定作为闪存块集合中预设事件时刻的端点时刻的端点闪存块,其中,所述端点闪存块至少包括所述第一闪存块和所述第二闪存块;
在任意两个所述端点闪存块的阈值电压之间的差值不大于所述预设电压阈值时,将预设事件时刻位于两个所述端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
17.根据权利要求16所述的装置,其特征在于,所述划分模块,具体用于按照预设事件时刻的顺序,若已确定出的相邻两个端点闪存块的阈值电压之间的差值大于所述预设电压阈值,则确定按照预设事件时刻排列,位于该两个端点闪存块的中点位置的闪存块为端点闪存块。
18.根据权利要求15所述的装置,其特征在于,所述划分模块,具体用于按照预设事件时刻的顺序,如果所述端点闪存块中的第一端点闪存块的前一端点闪存块,与所述第一端点闪存块的后一端点闪存块的阈值电压之间的差值不大于所述预设电压阈值,将预设事件时刻位于所述第一端点闪存块的前一端点闪存块和后一端点闪存块的预设事件时刻之间的闪存块,划分至一个闪存块集合。
19.根据权利要求13所述的装置,其特征在于,所述划分模块,具体用于确定位于所述各闪存块按照预设事件时刻排列的中点位置的闪存块,作为第三闪存块;
如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第三闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第三闪存块,以及预设事件时刻位于所述第一闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第三闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
20.根据权利要求19所述的装置,其特征在于,所述划分模块,还用于如果所述第三闪存块与所述第一闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第二闪存块与所述第三闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第四闪存块;
如果所述第四闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第四闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第四闪存块,以及预设事件时刻位于所述第一闪存块和所述第四闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第四闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
21.根据权利要求19所述的装置,其特征在于,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值,不大于所述预设电压阈值,且所述第三闪存块与所述第一闪存块的阈值电压之间的差值,大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第五闪存块;
如果所述第二闪存块与所述第五闪存块的阈值电压之间的差值、所述第五闪存块与所述第一闪存块的阈值电压之间的差值,均不大于所述预设电压阈值,将所述第一闪存块、所述第五闪存块,以及预设事件时刻位于所述第一闪存块和所述第五闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第五闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
22.根据权利要求19所述的装置,其特征在于,所述划分模块,还用于如果所述第二闪存块与所述第三闪存块的阈值电压之间的差值、所述第三闪存块与所述第一闪存块的阈值电压之间的差值,均大于所述预设电压阈值,确定按照预设事件时刻排列,位于所述第三闪存块与所述第二闪存块的中点位置的闪存块,作为第六闪存块,以及确定按照预设事件时刻排列,位于所述第一闪存块与所述第三闪存块的中点位置的闪存块,作为第七闪存块;
如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值、所述第六闪存块与所述第七闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第七闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
23.根据权利要求22所述的装置,其特征在于,所述划分模块,还用于如果所述第七闪存块与所述第一闪存块的阈值电压之间的差值、所述第二闪存块与所述第六闪存块的阈值电压之间的差值,均小于所述预设电压阈值,所述第六闪存块与所述第七闪存块的阈值电压之间的差值,不小于所述预设电压阈值,且所述第三闪存块与所述第七闪存块的阈值电压之间的差值、所述第六闪存块与所述第三闪存块的阈值电压之间的差值,均小于所述预设电压阈值,将所述第一闪存块、所述第七闪存块,以及预设事件时刻位于所述第一闪存块和所述第七闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第三闪存块,以及预设事件时刻位于所述第七闪存块和所述第三闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第六闪存块,以及预设事件时刻位于所述第三闪存块和所述第六闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合;将所述第二闪存块,以及预设事件时刻位于所述第六闪存块和所述第二闪存块的预设事件时刻之间的闪存块,确定为一个闪存块集合。
24.根据权利要求13所述的装置,其特征在于,所述装置还包括:
处理模块,用于将所述第一闪存块中第一预设数目个字线的阈值电压的平均值,确定为所述第一闪存块的阈值电压;
将所述第二闪存块中第二预设数目个字线的阈值电压的平均值,确定为所述第二闪存块的阈值电压。
CN202010139523.XA 2020-03-03 2020-03-03 一种阈值电压确定方法和装置 Active CN113362877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010139523.XA CN113362877B (zh) 2020-03-03 2020-03-03 一种阈值电压确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010139523.XA CN113362877B (zh) 2020-03-03 2020-03-03 一种阈值电压确定方法和装置

Publications (2)

Publication Number Publication Date
CN113362877A CN113362877A (zh) 2021-09-07
CN113362877B true CN113362877B (zh) 2022-06-03

Family

ID=77523432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010139523.XA Active CN113362877B (zh) 2020-03-03 2020-03-03 一种阈值电压确定方法和装置

Country Status (1)

Country Link
CN (1) CN113362877B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4712365B2 (ja) * 2004-08-13 2011-06-29 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置および半導体記憶装置
CN102163165B (zh) * 2011-05-26 2012-11-14 忆正存储技术(武汉)有限公司 一种闪存错误预估模块及其预估方法
KR102083491B1 (ko) * 2012-12-05 2020-03-02 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
KR102263047B1 (ko) * 2017-03-20 2021-06-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
TWI623878B (zh) * 2017-07-07 2018-05-11 大心電子(英屬維京群島)股份有限公司 資料讀取方法以及儲存控制器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages

Also Published As

Publication number Publication date
CN113362877A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
US20180321874A1 (en) Flash management optimization for data update with small block sizes for write amplification mitigation and fault tolerance enhancement
US8429501B2 (en) Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio
US20090323419A1 (en) Read-time wear-leveling method in storage system using flash memory device
JP2008009919A (ja) カードコントローラ
US11043275B2 (en) Memory system, read method, program, and memory controller
CN109491596B (zh) 一种降低电荷捕获型3d闪存中数据保存错误率的方法
EP2776929A1 (en) Soft information generation for memory systems
CN107622020B (zh) 一种数据存储方法、访问方法及装置
US8892812B2 (en) Flash memory device and data writing method for a flash memory
CN108027764B (zh) 可转换的叶的存储器映射
CN108461107B (zh) 读阈值跟踪方法与装置
CN110377233B (zh) Ssd读性能优化方法、装置、计算机设备及存储介质
US20200201569A1 (en) Data reading method, storage controller and storage device
CN111145820B (zh) 一种数据读取方法及装置、存储介质和设备
TW201110126A (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
CN113362877B (zh) 一种阈值电压确定方法和装置
CN115933998B (zh) 获取最优判决电平的方法、装置、存储设备及存储介质
CN116134519A (zh) 存储器装置中的平衡的三层级读取干扰管理
CN113129943A (zh) 基于闪存数据页存储结构的数据操作方法及固态硬盘
CN113419688B (zh) 一种mlc芯片的错误率分析方法、系统及装置
KR100817204B1 (ko) 플래시 메모리의 매핑 방법 및 장치
CN109840163B (zh) 一种Nand-Flash错误数据冗余替换方法
CN111767165A (zh) 数据处理方法、装置及控制设备
CN108257642B (zh) 读阈值设置方法与装置
CN111081306A (zh) 一种划分NANDFlash Wordline分组的方法

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