CN115938440A - 确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法 - Google Patents
确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法 Download PDFInfo
- Publication number
- CN115938440A CN115938440A CN202210858214.7A CN202210858214A CN115938440A CN 115938440 A CN115938440 A CN 115938440A CN 202210858214 A CN202210858214 A CN 202210858214A CN 115938440 A CN115938440 A CN 115938440A
- Authority
- CN
- China
- Prior art keywords
- read
- ovs
- count value
- error count
- error
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50004—Marginal testing, e.g. race, voltage or current testing of threshold voltage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5004—Voltage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
Abstract
公开一种操作与非易失性存储器件通信的存储控制器的方法。该方法包括:向非易失性存储器件输出包括对非易失性存储器件的存储区域的片上谷搜索OVS计数数据的请求的第一命令,其中OVS计数数据包括第一读取电压的第一计数值和第二读取电压的第二计数值;从非易失性存储器件接收OVS计数数据;基于OVS计数数据来确定针对第一读取电压的第一错误计数值和针对第二读取电压的第二错误计数值;以及基于第一错误计数值和第二错误计数值来确定后续操作。
Description
相关申请的交叉引用
本申请要求2021年10月1日在韩国知识产权局递交的韩国专利申请No.10-2021-0131025的优先权,其全部公开内容通过引用并入本文。
技术领域
实施例涉及存储设备,并且更具体地涉及确定用于确定是否执行读取回收的错误计数的存储控制器、操作该存储控制器的方法、以及操作包括该存储控制器的存储设备的方法。
背景技术
存储器件响应于写入请求而存储数据,并且响应于读取请求而输出存储在其中的数据。存储器件可以分类为:易失性存储器件,例如动态随机存取存储(DRAM)器件或静态RAM(SRAM)器件,该易失性存储器件在电源关断时丢失存储在其中的数据;或者非易失性存储器件,例如闪存器件、相变RAM(PRAM)、磁性RAM(MRAM)或电阻式RAM(RRAM),该非易失性存储器件即使在电源关断时也保留存储在其中的数据。
发明内容
根据实施例,一种操作存储控制器的方法,所述存储控制器与非易失性存储器件通信,该方法包括:向非易失性存储器件输出包括对非易失性存储器件的存储区域的片上谷搜索(OVS)计数数据的请求的第一命令,其中OVS计数数据包括第一读取电压的第一计数值和第二读取电压的第二计数值;从非易失性存储器件接收OVS计数数据;基于OVS计数数据来确定针对第一读取电压的第一错误计数值和针对第二读取电压的第二错误计数值;以及基于第一错误计数值和第二错误计数值来确定后续操作。
根据实施例,一种操作存储设备的方法,所述存储设备包括非易失性存储器件和存储控制器,该方法包括:由存储控制器向非易失性存储器件提供包括对非易失性存储器件的存储区域的片上谷搜索(OVS)读取请求的第一命令;由非易失性存储器件基于第一命令来产生存储区域的OVS计数数据;由存储控制器向非易失性存储器件提供包括对OVS计数数据的请求的第二命令;由非易失性存储器件基于第二命令向存储控制器提供OVS计数数据;由存储控制器基于OVS计数数据来产生存储区域的错误计数数据;由存储控制器基于错误计数数据来确定是否满足存储区域的读取回收条件;以及当确定满足读取回收条件时,由存储控制器向非易失性存储器件输出包括对存储区域的读取回收请求的第三命令。
根据实施例,一种存储控制器包括:片上谷搜索(OVS)管理模块,管理非易失性存储器件的存储区域的OVS读取操作;命令产生器,在OVS管理模块的控制下产生包括OVS读取请求的第一命令和包括对OVS计数数据的请求的第二命令;错误预测器,基于从非易失性存储器件接收的作为对第二命令的响应的OVS计数数据来产生存储区域的错误计数数据;以及读取回收模块,基于错误计数数据来确定是否满足存储区域的读取回收条件。当确定满足读取回收条件时,读取回收模块产生对存储区域的读取回收请求。命令产生器在读取回收模块的控制下产生包括读取回收请求的第三命令。
附图说明
通过参照附图详细描述示例实施例,特征对于本领域技术人员将变得清楚,在附图中:
图1是根据示例实施例的存储系统的框图。
图2是详细示出了根据一些示例实施例的图1的存储控制器的框图。
图3是详细示出了根据一些示例实施例的图1的非易失性存储器件的框图。
图4是描述了根据一些示例实施例的图3的存储单元阵列的存储块的图。
图5A是示出了根据一些示例实施例的多级单元的阈值电压分布的图。
图5B是示出了根据一些示例实施例的三级单元的阈值电压分布的图。
图5C是示出了根据一些示例实施例的四级单元的阈值电压分布的图。
图6是描述了根据一些示例实施例的存储设备的操作方法的图。
图7是描述了根据一些示例实施例的图6的OVS计数数据和错误计数数据的图。
图8A、图8B和图8C是描述了根据一些示例实施例的OVS计数值与错误计数值之间的关系的图。
图9是描述了根据一些示例实施例的分布类型表的图。
图10是描述了根据一些示例实施例的复合劣化分布的图。
图11是描述了根据一些示例实施例的异常分布的图。
图12是描述了根据一些示例实施例的存储设备的操作方法的图。
图13是描述了根据一些示例实施例的类型确定器的图。
图14是描述了根据一些示例实施例的机器学习设备的图。
图15是描述了根据一些示例实施例的图14的机器学习设备的操作方法的图。
图16是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
图17是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
图18是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
图19是描述了根据一些示例实施例的存储设备的操作方法的流程图。
具体实施方式
图1是根据示例实施例的存储系统的框图。
参考图1,存储系统10可以包括主机11和存储设备100。存储系统10可以是被配置为处理各种信息的计算系统,例如个人计算机(PC)、笔记本计算机、膝上型计算机、服务器、工作站、平板PC、智能电话、数字相机和黑匣子。
主机11可以控制存储系统10的整体操作。例如,主机11可以将数据存储在存储设备100中,或者可以读取存储设备100中存储的数据。
存储设备100可以包括存储控制器110和非易失性存储器件120。非易失性存储器件120可以存储数据。存储控制器110可以将数据存储在非易失性存储器件120中,或者可以读取非易失性存储器件120中存储的数据。非易失性存储器件120可以在存储控制器110的控制下操作。例如,基于指示操作的命令CMD和指示数据的位置的地址ADD,存储控制器110可以将数据存储在非易失性存储器件120中,或者可以读取非易失性存储器件120中存储的数据。
非易失性存储器件120可以是NAND闪存器件,或者非易失性存储器件120可以是即使电源关断也保留存储在其中的数据的各种存储设备之一,例如相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)和铁电随机存取存储器(FRAM)。
存储控制器110可以包括片上谷搜索(OVS)管理模块111、错误预测器112和读取回收模块113。
OVS管理模块111可以控制非易失性存储器件120对存储区域的OVS读取操作。存储区域可以对应于多个存储单元的集合,例如非易失性存储器件120中的存储通道、存储芯片、存储平面或存储块。
OVS读取操作可以由非易失性存储器件120而不是由存储控制器110来执行。OVS读取操作可以指在每个读取电压下对谷搜索段(例如,包括低于优化的读取电压的电压电平段和高于优化的读取电压的电压电平段在内的段)中包括的存储单元的数量进行计数的操作、以及读取非易失性存储器件120中存储的数据的正常读取操作。将参考图6详细描述OVS读取操作。
OVS管理模块111可以控制非易失性存储器件120的OVS计数器121。例如,OVS管理模块111可以将OVS读取请求提供给非易失性存储器件120,并且非易失性存储器件120的OVS计数器121可以产生对应于OVS读取操作的OVS计数数据。OVS计数数据可以包括分别对应于不同读取电压的OVS计数值。非易失性存储器件120可以根据OVS管理模块111的请求将OVS计数数据提供给存储控制器110。
错误预测器112可以基于从非易失性存储器件120接收的OVS计数数据来产生存储区域的错误计数数据。错误计数数据可以包括分别对应于不同读取电压的错误计数值。错误计数值可以指示具有错误的存储单元(例如,编程状态改变的存储单元)的数量。
错误计数值可以是由错误预测器112预测的值。例如,错误预测器112可以针对每个读取电压,基于多对OVS计数值和错误计数值,来训练OVS计数值与错误计数值之间的对应关系,并且错误预测器112可以基于经训练的对应关系和OVS计数值来预测错误计数值。将参考图6、图7、图8A、图8B和图8C详细描述基于OVS计数值来预测错误计数值的操作。
错误预测器112可以通过使用机器学习设备来产生错误计数数据。例如,机器学习设备可以训练OVS计数数据与错误计数数据之间的关系,并且机器学习设备可以基于经训练的关系来确定与OVS计数数据相对应的错误计数数据。将参考图14和图15详细描述机器学习设备。
读取回收模块113可以从错误预测器112接收错误计数数据。读取回收模块113可以基于错误计数数据来确定是否对非易失性存储器件120的存储区域执行读取回收操作。读取回收操作可以指将劣化的存储区域的数据复制到另一存储区域以用于保持数据可靠性的目的的操作。然而,因为读取回收增加延迟和输入/输出(I/O)负载,所以应该仔细地确定是否执行读取回收操作。
读取回收模块113可以使用读取电压单元(read voltage unit)(例如,其中针对每个读取电压确定存储单元的位值是否被翻转)的错误计数数据,而不是页单元(pageunit)(例如,其中存储单元的位值基于相同逻辑页的所有读取电压被确定为“1”或“0”)的错误计数数据。因此,即使存储区域由于复合因素或异常因素而劣化,也可以准确地确定是否需要读取回收。
读取回收模块113可以基于存储区域的分布类型信息来确定是否执行读取回收。例如,即使基于错误计数数据确定满足读取回收条件,当存储区域的分布类型对应于例外分布类型(预编程类型)时,读取回收模块113也可以不执行读取回收。将参考图13详细描述基于分布类型的读取回收操作。
非易失性存储器件120可以包括OVS计数器121。OVS计数器121可以在OVS管理模块111的控制下产生对应于OVS读取操作的OVS计数数据。例如,OVS计数器121可以基于包括OVS读取请求的命令来产生OVS计数数据。
如上所述,非易失性存储器件120可以通过执行OVS读取操作来产生OVS计数数据。因为非易失性存储器件120产生OVS计数数据作为正常读取操作的副产品,所以存储控制器110可以在没有附加读取请求或计数操作的情况下获得分布信息(例如,OVS计数数据)。因此,存储设备100的与获得分布信息相关联的输入/输出(I/O)负载和延迟可以减小。
此外,因为存储控制器110使用读取电压单元的错误计数值而不是页单元的错误计数值,所以存储控制器110可以准确地确定是否需要读取回收。因此,可以提供数据的可靠性提高并且延迟和I/O负载降低的存储设备100。
图2是详细示出了根据一些示例实施例的图1的存储控制器的框图。
参考图1和图2,存储控制器110可以与主机11和非易失性存储器件120进行通信。存储控制器110可以包括OVS管理模块111、错误预测器112、读取回收模块113、处理器114、静态随机存取存储器(SRAM)115、只读存储器(ROM)116、纠错码(ECC)引擎117、主机接口电路118和非易失性存储器接口电路119。OVS管理模块111、错误预测器112和读取回收模块113类似于图1的OVS管理模块111、错误预测器112和读取回收模块113,因此将省略附加描述以避免冗余。
存储控制器110可以包括固件存储器FM,该固件存储器FM可以以指令的形式存储用于存储控制器110进行操作的各种信息。例如,OVS管理模块111、错误预测器112和读取回收模块113可以通过软件来实现,并且固件存储器FM中存储的指令可以执行或实现OVS管理模块111、错误预测器112和读取回收模块113。在另一实现中,OVS管理模块111、错误预测器112和读取回收模块113可以用单独的硬件设备来实现。
处理器114可以控制存储控制器110的整体操作。
SRAM 115可以用作存储控制器110的缓冲存储器、高速缓冲存储器或工作存储器。
ROM 116可以用作存储用于存储控制器110的操作的信息的只读存储器。
ECC引擎117可以检测和纠正从非易失性存储器件120读取的数据的错误。例如,ECC引擎117可以具有给定级别的纠错能力。ECC引擎117可以将具有超过纠错能力的错误级别(例如,翻转位的数量)的数据处理为不可纠正的错误。
ECC引擎117可以基于纠错来产生真实错误计数数据。例如,错误预测器112可以基于预训练的对应关系根据OVS计数数据预测错误计数数据,而相反,ECC引擎117可以对读取数据执行纠错并且可以基于错误实际上被纠正的存储单元的数量来产生真实错误计数数据。读取回收模块113可以基于来自ECC引擎117的真实错误计数数据和来自错误预测器112的错误计数数据来确定是否执行读取回收操作。这将参考图12详细描述。
存储控制器110可以通过主机接口电路118与主机11进行通信。主机接口电路118可以基于各种接口中的至少一种来实现,例如串行ATA(SATA)接口、外围组件互连快速(PCIe)接口、串行附接SCSI(SAS)、非易失性存储器快速(NVMe)接口和通用闪存(UFS)接口。
存储控制器110可以通过非易失性存储器接口电路119与非易失性存储器件120进行通信。非易失性存储器接口电路119可以基于NAND接口来实现。
存储控制器110可以通过非易失性存储器接口电路119将包括OVS读取请求的命令、包括对OVS计数数据的请求的命令、或包括读取回收请求的命令输出到非易失性存储器件120。存储控制器110可以通过非易失性存储器接口电路119从非易失性存储器件120接收读取数据和OVS计数数据。
图3是详细示出了根据一些示例实施例的图1的非易失性存储器件的框图。图4是描述了根据一些示例实施例的图3的存储单元阵列的存储块的图。
参考图1、图3和图4,非易失性存储器件120可以与存储控制器110进行通信。例如,非易失性存储器件120可以从存储控制器110接收地址ADD和命令CMD。非易失性存储器件120可以与存储控制器110交换数据。
非易失性存储器件120可以包括OVS计数器121、控制逻辑122、电压发生器123、行解码器124、存储单元阵列125、页缓冲器单元126、列解码器127和输入/输出(I/O)电路128。OVS计数器121类似于图1的OVS计数器121,因此将省略附加描述以避免冗余。
控制逻辑122可以从存储控制器110接收命令CMD和地址ADD。命令CMD可以指指示将由非易失性存储器件120执行的操作(例如,读取操作、写入操作或擦除操作)的信号。地址ADD可以包括行地址ADDR和列地址ADDC。控制逻辑122可以基于命令CMD和地址ADD来控制非易失性存储器件120的整体操作。控制逻辑122可以基于地址ADD产生行地址ADDR和列地址ADDC。
控制逻辑122可以管理包括OVS读取请求的命令CMD。控制逻辑122可以基于OVS读取请求来产生使能信号EN。控制逻辑122可以基于使能信号EN来控制OVS计数器121,以产生OVS计数数据。
控制逻辑122可以管理包括对OVS计数数据的请求的命令CMD。例如,基于对OVS计数数据的请求,控制逻辑122可以允许OVS计数器121通过I/O电路128将OVS计数数据提供给存储控制器110。
控制逻辑122可以管理包括读取回收请求的命令CMD。例如,基于读取回收请求,控制逻辑122可以将第一存储区域的数据复制到第二存储区域并且可以擦除第一存储区域的数据。
在控制逻辑122的控制下,电压发生器123可以通过行解码器124控制要施加到存储单元阵列125的电压。
行解码器124可以从控制逻辑122接收行地址ADDR。行解码器124可以通过串选择线SSL、字线WL和地选择线GSL与存储单元阵列125连接。行解码器124可以对行地址ADDR解码,并且可以基于解码结果和从电压发生器123接收的电压来控制要施加到串选择线SSL、字线WL和地选择线GSL的电压。
存储单元阵列125可以包括多个存储块BLK。多个存储块BLK中的每一个可以在结构上类似于图4所示的存储块BLK。图4所示的存储块BLK可以对应于非易失性存储器件120的物理擦除单元。在另一实现中,物理擦除单元可以是页单元、字线单元、子块单元等。
参考图4,存储块BLK可以包括多个单元串CS11、CS12、CS21和CS22。多个单元串CS11、CS12、CS21和CS22可以沿行方向和列方向布置。为了附图的简洁,图4中示出了4个单元串CS11、CS12、CS21和CS22,但单元串的数量可以在行方向或列方向上增加或减少。
多个单元串CS11、CS12、CS21和CS22中位于相同列的单元串可以与相同的位线连接。例如,单元串CS11和CS21可以与第一位线BL1连接,而单元串CS12和CS22可以与第二位线BL2连接。多个单元串CS11、CS12、CS21和CS22中的每一个可以包括多个单元晶体管。多个单元晶体管中的每一个可以用电荷俘获闪存(CTF)存储单元来实现。多个单元晶体管可以在高度方向上堆叠,该高度方向是垂直于由行方向和列方向限定的平面(例如,半导体衬底(未示出))的方向。
多个单元晶体管可以串联连接在对应的位线(例如,BL1或BL2)与公共源极线CSL之间。例如,多个单元晶体管可以包括串选择晶体管SSTa和SSTb、虚设存储单元DMC1和DMC2、存储单元MC1至MC4、以及地选择晶体管GSTa和GSTb。串联连接的串选择晶体管SSTa和SSTb可以设置在串联连接的存储单元MC1至MC4与对应的位线(例如,BL1和BL2)之间。串联连接的地选择晶体管GSTa和GSTb可以设置在串联连接的存储单元MC1至MC4与公共源极线CSL之间。
第二虚设存储单元DMC2可以设置在串联连接的串选择晶体管SSTa和SSTb与串联连接的存储单元MC1至MC4之间。第一虚设存储单元DMC1可以设置在串联连接的存储单元MC1至MC4与串联连接的地选择晶体管GSTa和GSTb之间。
多个单元串CS11、CS12、CS21和CS22的存储单元MC1至MC4中的位于相同高度处的存储单元可以共享相同的字线。例如,多个单元串CS11、CS12、CS21和CS22的第一存储单元MC1可以位于距半导体衬底(未示出)相同的高度处并且可以共享第一字线WL1,多个单元串CS11、CS12、CS21和CS22的第二存储单元MC2可以位于距半导体衬底相同的高度处并且可以共享第二字线WL2,多个单元串CS11、CS12、CS21和CS22的第三存储单元MC3可以位于距半导体衬底相同的高度处并且可以共享第三字线WL3,以及多个单元串CS11、CS12、CS21和CS22的第四存储单元MC4可以位于距半导体衬底相同的高度处并且可以共享第四字线WL4。
多个单元串CS11、CS12、CS21和CS22的虚设存储单元DMC1和DMC2中的位于相同高度处的虚设存储单元可以共享相同的虚设字线。例如,多个单元串CS11、CS12、CS21和CS22的第一虚设存储单元DMC1可以共享第一虚设字线DWL1,而多个单元串CS11、CS12、CS21和CS22的第二虚设存储单元DMC2可以共享第二虚设字线DWL2。
多个单元串CS11、CS12、CS21和CS22的串选择晶体管SSTa和SSTb中的位于相同高度处并位于相同行的串选择晶体管可以共享相同的串选择线。例如,单元串CS11和CS12的串选择晶体管SSTb可以共享串选择线SSL1b,而单元串CS11和CS12的串选择晶体管SSTa可以共享串选择线SSL1a。单元串CS21和CS22的串选择晶体管SSTb可以与串选择线SSL2b连接,而单元串CS21和CS22的串选择晶体管SSTa可以与串选择线SSL2a连接。
多个单元串CS11、CS12、CS21和CS22的地选择晶体管GSTa和GSTb中的位于相同高度处并位于相同行的地选择晶体管可以与相同的地选择线连接。例如,单元串CS11和CS12的地选择晶体管GSTb可以与地选择线GSL2a连接,而单元串CS11和CS12的地选择晶体管GSTa可以与地选择线GSL1a连接。单元串CS21和CS22的地选择晶体管GSTb可以与地选择线GSL2b连接,而单元串CS21和CS22的地选择晶体管GSTa可以与地选择线GSL1b连接。
图4所示的存储块BLK是一个示例。在其他实现中,单元串的数量可以增加或减少,并且单元串的行数和单元串的列数可以根据单元串的数量而增加或减少。此外,在存储块BLK中,单元晶体管的数量可以增加或减少,存储块BLK的高度可以根据单元晶体管的数量而增加或减少,以及与单元晶体管连接的线的数量可以根据单元晶体管的数量而增加或减少。
存储块BLK可以包括多个存储页。例如,单元串CS11、CS12、CS21和CS22的与第一字线WL1连接的第一存储单元MC1可以被称为“第一物理页”。在一些示例实施例中,一个物理页可以对应于多个逻辑页。例如,在存储单元是存储与3个位相对应的信息的三级单元(TLC)的情况下,物理页可以对应于3个逻辑页。将参考图5A、图5B和图5C详细描述存储两个或更多个位的多级单元。
再次参考图1和图3,页缓冲器单元126可以包括多个页缓冲器PB。页缓冲器单元126可以通过位线BL与存储单元阵列125连接。页缓冲器单元126可以通过感测位线BL的电压以页为单位从存储单元阵列125读取数据。
列解码器127可以从控制逻辑122接收列地址ADDC。列解码器127可以对列地址ADDC进行解码,并且可以基于解码结果将由页缓冲器单元126读取的数据提供给I/O电路128。
列解码器127可以通过数据线DL从I/O电路128接收数据。列解码器127可以从控制逻辑122接收列地址ADDC。列解码器127可以对列地址ADDC解码,并且可以基于解码结果将从I/O电路128接收的数据提供给页缓冲器单元126。页缓冲器单元126可以以页为单位通过位线BL将从I/O电路128提供的数据存储在存储单元阵列125中。
I/O电路128可以通过数据线DL与列解码器127连接。I/O电路128可以通过数据线DL将从存储控制器110接收的数据提供给列解码器127。I/O电路128可以将通过数据线DL接收的数据输出到存储控制器110。
参考图3描述的地址ADD、命令CMD和数据可以通过图2的存储控制器110的非易失性存储器接口电路119来发送/接收。
图5A是示出了根据一些示例实施例的多级单元的阈值电压分布的图。
图5A中示出了各自存储2个位的多级单元MLC的阈值电压分布的曲线图和与阈值电压分布相对应的每个页的位表。在图5A中的多级单元MLC的曲线图中,横轴表示阈值电压(例如,阈值电压的电平),而纵轴表示单元的数量。
为了便于描述,多级单元MLC意在指存储2个位的存储单元,存储3个位的存储单元被称为“三级单元TLC”,以及存储4个位的存储单元被称为“四级单元QLC”。
多级单元MLC可以具有阈值电压分布顺序增加的擦除状态“E”、第一编程状态P1、第二编程状态P2和第三编程状态P3之一。第一读取电压VR1可以是用于将擦除状态“E”与第一编程状态P1进行区分的电压。第二读取电压VR2可以是用于将第一编程状态P1与第二编程状态P2进行区分的电压。第三读取电压VR3可以是用于将第二编程状态P2与第三编程状态P3进行区分的电压。
参考图5A中的多级单元MLC的表,示出了根据单元状态的最高有效位MSB和最低有效位LSB。与存储2个位的多级单元MLC相对应的物理页可以对应于第一逻辑页和第二逻辑页。在多级单元MLC中,第一逻辑页可以指示最低有效位LSB,而第二逻辑页可以指示最高有效位MSB。
多级单元MLC的第一读取电压VR1至第三读取电压VR3中的每一个可以对应于多个逻辑页之一。例如,在多级单元MLC中,可以基于第二读取电压VR2来执行对应于第一逻辑页的读取操作。可以基于第一读取电压VR1和第三读取电压VR3来执行对应于第二逻辑页的读取操作。
图5B是示出了根据一些示例实施例的三级单元的阈值电压分布的图。
图5B中示出了各自存储3个位的三级单元TLC的阈值电压分布的曲线图和与阈值电压分布相对应的每个页的位表。在图5B的三级单元TLC的曲线图中,横轴表示阈值电压(例如,阈值电压的电平),而纵轴表示单元的数量。
三级单元TLC可以具有阈值电压分布顺序增加的擦除状态“E”和第一编程状态至第七编程状态P1、P2、P3、P4、P5、P6和P7之一。第一读取电压VR1可以是用于将擦除状态“E”与第一编程状态P1进行区分的电压。同样,第二读取电压VR2至第七读取电压VR7中的每一个可以是用于将第二编程状态P2至第七编程状态P7中的每一个与先前状态(即,具有低阈值电压分布的紧接在前的状态)进行区分的电压。
参考图5B中的三级单元TLC的表,示出了根据单元状态的最低有效位LSB、中心有效位CSB和最高有效位MSB。与存储3个位的三级单元TLC相对应的物理页可以对应于第一逻辑页、第二逻辑页和第三逻辑页。在三级单元TLC中,第一逻辑页可以指示最低有效位LSB,第二逻辑页可以指示中心有效位CSB,以及第三逻辑页可以指示最高有效位MSB。
三级单元TLC的第一读取电压VR1至第七读取电压VR7中的每一个可以对应于多个逻辑页之一。例如,在三级单元TLC中,可以基于第一读取电压VR1和第五读取电压VR5来执行对应于第一逻辑页的读取操作。可以基于第二读取电压VR2、第四读取电压VR4和第六读取电压VR6来执行对应于第二逻辑页的读取操作。可以基于第三读取电压VR3和第七读取电压VR7来执行对应于第三逻辑页的读取操作。
图5C是示出了根据一些示例实施例的四级单元的阈值电压分布的图。
图5C中示出了各自存储4个位的四级单元QLC的阈值电压分布图的曲线图和对应于阈值电压分布的每个页的位表。在图5C的四级单元QLC的曲线图中,横轴表示阈值电压(例如,阈值电压的电平),而纵轴表示单元的数量。
四级单元QLC可以具有阈值电压分布顺序增加的擦除状态“E”和第一编程状态至第十五编程状态P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14和P15之一。第一读取电压VR1可以是用于将擦除状态“E”与第一编程状态P1进行区分的电压。同样,第二读取电压VR2至第十五读取电压VR15中的每一个可以是用于将第二编程状态P2至第十五编程状态P15中的每一个与先前状态(即,具有低阈值电压分布的紧接在前的状态)进行区分的电压。
参考图5C中的四级单元QLC的表,示出了根据单元状态的最低有效位LSB、第一中心有效位ESB、第二中心有效位USB和最高有效位MSB。与存储4个位的四级单元QLC相对应的物理页可以对应于第一逻辑页、第二逻辑页、第三逻辑页和第四逻辑页。在四级单元QLC中,第一逻辑页可以指示最低有效位LSB,第二逻辑页可以指示第一中心有效位ESB,第三逻辑页可以指示第二中心有效位USB,以及第四逻辑页可以指示最高有效位MSB。
四级单元QLC的第一读取电压VR1至第十五读取电压VR15中的每一个可以对应于多个逻辑页之一。例如,在四级单元QLC中,可以基于第一读取电压VR1、第四读取电压VR4、第六读取电压VR6和第十一读取电压VR11来执行对应于第一逻辑页的读取操作。可以基于第三读取电压VR3、第七读取电压VR7、第九读取电压VR9和第十三读取电压VR13来执行对应于第二逻辑页的读取操作。可以基于第二读取电压VR2、第八读取电压VR8和第十四读取电压VR14来执行对应于第三逻辑页的读取操作。可以基于第五读取电压VR5、第十读取电压VR10、第十二读取电压VR12和第十五读取电压VR15来执行对应于第四逻辑页的读取操作。
在上文中,参考图5A、图5B和图5C描述了多级单元MLC、三级单元TLC和四级单元QLC的状态和读取电压。然而,对应于每个逻辑页的读取电压可以不同地改变或修改,并且一个存储单元可以存储5个或更多个位。
图6是描述了根据一些示例实施例的存储设备的操作方法的图。
参考图6,存储设备100可以包括存储控制器110和非易失性存储器件120。存储设备100可以对应于图1的存储设备100。
存储控制器110可以包括固件存储器FM和非易失性存储器接口电路119。固件存储器FM可以包括OVS管理模块111、错误预测器112、读取回收模块113和命令产生器。OVS管理模块111、错误预测器112和读取回收模块113类似于图2的OVS管理模块111、错误预测器112和读取回收模块113,因此将省略附加描述以避免冗余。
固件存储器FM可以包括命令产生器。命令产生器可以产生指示将由非易失性存储器件120执行的操作(例如,读取操作、写入操作或擦除操作)的命令。命令产生器可以在OVS管理模块111的控制下产生包括OVS读取请求的命令和包括对OVS计数数据OCD的请求的命令。命令产生器可以在读取回收模块113的控制下产生包括读取回收请求的命令。在另一实现中,命令产生器可以用单独的硬件设备来实现。
非易失性存储器件120可以包括OVS计数器121、控制逻辑122、存储单元阵列125、页缓冲器单元126和I/O电路128。OVS计数器121、控制逻辑122、存储单元阵列125、页缓冲器单元126和I/O电路128类似于图3的OVS计数器121、控制逻辑122、存储单元阵列125、页缓冲器单元126和I/O电路128,因此将省略附加描述以避免冗余。
下面,将描述根据一些示例实施例的存储设备100的操作方法。
在第一操作①中,OVS管理模块111可以请求OVS读取操作。命令产生器可以在OVS管理模块111的控制下向非易失性存储器接口电路119提供包括OVS读取请求的命令。非易失性存储器接口电路119可以向非易失性存储器件120提供包括OVS读取请求的命令。OVS读取请求可以指导以下操作:读取存储单元阵列125中存储的数据并产生与读取数据相对应的OVS计数数据OCD。
在第二操作②中,控制逻辑122可以基于第一操作①中的命令来执行OVS读取操作。例如,控制逻辑122可以控制存储单元阵列125,使得对应于OVS读取操作的数据(即,读取数据)被输出到页缓冲器单元126。读取数据可以用于OVS计数器121产生OVS计数数据OCD。页缓冲器单元126可以向I/O电路128提供从存储单元阵列125读取的数据。I/O电路128可以将读取数据提供给存储控制器110。
在第三操作③中,OVS计数器121可以基于操作②中的OVS读取操作来产生OVS计数数据OCD。例如,在控制逻辑122的控制下,可以将存储单元阵列125的存储块BLK1至BLKN中存储的数据以页为单位提供给页缓冲器单元126。页缓冲器单元126的页缓冲器PB1至PBN可以存储从存储块BLK1至BLKN读取(或感测)的数据。在页缓冲器单元126根据第二操作②存储读取数据之后,OVS计数器121可以参考页缓冲器单元126产生OVS计数数据OCD。
可以针对存储单元阵列125中的存储区域产生OVS计数数据OCD。存储区域可以对应于多个存储单元的集合,例如非易失性存储器件120中的存储通道、存储芯片、存储平面或存储块。
OVS计数数据OCD可以包括与多个读取电压中的每一个相对应的OVS计数值。OVS计数值可以包括低区计数LAC和高区计数HAC。低区计数LAC的值可以指通过对各自具有低于对应读取电压的电压电平段内的阈值电压的存储单元的数量进行计数而获得的值。高区计数HAC的值可以指通过对各自具有高于对应读取电压的电压电平段内的阈值电压的存储单元的数量进行计数而获得的值。
例如,OVS计数数据OCD可以包括“x1”、“y1”、“x2”和“y2”,其中“x1”可以是第一读取电压VR1的低区计数LAC的值,“y1”可以是第一读取电压VR1的高区计数HAC的值,“x2”可以是第二读取电压VR2的低区计数LAC的值,以及“y2”可以是第二读取电压VR2的高区计数HAC的值。
为了更好地理解,OVS计数数据OCD被说明为包括与第一读取电压VR1和第二读取电压VR2相关联的计数值,但是OVS计数数据OCD还可以包括与任何其他读取电压相关联的计数值。
OVS计数数据OCD的读取电压可以对应于相同的逻辑页。例如,在读取多级单元MLC的最低有效位LSB的情况下,OVS计数数据OCD可以包括第二读取电压VR2的计数值(即,低区计数值和高区计数值)。在读取多级单元MLC的最高有效位MSB的情况下,OVS计数数据OCD可以包括第一读取电压VR1和第三读取电压VR3中的每一个的计数值(参考图5A)。
例如,在读取三级单元TLC的最低有效位LSB的情况下,OVS计数数据OCD可以包括第一读取电压VR1和第五读取电压VR5中的每一个的计数值。在读取三级单元TLC的中心有效位CSB的情况下,OVS计数数据OCD可以包括第二读取电压VR2、第四读取电压VR4和第六读取电压VR6中的每一个的计数值。在读取三级单元TLC的最高有效位MSB的情况下,OVS计数数据OCD可以包括第三读取电压VR3和第七读取电压VR7中的每一个的计数值(参考图5B)。
例如,在读取四级单元QLC的最低有效位LSB的情况下,OVS计数数据OCD可以包括第一电压VR1、第四电压VR4、第六电压VR6和第十一电压VR11中的每一个的计数值。在读取四级单元QLC的第一中心有效位ESB的情况下,OVS计数数据OCD可以包括第三电压VR3、第七电压VR7、第九电压VR9和第十三电压VR13中的每一个的计数值。在读取四级单元QLC的第二中心有效位USB的情况下,OVS计数数据OCD可以包括第二电压VR2、第八电压VR8和第十四电压VR14中的每一个的计数值。在读取四级单元QLC的最高有效位MSB的情况下,OVS计数数据OCD可以包括第五电压VR5、第十电压VR10、第十二电压VR12和第十五电压VR15中的每一个的计数值(参考图5C)。
在第四操作④中,OVS管理模块111可以请求OVS计数数据OCD。命令产生器可以在OVS管理模块111的控制下向非易失性存储器接口电路119提供包括对OVS计数数据OCD的请求的命令。非易失性存储器接口电路119可以向非易失性存储器件120提供包括对OVS计数数据OCD的请求的命令。
在第五操作⑤中,OVS计数器121可以基于第四操作④中的命令向I/O电路128提供OVS计数数据OCD。I/O电路128可以向存储控制器110提供OVS计数数据OCD。
在第六操作⑥中,非易失性存储器接口电路119可以向错误预测器112提供从非易失性存储器件120接收的OVS计数数据OCD。错误预测器112可以基于OVS计数数据OCD来产生错误计数数据ECD。例如,错误预测器112可以基于多对OVS计数数据OCD和错误计数数据ECD对对应关系执行预训练,并且错误预测器112可以基于经预训练的对应关系根据OVS计数数据OCD来预测错误计数数据ECD。错误预测器112可以向读取回收模块113提供错误计数数据ECD。
错误计数数据ECD可以包括与不同读取电压中的每一个相关联的错误计数值。例如,错误计数数据ECD可以包括针对第一读取电压VR1的第一错误计数值和针对第二读取电压VR2的第二错误计数值。第一错误计数值可以包括与第一读取电压VR1相关联的低区计数LAC的值和高区计数HAC的值。第二错误计数值可以包括与第二读取电压VR2相关联的低区计数LAC的值和高区计数HAC的值。
在第七操作⑦中,读取回收模块113可以基于错误计数数据ECD来确定是否对存储区域执行读取回收操作。当确定需要读取回收时,读取回收模块113可以向命令产生器提供读取回收请求。命令产生器可以向非易失性存储器接口电路119提供包括读取回收请求的命令。非易失性存储器接口电路119可以向非易失性存储器件120提供包括读取回收请求的命令。
读取回收模块113可以基于错误计数数据ECD来确定是否满足存储区域的读取回收条件。读取回收条件可以定义用作用于执行读取回收操作的标准的情况。例如,可以通过比较与错误计数数据ECD中包括的错误计数值相对应的参考值来确定是否满足读取回收条件。可以针对每个读取电压定义参考值。参考值可以指存储单元的数量,其用作存储控制器110请求读取回收的标准。
例如,错误计数数据ECD可以包括第一错误计数值和第二错误计数值。当第一错误计数值大于第一参考值或第二错误计数值大于第二参考值时,读取回收模块113可以确定满足存储区域的读取回收条件。在这种情况下,读取回收模块113可以向命令产生器提供读取回收请求。
例如,当第一错误计数值小于或等于第一参考值或第二错误计数值小于或等于第二参考值时,读取回收模块113可以确定不满足存储区域的读取回收条件。在这种情况下,读取回收模块113可以不向命令产生器提供读取回收请求。因此,命令产生器可以执行各种后续操作,例如根据主机的请求而产生正常读取命令的操作。
图7是描述了根据一些示例实施例的图6的OVS计数数据和错误计数数据的图。
将参考图7描述与读取三级单元TLC的最低有效位LSB的情况相关联的OVS计数数据OCD和错误计数数据ECD。
在图7的OVS计数数据OCD和错误计数数据ECD的曲线图中,横轴表示阈值电压,而纵轴表示单元的数量。
第一读取电压VR1和第五读取电压VR5可以对应于三级单元TLC的最低有效位LSB的逻辑页。
参考图7中OVS计数数据OCD的曲线图,“x1”可以是第一读取电压VR1的低区计数LAC的值,并且“x1”可以是通过对各自具有第一读取电压VR1与比第一读取电压VR1低的电压之间(与参考电压段RVS一样)的阈值电压的存储单元的数量进行计数而获得的值。此外,“y1”可以是第一读取电压VR1的高区计数HAC的值,并且“y1”可以是通过对各自具有第一读取电压VR1与比第一读取电压VR1高的电压之间(与参考电压段RVS一样)的阈值电压的存储单元的数量进行计数而获得的值。“x1”和“y1”之和可以被称为“第一读取电压VR1的第一OVS计数值OCV1”。
如在上面的描述中,“x5”可以是第五读取电压VR5的低区计数LAC的值,并且“x5”可以是通过对各自具有第五读取电压VR5与比第五读取电压VR5低的电压之间(与参考电压段RVS一样)的阈值电压的存储单元的数量进行计数而获得的值。此外,“y5”可以是第五读取电压VR5的高区计数HAC的值,并且“y5”可以是通过对各自具有第五读取电压VR5与比第五读取电压VR5高的电压之间(与参考电压段RVS一样)的阈值电压的存储单元的数量进行计数而获得的值。“x5”和“y5”之和可以被称为“第五读取电压VR5的第五OVS计数值OCV5”。
OVS计数数据OCD可以包括与对应于相同逻辑页的读取电压中的每一个相关联的低区计数值和高区计数值。在读取三级单元TLC的最低有效位LSB的情况下,OVS计数数据OCD可以包括分别与第一读取电压VR1和第五读取电压VR5相对应的第一OVS计数值OCV1和第五OVS计数值OCV5。
参考错误计数数据ECD的曲线图,“E1L”可以指示即使被编程到第一编程状态P1而各自具有擦除状态“E”的错误存储单元(例如,位值被翻转的存储单元)的数量,“EEH”可以指示即使未被编程或被编程到擦除状态“E”而各自具有第一编程状态P1的阈值电压的错误存储单元的数量。“E1L”和“EEH”之和可以被称为“第一读取电压VR1的第一错误计数值ECV1”。
如在上面的描述中,“E5L”可以指示即使被编程到第五编程状态P5而各自具有第四编程状态P4的阈值电压的错误存储单元的数量。如在上面的描述中,“E4H”可以指示即使被编程到第四编程状态P4而各自具有第五编程状态P5的阈值电压的错误存储单元的数量。“E5L”和“E4H”之和可以被称为“第五读取电压VR5的第五OVS计数值ECV5”。
根据示例实施例,OVS计数数据OCD和错误计数数据ECD可以具有对应关系。例如,第一OVS计数值OCV1的“x1”和“y1”可以对应于第一错误计数值ECV1的“E1L”和“EEH”,而第五OVS计数值OCV5的“x5”和“y5”可以对应于第五OVS计数值ECV5的“E5L”和“E4H”。在“x1”、“y1”、“x5”和“y5”中的每一个增加或减少的情况下,“E1L”、“EEH”、“E5L”和“E4H”中的每一个可以具有增加或减少趋势。即,OVS计数数据OCD可以是适合于预测错误计数数据ECD的分布信息。
根据示例实施例的错误预测器可以基于OVS计数数据OCD与错误计数数据ECD之间的对应关系根据OVS计数数据OCD来预测错误计数数据ECD。
图8A是描述了根据一些示例实施例的OVS计数值与错误计数值之间的关系的图。
将参考图8A描述多对OVS计数值和错误计数值以及从其得出的对应关系的函数模型。横轴表示错误计数值ECV。纵轴表示OVS计数值OCV。
与三级单元TLC的第五读取电压VR5相关联的多对OVS计数值OCV和错误计数值ECV可以具有非线性对应关系。错误预测器可以基于多对OVS计数值OCV和错误计数值ECV来训练非线性对应关系,并且可以产生第一函数模型f1。第一函数模型f1可以指示与第五读取电压VR5相关联的OVS计数值OCV和错误计数值ECV之间的对应关系。错误预测器可以基于OVS计数值OCV和经预训练的第一函数模型f1来预测错误计数值ECV。
图8B是描述了根据一些示例实施例的OVS计数值与错误计数值之间的关系的图。
将参考图8B描述多对OVS计数值和错误计数值以及从其得出的对应关系的函数模型。横轴表示错误计数值ECV。纵轴表示OVS计数值OCV。
与三级单元TLC的第六读取电压VR6相关联的多对OVS计数值OCV和错误计数值ECV可以具有线性对应关系。错误预测器可以基于多对OVS计数值OCV和错误计数值ECV来训练线性对应关系,并且可以产生第二函数模型f2。第二函数模型f2可以指示与第六读取电压VR6相关联的OVS计数值OCV和错误计数值ECV之间的对应关系。错误预测器可以基于OVS计数值OCV和经预训练的第二函数模型f2来预测错误计数值ECV。
图8C是描述了根据一些示例实施例的OVS计数值与错误计数值之间的关系的图。
将参考图8C描述多对OVS计数值和错误计数值以及从其得出的对应关系的函数模型。横轴表示错误计数值ECV。纵轴表示OVS计数值OCV。
与三级单元TLC的第七读取电压VR7相关联的多对OVS计数值OCV和错误计数值ECV可以具有线性对应关系。错误预测器可以基于多对OVS计数值OCV和错误计数值ECV来训练线性对应关系,并且可以产生第三函数模型f3。第三函数模型f3可以指示与第七读取电压VR7相关联的OVS计数值OCV和错误计数值ECV之间的对应关系。错误预测器可以基于OVS计数值OCV和经预训练的第三函数模型f3来预测错误计数值ECV。
图9是描述了根据一些示例实施例的分布类型表的图。
将参考图9描述分布类型表。作为示例,分布类型表描述了存储区域能够具有的一些分布类型。分布类型表可以包括第一分布类型至第九分布类型。
第一分布类型可以指示正常类型。正常类型可以是指示存储区域中的存储单元的阈值电压被正常编程的分布类型。
第二分布类型可以指示保持类型。保持类型可以是指示存储单元的阈值电压从存储区域中的存储单元被编程的时间点开始随着时间流逝而降低的分布类型。
第三分布类型可以指示读取干扰类型。存储区域可以包括与第一字线连接的存储单元和与第二字线连接的存储单元。第一字线和第二字线可以彼此相邻。读取干扰类型可以是指示与第二字线连接的存储单元的阈值电压分布通过存储区域中的与第一字线连接的存储单元的读取操作而改变的分布类型。
第四分布类型可以指示预编程类型。在具有多个编程级别之一的存储单元(例如,四级单元QLC)的情况下,编程操作可以被划分为预编程和后编程以提高编程的准确性。在执行预编程之后形成的阈值电压分布可以大部分低于正常类型的阈值电压分布。在执行后编程之后形成的阈值电压分布可以类似于正常类型的阈值电压分布。预编程类型可以是指示仅执行预编程和后编程中的预编程的分布类型。
第五分布类型可以指示一次性类型。一次性类型可以是指示在存储区域中执行一次性编程的分布类型。一次性编程可以指存储区域中的存储单元被编程为具有擦除状态或单级单元(SLC)的编程状态的操作。
第六分布类型可以指示热载流子注入(HCI)类型。HCI类型可以是指示阈值电压分布被存储区域中的HCI改变的分布类型。HCI可以指阈值电压分布随着迁移率过高的电子或空穴由于存储单元的硬件因素而累积在绝缘层中而改变。
第七分布类型可以指示非耦合字线(NCW)类型。NCW类型可以是指示当邻近与编程的存储单元连接的字线的其他字线的存储单元未被编程时阈值电压分布形成为通常较低的分布类型。
第八分布类型可以指示突然断电(SPO)类型。SPO类型可以是指示由于存储设备的突然断电而在存储区域中异常执行编程的分布类型。
第九分布类型可以指示擦除类型。擦除类型可以是指示存储区域中的存储单元尚未被编程的分布类型。
图10是描述了根据一些示例实施例的复合劣化分布的图。
将参考图10描述读取干扰类型的曲线图、保持类型的曲线图和复合劣化分布的曲线图。在图10中,横轴表示阈值电压,而纵轴表示存储单元的数量。实线指示读取干扰类型。虚线指示保持类型。粗实线指示复合劣化分布。
非易失性存储器件中的存储区域的阈值电压分布可以由于各种因素而改变。例如,随着从编程时间点开始时间流逝,存储区域可以具有保持类型的分布。备选地,由于对相邻字线执行读取操作,存储区域可以具有读取干扰类型的分布。然而,上述因素可能多方面地出现,因此,随着从编程时间点开始时间流逝以及随着对相邻字线执行读取操作,存储区域可以具有复合劣化分布。
一般而言,对于具有复合劣化分布的存储区域,可能难以确定是否执行读取回收操作。具体地,一般的读取回收设备可以基于读取操作和纠错来获得页单元的错误计数数据,并且可以基于页单元的错误计数数据来确定是否执行读取回收操作。然而,在位值随着时间流逝从“1”翻转为“0”的存储单元的数量增加并且位值由于相邻字线的读取操作而从“0”翻转为“1”的存储单元的数量增加的情况下(即,在复合劣化的情况下),因为错误存储单元可以在页单元中彼此抵消,所以一般的读取回收设备可以确定不需要读取回收,即使出现复合劣化因素。
相反,根据示例实施例的存储控制器可以基于读取电压单元的错误计数数据而不是基于页单元的错误计数数据来确定是否需要读取回收。因此,可以准确地确定是否对具有读取干扰和保持同时出现的复合劣化分布的存储区域执行读取回收操作。
图11是描述了根据一些示例实施例的异常分布的图。
将参考图11描述与读取四级单元QLC的最低有效位LSB的情况相关联的正常类型曲线图和异常分布曲线图。在正常类型曲线图和异常分布曲线图中,横轴表示阈值电压,而纵轴表示存储单元的数量。
异常分布可以指示难以基于页单元的错误存储单元来确定劣化程度的分布。例如,异常分布可以包括HCI类型。
第一读取电压VR1、第四读取电压VR4、第六读取电压VR6和第十一读取电压VR11可以对应于四级单元QLC的最低有效位LSB的逻辑页。
参考正常类型曲线图,实线指示正常类型波形。在正常类型的OVS计数数据OCD中,“x1”、“y1”、“x4”、“y4”、“x6”、“y6”、“x11”和“y11”可以分别是“50”、“200”、“250”、“70”、“230”、“60”、“100”和“100”。
参考异常分布(例如,HCI类型)曲线图,根据存储单元的状态(例如,擦除状态以及第一编程状态至第十五编程状态)由不同类型的线示出异常分布波形。异常分布的整个波形可以对应于所示波形之和。在异常分布的OVS计数数据OCD中,“x1”、“y1”、“x4”、“y4”、“x6”、“y6”、“x11”、“y11”可以分别是“50”、“200”、“270”、“100”、“240”、“70”、“100”和“100”。
根据对异常分布的OVS计数数据OCD和正常类型的OVS计数数据OCD进行比较的结果,可以理解“x4”和“y4”都增加。此外,“x6”和“y6”都可以增加。即,位值从“1”翻转为“0”的存储单元的数量和位值从“0”翻转为“1”的存储单元的数量都可以增加。可能难以根据页单元的错误计数数据检查出这种分布变化,因此一般的读取回收设备可能无法准确地确定是否需要对具有异常分布的存储区域进行读取回收。
相反,根据示例实施例的存储控制器可以基于读取电压单元的错误计数数据而不是基于页单元的错误计数数据来确定是否需要读取回收。因此,可以准确地确定是否需要对具有异常分布的存储区域进行读取回收。
图12是描述了根据一些示例实施例的存储设备的操作方法的图。
参考图12,存储设备100可以包括存储控制器110和非易失性存储器件120。存储控制器110可以包括固件存储器FM、ECC引擎117和非易失性存储器接口电路119。固件存储器FM可以包括OVS管理模块111、错误预测器112、读取回收模块113和命令产生器。固件存储器FM、非易失性存储器接口电路119和非易失性存储器件120类似于图6的固件存储器FM、非易失性存储器接口电路119和非易失性存储器件120,因此将省略附加描述以避免冗余。ECC引擎117类似于图2的ECC引擎117,因此将省略附加描述以避免冗余。
下面,将描述根据一些示例实施例的存储设备100的操作方法。
在第一操作①中,OVS管理模块111可以请求OVS读取操作。命令产生器可以在OVS管理模块111的控制下向非易失性存储器接口电路119提供包括OVS读取请求的命令。非易失性存储器接口电路119可以向非易失性存储器件120提供包括OVS读取请求的命令。
在第二操作②中,非易失性存储器件120可以基于第一操作①中的命令来执行OVS读取操作。基于OVS读取操作,非易失性存储器件120可以产生OVS计数数据OCD并且可以向非易失性存储器接口电路119提供读取数据。非易失性存储器接口电路119可以向ECC引擎117提供读取数据。
在第三操作③中,ECC引擎117可以对读取数据执行纠错。ECC引擎117可以基于纠错来产生真实错误计数数据ECDR。真实错误计数数据ECDR可以指示错误被ECC引擎117纠正的存储单元的数量(即,位值被纠正的存储单元的数量)。真实错误计数数据ECDR可以包括页单元的错误计数值。
在第四操作④中,OVS管理模块111可以请求OVS计数数据OCD。命令产生器可以在OVS管理模块111的控制下向非易失性存储器接口电路119提供包括对OVS计数数据OCD的请求的命令。非易失性存储器接口电路119可以向非易失性存储器件120提供包括对OVS计数数据OCD的请求的命令。非易失性存储器件120可以向非易失性存储器接口电路119提供OVS计数数据OCD。非易失性存储器接口电路119可以向错误预测器112提供OVS计数数据OCD。
在第五操作⑤中,错误预测器112可以基于OVS计数数据OCD来产生预测错误计数数据ECDP。预测错误计数数据ECDP可以包括读取电压单元的预测错误计数值。
在第六操作⑥中,读取回收模块113可以基于真实错误计数数据ECDR和预测错误计数数据ECDP来确定是否对存储区域执行读取回收操作。当确定需要读取回收时,读取回收模块113可以向命令产生器提供读取回收请求。
当以读取电压为单位预测的错误计数值之间的差值很大时,因为存储区域具有复合劣化分布或异常分布的可能性较高,所以对于每个读取电压而具有错误计数值的预测错误计数数据ECDP可以是准确的。相反,当以读取电压为单位预测的错误计数值之间的差值较小时,因为存储区域具有正常分布的可能性较高,所以作为基于纠错对存储单元进行计数的结果的真实错误计数数据ECDR可以是准确的。
基于以读取电压为单位预测的错误计数值之间的差值是否大于参考偏差值,读取回收模块113可以选择真实错误计数数据ECDR和预测错误计数数据ECDP之一。
例如,预测错误计数数据ECDP可以包括针对第一读取电压的第一预测错误计数值和针对第二读取电压的第二预测错误计数值。当第一预测错误计数值与第二预测错误计数值之间的差值大于参考偏差值时,读取回收模块113可以基于预测错误计数数据ECDP来确定是否需要对存储区域的读取回收。当第一预测错误计数值与第二预测错误计数值之间的差值小于或等于参考偏差值时,读取回收模块113可以基于真实错误计数数据ECDR来确定是否需要对存储区域的读取回收。
图13是描述了根据一些示例实施例的类型确定器的图。
参考图13,固件存储器FM可以包括类型确定器、错误预测器112和读取回收模块113。固件存储器FM可以对应于图2和图6的固件存储器FM。为了更好地理解,示出了固件存储器FM实现类型确定器的示例,但类型确定器可以用单独的硬件设备来实现。
类型确定器可以基于OVS计数数据OCD来产生分布类型信息DTI。分布类型信息DTI可以指示存储区域的预测分布类型。例如,因为OVS计数数据OCD包括与不同的读取电压相关联的低区计数值和高区计数值,所以OVS计数数据OCD可以示出存储区域的阈值电压分布的趋势。类型确定器可以基于OVS计数数据OCD的多个计数值将存储区域的分布类型预测为经预训练的分布类型之一(例如,图9的第一分布类型至第九分布类型)。
错误预测器112可以基于OVS计数数据OCD来产生错误计数数据ECD。
读取回收模块113可以基于分布类型信息DTI和错误计数数据ECD来确定是否执行读取回收操作。例如,读取回收模块113可以基于错误计数数据ECD的错误计数值来确定是否满足存储区域的读取回收条件。当确定满足读取回收条件时,读取回收模块113可以确定由分布类型信息DTI指示的预测分布类型是否是例外分布类型。即使满足读取回收条件,当预测分布类型被确定为是例外分布类型时,读取回收模块113也可以不执行读取回收操作。换言之,当确定满足读取回收条件并且预测分布类型不是例外分布类型时,读取回收模块113可以执行读取回收操作。
不伴随读取回收操作的例外分布类型可以是预编程类型。例如,根据预编程类型,当四级单元QLC的编程操作被划分并被执行时,预编程类型的阈值电压分布可以低于正常类型的阈值电压分布。这种低阈值电压分布可以不与存储区域的劣化相关联。因此,当存储区域的分布类型被预测为预编程类型时,即使错误计数数据ECD的错误计数值大于参考值,读取回收模块113也可以不请求对存储区域的读取回收。
图14是描述了根据一些示例实施例的机器学习设备的图。
参考图14描述机器学习设备ML。固件存储器FM可以包括错误预测器112和机器学习设备ML。固件存储器FM可以对应于图2和图6的固件存储器FM。为了更好地理解,示出了固件存储器FM实现机器学习设备ML的示例,但机器学习设备ML可以用单独的硬件设备来实现。
机器学习设备ML可以辅助基于OVS计数数据OCD来产生错误计数数据ECD的操作。机器学习设备ML可以包括函数产生器和计算器。
函数产生器可以在训练步骤中训练OVS计数数据OCD与错误计数数据ECD之间的对应关系,并且可以产生机器学习函数。机器学习函数可以针对不同的读取电压中的每一个读取电压指示OVS计数值与错误计数值之间的对应关系。
计算器可以基于机器学习函数和OVS计数数据OCD来产生错误计数数据ECD。错误计数数据ECD可以包括针对不同的读取电压而预测的错误计数值。
图15是描述了根据一些示例实施例的图14的机器学习设备的操作方法的图。
将参考图15描述图14的机器学习设备ML的机器学习函数。
机器学习函数可以包括输入层、隐藏层和输出层。为了附图的简洁,仅示出了一个隐藏层,但机器学习函数的隐藏层的数量可以增加。
输入层可以包括多个输入数据。多个输入数据可以对应于OVS计数数据OCD的计数值。
例如,在读取四级单元QLC的最低有效位LSB的情况下,OVS计数数据OCD可以包括与第一电压VR1、第四电压VR4、第六电压VR6和第十一电压VR11中的每一个相关联的低区计数(LAC)值和高区计数(HAC)值。输入层可以包括与第一读取电压VR1、第四读取电压VR4、第六读取电压VR6和第十一读取电压相关联的计数值x1、y1、x4、y4、x6、y6、x11和y11。
隐藏层可以包括多个隐藏数据。可以通过计算多个输入数据和权重来获得隐藏数据。例如,权重可以对应于图15中的实线连接层。在机器学习设备ML的训练步骤中,可以通过多对OVS计数数据OCD和错误计数数据ECD来训练权重。
输出层可以包括多个输出数据。多个输出数据可以对应于错误计数数据ECD的错误计数值。输出数据的值可以指示针对对应的读取电压而预测的存储单元的数量。
例如,在读取四级单元QLC的最低有效位LSB的情况下,输出层可以包括分别与第一读取电压VR1、第四读取电压VR4、第六读取电压VR6和第十一读取电压VR11相对应的第一错误计数值ECV1、第四错误计数值ECV4、第六错误计数值ECV6和第十一错误计数值ECV11。上述错误计数值可以用于确定是否执行读取回收操作。
图16是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
将参考图16描述根据一些示例实施例的存储控制器的操作方法。存储控制器可以与非易失性存储器件通信。存储控制器可以对应于图1、图2和图6的存储控制器110。
在操作S110中,存储控制器可以向非易失性存储器件提供包括对非易失性存储器件中的存储区域的OVS计数数据OCD的请求的命令。OVS计数数据OCD可以包括第一读取电压VR1的第一计数值和第二读取电压VR2的第二计数值。
第一读取电压和第二读取电压可以对应于相同的逻辑页。
第一读取电压VR1的第一计数值可以包括第一读取电压VR1的第一低区计数值和第一高区计数值。第二读取电压VR2的第二计数值可以包括第二读取电压VR2的第二低区计数值和第二高区计数值。
在操作S120中,存储控制器可以从非易失性存储器件接收OVS计数数据OCD。OVS计数数据OCD可以是在操作S110中请求的OVS计数数据OCD。
在操作S130中,存储控制器可以基于OVS计数数据OCD来确定针对第一读取电压VR1的第一错误计数值ECV1和针对第二读取电压VR2的第二错误计数值ECV2。即,存储控制器可以以读取电压为单位而不是以页为单位来预测错误计数值。第一错误计数值ECV1和第二读取电压VR2可以被称为“错误计数数据”。
在操作S130中,存储控制器可以通过使用机器学习设备(例如,图14的机器学习设备ML)根据OVS计数数据OCD来预测第一错误计数值ECV1和第二错误计数值ECV2。
在操作S140中,存储控制器可以基于在操作S130中确定的第一错误计数值ECV1和第二错误计数值ECV2来确定后续操作。确定后续操作可以指根据是否需要读取回收来确定适当的操作,而不管存储控制器是否向非易失性存储器件发出命令。
例如,当基于第一错误计数值ECV1和第二错误计数值ECV2确定需要读取回收时,存储控制器可以输出包括读取回收请求的命令。例如,当基于第一错误计数值ECV1和第二错误计数值ECV2确定不需要读取回收时,存储控制器可以不对存储区域执行附加操作,直到从主机接收到单独的读取请求。
在一些示例实施例中,在操作S140中,存储控制器可以通过比较错误计数值和对应的参考值来确定是否执行读取回收操作。
例如,当第一错误计数值ECV1大于第一参考值或第二错误计数值ECV2大于第二参考值时,存储控制器可以将包括对存储区域的读取回收请求的命令输出到非易失性存储器件。
例如,当第一错误计数值ECV1小于或等于第一参考值或第二错误计数值ECV2小于或等于第二参考值时,存储控制器可以不请求对存储区域的读取回收。
图17是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
将参考图17描述根据一些示例实施例的存储控制器的操作方法。存储控制器可以与非易失性存储器件通信。存储控制器可以对应于图1、图2和图6的存储控制器110。
在操作S210中,存储控制器可以执行随机间隔相邻检查(RINC)操作。RINC操作可以指在读取操作执行了参考次数之后,存储控制器在没有主机干预的情况下针对可靠性验证而执行的读取操作。RINC操作可以包括OVS读取请求。
在操作S211中,存储控制器可以基于操作S210中的RINC操作来输出包括对非易失性存储器件中的存储区域的OVS计数数据OCD的请求的命令。
在操作S220中,存储控制器可以从非易失性存储器件接收OVS计数数据OCD。
在操作S230中,存储控制器可以基于OVS计数数据OCD来产生错误计数数据ECD。存储控制器可以基于OVS计数数据OCD来确定存储区域的预测分布类型。
在操作S240中,存储控制器可以基于在操作S230中产生的错误计数数据ECD来确定是否满足存储区域的读取回收条件。
例如,当错误计数数据ECD中包括的错误计数值大于参考值时,存储控制器可以确定满足存储区域的读取回收条件。在这种情况下,存储控制器110可以执行操作S241。
例如,当错误计数数据ECD中包括的错误计数值小于或等于参考值时,存储控制器可以确定不满足存储区域的读取回收条件。在这种情况下,可以终止操作。
在操作S241中,存储控制器可以确定存储区域的预测分布类型是否是预编程类型。当确定预测分布类型为预编程类型时,可以终止操作。当确定预测分布类型不是预编程类型时,存储控制器可以执行操作S242。
在操作S242中,存储控制器可以对存储区域执行读取回收操作。例如,存储控制器可以将包括对存储区域的读取回收请求的命令输出到非易失性存储器件。
图18是描述了根据一些示例实施例的存储控制器的操作方法的流程图。
将参考图18描述根据一些示例实施例的存储控制器的操作方法。存储控制器可以与非易失性存储器件通信。存储控制器可以包括错误预测器和ECC引擎。存储控制器可以对应于图1、图2、图6和图12的存储控制器110。错误预测器可以对应于参考图1、图2、图6、图12、图13和图14描述的错误预测器112。ECC引擎可以对应于图2和图12的ECC引擎117。
在操作S310中,存储控制器可以向非易失性存储器件提供包括对非易失性存储器件的存储区域的OVS读取请求的第一命令CMD1。OVS读取请求可以指示读取存储区域中存储的数据并产生与读取数据相对应的OVS计数数据OCD的操作。
在操作S311中,存储控制器可以从非易失性存储器件接收读取数据。读取数据可以是根据操作S310中的OVS读取请求而从非易失性存储器件的存储区域读取的数据。
在操作S312中,存储控制器的ECC引擎可以基于在操作S311中接收的读取数据来产生第一错误计数数据ECD1。第一错误计数数据ECD1可以是通过ECC引擎的纠错而产生的真实错误计数数据。例如,第一错误计数数据ECD1可以指示由ECC引擎以页为单位纠正了错误的存储单元的数量。
在操作S313中,存储控制器可以向非易失性存储器件提供包括对存储区域的OVS计数数据OCD的请求的第二命令CMD2。可以由非易失性存储器件根据操作S310中的OVS读取请求来产生OVS计数数据OCD。
在操作S320中,存储控制器可以从非易失性存储器件接收OVS计数数据OCD。
在操作S330中,存储控制器的错误预测器可以基于在操作S320接收的OVS计数数据OCD来产生第二错误计数数据ECD2。第二错误计数数据ECD2可以是基于由错误预测器预训练的对应关系根据OVS计数数据OCD而预测的错误计数数据。第二错误计数数据ECD2可以包括针对与相同逻辑页相对应的读取电压中的每一个读取电压而预测的错误计数值(例如,包括低区计数值和高区计数值在内的OVS计数值)。
在操作S340中,存储控制器可以基于第一错误计数数据ECD1和第二错误计数数据ECD2来确定是否满足存储区域的读取回收条件。
在一些示例实施例中,在操作S340中,存储控制器可以基于第二错误计数数据ECD2中包括的OVS计数值(即,针对每个读取电压预测的OVS计数值)之间的差值来选择第一错误计数数据ECD1和第二错误计数数据ECD2之一。
例如,第二错误计数数据ECD2可以包括针对第一读取电压的第一错误计数值和针对第二读取电压的第二错误计数值。当第一错误计数值与第二错误计数值之间的差值大于参考偏差值时,存储控制器可以基于由错误预测器产生的第二错误计数数据ECD2来确定是否满足读取回收条件。备选地,当第一错误计数值与第二错误计数值之间的差值小于或等于参考偏差值时,存储控制器可以基于由错误预测器产生的第一错误计数数据ECD1来确定是否满足读取回收条件。
图19是描述了根据一些示例实施例的存储设备的操作方法的流程图。
将参考图19描述根据示例实施例的存储设备的操作方法。存储设备可以包括存储控制器110和非易失性存储器件120。存储控制器110可以对应于图1、图2、图6和图12的存储控制器110。非易失性存储器件120可以对应于图1、图3、图6和图12的非易失性存储器件120。
在操作S410中,存储控制器110可以向非易失性存储器件120提供包括对非易失性存储器件120的存储区域的OVS读取请求的第一命令CMD1。
在操作S411中,非易失性存储器件120可以基于第一命令CMD1来执行OVS读取操作。非易失性存储器件120可以在执行OVS读取操作时产生OVS计数数据OCD。
在操作S412中,存储控制器110可以向非易失性存储器件120提供包括对OVS计数数据OCD的请求的第二命令CMD2。
在操作S420中,非易失性存储器件120可以基于操作S412中的第二命令CMD2向存储控制器110提供OVS计数数据OCD。
在操作S430中,存储控制器110可以基于OVS计数数据OCD来产生错误计数数据ECD。错误计数数据ECD可以是基于OVS计数数据OCD和经预训练的对应关系而预测的错误计数数据。错误计数数据ECD可以包括以读取电压为单位而不是以页为单位预测的错误计数值。
在操作S440中,存储控制器110可以基于错误计数数据ECD来确定是否满足存储区域的读取回收条件。当确定满足读取回收条件时,存储控制器110可以执行操作S441。
在操作S441中,存储控制器110可以向非易失性存储器件120提供包括对存储区域的读取回收请求的第三命令CMD3。
通过总结和回顾,非易失性存储器件的存储单元可以具有与数据的位值相对应的编程阈值电压分布。阈值电压分布可以由于诸如保持、读取干扰、热载流子注入(HCI)等各种因素而改变。阈值电压分布的变化可以导致非易失性存储器件的可靠性降低。为了防止这个问题,可以使用用于将非易失性存储器件的存储区域中存储的数据复制到另一存储区域的读取回收技术。然而,由于读取回收增加延迟和输入/输出(I/O)负载,因此需要仔细地确定是否执行读取回收操作。
如上所述,实施例可以提供用于确定错误计数的存储控制器、操作该存储控制器的方法、以及操作包括该存储控制器的存储设备的方法。
此外,提供了一种存储控制器、一种操作该存储控制器的方法、以及一种操作包括该存储控制器的存储设备的方法,在该存储控制器,通过使用针对每个读取电压而确定的错误计数、使用由ECC引擎产生的真实错误计数数据、基于预测的分布类型考虑例外情况、以及使用机器学习设备以用于确定错误计数的目的,来准确地确定读取回收条件,提高可靠性,并且减少延迟和I/O负载。
本文已经公开了示例实施例,并且尽管采用了特定术语,但它们仅用于且应被解释为一般的描述性意义,而不是为了限制的目的。在一些情况下,如提交本申请的本领域普通技术人员应认识到,除非另有明确说明,否则结合特定实施例描述的特征、特性和/或元件可以单独使用或与其他实施例描述的特征、特性和/或元件相结合使用。因此,本领域技术人员将理解,在不脱离所附权利要求中阐述的本发明的精神和范围的前提下,可以进行形式和细节上的各种改变。
Claims (20)
1.一种操作存储控制器的方法,所述存储控制器与非易失性存储器件通信,所述方法包括:
向所述非易失性存储器件输出包括对所述非易失性存储器件的存储区域的片上谷搜索OVS计数数据的请求的第一命令,其中所述OVS计数数据包括第一读取电压的第一计数值和第二读取电压的第二计数值;
从所述非易失性存储器件接收所述OVS计数数据;
基于所述OVS计数数据来确定针对所述第一读取电压的第一错误计数值和针对所述第二读取电压的第二错误计数值;以及
基于所述第一错误计数值和所述第二错误计数值来确定后续操作。
2.根据权利要求1所述的方法,其中,基于所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:当所述第一错误计数值大于第一参考值或所述第二错误计数值大于第二参考值时,向所述非易失性存储器件输出包括对所述存储区域的读取回收请求的第二命令。
3.根据权利要求1所述的方法,还包括:
在输出所述第一命令之前,向所述非易失性存储器件输出包括对所述存储区域的OVS读取请求的第三命令,
其中,所述OVS计数数据是通过在所述非易失性存储器件处针对所述第一读取电压和所述第二读取电压中的每一个执行OVS读取操作而产生的。
4.根据权利要求3所述的方法,还包括:
从所述非易失性存储器件接收对应于所述第三命令的读取数据;
由所述存储控制器的纠错码ECC引擎对所述读取数据执行纠错;以及
基于所述纠错来产生所述存储区域的真实错误计数数据,
其中,基于所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:基于所述真实错误计数数据以及所述第一错误计数值和所述第二错误计数值来确定所述后续操作。
5.根据权利要求4所述的方法,其中,基于所述真实错误计数数据以及所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:
当所述第一错误计数值与所述第二错误计数值之间的差值大于参考偏差值时,基于所述第一错误计数值和所述第二错误计数值来确定所述后续操作;以及
当所述第一错误计数值与所述第二错误计数值之间的差值小于或等于所述参考偏差值时,基于所述真实错误计数数据来确定所述后续操作。
6.根据权利要求1所述的方法,其中,基于所述OVS计数数据来确定针对所述第一读取电压的所述第一错误计数值和针对所述第二读取电压的所述第二错误计数值包括:
将所述OVS计数数据的第一计数值应用于第一函数模型以确定所述第一错误计数值;以及
将所述OVS计数数据的第二计数值应用于第二函数模型以确定所述第二错误计数值。
7.根据权利要求6所述的方法,其中,所述第一函数模型包括所述第一计数值与所述第一错误计数值之间的非线性对应关系的信息。
8.根据权利要求6所述的方法,其中,所述第一函数模型包括所述第一计数值与所述第一错误计数值之间的线性对应关系的信息。
9.根据权利要求6所述的方法,其中,所述第一函数模型由所述存储控制器的机器学习设备基于多对针对所述第一读取电压的OVS计数值和针对所述第一读取电压的错误计数值来确定,以及
其中,所述第二函数模型由所述存储控制器的机器学习设备基于多对针对所述第二读取电压的OVS计数值和针对所述第二读取电压的错误计数值来确定。
10.根据权利要求1所述的方法,其中,基于所述OVS计数数据来确定针对所述第一读取电压的所述第一错误计数值和针对所述第二读取电压的所述第二错误计数值包括:基于所述OVS计数数据来确定所述存储区域的预测分布类型以及所述第一错误计数值和所述第二错误计数值,以及
其中,基于所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:基于所述预测分布类型以及所述第一错误计数值和所述第二错误计数值来确定所述后续操作。
11.根据权利要求10所述的方法,其中,基于所述预测分布类型以及所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:
基于所述第一错误计数值和所述第二错误计数值来确定是否满足所述存储区域的读取回收条件;
当确定满足所述读取回收条件时,确定所述预测分布类型是否是预编程类型;以及
当确定所述预测分布类型不是所述预编程类型时,向所述非易失性存储器件输出包括对所述存储区域的读取回收请求的第二命令。
12.根据权利要求1所述的方法,还包括:
在输出所述第一命令之前,开始随机间隔相邻检查RINC操作;以及
在输出所述第一命令之前,基于所开始的RINC操作向所述非易失性存储器件输出包括对所述存储区域的OVS读取请求的第三命令。
13.根据权利要求1所述的方法,其中,所述第一计数值包括:
第一低区计数值,所述第一低区计数值是对所述存储区域的多个存储单元中的包括在所述第一读取电压的低区中的存储单元的数量进行计数的结果;以及
第一高区计数值,所述第一高区计数值是对所述存储区域的所述多个存储单元中的包括在所述第一读取电压的高区中的存储单元的数量进行计数的结果;以及
其中,所述第二计数值包括:
第二低区计数值,所述第二低区计数值是对所述存储区域的所述多个存储单元中的包括在所述第二读取电压的低区中的存储单元的数量进行计数的结果;以及
第二高区计数值,所述第二高区计数值是对所述存储区域的所述多个存储单元中的包括在所述第二读取电压的高区中的存储单元的数量进行计数的结果。
14.根据权利要求1所述的方法,其中,所述第一读取电压和所述第二读取电压对应于相同的逻辑页。
15.根据权利要求1所述的方法,其中,所述非易失性存储器件的所述存储区域以三级单元TLC或四级单元QLC来实现,所述OVS计数数据还包括第三读取电压的第三计数值,并且所述第一读取电压、所述第二读取电压以及所述第三读取电压对应于相同的逻辑页,
其中,基于所述OVS计数数据来确定针对所述第一读取电压的所述第一错误计数值和针对所述第二读取电压的所述第二错误计数值包括:基于所述OVS计数数据来确定针对所述第一读取电压的所述第一错误计数值、针对所述第二读取电压的所述第二错误计数值、以及针对所述第三读取电压的第三错误计数值,以及
其中,基于所述第一错误计数值和所述第二错误计数值来确定所述后续操作包括:基于所述第一错误计数值、所述第二错误计数值以及所述第三错误计数值来确定所述后续操作。
16.一种操作存储设备的方法,所述存储设备包括非易失性存储器件和存储控制器,所述方法包括:
由所述存储控制器向所述非易失性存储器件提供包括对所述非易失性存储器件的存储区域的片上谷搜索OVS读取请求的第一命令;
由所述非易失性存储器件基于所述第一命令来产生所述存储区域的OVS计数数据;
由所述存储控制器向所述非易失性存储器件提供包括对所述OVS计数数据的请求的第二命令;
由所述非易失性存储器件基于所述第二命令向所述存储控制器提供所述OVS计数数据;
由所述存储控制器基于所述OVS计数数据来产生所述存储区域的错误计数数据;
由所述存储控制器基于所述错误计数数据来确定是否满足所述存储区域的读取回收条件;以及
当确定满足所述读取回收条件时,由所述存储控制器向所述非易失性存储器件输出包括对所述存储区域的读取回收请求的第三命令。
17.根据权利要求16所述的方法,其中,由所述非易失性存储器件基于所述第一命令来产生所述存储区域的OVS计数数据包括:由所述非易失性存储器件基于所述第一命令来产生所述OVS计数数据,所述OVS计数数据包括第一读取电压的第一计数值和第二读取电压的第二计数值,
其中,由所述存储控制器基于所述OVS计数数据来产生所述存储区域的错误计数数据包括:由所述存储控制器基于所述OVS计数数据的第一计数值和第二计数值来产生所述错误计数数据,所述错误计数数据包括针对所述第一读取电压的第一错误计数值和针对所述第二读取电压的第二错误计数值,以及
其中,所述第一读取电压和所述第二读取电压对应于相同的逻辑页。
18.一种存储控制器,包括:
片上谷搜索OVS管理模块,被配置为管理非易失性存储器件的存储区域的OVS读取操作;
命令产生器,被配置为在所述OVS管理模块的控制下产生包括OVS读取请求的第一命令和包括对OVS计数数据的请求的第二命令;
错误预测器,被配置为基于作为对所述第二命令的响应而从所述非易失性存储器件接收的所述OVS计数数据来产生所述存储区域的错误计数数据;以及
读取回收模块,被配置为基于所述错误计数数据来确定是否满足所述存储区域的读取回收条件,
其中,当确定满足所述读取回收条件时,所述读取回收模块还被配置为产生对所述存储区域的读取回收请求,以及
其中,所述命令产生器还被配置为在所述读取回收模块的控制下产生包括所述读取回收请求的第三命令。
19.根据权利要求18所述的存储控制器,还包括:
纠错码ECC引擎,被配置为:基于作为对所述第一命令的响应而从所述非易失性存储器件接收的读取数据来执行纠错,并基于所述纠错来产生所述存储区域的真实错误计数数据,
其中,所述读取回收模块还被配置为:基于所述错误计数数据和所述真实错误计数数据来确定是否满足所述存储区域的读取回收条件。
20.根据权利要求18所述的存储控制器,还包括:
类型确定器,被配置为:基于作为对所述第二命令的响应而从所述非易失性存储器件接收的所述OVS计数数据来确定所述存储区域的预测分布类型,
其中,所述读取回收模块还被配置为:
当确定满足所述读取回收条件时,确定所述存储区域的预测分布类型是否是预编程类型;以及
当确定所述存储区域的预测分布类型不是所述预编程类型时,产生所述存储区域的读取回收请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210131025A KR102491655B1 (ko) | 2021-10-01 | 2021-10-01 | 에러 카운트를 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
KR10-2021-0131025 | 2021-10-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115938440A true CN115938440A (zh) | 2023-04-07 |
Family
ID=85101504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210858214.7A Pending CN115938440A (zh) | 2021-10-01 | 2022-07-20 | 确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11817170B2 (zh) |
KR (1) | KR102491655B1 (zh) |
CN (1) | CN115938440A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240045754A1 (en) * | 2022-08-03 | 2024-02-08 | Micron Technology, Inc. | Classification-based error recovery with reinforcement learning |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7486561B2 (en) | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
KR102038408B1 (ko) | 2012-10-25 | 2019-10-30 | 삼성전자주식회사 | 회귀 분석법을 사용하는 메모리 시스템 및 그것의 읽기 방법 |
KR102233074B1 (ko) | 2014-10-08 | 2021-03-30 | 삼성전자주식회사 | 저장 장치 및 그것의 신뢰성 검증 방법 |
KR102250423B1 (ko) | 2015-01-13 | 2021-05-12 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
KR102277521B1 (ko) | 2015-01-23 | 2021-07-16 | 삼성전자주식회사 | 저장 장치 및 그것의 리드 리클레임 및 읽기 방법 |
KR102643916B1 (ko) | 2016-10-18 | 2024-03-08 | 삼성전자주식회사 | 스토리지 장치, 메모리 시스템, 및 그것의 읽기 전압 결정 방법 |
KR102375060B1 (ko) * | 2016-10-18 | 2022-03-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102656190B1 (ko) | 2016-11-24 | 2024-04-11 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법 |
KR102663813B1 (ko) * | 2017-01-13 | 2024-05-07 | 삼성전자주식회사 | 최적의 읽기 전압으로 독출하는 불휘발성 메모리 장치 |
KR102224564B1 (ko) * | 2017-03-29 | 2021-03-09 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR102635348B1 (ko) * | 2018-01-09 | 2024-02-13 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 및 스토리지 장치 |
US10140040B1 (en) | 2017-05-25 | 2018-11-27 | Micron Technology, Inc. | Memory device with dynamic program-verify voltage calibration |
KR102395196B1 (ko) | 2017-10-17 | 2022-05-06 | 삼성전자주식회사 | 파라미터 교정 기능을 갖는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
KR102419895B1 (ko) | 2018-02-09 | 2022-07-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이의 읽기 방법 |
KR102658792B1 (ko) * | 2018-09-21 | 2024-04-18 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법 |
KR102634338B1 (ko) | 2018-10-08 | 2024-02-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102608958B1 (ko) * | 2018-11-19 | 2023-12-01 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
KR20200125231A (ko) * | 2019-04-26 | 2020-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200139044A (ko) * | 2019-06-03 | 2020-12-11 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
KR20200139573A (ko) | 2019-06-04 | 2020-12-14 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210001414A (ko) | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법 |
US11003383B2 (en) | 2019-07-17 | 2021-05-11 | Micron Technology, Inc. | Estimation of read level thresholds using a data structure |
US11100990B2 (en) | 2019-07-19 | 2021-08-24 | Samsung Electronics Co., Ltd. | Memory device for avoiding multi-turn on of memory cell during reading, and operating method thereof |
KR20210082875A (ko) | 2019-12-26 | 2021-07-06 | 삼성전자주식회사 | 머신 러닝을 이용한 비휘발성 메모리 장치의 동작 제어 방법 및 스토리지 시스템 |
KR20210100265A (ko) | 2020-02-06 | 2021-08-17 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20210108208A (ko) * | 2020-02-25 | 2021-09-02 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2021
- 2021-10-01 KR KR1020210131025A patent/KR102491655B1/ko active IP Right Grant
-
2022
- 2022-04-19 US US17/723,959 patent/US11817170B2/en active Active
- 2022-07-20 CN CN202210858214.7A patent/CN115938440A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230103694A1 (en) | 2023-04-06 |
US11817170B2 (en) | 2023-11-14 |
KR102491655B1 (ko) | 2023-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101927212B1 (ko) | 비휘발성 메모리 장치의 프로그래밍 방법 | |
KR102284658B1 (ko) | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
CN106486163B (zh) | 非易失性存储器件、包括其的数据储存设备及其操作方法 | |
CN108694989B (zh) | 存储设备及其坏块指派方法 | |
KR102451154B1 (ko) | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법 | |
US9424942B2 (en) | Reduced timing and read verifying operation for non-volatile memory device | |
JP2023025687A (ja) | メモリ装置およびその動作方法 | |
US8203886B2 (en) | Memory device reference cell programming method and apparatus | |
CN115938440A (zh) | 确定错误计数的存储控制器、操作其的方法以及操作包括其的存储设备的方法 | |
CN112037837B (zh) | 存储器系统、存储器控制器和存储器设备 | |
US10998057B2 (en) | Storage device and method of operating the same | |
US11061615B2 (en) | Memory system, memory controller and operating method thereof | |
EP4160603A1 (en) | Storage controller determining error count, method of operating the same, and method of operating storage device including the same | |
EP4152332A1 (en) | Storage controller determining distribution type, method of operating the same, and method of operating storage device including the same | |
KR102491652B1 (ko) | 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
EP4198988A1 (en) | Storage controller using history data, method of operating the same, and method of operating storage device including the same | |
US20230187002A1 (en) | Storage controller using history data, method of operating the same, and method of operating storage device including the same | |
US20240078018A1 (en) | Storage devices calculating a wordline gap value, and methods of operating the same | |
US20240079073A1 (en) | Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof | |
EP4336507A1 (en) | Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof | |
US20220310168A1 (en) | Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device | |
US20240046993A1 (en) | Non-volatile memory device determining read reclaim, method of operating the same, and method of operating storage device including the same | |
US10990476B2 (en) | Memory controller and method of operating the same | |
US20240012569A1 (en) | Storage controller receiving read data and distribution information, method of operating the same, and method of operating storage device including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |