CN116153364A - 估计非参数化最佳读取阈值的系统和方法 - Google Patents

估计非参数化最佳读取阈值的系统和方法 Download PDF

Info

Publication number
CN116153364A
CN116153364A CN202210221728.1A CN202210221728A CN116153364A CN 116153364 A CN116153364 A CN 116153364A CN 202210221728 A CN202210221728 A CN 202210221728A CN 116153364 A CN116153364 A CN 116153364A
Authority
CN
China
Prior art keywords
dnn
read
read threshold
threshold voltage
count
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
CN202210221728.1A
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 CN116153364A publication Critical patent/CN116153364A/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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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
    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5632Multilevel reading using successive approximation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Neurology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及一种用于存储器系统的非参数化最佳读取阈值估计的方案。该存储器系统包括具有页面的存储器装置和具有神经网络的控制器。控制器使用读取阈值集对所选择的页面执行读取操作;根据读取操作中的每一个,获得与所选择的页面的解码相关联的读取阈值集、校验和值以及1的计数与0的计数的非对称比率;将所获得的读取阈值集、校验和值和非对称比率作为输入信息提供给神经网络;以及由神经网络基于输入信息和权重来估计最佳读取阈值电压,该权重包括多个矩阵和偏置向量的组合。

Description

估计非参数化最佳读取阈值的系统和方法
技术领域
本公开的实施例涉及一种用于确定存储器系统中的最佳读取阈值电压的方案。
背景技术
计算机环境范例已经转变成可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有存储器装置(即,数据存储装置)的存储器系统。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器装置不具有移动部件,所以使用存储器装置的存储器系统提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、诸如通用闪存(UFS)的具有各种接口的存储卡以及固态驱动器(SSD)。存储器系统可以根据各种方案来确定读取阈值电压之中的最佳读取阈值电压。
发明内容
本发明的各方面包括一种用于使用深度神经网络估计非参数化最佳读取阈值的系统和方法。
在本发明的一方面,一种存储器系统包括具有多个页面的存储器装置和具有神经网络的控制器。控制器被配置成:使用包括多个读取阈值电压的读取阈值集对从多个页面之中选择的页面执行一个或多个读取操作;根据一个或多个读取操作中的每一个,获得与所选择的页面的解码相关联的读取阈值集、校验和值以及1的计数与0的计数的非对称比率;将所获得的读取阈值集、校验和值和非对称比率作为输入信息提供给神经网络;以及由神经网络基于输入信息和输入信息的权重来估计最佳读取阈值电压,该权重包括多个矩阵和偏置向量的组合。
在本发明的另一方面,一种操作存储器系统的方法,存储器系统包括具有多个页面的存储器装置和具有神经网络的控制器,该方法包括:使用包括多个读取阈值电压的读取阈值集对从多个页面之中选择的页面执行一个或多个读取操作;根据一个或多个读取操作中的每一个,获得与所选择的页面的解码相关联的读取阈值集、校验和值以及1的计数与0的计数的非对称比率;将所获得的读取阈值集、校验和值和非对称比率作为输入信息提供给神经网络;并且由神经网络基于输入信息和输入信息的权重来估计最佳读取阈值电压,该权重包括多个矩阵和偏置向量的组合。
通过下面的描述,本发明的附加方面将变得显而易见。
附图说明
图1是示出数据处理系统的框图。
图2是示出存储器系统的框图。
图3是示出存储器装置的存储块的电路图。
图4是示出存储器装置的不同类型单元的状态分布的示图。
图5A是示出多层单元(MLC)的编码的示例的示图。
图5B是示出多层单元(MLC)的页面的状态分布的示图。
图6A是示出三层单元(TLC)的格雷编码(Gray coding)的一个示例的示图。
图6B是示出三层单元(TLC)的页面的状态分布的示图。
图7是示出存储器系统中的错误恢复算法的流程的示图。
图8是示出三层单元(TLC)闪速存储器装置的特定页面的单元电平的分布的示图。
图9是示出根据本发明的一个实施例的存储器系统的示图。
图10是示出根据本发明的一个实施例的神经网络的示图。
图11是示出根据本发明的一个实施例的最佳读取阈值估计器的示图。
图12是示出根据本发明的一个实施例的最佳读取阈值估计器的训练操作的示图。
图13是示出根据本发明的一个实施例的最佳读取阈值估计操作的流程图。
具体实施方式
下面参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式实现,并且因此不应当被解释为限于本文阐述的实施例。相反,提供这些实施例以使本公开将本发明的范围传达给本领域技术人员。此外,本文中对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文使用的术语“实施例”不一定指所有实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中指代相同的部件。
本发明可以以包括诸如以下的许多种方式来实施:过程;设备;系统;在计算机可读存储介质上实现的计算机程序产品;和/或处理器,诸如适用于运行存储在联接到处理器的存储器上和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方案或本发明可以采用的任意其它形式可以被称为技术。通常,可以在本发明的范围内改变所公开的过程的操作顺序。除非另有说明,否则被描述为适用于执行任务的、诸如处理器或存储器的组件可以被实施为被配置为或以其它方式被编程为在给定时间执行该任务的通用装置或电路组件或者被制造为或被预配置为或被预编程为执行该任务的特定装置或电路组件。如本文所使用的,术语“处理器”等指代适用于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理内核。
本文描述的方法、过程和/或操作可以由待由计算机、处理器、控制器或其它信号处理装置运行的代码或指令来执行。计算机、处理器、控制器或其它信号处理装置可以是本文描述的那些计算机、处理器、控制器或其它信号处理装置或者除了本文描述的元件之外的那些计算机、处理器、控制器或其它信号处理装置。因为本文描述了形成该方法的基础的算法(或计算机、处理器、控制器或其它信号处理装置的操作),所以用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转变为用于执行本文的任一方法的专用处理器。
如果至少部分地以软件实施,则控制器、处理器、装置、模块、单元、多工器、生成器、逻辑、接口、解码器、驱动器和其它信号生成和信号处理功能部件可以包括例如用于存储待由例如计算机、处理器、微处理器、控制器或其它信号处理装置运行的代码或指令的存储器或其它存储装置。
下面提供对本发明的各个实施例的详细描述以及示出本发明的方面的附图。结合这些实施例来描述本发明,但是本发明不限于任意特定实施例。本发明包括许多替代方案、修改方案和等效方案。在下面的描述中阐述了许多具体细节,以便提供对本发明的详尽理解。提供这些细节是为了示例的目的;可以在没有这些具体细节中的一些或全部的情况下来实践本发明。为了清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料,以免不必要地模糊本发明。
图1是示出根据本发明的一个实施例的数据处理系统2的框图。
参照图1,数据处理系统2可以包括主机装置5和存储器系统10。存储器系统10可以从主机装置5接收请求,并且响应于接收到的请求而操作。例如,存储器系统10可以存储待由主机装置5访问的数据。
主机装置5可以利用各种类型的电子装置中的任意一种来实施。在各个实施例中,主机装置5可以是诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器和/或数字视频记录器和数字视频播放器。在各个实施例中,主机装置5可以是诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和/或便携式游戏机。
存储器系统10可以利用诸如固态驱动器(SSD)和存储卡的各种类型的存储装置中的任意一种来实施。在各个实施例中,存储器系统10可以被设置为诸如以下的电子装置中的各种组件中的一种:计算机、超移动个人计算机(PC)(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、射频识别(RFID)装置,以及家庭网络的各种电子装置中的一种、计算机网络的各种电子装置中的一种、远程信息处理网络的电子装置中的一种或计算系统的各种组件中的一种。
存储器系统10可以包括控制器100和存储器装置200。控制器100可以控制存储器装置200的全部操作。
存储器装置200可以在控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。存储器装置200可以通过输入/输出线接收命令CMD、地址ADDR和数据DATA。存储器装置200可以通过电源线接收电力PWR,并且通过控制线接收控制信号CTRL。根据存储器系统10的设计和配置,控制信号CTRL可以包括例如命令锁存使能信号、地址锁存使能信号、芯片使能信号、写入使能信号、读取使能信号以及其它操作信号。
控制器100和存储器装置200可以被集成在诸如固态驱动器(SSD)的单个半导体装置中。SSD可以包括用于将数据存储在其中的存储装置。在本发明的一个实施例中,在存储器系统10用于SSD中的情况下,联接到存储器系统10的主机装置(例如,图1的主机装置5)的操作速度可以显著提高。
控制器100和存储器装置200可以被集成在诸如存储卡的单个半导体装置中。例如,控制器100和存储器装置200可以被集成以配置个人计算机存储卡国际协会(PCMCIA)的个人计算机(PC)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸的多媒体卡(RS-MMC)、微型尺寸版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、高容量安全数字(SDHC)和/或通用闪存(UFS)。
图2是示出根据本发明的一个实施例的存储器系统的框图。例如,图2的存储器系统可以描绘图1所示的存储器系统10。
参照图2,存储器系统10可以包括控制器100和存储器装置200。存储器系统10可以响应于来自主机装置的请求(例如,来自图1的主机装置5的请求)而操作,并且特别地,存储待由主机装置访问的数据。
存储器装置200可以存储待由主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易失性存储器装置或者诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和/或电阻式RAM(RRAM)的非易失性存储器装置来实施。
控制器100可以控制数据在存储器装置200中的存储。例如,控制器100可以响应于来自主机装置的请求而控制存储器装置200。控制器100可以将从存储器装置200读取的数据提供到主机装置,并且可以将从主机装置提供的数据存储到存储器装置200中。
控制器100可以包括通过总线160联接的存储装置110、控制组件120、错误校正码(ECC)组件130、主机接口(I/F)140和存储器接口(I/F)150,控制组件120可以被实施为诸如中央处理单元(CPU)的处理器。
存储装置110可以用作存储器系统10和控制器100的工作存储器,并且存储装置110可以存储用于驱动存储器系统10和控制器100的数据。例如,当控制器100控制存储器装置200的操作时,存储装置110可以存储由控制器100和存储器装置200用于诸如以下操作的数据:读取操作、写入操作、编程操作和擦除操作。
存储装置110可以利用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所述,存储装置110可以将主机装置所使用的数据存储在存储器装置200中以用于读取操作和写入操作。为了存储数据,存储装置110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制组件120可以控制存储器系统10的一般操作,并且响应于来自主机装置的写入请求或读取请求而控制对存储器装置200的写入操作或读取操作。控制组件120可以驱动可以被称为闪存转换层(FTL)的固件或其它程序指令,以控制存储器系统10的操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、损耗均衡、垃圾收集和/或坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
在读取操作期间,ECC组件130可以检测和校正从存储器装置200读取的数据中的错误。在一个实施例中,当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件130可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
在各个实施例中,ECC组件130可以基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、turbo码、turbo乘积码(TPC)、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。然而,错误校正不限于这些技术。因此,ECC组件130可以包括适用于错误校正操作的任意和所有电路、系统或装置。
主机接口140可以通过诸如以下的各种通信标准或接口中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以提供控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求而控制存储器装置200。存储器接口150可以在控制组件120的控制下生成用于存储器装置200的控制信号并且处理数据。在一个实施例中,当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在控制组件120的控制下生成用于存储器的控制信号并且处理数据。
例如如图2中所示的存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、可以呈页面缓冲器阵列的形式的页面缓冲器250、列解码器260以及输入和输出(输入/输出)电路270。存储器单元阵列210可以包括可以存储数据的多个存储块211。电压生成电路230、行解码器240、页面缓冲器250、列解码器260以及输入/输出电路270可以形成存储器单元阵列210的外围电路。外围电路可以对存储器单元阵列210执行编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的各种电平的操作电压。
行解码器240可以与电压生成电路230和多个存储块211电通信。行解码器240可以响应于由控制电路220生成的行地址而选择多个存储块211之中的至少一个存储块,并且将从电压生成电路230供应的操作电压传输到所选择的存储块。
页面缓冲器250可以通过位线BL与存储器单元阵列210联接(图3中所示)。页面缓冲器250可以响应于由控制电路220生成的页面缓冲器控制信号,利用正电压对位线BL进行预充电,在编程操作和读取操作中将数据传输到所选择的存储块以及从所选择的存储块接收数据,或者临时存储所传输的数据。
列解码器260可以将数据传输到页面缓冲器250以及从页面缓冲器250接收数据,也可以将数据传输到输入/输出电路270以及从输入/输出电路270接收数据。
输入/输出电路270可以将从外部装置(例如,图1的控制器100)接收的命令和地址传输到控制电路220,将来自外部装置的数据传输到列解码器260,或者将来自列解码器260的数据输出到外部装置。
控制电路220可以响应于命令和地址而控制外围电路。
图3是示出根据本发明的实施例的存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211中的任意一个。
参照图3,存储块211可以包括联接到行解码器240的多个字线WL0至WLn-1、漏极选择线DSL和源极选择线SSL。这些线可以与在DSL和SSL之间的多个字线平行布置。
存储块211可以进一步包括分别联接到位线BL0至BLm-1的多个单元串221。每列的单元串可以包括一个或多个漏极选择晶体管DST以及一个或多个源极选择晶体管SST。在所示的实施例中,每个单元串具有一个DST和一个SST。在单元串中,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。存储器单元中的每一个可以形成为多层单元。例如,存储器单元中的每一个可以形成为存储1位数据的单层单元(SLC)。存储器单元中的每一个可以形成为存储2位数据的多层单元(MLC)。存储器单元中的每一个可以形成为存储3位数据的三层单元(TLC)。存储器单元中的每一个可以形成为存储4位数据的四层单元(QLC)。
每个单元串中的SST的源极可以联接到公共源极线CSL,并且每个DST的漏极可以联接到相应的位线。单元串中的SST的栅极可以联接到SSL,并且单元串中的DST的栅极可以联接到DSL。跨单元串的存储器单元的栅极可以联接到相应的字线。也就是说,存储器单元MC0的栅极联接到相应的字线WL0,存储器单元MC1的栅极联接到相应的字线WL1,等等。联接到特定字线的存储器单元的组可以被称为物理页面。因此,存储块211中的物理页面的数量可以对应于字线的数量。
页面缓冲器250可以包括联接到位线BL0至BLm-1的多个页面缓冲器251。页面缓冲器251可以响应于页面缓冲器控制信号而操作。例如,在读取操作或验证操作期间,页面缓冲器251可以临时存储通过位线BL0至BLm-1接收的数据或感测位线的电压或电流。
在本发明的各个实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,并且可以包括NOR型闪速存储器单元。存储器单元阵列210可以被实施为组合有两种或更多种类型的存储器单元的混合闪速存储器,或者被实施为控制器被嵌入在存储器芯片内部的1-NAND闪速存储器。
图4是示出存储器装置的不同类型的单元的状态分布或编程电压(PV)电平分布的示图。
参照图4,存储器单元中的每个可以利用特定类型的单元来实施,例如,存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)或存储4位数据的四层单元(QLC)。通常,特定存储器装置中的所有存储器单元都具有相同类型,但这不是必需的。
SLC可以包括两种状态P0和P1。P0可以表示擦除状态,P1可以表示编程状态。因为SLC可以设置为两种不同状态中的一种,所以每个SLC可以根据设定的编码方法来编程或存储1个位。MLC可以包括四种状态P0、P1、P2和P3。在这些状态之中,P0可以表示擦除状态,P1至P3可以表示编程状态。因为MLC可以设置为四种不同状态中的一种,所以每个MLC可以根据设定的编码方法来编程或存储两个位。TLC可以包括八种状态P0至P7。在这些状态之中,P0可以表示擦除状态,P1至P7可以表示编程状态。因为TLC可以设置为八种不同状态中的一种,所以每个TLC可以根据设定的编码方法来编程或存储三个位。QLC可以包括16种状态P0至P15。在这些状态之中,P0可以表示擦除状态,P1至P15可以表示编程状态。因为QLC可以设置为十六种不同状态中的一种,所以每个QLC可以根据设定的编码方法来编程或存储四个位。
重新参照图2和图3,存储器装置200可以包括多个存储器单元(例如,NAND闪速存储器单元)。存储器单元按如图3所示的行和列的阵列布置。每行中的单元连接到字线(例如,WL0),而每列中的单元联接到位线(例如,BL0)。这些字线和位线用于读取操作和写入操作。在写入操作期间,当字线被寻址(addressed)时,将待写入的数据(“1”或“0”)提供到位线。在读取操作期间,字线再次被寻址,然后可以从位线获取每个单元的阈值电压。多个页面可以共享属于(即,联接到)相同字线的存储器单元。当存储器单元利用MLC来实施时,多个页面包括最高有效位(MSB)页面和最低有效位(LSB)页面。当存储器单元利用TLC来实施时,多个页面包括MSB页面、中间有效位(CSB)页面和LSB页面。当存储器单元利用QLC来实施时,多个页面包括MSB页面、中间最高有效位(CMSB)页面、中间最低有效位(CLSB)页面和LSB页面。例如可以使用编码方案(例如,格雷编码)来对存储器单元进行编程,以便增大诸如SSD的存储器系统10的容量。
图5A是示出多层单元(MLC)的编码的示例的示图。
参照图5A,可以使用设定类型的编码来对MLC进行编程。MLC可以具有4种编程状态,包括擦除状态E(或PV0)和第一编程状态PV1至第三编程状态PV3。擦除状态E(或PV0)可以对应于“11”。第一编程状态PV1可以对应于“10”。第二编程状态PV2可以对应于“00”。第三编程状态PV3可以对应于“01”。
在MLC中,如图5B所示,存在包括LSB页面和MSB的2种类型的页面。可以应用1个或2个阈值,以便从MLC中检索数据。对于MSB页面,单个阈值为VT1。VT1区分第一编程状态PV1和第二编程状态PV2。对于LSB页面,2个阈值包括阈值VT0和阈值VT2。VT0区分擦除状态E和第一编程状态PV1。VT2区分第二编程状态PV2和第三编程状态PV3。
图6A是示出三层单元(TLC)的格雷编码的示例的示图。
参照图6A,可以使用格雷编码来对TLC进行编程。TLC可以具有8种编程状态,包括擦除状态E(或PV0)和第一编程状态PV1至第七编程状态PV7。擦除状态E(或PV0)可以对应于“111”。第一编程状态PV1可以对应于“011”。第二编程状态PV2可以对应于“001”。第三编程状态PV3可以对应于“000”。第四编程状态PV4可以对应于“010”。第五编程状态PV5可以对应于“110”。第六编程状态PV6可以对应于“100”。第七编程状态PV7可以对应于“101”。
在TLC中,如图6B所示,存在包括LSB页面、CSB页面和MSB页面的3种类型的页面。可以应用2个或3个阈值以便从TLC中检索数据。对于MSB页面,2个阈值包括区分擦除状态E和第一编程状态PV1的阈值VT0以及区分第四编程状态PV4和第五编程状态PV5的阈值VT4。对于CSB页面,3个阈值包括VT1、VT3和VT5。VT1区分第一编程状态PV1和第二编程状态PV2。VT3区分第三编程状态PV3和第四编程状态PV4。VT5区分第五编程状态PV5和第六编程状态PV6。对于LSB页面,2个阈值包括VT2和VT6。VT2区分第二编程状态PV2和第三编程状态PV3。VT6区分第六编程状态PV6和第七编程状态PV7。
在如图5A和图6A所述的对包括多个存储器单元的存储器阵列进行编程之后,当使用诸如读取阈值电压(也被称为“读取电压电平”或“读取阈值”)的参考电压来对存储器阵列执行读取操作时,将存储器单元的电荷电平(例如,存储器单元的晶体管的阈值电压电平)与一个或多个参考电压进行比较以确定各个存储器单元的状态。当将特定读取阈值施加到存储器阵列时,阈值电压电平高于参考电压的那些存储器单元被导通并被检测为“导通”单元,而阈值电压电平低于参考电压的那些存储器单元被截止并被检测为“截止”单元。因此,每个读取阈值被设置在与不同编程状态相对应的相邻阈值电压分布窗口之间,使得每个读取阈值可以通过导通或截止存储器单元晶体管来区分这些编程状态。
当使用MLC技术对数据存储装置中的存储器单元执行读取操作时,存储器单元的阈值电压电平与多于一个的读取阈值电平进行比较以确定各个存储器单元的状态。失真或重叠的阈值电压分布可能引起读取错误。例如,由于编程和擦除(P/E)循环、单元间干扰和/或数据保留错误,因此理想的存储器单元阈值电压分布可能显著失真或重叠。例如,随着编程/擦除循环的增加,不同编程状态的相邻阈值电压分布之间的裕度减小并且分布最终重叠。因此,阈值电压落入相邻分布的重叠区域内的存储器单元可能被读取为被编程为不同于原始目标值的值,并因此导致读取错误。在许多情况下,可以通过使用错误校正码(ECC)来管理这种读取错误。当读取操作的位错误的数量超过数据存储的ECC校正能力时,使用设定的读取阈值电压的读取操作失败。设定的读取阈值电压可以是先前使用的读取阈值电压(即,历史读取阈值电压)。历史读取阈值电压可以是在最近一次成功解码中使用的读取阈值电压,即,在读取重试操作之前执行的读取通过读取操作中使用的读取电压。当使用设定的读取阈值电压的读取操作失败时,控制器100可以控制例如图7所示算法的错误恢复算法。
参照图7,控制器100可以使用以设定顺序施加的一个或多个读取阈值电压来对存储器单元执行一个或多个读取重试操作(S100)。例如,读取阈值电压可以包括N(例如,N为5或10)个读取阈值电压(或读取电压电平),包括第一读取阈值电压至第N读取阈值电压。第一读取阈值电压可以是先前使用的读取阈值电压(即,历史读取阈值电压)。历史读取阈值电压可以是在最近一次成功解码中使用的读取阈值电压,即,在读取重试操作之前执行的读取通过读取操作中使用的读取电压。控制器100可以执行读取重试操作,直到确定与相应读取重试操作相关联的解码成功为止。
当使用读取阈值电压的所有读取重试操作已经失败时,控制器100可以执行附加的恢复操作。例如,附加的恢复操作可以包括最佳读取阈值电压搜索(S200)、使用错误校正码(ECC)的软解码(S300)和/或独立磁盘冗余阵列(RAID)恢复(S400)。
如上所述,由于各种噪声源,从数据存储装置(例如,固态驱动器(SSD))中的存储器装置(例如,NAND闪存装置)检索的数据通常包含许多位错误。为了保护数据,在数据被写入到存储器装置之前(即,在被写入到存储介质之前)通过错误校正码对其进行编码。解码器可以通过使用这种错误校正码来校正所有位错误。如图7所示的“读取重试”,在本发明的一个实施例中,当错误数量超过错误校正码的能力时,数据存储装置可以调用特定的防御算法(例如,读取重试操作),利用比原始读取操作更优的参数来多次读取存储介质,直到可以通过错误校正码恢复数据。如下详述的,可以使用不同的读取阈值来更好地读取数据的页面。
针对固态驱动器,增加的位错误的一个来源是在如图8所示的读取操作期间使用次佳(sub-optimal)读取阈值。在图8中,OptVt表示最佳读取阈值电压,Rd0至Rd2表示针对三层单元(TLC)NAND闪速存储器装置的特定页面(例如,LSB页面)的读取操作期间的次佳读取阈值电压。估计最佳读取阈值的一种方法(例如,eBoost算法)利用不同读取阈值对同一页面执行多个附加读取操作,并且估计使得所检索的数据中的位错误最少化的最佳读取阈值。这些附加读取操作增加了读取操作的延迟并降低了数据存储装置(或存储器系统)的服务质量(QoS)。因此,本发明的实施例提供了一种在不需要执行附加读取操作的情况下估计最佳读取阈值的方案。
图9是示出根据本发明的实施例的存储器系统10的示图。
参照图9,存储器系统10包括控制器100和存储器装置200。存储器装置200可以包括多个存储器单元(例如,NAND闪速存储器单元)210。存储器单元如图3所示按行和列的阵列来布置。每行中的单元连接到字线(例如,WL0),而每列中的单元联接到位线(例如,BL0)。这些字线和位线用于读取操作和写入操作。在写入操作期间,在字线被寻址时,将待写入的数据(“1”或“0”)提供到位线。在读取操作期间,字线再次被寻址,然后可以从位线获取每个单元的阈值电压。多个页面可以共享属于(即,联接到)相同字线的存储器单元。当存储器单元利用MLC来实施时,多个页面包括最高有效位(MSB)页面和最低有效位(LSB)页面。当存储器单元利用TLC来实施时,多个页面包括MSB页面、中间有效位(CSB)页面和LSB页面。当存储器单元利用QLC来实施时,多个页面包括MSB页面、中间最高有效位(CMSB)页面、中间最低有效位(CLSB)页面和LSB页面。可以使用编码方案(例如,格雷编码)来对存储器单元进行编程,以便增加诸如SSD的存储器系统10的容量。
控制器100可以包括读取处理器910、解码器920和最佳读取阈值确定器930。尽管示出了控制器100的组件是分开实施的,但是这些组件可以利用图2中的控制组件120的内部组件(即,固件(FW)来实施。虽然在图10中未示出,但是控制器100和存储器装置200可以包括诸如图2所示的各种其它组件。
读取处理器910可以响应于来自主机(例如,图1的主机装置5)的读取请求而控制针对存储器装置200的一个或多个读取操作。读取处理器910可以使用各种读取阈值来控制读取操作。解码器920可以对与读取操作相关联的数据进行解码。
在本发明的各个实施例中,读取处理器910可以使用来自设定的读取电平表的选择读取阈值来控制针对存储器单元的读取操作。在各个实施例中,读取电平表可以包括多个读取阈值,并且选择读取阈值可以包括默认读取阈值。如图6B所示,当对TLC的MSB页面执行读取操作时,选择读取阈值可以包括一对第一读取阈值和第二读取阈值[VT0,VT4]。第一读取阈值VT0用于区分擦除状态(即,E)和第一编程状态(即,PV1),并且第二读取阈值VT4用于区分第四编程状态(即,PV4)和第五编程状态(即,PV5)。如图6B所示,当对TLC的LSB页面执行读取操作时,选择读取阈值可以包括一对第一读取阈值和第二读取阈值[VT2,VT6]。第一读取阈值VT2用于区分第二编程状态(即,PV2)和第三编程状态(即,PV3),并且第二读取阈值VT6用于区分第六编程状态(即,PV6)和第七编程状态(即,PV7)。
在本发明的一个实施例中,根据解码器920的解码结果,可以确定使用从读取阈值集中选择的读取阈值的读取操作是成功还是失败。当使用所选择的读取阈值的读取操作失败时,读取处理器910可以诸如图7所示使用读取重试条目来控制针对存储器单元的一个或多个读取重试操作。
最佳读取阈值确定器930可以提供最佳读取阈值电压(Vt)估计(或预测)的方案。最佳读取阈值确定器930可以利用一个或多个深度神经网络(DNN)来实施。在本发明的各个实施例中,最佳读取阈值确定器930可以包括训练组件930A和推理组件930B。下面描述训练组件930A和推理组件930B的操作。
图10是示出根据本发明的一个实施例的神经网络1000(代表训练组件)的一个示例的示图。在本发明的各个实施例中,对于最佳读取阈值估计或预测,神经网络1000可以被包括在图9中的存储器系统10的控制器100中。也就是说,神经网络1000可以针对图9中的最佳读取阈值确定器1030实施。
参照图10,与一个或多个输入条件相关联的特征图1002可以被输入到神经网络1000。进而,神经网络1000可以输出信息1004。如图所示,神经网络1000包括输入层1010、一个或多个隐藏层1020和输出层1030。来自特征图1002的特征可以连接到输入层1010中的输入节点。信息1004可以从输出层1030的输出节点生成。一个或多个隐藏层1020可以存在于输入层1010与输出层1030之间。可以对神经网络1000进行预训练,以通过不同的层1010、1020和1030来处理来自特征图1002的特征,以便输出信息1004。
神经网络1000可以是表示互连节点的网络的多层神经网络,诸如人工深度神经网络,其中关于节点的知识(例如,关于由节点表示的具体特征的信息)跨层共享,并且也保留对每个层特定的知识。每个节点表示一条信息。可以通过节点到节点互连来在节点之间交换知识。对神经网络1000的输入可以激活一组节点。进而,该组节点可以激活其它节点,从而传播关于输入的知识。该激活过程可以跨其它节点重复进行,直到选择和激活输出层1030中的节点。
如图所示,神经网络1000包括层的层级结构(hierarchy),层的层级结构表示以前馈方式互连的节点的层级结构。输入层1010可以位于最低的层级结构级别。输入层1010可以包括在本文中被称为输入节点的一组节点。当将特征图1002输入到神经网络1000时,输入层1010的输入节点中的每一个可以连接到特征图1002的每个特征。连接中的每一个都可以具有权重。这些权重可以是从神经网络1000的学习/训练中导出的一组参数。输入节点可以通过对这些特征应用激活函数来变换特征。可以将从该变换中得到的信息传递到层级结构的更高级别的节点。
输出层1030可以位于最高的层级结构级别。输出层1030可以包括一个或多个输出节点。每个输出节点可以提供输出信息1004的特定值。输出节点的数量可以取决于输出信息1004的所需数量。换句话说,在一个实施例中,在输出节点的数量与输出信息1004的数量之间存在一一对应的关系或映射。
隐藏层1020可以位于输入层1010与输出层1030之间。隐藏层1020可以包括“N”个隐藏层,其中“N”为大于或等于1的整数。隐藏层1020中的每一个可以包括在本文中被称为隐藏节点的一组节点。示例性隐藏层可以包括上采样层、卷积层、全连接层和/或数据变换层。
在最低级别的隐藏层1020处,该级别的隐藏节点可以与输入节点互连。在最高级别的隐藏层1020处,该级别的隐藏节点可以与输出节点互连。输入节点可以不直接与输出节点互连。如果存在多个隐藏层,则输入节点与最低隐藏层的隐藏节点互连。进而,这些隐藏节点与下一隐藏层的隐藏节点互连。互连可以表示关于两个互连节点的所获知的一条信息。互连可以具有可以被调整(例如,基于训练数据集调整)的数值权重,使神经网络1000适应输入并能够学习。
通常,隐藏层1020可以允许在输出层1030的输出节点之中共享关于输入层1010的输入节点的知识。为此,可以通过隐藏层1020对输入节点应用变换f。在一个示例中,变换f可以是非线性的。可使用不同的非线性变换f,包括例如整流函数f(x)=max(0,x)。在另一示例中,可以基于交叉验证来选择特定的非线性变换f。例如,给定已知示例对(x,y)、其中x∈X并且y∈Y,当函数f∶X→Y产生最佳匹配时,选择该函数f∶X→Y。
例如,神经网络1000可以是用于包括NAND闪速存储器装置的存储器系统的深度学习神经网络。可以利用输出节点和“K”个输入节点创建深度学习神经网络,其中“K”为定义针对存储器系统的输入条件的因素(例如,特征)的数量。输出节点可以用于执行针对输入条件的组合的激活函数。神经网络1000中的层的数量和每个层的大小可以取决于NAND闪速存储器装置以及该NAND闪速存储器装置可以存储的数据量。
如上所述,神经网络1000可以实施图9中的最佳读取阈值确定器1030。在本发明的各个实施例中,可以使用下面的专利申请中描述的神经网络的实施方案:2021年1月25日提交的申请号为17/157,495、名称为“基于深度学习的编程验证建模和针对存储器装置的电压估计(DEEP LEARNING BASED PROGRAM-VERIFY MODELING AND VOLTAGE ESTIMATION FORMEMORY DEVICES)”的美国专利申请;2021年7月13日提交的申请号为17/374,750、名称为“用于非参数化PV电平建模和读取阈值电压估计的系统和方法(SYSTEMS AND METHODS FORNON-PARAMETRIC PV-LEVEL MODELING AND READ THRESHOLD VOLTAGE ESTIMATION)的美国专利申请;2021年7月27日提交的申请号为17/443,755、名称为“用于无建模读取阈值电压估计的系统和方法(SYSTEMS AND METHODS FOR MODELESS READ THRESHOLD VOLTAGEESTIMATION)”的美国专利申请;以及2021年7月27日提交的申请号为17/443,726、名称为“用于参数化PV电平建模的读取阈值电压估计系统和方法(READ THRESHOLD VOLTAGEESTIMATION SYSTEMS AND METHODS FOR PARAMETRIC PV-LEVEL MODELING)”的美国专利申请,其全部内容通过引用整体并入本文。
图11是示出根据本发明的一个实施例的最佳读取阈值估计器1100(代表推理组件)的示图。例如,最佳读取阈值估计器1100可以对应于图9中的最佳读取阈值确定器930的推理组件930B。
参照图11,最佳读取阈值估计器1100可以包括深度神经网络(DNN)。DNN 1100可以根据所用DNN的大小以片上系统(SoC)或固件(FW)来实施。在本发明的各个实施例中,DNN1600可以用于三层单元(TLC)NAND闪速存储器装置的特定页面(例如,MSB、CSB或LSB页面)。
最佳读取阈值估计器1100可以基于从失败读取页面的先前读取尝试收集的信息来估计失败读取页面的最佳读取阈值。也就是说,DNN 1100可以在不需要任何附加感测操作和任何中间参数估计(这些在上述实施方案中是必需的)的情况下估计最佳读取阈值。
如图11和图12所示,DNN 1100可以接收与先前读取操作相关联的信息作为输入。输入可以包括读取阈值集(Vtread0、Vtread1、……)、校验和(CSread0、CSread1、……)和非对称比率/1的计数/0的计数集(ARread0、ARread1、……)。如图12所示,DNN 1100输出估计阈值VtDNN,该估计阈值VtDNN被输出到损失函数1150。损失函数1150接收VtOpt信号并将估计阈值VtDNN与VtOpt信号进行比较。如图12所示,该比较被反馈到DNN 1100,并且可以继续估计VtDNN直到提供回DNN 1100的比较(差值)足够低。
图11中的读取阈值集Vt可以包括用于特定页面的每个读取的多个值。例如,如图6B所示,用于读取TLC存储器装置的LSB页面的读取阈值集Vt可以包括两个读取阈值电压值VT2和VT6。VT2区分第二编程状态PV2和第三编程状态PV3。VT6区分第六编程状态PV6和第七编程状态PV7。针对TLC存储器装置的CSB页面,可以估计如图6B所示的三个读取阈值电压值(VT1、VT3、VT5)。针对TLC存储器装置的MSB页面,可以估计如图6B所示的两个读取阈值电压值(VT0、VT4)。
每个校验和可以是位错误的数量的近似值,其指示最佳读取阈值电压估计中的噪声电平。当使用作为错误校正码(ECC)的低密度奇偶校验(LDPC)码对读取页面进行解码时,校正子权重可以与码字的未满足校验(USC)节点的数量相对应并且可以用作校验和。
每个非对称比率/1的计数/0的计数(即,1的计数和0的计数的非对称比率)可以是以下三个度量中的任意一个:1的计数;0的计数;以及1的计数与0的计数的非对称比例。1的计数可以是码字中的为1的位的数量。0的计数可以是码字中的为0的位的数量。非对称比率AR可以被定义为码字中第一二进制值的数量与第二二进制值的数量的比率。例如,非对称比率AR可以是表示经解码的原始数据中1的数量(即,1的计数)除以0的数量(即,0的计数)的值。在使用逆向逻辑协约(convention)的一个实施例中,AR可以是0的数量(即,0的计数)除以1的数量(即,1的计数)。在一个实施例中,本发明中的读取阈值优化系统可以使用2020年7月13日提交的申请号为16/927,567、名称为“使用域变换的读取阈值优化系统和方法(READ THRESHOLD OPTIMIZATION SYSTEMS AND METHODS USING DOMAINTRANSFORMATION)”的美国专利申请中描述的非对称比率中的任意一个。
DNN 1100可以是其中设定函数(例如,整流线性单元(ReLu)函数)是非线性的、具有多个层的单个全连接网络或是任意其它合适的DNN结构。DNN 1100可以基于如图11所示的输入(即,读取阈值集(Vtread0、Vtread1、……),校验和(CSread0、CSread1、……)以及非对称比率/1的计数/0的计数集(ARread0、ARread1、……))来估计(即,预测)最佳读取阈值集OptVt。所预测的最佳读取阈值集OptVt可以用于下一读取操作和后续读取操作,直到实现对从特定NAND闪存页面读取的数据的成功恢复。针对该估计,可以如图12所示对DNN 1100进行训练。
DNN 1100可以关于特定数据集进行训练,该特定数据集包括作为输入特征的读取阈值集(Vtread0、Vtread1、……)、校验和(CSread0、CSread1、……)和非对称比率/1的计数/0的计数集(ARread0、ARread1、……)以及作为输出的所预测的最佳读取阈值电压。在一些实施例中,DNN 1100可以对从真实NAND闪速存储器装置的页面或适当的通道模型收集的测量值进行离线训练。
针对DNN 1100的训练,可以将设定的损失函数1150(例如,可微分损失函数)定义成测量在作为DNN 1100的输出的所预测的最佳读取阈值电压VtDNN与数据集中的数据点的所预期的最佳读取阈值电压VtOpt之间的误差。例如,均方误差函数(VtDNN-VtOpt)2/n(其中n为数据集的训练数据的子集中的数据点的数量)可以用作损失函数1150。损失函数1150可以不仅仅限于均方误差函数。
DNN 1100可以从损失函数1150接收结果。进一步地,可以将DNN 1100训练成基于损失函数的结果来找到所预测的最佳读取阈值电压VtDNN,使得真实(实际)最佳读取阈值电压VtOpt与来自DNN 1100的所预测的最佳读取阈值电压VtDNN之间的差最小化。
在图10的示例中,神经网络1000(即,图11的DNN 1100)可以被预训练成通过不同的层1010、1020和1030处理来自特征图1002的特征(即,读取阈值、校验和以及非对称比率/1的计数/0的计数集),以便输出最佳读取阈值电压1004。因此,DNN 1100可以被训练成改进最佳读取阈值电压,使得实际的最佳读取阈值电压VtOpt与来自DNN 1100的所预测的最佳读取阈值电压VtDNN之间的差(或误差)最小化。
在本发明的各个实施例中,可以获得DNN 1100的权重。例如,随机梯度下降(SGD)进程、其变体和/或其它算法可以用于获得DNN 1100的权重,使得损失函数最小化。然后可以使用所获得的权重(权重值)来处理输入特征(向量)以获得最佳读取阈值电压。在各个实施例中,输入特征可以具有读取阈值、校验和以及非对称比率。例如,DNN的所获得的权重可以是多个矩阵ADNN,0、ADNN,1、……、ADNN,N和偏置向量bDNN,0、bDNN,1、……、bDNN,N的形式。也就是说,DNN的所获得的权重可以包括多个矩阵ADNN,0、ADNN,1、……、ADNN,N和偏置向量bDNN,0、bDNN,1、……、bDNN,N的组合。
DNN 1100可以接收输入(即,读取阈值集、校验和以及非对称比率/1的计数/0的计数集)并基于接收到的输入和权重来估计最佳读取阈值电压OptVt。下面描述由DNN 1100来估计最佳读取阈值集的一个示例。
在一个实施方案中,使用诸如校验和以及非对称比率/1的计数/0的计数的三个读取来收集输入信息。如上所述,因为TLC NAND闪速存储器装置中的LSB页面使用了两个读取阈值电压,所以这三个读取对应于六个读取阈值电压。因此,读取阈值集Vt、校验和CS以及非对称比率/1的计数/0的计数AR表示如下:
Figure BDA0003537705590000231
CS=[CSread,CSread,CSread];并且
AR=[ARread0,ARread1,ARread2]。
在上面的等式中,
Figure BDA0003537705590000232
表示用于特定页面的第零读取的第一读取阈值电压(例如,图6B的VT2),/>
Figure BDA0003537705590000233
表示用于特定页面的第一读取的第一读取阈值电压,并且/>
Figure BDA0003537705590000234
表示用于特定页面的第二读取的第一读取阈值电压。/>
Figure BDA0003537705590000235
表示用于特定页面的第零读取的第二读取阈值电压(例如,图6B的VT6),/>
Figure BDA0003537705590000236
表示用于特定页面的第一读取的第二读取阈值电压,并且/>
Figure BDA0003537705590000237
表示用于特定页面的第二读取的第二读取阈值电压。CSread0表示与特定页面的第零读取相关联的校验和,CSread1表示与特定页面的第一读取相关联的校验和,并且CSread2表示与特定页面的第二读取相关联的校验和。ARread0表示与特定页面的第零读取相关联的校验和,ARread1表示与特定页面的第一读取相关联的校验和,并且ARread2表示与特定页面的第二读取相关联的校验和。
在本发明的一个实施例中,图12中所示的DNN 1100可以接收从三个读取获得的输入信息(即,读取阈值集、校验和以及非对称比率/1的计数/0的计数集)。进一步地,DNN1100可以基于接收到的输入信息和权重来估计最佳读取阈值电压OptVt,其表示如下:
OptVt=ADNN,2×(R(ADNN,1×R(ADNN,0×[Vt,CS,AR]+bDNN,0)+bDNN,1))+bDNN,N2
上述三(3)个先前读取的等式可以推广为N个先前读取,如下所示:
OptVt=ADNN,N×R(ADNN,N-1×R(ADNN,N-2×R(…R(ADNN,0×[Vt,CS,AR]+bDNN,0)…)+bDNN,N-2)+bDNN,N-1)+bDNN,N
在上面的等式中,R表示设定的激活函数。在本发明的各个实施例中,设定的激活函数可以是整流线性单元(ReLU)激活函数。可能适用其它激活函数。如上所述,DNN的权重可以是多个矩阵ADNN,0、ADNN,1、……、ADNN,N和偏置向量bDNN,0、bDNN,1、……、bDNN,N的形式。
图13是示出根据本发明的一个实施例的最佳读取阈值估计操作1300的流程图。最佳读取阈值估计操作1300可以由图9中的控制器100的最佳读取阈值确定器930执行,最佳读取阈值确定器930可以利用图11中的神经网络(即,DNN)1100来实施。
参照图13,在操作1310,最佳读取阈值确定器930可以使用包括多个读取阈值电压的读取阈值集对从多个页面之中选择的页面执行一个或多个读取操作。
在操作1320,最佳读取阈值确定器930可以根据每个读取操作获得与所选择的页面的解码相关联的读取阈值集、校验和值以及1的计数与0的计数的非对称比率。
在操作1330,最佳读取阈值确定器930可以提供所获得的读取阈值集、校验和值以及非对称比率作为神经网络的输入信息。
在操作1340,最佳读取阈值确定器930可以通过神经网络1100基于输入信息与输入信息的权重来估计最佳读取阈值电压,该权重包括多个矩阵和偏置向量的组合。
在本发明的各个实施例中,可以对神经网络1100进行训练,以获得输入信息的权重,使得设定的损失函数最小化。在该实施例中,所设定的损失函数可以包括用于测量神经网络的输出与最佳读取阈值电压之间的误差的可微分损失函数。
在其它实施例中,神经网络1100可以基于输入信息、多个矩阵、偏置向量和特定激活函数的组合来估计最佳读取阈值电压。在该实施例中,最佳读取阈值电压可以基于上面的等式OptVt=ADNN,N×R(ADNN,N-1×R(ADNN,N-2×R(…R(ADNN,0×[Vt,CS,AR]+bDNN,0)…)+bDNN,N-2)+bDNN,N-1)+bDNN,N来估计,其中OptVt表示最佳读取阈值电压,Vt表示读取阈值集,CS表示校验和值,AR表示1的计数与0的计数的非对称比率,ADNN,N表示第(N+1)矩阵,bDNN,N表示第(N+1)偏置向量,并且R表示激活函数。在该实施例中,激活函数可以包括整流线性单元(ReLU)激活函数。
在本发明的各个实施例中,所选择的页面可以包括三层单元(TLC)的最低有效位(LSB)页面。在该实施例中,读取阈值集可以包括用于区分擦除状态与第一编程状态的第一读取阈值电压以及用于区分第二编程状态与第三编程状态的第二读取阈值电压。
如上所述,本发明的实施例可以提供一种用于估计存储器系统(例如,SSD)中的最佳读取阈值电压的方案。本发明的实施例可以在不需要任何附加感测操作和任何中间参数估计的情况下,通过神经网络使用从先前读取尝试获得的信息来估计最佳读取阈值电压。因此,这些实施例可以提高存储器系统的服务质量(QoS)和可靠性。
虽然出于清楚和理解的目的已经较为详细地示出和描述了前述实施例,但是本发明并不限于所提供的细节。如本领域技术人员根据前述公开内容将理解的,存在许多实施本发明的替代方式。因此,所公开的实施例是说明性的,而不是限制性的。本发明旨在涵盖所公开实施例的所有修改方案和替代方案。此外,可以组合所公开实施例以形成附加的实施例。

Claims (18)

1.一种存储器系统,包括:
存储器装置,包括多个页面;以及
控制器,包括神经网络,并且:
使用包括多个读取阈值电压的读取阈值集,对从所述多个页面之中选择的页面执行一个或多个读取操作;
根据所述一个或多个读取操作中的每一个,获得与所选择的页面的解码相关联的所述读取阈值集、校验和值以及1的计数与0的计数的非对称比率;
将所获得的所述读取阈值集、所述校验和值和所述非对称比率作为输入信息提供给所述神经网络;以及
由所述神经网络基于所述输入信息和所述输入信息的权重来估计最佳读取阈值电压,所述权重包括多个矩阵和偏置向量的组合。
2.根据权利要求1所述的存储器系统,其中对所述神经网络进行训练以获得所述权重,使得设定的损失函数被最小化。
3.根据权利要求2所述的存储器系统,其中所述设定的损失函数包括可微分损失函数,所述可微分损失函数用于测量所述神经网络的输出与所述最佳读取阈值电压之间的相应误差。
4.根据权利要求1所述的存储器系统,其中所述控制器基于所述输入信息、所述多个矩阵、所述偏置向量和激活函数的组合来估计所述最佳读取阈值电压。
5.根据权利要求4所述的存储器系统,其中所述控制器基于下面的等式来估计所述最佳读取阈值电压:
OptVt=ADNN,N×R(ADNN,N-1×R(ADNN,N-2×R(…R(ADNN,0×[Vt,CS,AR]+bDNN,0)…)+bDNN,N-2)+bDNN,N-1)+bDNN,N
其中OptVt表示所述最佳读取阈值电压,Vt表示所述读取阈值集,CS表示所述校验和值,AR表示所述1的计数与所述0的计数的所述非对称比率,ADNN,N表示第N+1矩阵,bDNN,N表示第N+1偏置向量,并且R表示所述激活函数。
6.根据权利要求5所述的存储器系统,其中所述1的计数与所述0的计数的所述非对称比率包括所述1的计数除以所述0的计数的比率。
7.根据权利要求4所述的存储器系统,其中所述激活函数包括整流线性单元激活函数即ReLU激活函数。
8.根据权利要求1所述的存储器系统,其中所选择的页面包括三层单元即TLC的最低有效位页面即LSB页面。
9.根据权利要求8所述的存储器系统,其中所述读取阈值集包括:a)用于区分擦除状态与第一编程状态的第一读取阈值电压,以及b)用于区分第二编程状态与第三编程状态的第二读取阈值电压。
10.一种操作存储器系统的方法,所述存储器系统包括具有多个页面的存储器装置和具有神经网络的控制器,所述方法包括:
使用包括多个读取阈值电压的读取阈值集,对从所述多个页面之中选择的页面执行一个或多个读取操作;
根据所述一个或多个读取操作中的每一个,获得与所选择的页面的解码相关联的所述读取阈值集、校验和值以及1的计数与0的计数的非对称比率;
将所获得的所述读取阈值集、所述校验和值和所述非对称比率作为输入信息提供给所述神经网络;以及
由所述神经网络基于所述输入信息和所述输入信息的权重来估计最佳读取阈值电压,所述权重包括多个矩阵和偏置向量的组合。
11.根据权利要求10所述的方法,其中对所述神经网络进行训练以获得所述权重,使得设定的损失函数被最小化。
12.根据权利要求11所述的方法,其中所述设定的损失函数包括可微分损失函数,所述可微分损失函数用于测量所述神经网络的输出与所述最佳读取阈值电压之间的相应误差。
13.根据权利要求10所述的方法,其中所述控制器基于所述输入信息、所述多个矩阵、所述偏置向量和激活函数的组合来估计所述最佳读取阈值电压。
14.根据权利要求13所述的方法,其中所述控制器基于下面的等式来估计所述最佳读取阈值电压:
OptVt=ADNN,N×R(ADNN,N-1×R(ADNN,N-2×R(…R(ADNN,0×[Vt,CS,AR]+bDNN,0)…)+bDNN,N-2)+bDNN,N-1)+bDNN,N
其中OptVt表示所述最佳读取阈值电压,Vt表示所述读取阈值集,CS表示所述校验和值,AR表示1的计数与0的计数的所述非对称比率,ADNN,N表示第N+1矩阵,bDNN,N表示第N+1偏置向量,并且R表示所述激活函数。
15.根据权利要求14所述的方法,其中所述1的计数与所述0的计数的所述非对称比率包括所述1的计数除以所述0的计数的比率。
16.根据权利要求13所述的方法,其中所述激活函数包括整流线性单元激活函数即ReLU激活函数。
17.根据权利要求10所述的方法,其中所选择的页面包括三层单元即TLC的最低有效位页面即LSB页面。
18.根据权利要求17所述的方法,其中所述读取阈值集包括:a)用于区分擦除状态与第一编程状态的第一读取阈值电压,以及b)用于区分第二编程状态与第三编程状态的第二读取阈值电压。
CN202210221728.1A 2021-11-22 2022-03-09 估计非参数化最佳读取阈值的系统和方法 Pending CN116153364A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/532,905 US11854629B2 (en) 2021-11-22 2021-11-22 System and method for non-parametric optimal read threshold estimation using deep neural network
US17/532,905 2021-11-22

Publications (1)

Publication Number Publication Date
CN116153364A true CN116153364A (zh) 2023-05-23

Family

ID=86372490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210221728.1A Pending CN116153364A (zh) 2021-11-22 2022-03-09 估计非参数化最佳读取阈值的系统和方法

Country Status (2)

Country Link
US (1) US11854629B2 (zh)
CN (1) CN116153364A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907571B2 (en) 2020-07-13 2024-02-20 SK Hynix Inc. Read threshold optimization systems and methods using domain transformation
US11769556B2 (en) 2021-07-27 2023-09-26 SK Hynix Inc. Systems and methods for modeless read threshold voltage estimation

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
KR101486980B1 (ko) 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
US8184480B2 (en) 2008-12-11 2012-05-22 Samsung Electronics Co., Ltd. Multi-level nonvolatile memory device with reduced number of read voltages based on a cell address and method for operating the same
US8392809B1 (en) 2009-10-16 2013-03-05 Marvell International Ltd. Log-likelihood-ratio (LLR) table calibration
JP2011216837A (ja) 2010-03-17 2011-10-27 Toshiba Corp 半導体記憶装置
US8531888B2 (en) 2010-07-07 2013-09-10 Marvell World Trade Ltd. Determining optimal reference voltages for progressive reads in flash memory systems
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8913437B2 (en) 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
US8937838B2 (en) 2012-01-10 2015-01-20 Sk Hynix Memory Solutions Inc. Finding optimal read thresholds and related voltages for solid state memory
US8605502B1 (en) 2012-05-22 2013-12-10 Sandisk Technologies Inc. Systems and methods of updating read voltages
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
KR102050475B1 (ko) 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
US9542258B1 (en) 2013-03-15 2017-01-10 Western Digital Technologies, Inc. System and method for error-minimizing voltage threshold selection
US9728263B2 (en) 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US10276247B2 (en) 2013-12-20 2019-04-30 Seagate Technology Llc Read retry operations with estimation of written data based on syndrome weights
US9589673B1 (en) 2014-03-20 2017-03-07 SK Hynix Inc. Estimation of an optimal read threshold using symmetry
US9887009B2 (en) 2014-10-14 2018-02-06 Macronix International Co., Ltd. Memory page buffer with simultaneous multiple bit programming capability
US9875803B2 (en) 2015-09-10 2018-01-23 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
US10290358B2 (en) 2016-07-08 2019-05-14 Seagate Technology Llc Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
KR102656190B1 (ko) 2016-11-24 2024-04-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
US9905289B1 (en) * 2017-04-28 2018-02-27 EMC IP Holding Company LLC Method and system for systematic read retry flow in solid state memory
US10289341B2 (en) 2017-06-30 2019-05-14 Western Digital Technologies, Inc. Operating parameter offsets in solid state memory devices
CN109284827A (zh) 2017-07-19 2019-01-29 阿里巴巴集团控股有限公司 神经网络计算方法、设备、处理器及计算机可读存储介质
US10236067B2 (en) 2017-08-02 2019-03-19 International Business Machines Corporation State-dependent read voltage threshold adaptation for nonvolatile memory
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
KR102395196B1 (ko) 2017-10-17 2022-05-06 삼성전자주식회사 파라미터 교정 기능을 갖는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP6794336B2 (ja) 2017-11-17 2020-12-02 株式会社東芝 ニューラルネットワーク装置
JP2019160355A (ja) 2018-03-07 2019-09-19 東芝メモリ株式会社 メモリシステム、読み出し方法、プログラムおよびメモリコントローラ
US10997017B2 (en) 2018-05-03 2021-05-04 SK Hynix Inc. Neighbor assisted correction error recovery for memory system and method thereof
TWI657456B (zh) 2018-05-14 2019-04-21 慧榮科技股份有限公司 用來於記憶裝置中藉助於機器學習來進行的記憶體存取管理之方法,記憶裝置及其控制器以及電子裝置
US10699791B2 (en) 2018-08-24 2020-06-30 International Business Machines Corporation Adaptive read voltage threshold calibration in non-volatile memory
US10726934B2 (en) 2018-09-04 2020-07-28 Micron Technology, Inc. Memory characterization and sub-system modification
US11163483B2 (en) 2018-12-31 2021-11-02 SK Hynix Inc. Robust detection techniques for updating read voltages of memory devices
US11610116B2 (en) 2018-12-31 2023-03-21 SK Hynix Inc. Storage device performance optimization using deep learning
US10861561B2 (en) 2019-01-22 2020-12-08 Samsung Electronics Co., Ltd. Threshold estimation in NAND flash devices
KR20200099441A (ko) 2019-02-14 2020-08-24 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
JP2020155180A (ja) 2019-03-20 2020-09-24 キオクシア株式会社 メモリ読み出し方法及びメモリシステム並びにコンピュータ・プログラム
US11501109B2 (en) 2019-06-20 2022-11-15 Western Digital Technologies, Inc. Non-volatile memory die with on-chip data augmentation components for use with machine learning
JP2021044043A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
US11393535B2 (en) 2020-02-26 2022-07-19 Silicon Storage Technology, Inc. Ultra-precise tuning of analog neural memory cells in a deep learning artificial neural network
US11393534B2 (en) 2020-05-28 2022-07-19 Micron Technology, Inc. Adjustment of a starting voltage corresponding to a program operation in a memory sub-system
US11907571B2 (en) 2020-07-13 2024-02-20 SK Hynix Inc. Read threshold optimization systems and methods using domain transformation
US11355204B2 (en) 2020-09-03 2022-06-07 SK Hynix Inc. Efficient read-threshold calculation method for parametric PV-level modeling
US11430530B2 (en) 2021-01-25 2022-08-30 SK Hynix Inc. Deep learning based program-verify modeling and voltage estimation for memory devices
US11514999B2 (en) 2021-04-16 2022-11-29 SK Hynix Inc. Systems and methods for parametric PV-level modeling and read threshold voltage estimation
US11749354B2 (en) 2021-07-13 2023-09-05 SK Hynix Inc. Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation
US11769555B2 (en) 2021-07-27 2023-09-26 SK Hynix Inc. Read threshold voltage estimation systems and methods for parametric PV-level modeling
US11769556B2 (en) 2021-07-27 2023-09-26 SK Hynix Inc. Systems and methods for modeless read threshold voltage estimation

Also Published As

Publication number Publication date
US11854629B2 (en) 2023-12-26
US20230162803A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
CN110444246B (zh) 用于存储器系统的相邻辅助校正错误恢复及其方法
CN109428606B (zh) 具有ldpc解码器的存储器系统及其操作方法
US11749354B2 (en) Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation
US11514999B2 (en) Systems and methods for parametric PV-level modeling and read threshold voltage estimation
US11769555B2 (en) Read threshold voltage estimation systems and methods for parametric PV-level modeling
CN110047544B (zh) 用于包括qlc单元的存储器装置的编码方法及系统
CN110444242B (zh) 有基于深度学习的干扰校正能力的存储器系统及操作方法
US11769556B2 (en) Systems and methods for modeless read threshold voltage estimation
US11854629B2 (en) System and method for non-parametric optimal read threshold estimation using deep neural network
KR20220008058A (ko) 컨트롤러 및 컨트롤러의 동작방법
CN111540393B (zh) 用于基于字线分组的读取操作的存储器系统和方法
CN113223589A (zh) 存储器系统及其操作方法
US10938419B2 (en) Encoding method and system for memory device including QLC cells
CN114520014A (zh) 用于确定读取阈值电压的变化的系统和方法
CN114464241A (zh) 用于读取错误恢复的系统和方法
CN113936715A (zh) 使用域变换的读取阈值优化系统和方法
CN114496044A (zh) 使用无模型回归的读取阈值优化系统和方法
CN112687323B (zh) 具有用于解码的错误减少方案的存储器系统及其操作方法
CN110569143B (zh) 用于存储器系统的解码器及其方法
CN116230031A (zh) 使用基于多项式回归的计算的读取阈值估计系统
CN114550785A (zh) 使用元信息自适应地确定读取阈值电压的系统
US11217319B2 (en) Read threshold optimization systems and methods by multi-dimensional search
CN114255807A (zh) 以先前读取为条件的读取重试阈值优化系统和方法
US20240086101A1 (en) System and method for history-based non-parametric channel information prediciton using a deep neural network
CN116954984A (zh) Crc终止时的准确ber报告

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