CN116246683A - 使用深度神经网络在存储器装置中读取阈值预测 - Google Patents

使用深度神经网络在存储器装置中读取阈值预测 Download PDF

Info

Publication number
CN116246683A
CN116246683A CN202211300188.2A CN202211300188A CN116246683A CN 116246683 A CN116246683 A CN 116246683A CN 202211300188 A CN202211300188 A CN 202211300188A CN 116246683 A CN116246683 A CN 116246683A
Authority
CN
China
Prior art keywords
dnns
memory device
samples
parameters
dnn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211300188.2A
Other languages
English (en)
Inventor
王浩博
哈曼·巴蒂亚
张帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN116246683A publication Critical patent/CN116246683A/zh
Pending legal-status Critical Current

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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Read Only Memory (AREA)

Abstract

本发明描述了一种用于提高存储器装置的性能的装置、系统和方法。示例方法包括:获得与存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,多个单元电压分布中的每一个与读取电压相对应;基于针对多个单元电压分布获得的样本,确定第一深度神经网络(DNN)的数量;针对第一DNN中的每一个,基于多个样本估计相应概率分布的一个或多个参数;基于样本和相应的一个或多个参数训练第一DNN中的每一个;并且基于样本和来自第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以用于从存储器装置检索信息。

Description

使用深度神经网络在存储器装置中读取阈值预测
技术领域
本专利文件总体上涉及一种非易失性存储器装置,并且更具体地,涉及一种非易失性存储器装置中的深度神经网络。
背景技术
数据完整性是任何数据存储装置和数据传输的重要特征。在固态存储器存储(例如,NAND闪存)装置中,信息通过单元中的不同电荷电平存储在单元中。在写入和读取过程期间,由编程干扰和单元间干扰电荷泄漏引入噪声,导致电压电平随时间下降,其中下降与所存储的电荷量以及单元经历的编程和擦除(P/E)循环数成正比。在确定读取电压阈值时考虑电压降,可以增加存储器装置的使用寿命。
发明内容
所公开技术的实施例涉及一种提高存储器装置的块的性能的方法、系统和装置。在示例中,通过使用一组第一深度神经网络(DNN)以及第二DNN提高存储器装置的性能,一组第一深度神经网络中的每一个被配置为估计不同编程电压(PV)分布的参数,第二DNN被配置为整合来自一组第一DNN中的每一个的估计参数集并输出考虑存储器单元劣化的最佳读取电压阈值,从而能够在整个使用寿命内从各种类型的存储器装置中可靠地检索信息。
在一个示例中,描述了一种用于提高存储器装置的性能的方法。该方法包括:获得与存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,其中多个单元电压分布中的每一个与读取电压相对应;基于针对多个单元电压分布获得的样本,确定多个第一深度神经网络(DNN)的数量;针对多个第一DNN中的每一个,基于多个样本估计相应概率分布的一个或多个参数;基于样本和相应的一个或多个参数训练多个第一DNN中的每一个;并且基于样本和来自多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以用于从存储器装置检索信息。
在另一示例中,描述了一种用于提高存储器装置的性能的方法。该方法包括:获得与多个概率分布相对应的样本,其中多个概率分布中的每一个与存储器装置的多个单元电压分布中的每一个相关联,并且其中多个单元电压分布中的每一个与读取电压相对应;针对与相应概率分布相关联的多个第一深度神经网络(DNN)中的每一个,基于样本估计相应概率分布的一个或多个参数,多个第一DNN中的每一个已经通过使用从相应概率分布中获得的样本被训练;基于第二DNN的输出确定更新后的读取电压,第二DNN的输入包括来自多个第一DNN中的每一个的一个或多个参数,并且第二DNN已经通过使用样本和来自多个第一DNN中的每一个的一个或多个参数被训练;并且将更新后的读取电压施加到存储器装置,以从存储器装置检索信息。
在另一示例中,描述了一种用于提高存储器装置的性能的设备。该设备包括存储器控制器、多个第一深度神经网络(DNN)以及第二DNN,每个第一DNN通信联接到存储器控制器,第二DNN包括多个输入以及联接到存储器控制器的输出,每个输入联接到相应第一DNN的输出,其中存储器控制器被配置为获得与存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,其中多个单元电压分布中的每一个与读取电压相对应;基于针对多个单元电压分布获得的样本,确定多个第一深度神经网络(DNN)的数量;针对多个第一DNN中的每一个,基于多个样本估计相应概率分布的一个或多个参数;基于样本和相应的一个或多个参数训练多个第一DNN中的每一个;并且基于样本和来自多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以用于从存储器装置检索信息。
在又一示例中,描述了一种用于提高存储器装置的性能的设备。该设备包括:存储器控制器、多个第一深度神经网络(DNN)以及第二DNN,每个第一DNN通信联接到存储器控制器,第二DNN包括多个输入以及联接到存储器控制器的输出,每个输入联接到相应第一DNN的输出,其中存储器控制器被配置为获得与多个概率分布相对应的样本,其中多个概率分布中的每一个与存储器装置的多个单元电压分布中的每一个相关联,并且其中多个单元电压分布中的每一个与读取电压相对应;针对与相应概率分布相关联的多个第一深度神经网络(DNN)中的每一个,基于样本估计相应概率分布的一个或多个参数,第一DNN中的每一个已经通过使用从相应概率分布中获得的样本被训练;基于第二DNN的输出确定更新后的读取电压,第二DNN的输入包括来自多个第一DNN中的每一个的一个或多个参数,并且第二DNN已经通过使用样本和来自多个第一DNN中的每一个的一个或多个参数被训练;并且将更新后的读取电压施加到存储器装置,以从存储器装置检索信息。
在又一示例中,这些方法可以以处理器可运行的指令的形式实现并存储在计算机可读程序介质上。
本专利文件中描述的主题可以以提供以下一个或多个特征的特定方式实施。
附图说明
图1示出了存储器系统的示例。
图2是示例非易失性存储器装置的示图。
图3是示出非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图4是示出非易失性存储器装置的单元电压电平分布(Vth)的另一示例图。
图5是示出在编程干扰之前和之后的非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图6是示出作为参考电压的函数的非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图7示出了三层单元(TLC)NAND闪存块的理论电压概率分布的示例。
图8是示出用于确定最佳读取电压的深度神经网络(DNN)的常规架构的示例图。
图9是示出根据所描述的实施例的用于确定最佳读取电压的DNN架构的示例图。
图10示出了使用偏斜正态分布的概率密度函数(PDF)来确定最佳读取电压的示例。
图11A和图11B示出了用于提高存储器装置的性能的示例方法的流程图。
图12是示出可以被配置为实施所描述的实施例的存储装置的示例图。
具体实施方式
半导体存储器装置可以是易失性的或非易失性的。易失性半导体存储器装置高速执行读取操作和写入操作,但其中存储的内容在断电时可能丢失。非易失性半导体存储器装置即使在断电时也可以保留存储在其中的内容。非易失性半导体存储器装置可以用于存储在不管它们是否通电的情况下都必须保留的内容。
随着对大容量存储器装置的需求增加,每个单元存储多位数据的多层单元(MLC)或多位存储器装置变得越来越普遍。然而,MLC非易失性存储器装置中的存储器单元必须具有与有限电压窗口中的四个或更多个可区分数据状态相对应的阈值电压。为了提高非易失性存储器装置中的数据完整性,必须在存储器装置的整个使用寿命内调整用于区分数据状态的读取电压的电平和分布,以在读取操作和/或读取尝试期间具有最佳值。
已经开发了几种方法来在非易失性存储器装置中生成最佳读取电压。一些方法采用更传统地用于计算机视觉(CV)、自然语言处理(NLP)、机器人和语音等领域的深度神经网络(DNN)。在一个示例中,所公开技术的实施例涉及由非易失性存储器系统(例如,如图1至图6中所述)使用的DNN架构,其有利地减少了DNN的延迟和推理时间。
图1至图6概述了可以实施所公开技术的实施例的非易失性存储器系统(例如,基于闪存的存储器、NAND闪存)。
图1是基于所公开技术的一些实施例实施的存储器系统100的示例的框图。存储器系统100包括存储器模块110,存储器模块110可以用于存储信息以供其他电子装置或系统使用。存储器系统100可以被并入其他电子装置和系统中(例如,位于电路板上)。可选地,存储器系统100可以被实施为外部存储装置,例如USB闪存驱动器和固态驱动器(SSD)。
存储器系统100中包括的存储器模块110可以包括存储器区域(例如,存储器阵列)102、104、106和108。存储器区域102、104、106和108中的每一个可以被包括在单个存储器管芯或多个存储器管芯中。存储器管芯可以包括在集成电路(IC)芯片中。
存储器区域102、104、106和108中的每一个包括多个存储器单元。读取操作、编程操作或擦除操作可以基于存储器单位执行。因此,每个存储器单位可以包括预定数量的存储器单元。存储器区域102、104、106和108中的存储器单元可以被包括在单个存储器管芯或多个存储器管芯中。
存储器区域102、104、106和108中的每一个中的存储器单元在存储器单位中可以按行和列布置。存储器单位中的每一个可以是物理单位。例如,一组多个存储器单元可以形成存储器单位。存储器单位中的每一个还可以是逻辑单位。例如,存储器单位可以是可以分别由诸如块地址或页面地址的唯一地址标识的块或页面。再例如,其中存储器区域102、104、106和108可以包括计算机存储器,计算机存储器包括作为数据存储的逻辑单位的存储体,存储器单位可以是可以由存储体地址识别的存储体。在读取操作或写入操作期间,与特定存储器单位相关联的唯一地址可以用于访问该特定存储器单位。基于唯一地址,可以将信息写入到该特定存储器单位中的一个或多个存储器单元或从该存储器单位中的一个或多个存储器单元检索信息。
存储器区域102、104、106和108中的存储器单元可以包括非易失性存储器单元。非易失性存储器单元的示例包括闪速存储器单元、相变随机存取存储器(PRAM)单元、磁阻随机存取存储器(MRAM)单元或其他类型的非易失性存储器单元。在存储器单元被配置为NAND闪速存储器单元的示例实施方案中,可以基于以页面为单位执行读取操作或写入操作。然而,NAND闪速存储器中的擦除操作以块为单位执行。
非易失性存储器单元中的每一个可以被配置为单层单元(SLC)或多层存储器单元。单层单元可以每个单元存储一位信息。多层存储器单元可以每个单元存储超过一位的信息。例如,存储器区域102、104、106和108中的存储器单元中的每一个可以被配置为每个单元存储两位信息的多层单元(MLC)、每个单元存储三位信息的三层单元(TLC)或每个单元存储四位信息的四层单元(QLC)。在另一示例中,存储器区域102、104、106和108中的存储器单元中的每一个可以被配置为存储至少一位信息(例如,一位信息或多位信息),并且存储器区域102、104、106和108中的存储器单元中的每一个可以被配置为存储超过一位的信息。
如图1所示,存储器系统100包括控制器模块120。控制器模块120包括用于与存储器模块110通信的存储器接口121、用于与主机(未示出)通信的主机接口126、运行固件层代码的处理器124,以及分别临时地或持久地存储可运行固件/指令和相关信息的高速缓存器123和系统存储器122。在一些实施方案中,控制器单元120可以包括错误校正引擎125,以对存储在存储器模块110中的信息执行错误校正操作。错误校正引擎125可以被配置为检测/校正单个位错误或多个位错误。在另一实施方案中,错误校正引擎125可以位于存储器模块110中。
主机可以是包括被操作为从存储器系统100检索数据或将数据存储或写入到存储器系统100的一个或多个处理器的装置或系统。在一些实施方案中,主机的示例可以包括个人计算机(PC)、便携式数字装置、数码相机、数字多媒体播放器、电视和无线通信装置。
在一些实施方案中,控制器模块120还可以包括与主机通信的主机接口126。主机接口126可以包括符合至少一种主机接口规范的组件,包括但不限于串行高级技术附件(SATA)、串列小型计算机系统接口(SAS)规范、高速外围组件互连(PCIe)。
图2示出了基于所公开技术的一些实施例实施的存储器单元阵列的示例。
在一些实施方案中,存储器单元阵列可以包括被划分为许多块的NAND闪速存储器阵列,并且每个块包含一定数量的页面。每个块包括多个存储器单元串,并且每个存储器单元串包括多个存储器单元。
在存储器单元阵列是NAND闪速存储器阵列的一些实施方案中,读取和写入(编程)操作以页面为单位执行,并且擦除操作以块为单位执行。在对块中包括的任意页面执行编程操作之前,必须同时擦除同一块内的所有存储器单元。在实施方案中,NAND闪速存储器可以使用偶数/奇数位线结构。在另一实施方案中,NAND闪速存储器可以使用全位线结构。在偶数/奇数位线结构中,偶数位线和奇数位线沿每条字线交错并被交替访问,使得每一对偶数位线和奇数位线可以共享诸如页面缓冲器的外围电路。在全位线结构中,所有位线被同时访问。
图3示出了多层单元装置中的阈值电压分布曲线的示例,其中每个编程/擦除状态的单元的数量被绘制为阈值电压的函数。如图所示,阈值电压分布曲线包括具有最低阈值电压的擦除状态(表示为“ER”,并对应于“11”)以及读取电压位于状态之间的(由虚线表示)的三个编程状态(分别表示为“P1”、“P2”和“P3”,并对应于“01”、“00”和“10”)。在一些实施例中,因为跨存储器阵列的材料特性不同,所以编程/擦除状态的阈值电压分布中的每一个具有有限宽度。
尽管图3以示例的方式示出了多层单元装置,但存储器单元中的每一个可以被配置为每个单元存储任意数量的位。在一些实施方案中,存储器单元中的每一个可以被配置为每个单元存储一位信息的单层单元(SLC),或每个单元存储三位信息的三层单元(TLC),或每个单元存储四位信息的四层单元(QLC)。
在存储器单元中写入超过一个数据位时,由于相邻分布之间的距离减小,因此需要精细布置存储器单元的阈值电压电平。这是通过使用增量式步进脉冲编程(ISPP)来实现的,即,使用编程和验证方法对同一字线上的存储器单元反复编程,其中将阶梯编程电压施加到字线上。每个编程状态与在验证操作中使用的验证电压相关联,并设置每个阈值电压分布窗口的目标位置。
读取错误可能由失真或重叠的阈值电压分布引起。理想的存储器单元阈值电压分布可能会由于例如编程和擦除(P/E)循环、单元间干扰和数据保留错误而显著失真或重叠,这将在下面进行讨论,并且在大多数情况下,这种读取错误可以通过使用错误校正码(ECC)进行管理。
图4示出了理想阈值电压分布曲线410的示例和失真阈值电压分布曲线420的示例。纵轴表示存储器单元的数量,存储器单元具有在横轴上表示的特定阈值电压。
对于n位多层单元NAND闪速存储器,每个单元的阈值电压可以编程为2n个可能值。在理想的多层单元NAND闪速存储器中,每个值与不重叠的阈值电压窗口相对应。
闪速存储器P/E循环对单元晶体管的电荷撷取层的浮置栅极的隧道氧化物造成损坏,从而导致阈值电压偏移,因此逐渐降低存储器装置的噪声裕度。随着P/E循环的增加,不同编程状态的相邻分布之间的裕度减小,并且最终分布开始重叠。阈值电压编程在相邻分布的重叠范围中的存储器单元中存储的数据位可能被误判为原始目标值以外的值。
图5示出了NAND闪速存储器中的单元间干扰的示例。单元间干扰也可能会导致闪存单元的阈值电压失真。存储器单元晶体管的阈值电压偏移可以通过干扰单元与牺牲单元之间的寄生电容耦合效应影响其相邻存储器单元晶体管的阈值电压。单元间干扰的量可能受到NAND闪速存储器位线结构的影响。在偶数/奇数位线结构中,一条字线上的存储器单元交替地连接到偶数位线和奇数位线,并且偶数单元在同一字线上的奇数单元之前被编程。因此,偶数单元和奇数单元经历不同量的单元间干扰。全位线结构中的单元比偶数/奇数位线结构中的偶数单元受到的单元间干扰更少,并且全位线结构可以有效支持高速电流感应,以提高存储器读取和验证速度。
图5中的虚线表示所考虑的单元的P/E状态(编程干扰之前)的标称分布,并且“邻近状态值”表示邻近状态已经被编程到的值。如图5所示,如果将邻近状态被编程为P1,则所考虑的单元的阈值电压分布偏移特定的量。但是,如果将邻近状态编程为阈值电压比P1更高的P2,则与邻近状态为P1相比这将导致更大的偏移。类似地,当邻近状态被编程为P3时,阈值电压分布的偏移最大。
图6通过比较正常阈值电压分布和偏移阈值电压分布来示出NAND闪速存储器中的保留错误的示例。NAND闪速存储器中存储的数据随着时间的推移而损坏,并且这被称为数据保留错误。保留错误由单元晶体管的浮置栅极或电荷撷取层中存储的电荷损失引起。由于浮置栅极或电荷撷取层的损耗,具有更多编程擦除循环的存储器单元更可能出现保留错误。在图6的示例中,通过比较顶行的电压分布(损坏之前)和底行的分布(被保留错误损坏)揭示向左的偏移。
在基于NAND的存储系统(例如,图1至图6中所示的示例)中,可以使用深度神经网络(DNN)来估计阈值电压。阈值电压是任意两个相邻编程验证(PV)电平的阈值电压分布的交叉点。
图7示出了三层单元(TLC)NAND闪存块的理论电压概率分布的示例。如其中所示,八个TLC电压分布(在图7中表示为PV0、PV1、……、PV8)的PV分布不相同。因此,为了确定该TLC NAND闪存块的最佳读取电压,用于对PV分布中的每一个进行建模的概率分布(例如,概率密度函数(pdf)或累积分布函数(CDF))与用于确定概率分布的参数的DNN不应相同。
然而,如图8所示,现有实施方案对相邻PV分布使用相同的DNN。如其中所示,PVL和PVR是两个相邻的PV电平,
Figure BDA0003903988740000101
是施加到PVL的一列采样电压值,
Figure BDA0003903988740000102
对应于在
Figure BDA0003903988740000103
中的电压处采样的阈值电压分布的PVL的累积密度函数(CDF)值,
Figure BDA0003903988740000104
是施加到PVR的一列采样电压值,
Figure BDA0003903988740000105
对应于在
Figure BDA0003903988740000106
中的电压处采样的PVR的阈值电压分布的CDF值,ΘL是PVL的参数集,ΘR是PVR的参数集,并且“最佳Vt”是PVL和PVR的阈值电压分布之间的交叉点电压。
也就是说,DNN中的每一个的配置相似,并且使用相同的权重来确定该PV分布的潜在概率分布的参数。来自一组第一DNN(810a和810b)中的每一个的估计参数被输入到第二DNN(820),第二DNN(820)被配置为确定最佳读取电压。对一组第一DNN中的每一个使用相同的DNN权重通常导致次佳的估计读取电压,并且在从联接到一组第一DNN(810a和810b)和第二DNN(820)的存储器装置中准确检索信息方面效率较低。
继续图8的描述,常规实施方案需要三个组成部分:
(1)参数分布,其模拟所有PV电平的单元阈值电压的分布。假设该参数分布对每个PV电平的采样电压、CDF样本和信道参数Θ之间的关系进行建模;
(2)一组第一DNN(810a和810b,并表示为DNN1),其基于由NAND测量给出的CDF样本估计分布参数。在示例中,DNN1在数据集上进行训练,该数据集包含多个采样电压x和来自采样电压x处的参数分布的CDF值CDF(x)。如图8所示,采样电压和CDF值输入到DNN1,DNN1被配置为输出分布参数Θ;以及
(3)第二DNN(820,并表示为DNN2),其基于一组第一DNN的输出预测最佳电压阈值(Vt)。在示例中,DNN2在包含参数ΘL和ΘR作为输入的数据集上进行训练并且被配置为输出最佳阈值电压(Vt)。
不同的概率分布和不同的DNN权重可以用于PV分布中的每一个来确定最佳读取电压,而不是对所有PV分布使用相同的概率分布和DNN权重,但是这种方法可能导致复杂性增加,例如,使用每个单元四个位层的四层单元(QLC)NAND闪存块将需要16个DNN来得到所有QLC PV分布的参数。
例如,如图9所示,所公开技术的实施例使用PV专用的一组第一DNN,即,当潜在概率分布不同时DNN中的每一个的权重不同。为了估计任意两个相邻的PV、PVi和PVj的最佳读取阈值,估计
Figure BDA0003903988740000111
的DNN1是为PVi设计的,其可以与估计
Figure BDA0003903988740000112
的DNN1不同。本文中,以TLCNAND闪存块为例,i∈{0,1,2,3,4,5,6}并且j=i+1。
在图7所示的示例中,PV分布的参数显著不同。例如,如果假设使用偏斜正态分布(具有参数(ξ,ψ,α)),则PV1分布具有参数ΘPV1=[0.2,0.1,0],而PV7分布具有参数ΘPV7=[3.5,0.3,-3]。因此,使用图8所示的假设相同的概率分布并且对一组第一DNN中的每一个使用相同的权重的常规实施方案可能导致次佳的读取电压。
所描述的实施例对不同的潜在单元电压分布使用不同的概率分布和不同的DNN权重。例如,PV0、PV5、PV6和PV7可以使用不同的概率分布和不同的权重,并且PV1、PV2、PV3和PV4可以使用另一不同的概率分布和另一不同的DNN权重,因为它们的PV分布非常相似。此处,可以使用五种概率分布和DNN来确定TLC NAND闪存块的最佳读取电压。可选地,可以对PV1、PV2、PV3、PV4和PV5使用公共的概率分布和DNN,这会将所需的DNN数量减少到四个。
以这种方式,所公开技术的实施例有利地提供了复杂性和性能之间的折衷方案。如前所述,对每个PV分布使用不同的DNN,特别是如果单个DNN被用于非常相似的单元电压分布,可能极大地增加实施方案复杂性,并且与使用较少数量的不同DNN相比可能无法提供显着的性能优势。
图9示出了对两个相邻PV电平PVi和PVj(i∈{0,1,2,3,4,5,6},j=i+1)的读取阈值估计,其单元电平分布被建模为具有参数
Figure BDA0003903988740000121
Figure BDA0003903988740000122
的偏斜正态分布。偏斜正态分布的pdf由下式给出:
Figure BDA0003903988740000123
其中
Figure BDA0003903988740000124
Figure BDA0003903988740000125
分别是正态(高斯)分布的pdf和CDF。
本文中,最佳读取阈值为x*,其使得
Figure BDA0003903988740000126
图10示出了使用偏斜正态分布的概率密度函数(PDF)来确定最佳读取电压的示例。如其中所示,最佳读取电压是两个偏斜正态分布的交叉点,两个偏斜正态分布中的每一个的参数使用具有不同权重的DNN来确定。
在一些实施例中,定义可微分的损失函数(例如,均方误差),以测量预测和实际分布参数Θ之间的误差,并使用诸如随机梯度下降的训练算法来优化第一DNN(910a和910b)中的每一个的权重。类似地,定义可微分的损失函数,以测量最佳阈值电压与第二DNN(920)的输出之间的误差,并使用诸如随机梯度下降的训练算法来获得DNN2的权重。在示例中,一组DNN1以及DNN2是在不同的数据集上独立设计和训练的。在另一示例中,它们可以使用相同的样本集进行训练。
继续图9的描述,用于确定相邻PV分布的最佳读取电压的所述实施例需要四个组成部分:
(1)参数分布,其模拟相邻PV电平中的每一个的单元阈值电压的分布。每个参数分布对各个PV电平的采样电压、CDF样本和参数Θ之间的关系进行建模;
(2)PVi专用
Figure BDA0003903988740000131
根据输入
Figure BDA0003903988740000132
输出
Figure BDA0003903988740000133
其中
Figure BDA0003903988740000134
是施加到PVi的采样电压值,并且
Figure BDA0003903988740000135
是在
Figure BDA0003903988740000136
中的电压处采样的阈值电压分布的PVi的CDF值;
(3)PVj专用
Figure BDA0003903988740000137
根据输入
Figure BDA0003903988740000138
输出
Figure BDA0003903988740000139
其中
Figure BDA00039039887400001310
是施加到PVj的采样电压值,并且
Figure BDA00039039887400001311
是在
Figure BDA00039039887400001312
中的电压处采样的阈值电压分布的PVj的CDF值;并且
(4)PV不敏感的DNN2,被用于根据
Figure BDA00039039887400001313
计算最佳Vt
在一些实施例中,对于PVi专用
Figure BDA00039039887400001314
三个读数(表示为read0、read1和read2)用于收集输入样本
Figure BDA00039039887400001315
在一些实施例中,PVi专用
Figure BDA00039039887400001316
的权重可以是多个矩阵
Figure BDA00039039887400001317
和偏置向量
Figure BDA00039039887400001318
Figure BDA00039039887400001319
的形式,并且潜在分布参数可以计算为:
Figure BDA0003903988740000141
本文中,R(·)表示激活函数。在示例中,可以使用整流线性单元(ReLU)激活函数。在另一示例中,可以使用sigmoid函数。
类似地,对于PVj专用
Figure BDA0003903988740000142
三个读数(表示为read0、read1和read2)用于收集输入样本。
Figure BDA0003903988740000143
并且
Figure BDA0003903988740000144
的权重可以是多个矩阵
Figure BDA0003903988740000145
Figure BDA0003903988740000146
和偏置向量
Figure BDA0003903988740000147
的形式,使得潜在分布参数可以计算为:
Figure BDA0003903988740000148
其中R(·)表示激活函数。
Figure BDA0003903988740000149
Figure BDA00039039887400001410
的上述示例中,可以选择矩阵A和向量b的大小以及M的值(表示DNN中的层数)来对复杂性和性能进行折衷。
在一些实施例中,并且参照图9,DNN2(920)的输入是来自
Figure BDA00039039887400001411
的输出
Figure BDA00039039887400001412
和来自
Figure BDA00039039887400001413
的输出
Figure BDA00039039887400001414
的级联,其由下式给出:
Figure BDA00039039887400001415
DNN2(920)的权重可以是多个矩阵
Figure BDA00039039887400001416
和偏置向量
Figure BDA00039039887400001417
的形式,并且最佳读取阈值被计算为:
Figure BDA0003903988740000151
本文中,R(·)表示激活函数。在示例中,可以使用整流线性单元(ReLU)激活函数。在另一示例中,可以使用sigmoid函数。
在一些实施例中,参数分布可能是偏斜正态分布。然而,如果潜在单元电压分布不符合偏斜正态分布,则可以使用不同的分布来确定更准确的读取电压。例如,参数分布可以是高斯分布,并且由第一DNN(例如,图9中的910a和910b)中的每一个输出的参数可以是均值和方差。
在一些实施例中,多个PV分布可以共享单个第一DNN。如先前在图7的上下文中所讨论的,单个DNN1用于确定用于对PV1、PV2、PV3和PV4进行建模的公共的潜在分布参数。在这种情况下,来自这些分布中的每一个的样本最初可以被用于训练相应的DNN,随后估计参数以确定最佳读取电压。
在一些实施例中,PV分布的样本可以成对的方式进行比较,以确定这两个分布是否可以由公共的DNN1表示。可以通过计算两个分布的度量并将其与阈值进行比较来做出该确定。在示例中,该度量基于针对两个分布计算的费希尔信息(Fisher Information)度量。在另一示例中,该度量基于针对两个分布计算的Kullback-Leibler散度或Jensen-Shannon散度。在又一示例中,测量两个概率分布之间的相似性的其他度量可以用于确定两个(或更多个)分布是否应该共享DNN1。
可以基于复杂性和性能之间的折衷来选择与度量进行比较的阈值。例如,如果优选低复杂性实施方案,则可以选择阈值以允许稍微不同的PV分布共享DNN1,这将对性能产生不利影响但却保持低复杂度。可选地,可以选择阈值以仅使基本相同的PV分布共享DNN1,这将导致更好的性能,但是导致更高的复杂性。
图11A示出了用于提高存储器装置的性能的示例方法1100的流程图。方法1100包括:在操作1105,获得与存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,其中多个单元电压分布中的每一个与读取电压相对应。
方法1100包括:在操作1110,基于针对多个单元电压分布获得的样本,确定多个第一深度神经网络(DNN)的数量。
方法1100包括:在操作1115,针对多个第一DNN中的每一个,基于多个样本估计相应概率分布的一个或多个参数。
方法1100包括:在操作1120,基于样本和相应的一个或多个参数训练多个第一DNN中的每一个。
方法1100包括:在操作1125,基于样本和来自多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以用于从存储器装置检索信息。
在一些实施例中,操作1105至1125可以由存储器控制器(例如,图12中的存储器控制器1220)执行,并且可以使用DNN(例如,图12中的深度神经网络1230)来估计更新后的多个读取电压。
在一些实施例中,确定多个第一DNN的数量包括:针对每对概率分布,执行相应多个样本之间的比较以生成指示这对概率分布之间的距离的度量,并且基于该度量确定多个第一DNN的数量。
在一些实施例中,度量基于费希尔信息度量。
在一些实施例中,度量基于Kullback-Leibler散度或Jensen-Shannon散度。
在一些实施例中,估计概率分布的一个或多个参数包括:测量一个或多个参数的实际值与一个或多个参数的预测值之间的误差。
在一些实施例中,误差是均方误差。
在一些实施例中,方法1100进一步包括基于相应误差使用随机梯度下降算法来确定相应第一DNN的一个或多个权重的操作。
所公开的实施例包括一种用于提高存储器装置的性能的设备。该设备包括存储器控制器、多个第一深度神经网络(DNN)以及第二DNN,每个第一DNN通信联接到存储器控制器,第二DNN包括多个输入以及联接到存储器控制器的输出,每个输入联接到相应第一DNN的输出,其中存储器控制器被配置为获得与存储器装置相对应的多个单元电压分布中的每一个的概率分布的多个样本,其中多个单元电压分布中的每一个与读取电压相对应;基于针对多个单元电压分布获得的样本,确定多个第一深度神经网络(DNN)的数量;针对多个第一DNN中的每一个,基于多个样本估计相应概率分布的一个或多个参数;基于样本和相应一个或多个参数训练多个第一DNN中的每一个;并且基于样本和来自多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以用于从存储器装置检索信息。
图11B示出了用于提高存储器装置的性能的方法1150的流程图。方法1150包括:在操作1155,获得与多个概率分布相对应的样本,其中多个概率分布中的每一个与存储器装置的多个单元电压分布中的每一个相关联,并且其中多个单元电压分布中的每一个与读取电压相对应。
方法1150包括:在操作1160,针对与相应概率分布相关联的多个第一深度神经网络(DNN)中的每一个,基于样本估计相应概率分布的一个或多个参数,第一DNN中的每一个已经通过使用从相应概率分布获得的样本被训练。
方法1150包括:在操作1165,基于第二DNN的输出确定更新后的读取电压,第二DNN的输入包括来自多个第一DNN中的每一个的一个或多个参数,并且第二DNN已经通过使用样本和来自多个第一DNN中的每一个的一个或多个参数被训练。
方法1150包括:在操作1170,将更新后的读取电压施加到存储器装置,以从存储器装置检索信息。
在一些实施例中,操作1155、1160和1165可以由存储器控制器(例如,图12中的存储器控制器1220)执行,操作1170可以由存储器装置或存储器控制器(例如,分别为图12中的闪速存储器1210和存储器控制器1220)执行,并且使用DNN(例如,图12中的深度神经网络1230)估计更新后的多个读取电压。
在一些实施例中,样本对应于与多个单元电压分布相关联的累积分布函数。
在一些实施例中,概率分布为偏斜正态分布。
在一些实施例中,概率分布为高斯分布。
在一些实施例中,存储器装置是三层单元(TLC)NAND闪速存储器装置。
所公开的实施例包括一种用于提高存储器装置的性能的设备。该设备包括:存储器控制器、多个第一深度神经网络(DNN)以及第二DNN,每个第一DNN通信联接到存储器控制器,第二DNN包括多个输入以及联接到存储器控制器的输出,每个输入联接到相应第一DNN的输出,其中存储器控制器被配置为获得与多个概率分布相对应的样本,其中多个概率分布中的每一个与存储器装置的多个单元电压分布中的每一个相关联,并且其中多个单元电压分布中的每一个与读取电压相对应;针对与相应概率分布相关联的多个第一深度神经网络(DNN)中的每一个,基于样本估计相应概率分布的一个或多个参数,第一DNN中的每一个已经通过使用从相应概率分布中获得的样本被训练;基于第二DNN的输出确定更新后的读取电压,第二DNN的输入包括来自多个第一DNN中的每一个的一个或多个参数,并且第二DNN已经使用样本和来自多个第一DNN中的每一个的一个或多个参数被训练;并且将更新后的读取电压施加到存储器装置,以从存储器装置检索信息。
图12是示出可以被配置为实施所描述的实施例的存储装置的示例图。参照图12,数据存储装置1200可以包括闪速存储器1210、存储器控制器1220和深度神经网络(DNN)1230。存储器控制器1220可以响应于从数据存储装置1200的外部输入的控制信号而控制闪速存储器1210和DNN 1230。在数据存储装置1200中,闪速存储器1210可以被配置为与非易失性存储装置相同或基本相同。也就是说,闪速存储器1210可以使用不同的读取电压从所选择的存储器单元读取数据,以将数据输出到存储器控制器1220。可以基于本文件中描述的实施例使用DNN 1230来估计不同的读取电压。在示例中,DNN 1230可以是图9中所示的DNN。
在一些实施例中,数据存储装置1200可以是存储卡装置、SSD装置、多媒体卡装置、SD卡、记忆棒装置、HDD装置、混合驱动装置或USB闪存装置。例如,数据存储装置1200可以是满足诸如数码相机、个人计算机的用户装置的标准的卡。
本专利文件中描述的主题和功能操作的实施方案可以以各种系统、数字电子电路或者以计算机软件、固件或硬件实施,包括在本说明书中公开的结构及其结构等效方案,或它们中的一种或多种的组合。本说明书中描述的主题的实施方案可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上以供数据处理设备运行或用于控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储装置、机器可读存储衬底、存储器装置、影响机器可读传播信号的物质组合物或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,包括例如可编程处理器、计算机或多个处理器或多个计算机。除了硬件之外,设备还可以包括针对所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或适用于计算环境的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在包含其他程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。可以部署待在一台计算机或者位于一个站点或分布在多个站点并通过通信网络互连的多台计算机上运行的计算机程序。
本说明书中描述的过程和逻辑流程可以由运行一个或多个计算机程序一个或多个可编程处理器通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且设备也可以被实施为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适用于执行计算机程序的处理器包括例如通用和专用微处理器,以及任意类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及一个或多个用于存储指令和数据的存储器装置。通常,计算机还将包括大容量存储装置(例如,磁盘、磁光盘或光盘)或可操作地联接到大容量存储装置以从一个或多个用于存储数据的大容量存储装置接收数据或向大容量存储装置传输数据或这两者。然而,计算机不需要具有这种装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,例如包括半导体存储器装置,例如EPROM、EEPROM、闪速存储器装置。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
虽然本专利文件包含许多细节,但这些不应被解释为对任何发明的范围或可能要求保护的内容的限制,而是对可能特定于特定发明的特定实施例的特征的描述。本专利文件中在单独实施例的上下文中描述的特定特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各个特征也可以在多种实施例中单独或以任何合适的子组合来实施。此外,尽管上述特征可能被描述为、甚至最初被声明为在特定组合中起作用,但是在一些情况下,要求保护的组合中的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘操作,但这不应被理解为要求这些操作以所示的特定顺序或按次序执行或者要求执行所有图示的操作以实现期望的结果。此外,本专利文件中描述的实施例中各个系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了几个实施方案和示例,并且可以基于本专利文件中描述和示出的内容做出其他实施方案、增强和变化。

Claims (20)

1.一种提高存储器装置的性能的方法,包括:
获得与所述存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,其中所述多个单元电压分布中的每一个与读取电压相对应;
基于针对所述多个单元电压分布获得的所述多个样本,确定多个第一深度神经网络即多个第一DNN的数量;
针对所述多个第一DNN中的每一个,基于所述多个样本估计相应概率分布的一个或多个参数;
基于所述多个样本和相应的一个或多个参数训练所述多个第一DNN中的每一个;并且
基于所述多个样本和来自所述多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以从所述存储器装置检索信息。
2.根据权利要求1所述的方法,其中确定所述多个第一DNN的数量包括:
针对每对概率分布,执行相应的多个样本之间的比较,以生成指示所述每对概率分布之间距离的度量;并且
基于所述度量,确定所述多个第一DNN的数量。
3.根据权利要求2所述的方法,其中所述度量基于费希尔信息度量。
4.根据权利要求2所述的方法,其中所述度量基于Kullback-Leibler散度或Jensen-Shannon散度。
5.根据权利要求1所述的方法,其中估计所述概率分布的所述一个或多个参数包括:
测量所述一个或多个参数的实际值与所述一个或多个参数的预测值之间的误差。
6.根据权利要求5所述的方法,其中所述误差是均方误差。
7.根据权利要求5所述的方法,进一步包括:
基于相应的误差使用随机梯度下降算法来确定相应的第一DNN的一个或多个权重。
8.一种用于提高存储器装置的性能的方法,包括:
获得与多个概率分布相对应的样本,其中所述多个概率分布中的每一个与所述存储器装置的多个单元电压分布中的每一个相关联,并且所述多个单元电压分布中的每一个与读取电压相对应;
针对与相应的概率分布相关联的多个第一深度神经网络即多个第一DNN中的每一个,基于所述样本估计所述相应的概率分布的一个或多个参数,所述多个第一DNN中的每一个已经通过使用从所述相应的概率分布获得的样本被训练;
基于第二DNN的输出确定更新后的读取电压,所述第二DNN的输入包括来自所述多个第一DNN中的每一个的一个或多个参数,并且所述第二DNN已经通过使用所述样本和来自所述多个第一DNN中的每一个的所述一个或多个参数被训练;并且
将所述更新后的读取电压施加到所述存储器装置,以从所述存储器装置检索信息。
9.根据权利要求8所述的方法,其中所述样本对应于与所述多个单元电压分布相关联的累积分布函数。
10.根据权利要求8所述的方法,其中所述概率分布为偏斜正态分布。
11.根据权利要求8所述的方法,其中所述偏斜正态分布的概率密度函数f(x)由下式给出:
Figure FDA0003903988730000021
其中Θ=(ξ,ω,α)与所述一个或多个参数相对应,并且
Figure FDA0003903988730000031
并且
Figure FDA0003903988730000032
12.根据权利要求8所述的方法,其中所述概率分布为高斯分布。
13.根据权利要求8所述的方法,其中所述存储器装置是三层单元NAND闪速存储器装置,即TLC NAND闪速存储器装置。
14.一种用于提高存储器装置的性能的设备,包括:
存储器控制器;
多个第一深度神经网络即多个第一DNN,每个第一DNN通信联接到所述存储器控制器;以及
第二DNN,包括多个输入以及联接到所述存储器控制器的输出,每个输入联接到相应的第一DNN的输出,
其中所述存储器控制器:
获得与所述存储器装置的多个单元电压分布中的每一个的概率分布相对应的多个样本,其中所述多个单元电压分布中的每一个与读取电压相对应;
基于针对所述多个单元电压分布获得的所述多个样本,确定所述多个第一DNN的数量;
针对所述多个第一DNN中的每一个,基于所述多个样本估计相应的概率分布的一个或多个参数;
基于所述多个样本和相应的一个或多个参数训练所述多个第一DNN中的每一个;并且
基于所述多个样本和来自所述多个第一DNN中的每一个的一个或多个参数训练第二DNN,以使得能够生成更新后的读取电压值以从所述存储器装置检索信息。
15.根据权利要求14所述的设备,其中作为确定所述多个第一DNN的数量的一部分,所述存储器控制器进一步:
针对每对概率分布,执行相应的多个样本之间的比较,以生成指示所述每对概率分布之间距离的度量;并且
基于所述度量,确定所述多个第一DNN的数量。
16.根据权利要求15所述的设备,其中所述度量基于费希尔信息度量、Kullback-Leibler散度或Jensen-Shannon散度。
17.一种提高存储器装置的性能的设备,包括:
存储器控制器;
多个第一深度神经网络即多个第一DNN,每个第一DNN通信联接到所述存储器控制器;以及
第二DNN,包括多个输入以及联接到所述存储器控制器的输出,每个输入联接到相应的第一DNN的输出,
其中所述存储器控制器:
获得与多个概率分布相对应的样本,其中所述多个概率分布中的每一个与所述存储器装置的多个单元电压分布中的每一个相关联,并且所述多个单元电压分布中的每一个与读取电压相对应;
针对与相应的概率分布相关联的所述多个第一DNN中的每一个,基于所述样本估计所述相应概率分布的一个或多个参数,所述多个第一DNN中的每一个已经通过使用从所述相应概率分布获得的样本被训练;
基于第二DNN的输出确定更新后的读取电压,所述第二DNN的输入包括来自所述多个第一DNN中的每一个的一个或多个参数,并且所述第二DNN已经通过使用所述样本和来自所述多个第一DNN中的每一个的所述一个或多个参数被训练;并且
将所述更新后的读取电压施加到所述存储器装置,以从所述存储器装置检索信息。
18.根据权利要求17所述的设备,其中所述样本对应于与所述多个单元电压分布相关联的累积分布函数。
19.根据权利要求17所述的设备,其中所述概率分布为偏斜正态分布。
20.根据权利要求17所述的设备,其中所述存储器装置是三层单元NAND闪速存储器装置,即TLC NAND闪速存储器装置。
CN202211300188.2A 2021-12-07 2022-10-24 使用深度神经网络在存储器装置中读取阈值预测 Pending CN116246683A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/544,342 US20230176765A1 (en) 2021-12-07 2021-12-07 Read threshold prediction in memory devices using deep neural networks
US17/544,342 2021-12-07

Publications (1)

Publication Number Publication Date
CN116246683A true CN116246683A (zh) 2023-06-09

Family

ID=86607406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211300188.2A Pending CN116246683A (zh) 2021-12-07 2022-10-24 使用深度神经网络在存储器装置中读取阈值预测

Country Status (2)

Country Link
US (1) US20230176765A1 (zh)
CN (1) CN116246683A (zh)

Also Published As

Publication number Publication date
US20230176765A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
CN111538458B (zh) 使用深度学习的存储装置性能优化
US11726719B2 (en) Compound feature generation in classification of error rate of data retrieved from memory cells
CN111538620B (zh) 存储器装置的鲁棒检测方法
US11762599B2 (en) Self adapting iterative read calibration to retrieve data from memory cells
JP6345407B2 (ja) 回帰分析法を使用しているメモリシステム及びそれの読み取り方法
US11004517B2 (en) Storage device including nonvolatile memory device and operating method thereof
US12009034B2 (en) Classification of error rate of data retrieved from memory cells
US11557345B2 (en) Dynamic memory programming voltage step for strenuous device conditions
KR102252379B1 (ko) 메모리 시스템 및 이의 독출 방법
JP2019160355A (ja) メモリシステム、読み出し方法、プログラムおよびメモリコントローラ
CN111656329A (zh) 不可校正ecc
US11430530B2 (en) Deep learning based program-verify modeling and voltage estimation for memory devices
US11581047B2 (en) Iterative read calibration enhanced according to patterns of shifts in read voltages
KR20190094968A (ko) 메모리 컨트롤러 및 그 동작 방법
TW202211244A (zh) 判斷記憶體系統讀取電壓的記憶體裝置及其方法
CN116312706A (zh) 用于存储器装置上的读取和编程验证操作的源极偏置温度补偿
US9007835B2 (en) Enhanced data storage in 3-D memory using string-specific source-side biasing
US11322214B1 (en) Gaussian modeling for soft-read threshold estimation in non-volatile memory devices
US20240071521A1 (en) Memory device producing metadata characterizing applied read voltage level with respect to voltage distributions
CN112997254A (zh) 用于筛选容易出现缺陷的存储器块的基于度量的反应性读取
US11567693B2 (en) Parameter estimation based on previous read attempts in memory devices
US20230176765A1 (en) Read threshold prediction in memory devices using deep neural networks
US12094544B2 (en) Programming by self adjusting program voltage targets compensating for cell-to-cell interference and PE cycles
US20240029801A1 (en) Memory read calibration based on memory device-originated metrics characterizing voltage distributions
US20240161836A1 (en) Memory read voltage threshold tracking based on memory device-originated metrics characterizing voltage distributions

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