掌桥专利:专业的专利平台
掌桥专利
首页

基于错误率分类对存储器系统的数据完整性操作的动态调整

文献发布时间:2023-06-19 12:27:31


基于错误率分类对存储器系统的数据完整性操作的动态调整

技术领域

本文公开的至少一些实施例大体来说涉及存储器系统,且更明确地说涉及(但不限于)具有基于错误率分类对数据完整性操作的动态调整的存储器系统。

背景技术

存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。

发明内容

本公开的一方面提供一种存储器子系统,其中所述存储器子系统包括:处理装置;以及至少一个存储器组件,所述存储器组件围封在集成电路封装中,所述存储器组件具有:形成于集成电路裸片上的存储器单元的群组;以及校准电路;其中所述处理装置被配置成将从地址检索数据的命令发射到所述存储器组件;其中响应于所述命令且在所述命令的执行期间,所述校准电路被配置成测量与从所述存储器单元群组检索的经编码数据相关联的所述存储器单元群组的信号和噪声特性;其中所述存储器子系统具有可用于处理所述经编码数据的数据完整性分类器和多个选项;其中所述数据完整性分类器被配置成基于所述信号和噪声特性生成预测;且其中所述存储器子系统被配置成基于所述预测从所述多个选项中选择选项,且使用选定选项解码所述经编码数据。

本公开的另一方面提供一种方法,其中所述方法包括:由存储器子系统中的处理装置将从地址检索经编码数据的命令发射到所述存储器子系统的存储器组件;响应于所述命令且在所述存储器组件中所述命令的执行期间,使用围封在集成电路封装中的所述存储器组件的校准电路测量形成于集成电路裸片上的存储器单元群组的信号和噪声特性;由配置于所述存储器子系统中的数据完整性分类器基于所述信号和噪声特性生成预测;由所述存储器子系统基于所述预测从所述多个选项中选择选项;以及使用选定选项解码所述经编码数据。

本公开的另一方面提供一种存储指令的非暂时性计算机存储介质,所述指令当由计算系统执行时致使所述计算系统执行一种方法,所述方法包括:由存储器子系统中的处理装置将从地址检索经编码数据的命令发射到所述存储器子系统的存储器组件,其中响应于所述命令且在所述命令的执行期间,所述存储器组件的校准电路测量形成于集成电路裸片上的存储器单元群组的信号和噪声特性;从所述存储器组件接收所述信号和噪声特性作为对所述命令的响应;由配置于所述存储器子系统中的数据完整性分类器基于所述信号和噪声特性生成预测;以及由所述存储器子系统基于所述预测从所述多个选项中选择用于处理从所述存储器单元群组检索的所述经编码数据的选项。

附图说明

借助于实例而非限制在附图的各图中示出实施例,在附图中相似参考指示类似元件。

图1示出根据本公开的一些实施例具有存储器子系统的实例计算系统。

图2示出根据一个实施例具有被配置成测量信号和噪声特性的校准电路的集成电路存储器装置。

图3展示根据一个实施例测量信号和噪声特性以改进存储器操作的实例。

图4示出根据一个实施例的数据完整性分类器,其确定从存储器装置检索的数据中的数据完整性故障的概率以动态地配置错误检测和数据恢复的操作。

图5展示存储器子系统基于与从存储器单元检索的数据相关联的信号和噪声特性的分类来控制数据完整性操作的方法。

图6是本公开的实施例可在其中操作的实例计算机系统的框图。

具体实施方式

本公开的至少一些方面是针对一种存储器子系统,其具有数据完整性分类器,所述数据完整性分类器被配置成确定从存储器单元检索的数据的错误率分类,从而允许存储器子系统基于错误率分类动态地调整错误检测和恢复操作。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。

集成电路存储器单元(例如,快闪存储器单元)可在阈值电压下被编程为借助于其状态来存储数据。举例来说,如果存储器单元在阈值电压下被配置/编程在允许大量电流通过存储器单元的状态中,则存储器单元正存储位一;且否则,存储器单元正存储位零。此外,存储器单元可通过在多个阈值电压下以不同方式被配置/编程而存储多个数据位。举例来说,存储器单元可通过在多个阈值电压下具有状态的组合而存储多个数据位;且可解译阈值电压下存储器单元的状态的不同组合以表示存储于存储器单元中的数据位的不同状态。

然而,在使用写入操作配置/编程集成电路存储器单元的状态以将数据存储在存储器单元中之后,用于读取存储器单元的经优化阈值电压可归因于例如电荷损失、读取干扰、交叉温度效应(例如,不同操作温度下的写入和读取)等若干因素而移位,尤其是在存储器单元被编程为存储多个数据位时。

数据可用冗余信息来编码以便于错误检测和恢复。当用冗余信息编码的数据存储于存储器子系统中时,存储器子系统可检测从存储器子系统检索的原始经编码数据中的错误,和/或恢复用于生成供存储在存储器子系统中的经编码数据的原始未经编码数据。当从存储器子系统检索的原始经编码数据含有小于阈值量的错误或经编码数据中的位错误率低于阈值时,恢复操作可以是成功的(或具有高成功概率)。举例来说,可使用例如错误校正码(ECC)、低密度奇偶校验(LDPC)码等技术来执行错误检测和数据恢复。

一些错误检测和数据恢复操作可能在具有相对大量错误的经编码数据中成功地识别出无差错结果,以相对大量的功率消耗和/或相对较长的计算时间为代价。其它错误检测和数据恢复操作可以较少功率消耗和/或短计算时间恢复相对少量的错误。

一直使用常规校准电路系统来自行校准存储器区,方式是施加读取电平信号以考虑存储器区内的存储器单元的阈值电压的移位。在校准期间,校准电路系统被配置成将不同测试信号施加到存储器区以对针对测试信号输出指定数据状态的存储器单元的数目进行计数。基于所述计数,校准电路系统确定读取电平偏移值作为对校准命令的响应。

本公开的至少一些方面通过以下方式解决上述缺陷及其它缺陷:基于从由存储器装置针对存储器装置中的存储器单元测得的信号和噪声特性生成的数据完整性分类或位错误率分类动态地配置错误检测和数据恢复操作。

举例来说,可经由机器学习生成预测模型以对从存储器单元集接收的原始数据中的错误率进行分类或预测。可在从存储器装置中的存储器单元读取原始数据期间,通过预测模型基于由存储器装置测得的信号和噪声特性来生成分类。当错误率被分类为在低类别中时,存储器子系统使用低功率ECC解码器和/或跳过ECC解码。当错误率被分类为在高类别中时,存储器子系统使用高功率ECC解码器。举例来说,高功率ECC解码器不仅可使用硬位数据,而且使用软位数据来恢复存储于存储器单元中的无差错原始数据。举例来说,硬位数据是在经优化或控制器指定的读取电压下从存储器单元读取的经编码数据;且软位数据是在具有相对于经优化或控制器指定的读取电压的预定偏移的电压下读取的经编码数据。

举例来说,由校准电路系统测得的计数和/或其相关联数据可用作用于预测模型的信号和噪声特性。此外,可针对子区并行地测量此些信号和噪声特性以缩短用于测量信号和噪声特性的总时间。

图1示出根据本公开的一些实施例包含存储器子系统110的实例计算系统100。存储器子系统110可包含介质,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或它们的组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。

计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置的计算装置。

计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到……”或“与……耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,不具有中间组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。

主机系统120可包含处理器芯片组(例如,处理装置118)和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓冲存储器、存储器控制器(例如,控制器116)(例如,NVDIMM控制器),以及存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如,将数据写入到存储器子系统110以及从存储器子系统110读取数据。

主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双数据速率(DDR)、低功率双数据速率(LPDDR),或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1示出存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独的通信连接和/或通信连接的组合存取多个存储器子系统。

主机系统120的处理装置118可例如为微处理器、中央处理单元(CPU)、处理器的处理核心、执行单元等。在一些情况下,控制器116可称作存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器116控制耦合在主机系统120与存储器子系统110之间的总线上的通信。通常,控制器116可向存储器子系统110发送期望存取存储器装置130、140的命令或请求。控制器116可进一步包含用于与存储器子系统110通信的接口电路系统。接口电路系统可将从存储器子系统110接收到的响应转换成用于主机系统120的信息。

主机系统120的控制器116可与存储器子系统110的控制器115通信以执行操作,例如在存储器装置130、140处读取数据、写入数据或擦除数据以及其它此类操作。在一些情况下,控制器116集成于处理装置118的同一封装内。在其它情况下,控制器116与处理装置118的封装分离。控制器116和/或处理装置118可包含硬件,例如一或多个集成电路(IC)和/或离散组件、缓冲存储器、高速缓冲存储器或其组合。控制器116和/或处理装置118可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。

存储器装置130、140可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器组件的一些实例包含与非(或NOT AND)(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含(例如)二维NAND(2D NAND)和三维NAND(3D NAND)。

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,和MLC部分、TLC部分或QLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。

尽管描述了非易失性存储器装置,例如3D交叉点型和NAND型存储器(例如,2DNAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器和电可擦除可编程只读存储器(EEPROM)。

存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作(例如,响应于控制器116在命令总线上调度的命令)。控制器115可包含硬件,例如一或多个集成电路(IC)和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路系统以执行本文所描述的操作。控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。

控制器115可包含被配置成执行存储在本地存储器119中的指令的处理装置117(处理器)。在所示出的实例中,控制器115的本地存储器119包含被配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流和例程。

在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已示出为包含控制器115,但在本公开的另一实施例中,存储器子系统110不包含控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。

通常,控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所要存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)和物理地址(例如,物理块地址)之间的地址转译。控制器115可进一步包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路系统可以将从主机系统接收到的命令转换成存取存储器装置130的命令指令,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。

存储器子系统110还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统110可以包含高速缓冲存储器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器装置130。

在一些实施例中,存储器装置130包含本地介质控制器150,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,执行存储器装置130上的介质管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地控制器150)组合以在同一存储器装置封装内进行介质管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

控制器115可包含数据完整性分类器113,其可使用由存储器组件130针对存储器单元测得的信号和噪声特性对从存储器单元检索的原始数据中的错误率进行分类、预测、估计或确定所述错误率的程度。在一些实施例中,存储器子系统110中的控制器115包含数据完整性分类器113的至少一部分。在其它实施例中,或以组合方式,主机系统120中的控制器116和/或处理装置118包含数据完整性分类器113的至少一部分。举例来说,控制器115、控制器116和/或处理装置118可包含实施数据完整性分类器113的逻辑电路系统。举例来说,控制器115或主机系统120的处理装置118(处理器)可被配置成执行存储于存储器中的指令以用于执行本文中所描述的数据完整性分类器113的操作。在一些实施例中,数据完整性分类器113实施于安置于存储器子系统110中的集成电路芯片中。在其它实施例中,数据完整性分类器113可以是存储器子系统110的固件、主机系统120的操作系统、装置驱动器,或应用,或其任何组合的部分。

数据完整性分类器113可接收由存储器装置130针对存储器装置130中的存储器单元测得和提供的信号和噪声特性,且处理所述信号和噪声特性以生成指示从存储器装置130中的存储器单元检索的原始数据中的错误水平的分类。基于所述分类,控制器115可动态地调整错误检测和恢复操作以改进存储器子系统110的性能(例如,减少功率消耗,和/或缩短读取操作中的时延)。

图2示出根据一个实施例具有被配置成测量信号和噪声特性的校准电路145的集成电路存储器装置130。举例来说,图1的存储器子系统110中的存储器装置130可使用图2的集成电路存储器装置130来实施。

集成电路存储器装置130可围封在单个集成电路封装中。集成电路存储器装置130包含可形成于一或多个集成电路裸片中的存储器单元的多个群组131、...、133。群组131、...、133中的典型的存储器单元可被编程为存储一或多个数据位。

集成电路存储器装置130中的一些存储器单元可被配置成一起操作以用于特定类型的操作。举例来说,集成电路裸片上的存储器单元可组织成平面、块和页。平面含有多个块;块含有多个页;且页可具有多个存储器单元串。举例来说,集成电路裸片可以是可独立地执行命令或报告状态的最小单位;可在集成电路裸片中的多个平面上并行地执行相同的并发操作;块可以是用以执行擦除操作的最小单位;且页可以是用以执行数据编程操作(将数据写入到存储器单元中)的最小单位。每一串的存储器单元连接到共同位线;且块或页中的串中的相同位置处的存储器单元的控制栅极连接到共同字线。控制信号可施加到字线和位线以对个别存储器单元进行寻址。

集成电路存储器装置130具有通信接口147以从存储器子系统110的控制器115接收地址135,且提供从存储器地址135检索的数据137。集成电路存储器装置130的地址解码器141将地址135转换为控制信号以选择集成电路存储器装置130中的存储器单元;且集成电路存储器装置130的读取/写入电路143执行操作以确定存储于被寻址存储器单元中的数据,或对存储器单元进行编程以具有对应于存储数据137的状态。

集成电路存储器装置130具有校准电路145,其被配置成确定群组(例如,131、...或133)中的存储器单元的信号和噪声特性139的测量值,且经由通信接口147将信号和噪声特性139提供到存储器子系统110的控制器115。

在至少一些实施例中,校准电路145还经由通信接口147向控制器115提供测得的信号和噪声特性139以确定读取电平偏移值。在一些实施例中,读取电平偏移值可用于理解、量化或估计信号和噪声特性139。在其它实施例中,在一或多个测试电压下具有特定状态的群组或区中的存储器单元的统计数据可提供为信号和噪声特性139。

举例来说,校准电路145可通过借助于改变用于读取存储器单元的操作参数(例如,从存储器单元读取数据的操作期间施加的电压)从群组(例如,131、...、133)中的存储器单元读取不同响应来测量信号和噪声特性139。

举例来说,校准电路145可当执行从地址135读取数据137的命令时在运行中测量信号和噪声特性139。因为信号和噪声特性139作为从地址135读取数据137的操作的一部分而测量,所以信号和噪声特性139可从集成电路存储器装置130提供到控制器115,而对从地址135读取数据137的命令的执行过程中的时延的惩罚减小或为零。

存储器子系统110的控制器115的数据完整性分类器113被配置成使用信号和噪声特性139来生成数据137的错误率分类。

举例来说,数据完整性分类器113可使用经由机器学习训练的预测模型来预测从存储器单元的群组(例如,131或133)检索的数据137未能通过数据完整性测试的概率。举例来说,当数据137未能解码时,其未能通过数据完整性测试。可实际上基于信号和噪声特性139作出预测。在使用错误校正码(ECC)和/或低密度奇偶校验(LDPC)码作出进行测试之前,乃至在数据137传递到解码器之前,数据完整性分类器113使用信号和噪声特性139来预测测试的结果。基于所预测的测试结果,可选择和执行具有减少的功率消耗和/或时延的用于错误检测和/或恢复的经优化操作。

举例来说,基于预测的结果,可采取用于数据137的处理的若干条件路径中的一个。

举例来说,在一个条件路径中,当数据137被分类在有可能未能通过测试(例如,具有高错误率)的类别中时,可丢弃数据137;且可指示存储器装置130以另一经优化的读取电压重新尝试从地址读取数据137。

举例来说,在另一条件路径中,当数据137被分类在有可能通过测试(例如,具有低错误率)的类别中时,数据137可被传递到解码器,所述解码器使用硬位数据来提供被编码以存储于存储器装置130中的原始数据。

举例来说,在另一条件路径中,当数据137被分类在有可能需要软位数据来通过测试(例如,具有中间错误率)的类别中时,数据137可被传递到解码器,所述解码器使用硬位数据和软位数据两者来恢复经编码以存储于存储器装置130中的原始数据。如果软位数据尚不可用,则可指示存储器装置130为解码器读取软位数据来补充数据137。

因此,当预测模型预测故障时,存储器子系统110可起始读取重试或读取校准,而不必等待完成ECC和/或LDPC操作;且存储器子系统110可跳过待译码数据的传递,跳过解码操作,和/或中止正在进行中的解码操作。因此,存储器子系统110的总体性能得以改进。

预测模型可被配置成使用由校准电路145在存储器单元群组(例如,131或133)上执行的读取操作期间测得的存储器单元群组(例如,131或133)的信号和噪声特性139。举例来说,可使用从类似存储器装置收集的数据预训练预测模型,且任选地针对存储器子系统基于ECC和/或LDPC操作的结果经由强化学习在现场进一步训练预测模型。举例来说,当预测结果不同于从ECC和/或LDPC操作生成的实际测试结果时,可应用强化学习技术来训练预测模型以生成与实际测试结果匹配的预测。

可选地,预测模型和/或数据完整性分类器113可配置于存储器装置130上。当预测ECC和/或LDPC故障时,存储器装置130可向控制器115建议读取重试,且预测性地起始读取重试,而不必等待来自控制器115的确认。此起始读取重试的预测性操作可缩短读取重试的时延且改进存储器子系统110的性能。

通常,数据完整性分类器113可实施于控制器115和/或存储器装置130中。由数据完整性分类器113基于信号和噪声特性生成的预测可用于起始各种处理路径,其中每一路径可被配置成原子操作。举例来说,可在另一命令占据其中形成存储器单元群组(例如,131或133)的裸片之前立即执行读取重试。

举例来说,基于信号和噪声特性139,数据完整性分类器113可使用其预测模型将所检索原始数据137中的位错误率分类为低、中等或高。如果分类的位错误率为低,则原始数据137可传递到对硬位数据操作的LDPC解码器。此LDPC解码器具有相对低的复杂性和校正能力。在一些实施方案中,可提供多个解码器以在不使用软位数据的情况下解码硬位数据;所述解码器可具有不同的校正能力和功率消耗;且可进一步使用所分类的位错误率来选择所述解码器中的有可能以最小功率消耗成功地解码硬位数据的一个解码器。如果所分类的位错误率为中等,则存储器装置130可立即开始读取软位数据;且可使用对硬位数据和软位数据操作的另一LDPC解码器。

如果所分类的位错误率为高,则存储器装置130可立即开始读取重试,和/或自动读取校准,读取硬位数据和软位数据两者以使用具有相对高复杂性和校正能力的LDPC解码器。

在一些实施例中,数据完整性分类器113不仅生成数据137的位错误率的分类,而且生成所述分类为正确的置信度指示符。还可在从多个条件处理路径选择路径时使用置信度指示符。

图3展示根据一个实施例测量信号和噪声特性139以改进存储器操作的实例。

在图3中,校准电路145施加不同读取电压V

由于读取操作期间施加的不同电压,群组(例如,131、...或133)中的同一存储器单元可展示不同状态。因此,一般来说,在不同读取电压V

校准电路145可通过一次一个地在存储器单元的群组(例如,131、...或133)上施加读取电压V

或者,存储器单元的群组(例如,131、...或133)可被配置成多个子群组;且校准电路145可通过施加读取电压V

在一些实施例中,在从映射到群组(例如,131、...或133)中的一或多个存储器单元的地址135读取数据137的命令的执行期间测量位计数C

邻近电压的位计数之间的差指示在读取群组(例如,133、...或133)中的存储器单元的状态的过程中的错误。

举例来说,依据C

类似地,D

基于计数差D

在一个实施例中,校准电路145计算经优化读取电压V

或者,校准电路145可经由通信接口147向存储器子系统110的控制器115提供计数差D

图3示出生成统计数据集合(例如,位计数和/或计数差)以供在经优化读取电压V

举例来说,控制器115可通过提供地址135和至少一个读取控制参数来指示存储器装置130执行读取操作。举例来说,读取控制参数可以是所建议读取电压。

存储器装置130可通过在读取电压下确定地址135处的存储器单元的状态来执行读取操作,且根据所确定的状态提供数据137。

在读取操作期间,存储器装置130的校准电路145生成信号和噪声特性139。数据137和信号和噪声特性139作为响应从存储器装置130提供到控制器115。或者,可至少部分使用配置于存储器装置130中的逻辑电路系统来执行信号和噪声特性139的处理。举例来说,可使用配置于存储器装置130中的处理逻辑来部分或完全实施数据完整性分类器113。举例来说,可使用在存储器装置130的集成电路裸片上形成于存储器单元阵列下方的互补金属氧化物半导体(CMOS)电路系统来实施处理逻辑。举例来说,处理逻辑可在存储器装置130的集成电路封装内形成在单独的集成电路裸片上,所述单独的集成电路裸片使用硅通孔(TSV)和/或其它连接技术连接到具有存储器单元的集成电路裸片。

可至少部分地基于读取控制参数确定信号和噪声特性139。举例来说,当读取控制参数为用于在地址135处读取存储器单元的所建议读取电压时,校准电路145可计算在所建议读取电压附近的读取电压V

信号和噪声特性139可包含位计数C

可选地,校准电路145使用一种方法依据计数差D

当校准电路145可依据读取操作期间生成的计数差D

可以比集成电路存储器装置130的校准电路145更多的处理功率来配置控制器115。此外,控制器115可具有适用于群组(例如,133、...或133)中的存储器单元的其它信号和噪声特性。因此,一般来说,控制器115可计算经优化读取电压V

一般来说,校准电路145不必以位计数在读取电压集合上的分布的形式或以计数差在读取电压集合上的分布的形式提供信号和噪声特性139。举例来说,校准电路145可提供由校准电路145计算的经优化读取电压V

校准电路145可被配置成生成信号和噪声特性139(例如,位计数或位计数差)作为读取操作的副产物。信号和噪声特性139的生成可在集成电路存储器装置130中实施,相比于不生成信号和噪声特性139的典型读取,对读取操作的时延的影响极少或无影响。因此,校准电路145可有效地将信号和噪声特性139确定为根据来自存储器子系统110的控制器115的命令执行读取操作的副产物。

一般来说,经优化读取电压V

图4示出根据一个实施例的数据完整性分类器113,其确定从存储器装置检索的数据中的数据完整性故障的概率以动态地配置错误检测和数据恢复的操作。举例来说,数据完整性分类器113可使用根据图3测得的信号和噪声特性139实施于图1的存储器子系统110的控制器115中,或图2的集成电路存储器装置130中。

在图4中,当存储器装置130接收地址135以从其存储器单元检索数据137时,存储器装置130测量与数据137相关联的信号和噪声特性139。举例来说,存储器装置130的校准电路145可以如图3中所示出的方式生成统计数据(例如位计数、计数差)和/或从统计数据导出的结果(例如优化读取电压)。

从存储器装置的存储器单元检索的数据137呈允许错误检测和恢复163(例如,使用例如错误校正码(ECC)、低密度奇偶校验(LDPC)码等技术)的已编码格式。可将信号和噪声特性139作为输入提供到数据完整性分类器113以评估数据137具有太多错误的概率,以便通过错误检测和恢复163中的一些或所有处理路径/模块/选项成功地解码数据137。

举例来说,存储器子系统110可包含低功率ECC 171、全功率ECC 173、不使用软位数据的LDPC解码器175、使用硬位数据和软位数据两者来进行解码的LDPC解码器177。一般来说,存储器子系统110中用于解码数据137的可用路径/模块/选项不限于图4中示出的实例(例如,171、173、175、177);可实施不同的处理路径/模块/选项(例如,171、173、175、177);且不同处理路径/模块/选项(例如,171、173、175、177)具有不同的功率消耗水平、不同的从所检索原始数据137恢复无差错原始/未经编码数据的能力,和/或不同的处理时延。

可训练(例如,经由机器学习)数据完整性分类器113以基于相关联信号和噪声特性139预测数据137的数据完整性故障的概率161。

举例来说,数据137的数据完整性故障的概率161可呈数据137中的所估计位错误率的形式。

举例来说,数据137的数据完整性故障的概率161可呈预测的形式,所述预测为:是否可通过处理路径/模块/选项(例如,171、173、175、177)中的任一个成功地解码(例如,经由ECC或LDPC)数据137,且如果是,则哪一(些)处理路径/模块/选项(例如,171、173、175、177)被预测为能够成功地解码具有相关联信号和噪声特性139的数据137。

基于数据137的数据完整性故障的所预测概率161,存储器子系统110可选择处理路径/模块/选项(例如,171、173、175、177)中的具有减小的功率消耗、缩短的处理时延和/或高解码成功概率的一个。

在一些实施例中,训练数据完整性分类器113以直接提供用以处理从存储器装置130的存储器单元检索的经编码数据137的经优化处理路径/模块(例如,171、173、175或177)的预测。

在一些实施例中,训练数据完整性分类器113以提供可成功地解码经编码数据137的处理路径/模块/选项(例如,171、173、175和/或177)的优先化列表的预测。此外,数据完整性分类器113可进一步提供选定的所列处理路径/模块/选项(例如,171、173、175和/或177)成功地解码数据137的置信度水平的指示。

可选地,还可训练数据完整性分类器113以评估预测的置信度水平;且所述置信度水平可以在从可用路径/模块/选项(例如,171、173、175和/或177)选择用于处理从存储器装置130中的存储器单元接收的经编码数据137的选项的过程中使用。

一般来说,数据完整性分类器113可实施于存储器装置130中和/或存储器子系统110的控制器115中。举例来说,一个数据完整性分类器113可实施于存储器装置130中且针对待在存储器装置130中作出的操作决策而定制;且另一数据完整性分类器113可实施于控制器115中且针对待在控制器115中作出的操作决策而定制。举例来说,实施于控制器115中的数据完整性分类器113可不仅使用从存储器装置130接收的数据137的信号和噪声特性139,而且使用存储器装置130中可能不可用的其它信息,例如电荷损失、读取干扰、交叉温度效应、编程/擦除、数据保持等。举例来说,实施于控制器115中的数据完整性分类器113和实施于存储器装置130中的数据完整性分类器113可具有不同的复杂性和/或其预测中的不同精确度水平。可选地,存储器装置130将其预测161提供到控制器115作为用于检索数据137的丰富状态报告的一部分;且控制器115使用由存储器装置130生成的预测161来选择用于解码数据137的路径/模块/选项。在一些实施例中,错误检测和恢复163(或一些路径/模块/选项)实施于存储器装置130中。举例来说,错误检测和恢复163及数据完整性分类器113的处理逻辑可使用在存储器装置130的集成电路裸片上形成于存储器单元阵列下方的互补金属氧化物半导体(CMOS)电路系统来实施。举例来说,处理逻辑可在存储器装置130的集成电路封装内形成在单独的集成电路裸片上,所述单独的集成电路裸片使用硅通孔(TSV)和/或其它连接技术连接到具有存储器单元的集成电路裸片。

举例来说,当数据完整性分类器113实施于存储器装置130中时,数据完整性分类器113的输出可以在控制数据137的检索的过程中使用。

举例来说,当数据完整性分类器113的输出指示有可能使用使用软位数据的解码器(例如,177)解码经编码数据137时,存储器装置130可除读取硬位数据外还自动进一步读取软位数据。然而,如果数据完整性分类器113指示可使用不需要软位数据作为输入的解码器(例如,175)解码经编码数据137,则存储器装置130可跳过读取软位数据的操作和/或将软位数据发射到控制器115的操作。

举例来说,当数据完整性分类器113的输出指示没有可用的路径/模块/选项(例如,171、173、175和/或177)有可能成功地解码数据137时,存储器装置130可自动执行读取重试以搜索改进的读取电压,而无需等待来自控制器115的命令。此外,当数据完整性分类器113的输出指示没有可用的路径/模块/选项(例如,171、173、175和/或177)有可能成功地解码数据137时,存储器装置130可任选地跳过读取数据137。

图5展示存储器子系统110基于与从存储器单元检索的数据137相关联的信号和噪声特性113的分类来控制数据完整性操作的方法。图5的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件/固件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图5的方法至少部分由图1的控制器115或图2的存储器装置130中的处理逻辑来执行。虽然以特定序列或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解所说明实施例仅为实例,且所说明过程可以不同次序执行,且一些过程可并行地执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每个实施例中需要所有的过程。其它过程流程也是可能的。

举例来说,图5的方法可利用图2的存储器装置和图3中示出的信号噪声特性以图4中示出的操作实施于图1的计算系统中。

在框301处,存储器子系统110中的处理装置(例如,115)将从地址135检索经编码数据137的命令发射到存储器子系统110的存储器装置130。

举例来说,数据137可呈经编码形式以供存储在存储器装置130的存储器单元中以改进可靠性。经编码数据137具有冗余信息,这允许解码器检测错误和/或在所检索的经编码数据137中的错误的量不超过阈值时无错误地恢复原始数据。举例来说,可经由错误校正码或低密度奇偶校验码对数据进行编码/解码。

在框303处,响应于命令且在存储器装置130中的命令的执行期间,围封在集成电路封装中的存储器装置130的校准电路145测量形成于集成电路裸片上的存储器单元的群组(例如,131或133)的信号和噪声特性139。

举例来说,校准电路145至少部分形成在集成电路裸片上,或围封在集成电路封装中的另一集成电路裸片上。

举例来说,信号和噪声特性139可包含不同操作参数下的存储器单元的统计数据,所述不同操作参数例如被施加以读取群组(例如,131或133)中的存储器单元的不同电压。

举例来说,统计数据可包含当不同电压(例如,V

举例来说,存储器单元的预定状态可以是当相应读取电压施加于存储器单元上时存储器单元大体上导电(例如,具有大量电流通过存储器单元)的状态。或者,存储器单元的预定状态可以是当相应读取电压施加于存储器单元上时存储器单元大体上不导电(例如,没有大量电流通过存储器单元)的状态。

在框305处,配置于存储器子系统110中的数据完整性分类器113基于信号和噪声特性139生成预测(例如,181)。

在框307处,存储器子系统110基于所述预测从多个选项中选择用以对数据137进行解码的选项。

举例来说,所述预测可基于机器学习以识别经编码数据137中的位错误率的水平,识别所述选项,和/或识别选项未能解码或成功地解码从存储器装置检索的经编码数据137的概率。所述预测可包含预测的置信度。

在框309处,使用选定选项解码经编码数据。

举例来说,所述多个选项可包含具有不同复杂性水平、采取不同输入、使用不同功率量来解码,和/或具有解码过程中的不同时延量的解码器。所述多个选项可包含指示存储器装置130在地址135处重试读取,而不必解码经编码数据137,不必发射经编码数据137,和/或不必从存储器装置130中的存储器单元读取数据137。

举例来说,所述多个选项可包含第一解码器的使用和在操作中消耗比第一解码器更多的能量的第二解码器的使用。

不同解码器可在其解码操作中使用不同数据量。举例来说,第二解码器(例如,177)使用在读取电压下从存储器单元群组确定的硬位数据和在相对于读取电压具有预定偏移的电压下从存储器单元群组确定的软位数据两者;且第一解码器(例如,175)使用硬位数据,而不使用软位数据。

可选地,校准电路145被配置成基于信号和噪声特性139计算用于确定硬位数据的读取电压(例如,V

数据完整性分类器113可实施于存储器子系统110的控制器115中和/或存储器装置130中。

当数据完整性分类器113实施于存储器装置130中时,存储器装置130可基于由其数据完整性分类器113生成的预测确定是否执行读取软位数据的操作。

当经由存储器子系统110的处理装置117实施数据完整性分类器113时,存储器子系统110可被配置成当预测指示存储器子系统110中可用的解码器未能解码经编码数据137时指示存储器装置130执行读取重试,而不必等待来自解码器的结果和/或不必将经编码数据发送到任何解码器。

当经由存储器子系统110的处理装置(例如,115)实施数据完整性分类器113时,存储器子系统110可被配置成当预测指示第二解码器(例如,117)将用于解码经编码数据时指示存储器装置130提供软位数据。

数据完整性分类器113可包含被配置成软件和/或固件的指令。举例来说,处理装置117可执行数据完整性分类器113以执行上文论述的方法。

非暂时性计算机存储介质可用于存储存储器子系统(例如,113)的固件的指令。当指令由控制器115和/或处理装置117执行时,所述指令致使控制器115和/或处理装置117执行上文所论述的方法。

图6示出计算机系统400的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统400可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行数据完整性分类器113的操作(例如,执行指令以执行对应于参考图1-5描述的数据完整性分类器113的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。

机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够(循序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但术语“机器”还应理解为包含机器的任何集合,所述机器个别地或联合地执行一(或多)个指令集以执行本文中所论述的方法中的任何一或多种。

实例计算机系统400包含处理装置402、主存储器404(例如,只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等)以及数据存储系统418,它们经由总线430(其可包含多个总线)彼此通信。

处理装置402表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置402也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置402被配置成执行用于执行本文中所论述的操作和步骤的指令426。计算机系统400可进一步包含网络接口装置408以在网络420上通信。

数据存储系统418可以包含机器可读存储介质424(也称为计算机可读介质),其上存储有一或多个指令集426或体现本文中所描述的任何一或多种方法或功能的软件。指令426还可在其由计算机系统400执行期间完全或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402也构成机器可读存储介质。机器可读存储介质424、数据存储系统418和/或主存储器404可对应于图1的存储器子系统110。

在一个实施例中,指令426包含实施对应于数据完整性分类器113(例如,参考图1-5描述的数据完整性分类器113)的功能性的指令。尽管在实例实施例中机器可读存储介质424展示为单个介质,但术语“机器可读存储介质”应理解为包含存储所述一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应被理解为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一或多种的任何介质。术语“机器可读存储介质”应相应地被理解为包含(但不限于)固态存储器、光学介质和磁性介质。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起所期望的结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、要素、符号、字符、项、数字等等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅是应用于这些量的便利的标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本发明还涉及一种用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储介质中,例如(但不限于)任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。

本文中呈现的算法和显示在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。

本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读介质。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、快闪存储器组件等。

在本说明书中,各种功能和操作被描述为由计算机指令执行或由计算机指令引起以简化描述。然而,所属领域的技术人员将认识到,此类表达的意图在于,所述功能因一或多个控制器或处理器(例如,微处理器)执行计算机指令而产生。替代地或组合地,所述功能和操作可使用具有或不具有软件指令的专用电路系统来实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可使用无软件指令的硬接线电路系统或结合软件指令来实施实施例。因此,技术不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。

在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

相关技术
  • 基于错误率分类对存储器系统的数据完整性操作的动态调整
  • 基于存储器子系统操作要求的可调整存储器操作设置
技术分类

06120113299537