CN117157711A - 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置 - Google Patents

用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置 Download PDF

Info

Publication number
CN117157711A
CN117157711A CN202180096618.0A CN202180096618A CN117157711A CN 117157711 A CN117157711 A CN 117157711A CN 202180096618 A CN202180096618 A CN 202180096618A CN 117157711 A CN117157711 A CN 117157711A
Authority
CN
China
Prior art keywords
tvso
read
current
rrd
flash memory
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
CN202180096618.0A
Other languages
English (en)
Inventor
R·米歇罗尼
L·佐罗
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology 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 Microchip Technology Inc filed Critical Microchip Technology Inc
Priority claimed from PCT/US2021/053276 external-priority patent/WO2022250722A1/en
Publication of CN117157711A publication Critical patent/CN117157711A/zh
Pending legal-status Critical Current

Links

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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • 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/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
    • 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/26Sensing 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
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种用于执行对闪存存储器的读取的方法,该方法包括存储用于多个RRD补偿RNN的配置文件。识别闪存存储器的当前PE周期数量,并且识别与当前PE周期数量相对应的TVSO值。识别闪存存储器的当前保留时间和当前读取干扰数量。RRD补偿RNN的与当前PE周期数量、当前保留时间和当前读取干扰数量相对应的配置文件被选择并且被加载到神经网络引擎中以形成神经网络引擎中的RNN核心。执行RNN核心的神经网络操作以预测经RRD补偿的TVSO值。神经网络操作的输入包括所识别的TVSO值。使用预测的经RRD补偿的TVSO值来执行对闪存存储器的读取。

Description

用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿 值来执行对闪存存储器的读取的方法和装置
相关申请的交叉引用
本申请要求2021年5月24日提交的美国临时专利申请序列号63/192,543和2021年7月26日提交的美国非临时专利申请序列号17/385,857的优先权,这些专利申请的内容全文以引用的方式并入本文。
背景技术
固态驱动器(SSD)使用标准读取指令(例如,″读取″或″读取页面″指令)在限定存储器单元的位所需的每个阈值电压区域内以默认阈值电压执行对存储器单元的读取。单级单元(SLC)闪存存储器设备在每个单元中存储单位信息,并且仅需要在单个阈值电压区域中读取(阈值电压区域是在1的电压分布的中心和0的电压分布的中心之间延伸的区域)以识别位的值(无论该单元是否存储1还是0)。多级单元(MLC)闪存存储器设备在每个单元中存储两位信息,三级单元(TLC)闪存存储器设备在每个单元中存储三位信息,四级单元(QLC)闪存存储器设备在每个单元中存储四位信息,并且五级单元(PLC)闪存存储器设备在每个单元中存储五位信息。
一些SSD使用阈值电压偏移读取来读取闪存存储器设备,以获得客户端和企业SSD所需的低水平的不可校正比特误码率(UBER)。通过向要读取的闪存存储器设备发送阈值电压偏移读取指令来执行阈值电压偏移读取。一个或多个阈值-电压-偏移补偿(TVSO)值与阈值电压偏移读取指令一同发送。TVSO值指示用于执行读取的阈值电压与由闪存存储器设备的制造商指定的对应默认阈值电压的补偿的量。MLC、TLC、QLC和PLC闪存存储器设备的阈值电压偏移读取指令需要将多个TVSO值发送到闪存存储器设备以便执行每个读取。
使用阈值电压偏移读取指令来读取闪存存储器设备的系统通常需要闪存存储器设备的后台读取以识别在执行读取时使用的正确TVSO值。后台读取需要大量带宽,从而减少可用于执行主机请求的操作的带宽量。
对于使用阈值电压偏移读取指令来读取闪存存储器设备的系统,需要一种方法和装置,该方法和装置将允许识别要在不需要用于识别TVSO值的后台读取的闪存存储器设备的读取中使用的TVSO值,并且将允许在SSD的寿命期间将UBER维持在可接受水平内。
发明内容
一种用于识别要用于读取闪存存储器的TVSO值的方法包括:存储用于多个保留与读取干扰(RRD)补偿回归神经网络(RNN)的配置文件;识别闪存存储器的当前编程和擦除(PE)周期数量;识别与所识别的闪存存储器的当前PE周期数量相对应的TVSO值,并识别闪存存储器的当前保留时间和当前读取干扰数量。RRD补偿RNN的与闪存存储器的当前PE周期数量、当前保留时间和当前读取干扰数量相对应的配置文件被选择并且被加载到神经网络引擎中以形成神经网络引擎中的RNN核心。执行RNN核心的神经网络操作以预测经RRD补偿的TVSO值。神经网络操作的输入包括与闪存存储器的当前PE周期数量相对应的所识别的TVSO值。任选地存储所预测的经RRD补偿的TVSO值。使用预测的经RRD补偿的TVSO值来执行对闪存存储器的读取。
一种闪存控制器,该闪存控制器包括:数据存储装置;神经网络引擎,该神经网络引擎耦接到数据存储装置;和状态模块,该状态模块被配置用于识别闪存存储器的当前PE周期数量、当前保留时间和当前读取干扰数量。控制模块耦接到神经网络引擎、数据存储装置和状态模块。控制模块用于识别与闪存存储器的当前PE周期数量相对应的TVSO值,控制模块还用于选择RRD补偿RNN的与闪存存储器的当前PE周期数量、当前保留时间和当前读取干扰相对应的配置文件;并且用于将所选择的RRD补偿RNN的配置文件加载到神经网络引擎中以形成神经网络引擎中的RNN核心。神经网络引擎用于执行RNN核心的神经网络操作以预测经RRD补偿的TVSO值,神经网络操作的输入包括与闪存存储器的当前PE周期数量相对应的所识别的TVSO值。读取模块耦接到状态模块和神经网络引擎。读取模块用于使用预测的经RRD补偿的TVSO值来执行对闪存存储器的读取。
本发明的方法和装置提供了简单且准确的过程来识别要在闪存存储器设备的读取中使用的TVSO值,并且不需要用于识别TVSO值的后台读取。因此,本应在执行后台读取时消耗的带宽可用于主机请求的读取、编程和擦除操作。
附图说明
包括附图以提供对本发明的进一步理解,并且该附图被并入本说明书中并构成本说明书的一部分。附图示出了各种示例。在该简要描述中参考的附图不是按比例绘制的。
图1是示出了包括闪存控制器、闪存存储器设备和存储器设备的SSD的图表。
图2是示出了用于使用预测的经RRD补偿的TVSO值来执行对闪存存储器的读取的方法的示意图。
图3是示出了RRD补偿RNN的框图。
图4A至图4E是示出了可靠性状态的示意图。
图5是示出了要用于训练RRD补偿RNN的数据记录的框图。
图6A至图6E是示出了与图4A至图4E所示的可靠性状态相对应的RRD补偿RNN的生成的框图。
图7是示出了RRD补偿RNN的神经网络操作的框图。
具体实施方式
图1示出了SSD 1,该SSD包括闪存控制器3、多个闪存存储器设备2(其各自在本文中被单独地称为闪存存储器2)和存储器设备13。闪存控制器3耦接到闪存存储器设备2以用于存储数据并且用于使用闪存存储器设备2的阈值电压偏移读取来读取数据。在一个示例中,闪存存储器设备2是NAND设备,并且闪存控制器3、闪存存储器设备2和存储器设备13安装到电路板(未示出)。存储器设备13是电耦接到闪存控制器3的易失性存储器设备,诸如动态随机存取存储器(DRAM)。
闪存控制器3包括数据存储装置4、状态模块5、读取模块6、解码模块7、写入模块8、控制模块9、神经网络引擎10以及输入和输出(I/O)模块11。控制模块9耦接到数据存储装置4、状态模块5、读取模块6、解码模块7、写入模块8、神经网络引擎10以及输入和输出(I/O)模块11。解码模块7还耦接到读取模块6。状态模块5还耦接到数据存储装置4、读取模块6、写入模块8和神经网络引擎10。读取模块6还耦接到数据存储装置4、神经网络引擎10和I/O模块11。神经网络引擎10还耦接到数据存储装置4。输入和输出(I/O)模块11还耦接到数据存储装置4和写入模块8。
模块5至11中的一些或全部模块包括作为用于执行操作的专用电路的电路,并且模块5至11中的一些或全部模块可以是包括在一个或多个处理器上执行以用于执行闪存控制器3的操作的指令的固件,其中指令存储在模块5至11中的一个或多个模块的寄存器中和/或存储在数据存储装置4或存储器设备13中。模块5至11中的一些或全部模块包括用于执行指令的处理器,并且指令在闪存控制器3由用户进行操作之前被加载到闪存控制器3中。
闪存控制器3被配置为在I/O模块11处从主机计算机接收读取和写入指令,并且被配置为在闪存存储器设备2的存储器单元上执行编程操作、擦除操作和读取操作以完成来自主机计算机的指令。例如,在从主机计算机接收到写入指令时,写入模块8可操作用于将码字编程到一个或多个闪存存储器设备2中。
闪存存储器设备2的读取是通过将阈值电压偏移读取指令发送到待读取的闪存存储器设备2来执行。一个或多个TVSO值与阈值电压偏移读取指令一起发送。闪存存储器设备2可以是MLC闪存存储器设备、TLC闪存存储器设备、QLC闪存存储器设备或PLC闪存存储器设备。状态模块5可操作用于跟踪闪存控制器3和闪存存储器设备2的状态和操作。数据存储模块4是闪存控制器3中能够存储数据的结构,并且可包括高速缓冲存储器和/或静态随机存取存储器(SRAM)。神经网络引擎11包括专门被配置为执行神经网络操作的专用硬件模块(例如,专用可配置加速器/处理电路)。
图2示出了用于使用TVSO值来读取闪存存储器的方法(100),该TVSO值使用RRD补偿RNN来识别。存储用于多个RRD补偿RNN的配置文件(101)。在一个示例中,多个RRD补偿RNN中的每个RRD补偿RNN由被存储在数据存储装置4(图1)中的配置文件23表示。另选地,用于RRD补偿RNN中的一些或全部RRD补偿RNN的配置文件23被存储在存储器设备13中和/或在一个或多个闪存存储器设备2中。尽管本示例针对每个RRD补偿RNN使用单个配置文件,但是应当理解,另选地,每个RRD补偿RNN可由多于一个配置文件表示。在一个示例中,每个RRD补偿RNN的配置文件包括一组超参数,该组超参数包括加权值和偏置值。在一个示例中,配置文件指出特定RRD补偿RNN的架构,诸如,例如输入神经元的数量、输出神经元的数量、隐藏神经元的层的数量、每层隐藏神经元中隐藏神经元的数量以及要使用的激活函数模块(AFM)的类型。
图3示出了RRD补偿RNN 30,该RRD补偿RNN包括输入层31、隐藏层32至33和输出层34,该输入层包括接收相应输入X1至Xn的输入神经元31a至31c,该隐藏层包括隐藏神经元,该输出层包括生成相应输出Y1至Yn的输出神经元34a至34c。应当理解,RRD补偿RNN 30为示例,并且输入层31、隐藏层32至33和输出层34的许多其他组合是可能的,这些组合包括在各个神经元之间具有不同连接的层、更多的隐藏层32至33、以及RRD补偿RNN 30的层31至34中的每层中有更多或更少的神经元。例如,尽管RRD补偿RNN 30示出了每个神经元耦接到下一层的所有神经元,但是另选地,特定层中的每个神经元仅耦接到下一层中的一些神经元。在一个示例中,RNN 30包括数量等于读取闪存存储器所需的TVSO值的数量的输入神经元31a至31c,并且包括数量等于读取闪存存储器所需的TVSO值的数量的输出神经元34a至34c。
在一个示例中,RRD补偿RNN 30是通过执行闪存表征测试来生成,以识别正被测试的代表性闪存存储器设备在变化的保留时间条件和变化的读取干扰条件(统称为″瞬态条件″)下如何执行,其中变化的保留时间和读取干扰条件(即,变化的瞬态条件)由对应的瞬态可靠性状态表示。如在本申请中所使用的术语″瞬态可靠性状态″是指包括闪存存储器设备的瞬态特性的可靠性状态,并且具体地包括其中指定了当前编程擦除(PE)周期数量、保留时间(RT)和读取干扰(RD)数量的可靠性状态。如在本申请中所使用的术语″非瞬态可靠性状态″是指与闪存存储器设备的非瞬态特性有关的可靠性状态,并且具体地仅包括对于闪存存储器设备的瞬态条件具有零值的可靠性状态(其中RT=0并且RD=0)。如在本申请中所使用的术语″可靠性状态″是与闪存存储器设备的存储器位置(例如,特定字线/块/页面)的使用年限和使用情况有关的时间间隔,其可使用诸如PE周期数量、RT和RD的量度来限定。
在一个示例中,每个闪存存储器2的寿命基于闪存存储器的寿命中的PE周期数量被划分为多个时段,并且一组RRD补偿RNN与多个时段中的每个时段相关联。在图4A至图4E所示的一个示例中,每个闪存存储器2的寿命基于寿命被划分为五个时段,包括:在图4A中示出的与0≤PE<1000相对应的第一时段,在图4B中示出的与1000≤PE<2000相对应的第二时段,在图4C中示出的与2000≤PE<3000相对应的第三时段,在图4D中示出的与3000≤PE<4000相对应的第四时段,以及在图4E中示出的与4000≤PE<5000相对应的第五时段。一组RRD补偿RNN被生成为与不同时段中的每个时段相对应,其中每组RRD补偿RNN是使用与特定时段相对应的数据记录来训练。
在一个示例中,保留时间被划分为四个保留时间(RT)类别,并且读取干扰(RD)数量被划分为四个类别。应当理解,这些类别是说明性的,并且可以使用更多或更少的类别。
现在参考图4A,这些示例性类别用于限定在图4A中示出的与第一时段相对应的非瞬态可靠性状态41-1和瞬态可靠性状态42-1至56-1。图4A至图4E使用圆括号和方括号来表示PE、RT和RD值范围,其中圆括号用于表示排他性值并且方括号用于表示包括性值。图4A示出了第一非瞬态可靠性状态41-1,其中0≤PE<1000,RT=0小时并且RD=0,以及多个瞬态可靠性状态。瞬态可靠性状态包括:第一瞬态可靠性状态42-1,其中0≤PE<1000,RT=0小时并且0<RD≤1,000;第二瞬态可靠性状态43-1,其中0<PE<1000,RT=0小时并且1,000<RD≤2,000;第三瞬态可靠性状态44-1,其中0≤PE<1000,RT=0小时并且2,000<RD≤3,000;第四瞬态可靠性状态45-1,其中0≤PE<1000,0<RT≤12小时并且RD=0个周期;第五瞬态可靠性状态46-1,其中0≤PE<1000,0<RT≤12小时并且0<RD≤1,000;第六瞬态可靠性状态47-1,其中0≤PE<1000,0<RT≤12小时并且1,000<RD≤2,000;以及第七瞬态可靠性状态48-1,其中0≤PE<1000,0<RT≤12小时并且2,000<RD≤3,000;第八瞬态可靠性状态49-1,其中0≤PE<1000,12<RT≤24小时并且RD=0个周期;第九瞬态可靠性状态50-1,其中0≤PE<1000,12<RT≤24小时并且0<RD≤1,000;第十瞬态可靠性状态51-1,其中0≤PE<1000,12<RT≤24小时并且1,000<RD≤2,000;第十一瞬态可靠性状态52-1,其中0≤PE<1000,12<RT≤24小时并且2,000<RD≤3,000;第十二瞬态可靠性状态53-1,其中0≤PE<1000,24<RT≤36小时并且RD=0个周期;第十三瞬态可靠性状态54-1,其中0≤PE<1000,24<RT≤36小时并且0<RD≤1,000;第十四瞬态可靠性状态55-1,其中0≤PE<1000,24<RT≤36小时并且1,000<RD≤2,000;以及第十五瞬态可靠性状态56-1,其中0≤PE<1000,24<RT≤36小时并且2,000<RD≤3,000。在本示例中,瞬态可靠性状态42-1至56-1中的每一者由被存储为图1中的RDD补偿配置文件23的单个神经网络来表示。图4B示出了非瞬态可靠性状态41-2,其中1000≤PE<2000,RT=0并且.RD=0,以及与第二时段相对应的瞬态可靠性状态42-2至56-2。图4C示出了非瞬态可靠性状态41-3,其中2000≤PE<3000,以及与第三时段相对应的瞬态可靠性状态42-3至56-3。图4D示出了非瞬态可靠性状态41-4,其中3000≤PE<4000,以及与第四时段相对应的瞬态可靠性状态42-4至56-4。图4E示出了非瞬态可靠性状态41-5,其中4000≤PE<5000,以及与第五时段相对应的瞬态可靠性状态42-5至56-5。
在一个示例中,在闪存表征测试期间,一个或多个代表性NAND闪存存储器被循环以达到非瞬态可靠性状态之一,并且针对所有块的所有字线计算使原始比特误码率(RBER)最小化的TVSO值以生成训练数据集。一个或多个代表性NAND闪存存储器然后通过所有对应的瞬态可靠性状态被强调,并且对于每个瞬态可靠性状态,针对所有块的所有字线计算使RBER最小化的TVSO值。
在图5中所示的一个示例中,代表性闪存存储器设备在相应非瞬态可靠性状态内被循环到多个PE周期″x″,并且在所有块的每个字线处执行测试以识别使RBER最小化的TVSO值以生成用于特定字线和块的数据记录61。在一个特定示例中,对100个块的384个字线进行测试以生成用于非瞬态可靠性状态的38,400个数据记录61,并且RT和RD被循环通过相应瞬态可靠性状态以生成数据记录62至76。将针对图4A至图4E所示的时段中的每个时段生成一组数据记录61至76。数据记录61至76各自示出7个TVSO值,其表示三级单元所需的TVSO值的数量,然而这并不意味着以任何方式进行限制。
下面是针对图4A中所示的第一时段生成的数据记录的示例。代表性闪存存储器设备被循环到数量等于500的PE周期(非瞬态可靠性状态的中点),并且在所有块的每个字线处执行测试以识别使RBER最小化的TVSO值以生成用于特定字线和块的数据记录61(例如,总共38,400个数据记录61)。接着,读取干扰的数量被循环到500(图4A的瞬态可靠性状态42-1的中点),并且在所有块的每个字线处执行测试以识别使RBER最小化的TVSO值以生成用于第一瞬态可靠性状态的数据记录62(例如,38,400个数据记录62);读取干扰的数量被循环到1500(图4A的瞬态可靠性状态43-1的中点),并且在所有块的每个字线处执行测试以识别使RBER最小化的TVSO值以生成用于第二瞬态可靠性状态的数据记录63(例如,38,400个数据记录63);并且读取干扰的数量被循环到2500(图4A的状态44-1的中点),并且在所有块的每个字线处执行测试以识别使RBER最小化的TVSO值以生成用于第三瞬态可靠性状态的数据记录64(例如,38,400个数据记录64)。然后,将读取干扰重置为0,并且保留时间被循环到6小时(图4A的瞬态可靠性状态45-1的中点),并且在每个字线和块处执行测试以识别使RBER最小化的TVSO值以生成用于第四瞬态可靠性状态的数据记录65(例如,38,400个数据记录65);RD被循环到500(图4A的状态46-1的中点),并且在每个字线和块处执行测试以识别使RBER最小化的TVSO值以生成用于第五瞬态可靠性状态的数据记录66(例如,38,400个数据记录66);RD被循环到1500(图4A的瞬态可靠性状态47-1的中点),并且在每个字线和块处执行测试以识别使RBER最小化的TVSO值以生成用于第六瞬态可靠性状态的数据记录67(例如,38,400个数据记录67);RD被循环到2500(图4A的状态48-1的中点),并且在每个字线和块处执行测试以识别使RBER最小化的TVSO值以生成用于第七瞬态可靠性状态的数据记录68(例如,38,400个数据记录68)。该过程以相同的方式继续进行以生成与瞬态可靠性状态49-1至56-1相对应的数据记录69至76。在本示例中,计算了使RBER最小化的七个TVSO值,并且将其连同字线(WL)的指示(诸如字线索引)以及块的指示符(例如,块编号)一起包括在每个数据记录61至76中。如在本申请中所使用的术语″字线索引″是识别闪存存储器设备的字线之一的数值或字母数字值。尽管编程和擦除周期的数量在测试期间从x个周期增加到x+3个周期(需要这些周期来重置保留与读取干扰效应),但PE的变化是无关紧要的并且可被忽略。在非瞬态可靠性状态41-1和瞬态可靠性状态42-1至56-1的相应数据记录61至76中使RBER最小化的TVSO值分别被示出为图6A中的61a、62a、63a、64a、65a、66a、67a、68a、69a、70a、71a、72a、73a、74a、75a和76a。为了便于理解,61a与62a、63a、64a、65a、66a、67a、68a、69a、70a、71a、72a、73a、74a、75a和76a中的每一者重复相邻。在图4B的非瞬态可靠性状态41-2和瞬态可靠性状态42-2至56-2的相应数据记录61至76中使RBER最小化的TVSO值分别被示出为图6B中的61b、62b、63b、64b、65b、66b、67b、68b、69b、70b、71b、72b、73b、74b、75b和76b。在图4C的非瞬态可靠性状态41-3和瞬态可靠性状态42-3至56-3的相应数据记录61至76中使RBER最小化的TVSO值分别被示出为图6C中的61c、62c、63c、64c、65c、66c、67c、68c、69c、70c、71c、72c、73c、74c、75c和76c。在图4D的非瞬态可靠性状态41-4和瞬态可靠性状态42-4至56-4的相应数据记录61至76中使RBER最小化的TVSO值分别被示出为图6D中的61d、62d、63d、64d、65d、66d、67d、68d、69d、70d、71d、72d、73d、74d、75d和76d。在图4E的非瞬态可靠性状态41-5和瞬态可靠性状态42-5至56-5的相应数据记录61至76中使RBER最小化的TVSO值分别被示出为图6E中的61e、62e、63e、64e、65e、66e、67e、68e、69e、70e、71e、72e、73e、74e、75e和76e。
对于每个时段,与非瞬态可靠性状态相对应的数据记录用于训练RRD补偿RNN中的每个RRD补偿RNN,并且与瞬态可靠性状态之一相对应的数据记录用作训练中的目标数据集。在一个示例中,与特定瞬态可靠性状态相对应的一些记录被用于验证,并且在RRD补偿RNN被训练和验证之后,存储用于经训练的RRD补偿RNN的配置文件23。配置文件23包括与经训练的RRD补偿RNN 30相对应的超参数(偏置值和加权值)。配置文件23还可指示神经网络的架构。在一个示例中,训练使用来自数据记录61的TVSO值61a作为训练数据集,以使用来自数据记录62的TVSO值62a作为目标数据集来训练第一神经网络42-1m(其与可靠性状态42-1相对应)。训练可使用随机梯度下降(SGD)训练过程,该SGD训练过程被执行以响应于瞬态条件的扰动而实现TVSO值的预定性能标准(例如,最小平方误差值)。另选地,可使用其他类型的训练过程,诸如,例如自适应矩估计(ADAM)训练过程。继续图6A,以相同的方式执行用于形成RDD补偿RNN 43-1m至56-1m的训练。更具体地,第二神经网络43-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录63的TVSO值63a作为目标数据集来训练;第三神经网络44-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录64的TVSO值64a作为目标数据集来训练;第四神经网络45-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录65的TVSO值65a作为目标数据集来训练;第五神经网络46-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录66的TVSO值66a作为目标数据集来训练;第六神经网络47-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录67的TVSO值67a作为目标数据集来训练;第七神经网络48-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录68的TVSO值68a作为目标数据集来训练;第八神经网络49-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录69的TVSO值69a作为目标数据集来训练;第九神经网络50-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录70的TVSO值70a作为目标数据集来训练;第十神经网络51-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录71的TVSO值71a作为目标数据集来训练;第十一神经网络52-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录72的TVSO值72a作为目标数据集来训练;第十二神经网络53-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用来自数据记录73的TVSO值73a作为目标数据集来训练;第十三神经网络54-1m是使用TVSO值61a作为训练数据集并且使用TVSO值74a作为目标数据集来训练;第十四神经网络55-1m是使用来自数据记录61的TVSO值61a作为训练数据集并且使用TVSO值75a作为目标数据集来训练;第十五神经网络56-1m是使用TVSO值61a作为训练数据集并且使用TVSO值76a作为目标数据集来训练。
现在参考图6B,与非瞬态可靠性状态41-2相对应的TVSO值61b以及与瞬态可靠性状态相对应的TVSO值62b、63b、64b、65b、66b、67b、68b、69b、70b、71b、72b、73b、74b、75b和76b被用于以与参考图6A所讨论的方式相同的方式来训练RRD补偿RNN,从而形成RRD补偿RNN 42-2m至56-2m,其各自被存储为配置文件23。
现在参考图6C,与非瞬态可靠性状态41-3相对应的TVSO值61c以及与瞬态可靠性状态相对应的TVSO值62c、63c、64c、65c、66c、67c、68c、69c、70c、71c、72c、73c、74c、75c和76c被用于以与参考图6A至图6B所讨论的方式相同的方式来训练RRD补偿RNN,从而形成RRD补偿RNN 42-3m至56-3m,其各自被存储为配置文件23。现在参考图6D,与非瞬态可靠性状态41-4相对应的TVSO值61d以及与瞬态可靠性状态相对应的TVSO值62d、63d、64d、65d、66d、67d、68d、69d、70d、71d、72d、73d、74d、75d和76d被用于以与参考图6A至图6C所讨论的方式相同的方式来训练RRD补偿RNN,从而形成RRD补偿RNN 42-4m至56-4m,其各自被存储为配置文件23。现参看图6E,与非瞬态可靠性状态41-5相对应的TVSO值61e以及与瞬态可靠性状态相对应的TVSO值62e、63e、64e、65e、66e、67e、68e、69e、70e、71e、72e、73e、74e、75e和76e被用于以与参考图6A至图6D所讨论的方式相同的方式来训练RRD补偿RNN,从而形成RRD补偿RNN 42-5m至56-5m,其各自被存储为配置文件23。
因此,在本示例中,由于存在与每个时段相对应的15个RRD补偿RNN并且存在5个时段,所以生成了总共75个不同的RRD补偿RNN。然而,另选地,可以使用更多或更少的时段,并且可以使用更多或更少的瞬态可靠性状态。
继续图2,识别闪存存储器的当前PE周期数量(102)。图1的状态模块5被配置为通过维持用于闪存存储器设备2(例如,针对每个闪存存储器设备2的每个块)的当前PE周期数量的计数来识别PE周期值的当前数量,并且将当前PE周期数量(例如,用于每个闪存存储器设备2的每个块)存储在状态模块5的寄存器中或在存储在数据存储装置4或存储器设备13中的表格中。
识别与当前PE周期数量相对应的TVSO值(103)。所识别的TVSO值可以是由闪存存储器的制造商为闪存存储器2的当前PE周期数量指定的TVSO值。在一个示例中,所识别的TVSO值是由制造商为当前PE周期数量和为闪存存储器设备2的特定块和/或字线和/或页面指定的TVSO值。
在一个示例中,步骤103是使用包括PE周期值和相关联的TVSO值的PE-TVSO查找表来执行。PE-TVSO表还可指定与块和/或页面和/或字线或者块组和/或字线组和/或页面组相对应的TVSO值,如本领域已知的。在该示例中,PE-TVSO查找表24被存储在图1的数据存储装置4中或在存储器设备13中。在步骤103中识别的TVSO值可被称为与闪存存储器设备2的使用年限/使用情况相对应的″非瞬态TVSO值″。如在本申请中所使用的术语″非瞬态TVSO值″包括与PE周期数量相对应并且不考虑诸如保留时间和读取干扰等瞬态特性的TVSO值。
在步骤103的一个示例中,与图5A至图5E中所示的非瞬态可靠性状态41-1、41-2、41-3、41-4和41-5相对应的五个时段也用于建立图1中所示的PE-TVSO查找表24,该查找表被存储在数据存储装置4中。更具体地,在闪存表征期间,类似于闪存存储器设备2的代表性闪存设备在各种条件下进行测试以确定用于在时段中的每个时段期间执行读取的最佳TVSO值。在步骤103的一个示例中,在步骤103中识别的当前PE周期数量介于零个和1,000个PE周期之间,使得TVSO值将与由图5A中的框41-1表示的第一时段相对应,其对应于PE=0-1000。
识别闪存存储器的当前保留时间和当前读取干扰数量(104)。图1的状态模块5被配置用于识别闪存存储器2的当前保留时间和当前读取干扰数量。当前保留时间和当前读取干扰数量表示要在闪存存储器设备2中读取的每个位置的瞬态特性。在一个示例中,每次块被闭合时,状态模块5可操作用于在块被闭合时对块的读取的数量进行计数,并且在块被闭合时将块的读取的数量存储为读取干扰值。当块被擦除时,该擦除块的读取干扰值被重置为零。在一个示例中,当前保留时间是闭合块保留时间,并且每次块被闭合时,状态模块5可操作用于启动定时器,以确定自块被闭合以来实耗时间的量。在任何时间点处由定时器确定的实耗时间被定义为特定块的当前保留时间。当块被擦除时,停止针对该块的定时器,并且擦除块的闭合块保留时间值被重置为零。在一个示例中,控制模块9可操作用于向状态模块5发送指示块编号的询问,并且作为响应,状态模块5可操作用于指示特定块的当前保留时间和当前读取干扰数量。
RRD补偿RNN的与闪存存储器的当前PE周期数量、当前保留时间和当前读取干扰数量相对应的配置文件被选择(105),并且所选择的RRD补偿RNN的配置文件被加载(106)到神经网络引擎中以形成神经网络引擎中的RNN核心。在一个示例中,图1的控制模块9被配置为选择RRD补偿RNN 23的与当前PE周期数量、当前RT和当前RD相关联的配置文件,并且将所选择的RRD补偿RNN配置文件23加载到神经网络引擎10中以形成神经网络引擎10中的RNN核心。在图4所示的示例中,在步骤105中选择并在步骤106中加载与瞬态可靠性状态42-1至56-1、42-2至56-2、42-3至56-3、42-4至56-4或42-15至56-5中的一者相对应的RRD补偿RNN配置文件23。在一个示例中,配置文件查找表26被存储在数据存储装置4中,该数据存储装置包括对PE周期数量、RT和RD的指示,并且针对PE周期数量、RT和RD的每个特定指示来指示相关联的RRD补偿RNN配置文件23的标识符。相关联的RRD补偿RNN配置文件23的标识符可以是以下形式:识别RRD补偿RNN配置文件23的索引、或者指示RRD补偿RNN配置文件23被存储在何处的地址。在一个示例中,控制模块9可操作用于在步骤105中使用特定块的当前PE周期数量、当前保留时间和当前读取干扰数量来执行配置文件查找表26中的查找,以识别数据存储装置4中存储要使用的RRD补偿RNN配置文件23的地址,并且数据存储装置4中的地址被用来获得要被加载到神经网络引擎10中的RRD补偿RNN配置文件23。
在一个示例中,配置文件查找表26包括对PE周期数量、RT和RD的指示,并且针对PE周期数量、RT和RD的每个特定指示来指示相关联的RRD补偿RNN配置文件23的标识符。相关联的RRD补偿RNN配置文件23的标识符可以是以下形式:识别RRD补偿RNN配置文件23的索引、或者指示RRD补偿配置文件23被存储在何处的地址。在一个示例中,控制模块9可操作用于在步骤105中使用特定块的当前PE周期数量、当前RT和当前RD来执行配置文件查找表26中的查找,以识别数据存储装置4中存储要使用的配置文件23的地址,并且数据存储装置4中的地址被用来获得要被加载到神经网络引擎10中的RRD补偿RNN配置文件23。
在一个示例中,神经网络引擎10的架构是固定的、预定的或者是在开始方法100之前以其他方式建立的,并且存储的RRD补偿RNN中的每个RRD补偿RNN具有相同数量的输入神经元、输出神经元、神经元之间的连接,并且使用相同的激活函数,使得步骤105至106的选择和加载仅需要将偏置值和加权值选择和加载到神经网络10中。在一个示例中,神经网络引擎10包括可配置逻辑,并且该神经网络引擎是在执行步骤101之前根据RRD补偿RNN中的每个RRD补偿RNN所共有的架构来配置。
RNN核心的神经网络操作被执行(107),以预测经RRD补偿的TVSO值,神经网络操作的输入包括与闪存存储器的当前PE周期数量相对应的所识别的TVSO值。在一个示例中,神经网络引擎10可操作用于执行RNN核心的神经网络操作以预测经RRD补偿的TVSO值,神经网络操作的输入包括与闪存存储器2的当前PE周期数量相对应的所识别的TVSO值。图7示出了步骤107的示例,其中RNN核心82的神经网络操作中的输入81包括七个TVSO值(TVSO1、TVSO2、TVS03、TVSO4、TVSO5、TVSO6和TVSO7)以在RNN核心82的输出神经元处生成七个预测的经RRD补偿的TVSO值83,其中y表示保留时间并且z表示在神经网络操作中被补偿的读取干扰的数量。通过选择适当的RRD补偿RNN,即在步骤105中选择适当的RRD补偿RNN配置文件23,来考虑瞬态条件的扰动,即保留时间和读取干扰。
任选地,预测的经RRD补偿的TVSO值83被存储(108)。在一个示例中,控制模块9任选地可操作用于将预测的经RRD补偿的TVSO值83存储在数据存储装置4中或在存储器设备13中。在一个示例中,预测的经RRD补偿的TVSO值83被存储在TVSO读取查找表25中,该TVSO读取查找表被存储在数据存储装置4中。在一个示例中,TVSO读取查找表25包括对字线索引、块编号(以及任选地页面指示符)的指示,并且对于字线索引和块编号(以及可选的页面指示符)的每个指示,相关联的经RRD补偿的TVSO值将用于读取该字线/块/页面。
任选地重复步骤102至108(109)。在一个示例中,每当当前PE周期数量达到预定PE周期阈值、RT达到预定保留时间阈值或者当前RD达到读取干扰阈值时,就重复步骤102至108。在一个示例中,控制模块9被配置为确定当前PE周期数量何时达到预定PE周期阈值、当前RT何时达到预定保留时间阈值以及当前RD何时达到读取干扰阈值,并且每当当前PE周期数量达到预定PE周期阈值、当前RT达到预定保留时间阈值或者当前RD达到读取干扰阈值时:控制模块9就可操作用于重复识别当前PE周期数量、识别TVSO值、识别当前RT和RD、选择配置文件23以及加载所选择的配置文件23,神经网络引擎10可操作用于重复执行RNN核心的神经网络操作以预测经RRD补偿的TVSO值,并且控制模块被配置为通过用预测的经RRD补偿的TVSO值替换存储于TVSO读取查找表25中的要用于读取闪存存储器2的至少一些TVSO值来重复更新要用于读取闪存存储器2的TVSO值,以便使TVSO读取查找表25中的值保持为当前值(与当前瞬态可靠性状态相对应)。在一个示例中,使用了多个PE周期阈值,包括与用于生成RRD补偿RNN的时段中的每个时段相对应(与用于生成RDD补偿RNN的非瞬态可靠性状态相对应)的PE周期阈值,使得存储于TVSO读取查找表中的预测的经RRD补偿的TVSO值与闪存存储器2的寿命中的当前时段相对应。在一个示例中,使用了多个保留时间阈值(包括与瞬态可靠性状态中的每一者的保留时间限制相对应的保留时间阈值),并且使用了多个读取干扰阈值(包括与用于生成RRD补偿RNN的瞬态可靠性状态中的每一者的读取干扰限制相对应的读取干扰阈值),使得存储于TVSO读取查找表中的预测的经RRD补偿的TVSO值与闪存存储器2的当前瞬态可靠性状态相对应。
使用预测的经RRD补偿的TVSO值来执行(110)对闪存存储器的读取。在一个示例中,图1的读取模块6被配置为使用预测的经RRD补偿的TVSO值来执行对闪存存储器2的读取。在一个示例中,步骤103包括在闪存控制器处针对要在步骤110中读取的闪存存储器2的页面识别与当前PE周期数量相对应的TVSO值,使得在步骤107中预测的并且用于执行步骤110的读取的经RRD补偿的TVSO值是要读取的闪存存储器的页面的经RRD补偿的TVSO值。
在一个示例中,响应于接收到识别读取地址的读取指令:状态模块5可操作用于识别与读取地址相对应的当前PE周期数量、当前RT和当前RD,读取模块6被配置为在TVSO读取查找表25中执行查找以识别与读取地址、当前PE周期数量、当前RT和当前RD相对应的当前TVSO值集合,并且读取模块被配置为在步骤110中使用所识别的当前TVSO值集合来执行对闪存存储器2的读取。
本发明方法和装置不需要闪存存储器2的后台读取来识别要用于执行对闪存存储器2的读取的TVSO值。因此,需要闪存存储器2的读取的常规S SD执行后台读取所需的带宽可用于闪存存储器设备2,从而使得与需要后台读取以识别要用于执行读取的TVSO值的常规SSD相比,性能提高。
此外,在本说明书中,为了进行解释,阐述了许多具体细节以便提供对本发明的透彻理解。然而,对于本领域普通技术人员显而易见的是,可以在没有这些具体细节的情况下实践本发明。在一些情况下,为了避免模糊本发明,以框图形式而不是详细地示出熟知的结构和设备。充分详细地描述了这些实施方案以使得本领域普通技术人员能够实践本发明,并且应当理解,在不脱离本发明的范围的情况下,可以利用其他实施方案,并且可以作出逻辑、机械、电气和其他改变。

Claims (18)

1.一种用于执行对闪存存储器的读取的方法,所述方法包括:
存储用于多个保留与读取干扰(RRD)补偿回归神经网络(RNN)的配置文件;
识别所述闪存存储器的当前编程和擦除(PE)周期数量;
识别与所识别的所述闪存存储器的当前PE周期数量相对应的阈值电压偏移补偿(TVSO)值;
识别所述闪存存储器的当前保留时间和当前读取干扰数量;
选择与所述闪存存储器的所识别的当前PE周期数量、当前保留时间和当前读取干扰数量相对应的所述多个RRD补偿RNN的配置文件;
将所选择的所述RRD补偿RNN的配置文件加载到神经网络引擎中以形成所述神经网络引擎中的RNN核心;
执行所述RNN核心的神经网络操作以预测经RRD补偿的TVSO值,其中所述神经网络操作的输入包括与所述闪存存储器的所述当前PE周期数量相对应的所识别的TVSO值;以及
使用所预测的经RRD补偿的TVSO值来执行对所述闪存存储器的读取。
2.根据权利要求1所述的方法,所述方法包括存储所预测的经RRD补偿的TVSO值。
3.根据权利要求2所述的方法,其中所预测的经RRD补偿的TVSO值被存储在闪存控制器中或在耦接到所述闪存控制器的存储器设备中。
4.根据权利要求2所述的方法,其中每当所述PE周期数量达到PE周期阈值、所述当前保留时间达到保留时间阈值或者所述当前读取干扰数量达到读取干扰阈值时,就重复以下操作:所述识别所述当前PE周期数量、所述在所述闪存控制器处识别TVSO值、识别所述闪存存储器的所述当前保留时间和所述当前读取干扰数量、所述选择所述配置文件、所述加载所选择的配置文件、所述执行所述神经网络操作以及所述存储所预测的经RRD补偿的TVSO值。
5.根据权利要求2所述的方法,其中所预测的经RRD补偿的TVSO值被存储在TVSO读取查找表中。
6.根据权利要求1所述的方法,其中每个存储的配置文件包括相应RRD补偿神经网络的加权值和偏置值。
7.根据权利要求5所述的方法,所述方法包括:
每当所述当前PE周期数量达到PE周期阈值、所述当前保留时间达到预定保留时间阈值或者所述当前读取干扰数量达到读取干扰阈值时,就重复以下操作:所述识别TVSO值;所述识别当前PE周期数量、当前保留时间和当前读取干扰数量;所述选择;所述加载;所述执行神经网络操作以及所述将所预测的经RRD补偿的TVSO值存储在TVSO读取查找表中。
8.根据权利要求1所述的方法,其中所述在所述闪存控制器处识别与所述闪存存储器的所述当前PE周期数量相对应的TVSO值包括:在所述闪存控制器处针对要被读取的所述闪存存储器的页面识别与所述当前PE周期数量相对应的TVSO值,使得所述执行所述读取使用用于要被读取的所述闪存存储器的所述页面的所述经RRD补偿的TVSO值。
9.根据权利要求1所述的方法,其中在所述闪存控制器处识别与所述闪存存储器的所述当前PE周期数量相对应的TVSO值包括:识别由所述闪存存储器的制造商为所述闪存存储器的所述当前PE周期数量指定的TVSO值。
10.根据权利要求1所述的方法,其中所述选择所述多个RRD补偿RNN的与所述闪存存储器的所识别的当前PE周期数量、当前保留时间和当前读取干扰数量相对应的所述配置文件还包括:选择所述多个RRD补偿RNN的与所述闪存存储器的特定字线和特定块相对应的所述配置文件。
11.一种闪存控制器,所述闪存控制器包括:
数据存储装置;
神经网络引擎,所述神经网络引擎耦接到所述数据存储装置;
状态模块,所述状态模块用于识别闪存存储器的当前编程和擦除(PE)周期数量、当前保留时间和当前读取干扰数量;
控制模块,所述控制模块耦接到所述神经网络引擎、所述数据存储装置和所述状态模块,所述控制模块用于识别与所识别的所述闪存存储器的当前PE周期数量相对应的阈值电压偏移补偿(TVSO)值,所述控制模块用于选择保留与读取干扰(RRD)补偿回归神经网络(RNN)的与所述当前PE周期数量、所识别的当前保留时间和当前读取干扰数量相对应的配置文件,并且用于将所选择的所述RRD补偿RNN的配置文件加载到所述神经网络引擎中,
所述神经网络引擎用于执行所述RNN核心的神经网络操作以预测经RRD补偿的TVSO值,所述神经网络操作的输入包括与所述闪存存储器的所述当前PE周期数量相对应的所识别的TVSO值;和
读取模块,所述读取模块耦接到所述状态模块和所述神经网络引擎,所述读取模块用于使用所预测的经RRD补偿的TVSO值来执行对所述闪存存储器的读取。
12.根据权利要求11所述的闪存控制器,其中所述数据存储装置用于存储所预测的经RRD补偿的TVSO值。
13.根据权利要求11所述的闪存控制器,所述闪存控制器包括耦接到所述闪存控制器的外部存储器设备,所预测的经RRD补偿的TVSO值被存储在所述外部存储器设备中。
14.根据权利要求11所述的闪存控制器,其中所述控制模块用于选择RRD补偿RNN的与所述闪存存储器的特定字线和特定块相对应的配置文件。
15.根据权利要求11所述的闪存控制器,所述闪存控制器包括TVSO读取查找表,所述TVSO读取查找表被存储在所述数据存储装置中或在外部存储器设备中,并且
其中所预测的经RRD补偿的TVSO值被存储在所述TVSO读取查找表中。
16.根据权利要求15所述的闪存控制器,其中所述控制模块用于确定所述当前PE周期数量何时达到预定PE周期阈值、所述当前保留时间何时达到预定保留时间阈值,并且确定所述当前读取干扰数量何时达到读取干扰阈值,并且
每当所述当前PE周期数量达到预定PE周期阈值、所述当前保留时间达到预定保留时间阈值或者所述当前读取干扰数量达到读取干扰阈值时:
所述状态模块就重复所述识别所述当前PE周期数量、所述当前保留时间和所述当前读取干扰数量,
所述控制模块就重复所述识别与所识别的当前PE周期数量相对应的相应TVSO值,
所述控制模块就重复所述选择相应配置文件,
所述控制模块就重复所述加载相应所选择的配置文件以形成所述神经网络引擎中的所述相应RNN核心,
所述神经网络引擎就重复所述执行所述RNN核心的所述神经网络操作,以预测相应经RRD补偿的TVSO值,并且
所述控制模块就通过用所预测的经RRD补偿的TVSO值替换先前存储在所述TVSO读取查找表中的所述TVSO值中的一些TVSO值来重复所述存储相应所预测的经RRD补偿的TVSO值。
17.根据权利要求11所述的闪存控制器,其中所述RNN核心包括数量等于读取所述闪存存储器所需的TVSO值的数量的输入神经元。
18.根据权利要求17所述的闪存控制器,其中所述RNN核心包括数量等于读取所述闪存存储器所需的TVSO值的数量的输出神经元。
CN202180096618.0A 2021-05-24 2021-10-02 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置 Pending CN117157711A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163192543P 2021-05-24 2021-05-24
US63/192,543 2021-05-24
US17/385,857 US11699493B2 (en) 2021-05-24 2021-07-26 Method and apparatus for performing a read of a flash memory using predicted retention-and-read-disturb-compensated threshold voltage shift offset values
US17/385,857 2021-07-26
PCT/US2021/053276 WO2022250722A1 (en) 2021-05-24 2021-10-02 Method and apparatus for performing a read of a flash memory using predicted retention-and-read-disturb-compensated threshold voltage shift offset values

Publications (1)

Publication Number Publication Date
CN117157711A true CN117157711A (zh) 2023-12-01

Family

ID=84103029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180096618.0A Pending CN117157711A (zh) 2021-05-24 2021-10-02 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置

Country Status (3)

Country Link
US (1) US11699493B2 (zh)
CN (1) CN117157711A (zh)
DE (1) DE112021007027T5 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12014068B2 (en) 2021-04-27 2024-06-18 Microchip Technology Inc. System and method for double data rate (DDR) chip-kill recovery
US11934696B2 (en) 2021-05-18 2024-03-19 Microchip Technology Inc. Machine learning assisted quality of service (QoS) for solid state drives
US11843393B2 (en) 2021-09-28 2023-12-12 Microchip Technology Inc. Method and apparatus for decoding with trapped-block management

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641678A (zh) * 2004-06-30 2005-07-20 威盛电子股份有限公司 线性乘法器电路
US20150049548A1 (en) * 2013-08-16 2015-02-19 Sang-Won Park Read Methods for Non-Volatile Memory Devices and Related Non-Volatile Memory Devices
US9251909B1 (en) * 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
CN108108810A (zh) * 2016-11-24 2018-06-01 三星电子株式会社 包括非易失性存储器件的存储装置及访问方法
US20200013791A1 (en) * 2017-02-04 2020-01-09 Monolithic 3D Inc. 3d semiconductor device and structure
US20200210831A1 (en) * 2018-12-31 2020-07-02 SK Hynix Inc. Storage device performance optimization using deep learning
CN112133353A (zh) * 2019-06-24 2020-12-25 爱思开海力士有限公司 Nand闪速存储器中针对读取阈值基于深度学习的回归框架

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704871B1 (en) 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
JP4055103B2 (ja) 2000-10-02 2008-03-05 株式会社ルネサステクノロジ 不揮発性メモリおよびそれを内蔵した半導体集積回路並びに不揮発性メモリの書込み方法
US6754858B2 (en) 2001-03-29 2004-06-22 International Business Machines Corporation SDRAM address error detection method and apparatus
EP1460765A1 (en) 2003-03-19 2004-09-22 STMicroelectronics S.r.l. Method for performing error corrections of digital information codified as a symbol sequence
CN1879343A (zh) 2003-11-14 2006-12-13 松下电器产业株式会社 数据处理装置
US7529215B2 (en) 2003-11-17 2009-05-05 Telefonaktiebolaget Lm Ericsson (Publ) Encapsulation of independent transmissions over internal interface of distributed radio base station
US7519564B2 (en) 2004-11-16 2009-04-14 Microsoft Corporation Building and using predictive models of current and future surprises
US7334071B2 (en) 2005-05-25 2008-02-19 Integrated Device Technology, Inc. Expansion of cross-domain addressing for PCI-express packets passing through non-transparent bridge
EP1750278B1 (en) 2005-07-28 2009-11-11 STMicroelectronics S.r.l. Method of programming a four-level flash memory device and a related page buffer
US7930623B2 (en) 2006-03-07 2011-04-19 Samsung Electronics Co., Ltd. Method and system for generating parallel codes
JP2008015769A (ja) 2006-07-05 2008-01-24 Hitachi Ltd ストレージシステム及び書き込み分散方法
US8699471B2 (en) 2010-04-15 2014-04-15 Texas Instruments Incorporated System and method for scrambling and time-hopping
US8429325B1 (en) 2010-08-06 2013-04-23 Integrated Device Technology Inc. PCI express switch and method for multi-port non-transparent switching
US8751729B2 (en) 2010-12-23 2014-06-10 Samsung Electronics Co., Ltd. Flash memory device and memory system including the same
US8707122B1 (en) 2011-02-08 2014-04-22 Pmc-Sierra Us, Inc. Nonvolatile memory controller with two-stage error correction technique for enhanced reliability
KR101767649B1 (ko) 2011-05-11 2017-08-14 삼성전자주식회사 시드 생성 방법과 그것을 이용한 플래시 메모리 장치 및 메모리 시스템
US8694855B1 (en) 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
US8656257B1 (en) 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes
US8812935B2 (en) 2012-08-02 2014-08-19 Oracle International Corporation Using a data ECC to detect address corruption
US9292428B2 (en) 2012-09-05 2016-03-22 Kabushiki Kaisha Toshiba Memory system
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US20140310534A1 (en) 2013-04-15 2014-10-16 Apple Inc. Data scrambling in memory devices using combined sequences
EP3025271B1 (en) 2013-07-24 2020-04-01 Marvell World Trade Ltd. Key rotation for a memory controller
US9444655B2 (en) 2014-03-25 2016-09-13 Intel IP Corporation Apparatus, method and system of scrambling a wireless transmission
US9747200B1 (en) 2014-07-02 2017-08-29 Microsemi Solutions (U.S.), Inc. Memory system with high speed non-volatile memory backup using pre-aged flash memory devices
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9569120B2 (en) 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning
US9305661B2 (en) 2014-09-03 2016-04-05 Microsemi Storage Solutions (U.S.), Inc. Nonvolatile memory system that uses programming time to reduce bit errors
US9564930B2 (en) 2014-09-05 2017-02-07 Kabushiki Kaisha Toshiba Memory controller, storage device and memory control method
KR102200108B1 (ko) 2014-10-10 2021-01-08 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US20160247581A1 (en) 2015-02-20 2016-08-25 Kabushiki Kaisha Toshiba Memory system, memory controller and memory control method
TWI562149B (en) 2015-03-09 2016-12-11 Phison Electronics Corp Memory control circuit unit, memory storage apparatus and data accessing method
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10157677B2 (en) 2016-07-28 2018-12-18 Ip Gem Group, Llc Background reference positioning and local reference positioning using threshold voltage shift read
US10289341B2 (en) 2017-06-30 2019-05-14 Western Digital Technologies, Inc. Operating parameter offsets in solid state memory devices
KR102353405B1 (ko) 2017-09-19 2022-01-19 삼성전자주식회사 특성 데이터 전처리 시스템, 장치, 방법 및 이를 이용한 메모리 제어 시스템
US20190095794A1 (en) 2017-09-26 2019-03-28 Intel Corporation Methods and apparatus for training a neural network
US10963394B2 (en) 2018-04-16 2021-03-30 Samsung Electronics Co., Ltd. System and method for optimizing performance of a solid-state drive using a deep neural network
US10817217B2 (en) 2018-06-28 2020-10-27 Seagate Technology Llc Data storage system with improved time-to-ready
US10658054B2 (en) 2018-08-22 2020-05-19 International Business Machines Corporation Methods for read threshold voltage shifting in non-volatile memory
US12001949B2 (en) 2018-09-05 2024-06-04 Sartorius Stedim Data Analytics Ab Computer-implemented method, computer program product and system for data analysis
US10490288B1 (en) 2018-09-27 2019-11-26 Seagate Technology Llc Page-level reference voltage parameterization for solid statesolid state storage devices
US20200125955A1 (en) 2018-10-23 2020-04-23 International Business Machines Corporation Efficiently learning from highly-diverse data sets
KR102599123B1 (ko) 2018-11-14 2023-11-06 삼성전자주식회사 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법
CN112154460B (zh) 2018-12-06 2024-05-28 西部数据技术公司 具有深度学习神经网络的非易失性存储器管芯
US11133059B2 (en) 2018-12-06 2021-09-28 Western Digital Technologies, Inc. Non-volatile memory die with deep learning neural network
US11119909B2 (en) 2018-12-11 2021-09-14 Texas Instmments Incorporated Method and system for in-line ECC protection
US10715307B1 (en) 2019-08-01 2020-07-14 Microsemi Semiconductor Ulc Embedded time of day receiver for clock transmission
US11295209B2 (en) 2019-12-20 2022-04-05 Micron Technology, Inc. Analysis of memory sub-systems based on threshold distributions
US20220027083A1 (en) 2020-07-27 2022-01-27 Microchip Technology Inc. Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices
KR20220021753A (ko) 2020-08-14 2022-02-22 삼성전자주식회사 불휘발성 메모리의 파워 로스 프로텍션 영역에 저장된 온 셀 카운트를 복원하여 읽기 동작을 수행하는 스토리지 장치
US20220058488A1 (en) 2020-08-20 2022-02-24 Microchip Technology Inc. Partitionable Neural Network for Solid State Drives
US11398291B2 (en) 2020-11-20 2022-07-26 Microchip Technology Inc. Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
US20220188604A1 (en) 2020-12-15 2022-06-16 Microchip Technology Inc. Method and Apparatus for Performing a Neural Network Operation
US11514992B2 (en) 2021-02-25 2022-11-29 Microchip Technology Inc. Method and apparatus for reading a flash memory device
US12014068B2 (en) 2021-04-27 2024-06-18 Microchip Technology Inc. System and method for double data rate (DDR) chip-kill recovery

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1641678A (zh) * 2004-06-30 2005-07-20 威盛电子股份有限公司 线性乘法器电路
US20150049548A1 (en) * 2013-08-16 2015-02-19 Sang-Won Park Read Methods for Non-Volatile Memory Devices and Related Non-Volatile Memory Devices
US9251909B1 (en) * 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
CN108108810A (zh) * 2016-11-24 2018-06-01 三星电子株式会社 包括非易失性存储器件的存储装置及访问方法
US20200013791A1 (en) * 2017-02-04 2020-01-09 Monolithic 3D Inc. 3d semiconductor device and structure
US20200210831A1 (en) * 2018-12-31 2020-07-02 SK Hynix Inc. Storage device performance optimization using deep learning
CN112133353A (zh) * 2019-06-24 2020-12-25 爱思开海力士有限公司 Nand闪速存储器中针对读取阈值基于深度学习的回归框架

Also Published As

Publication number Publication date
US11699493B2 (en) 2023-07-11
DE112021007027T5 (de) 2023-11-23
US20220375532A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
CN117157711A (zh) 用于使用预测的经保留与读取干扰补偿的阈值电压偏移补偿值来执行对闪存存储器的读取的方法和装置
US10152273B2 (en) Nonvolatile memory controller and method for erase suspend management that increments the number of program and erase cycles after erase suspend
CN108122588B (zh) 非易失性存储器设备及包括其的存储设备
US7203874B2 (en) Error detection, documentation, and correction in a flash memory device
CN102782764B (zh) 用于检测有风险的非易失性存储元件的方法和非易失性存储设备
WO2022025976A1 (en) Regression neural network for identifying threshold voltages to be used in reads of flash memory devices
US11514992B2 (en) Method and apparatus for reading a flash memory device
JP2011510428A5 (zh)
WO2022108618A1 (en) Method and apparatus for determining when actual wear of a flash memory device differs from reliability states for the flash memory device
US20220058488A1 (en) Partitionable Neural Network for Solid State Drives
US7277981B2 (en) Scratch control memory array in a flash memory device
JP2012133874A (ja) 障害の確率を利用したフラッシュメモリのデータ管理
CN108694989A (zh) 存储设备及其坏块指派方法
US8402203B2 (en) Systems and methods for storing data in a multi-level cell solid state storage device
US11514994B1 (en) Method and apparatus for outlier management
KR20210145073A (ko) 반도체 기억장치 및 판독 방법
CN113076218A (zh) Nvm芯片读数据错误快速处理方法及其控制器
WO2022250722A1 (en) Method and apparatus for performing a read of a flash memory using predicted retention-and-read-disturb-compensated threshold voltage shift offset values
JP2015510653A (ja) アナログメモリセルのプログラミング及び消去の方式
US10290360B2 (en) Methods, systems, and media for programming a storage device
CN115938440A (zh) 确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法
JP2023089641A (ja) メモリシステムおよび半導体記憶装置
CN117980994A (zh) 存储器中经改进的ecc配置
EP4198988A1 (en) Storage controller using history data, method of operating the same, and method of operating storage device including the same
CN116830200A (zh) 用于读取闪存存储器设备的方法和装置

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