CN116246683A - 使用深度神经网络在存储器装置中读取阈值预测 - Google Patents
使用深度神经网络在存储器装置中读取阈值预测 Download PDFInfo
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 27
- 238000009826 distribution Methods 0.000 claims abstract description 192
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 17
- 230000001186 cumulative effect Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000005315 distribution function Methods 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 17
- 238000004590 computer program Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001808 coupling effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing 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电平,是施加到PVL的一列采样电压值,对应于在中的电压处采样的阈值电压分布的PVL的累积密度函数(CDF)值,是施加到PVR的一列采样电压值,对应于在中的电压处采样的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的最佳读取阈值,估计的DNN1是为PVi设计的,其可以与估计的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相比可能无法提供显着的性能优势。
图10示出了使用偏斜正态分布的概率密度函数(PDF)来确定最佳读取电压的示例。如其中所示,最佳读取电压是两个偏斜正态分布的交叉点,两个偏斜正态分布中的每一个的参数使用具有不同权重的DNN来确定。
在一些实施例中,定义可微分的损失函数(例如,均方误差),以测量预测和实际分布参数Θ之间的误差,并使用诸如随机梯度下降的训练算法来优化第一DNN(910a和910b)中的每一个的权重。类似地,定义可微分的损失函数,以测量最佳阈值电压与第二DNN(920)的输出之间的误差,并使用诸如随机梯度下降的训练算法来获得DNN2的权重。在示例中,一组DNN1以及DNN2是在不同的数据集上独立设计和训练的。在另一示例中,它们可以使用相同的样本集进行训练。
继续图9的描述,用于确定相邻PV分布的最佳读取电压的所述实施例需要四个组成部分:
(1)参数分布,其模拟相邻PV电平中的每一个的单元阈值电压的分布。每个参数分布对各个PV电平的采样电压、CDF样本和参数Θ之间的关系进行建模;
本文中,R(·)表示激活函数。在示例中,可以使用整流线性单元(ReLU)激活函数。在另一示例中,可以使用sigmoid函数。
其中R(·)表示激活函数。
本文中,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所述的方法,其中所述概率分布为偏斜正态分布。
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闪速存储器装置。
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) |
-
2021
- 2021-12-07 US US17/544,342 patent/US20230176765A1/en active Pending
-
2022
- 2022-10-24 CN CN202211300188.2A patent/CN116246683A/zh active Pending
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 |