CN113344020A - 从存储器单元检索的数据的错误率的分类 - Google Patents
从存储器单元检索的数据的错误率的分类 Download PDFInfo
- Publication number
- CN113344020A CN113344020A CN202110219748.0A CN202110219748A CN113344020A CN 113344020 A CN113344020 A CN 113344020A CN 202110219748 A CN202110219748 A CN 202110219748A CN 113344020 A CN113344020 A CN 113344020A
- Authority
- CN
- China
- Prior art keywords
- memory
- feature
- signal
- noise characteristics
- memory cells
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 285
- 239000002131 composite material Substances 0.000 claims abstract description 55
- 230000006870 function Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 55
- 238000003066 decision tree Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 16
- 238000012360 testing method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002277 temperature effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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/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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/01—Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/015—Simulation or testing of codes, e.g. bit error rate [BER] measurements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/612—Aspects specific to channel or signal-to-noise ratio estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及从存储器单元检索的数据的错误率的分类。一种存储器子系统被配置成:测量存储器装置中的存储器单元群组的信号和噪声特性的多个集合;分别依据信号和噪声特性的所述多个集合确定所述存储器单元群组的多个经优化读取电压;依据信号和噪声特性的所述多个集合生成特征,包含依据信号和噪声特性的所述多个集合生成的至少一个复合特征;使用所述特征生成从所述存储器单元群组可检索的数据的位错误率的分类;以及基于所述分类控制读取所述存储器单元群组的操作。
Description
技术领域
本文中所公开的至少一些实施例大体上涉及存储器系统,且更明确地说涉及(但不限于)具有用于从集成电路存储器装置中的存储器单元可检索的数据的错误率的分类的二进制分类决策树的存储器系统。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
在一个方面中,本申请针对一种存储器装置,所述存储器装置包括:多个存储器单元群组,其形成于集成电路裸片上;校准电路,其被配置成测量存储器单元群组的信号和噪声特性以生成特征作为到决策树的输入;以及数据完整性分类器,其被配置成通过将所述特征施加到所述决策树来确定从所述存储器单元群组可检索的数据的位错误率的分类,其中所述数据完整性分类器包含:特征寄存器的集合,其被配置成存储所述特征;比较器;选择逻辑,其被配置成从所述特征寄存器选择至少一个特征作为到所述比较器的输入;叶路径寄存器文件,其被配置成存储识别所述决策树中的节点连接性的数据;以及叶选择逻辑,其被配置成基于所述比较器的输出和存储于所述叶路径寄存器文件中的所述数据来控制所述选择逻辑,且响应于到达所述决策树中的叶节点而提供所述分类;其中所述存储器装置被配置成基于所述分类控制读取所述存储器单元群组的操作。
在另一方面中,本申请针对一种方法,所述方法包括:从特征寄存器选择至少一个特征作为输入,所述至少一个特征是依据存储器装置中的存储器单元群组的信号和噪声特性生成的;至少部分地基于选自所述特征寄存器的所述至少一个特征生成输出,所述输出识别决策树中的选定子节点;根据识别所述决策树中的节点连接性的数据控制在评估所述子节点的过程中从所述特征寄存器的进一步选择;以及响应于根据识别所述决策树中的所述节点连接性的所述数据选择叶节点的输出提供与所述叶节点预先相关联的分类。
在另一方面中,本申请针对一种存储器子系统,所述存储器子系统包括:处理装置;以及至少一个存储器装置,所述存储器装置具有:存储器单元群组,其形成于集成电路裸片上;以及校准电路,其被配置成测量所述存储器单元群组的信号和噪声特性的多个集合,且分别依据信号和噪声特性的所述多个集合确定所述存储器单元群组的多个经优化读取电压;其中所述存储器子系统包含被配置成确定从所述存储器单元群组可检索的数据的位错误率的分类的数据完整性分类器,其中所述数据完整性分类器包含:特征寄存器,其被配置成存储依据所述存储器单元群组的信号和噪声特性的所述多个集合计算得到的特征;阈值寄存器,其被配置成存储预定义阈值;选择逻辑,其被配置成从所述特征寄存器和所述阈值寄存器选择多个项目;决策逻辑,其被配置成从所述多个项目生成输出,所述输出识别通过将所述多个项目施加在分支节点上而实现的所述决策树中的子节点的选择;以及叶选择逻辑,其被配置成基于所述决策逻辑的所述输出和识别所述决策树中的节点连接性的数据来控制由所述选择逻辑从所述特征寄存器和所述阈值寄存器选择项目;其中响应于到达所述决策树中的叶节点,所述叶选择逻辑被配置成提供从所述存储器单元群组可检索的数据的位错误率的分类,所述分类与所述叶节点预先相关联;且其中所述存储器子系统被配置成基于所述分类控制读取所述存储器单元群组的操作。
附图说明
借助于实例而非限制在附图的各图中示出实施例,在附图中相似参考指示类似元件。
图1示出根据本公开的一些实施例具有存储器子系统的实例计算系统。
图2示出根据一个实施例具有被配置成测量信号和噪声特性的校准电路的集成电路存储器装置。
图3展示根据一个实施例测量信号和噪声特性以改进存储器操作的实例。
图4-7示出根据一个实施例的读取命令的执行期间的自适应迭代读取校准。
图8示出根据一个实施例用于从存储器单元检索的数据的错误率的分类的复合特征的生成。
图9示出根据一个实施例基于二进制分类决策树实施的数据完整性分类器的实施方案。
图10展示根据一个实施例使用所生成特征对从存储器单元检索的数据的完整性进行分类的方法。
图11是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的至少一些方面是针对一种具有使用二进制分类决策树技术有效地实施的数据完整性分类器的存储器子系统。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
集成电路存储器单元(例如,快闪存储器单元)可在阈值电压下被编程为借助于其状态来存储数据。举例来说,如果存储器单元在阈值电压下被配置/编程在允许大量电流通过存储器单元的状态中,则存储器单元正存储位一;且否则,存储器单元正存储位零。此外,存储器单元可通过在多个阈值电压下以不同方式被配置/编程而存储多个数据位。举例来说,存储器单元可通过在多个阈值电压下具有状态的组合而存储多个数据位;且可解译阈值电压下存储器单元的状态的不同组合以表示存储于存储器单元中的数据位的不同状态。
然而,在使用写入操作配置/编程集成电路存储器单元的状态以将数据存储在存储器单元中之后,用于读取存储器单元的经优化阈值电压可归因于例如电荷损失、读取干扰、交叉温度效应(例如,不同操作温度下的写入和读取)等若干因素而移位,尤其是在存储器单元被编程为存储多个数据位时。
一直使用常规校准电路系统来自行校准存储器区,方式是施加读取电平信号以考虑存储器区内的存储器单元的阈值电压的移位。在校准期间,校准电路系统被配置成将不同测试信号施加到存储器区以对针对测试信号输出指定数据状态的存储器单元的数目进行计数。基于所述计数,校准电路系统确定读取电平偏移值作为对校准命令的响应。
本公开的至少一些方面通过使用在存储器单元的经优化读取电压的所估计位置附近测得的信号和噪声特性且使用至少依据针对多个经优化读取电压测得的信号和噪声特性计算的复合特征,对从存储器单元可检索的数据的位错误率进行分,来解决上述缺陷和其它缺陷。举例来说,数据完整性分类器基于依据针对多个读取电压测得的存储器单元的信号和噪声特性计算的特征来生成从存储器单元可检索的数据的位错误率的分类。所述特征可包含在正针对较高读取电压测量存储器单元的信号和噪声特性时使用针对较低读取电压测得的存储器单元的信号和噪声特性迭代地或渐进地计算的复合特征。从存储器单元可检索的数据的位错误率的分类可用于控制从存储器单元读取数据的操作。可使用迭代或渐进技术有效地计算复合特征,其中在较高经优化读取电压的信号和噪声特性正在被测量或尚未被测量时初始基于针对较低经优化读取电压测得的信号和噪声特性来计算复合特征。当较高经优化读取电压的信号和噪声特性变得可用时,基于针对每一较高经优化读取电压测得的信号和噪声特性进一步更新复合特征。位错误率的分类结果可用于在从存储器单元读取数据的过程中选择处理路径。举例来说,基于位错误率分类,存储器子系统可决定是否进一步校准读取电压,是否跳过错误检测和数据恢复,是否通过施加相对于经优化读取电压具有预定偏移的读取电压而跳过读取存储器单元以获得软位数据,等等。
举例来说,被编程为存储多个数据位的存储器单元将使用多个读取电压读取以确定所述读取电压下存储器单元的状态和(因此)存储于存储器单元中的多个位。用于读取多个状态的经优化读取电压可归因于例如快速电荷损失(QCL)、存储电荷损失(SCL)等数据保持效应和/或其它效应而移位。可针对读取电压中的每一个执行校准操作以确定相应经优化读取电压。在每一读取电压的校准期间,可测量存储器单元的信号和噪声特性的集合。与多个经优化读取电压相关联的信号和噪声特性的多个集合可用于构造特征作为针对预测模型的输入,以用于对可使用多个经优化读取电压从存储器单元检索的数据的位错误率进行分类。此些特征可包含复合特征。复合特征是基于分别与多个经优化读取电压相关联的信号和噪声特性的多个集合。
在一些情况下,经优化读取电压可在某一时间周期内在相同方向上(例如,朝向较低电压,或朝向较高电压)移位。一般来说,不同的经优化读取电压可移位不同的量,其中经优化读取电压中的较高经优化读取电压可比经优化读取电压中的较低经优化读取电压移位得更多。预测模型可用于基于一或多个较低经优化读取电压的移位预测较高经优化读取电压的移位。因此,一旦经由校准确定较低经优化读取电压,则可预测/估计高于较低经优化读取电压的经优化读取电压的移位以校正较高经优化读取电压的预期位置的初始估计。使用经校正的估计,可执行针对较高经优化读取电压的校准以按改进的精确度识别经优化读取电压和/或避免校准中的故障。
图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)1(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和/或存储器装置130可包含数据完整性分类器114,其具有特征生成器,所述特征生成器被配置成生成复合特征作为输入以用于对使用多个经优化读取电压从存储器单元可检索的数据的位错误率进行分类。基于分别在多个经优化读取电压的校准期间测得的信号和噪声特性的多个集合来生成复合特征。在一些实施例中,存储器子系统110中的控制器115包含数据完整性分类器114的至少一部分。在其它实施例中,或以组合方式,主机系统120中的控制器116和/或处理装置118包含数据完整性分类器114的至少一部分。举例来说,控制器115、控制器116和/或处理装置118可包含实施数据完整性分类器114的逻辑电路系统。举例来说,控制器115或主机系统120的处理装置118(处理器)可被配置成执行存储于存储器中的指令以用于执行本文中所描述的数据完整性分类器114的操作。在一些实施例中,数据完整性分类器114实施于安置于存储器子系统110中的集成电路芯片中。在其它实施例中,数据完整性分类器114可以是存储器子系统110的固件、主机系统120的操作系统、装置驱动器,或应用,或其任何组合的部分。
数据完整性分类器114的特征生成器可接收针对存储器装置130中的存储器单元的多个经优化读取电压测得的信号和噪声特性的多个集合,且处理信号和噪声特性以生成使用多个经优化读取电压可检索的数据的位错误率的数据完整性分类器114的复合特征。
举例来说,可使用二进制分类决策树(BCDT)技术或另一基于决策树的分类技术来实施数据完整性分类器114。举例来说,可使用人工神经网络(ANN)来实施数据完整性分类器114。可使用机器学习技术(例如,监督机器学习技术)来训练数据完整性分类器114以基于使用经优化读取电压的校准/确定期间测得的存储器单元的信号和噪声特性构造的特征计算使用经优化读取电压的集合可从存储器单元检索的数据中的位错误率的分类。
举例来说,数据可经编码以含有用于存储在存储器单元中的冗余信息。举例来说,错误校正码(ECC)或低密度奇偶校验(LDPC)码可用于编码用于存储在存储器单元中的数据。从存储器单元检索的数据可在错误检测和恢复操作中解码。当解码成功时,可对检索到的数据中的位错误率进行计算和/或分类。当解码不成功时,位错误率在对于解码而言过高的类别中。可通过依据经优化读取电压的校准/确定期间测得的存储器单元的信号和噪声特性以及使用经优化读取电压检索的数据的位错误率/分类计算特征,来生成训练数据集,其中所述位错误率/分类是依据对检索到的数据进行解码的结果而计算得到的。所述训练数据集可用于训练数据完整性分类器114以使由数据完整性分类器114使用所述特征预测的位错误率/分类和依据对检索到的数据进行解码的结果计算得到的相应位错误率/分类之间的差异最小化。
举例来说,数据完整性分类器114可经训练以预测检索到的数据是否可成功地解码,且如果是,则预测检索到的数据的所估计位错误率。举例来说,存储器子系统110可具有拥有不同要求/输入以及功率消耗、错误恢复能力、时延等方面的不同性能水平的多个解码器。数据完整性分类器114可经训练以预测解码器中的哪些解码器(如果存在的话)可成功地解码检索到的数据。在训练数据完整性分类器114之后,可在尝试解码之前使用数据完整性分类器114的预测来选择解码器。
可依据分别针对多个经优化读取电压测得的信号和噪声特性的多个集合来构造复合特征。复合特征的实例为跨信号和噪声特性的多个集合的数量的最小值(或最大值)。复合特征的另一实例为当以递增次序分拣经优化读取电压时与两个邻近经优化读取电压相关联的信号和噪声特性的两个集合中的数量的和(或差)的最小值(或最大值)。
可选地,特征生成器113可在接收分别与多个经优化读取电压相关联的信号和噪声特性的多个集合之后开始复合特征的计算。
优选地,特征生成器113可在信号和噪声特性的多个集合全部可用之前开始复合特征的计算。特征生成器113可基于信号和噪声特性的可用集合迭代地或渐进地计算复合特征。当与经优化读取电压相关联的信号和噪声特性变得可用时,可在正校准另一经优化读取电压以测量其信号和噪声特性时更新基于低于所述经优化读取电压的经优化读取电压的信号和噪声特性计算的复合特征。因此,可在运行中随着校准更多经优化读取电压并测量其信号和噪声特性而构建复合特征。计算复合特征的此迭代或渐进方法可降低特征生成器113的资源要求和/或其在相对于最高经优化读取电压的信号和噪声特性的最后集合的可用性提供计算结果的过程中的时延。
图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可以在特征生成器113中使用,而对从地址135读取数据137的命令的执行过程中的时延的惩罚减小或为零。
校准电路145被配置成从最低经优化读取电压开始向最高经优化读取电压以递增读取电压的次序相继校准存储器单元群组(例如,131或133)的读取电压。在特定经优化读取电压的校准/确定期间,针对低于所述特定经优化读取电压的经优化读取电压测得的信号和噪声特性139可供特征生成器113使用以依据可用信号和噪声特性139生成/计算复合特征。当校准电路145完成特定经优化读取电压的校准时,其信号和噪声特性139变为可供特征生成器113使用以将复合特征更新为包含特定经优化读取电压的信号和噪声特性139的考虑因素。特征生成器113可在校准电路145校准高于特定经优化读取电压的下一经优化读取电压的时间周期期间执行复合特征的更新。所述更新可针对连续较高经优化读取电压重复,直至校准所有经优化读取电压,测量其信号和噪声特性139并使用所述信号和噪声特性来更新复合特征。
图3展示根据一个实施例测量信号和噪声特性139以改进存储器操作的实例。
在图3中,校准电路145施加不同读取电压VA、VB、VC、VD和VE来读取群组(例如,131、...或133)中的存储器单元的状态。一般来说,可使用更多或更少的读取电压来生成信号和噪声特性139。
由于读取操作期间施加的不同电压,群组(例如,131、...或133)中的同一存储器单元可展示不同状态。因此,一般来说,在不同读取电压VA、VB、VC、VD和VE下具有预定状态的存储器单元的计数CA、CB、CC、CD和CE可不同。预定状态可以是有大量电流通过存储器单元的状态,或没有大量电流通过存储器单元的状态。计数CA、CB、CC、CD和CE可称为位计数。
校准电路145可通过一次一个地在存储器单元的群组(例如,131、...或133)上施加读取电压VA、VB、VC、VD和VE来测量位计数。
或者,存储器单元的群组(例如,131、...或133)可被配置成多个子群组;且校准电路145可通过施加读取电压VA、VB、VC、VD和VE并行地测量子群组的位计数。子群组的位计数被视为表示整个群组(例如,131、...或133)中的位计数。因此,获得计数CA、CB、CC、CD和CE的持续时间可缩短。
在一些实施例中,在从映射到群组(例如,131、...或133)中的一或多个存储器单元的地址135读取数据137的命令的执行期间测量位计数CA、CB、CC、CD和CE。因此,控制器115不需要发送单独的命令来请求基于位计数CA、CB、CC、CD和CE的信号和噪声特性139。
邻近电压的位计数之间的差指示在读取群组(例如,133、...或133)中的存储器单元的状态的过程中的错误。
举例来说,依据CA-CB计算计数差DA,其为由于读取电压从VA改变到VB而引入的读取阈值错误的指示。
类似地,DB=CB-CC;DC=CC-CD;且DD=CD-CE。
基于计数差DA、DB、DC和DD获得的曲线157表示作为读取电压的函数的读取阈值误差E的预测。依据曲线157(和/或计数差),经优化读取电压VO可被计算为曲线157上的提供最低读取阈值误差DMIN的点153。
在一个实施例中,校准电路145计算经优化读取电压VO且致使读取/写入电路143使用经优化读取电压VO从地址135读取数据137。
或者,校准电路145可经由通信接口147向存储器子系统110的控制器115提供计数差DA、DB、DC和DD和/或由校准电路145计算的经优化读取电压VO。
图3示出生成统计数据集合(例如,位计数和/或计数差)以供在经优化读取电压VO下读取的实例。一般来说,存储器单元的群组可被配置成将一个以上位存储在存储器单元中;且使用多个读取电压来读取存储于存储器单元中的数据。可类似地针对读取电压中的每一个测量统计数据集合以识别相应优化读取电压,其中每一统计数据集合中的测试电压配置在相应经优化读取电压的预期位置附近。因此,针对存储器单元群组(例如,131或133)测得的信号和噪声特性139可包含分别针对多个阈值电压测得的多个统计数据集合。
举例来说,控制器115可通过提供地址135和至少一个读取控制参数来指示存储器装置130执行读取操作。举例来说,读取控制参数可以是由控制器115建议、估计或预测的读取电压。
存储器装置130可通过在读取电压下确定地址135处的存储器单元的状态来执行读取操作,且根据所确定的状态提供数据137。
在读取操作期间,存储器装置130的校准电路145生成信号和噪声特性139。数据137和信号和噪声特性139作为响应从存储器装置130提供到控制器115。或者,可至少部分使用配置于存储器装置130中的逻辑电路系统来执行信号和噪声特性139的处理。举例来说,可使用配置于存储器装置130中的处理逻辑来部分或完全实施信号和噪声特性139的处理。举例来说,可使用在存储器装置130的集成电路裸片上形成于存储器单元阵列下方的互补金属氧化物半导体(CMOS)电路系统来实施处理逻辑。举例来说,处理逻辑可在存储器装置130的集成电路封装内形成在单独的集成电路裸片上,所述单独的集成电路裸片使用硅通孔(TSV)和/或其它连接技术连接到具有存储器单元的集成电路裸片。
可至少部分地基于读取控制参数确定信号和噪声特性139。举例来说,当读取控制参数为用于在地址135处读取存储器单元的所建议读取电压时,校准电路145可计算在所建议读取电压附近的读取电压VA、VB、VC、VD和VE。
信号和噪声特性139可包含位计数CA、CB、CC、CD和CE。替代地或组合地,信号和噪声特性139可包含计数差DA、DB、DC和DD。
可选地,校准电路145使用一种方法依据计数差DA、DB、DC和DD计算经优化读取电压VO;且控制器115使用另一种不同的方法依据信号和噪声特性139和任选地校准电路145不可用的其它数据来计算经优化读取电压VO。
当校准电路145可依据读取操作期间生成的计数差DA、DB、DC和DD计算经优化读取电压VO时,信号和噪声特性可任选地包含经优化读取电压VO。此外,存储器装置130可在确定地址135处来自存储器单元的数据137中的硬位数据的过程中使用经优化读取电压VO。可通过以从经优化读取电压VO发生预定偏移的读取电压读取存储器单元来获得数据137中的软位数据。或者,存储器装置130在读取数据137的过程中使用读取控制参数中提供的控制器指定的读取电压。
可以比集成电路存储器装置130的校准电路145更多的处理功率来配置控制器115。此外,控制器115可具有适用于群组(例如,133、...或133)中的存储器单元的其它信号和噪声特性。因此,一般来说,控制器115可计算经优化读取电压VO的更精确估计(例如,用于后续读取操作,或用于读取操作的重试)。
一般来说,校准电路145不必以位计数在读取电压集合上的分布的形式或以计数差在读取电压集合上的分布的形式提供信号和噪声特性139。举例来说,校准电路145可提供由校准电路145计算的经优化读取电压VO作为信号和噪声特性139。
校准电路145可被配置成生成信号和噪声特性139(例如,位计数或位计数差)作为读取操作的副产物。信号和噪声特性139的生成可在集成电路存储器装置130中实施,相比于不生成信号和噪声特性139的典型读取,对读取操作的时延的影响极少或无影响。因此,校准电路145可有效地将信号和噪声特性139确定为根据来自存储器子系统110的控制器115的命令执行读取操作的副产物。
一般来说,经优化读取电压VO的计算可在存储器装置130内或由存储器子系统111的控制器115执行,所述控制器接收信号和噪声特性139作为来自存储器装置130的丰富状态响应的一部分。
在一些例子中,存储器子系统110的校准电路145被配置成使用存储器单元群组(例如,131或133)的一或多个较低经优化读取电压的校准期间测得的信号和噪声特性139,来识别较高经优化读取电压的所估计位置且因此改进针对所述较高经优化读取电压执行的校准操作。
举例来说,校准电路145可使用经由机器学习训练或经由经验公式建立的预测模型,来预测较高经优化读取电压的位置。所述预测可基于较高经优化读取电压的位置的初始估计、所述一或多个较低经优化读取电压的位置的初始估计,以及所述一或多个较低经优化读取电压的经校准位置,其中所述一或多个较低经优化读取电压的经校准位置是依据所述一或多个较低经优化读取电压的校准期间测得的信号和噪声特性139而确定。所述预测可以在较高经优化读取电压的校准中使用,在此期间,可在预测位置附近测量更多信号和噪声特性139以识别较高经优化读取电压的经校准位置。较高经优化读取电压的校准结果可进一步迭代地在更高经优化读取电压的校准中使用。
举例来说,存储器子系统110的控制器115可初始地识别用于读取用于执行读取命令的群组中的每一存储器单元的状态的多个经优化读取电压的所预期/估计/预测位置。响应于读取命令,存储器装置130开始使用由控制器115初始识别的最低经优化读取电压的所预期/估计/预测位置首先校准多个经优化读取电压中的最低经优化读取电压。所述校准导致识别最低经优化读取电压的经优化位置,其相对于最低经优化读取电压的所预期/估计/预测位置可具有偏移或移位。最低经优化读取电压的偏移或移位可用于预测/估计次低经优化读取电压的偏移或移位,且因此改进或校正次低经优化读取电压的所预期/估计/预测位置。用于次低经优化读取电压的估计的经改进或校正的位置可以在其校准中使用,这导致识别次低经优化读取电压的经优化位置。随后,可使用依据由控制器115识别的其初始估计确定的经改进或校正的位置和如依据其初始估计校准的一或多个经优化读取电压的一或多个偏移/移位来校准存储器单元的更高的经优化读取电压。因此,可基于存储器单元的较低经优化读取电压的结果迭代地和自适应地校准存储器单元的较高经优化读取电压。
图4-7示出根据一个实施例的读取命令的执行期间的自适应迭代读取校准。举例来说,自适应迭代读取校准可由图1的存储器子系统110的控制器115和/或由图2的集成电路存储器装置130的校准电路145使用根据图3测得的信号和噪声特性139来控制,
图4示出用于在各种读取电压下读取存储器单元群组(例如,131或133)的读取阈值误差分布157。经优化读取电压VO1、VO2和VO3具有对应于读取阈值误差分布157的局部最小值点的位置。当分别在经优化读取电压VO1、VO2和VO3下读取存储器单元群组(例如,131或133)时,从读取操作确定的状态中的错误最小化。
图4示出具有用于读取存储器单元群组(例如,131或133)的多个经优化读取电压VO1、VO2和VO3的实例。一般来说,存储器单元群组(例如,131或133)可被编程为经由如图4中所示出的更多或更少的经优化读取电压来读取。
可使用图3中示出的技术(例如,通过确定相邻读取电压的位计数差)来测量读取阈值误差分布157。
当初始编程或最近校准存储器单元群组(例如,131或133)时,经优化读取电压VO1、VO2和VO3的位置是已知的。然而,在某一时间周期之后,经优化读取电压VO1、VO2和VO3的位置可例如归因于快速电荷损失(QCL)、存储电荷损失(SCL)等而移位。
图5-7示出读取阈值误差分布161,其中经优化读取电压的位置已经在读取电压的轴线上移位。举例来说,经优化读取电压VO1、VO2和VO3的位置可向下移位使得新位置的电压小于相应先前位置。在其它实例中,经优化读取电压VO1、VO2和VO3的位置可向上移位使得新位置的电压大于相应先前位置。
图3的校准技术通过对所估计位置(例如,VC)附近的读取阈值误差分布157的一部分进行取样且确定被取样的读取阈值误差分布157的局部最小值点的位置,来确定经优化读取电压(例如,VO)在读取电压的轴线上的位置。
为了确定已经移位的经优化读取电压的位置,经优化读取电压VO1、VO2和VO3的先前已知位置可用作用于图3的校准技术的应用的所估计位置(例如,VC)。
图5-7示出经优化读取电压VO1、VO2和VO3相对于新读取阈值误差分布161的所估计位置VC1、VC2和VC3。在一些例子中,控制器115可基于公式和/或预测模型使用控制器115可用的参数来计算所估计位置VC1、VC2和VC3。
图5示出应用图3的技术来确定最低经优化读取电压VO1的位置。VA1到VE1范围内的测试电压配置在所估计位置VC1附近。测试电压VA1到VE1可被施加以读取存储器单元群组(例如,131或133)来确定测试电压下的位计数,和指示读取阈值误差的量值的计数差。可在经由测得的位差取样的读取阈值误差分布161的部分的局部最小值处确定经优化读取电压VO1;且所估计位置VC1到经校准位置VO1的偏移或移位VS1可用于确定下一较高经优化读取电压VO2的所估计位置VC2的所估计移位Vt1。
举例来说,所估计移位Vt1可确定为与较低经优化读取电压VO1相对于其初始估计VC1的测得的移位VS1相同。替代的经验公式或预测模型可用于计算相对于至少较低经优化读取电压VO2的测得的移位VS1的较高经优化读取电压VO2的所估计移位Vt1。
所估计移位Vt1确定经优化读取电压V02的位置的改进的估计VC2U。
图6示出应用图3的技术来确定经优化读取电压VO2的位置。在将估计从VC2调整到VC2U之后,VA2到VE2范围内的测试电压配置在改进的估计VC2U附近(代替相对于VC2)。作为改进的估计VC2U的结果,VA2到VE2范围内的测试电压较好地定位以捕获经优化读取电压VO2。测试电压VA2到VE2可被施加以读取存储器单元群组(例如,131或133)来确定测试电压下的位计数,和指示读取阈值误差的量值的计数差。可在经由位差的测量取样的读取阈值误差分布161的部分的局部最小值处确定经优化读取电压VO2;且从初始所估计位置VC2到经校准位置VO2的偏移或移位VS2可以用于确定相对于下一较高经优化读取电压VO3的所估计位置VC3的所估计移位Vt2。
举例来说,所估计移位Vt2可确定为与较低经优化读取电压VO2相对于其初始估计VC2的测得的移位VS2相同。或者,可依据较低经优化读取电压VO2相对于其初始估计VC2的测得的移位VS2和另一较低经优化读取电压VO1相对于其初始估计VC1的测得的移位VS1两者来确定所估计移位Vt2。替代的经验公式或预测模型可用于计算至少相对于一或多个较低经优化读取电压(例如,VO2和/或VS1)的测得的移位(例如,VS2和/或VS1)的较高经优化读取电压VO3的所估计移位Vt2。
所估计移位Vt2提供经优化读取电压V02的位置的改进的估计VC3U。
图7示出应用图3的技术来确定经优化读取电压VO3的位置。范围VA3到VE3内的测试电压配置于改进的估计VC3U附近。测试电压VA3到VE3可被施加以读取存储器单元群组(例如,131或133)来确定测试电压下的位计数,和指示读取阈值误差的量值的计数差。可在经由位差取样的读取阈值误差分布161的部分的局部最小值处确定经优化读取电压VO3。
如图6和7中所示出,自适应地和迭代地计算的改进的估计VC2U和VC3U允许在接近经优化读取电压V02和V03的改进的测试电压范围内执行较高经优化读取电压V02和V03的校准。如果测试电压将使用初始估计VC2和VC3来构造,则测试范围可能不捕获经优化读取电压V02和V03;且校准可能无法识别经优化读取电压V02和V03,或无法以足够的精确度识别经优化读取电压V02和V03。
图8示出根据一个实施例用于从存储器单元检索的数据的错误率的分类的复合特征的生成。举例来说,可根据图8使用相继较高经优化读取电压(例如,以如图4-7中所示出的方式优化的经校准/计算的读取电压)的信号和噪声特性来计算复合特征。
在图8中,向集成电路存储器装置130或在集成电路存储器装置130中识别经优化读取电压的估计的有序列表171。校准电路145开始执行针对待使用图3的技术校准的最低读取电压的校准。
举例来说,列表171中的相应估计可用于识别测试电压的集合。可针对如图3中所示出的测试电压的集合测量存储器单元群组(例如,131或133)的位计数和/或计数差。
可选地,当已经经由校准计算一或多个较低经优化读取电压时,可基于列表171中的相应估计和较低经优化读取电压相对于其经校准读取电压的偏移以如图4-7中所示出的方式识别测试电压的集合。
在最低读取电压173的校准期间,读取/写入电路143应用测试电压来读取存储器单元群组131。依据如使用测试电压读取的群组131中的存储器单元的状态的统计数据(例如,位计数和计数差)生成信号和噪声特性139的集合。
在校准最低读取电压173的校准之后,校准电路145可继续校准待校准的下一177最低读取电压173。
在校准电路145校准待校准的下一177最低读取电压173的时间周期期间,特征生成器113使用针对刚校准的读取电压测得的信号和噪声特性139来生成更新后的复合特征175以包含至此已经获得的信号和噪声特性139的考虑因素。
举例来说,信号和噪声特性的每一集合可包含经优化以用于读取存储器单元群组133的所计算的读取电压VO的最低误差指示符DMIN 155。DMIN可用作与经优化读取电压VO相关联的特征。复合特征可以是对应于有序列表171的多个经校准/经优化读取电压VO的DMIN的最小值(或最大值)。
当针对有序列表171中的最低者计算DMIN 155时,复合特征可采取有序列表171中的最低者的DMIN 155的值。当针对有序列表171中的下一最低者计算DMIN 155时,特征生成器113可通过将复合特征的现有值与针对有序列表171中的下一最低者计算的DMIN 155进行比较来更新复合特征。如果复合特征的现有值高于针对有序列表171中的下一最低者计算的DMIN 155,则将复合特征更新为等于针对有序列表171中的下一最低者计算的DMIN 155;否则,复合特征的现有值不鉴于针对有序列表171中的下一最低者计算的DMIN 155而改变。在针对整个列表171迭代地/渐进地执行更新之后,复合特征的值对应于相应经优化读取电压VO的DMIN的最小值。
相应经优化读取电压VO 151的DMAX的最大值可以与复合特征类似的方式计算。
在一些实施方案中,DMIN可估计为位差DA到DD中的最小者。
在另一实例中,可评估被测量以计算经优化电压VO 151的计数差DA到DD以识别经取样读取阈值误差的最大值DMAX的指示(例如,DA到DD的最大值)。DMAX可用作与经优化电压VO相关联的特征。经优化电压的DMAX的最小值可用作复合特征;且经优化电压的DMAX的最大值可用作另一复合特征。
在另一实例中,针对经优化电压VO取样的读取阈值误差的范围可确定为R=DMAX-DMIN。此范围R可用作与经优化电压VO相关联的特征。经优化电压的此些范围R的最大值可用作复合特征;且经优化电压的此些范围R的最小值可用作另一复合特征。
针对所有经优化读取电压更新的复合特征以及对应于信号和噪声特性139的其它特征可以在数据完整性分类器114中使用以生成使用多个经校准/经优化读取电压VO 151从存储器单元群组131可检索的数据的位错误率的分类。
一般来说,数据完整性分类器114和/或特征生成器113可实施于存储器子系统110的存储器装置130中和/或控制器115中。举例来说,特征生成器113可实施于存储器装置130中且被配置成在下一经优化读取电压的信号和噪声特性139变得可用之前,使用经优化读取电压的最近获得的信号和噪声特性139迭代地或渐进地更新175复合特征。
或者,数据完整性分类器114和/或特征生成器113可实施于控制器150中。在存储器装置130向控制器150报告较低读取电压(例如,VO1和VO2)的校准结果之后,在校准电路145测量较高读取电压(例如,VO3)的信号和噪声特性139时,特征生成器113使用包含在校准结果中的信号和噪声特性139来更新175复合特征175。
实施于控制器115中的数据完整性分类器114和/或特征生成器113可不仅使用从存储器装置130接收的数据137的信号和噪声特性139,而且使用存储器装置130中可能不可用的例如电荷损失、读取干扰、交叉温度效应、编程/擦除、数据保持等其它信息。实施于控制器115中的数据完整性分类器114/特征生成器113和实施于存储器装置130中的数据完整性分类器114/特征生成器113可具有不同的复杂性,和/或不同的其预测中的精确度水平。实施于控制器115中的数据完整性分类器114/特征生成器113和实施于存储器装置130中的数据完整性分类器114/特征生成器113可彼此通信以合作地控制由校准电路145执行的校准操作。
数据完整性分类器114/特征生成器113的处理逻辑可使用在存储器装置130的集成电路裸片上形成在存储器单元阵列下方的互补金属氧化物半导体(CMOS)电路系统来实施。举例来说,处理逻辑可在存储器装置130的集成电路封装内形成在单独的集成电路裸片上,所述单独的集成电路裸片使用硅通孔(TSV)和/或其它连接技术连接到具有存储器单元的集成电路裸片。
图9示出根据一个实施例基于二进制分类决策树实施的数据完整性分类器的实施方案。举例来说,图9的技术可用于实施图1、2和/或8的数据完整性分类器114。
举例来说,图9的数据完整性分类器114具有被配置成存储由特征生成器113生成的特征的值的特征寄存器181。所述特征可包含在校准电路145从校准低读取电压向高读取电压进展时以如图8中所示出的方式迭代地或渐进地生成的复合特征。
图9的数据完整性分类器114可存储阈值182的集合。举例来说,阈值182可存储于可编程存储器和/或寄存器中。
图9的数据完整性分类器114进一步包含项目选择寄存器的两个集合165和166。项目选择寄存器集合(例如,165或166)中的每一个具有多个寄存器,其识别待从特征寄存器181选择的特征或阈值以及用于比较器189的所存储的阈值182。
选择逻辑183由项目选择寄存器集合185和186控制以输出两个项目187和188作为针对比较器189的输入。一般来说,项目选择寄存器集合185和186可被编程以选择两个特征作为项目187和188,一个特征作为项目187及阈值作为项目188,或阈值作为项目187及一个特征作为项目188。
比较器189被配置成比较项目187和188以确定项目187和188之间是否满足预定义关系。举例来说,比较器189可被配置成确定项目A 187是否大于或等于项目B 188(或项目A187是否小于或等于项目B 188)。
图9的数据完整性分类器114具有叶路径寄存器文件193,其被配置成存储识别数据完整性分类器114的二进制分类决策树中的节点的连接性的数据。
一般来说,二进制分类决策树中的节点为分支节点或叶节点。叶节点识别分类结果/决策。分支节点具有相关联比较和两个子节点。相关联比较的结果确定将在针对提供分类结果/决策的叶节点的搜索中选择哪些子节点。
图9的数据完整性分类器114具有叶选择逻辑191。在比较器189生成分支节点的比较结果之后,叶选择逻辑191基于叶路径寄存器文件193识别子节点。
如果叶路径寄存器文件193指示子节点为另一分支节点,则叶选择逻辑191确定与子节点(即,另一分支节点)相关联的项目选择寄存器集合185和186中的寄存器,从而致使选择逻辑183选择子节点的比较的相应项目187和188。
然而,如果叶路径寄存器文件193指示子节点为叶节点,则叶选择逻辑191提供叶节点的分类结果作为决策195。
举例来说,叶选择逻辑191可用于初始地识别在项目选择寄存器集合185和186中存储针对二进制分类决策树中的顶部节点的输入的识别的寄存器。由项目选择寄存器集合185和186从针对顶部节点识别的寄存器提供的识别致使选择逻辑183通过根据识别从特征寄存器181和阈值182进行选择来输出项目187和188。比较器189依据从选择逻辑183接收的项目187和188生成顶部节点的比较结果。基于比较器189和叶路径寄存器文件193的结果,叶选择逻辑191识别下一节点和项目选择寄存器集合185和185中的其相关联寄存器。选择下一节点的操作可重复直至到达叶节点。响应于到达叶节点,叶选择逻辑191提供与叶节点预先相关联的分类结果作为分类决策195。
图9的数据完整性分类器114的结构可使基于树的分类的状态的数目最小化/减小、使实施基于树的分类器所需的逻辑电路最少化/减少,且提供配置和重新配置决策树的灵活性。
图9的数据完整性分类器114一次一个节点地评估决策树。因此,图9的数据完整性分类器114一次使用一个比较器。
一般来说,图9的数据完整性分类器114可使用多个不同类型的比较来评估分支节点的决策。因为数据完整性分类器114一次使用一个比较器,所以针对每一类型的比较利用一个比较器对于图9的数据完整性分类器114已足够。
图9示出使用二进制分类决策树的数据完整性分类器114的实施方案。图9的技术可扩展到其它类型的决策树。一般来说,决策树中的分支节点可具有两个以上子节点;且子节点的选择可基于两个以上项目。因此,项目选择寄存器的多个集合可用于选择用于分支节点的决策的相应项目;且节点决策生成器可用于依据选自特征寄存器181和阈值182的项目生成子选择结果。子选择结果可以在叶选择逻辑191中使用以基于叶路径寄存器文件193和子选择结果选择下一分支节点的寄存器,直至到达用于决策195的叶节点。
在一些实施方案中,叶路径寄存器文件193进一步存储待由选择逻辑183从特征寄存器181和预定义阈值182选择的特征和/或阈值的项目识别。为了处理分支节点,叶选择逻辑191提供分支节点的项目识别且更新项目选择寄存器集合185和186以致使选择逻辑183输出用于分支节点的项目187和188。
图10展示根据一个实施例使用所生成特征对从存储器单元检索的数据的完整性进行分类的方法。图10的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件/固件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图10的方法至少部分由图1的控制器115或图2的存储器装置130中的处理逻辑来执行。虽然以特定序列或次序展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明的实施例仅为实例,且所说明的过程可以不同次序执行,且一些过程可并行地执行。此外,可在各种实施例中省略一或多个过程。因此,并非在每一实施例中需要所有的过程。其它过程流程是可能的。
举例来说,图10的方法可利用图2的存储器装置和图3中示出的且以如图4-7中所示出的方式生成的信号噪声特性实施于图1的计算系统中。图10的方法可任选地使用复合特征,所述复合特征是利用图8的技术计算而得且至少部分使用图9中示出的数据完整性分类器114的结构来实施。
在框301处,数据完整性分类器114的特征寄存器181的集合存储依据存储器装置130中的存储器单元群组(例如,131或133)的信号和噪声特性139生成的特征。
在框303处,叶路径寄存器文件193存储识别数据完整性分类器114的决策树中的节点连接性的数据。
在框305处,选择逻辑183从特征寄存器选择至少一个特征作为到节点决策逻辑(例如,189)的输入(例如,187和/或188)。
在框307处,节点决策逻辑(例如,189)至少部分地基于选自特征寄存器181的所述至少一个特征而生成输出。所述输出识别或指示数据完整性分类器114的决策树中的选定子节点。
在框309处,数据完整性分类器144确定子节点为叶节点还是分支节点。
如果子节点为分支节点,则在框311处,叶选择逻辑191根据存储于叶路径寄存器文件193中的数据控制在评估子节点的过程中针对节点决策逻辑(例如,189)从特征寄存器的进一步选择。框305到311中的操作可重复直至到达为叶节点的子节点
如果子节点为叶节点,则在框313处,叶选择逻辑191响应于节点决策逻辑(例如,189)提供根据存储于叶路径寄存器文件193中的数据选择叶节点的输出而提供与叶节点预先相关联的分类。
举例来说,所述分类表征使用根据存储器单元群组(例如,131或133)的信号和噪声特性139优化的读取电压从存储器单元群组(例如,131或133)可检索的数据的位错误率。所述分类可用于控制读取存储器单元群组(例如,131或133)的操作。举例来说,基于分类决策195,存储器装置130和/或存储器子系统110可决定进一步校准读取电压,跳过错误检测和恢复操作,从存储器装置130和/或存储器子系统110中可用的多个解码器中选择解码器来解码使用经优化读取电压从存储器单元群组(例如,131或133)检索的读取,等等。
使用叶路径寄存器文件193中的数据,叶选择逻辑191可控制从特征寄存器181选择特征作为到节点决策逻辑(例如,189)的输入(例如,187和/或188)。
可选地,阈值寄存器的集合提供于数据完整性分类器114中以存储预定义阈值。使用叶路径寄存器文件193中的数据,叶选择逻辑191还可控制从阈值寄存器(例如,182)选择阈值作为到节点决策逻辑(例如,189)的输入(例如,187或188)。
举例来说,多个项目选择寄存器集合(例如,185和186)可用于存储特征寄存器(例如,181)和阈值寄存器(例如,182)中的位置。所述多个项目选择寄存器集合(例如,185和186)的输出指示选择逻辑183从特征寄存器(例如,181)和阈值寄存器(例如,182)选择相应项目(例如,187、188)作为到节点决策逻辑(例如,189)的输入。节点决策日志(例如,189)基于输入项目(例如,187、188)的预定义功能计算输出。所述输出根据叶路径寄存器文件193中所指定的连接性识别或指示选定的子节点。
举例来说,叶路径寄存器文件193中所指定的连接性可对应于二进制分类决策树;且节点决策逻辑包含比较器189。
可针对决策中的分支节点一次一个地执行框305到311中的操作直至到达决策树中的叶节点。
任选地,数据完整性分类器113可包含特征生成器113,其在校准电路145正测量针对其它经优化读取电压测得的信号和噪声特性集合的另外的集合时基于针对一些经优化读取电压的测得的信号和噪声特性集合计算复合特征,如图8中所示出。
举例来说,校准电路145可测量信号和噪声特性的多个集合以分别计算多个经优化读取电压。信号和噪声特性的多个集合可包含信号和噪声特性的第一集合和在测量信号和噪声特性的第一集合之后测得的信号和噪声特性的第二集合。特征生成器113至少部分与校准电路145测量第二集合并行地依据信号和噪声特性的第一集合计算第一复合特征。特征生成器113在第二集合变得可用之后根据信号和噪声特性的第二集合更新第一复合特征。在信号和噪声特性的多个集合全部被测量之后,可更新第一复合特征且将其存储到特征寄存器181中的一个中。
非暂时性计算机存储介质可用于存储存储器子系统(例如,113和/或114)的固件的指令。当指令由控制器115和/或处理装置117执行时,所述指令致使控制器115和/或处理装置117执行上文所论述的方法。
图11示出计算机系统400的实例机器,所述实例机器内可执行用于致使所述机器执行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统400可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或可用于执行数据完整性分类器114的操作(例如,执行指令以执行对应于参考图1-10描述的数据完整性分类器114的操作)。在替代性实施例中,机器可连接(例如联网)到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包含实施对应于数据完整性分类器114(例如,参考图1-10描述的数据完整性分类器114)的功能性的指令。尽管在实例实施例中机器可读存储介质424展示为单个介质,但术语“机器可读存储介质”应理解为包含存储所述一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应被理解为包含能够存储或编码供机器执行的指令集且致使机器执行本公开的方法中的任何一或多种的任何介质。术语“机器可读存储介质”应相应地被理解为包含(但不限于)固态存储器、光学介质和磁性介质。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是引起所期望的结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、要素、符号、字符、项、数字等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅是应用于这些量的便利的标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本发明还涉及一种用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储介质中,例如(但不限于)任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的介质,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,不参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读介质。机器可读介质包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、快闪存储器组件等。
在本说明书中,各种功能和操作被描述为由计算机指令执行或由计算机指令引起以简化描述。然而,所属领域的技术人员将认识到,此类表达的意图在于,所述功能因一或多个控制器或处理器(例如,微处理器)执行计算机指令而产生。替代地或组合地,所述功能和操作可使用具有或不具有软件指令的专用电路系统来实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可使用无软件指令的硬接线电路系统或结合软件指令来实施实施例。因此,技术不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。
Claims (20)
1.一种存储器装置,其包括:
多个存储器单元群组,其形成于集成电路裸片上;
校准电路,其被配置成测量存储器单元群组的信号和噪声特性以生成特征作为到决策树的输入;以及
数据完整性分类器,其被配置成通过将所述特征施加到所述决策树来确定从所述存储器单元群组可检索的数据的位错误率的分类,其中所述数据完整性分类器包含:
特征寄存器的集合,其被配置成存储所述特征;
比较器;
选择逻辑,其被配置成从所述特征寄存器选择至少一个特征作为到所述比较器的输入;
叶路径寄存器文件,其被配置成存储识别所述决策树中的节点连接性的数据;以及
叶选择逻辑,其被配置成基于所述比较器的输出和存储于所述叶路径寄存器文件中的所述数据来控制所述选择逻辑,且响应于到达所述决策树中的叶节点而提供所述分类;
其中所述存储器装置被配置成基于所述分类控制读取所述存储器单元群组的操作。
2.根据权利要求1所述的存储器装置,其中所述决策树是二进制分类决策树。
3.根据权利要求1所述的存储器装置,其中所述数据完整性分类器进一步包含:
阈值寄存器的集合,其被配置成存储预定义阈值;
其中所述选择逻辑被配置成从所述阈值寄存器集合选择阈值作为到所述比较器的输入。
4.根据权利要求3所述的存储器装置,其中所述数据完整性分类器进一步包括:
多个项目选择寄存器集合;
其中所述叶选择逻辑被配置成使用所述多个项目选择寄存器集合来分别控制所述选择逻辑选择多个项目;以及
其中所述比较器被配置成基于所述多个项目生成所述输出。
5.根据权利要求4所述的存储器装置,其中所述比较器的所述输出是基于所述多个项目是否满足预定义关系。
6.根据权利要求5所述的存储器装置,其中所述数据完整性分类器被配置成一次一个节点地评估所述决策树。
7.根据权利要求6所述的存储器装置,其进一步包括:
集成电路封装,其围封所述存储器装置。
8.根据权利要求5所述的存储器装置,其进一步包括:
特征生成器;且
其中所述校准电路被配置成测量信号和噪声特性的多个集合且确定分别基于信号和噪声特性的所述多个集合优化的多个读取电压;
其中所述校准电路被配置成在测量信号和噪声特性的第一集合之后测量信号和噪声特性的第二集合;且
其中所述特征生成器被配置成:
至少部分与测量所述第二集合并行地依据信号和噪声特性的所述第一集合生成第一复合特征;以及
在所述第二集合变得可用之后根据信号和噪声特性的所述第二集合更新所述第一复合特征。
9.一种方法,其包括:
从特征寄存器选择至少一个特征作为输入,所述至少一个特征是依据存储器装置中的存储器单元群组的信号和噪声特性生成的;
至少部分地基于选自所述特征寄存器的所述至少一个特征生成输出,所述输出识别决策树中的选定子节点;
根据识别所述决策树中的节点连接性的数据控制在评估所述子节点的过程中从所述特征寄存器的进一步选择;以及
响应于根据识别所述决策树中的所述节点连接性的所述数据选择叶节点的输出提供与所述叶节点预先相关联的分类。
10.根据权利要求9所述的方法,其进一步包括:
在数据完整性分类器的所述特征寄存器中存储依据所述存储器装置中的存储器单元群组的所述信号和噪声特性生成的特征;以及
在叶路径寄存器文件中存储识别所述数据完整性分类器的所述决策树中的所述节点连接性的所述数据;
其中所述输入提供到节点决策逻辑,所述节点决策逻辑在选择所述决策树中的子节点的过程中生成输出;
其中由叶选择逻辑根据识别所述决策树中的节点连接性的所述数据控制所述进一步选择;且
其中所述分类表征从所述存储器单元群组可检索的数据的位错误率。
11.根据权利要求10所述的方法,其进一步包括:
基于所述分类控制读取所述存储器单元群组的操作。
12.根据权利要求11所述的方法,其中所述从所述特征寄存器选择所述至少一个特征是在所述叶选择逻辑的控制下;且所述方法进一步包括:
将预定义阈值存储在所述数据完整性分类器的阈值寄存器的集合中;以及
在所述叶选择逻辑的控制下从所述阈值寄存器选择阈值作为到所述比较器的输入;
其中由所述节点决策逻辑生成的所述输出是选自所述阈值寄存器的所述阈值和选自所述特征寄存器的所述至少一个特征的函数。
13.根据权利要求12所述的方法,其进一步包括:
在多个项目选择寄存器集合中存储所述多个项目选择寄存器集合中的每一寄存器,其针对所述决策树中的分支节点识别存储于所述阈值寄存器和所述特征寄存器中的项目;
其中所述叶选择逻辑致使所述多个项目选择寄存器集合针对所述分支节点提供多个输出,所述多个输出用于分别从所述阈值寄存器和所述特征寄存器选择多个项目;且
其中所述多个项目被提供作为到所述节点决策逻辑的输入以生成到所述叶选择逻辑的输出。
14.根据权利要求13所述的方法,其中所述决策树是二进制分类决策树;且所述节点决策逻辑包含比较器。
15.根据权利要求13所述的方法,其中一次一个地评估所述决策中的分支节点直至到达所述决策树中的所述叶节点。
16.根据权利要求15所述的方法,其进一步包括:
测量信号和噪声特性的多个集合,包含信号和噪声特性的第一集合以及在测量信号和噪声特性的所述第一集合之后测得的信号和噪声特性的第二集合;
计算分别基于信号和噪声特性的所述多个集合优化的多个读取电压;
至少部分与测量所述第二集合并行地依据信号和噪声特性的所述第一集合生成第一复合特征;以及
在所述第二集合变得可用之后根据信号和噪声特性的所述第二集合更新所述第一复合特征,其中存储于所述特征寄存器中的至少一个特征是基于所述第一复合特征。
17.一种存储器子系统,其包括:
处理装置;以及
至少一个存储器装置,所述存储器装置具有:
存储器单元群组,其形成于集成电路裸片上;以及
校准电路,其被配置成测量所述存储器单元群组的信号和噪声特性的多个集合,且分别依据信号和噪声特性的所述多个集合确定所述存储器单元群组的多个经优化读取电压;
其中所述存储器子系统包含被配置成确定从所述存储器单元群组可检索的数据的位错误率的分类的数据完整性分类器,其中所述数据完整性分类器包含:
特征寄存器,其被配置成存储依据所述存储器单元群组的信号和噪声特性的所述多个集合计算得到的特征;
阈值寄存器,其被配置成存储预定义阈值;
选择逻辑,其被配置成从所述特征寄存器和所述阈值寄存器选择多个项目;
决策逻辑,其被配置成从所述多个项目生成输出,所述输出识别通过将所述多个项目施加在分支节点上而实现的所述决策树中的子节点的选择;以及
叶选择逻辑,其被配置成基于所述决策逻辑的所述输出和识别所述决策树中的节点连接性的数据来控制由所述选择逻辑从所述特征寄存器和所述阈值寄存器选择项目;
其中响应于到达所述决策树中的叶节点,所述叶选择逻辑被配置成提供从所述存储器单元群组可检索的数据的位错误率的分类,所述分类与所述叶节点预先相关联;且
其中所述存储器子系统被配置成基于所述分类控制读取所述存储器单元群组的操作。
18.根据权利要求17所述的存储器子系统,其中所述数据完整性分类器一次一个地评估所述决策树直至到达所述叶节点。
19.根据权利要求18所述的存储器子系统,其中所述决策树是二进制分类决策树。
20.根据权利要求19所述的存储器子系统,其中所述决策逻辑包含比较器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/807,065 US20210273650A1 (en) | 2020-03-02 | 2020-03-02 | Classification of error rate of data retrieved from memory cells |
US16/807,065 | 2020-03-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113344020A true CN113344020A (zh) | 2021-09-03 |
Family
ID=77463813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110219748.0A Pending CN113344020A (zh) | 2020-03-02 | 2021-02-26 | 从存储器单元检索的数据的错误率的分类 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210273650A1 (zh) |
CN (1) | CN113344020A (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11029890B1 (en) | 2020-03-02 | 2021-06-08 | Micron Technology, Inc. | Compound feature generation in classification of error rate of data retrieved from memory cells |
US11740970B2 (en) | 2020-03-02 | 2023-08-29 | Micron Technology, Inc. | Dynamic adjustment of data integrity operations of a memory system based on error rate classification |
US11221800B2 (en) | 2020-03-02 | 2022-01-11 | Micron Technology, Inc. | Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells |
US11086572B1 (en) | 2020-03-02 | 2021-08-10 | Micron Technology, Inc. | Self adapting iterative read calibration to retrieve data from memory cells |
US11081200B1 (en) | 2020-05-07 | 2021-08-03 | Micron Technology, Inc. | Intelligent proactive responses to operations to read data from memory cells |
US11562793B2 (en) | 2020-05-07 | 2023-01-24 | Micron Technology, Inc. | Read soft bits through boosted modulation following reading hard bits |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881230A (en) * | 1987-10-05 | 1989-11-14 | Ibm Corporation | Expert system for processing errors in a multiplex communications system |
US6058205A (en) * | 1997-01-09 | 2000-05-02 | International Business Machines Corporation | System and method for partitioning the feature space of a classifier in a pattern classification system |
CN102084430A (zh) * | 2008-07-02 | 2011-06-01 | 美光科技公司 | 用于修补高容量/高带宽存储器装置的方法及设备 |
US20140269057A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Non-volatile memory device and programming method |
CN104572517A (zh) * | 2013-10-24 | 2015-04-29 | 国际商业机器公司 | 提供被请求数据的方法、控制器以及计算机系统 |
CN105027221A (zh) * | 2012-12-06 | 2015-11-04 | 美光科技公司 | 基于错误校正而设定默认读取信号 |
CN105637791A (zh) * | 2014-05-27 | 2016-06-01 | 华为技术有限公司 | 一种循环映射方法和设备 |
US20170213597A1 (en) * | 2016-01-27 | 2017-07-27 | Microsemi Storage Solutions (Us), Inc. | Nonvolatile memory system with program step manager and method for program step management |
CN107797935A (zh) * | 2016-09-06 | 2018-03-13 | 三星电子株式会社 | 存储装置和用于非易失性存储器装置的访问方法 |
CN107851197A (zh) * | 2015-07-06 | 2018-03-27 | 德克萨斯仪器股份有限公司 | 自适应增强(AdaBoost)分类器中的高效决策树遍历 |
CN108108810A (zh) * | 2016-11-24 | 2018-06-01 | 三星电子株式会社 | 包括非易失性存储器件的存储装置及访问方法 |
US10199111B1 (en) * | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Memory devices with read level calibration |
CN109416654A (zh) * | 2016-06-29 | 2019-03-01 | 美光科技公司 | 错误校正码事件检测 |
CN109859788A (zh) * | 2019-02-23 | 2019-06-07 | 浙江大学 | 阻式存储器的误码率测试方法 |
US20200067637A1 (en) * | 2018-08-21 | 2020-02-27 | The George Washington University | Learning-based high-performance, energy-efficient, fault-tolerant on-chip communication design framework |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117231B2 (en) * | 2000-12-07 | 2006-10-03 | International Business Machines Corporation | Method and system for the automatic generation of multi-lingual synchronized sub-titles for audiovisual data |
KR20060085380A (ko) * | 2005-01-24 | 2006-07-27 | 주식회사 현대오토넷 | 위성위치확인 시스템을 이용한 방송채널 자동 변환장치 및방법 |
KR101434404B1 (ko) * | 2008-07-30 | 2014-08-29 | 삼성전자주식회사 | 파라미터를 추출하는 불휘발성 메모리 장치 및 그것을포함하는 불휘발성 메모리 시스템 |
US8595415B2 (en) * | 2011-02-02 | 2013-11-26 | Micron Technology, Inc. | At least semi-autonomous modules in a memory system and methods |
KR20120107336A (ko) * | 2011-03-21 | 2012-10-02 | 삼성전자주식회사 | 메모리 시스템 및 그것의 어드레싱 방법 |
US8745318B2 (en) * | 2011-06-28 | 2014-06-03 | Seagate Technology Llc | Parameter tracking for memory devices |
US9626286B2 (en) * | 2014-10-03 | 2017-04-18 | Sandisk Technologies Llc | Hardware and firmware paths for performing memory read processes |
US9690361B2 (en) * | 2014-12-24 | 2017-06-27 | Intel Corporation | Low-power context-aware control for analog frontend |
US11341410B1 (en) * | 2017-12-07 | 2022-05-24 | Triad National Security, Llc | Subsurface stress criticality associated with fluid injection and determined using machine learning |
CN110471788B (zh) * | 2018-05-08 | 2024-03-15 | 美光科技公司 | 异步功率损耗影响的数据结构 |
US11074049B2 (en) * | 2018-12-21 | 2021-07-27 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method and system for generating program code modified by rule sets |
US11531915B2 (en) * | 2019-03-20 | 2022-12-20 | Oracle International Corporation | Method for generating rulesets using tree-based models for black-box machine learning explainability |
US11409286B2 (en) * | 2019-12-18 | 2022-08-09 | Intel Corporation | Hardware random forest: low latency, fully reconfigurable ensemble classification |
-
2020
- 2020-03-02 US US16/807,065 patent/US20210273650A1/en active Pending
-
2021
- 2021-02-26 CN CN202110219748.0A patent/CN113344020A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881230A (en) * | 1987-10-05 | 1989-11-14 | Ibm Corporation | Expert system for processing errors in a multiplex communications system |
US6058205A (en) * | 1997-01-09 | 2000-05-02 | International Business Machines Corporation | System and method for partitioning the feature space of a classifier in a pattern classification system |
CN102084430A (zh) * | 2008-07-02 | 2011-06-01 | 美光科技公司 | 用于修补高容量/高带宽存储器装置的方法及设备 |
CN105027221A (zh) * | 2012-12-06 | 2015-11-04 | 美光科技公司 | 基于错误校正而设定默认读取信号 |
US20140269057A1 (en) * | 2013-03-15 | 2014-09-18 | Samsung Electronics Co., Ltd. | Non-volatile memory device and programming method |
CN104572517A (zh) * | 2013-10-24 | 2015-04-29 | 国际商业机器公司 | 提供被请求数据的方法、控制器以及计算机系统 |
CN105637791A (zh) * | 2014-05-27 | 2016-06-01 | 华为技术有限公司 | 一种循环映射方法和设备 |
CN107851197A (zh) * | 2015-07-06 | 2018-03-27 | 德克萨斯仪器股份有限公司 | 自适应增强(AdaBoost)分类器中的高效决策树遍历 |
US20170213597A1 (en) * | 2016-01-27 | 2017-07-27 | Microsemi Storage Solutions (Us), Inc. | Nonvolatile memory system with program step manager and method for program step management |
CN109416654A (zh) * | 2016-06-29 | 2019-03-01 | 美光科技公司 | 错误校正码事件检测 |
CN107797935A (zh) * | 2016-09-06 | 2018-03-13 | 三星电子株式会社 | 存储装置和用于非易失性存储器装置的访问方法 |
CN108108810A (zh) * | 2016-11-24 | 2018-06-01 | 三星电子株式会社 | 包括非易失性存储器件的存储装置及访问方法 |
US10199111B1 (en) * | 2017-08-04 | 2019-02-05 | Micron Technology, Inc. | Memory devices with read level calibration |
US20190043590A1 (en) * | 2017-08-04 | 2019-02-07 | Micron Technology, Inc. | Memory devices with read level calibration |
US20200067637A1 (en) * | 2018-08-21 | 2020-02-27 | The George Washington University | Learning-based high-performance, energy-efficient, fault-tolerant on-chip communication design framework |
CN109859788A (zh) * | 2019-02-23 | 2019-06-07 | 浙江大学 | 阻式存储器的误码率测试方法 |
Non-Patent Citations (6)
Title |
---|
R. COGGINS: "A hybrid analog and digital VLSI neural network for intracardiac morphology classification", 《IEEE XPLORE》 * |
R. COGGINS: "A hybrid analog and digital VLSI neural network for intracardiac morphology classification", 《IEEE XPLORE》, 31 May 1995 (1995-05-31) * |
杜秀芝: "基于决策树分类算法的噪声容错性研究", 《百度学术》 * |
杜秀芝: "基于决策树分类算法的噪声容错性研究", 《百度学术》, 31 May 2010 (2010-05-31) * |
汤津: "基于模糊支持向量回归机的WSN链路质量预测模型", 《CNKI中国知网》 * |
汤津: "基于模糊支持向量回归机的WSN链路质量预测模型", 《CNKI中国知网》, 15 June 2016 (2016-06-15) * |
Also Published As
Publication number | Publication date |
---|---|
US20210273650A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113344021B (zh) | 从存储器单元检索的数据的错误率的分类中的复合特征生成 | |
CN113628667B (zh) | 对用以从存储器单元读取数据的操作的智能主动响应 | |
US11587624B2 (en) | Coarse calibration based on signal and noise characteristics of memory cells collected in prior calibration operations | |
US11775217B2 (en) | Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells | |
US20210273650A1 (en) | Classification of error rate of data retrieved from memory cells | |
US11024401B1 (en) | Compute an optimized read voltage | |
US11049582B1 (en) | Detection of an incorrectly located read voltage | |
CN113342567A (zh) | 基于错误率分类对存储器系统的数据完整性操作的动态调整 | |
CN113628664B (zh) | 对从存储器单元读取软位和硬位的改进 | |
CN113345502A (zh) | 从存储器单元检索数据的自适应迭代读取校准 | |
US11670396B2 (en) | Determine bit error count based on signal and noise characteristics centered at an optimized read voltage | |
US11152073B1 (en) | Iterative read calibration enhanced according to patterns of shifts in read voltages | |
CN113628668A (zh) | 在读取硬位后通过升压调制读取软位 | |
CN113628673B (zh) | 确定以经优化读取电压为中心的信号和噪声特性 | |
US11355203B2 (en) | Determine optimized read voltage via identification of distribution shape of signal and noise characteristics |
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 |