CN113936729A - 控制器及其操作方法 - Google Patents
控制器及其操作方法 Download PDFInfo
- Publication number
- CN113936729A CN113936729A CN202110414427.6A CN202110414427A CN113936729A CN 113936729 A CN113936729 A CN 113936729A CN 202110414427 A CN202110414427 A CN 202110414427A CN 113936729 A CN113936729 A CN 113936729A
- Authority
- CN
- China
- Prior art keywords
- read
- read voltage
- voltages
- voltage
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- 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/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3422—Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
-
- 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
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种用于控制存储器装置的控制器,该存储器装置包括多个多层单元存储块,该控制器包括:处理器,适用于控制存储器装置使用所选择的读取电压组中的多个读取电压中的一些读取电压来对目标逻辑页面执行读取操作;以及错误校正码(ECC)组件,适用于通过对在读取操作中生成的并从存储器装置输出的数据执行错误检测和校正,确定读取操作是否成功,其中,当确定读取操作成功时,处理器利用读取操作成功时在该读取操作中已使用的读取电压以及所选择的读取电压组的未使用的读取电压的估计值来更新所选择的读取电压组,该估计值基于已使用的读取电压而确定。
Description
相关申请的交叉引用
本申请要求于2020年7月13日提交的、申请号为10-2020-0086156的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例涉及一种控制存储器装置的控制器。
背景技术
计算机环境范例已经转变为使得能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增长。这些便携式电子装置通常使用具有一个或多个用于存储数据的存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为它们没有移动部件,所以存储器系统提供了诸如以下的优点:优异的稳定性和耐久性、高信息访问速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例针对一种控制器及其操作方法,尽管使用读取电压组的一些读取电压的值执行读取操作,该控制器也能够估计读取电压组的未使用的读取电压的值并利用所估计的值来更新读取电压组。
根据实施例,一种用于控制存储器装置的控制器,该存储器装置包括多个多层单元存储块,该控制器包括:存储器,适用于存储多个读取电压组,每个读取电压组具有用于读取多层单元存储块的多个读取电压;处理器,适用于控制存储器装置使用读取电压组的所选择的读取电压组中的多个读取电压中的一些读取电压来对目标逻辑页面执行读取操作;以及错误校正码(ECC)组件,适用于通过对在读取操作中生成的并从存储器装置输出的数据执行错误检测和校正来确定读取操作是否成功,其中,当确定读取操作成功时,处理器利用读取操作成功时在该读取操作中已使用的读取电压以及所选择的读取电压组的未使用的读取电压的估计值来更新所选择的读取电压组,该估计值基于已使用的读取电压而确定。
根据实施例,一种控制存储器装置的控制器的操作方法,该存储器装置包括多个多层单元存储块,该操作方法包括:控制存储器装置使用控制器的存储器中存储的多个读取电压组的所选择的读取电压组中的多个读取电压中的一些读取电压来对目标逻辑页面执行读取操作,读取电压组中的每一个具有用于读取多层单元存储块的多个读取电压;通过对通过读取操作从存储器装置输出的数据执行错误检测和校正,确定读取操作是否成功;并且利用读取操作成功时在该读取操作中已使用的读取电压以及所选择的读取电压组的未使用的读取电压的估计值来更新所选择的读取电压组,该估计值基于已使用的读取电压而确定。
根据实施例,一种存储器系统包括:存储器装置,包括多个存储块;以及控制器,被配置为:控制存储器装置使用目标读取电压组中的选择读取电压来对目标逻辑页面执行读取操作,目标读取电压组包括选择读取电压和其余读取电压;确定读取操作是否成功;当确定读取操作成功时,基于选择读取电压中的每一个的先前值与当前值之间的差来改变其余读取电压中的每一个的值;并且更新目标读取电压组,使得选择读取电压具有当前值并且其余读取电压具有改变后的值。
附图说明
图1是示意性地示出根据实施例的包括存储器系统的数据处理系统的示例的示图。
图2是示出存储器装置的存储器单元阵列的示例性配置的电路图。
图3是示出存储器单元的阈值电压分布的示图。
图4示出读取电压表的示例。
图5是示出根据实施例的仅使用读取电压组中的一些读取电压的读取操作形式的媒体扫描操作。
图6是示出根据实施例的估计读取电压的示图。
图7是示出根据第一实施例的估计未使用的读取电压的值的示图。
图8是示出根据第二实施例的估计未使用的读取电压的示图。
图9是示出根据第三实施例的估计未使用的读取电压的示图。
图10是详细示出根据第三实施例的操作的示图。
具体实施方式
下面参照附图详细地描述各个实施例。然而,本发明可以以不同的形式实现,因此不应被解释为限于本文阐述的实施例。相反,提供这些实施例,使得本公开是彻底且完整的,并且向本领域技术人员充分传达本公开的范围。在整个公开中,相同的附图标记在本公开的各个附图和实施例中指代相同的部件。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任意这种短语的不同引用不一定针对相同的(多个)实施例。本文使用的术语“实施例”不一定指所有实施例。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括可操作地联接到存储器系统110的主机102。
主机102可以包括诸如移动电话、MP3播放器和/或膝上型计算机的各种便携式电子装置中的任意一种,或者诸如台式计算机、游戏机、电视(TV)和/或投影仪的各种非便携式电子装置中的任意一种。
主机102可以包括至少一个操作系统(OS),OS可以管理和控制主机102的全部功能和操作,并且提供主机102与使用数据处理系统100或存储器系统110的用户之间的操作。OS可以支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,可以将OS划分为通用OS和移动OS。根据用户的环境,可以将通用OS划分为个人OS和企业OS。
存储器系统110可以响应于主机102的请求而操作以存储主机102的数据。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和/或记忆棒。MMC可以包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC。SD卡可以包括迷你SD卡和微型SD卡。
存储器系统110可以由各种类型的存储装置中的任意一种实现。这种存储装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有三维(3D)堆叠结构。
存储器系统110可以包括控制器130和存储器装置150。存储器装置150可以存储主机102的数据,并且控制器130可以控制将数据存储到存储器装置150中。
控制器130和存储器装置150可以被集成到单个半导体装置中。例如,控制器130和存储器装置150可以被集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可以提高连接到存储器系统110的主机102的操作速度。在另一实施例中,控制器130和存储器装置150可以被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、包括缩小尺寸的多媒体卡(MMC)(RS-MMC)和微型MMC的MMC、包括迷你安全数字(SD)卡、微型SD卡和SDHC卡的SD卡或通用闪存(UFS)装置。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑匣子、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一种、构成计算机网络的各种电子装置中的一种、构成远程信息处理网络的各种电子装置中的一种、射频识别(RFID)装置或构成计算系统的各种组件中的一种。
存储器装置150可以是非易失性存储器装置,并且即使没有供应电力也可以保留其中存储的数据。存储器装置150可以通过编程操作存储从主机102提供的数据,并且通过读取操作将其中存储的数据提供到主机102。
存储器装置150可以包括闪速存储器装置。闪速存储器装置可以将数据存储在包括存储器单元晶体管的存储器单元阵列中。闪速存储器装置可以具有(多个)存储器管芯、(多个)平面、(多个)存储块和(多个)页面的分层结构。一个存储器管芯一次可以接收一个命令。闪速存储器装置可以包括多个存储器管芯。一个存储器管芯可以包括多个平面,该多个平面可以并行地处理由存储器管芯接收的命令。平面中的每一个可以包括多个存储块。存储块可以对应于擦除操作的最小单位。每个存储块可以包括多个页面。页面可以对应于写入操作的最小单位。
参照图2更具体地描述了存储器装置150的结构。
图2是示出存储器装置150的存储器单元阵列的示例性配置的电路图。
参照图2,存储块330代表存储器系统110的存储器装置150中的多个存储块中的任意一个。存储块330可以包括多个单元串340,该多个单元串340联接到多个相应位线BL0至BLm-1。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联联接。在实施例中,存储器单元MC0至MCn-1中的每一个可以由能够存储多个位的数据信息的多层单元(MLC)实现。单元串340中的每一个可以电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图2所示,第一单元串联接到第一位线BL0,最后一个单元串联接到最后一个位线BLm-1。在图2中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示公共源极线。
尽管图2示出了NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合两种或更多种类型的存储器单元的混合闪速存储器单元。而且,注意的是,存储器装置150可以是包括导电浮栅作为电荷存储层的闪速存储器装置,或者包括绝缘层作为电荷存储层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可以进一步包括电压源310,该电压源310根据操作模式提供包括编程电压、读取电压和通过电压的字线电压以向字线供应。可以由控制电路(未示出)控制电压源310的电压生成操作。在控制电路的控制下,电压源310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供到所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储器单元阵列读取数据的读出放大器进行操作。在编程操作期间,读取/写入电路320可以作为用于根据待存储在存储器单元阵列中的数据来驱动位线的写入驱动器进行操作。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且根据接收到的数据来驱动位线。读取/写入电路320可以包括分别对应于列(或位线)或者列对(或位线对)的多个页面缓冲器(PB)322至326。页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
存储器装置150可以由二维(2D)或三维(3D)存储器装置实现。特别地,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置实现。当存储器装置150具有3D结构时,存储器装置150可以包括多个存储块。
存储器装置150中的每个存储块330可以包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS,其中第一、第二和第三方向可以相互正交。NAND串NS中的每一个可以联接到位线BL、至少一个漏极选择线DSL、至少一个源极选择线SSL、多个字线WL、至少一个虚设字线DWL(未示出)和公共源极线CSL。NAND串NS中的每一个可以包括多个晶体管结构。
简而言之,存储器装置150的每个存储块330可以联接到多个位线BL、多个漏极选择线DSL、多个源极选择线SSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL,并且每个存储块330可以包括多个NAND串NS。而且,在每个存储块330中,一个位线BL可以联接到多个NAND串NS,以在一个NAND串NS中配置多个晶体管。而且,每个NAND串NS的漏极选择晶体管DST可以联接到相应位线BL,并且每个NAND串NS的源极选择晶体管SST可以联接到公共源极线CSL。可以在每个NAND串NS的漏极选择晶体管DST和源极选择晶体管SST之间设置存储器单元MC。换句话说,可以在存储器装置150的每个存储块330中设置多个存储器单元。
存储器装置150可以包括每个都能够存储具有多个位的数据的多层单元。例如,每个多层单元可以包括能够存储具有三个位的数据的三层单元(TLC)。
编程相同数据的多个存储器单元的阈值电压由于存储器单元之间的精细电特性的差异而可能形成阈值电压分布。
图3是示出存储器单元的阈值电压分布,例如TLC的阈值电压分布的示图。
当对TLC进行编程时,TLC可以具有七个编程状态P1至P7和擦除状态E中的任意一个。图3所示的各个状态的阈值电压分布不重叠,并且每个可以具有特定的读取电压裕量(margin)范围。
TLC的状态可以分别映射到3位数据的不同排列(permutation)。例如,擦除状态E可以映射到数据“111”。同样,七个编程状态P1至P7可以分别映射到数据“110”、“100”、“000”、“010”、“011”、“001”和“101”。参照图3,3位数据的最高有效位可以被表示为MSB,3位数据的中央有效位可以被表示为CSB,并且3位数据的最低有效位可以被表示为LSB。
存储器装置150可以以一个字线为单位对数据进行编程。联接到一个字线的一组存储器单元可以被表示为物理页面。一个物理页面中的存储器单元中的每一个可以存储3位数据。因此,一个物理页面可以包括MSB页面、CSB页面和LSB页面,即三个逻辑页面。
存储器装置150可以将多个读取电压施加到与存储器单元联接的字线,以便读取由存储器单元指示的数据。例如,存储器装置150可以将七个读取电压R1至R7施加到字线,以便读取TLC中的数据。由存储器装置150施加的用于读取数据的多个读取电压被表示为读取电压组。
在对存储器单元进行编程之后,存储器单元的阈值电压分布可能会随时间变化。例如,当将电压施加到经编程的存储器单元周围的字线时,因为该经编程的存储器单元的阈值电压增加,所以阈值电压分布可能会变化。再例如,如果经编程的存储器单元被闲置,因为困在该经编程的存储器单元中的电荷丢失,所以该经编程的存储器单元的阈值电压分布可能会变化。
为了使存储器装置150准确地读取数据,需要基于存储器单元的阈值电压分布来适当地选择待施加到字线的读取电压。下面描述了能够选择多个读取电压的控制器130。
重新参照图1,控制器130可以响应于来自主机102的请求而控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供到主机102,并且将从主机102提供的数据存储到存储器装置150中。为此,控制器130可以控制存储器装置150的读取操作、编程操作和擦除操作。
控制器130可以包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、诸如NAND闪存控制器(NFC)的存储器I/F 142和存储器144。
主机I/F 132可以被配置为处理主机102的命令和数据。主机I/F132可以通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和电子集成驱动器(IDE)。
可以通过被称为主机接口层(HIL)的固件来驱动主机I/F 132,以便与主机102交换数据。
存储器I/F 142可以用作用于使控制器130和存储器装置150进行接口连接的存储器/存储装置接口,使得控制器130响应于来自主机102的请求而控制存储器装置150。当存储器装置150是闪速存储器,诸如是NAND闪速存储器时,存储器I/F 142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理待提供到存储器装置150的数据。存储器I/F 142可以用作用于处理控制器130与存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器I/F 142可以支持控制器130和存储器装置150之间的数据传送。
可以通过被称为闪存接口层(FIL)的固件来驱动存储器I/F 142,以便与存储器装置150交换数据。
ECC组件138可以对从存储器装置150读取的数据中包含的(多个)错误进行检测和校正。换句话说,通过在ECC编码处理期间使用的ECC值,ECC组件138可以对从存储器装置150读取的数据执行错误校正解码处理。根据错误校正解码处理的结果,ECC组件138可以输出信号,例如,错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC组件138可以不校正错误位,而是可以输出错误校正失败信号。
ECC组件138可以包括ECC编码器和ECC解码器。ECC编码器可以通过对待编程到存储器装置150中的数据执行错误校正编码来生成具有奇偶校验位的数据,并且该具有奇偶校验位的数据可以被存储在存储器装置150中。当读取存储器装置150中存储的数据时,ECC解码器可以对从存储器装置150读取的数据中的错误进行检测和校正。
ECC组件138可以通过诸如以下的编码调制来执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍坤格姆(BCH)码、turbo码、里德-所罗门码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)。然而,ECC组件138不限于任何特定结构。ECC组件138可以包括用于适当的错误校正的任意和所有的电路、模块、系统或装置。
处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件以控制存储器系统110的全部操作。该固件可以被称为闪存转换层(FTL)。而且,处理器134可以被实现为微处理器或中央处理单元(CPU)。
处理器134可以驱动FTL并执行与从主机102接收的请求相对应的前台操作。例如,处理器134可以响应于来自主机102的写入请求而控制存储器装置150的写入操作,并且响应于来自主机102的读取请求而控制存储器装置150的读取操作。
而且,控制器130可以通过处理器134对存储器装置150执行后台操作。例如,后台操作可以包括垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除操作、坏块管理操作或媒体扫描操作。
存储器装置150的读取操作可以作为前台操作或后台操作而执行。如参照图3所述,为了准确地从存储器装置150读取数据,处理器134需要基于存储器单元的阈值电压来确定待施加到存储器装置150的读取电压。例如,处理器134可以将在先前的读取操作中使用的读取电压存储在控制器130中,并且可以在执行当前读取操作时使用所存储的读取电压来执行读取操作,在该先前的读取操作中,ECC组件138成功地校正了读取的数据。所存储的读取电压可以被表示为历史读取电压。
存储器144可以用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求而控制存储器装置150执行读取操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供到主机102,可以将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150用于执行这些操作的数据。
存储器144可以被实现为易失性存储器。例如,存储器144可以被实现为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可以被设置在控制器130的内部或外部。图1例示了被设置在控制器130内的存储器144。在另一实施例中,存储器144可以是具有在存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器。
存储器144可以存储读取电压表146(READ VOLTAGE TABLE),该读取电压表146包括控制器130和存储器装置150用于执行操作的数据。例如,读取电压表146可以存储历史读取电压。
图4示出了读取电压表146的示例。
在图4的示例中,读取电压表146可以存储每个存储块的历史读取电压组,即,每个存储块的多个历史读取电压。存储块可以是TLC存储块。存储器装置150可以使用多个读取电压,例如七个读取电压R1至R7来执行读取操作。
图4中示出了第一存储块BLOCK1的七个历史读取电压R11至R17。也就是说,R11至R17可以是存储器装置150在对第一存储块BLOCK1最近执行且成功完成的读取操作中使用的读取电压。同样,还示出了第二存储块BLOCK2的历史读取电压R21至R27。R11至R17和R21至R27中的每一个都是固定电压。为了进行跨图比较,图4中的R11至R17和R21至R27中的每一个对应于图3中的R1至R7。
当从存储块读取数据时,并非一定要使用读取电压组中的所有读取电压。在图3的示例中,尽管存储器装置150仅将第一读取电压R1和第五读取电压R5施加到字线,也可以区分LSB为“0”的阈值电压状态与LSB为“1”的阈值电压状态。因此,尽管存储器装置150仅将第一读取电压R1和第五读取电压R5施加到字线,也可以从与该字线相关联的LSB页面读取数据。
为了使处理器134从存储器装置150获得成功进行错误校正的可能性较高的数据,读取电压表146可以具有基于每个存储块的最新阈值电压分布的历史读取电压组。如果处理器134仅更新属于读取电压表146的历史读取电压组的以及在最近读取操作中使用的一些读取电压的值,则读取电压表146无法具有基于最新阈值电压分布的历史读取电压组。
例如,如果存储器装置150通过施加第一读取电压R1和第五读取电压R5来读取存储块的LSB页面,并且然后处理器134仅更新相应存储块的历史读取电压组中的第一读取电压R1和第五读取电压R5,则第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7可能仍来自过去的阈值电压分布。如果读取电压表146不具有基于最新阈值电压分布的历史读取电压组,则处理器134可能无法从存储器装置150获得准确的数据。
根据实施例,如果存储器装置150仅使用读取电压组中的一些读取电压已经成功完成了读取操作,则处理器134可以基于在成功完成的读取操作中使用的读取电压来估计其余读取电压的值,并且可以利用成功使用的读取电压以及所估计的读取电压来更新读取电压表146。
根据这样的实施例,尽管存储器装置150仅使用一些读取电压对存储块已经执行了读取操作,处理器134也可以通过合并存储器单元的最新阈值电压分布来更新相应存储块的读取电压组中的所有读取电压。通过使用已经合并了存储器单元的最新阈值电压分布的读取电压组,针对相应存储块的后续读取操作成功的可能性有所增加。因此,可以提高存储器系统110的性能和可靠性。
图5是示出根据实施例的包括仅使用读取电压组中的一些读取电压的读取操作的媒体扫描操作的流程图。
可能会由于已经编程了数据的存储器单元的阈值电压分布发生变化而损坏存储器单元中存储的数据。处理器134可以执行读取回收操作,以便防止数据中发生无法被ECC组件138校正的水平的错误。读取回收操作表示以下操作:当在从存储器装置150获得的数据中发生具有预定水平以上的错误时校正数据的错误,并且将校正后的数据存储在存储器装置150中。
处理器134可以执行媒体扫描操作,以防止对长时间尚未访问的存储块没有及时执行读取回收操作,并且防止数据损坏。媒体扫描操作表示以下操作:由处理器134周期性地从存储块读取数据,并且当读取数据中发生具有预定水平以上的错误时执行读取回收操作。参照图5具体描述了根据实施例的媒体扫描操作。
在操作S502,处理器134可以周期性地触发媒体扫描操作。
例如,处理器134可以确定触发媒体扫描,从而可以在所确定的时间段内读取存储器装置150的所有存储块。为此,处理器134在跨越所确定的时间段的各个触发周期内对所有存储块的各个子集执行媒体扫描操作,从而可以在所确定的时间段内读取存储器装置150的所有存储块一次。在当前触发的媒体扫描操作中待读取的存储块被表示为目标存储块。
在操作S504,处理器134可以控制存储器装置150读取目标存储块中的一个或一些逻辑页面。
例如,为了防止由于媒体扫描操作而引起的性能下降,处理器134可以控制存储器装置150读取目标存储块的所有存储器单元之中的易受影响的存储器单元。可以预先在统计上确定存储块的哪些存储器单元被认为易受影响。指示与易受影响的存储器单元联接的易受影响的字线的信息可以预先存储在存储器装置150中。
此外,处理器134可以控制存储器装置150读取一个或多个逻辑页面,例如仅读取LSB页面,而不是控制存储器装置150读取与易受影响的字线相关联的所有逻辑页面。当存储器装置150仅读取LSB页面时,存储器装置150可以仅将第一读取电压R1和第五读取电压R5施加到易受影响的字线。媒体扫描操作中的读取操作不是用于获取数据的操作,而是用于确定存储在存储块中的数据的可靠性的操作。处理器134可以基于仅读取与易受影响的字线相关联的一些逻辑页面(或者甚至仅一个逻辑页面)的结果来确定存储在存储块中的数据的可靠性,并且与读取所有逻辑页面的情况相比,可以在更短的时间内完成媒体扫描操作。
处理器134可以在读取电压表146中搜索与目标存储块的第一读取电压R1和第五读取电压R5相对应的历史读取电压。进一步地,处理器134可以控制存储器装置150基于检索到的历史读取电压来读取LSB页面。
在操作S504处存储器装置150读取LSB页面的以上示例仅仅是示例性的。在一些实施方案中,存储器装置150可以读取CSB页面或MSB页面。在图3的示例中,当存储器装置150在媒体扫描操作中仅读取CSB页面时,存储器装置150可以仅将第二读取电压R2、第四读取电压R4和第六读取电压R6施加到易受影响的字线。此外,当存储器装置150仅读取MSB页面时,存储器装置150可以仅将第三读取电压R3和第七读取电压R7施加到易受影响的字线。
在操作S506,ECC组件138可以对通过在S504进行的读取操作获得的数据执行错误校正解码,并且可以确定错误校正解码是否成功。
错误校正解码可以包括硬判决解码和软判决解码。ECC组件138可以使用通过仅施加第一读取电压R1和第五读取电压R5而读取的数据来执行硬判决解码。
当确定硬判决解码失败时,处理器134可以通过施加软读取电压,即,与第一读取电压R1和第五读取电压R5邻近或相邻的电压,来读取LSB页面,从而获得关于读取数据的可靠性信息。ECC组件138可以使用可靠性信息来执行软判决解码。
当确定错误校正解码失败(在S506为“否”)时,在操作S508,处理器134可以确定存储器装置150是否已执行最大次数的读取重试。
当确定存储器装置150尚未执行最大次数的读取重试(在S508为“否”)时,在操作S510,处理器134可以控制存储器装置150对LSB页面执行读取重试操作。
处理器134可以使用在针对LSB页面的先前读取操作中未使用并且在针对LSB页面的先前读取重试操作中也未使用的读取电压来执行读取重试操作。
作为第一示例,读取电压表146可以包括读取电压的读取重试表。处理器134可以控制存储器装置150使用读取重试表中的读取电压组的第一读取电压R1和第五读取电压R5对LSB页面执行读取重试操作。
作为第二示例,处理器134可以使用高斯建模算法等来确定最佳读取电压组,并且可以控制存储器装置150使用所确定的读取电压组的第一读取电压R1和第五读取电压R5对LSB页面执行读取重试操作。
当确定存储器装置150已执行最大次数的读取重试(在S508为“是”)时,在操作S512,处理器134可以确定对LSB页面的读取操作已失败。
当确定错误校正解码成功(在S506为“是”)时,在操作S514,处理器134可以确定是否对目标存储块执行读取回收操作。
例如,当在S506处的结果是处理器134使用硬判决解码对数据进行解码失败而软判决解码成功时,处理器134可以在S514确定对目标存储块执行读取回收操作。
当处理器134确定执行读取回收操作(在S514为“是”)时,在操作S516,处理器134可以从目标存储块获得数据,可以使用ECC组件138来校正数据的错误,并且可以控制存储器装置150将校正了错误的数据存储在目的地块中。此外,处理器134可以执行操作S518。
当处理器134确定不执行读取回收操作(在S514为“否”)时,在操作S518,处理器134可以基于第一读取电压R1和第五读取电压R5选择性地估计第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7,并且可以更新读取电压。
图6是示出根据实施例的估计读取电压的示图。
在图6所示的曲线图中,水平(即,x)轴指示存储器单元的阈值电压(Vth),垂直(即,y)轴指示具有相应阈值电压的存储器单元的数量。在图6的曲线图中,曲线(长短交替的虚线)示出存储器单元的阈值电压分布。图6的曲线图中的阈值电压分布可以是图3的曲线图中的理想阈值电压分布由于存储器单元的读取干扰和电荷泄漏而已经改变的阈值电压分布。
处理器134可以通过合并存储器单元的最新阈值电压分布来确定读取电压,使得存储器装置150可以准确地读取被编程到存储块的存储器单元中的数据。然而,处理器134不知道存储器单元的准确的当前阈值电压分布。因此,如参照图4所述,处理器134可以使用基于对存储块的最近读取操作的结果而确定的历史读取电压组来控制存储器装置150的读取操作。
可以仅使用读取电压组中的一些读取电压来执行针对存储块的某些读取操作,例如媒体扫描操作。当使用一些读取电压执行的读取操作成功时,那些读取电压的值可以合并最新阈值电压分布。图6示出当存储器装置150仅使用第一读取电压R1和第五读取电压R5已经成功读取存储块的LSB页面时的第一读取电压R1和第五读取电压R5的值。
处理器134可以基于已使用的读取电压来估计在读取操作中未使用的其余读取电压。图6示出第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7的估计值可以被表示为第一读取电压R1和第五读取电压R5的值的函数。在下文中,在针对存储块的最近读取操作中使用的读取电压被表示为已使用的读取电压,并且在最近读取操作中未使用的其余读取电压被表示为未使用的读取电压。也就是说,在图6的示例中,已使用的读取电压是第一读取电压R1和第五读取电压R5,未使用的读取电压是第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7。
根据参照图7至图10描述的各个实施例,处理器134可以基于已使用的读取电压的值来估计未使用的读取电压的值。当处理器134估计未使用的读取电压时,处理器134可以利用已使用的读取电压和所估计的未使用的读取电压来更新读取电压表146。
根据实施例,处理器134可以基于已经合并了存储器单元的最近电压分布的已使用的读取电压的值来估计未使用的读取电压的值。因此,存储器单元的最近电压分布也可以被合并到未使用的读取电压中。特别地,当存储器单元的最近电压分布改变并因此由于存储器装置150执行的读取重试而使已使用的读取电压的值改变时,处理器134通过合并存储器单元的改变后的最近电压分布,除了可以改变已使用的读取电压的值之外,还可以改变未使用的读取电压的值。
处理器134可以使用已经合并了存储器单元的最近电压分布的历史读取电压组来控制存储器装置150的后续读取操作。因此,因为由ECC组件138从存储器装置150获得的信息更加准确,所以ECC组件138将在错误校正解码中成功的可能性较高。处理器134仅需要执行少量的读取重试。因此,可以提高存储器系统110的可靠性和性能。
图7是示出根据第一实施例的估计未使用的读取电压的值的示图。
在图7所示的曲线图中,水平(即,x)轴指示存储器单元的阈值电压,垂直(即,y)轴指示具有相应阈值电压的存储器单元的数量。在图7中,曲线(长短交替的虚线)指示存储器单元的阈值电压分布,实线箭头指示已使用的读取电压的值。此外,虚线箭头指示根据第一实施例估计的未使用的读取电压的值。
在图7的示例中,处理器134可以基于第一读取电压R1和第五读取电压R5(即,已使用的读取电压)的值来估计第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7(即,未使用的读取电压)的值。具体地,处理器134可以估计未使用的读取电压的值,使得第一至第七读取电压R1至R7的值相等地间隔开,即,相邻读取电压之间的间隔相同。
处理器134可以利用已使用的读取电压的值以及未使用的读取电压的估计值来更新读取电压表146。
图8是示出根据第二实施例的估计未使用的读取电压的示图。
在图8所示的曲线图中,水平(即,x)轴指示存储器单元的阈值电压,垂直(即,y)轴指示具有相应阈值电压的存储器单元的数量。在图8中,曲线(长短交替的虚线)指示存储器单元的阈值电压分布,虚线箭头指示先前存储在读取电压表146中的先前读取电压值。此外,实线箭头指示通过最近读取操作所更新的最近读取电压值。最近读取电压值可以包括在最近读取操作中已使用的读取电压的值以及根据第二实施例估计的未使用的读取电压的值。
在图8的示例中,处理器134可以基于第一读取电压R1和第五读取电压R5(即,已使用的读取电压)的值的变化量(variance)来估计第二读取电压R2、第三读取电压R3、第四读取电压R4、第六读取电压R6和第七读取电压R7(即,未使用的读取电压)的值。
可以将已使用的读取电压的变化量确定为先前使用的读取电压的值与最近使用的读取电压的值之间的差。在图8的示例中,第一读取电压R1(即,已使用的读取电压)的值的第一变化量被示为δ1,第五读取电压R5的值的第二变化量被示为δ2。
处理器134可以将未使用的读取电压的值估计为从未使用的读取电压的先前值改变了估计变化量δ之后的值。处理器134可以将估计变化量δ确定为第一变化量δ1和第二变化量δ2的函数,即,δ=f(δ1,δ2)。作为第一示例,可以将估计变化量δ确定为第一变化量δ1和第二变化量δ2的平均值(均值),即,δ=mean(δ1,δ2)。作为第二示例,可以将估计变化量δ确定为第一变化量δ1和第二变化量δ2的最大值,即,δ=max(δ1,δ2)。作为第三示例,可以将估计变化量δ确定为第一变化量δ1和第二变化量δ2的最小值,即,δ=min(δ1,δ2)。估计变化量δ的函数不限于第一至第三示例。
处理器134可以利用已使用的读取电压的值以及未使用的读取电压的估计值来更新读取电压表146。
图9是示出根据第三实施例的估计未使用的读取电压的示图。
处理器134可以使用机器学习(ML)模型902,以便估计未使用的读取电压中的每一个的值。可以使用监督学习模型预先生成ML模型902。例如,为了预先生成ML模型902,可以使用深度神经网络。所生成的ML模型902可以被加载到存储器144中并且由处理器134驱动。
读取电压组的读取电压以及通过对使用读取电压值读取的数据进行错误校正解码而获得的错误校正信息可以用作监督学习的输入以及输出数据。
例如,监督学习的输入可以包括读取电压组中的在LSB页面读取中使用的已使用的读取电压的值Rused以及错误校正信息H。监督学习的输出可以是未使用的读取电压即在LSB页面读取中未使用的读取电压的值Runused。
错误校正信息指示存储器装置150的数据中包括多少个错误。
错误校正信息的第一示例可以是由存储器装置150输出的ECC输入数据与已经被ECC组件138校正错误的ECC输出数据之间的汉明距离。随着汉明距离的增加,ECC输入数据和ECC输出数据之间的差也可能增加。
错误校正信息的第二示例可以是通过针对由存储器装置150输出的ECC输入数据的初始奇偶校验生成的初始校正子矢量的汉明权重。ECC组件138可以对由存储器装置150输出的ECC输入数据执行初始奇偶校验,并且可以基于通过初始奇偶校验生成的初始校正子矢量来确定ECC输入数据中是否包括错误。ECC组件138可以基于ECC输入数据中是否包括错误来执行错误校正,并且可以重复对错误校正的结果执行后续奇偶校验的操作,直到错误校正成功或达到最大迭代次数。随着初始校正子矢量具有更大的汉明权重值,存储器装置150输出的数据的可靠性可能较低。
在一些实施例中,监督学习的输入数据可以进一步包括δ1和δ2,即,已使用的读取电压的值的变化量。可以将已使用的读取电压的值的变化量确定为已使用的读取电压的先前值与已使用的读取电压的最近值之间的差。
在参照图5描述的操作S518,可以选择性地执行根据第三实施例的估计未使用的读取电压。
图10是示出根据第三实施例的详细操作S518的示图。
参照图10,在操作S1002,处理器134可以确定δ1和δ2即已使用的读取电压的值的变化量的函数值是否超过阈值ε,f(δ1,δ2)>ε。该函数可以是变化量的平均值、变化量的最大值、变化量的最小值或变化量的其它合适的统计值。
当确定函数值超过阈值ε(在S1002为“是”)时,在操作S1004,处理器134可以通过驱动ML模型902来估计未使用的读取电压的值Runused。
根据ML模型902的实施方案,ML模型902的输入可以至少包括已使用的读取电压的值以及错误校正信息,并且可以进一步包括已使用的读取电压的值的变化量。可以在操作S506处通过错误校正解码来获得错误校正信息。ML模型902的输出可以包括未使用的读取电压的估计值。
在操作S1006,处理器134可以利用已使用的读取电压的值和未使用的读取电压的估计值Rall来更新读取电压表146。
当确定函数值不超过阈值ε(在S1002为“否”)时,因为已使用的读取电压的值的变化量足够小,所以处理器134可以确定未使用的读取电压的值的变化量足够小。因此,在操作S1008,处理器134可以仅利用已使用的读取电压的值Rused来更新读取电压表146。
根据实施例,处理器134可以控制存储器装置150仅使用读取电压组中的一些读取电压来对存储块执行读取操作。当读取操作成功完成时,处理器134可以基于已使用的读取电压的值来估计未使用的读取电压的值。处理器134可以将已使用的读取电压和其余未使用的读取电压值的估计值更新为读取电压表146中相应存储块的历史读取电压值。
在媒体扫描操作的示例中,处理器134可以控制存储器装置150仅使用一些读取电压来执行读取操作,使得存储器装置150可以在短时间内提高已经被编程到存储块中的数据的可靠性。此外,因为处理器134可以通过合并存储器单元的最近阈值电压分布,基于一些读取电压来更新相应存储块的所有历史读取电压的值,所以可以提高相应存储块的后续读取操作的可靠性。因此,可以提高存储器系统110的性能和可靠性。
本公开的实施例提供了一种控制器及其操作方法,尽管仅使用读取电压组的一些读取电压的值执行读取操作,该控制器也能够估计读取电压组的未使用的读取电压的值并利用所估计的值来更新读取电压组。
尽管已经示出并描述了各个实施例,但是根据本公开,对于本领域技术人员而言显而易见的是,在不脱离如所附权利要求书所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (20)
1.一种用于控制存储器装置的控制器,所述存储器装置包括多个多层单元存储块,所述控制器包括:
存储器,存储多个读取电压组,每个读取电压组具有读取所述多层单元存储块的多个读取电压;
处理器,控制所述存储器装置使用所述读取电压组的所选择的读取电压组中的所述多个读取电压中的一些读取电压来对目标逻辑页面执行读取操作;以及
错误校正码组件即ECC组件,通过对在所述读取操作中生成的以及从所述存储器装置输出的数据执行错误检测和校正,确定所述读取操作是否成功,
其中,当确定所述读取操作成功时,所述处理器利用所述读取操作成功时在所述读取操作中已使用的读取电压以及所述所选择的读取电压组的未使用的读取电压的估计值来更新所述所选择的读取电压组,所述估计值基于所述已使用的读取电压而确定。
2.根据权利要求1所述的控制器,其中所述处理器
在所述读取操作失败时,改变所述已使用的读取电压的值,并且
使用所述已使用的读取电压的改变后的值来重试所述读取操作。
3.根据权利要求1所述的控制器,其中所述处理器
响应于媒体扫描操作的触发,选择所述目标逻辑页面,并且
当所述读取操作成功时,基于由所述存储器装置输出的数据的错误的水平,对包括所述目标逻辑页面的存储块执行读取回收操作。
4.根据权利要求3所述的控制器,其中所述处理器
每当所述媒体扫描操作被触发时,从所述多个多层单元存储块中顺序地选择目标存储块,并且
通过选择与与所述目标存储块相关联的字线之中的易受影响的字线相关联的多个逻辑页面中的一些逻辑页面来选择所述目标逻辑页面。
5.根据权利要求1所述的控制器,其中所述处理器估计所述未使用的读取电压的值,使得所述已使用的读取电压和所述未使用的读取电压的估计值中的每个相邻对间隔开相同的间隔。
6.根据权利要求1所述的控制器,其中所述处理器
基于所述所选择的读取电压组的所述已使用的读取电压以及当所述读取操作成功时的所述已使用的读取电压来确定所述已使用的读取电压的变化量,并且
基于所确定的变化量以及所述所选择的读取电压组的所述未使用的读取电压来确定所述未使用的读取电压的估计值。
7.根据权利要求1所述的控制器,其中:
所述处理器进一步包括机器学习模型,所述机器学习模型基于所述多个读取电压组的选择读取电压以及使用所述选择读取电压读取的数据的错误校正信息来执行监督学习,并且
所述机器学习模型使用当所述读取操作成功时的所述已使用的读取电压以及通过所述读取操作读取的数据的错误校正信息作为输入数据,输出所述未使用的读取电压的估计值。
8.根据权利要求7所述的控制器,其中所述错误校正信息包括从所述存储器装置输入到所述ECC组件的数据与由所述ECC组件输出的校正了错误的数据之间的汉明距离,以及通过输入到所述ECC组件的数据的初始奇偶校验生成的初始校正子矢量的汉明权重。
9.根据权利要求7所述的控制器,其中所述处理器
基于所述所选择的读取电压组的所述已使用的读取电压以及当所述读取操作成功时的所述已使用的读取电压来确定所述已使用的读取电压的变化量,
当所述变化量超过阈值时,使用所述机器学习模型来确定所述未使用的读取电压的估计值中的每一个,并且
当所述变化量不超过所述阈值时,将所述未使用的读取电压的估计值中的每一个确定为与所述所选择的读取电压组的相应的未使用的读取电压相同。
10.根据权利要求1所述的控制器,其中存储在所述存储器中的所述读取电压组包括针对每个存储块的至少一个历史读取电压组。
11.一种控制存储器装置的控制器的操作方法,所述存储器装置包括多个多层单元存储块,所述操作方法包括:
控制所述存储器装置使用所述控制器的存储器中存储的多个读取电压组的所选择的读取电压组中的多个读取电压中的一些读取电压来对目标逻辑页面执行读取操作,所述读取电压组中的每一个具有读取所述多层单元存储块的多个读取电压;
通过对通过所述读取操作从所述存储器装置输出的数据执行错误检测和校正,确定所述读取操作是否成功;并且
利用所述读取操作成功时在所述读取操作中已使用的读取电压以及所述所选择的读取电压组的未使用的读取电压的估计值来更新所述所选择的读取电压组,所述估计值基于所述已使用的读取电压而确定。
12.根据权利要求11所述的操作方法,进一步包括:
当所述读取操作失败时,改变所述已使用的读取电压的值,并且
使用所述已使用的读取电压的改变后的值来重试所述读取操作。
13.根据权利要求11所述的操作方法,进一步包括:
响应于媒体扫描操作的触发,选择所述目标逻辑页面;并且
当所述读取操作成功时,基于由所述存储器装置输出的数据的错误的水平,对包括所述目标逻辑页面的存储块执行读取回收操作。
14.根据权利要求11所述的操作方法,进一步包括估计所述未使用的读取电压的值,使得所述已使用的读取电压和所述未使用的读取电压的估计值中的每个相邻对间隔开相同的间隔。
15.根据权利要求11所述的操作方法,进一步包括:
基于所述所选择的读取电压组的所述已使用的读取电压以及当所述读取操作成功时的所述已使用的读取电压来确定所述已使用的读取电压的变化量,并且
基于所确定的变化量以及所述所选择的读取电压组的所述未使用的读取电压来确定所述未使用的读取电压的估计值。
16.根据权利要求11所述的操作方法,进一步包括:通过将当所述读取操作成功时的所述已使用的读取电压以及通过所述读取操作读取的数据的错误校正信息输入到机器学习模型,估计所述未使用的读取电压的值,
其中所述机器学习模型基于所述多个读取电压组的选择读取电压以及使用所述选择读取电压读取的数据的错误校正信息,预先执行监督学习。
17.根据权利要求16所述的操作方法,其中所述错误校正信息包括从所述存储器装置输出并且尚未执行所述错误检测和校正并输入到ECC组件的数据与已经执行了所述错误检测和校正的数据之间的汉明距离,以及通过输入到所述ECC组件的数据的初始奇偶校验生成的初始校正子矢量的汉明权重。
18.根据权利要求11所述的操作方法,进一步包括:
基于所述所选择的读取电压组的所述已使用的读取电压以及当所述读取操作成功时的所述已使用的读取电压来确定所述已使用的读取电压的变化量;并且
当所述变化量超过阈值时,通过将当所述读取操作成功时的所述已使用的读取电压以及通过所述读取操作读取的数据的错误校正信息输入到机器学习模型来确定所述未使用的读取电压的估计值中的每一个,并且当所述变化量不超过所述阈值时,将所述未使用的读取电压的估计值中的每一个确定为与所述所选择的读取电压组的相应的未使用的读取电压相同,
其中所述机器学习模型基于所述多个读取电压组的选择读取电压以及使用所述选择读取电压读取的数据的错误校正信息,预先执行监督学习。
19.根据权利要求11所述的操作方法,其中存储在所述存储器中的所述读取电压组包括针对每个存储块的至少一个历史读取电压组。
20.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器:
控制所述存储器装置使用目标读取电压组中的选择读取电压来对目标逻辑页面执行读取操作,所述目标读取电压组包括所述选择读取电压和其余读取电压;
确定所述读取操作是否成功;
当确定所述读取操作成功时,基于所述选择读取电压中的每一个的先前值与当前值之间的差,改变所述其余读取电压中的每一个的值;并且
更新所述目标读取电压组,使得所述选择读取电压具有所述当前值并且所述其余读取电压具有改变后的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0086156 | 2020-07-13 | ||
KR1020200086156A KR20220008058A (ko) | 2020-07-13 | 2020-07-13 | 컨트롤러 및 컨트롤러의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113936729A true CN113936729A (zh) | 2022-01-14 |
Family
ID=79172631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110414427.6A Withdrawn CN113936729A (zh) | 2020-07-13 | 2021-04-16 | 控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11481155B2 (zh) |
KR (1) | KR20220008058A (zh) |
CN (1) | CN113936729A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210121650A (ko) * | 2020-03-31 | 2021-10-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 컨트롤러 및 이들을 포함하는 메모리 시스템의 동작 방법 |
KR20220122826A (ko) * | 2021-02-26 | 2022-09-05 | 삼성전자주식회사 | 비휘발성 메모리 장치, 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치의 리드 방법 |
KR102344380B1 (ko) * | 2021-06-02 | 2021-12-28 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법 |
CN115454710B (zh) * | 2022-11-10 | 2023-03-24 | 珠海妙存科技有限公司 | 闪存数据读取方法及其装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102435873B1 (ko) | 2015-12-18 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치 및 그것의 리드 리클레임 방법 |
KR102392056B1 (ko) * | 2017-12-27 | 2022-04-28 | 삼성전자주식회사 | 메모리 장치의 데이터 독출 방법, 메모리 컨트롤러의 제어 방법 및 이들을 포함하는 저장 장치 |
JP2019169217A (ja) | 2018-03-22 | 2019-10-03 | 東芝メモリ株式会社 | メモリシステム、その制御方法及びプログラム |
-
2020
- 2020-07-13 KR KR1020200086156A patent/KR20220008058A/ko unknown
-
2021
- 2021-01-15 US US17/150,641 patent/US11481155B2/en active Active
- 2021-04-16 CN CN202110414427.6A patent/CN113936729A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20220011973A1 (en) | 2022-01-13 |
US11481155B2 (en) | 2022-10-25 |
KR20220008058A (ko) | 2022-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169308B (zh) | 存储器控制器及其操作方法 | |
CN109616148B (zh) | 具有解码器的存储器系统、其操作方法和解码器 | |
CN106155585B (zh) | 自适应读取干扰收回策略 | |
CN110444246B (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
US9653176B2 (en) | Read disturb reclaim policy | |
CN108073467B (zh) | 具有硬信道信息的位翻转ldpc解码算法 | |
US11450400B2 (en) | Controller and operating method thereof | |
CN109428606B (zh) | 具有ldpc解码器的存储器系统及其操作方法 | |
US11481155B2 (en) | Controller and operating method thereof | |
CN110444242B (zh) | 有基于深度学习的干扰校正能力的存储器系统及操作方法 | |
US11551766B2 (en) | Memory device and operating method thereof | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器系统和方法 | |
CN113223589A (zh) | 存储器系统及其操作方法 | |
CN111540399A (zh) | 存储器系统及其操作方法 | |
US11335417B1 (en) | Read threshold optimization systems and methods using model-less regression | |
US20220148671A1 (en) | Systems and methods for read error recovery | |
CN112687323B (zh) | 具有用于解码的错误减少方案的存储器系统及其操作方法 | |
CN110569143B (zh) | 用于存储器系统的解码器及其方法 | |
CN113345501A (zh) | 存储器系统及其操作方法 | |
CN112416298A (zh) | 闪速存储器的基于原始读取的物理不可克隆功能 | |
US20190179563A1 (en) | Memory system and operation method thereof | |
CN110444245B (zh) | 具有混合迭代解码能力的存储器系统及其操作方法 | |
US10984851B2 (en) | Memory system and method for operating the same | |
CN110275844B (zh) | 利用自适应阈值解码的存储器系统及其操作方法 | |
CN114550785A (zh) | 使用元信息自适应地确定读取阈值电压的系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220114 |
|
WW01 | Invention patent application withdrawn after publication |