CN116126582A - 管理强错误信息的存储器控制器及其操作方法 - Google Patents
管理强错误信息的存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN116126582A CN116126582A CN202211000588.1A CN202211000588A CN116126582A CN 116126582 A CN116126582 A CN 116126582A CN 202211000588 A CN202211000588 A CN 202211000588A CN 116126582 A CN116126582 A CN 116126582A
- Authority
- CN
- China
- Prior art keywords
- read
- memory
- strong error
- information
- error information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- 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
- 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
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- 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
- 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/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
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了管理强错误信息的存储器控制器及其操作方法。所述操作存储器控制器的方法包括:基于使用正常读取电平从监视单位的存储单元读取的数据来收集硬判决信息;基于使用与所述正常读取电平不同的一个或更多个偏移读取电平从所述监视单位读取的数据来收集软判决信息;将基于所述硬判决信息和所述软判决信息确定的第一强错误信息存储在所述存储器控制器中的存储器中;以及,将存储了所述第一强错误信息之后针对所述监视单位确定的第二强错误信息更新在所述存储器中。所述第二强错误信息用于纠正响应于来自主机的读取请求而读取的数据中的错误。
Description
相关申请的交叉引用
本申请基于并要求于2021年11月15日在韩国知识产权局提交的韩国专利申请No.10-2021-0157082以及于2022年1月11日在韩国知识产权局提交的韩国专利申请No.10-2022-0004333的优先权,其公开通过引用整体合并于此。
技术领域
本公开涉及存储器控制器,更具体地,涉及管理强错误信息的存储器控制器及其操作方法。
背景技术
作为非易失性存储器,即使当对其的电力切断时,闪存也可以保持所存储的数据。作为存储系统,包括闪存(诸如固态硬盘(SSD)和存储卡)的闪存系统(或存储设备)被广泛使用。存储设备(storage device)在存储或移动大量数据方面是有用的。
因为闪存的存储容量增加并且每个存储单元存储的位的数目增加,所以存储单元的阈值电压分布的数目可以增加。例如,当每个存储单元存储4位或5位或更多位的数据时,存储单元的阈值电压分布之间的间隔变得非常窄,因此,每个特定单位(例如,纠错单位)所产生的错误的数目可能会增加。具体地,当随着阈值电压的电平相对显著地改变具有强错误的存储单元的数目增加时,纠错是不可能的,因此,数据可靠性可能劣化。
发明内容
本公开提供一种存储器控制器及其操作方法,所述存储器控制器能够通过定期地或不定期地监视强错误信息并基于所述强错误信息纠正数据错误来提高数据可靠性。
根据本公开的一方面,提供一种操作存储器控制器的方法,所述方法包括:基于使用正常读取电平从监视单位的存储单元读取的数据来收集硬判决信息;基于使用与所述正常读取电平不同的一个或更多个偏移读取电平从所述监视单位读取的数据来收集软判决信息;将基于所述硬判决信息和所述软判决信息确定的第一强错误信息存储在所述存储器控制器中的存储器中;以及,将存储了所述第一强错误信息之后针对所述监视单位确定的第二强错误信息更新在所述存储器中。所述第二强错误信息用于纠正响应于来自主机的读取请求而读取的数据中的错误。
根据本公开的另一个方面,提供一种操作存储器控制器的方法,包括:基于使用正常读取电平从存储单元读取的数据来收集硬判决信息;基于使用与所述正常读取电平不同的一个或更多个偏移读取电平从所述存储单元读取的数据来收集软判决信息;将基于所述硬判决信息和所述软判决信息确定的第一强错误信息存储在所述存储器控制器中的存储器中;在响应于来自主机的读取请求而读取的数据中出现不可纠正的错误时,基于通过重新读取所述存储单元而收集的硬判决信息和软判决信息来生成第二强错误信息;以及使用所述第一强错误信息和所述第二强错误信息来纠正响应于所述读取请求而读取的所述数据中的错误。
根据本公开的另一个方面,提供一种存储器控制器,所述存储器控制器包括:处理器,所述处理器被配置为控制存储装置的存储操作;纠错码(ECC)电路,所述纠错码(ECC)电路被配置为:对从所述存储装置读取的数据执行纠错操作;针对所述存储装置的监视单位,基于使用正常读取电平收集的硬判决信息和使用一个或更多个偏移读取电平收集的软判决信息来生成第一强错误信息;以及,基于响应于来自主机的读取请求再次针对所述监视单位收集的硬判决信息和软判决信息来生成第二强错误信息;以及,易失性存储器,所述易失性存储器被配置为存储所述第一强错误信息或所述第二强错误信息。所述正常读取电平和所述偏移读取电平具有不同的值,并且所述ECC电路通过使用所述第一强错误信息和所述第二强错误信息来纠正所述主机请求读取的数据中的错误。
附图说明
根据以下结合附图进行的详细描述,将更清楚地理解本公开的实施例,在附图中:
图1是示出根据实施例的存储系统的框图;
图2是示出根据实施例的存储器控制器的实现示例的框图;
图3是示出通过软件来执行实施例的强错误管理操作的示例的框图;
图4是示意地示出根据实施例的图1的存储装置的结构的视图;
图5是作为示例示出图1的存储单元阵列的视图;
图6是示出图5的存储块的结构的示例的透视图;
图7A和图7B示出存储每存储单元5位的数据且存在强错误的情况的示例;
图8A和图8B示出本公开的强错误管理模块的实现示例;
图9是示出根据实施例的强错误信息被用于纠错的示例的视图;
图10是示出根据实施例的操作存储器控制器的方法的流程图;
图11A、图11B和图11C是示出根据实施例的监视单位的视图;
图12是示出根据实施例的存储系统的特定操作示例的流程图;
图13是示出根据另一个实施例的存储系统的特定操作示例的流程图;
图14是示出根据另一个实施例的存储器控制器的特定操作示例的流程图;以及
图15是示出根据实施例的存储系统被应用于SSD系统的示例的框图。
具体实施方式
在下文中,将参考附图对本公开的实施例进行详细描述。
图1是示出根据实施例的存储系统的框图。
参考图1,存储系统10可以包括存储器控制器100和存储装置(memory device)200,存储装置200可以包括存储单元阵列210、电压发生器220和控制逻辑230,并且控制逻辑230可以包括电压控制器231。在图1的示例中,电压控制器231被示出为被设置在控制逻辑230中,但是根据实施例的电压控制器231可以被实现为控制逻辑230外部的单独的部件。
例如,存储系统10可以通过各种接口与主机通信,并且作为示例,可以通过诸如通用串行总线(USB)接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、外围组件互连(PCI)接口、高速PCI(PCI-E)接口、高级技术附件(ATA)接口、串行ATA接口、并行ATA接口、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、电子集成驱动器(IDE)接口、火线接口、通用闪存(UFS)接口、高速非易失性存储器(NVMe)接口等的各种接口与主机通信。
根据实施例,存储装置200可以包括诸如闪存的非易失性存储装置。在一些实施例中,存储系统10可以被实现为电子装置中的嵌入式存储器或可移除存储器,并且可以以各种形式来实现,诸如像嵌入式通用闪存(UFS)存储装置、嵌入式多媒体卡(eMMC)、固态硬盘(SSD)、UFS存储卡、紧凑式闪存(CF)卡、安全数字(SD)卡、微型安全数字(微型SD)卡、迷你安全数字(迷你型SD)卡、极速数字(xD)卡或者记忆棒。另外,在存储系统10以非易失性方式存储数据时,存储系统10可以被称为存储设备。
存储器控制器100响应于来自主机HOST的读取请求来读取存储在存储装置200中的数据,或者可以响应于来自主机HOST的写入请求来控制存储装置200以将数据写入存储装置200。例如,存储器控制器100包括处理器110,并且处理器110可以控制存储器控制器100的所有内部操作,并且可以控制对存储装置200执行的存储操作。更详细地,存储器控制器100可以通过向存储装置200提供地址ADD、命令CMD和控制信号CTRL来控制对存储装置200执行的写入操作、读取操作和擦除操作。此外,可以在存储器控制器100和存储装置200之间发送/接收将存储在存储装置200中的数据DATA和从存储装置200读取的数据DATA。
存储单元阵列210可以包括多个存储单元,并且例如多个存储单元可以是闪存单元。在下文中,作为示例,将参考多个存储单元是NAND闪存单元的情况来描述实施例。然而,本公开不限于此,并且在一些实施例中,多个存储单元可以是电阻存储单元,诸如电阻式RAM(ReRAM)存储单元、相变RAM(PRAM)存储单元或磁性RAM(MRAM)存储单元。
在实施例中,存储单元阵列210可以包括3D存储单元阵列,并且3D存储单元阵列可以包括多个NAND串,其中,每一个NAND串可以包括分别与垂直堆叠在衬底上的字线连接的存储单元。然而,本公开不限于此,并且在一些实施例中,存储单元阵列210可以包括2D存储单元阵列,其中,2D存储单元阵列可以包括在行方向和列方向上布置的多个NAND串。
因为读取命令被从存储器控制器100提供给存储装置200,所以可以基于控制逻辑230的控制来执行读取操作。例如,当每个存储单元存储多个位时,存储单元阵列210的存储单元可以包括多个阈值电压分布,并且包括两个或更多个位的数据可以被从每个存储单元读取。
电压发生器220可以生成在存储装置200中使用的各种电压,并且作为示例,可以生成用于编程操作的编程电压和用于读取操作的读取电压。另外,电压发生器220可以基于控制逻辑230的控制来不同地调整编程电压的电平和读取电压的电平。例如,电压发生器220可以提供具有各种电平的读取电压以确定多个阈值电压分布。此外,在确定任何一个阈值电压的分布时,可以执行使用一个或更多个读取电平的读取操作。根据实施例,可以提供具有用于收集硬判决数据(hard decision data)的电压电平的读取电压和具有用于收集软判决数据(soft decision data)的电压电平的读取电压。例如,可以通过使用具有如下电平的读取电压读取数据来收集软判决数据,所述电平与用于收集硬判决数据的读取电压的电平相比较被施加了一定的偏移。
此外,在实施例中,用于收集硬判决数据的读取电压的电平可以对应于根据主机的请求执行的正常读取操作中的读取电平。在以下实施例中,与硬判决信息收集有关的电平被称为正常读取电平,并且与软判决信息收集有关的电平被称为偏移读取电平。此外,硬判决数据可以被称为硬判决信息,并且软判决数据可以被称为软判决信息。
控制逻辑230可以控制存储装置200的所有操作,并且可以基于例如从存储器控制器100接收到的命令CMD、地址ADD和控制信号CTRL来输出用于将数据编程到存储单元阵列210中或从存储单元阵列210读取数据的各种内部控制信号。另外,控制逻辑230可以输出用于关于编程操作、读取操作和擦除操作来调整从电压发生器220输出的各种电压的电平的电压控制信号(未示出)。
根据实施例,当在从存储单元阵列210读取的数据中检测到错误或者出现了不可纠正的错误时,存储器控制器100可以执行用于恢复数据错误的恢复算法。例如,存储器控制器100可以执行各种类型的恢复算法,并且在实施例中,可以根据基于如上所述的硬判决信息和软判决信息所确定的强错误信息来选择用于恢复错误的最优恢复算法。
根据实施例,存储器控制器100可以不管来自主机的请求而定期或不定期地执行强错误监视(或劣化状态监视)。例如,存储单元阵列210的特定单位(unit)可以被定义为监视单位,并且存储器控制器100可以控制监视单位中的存储单元的读取操作,并且基于监视单位的硬判决信息和软判决信息来收集监视单位的强错误信息。例如,当执行恢复算法时,彼此共享可靠性信息(例如,强错误信息)的一组存储单元可以被设置为一个监视单位。
将如下描述在实施例中的详细操作示例。
存储器控制器100可以包括纠错码(ECC)电路120、强错误管理模块130和强错误信息存储电路140。ECC电路120可以基于特定纠错算法对从存储装置200读取的数据执行纠错操作。例如,在ECC电路120基于低密度奇偶校验(LDPC)执行纠错时,ECC电路120可以根据基于读取电平和偏移读取电平而读取的数据来收集硬判决信息和软判决信息,并且可以基于硬判决信息和软判决信息来确定或收集指示已经出现了强错误的存储单元的位置的强错误信息。当基于LDPC执行纠错时,ECC电路120可以使用硬判决信息和软判决信息来计算每个存储单元(或每个位)的系数,并且可以使用计算出的系数通过算术处理来执行纠错操作。
强错误管理模块130可以基于强错误信息来执行各种管理操作。例如,强错误管理模块130可以基于强错误信息来确定存储装置200的劣化程度,并且可以执行管理操作使得收集到的强错误信息被用于根据来自主机的请求而读取的数据的纠错。另外,强错误管理模块130可以执行使得所收集的强错误信息更新在强错误信息存储电路140中的管理操作,并且可以执行诸如基于强错误的量来确定是否执行读取回收或者选择用于错误恢复的最优恢复算法的管理操作。
另一方面,强错误信息存储电路140可以存储从多个监视单位收集的强错误信息,并且强错误信息可以基于强错误管理模块130的控制而被更新。强错误信息存储电路140可以包括各种类型的存储器,并且可以包括例如作为易失性存储器的动态随机存取存储器(DRAM)。强错误信息存储电路140可以将每个监视单位中的具有强错误的存储单元的位置信息存储为强错误信息。因为存储装置200的劣化程度随着时间的推移而增加并且因此强错误的量或具有强错误的存储单元的位置改变,所以可以更新存储在信息存储电路中的强错误信息。
随着由诸如NAND的存储装置的每个存储单元存储的位的数目增加,数据可靠性可能劣化。根据如上所述的实施例,因为定期或不定期地收集和更新强错误信息,并且更新的强错误信息可以被用于纠错,所以通过提高纠错能力,数据可靠性可以增加。此外,因为可以基于定期或不定期地收集的强错误信息来选择最优恢复算法或确定是否执行读取回收,所以用于错误恢复的恢复操作所需要的时间可以减少。此外,因为可以最优地确定执行读取回收的定时,所以可以减少数据丢失的问题。
尽管上面描述的实施例示出强错误管理模块130的功能在ECC电路120外部实现,但实施例不限于此,并且强错误管理功能可以在ECC电路120内实现。此外,尽管强错误管理模块130在存储器控制器100中被示出为单独的功能块,但强错误管理模块130可以以软件来实现并且被加载到存储器控制器100中的工作存储器(未示出)中从而被执行。在实施例中,当存储系统10是闪存系统时,存储器控制器100可以包括闪存转换层FTL(该闪存转换层FTL包括固件),并且强错误管理模块130可以被包括在闪存转换层FTL中。
图2是示出根据实施例的存储器控制器的实现示例的框图。
参考图2,存储器控制器300可以包括主机接口310、处理器320、工作存储器330、ECC电路340、RAM 350、存储器接口360和强错误管理模块370。处理器320可以通过执行加载到工作存储器330中的固件来控制存储器控制器300的所有操作。工作存储器330和RAM 350可以利用各种类型的存储器来实现,并且例如可以利用高速缓冲存储器、DRAM、SRAM、PRAM和MRAM中的至少一者来实现。此外,作为固件的示例,闪存转换层FTL可以被加载到工作存储器330中,并且与闪存操作有关的各种功能可以通过驱动闪存转换层FTL来执行。
主机接口310可以通过根据上面描述的实施例的各种类型的接口与主机通信。另外,存储器接口360提供存储器控制器300和存储装置(例如,非易失性存储装置NVM)之间的物理连接。例如,命令/地址和数据可以通过存储器接口360在存储器控制器300和非易失性存储装置NVM之间进行发送/接收。
RAM 350可以存储各种类型的易失性信息。例如,可以将主机请求写入的数据和从非易失性存储装置NVM读取的数据暂时地存储在RAM 350中。此外,根据实施例,可以将通过强错误监视收集的强错误信息存储在RAM350中。
ECC电路340可以对请求写入的数据执行ECC编码处理并且可以对读取数据执行解码处理。根据实施例,ECC电路340可以接收硬判决信息和软判决信息,并且基于硬判决信息和软判决信息生成强错误信息。另外,根据上面描述的实施例,强错误管理模块370可以基于强错误信息执行各种管理操作,并且可以管理:更新强错误信息的操作、基于强错误信息的确定来选择恢复算法的操作、确定是否进行读取回收的操作等等。
图3是示出通过软件来执行实施例的强错误管理操作的示例的框图。
参考图3,在上面描述的实施例中的强错误管理功能、恢复功能和读取回收功能可以作为固件以软件实现。根据实现示例,强错误管理功能可以通过强错误管理模块331的软件来实现,各种类型的恢复算法的功能可以通过恢复模块332的软件来实现,并且读取回收功能可以通过读取回收模块333来实现。强错误管理模块331、恢复模块332和读取回收模块333可以被加载到工作存储器330中,并且图2所示的处理器320可以执行加载到工作存储器330的各种类型的软件。
图4是示意地示出根据实施例的图1的存储装置的结构的视图,图5是作为示例示出图1的存储单元阵列的视图,并且图6是示出图5的存储块的结构的示例的透视图。在图4中,外围上单元(cell over periphery,COP)结构被示范为存储装置的实施例,但是实施例不限于此,并且存储装置可以通过各种结构来实现。
参考图4,存储装置200可以包括第一半导体层L1和第二半导体层L2,其中,第一半导体层L1可以相对于第二半导体层L2在垂直方向VD上堆叠。更详细地,第二半导体层L2可以在垂直方向VD上设置在第一半导体层L1下方,并且因此第二半导体层L2可以设置为靠近衬底。
在实施例中,图1的存储单元阵列可以形成在第一半导体层L1中,并且图1的其他外围电路可以形成在第二半导体层L2中。因此,存储装置200可以具有存储单元阵列设置在外围电路顶部的结构,即,COP结构。COP结构可以有效地减小水平面积并提高存储装置200的集成度。
在实施例中,第二半导体层L2可以包括衬底,并且外围电路可以通过在衬底上形成晶体管以及用于将晶体管进行电线连接的金属图案而形成在第二半导体层L2中。在外围电路形成在第二半导体层L2中之后,可以形成包括存储单元阵列的第一半导体层L1,并且可以形成用于将存储单元阵列的字线WL和位线BL电连接到形成在第二半导体层L2中的外围电路的金属图案。位线BL可以在第一水平方向HD1上延伸,并且字线WL可以在第二水平方向HD2上延伸。
然而,参考图5,存储单元阵列可以包括多个单元块BLK0至BLKi,其中,i可以是正整数。多个单元块BLK0至BLKi中的每一个单元块可以具有三维结构(或垂直结构)。更详细地,多个单元块BLK0至BLKi中的每一个单元块可以包括在垂直方向VD上延伸的多个NAND串。在这种情况下,多个NAND串可以被提供为在第一水平方向HD1和第二水平方向HD2上以特定距离彼此分开。可以由存储装置的行译码器(未示出)来选择多个单元块BLK0至BLKi。例如,行译码器可以从多个单元块BLK0至BLKi当中选择与块地址相对应的单元块。
另一方面,参考图6,单元块BLKa形成在与衬底SUB的上表面垂直的方向上。衬底SUB具有第一导电类型(例如,p型)并且在第二水平方向HD2上延伸,并且被设置有掺杂有第二导电类型(例如,n型)的杂质的公共源极线CSL。在第二水平方向HD2上延伸的多个绝缘层IL在两条相邻的公共源极线CSL之间的衬底SUB的区域中被顺序地设置在垂直方向VD上,并且多个绝缘层IL在垂直方向VD上彼此分开一定距离。例如,多个绝缘层IL可以包括诸如硅氧化物的绝缘材料。
顺序地布置在第一水平方向HD1上且在垂直方向VD上穿过多个绝缘层IL的多个柱P被设置在两条相邻的公共源极线CSL之间的衬底SUB的区域中。例如,多个柱P可以穿透多个绝缘层IL并且接触衬底SUB。更详细地,每个柱P的表面层S可以包括第一类型的硅材料,并且可以起沟道区域的作用。每个柱P的内层I可以包括诸如硅氧化物或者空气间隙的绝缘材料。
在两条相邻的公共源极线CSL之间的区域中,沿着绝缘层IL、柱P和衬底SUB的暴露表面提供电荷存储层CS。电荷存储层CS可以包括栅极-绝缘层(被称为隧穿绝缘层)、电荷俘获层和阻挡绝缘层。例如,电荷存储层CS可以具有氧化物-氮化物-氧化物(ONO)结构。此外,在两条相邻的公共源极线CSL之间的区域中,包括选择线GSL和SSL以及字线WL0至WL7的栅电极GE形成在电荷存储层CS的暴露表面上。
漏极或者漏极接触分别设置在多个柱P上。例如,漏极或者漏极接触DR可以包括掺杂有具有第二导电类型的杂质的硅材料。在第一水平方向HD1上延伸且在第二水平方向HD2上彼此分开一定距离的位线BL0至BL2设置在漏极或漏极接触DR上。
图7A和图7B示出存储每存储单元5位的数据且存在强错误的情况的示例。
参考图7A和图7B,在闪存中,随着由每个存储单元存储的位的数目增加,存储单元的阈值电压分布的数目可以增加。当存储单元是存储4位数据的四阶单元(quad-levelcell,QLC)或存储5位数据的五阶单元(penta-level cell,PLC)时,阈值电压分布之间的间隔可以非常窄。图7A示出了对于PLC存储单元的阈值电压分布的数目是32的情况,并且图7B示出了两个相邻阈值电压分布中的强错误的示例。
随着阈值电压分布之间的间隔变窄,错误可以增加。具体地,因为强错误是在预期具有强可靠性的位置(例如,阈值电压电平的位置)生成的错误,所以在基于LDPC的纠错操作期间等,纠正功率(correction power)可能大大地减弱。此外,随着具有强错误的存储单元的数目增加,纠正功率可能进一步减弱。例如,在图7B所示的阈值电压分布中,在存储单元对应于左边的阴影区域的情况下,可能可靠地应当具有数据“1”,但事实上,存储数据“0”的存储单元的阈值电压电平被大大地改变了。如上所述的具有强错误的存储单元的数目的增加可以造成纠错能力劣化的问题。
另一方面,参考图7B,存储器控制器可以接收通过正常读取电平读取的数据作为硬判决信息HD以便收集强错误信息,并且可以接收通过偏移读取电平读取的数据作为软判决信息SD。偏移读取电平可以包括第一偏移读取电平和第二偏移读取电平,第一偏移读取电平比正常读取电平小第一偏移,第二偏移读取电平比正常读取电平大第二偏移。存储器控制器可以接收分别使用第一偏移读取电平和第二偏移读取电平读取的数据作为软判决信息SD。另外,第一偏移和第二偏移可以相同或不同。
可以基于各种方法来执行用于生成强错误信息的硬判决信息HD和软判决信息SD的收集。例如,在根据实施例的定期或不定期监视操作中,可以通过不管基于硬判决信息HD纠错是否可能都进一步收集软判决信息SD,来生成强错误信息。或者,可以通过基于硬判决信息HD确定纠错是否可能以及在纠错不可能时选择性地读取软判决信息SD,来生成强错误信息。
另一方面,当响应于来自主机的读取请求生成强错误信息时,对通过正常读取操作读取的数据执行纠错操作,以及当纠错不可能时,可以选择性地生成强错误信息。例如,存储器控制器(或存储系统)可以生成包括主机请求读取的读取单位的监视单位中的强错误信息,并且基于分别来自先前执行的正常读取操作的正常读取电平和偏移读取电平来收集硬判决信息HD和软判决信息SD。或者,在各种实施例中,存储器控制器使用通过正常读取操作读取的数据作为硬判决信息HD,并且可以进一步仅执行使用偏移读取电平的读取操作以收集软判决信息SD。
在图7B的示例中,阈值电压电平的改变不超过偏移(offset)的存储单元可以被定义为具有弱错误,而阈值电压电平的改变超过偏移的存储单元被定义为具有强错误。当基于LDPC执行纠错时,可以基于存储单元(例如,强错误、弱错误等)的特性来计算各种参数,诸如用于纠错操作的系数。当具有实际强错误的存储单元被错误地确定为具有强可靠性的存储单元时,纠错能力可以劣化。根据上面描述的实施例,具有强错误的存储单元的数目的增加是进一步使纠错能力劣化的因素。
根据实施例,存储系统可以不管来自主机的读取请求而定期地或不定期地执行强错误监视。此外,具有强错误的存储单元可以随时间而波动或增加,并且通过更新强错误信息,可以准确地确定具有强错误的存储单元的位置。因此,通过基于定期地/不定期地更新的强错误信息来执行恢复算法,可以准确地计算(或补偿)用于ECC解码处理的参数(诸如LDPC),并且纠错能力可以提高。另外,存储系统通过强错误监视定期地或不定期地确定具有强错误的存储单元的数目(或劣化程度),并且基于存储单元的数目确定是否进行读取回收,使得可以在数据丢失之前提前执行数据可靠性的管理操作。
图8A和图8B是示出本公开的强错误管理模块的实现示例的视图。在实施例中,强错误管理模块的各种部件可以以硬件、软件或它们的组合来实现。
参考图8A,强错误管理模块400可以包括强错误确定器410、更新控制器420、读取回收确定器430和恢复算法选择器440。强错误管理模块400可以通过使用在上面描述的实施例中的硬判决数据HD和软判决数据SD来确定具有强错误的存储单元的位置,并且如上所述的确定操作可以由强错误确定器410来执行。另外,强错误确定器410可以基于强错误的确定来确定每个特定监视单位(例如,页、字线、条带单位(stripe unit)等)的强错误的数目,并且可以基于强错误的数目来确定存储单元的劣化程度。
强错误确定器410可以基于如上所述的确定来提供指示具有强错误的存储单元的位置的信息和指示劣化程度的信息。更新控制器420可以更新设置在存储系统(或存储器控制器)中的RAM 401中的强错误信息,并且因此,随时间而改变的具有强错误的存储单元的位置可以被更新。在实施例中,可以基于强错误的数目(或强错误的量)来选择性地执行更新RAM 401中的强错误信息的操作,并且当监视单位中的强错误的数目超过第一参考值Ref1时,可以执行更新操作。
此外,读取回收确定器430和恢复算法选择器440中的每一者可以基于来自强错误确定器410的劣化信息来执行用于提高数据可靠性的管理操作。例如,当存储单元的劣化程度超过特定第二参考值Ref 2时,读取回收确定器430确定随着存储单元的劣化增加存在数据丢失的可能性,并且可以输出指示将要执行读取回收(read reclaim)的确定结果Det_R。另外,恢复算法选择器440可以根据存储单元的劣化程度来输出选择信息Sel_A,所述选择信息Sel_A指示用于错误恢复的各种类型的恢复算法当中的针对劣化程度优化的恢复算法。
在图8A中示出的实施例中,已经描述了强错误确定器410基于硬判决数据HD和软判决数据SD来确定强错误信息,但是实施例不限于此。例如,当ECC电路(未示出)生成如在上面描述的实施例中的强错误信息时,强错误管理模块400中的强错误确定器410的功能可以被去除。
图8B示出根据实施例的恢复操作的示例。
参考图8B,强错误管理模块400可以基于已经存储在RAM 401中的第一强错误信息SE_P和响应于来自主机的数据读取请求而生成的第二强错误信息SE_N,来生成并输出将用于纠错的第三强错误信息SE'。例如,基于第一强错误信息SE_P和第二强错误信息SE_N的组合,可以更准确地确定请求读取的存储单元是否具有强错误。例如,如上所述,第三强错误信息SE'可以包括关于劣化状态的信息,该劣化状态包括预计具有强可靠性的存储单元具有了实际强错误或者反之亦然的情况。
恢复模块402根据选择信息Sel_A执行恢复算法,并且作为示例,在恢复算法使用强错误信息时,恢复模块402可以从强错误管理模块400接收第三强错误信息SE'。恢复模块402可以生成用于基于LDPC来纠错的各种参数,并且可以基于具有提高的准确度的第三强错误信息SE'来生成包括参数的信息Info_P并将该信息Info_P提供给ECC电路(未示出),使得ECC电路的纠错能力可以提高。
图9是示出根据实施例的强错误信息用于纠错的示例的视图。
参考图9,存储系统500可以包括存储装置510,并且NAND存储单元的阈值电压分布被示范为存储装置510的示例。根据上面描述的实施例,存储单元可以具有多个阈值电压分布,并且一些存储单元可以根据阈值电压的电平而具有强错误。
存储器控制器可以包括与纠错和恢复有关的部件,并且为了与纠错和恢复有关的描述的方便起见一起示出了ECC电路/强错误管理模块521。根据上面描述的实施例,ECC电路和强错误管理模块可以单独地实现,并且ECC电路和强错误管理模块中的每一者可以以硬件、软件或它们的组合来实现。
存储器控制器可以通过向存储装置510提供使用正常读取电平的读取命令CMD_r[N]和使用偏移读取电平的读取命令CMD_r[O]来收集硬判决信息HD和软判决信息SD。ECC电路/强错误管理模块521可以基于从存储装置510提供的硬判决信息HD和软判决信息SD来生成强错误信息。
为了进行主机请求读取的数据的纠错,可以将先前被更新并被存储在存储器控制器中的第二DRAM 523中的第一强错误信息SE_P提供给ECC电路/强错误管理模块521。ECC电路/强错误管理模块521可以基于从第二DRAM523读取的强错误信息SE_P和基于从存储装置510读取的数据而生成的第二强错误信息SE_N来执行ECC解码处理。此外,将要向主机提供的数据可以被暂时地存储在存储器控制器中的第一DRAM 522中,并且从第一DRAM522读取的数据被提供给ECC电路/强错误管理模块521,并且错误可以被纠正。
在图9所示的实施例中,存储在第二DRAM 523中的信息可以指示在监视单位(例如,页)中具有强错误的存储单元的位置。例如,当一个页具有16K的大小时,作为存储在第二DRAM 523的第一行DMA 0中的信息被示出的数字可以指示一个页的存储单元当中的每一个具有强错误的存储单元的位置。
ECC电路/强错误管理模块521可以管理如下操作:不管主机的请求如何而将定期地或不定期地收集的强错误信息更新到第二DRAM 523的相应位置。另外,当响应于来自主机的请求而读取的数据的纠错不可能时,ECC电路/强错误管理模块521可以根据上面描述的实施例生成强错误信息,并且将强错误信息更新在第二DRAM 523的相应位置中。基于根据强错误信息确定劣化状态的结果,可以以例如包括数据被读取的区域的单元块为单位执行读取回收。例如,通过读取回收处理,包括数据被读取的区域的单元块的数据被移动到另一个单元块。在这种情况下,可以初始化第二DRAM 523中的与相应监视单位相对应的强错误信息。
图10是示出根据实施例的操作存储器控制器的方法的流程图。
存储系统中包括的存储器控制器控制存储装置的所有操作,并且可以执行根据实施例基于强错误信息来提高数据可靠性的各种控制操作。在操作S11中,存储器控制器可以定期地或不定期地执行强错误监视操作,并且作为示例,可以不管来自主机的请求如何而开始针对第一监视单位的强错误监视操作。
在操作S12中,存储器控制器可以针对第一监视单位基于正常读取电平来收集硬判决信息并且基于偏移读取电平来收集软判决信息,并且在操作S13中,可以根据上面描述的实施例生成与第一监视单位相对应的第一强错误信息。另外,第一强错误信息可以被存储在存储器控制器中设置的DRAM中,并且作为示例,可以被存储在与第一监视单位相对应的DRAM的第一位置。
在操作S14中,存储系统可以从主机接收读取请求,并且根据读取请求的读取单位的大小可以等于或小于第一监视单位的大小。在操作S15中,可以响应于来自主机的读取请求而读取读取单位的数据,并且可以确定是否存在通过纠错操作不可纠正的错误UECC。
在操作S16中,因为存在不可纠正的错误UECC,所以可以执行收集关于读取单位的存储单元的硬判决信息和软判决信息的操作。例如,可以通过重新读取读取单位的存储单元的数据,来收集该读取单位的存储单元的硬判决信息和软判决信息。在操作S17中,可以基于接收到的硬判决信息和软判决信息来生成第二强错误信息。例如,当监视单位大于读取单位时(例如,当监视单位对应于多个页的单位时),因为存储在DRAM中的第一强错误信息以相对大的单位共享可靠性信息,所以可以提高读取单位的存储单元当中的具有强错误的存储单元的位置的准确度。此外,在操作S18中,因为基于先前存储的第一强错误信息和新生成的第二强错误信息的组合来执行纠错,所以可以提高纠错的可能性。在操作S19中,可以将新生成的第二强错误信息更新在DRAM中。例如,将第二强错误信息更新在DRAM中可以指将存储在DRAM中的第一强错误信息更新为第二强错误信息,或者指将第二强错误信息额外存储在DRAM中。例如,在第一监视单位中,由第一强错误信息指示的具有强错误的存储单元的位置可以被改变为由第二强错误信息指示的具有强错误的存储单元的位置,或者额外增加了由第二强错误信息指示的具有强错误的存储单元的位置。
图11A、图11B和图11C是示出根据实施例的监视单位的视图。
存储装置的存储单元阵列可以包括多个单元块,并且每个单元块可以包括多个单元串。在图11A、图11B和图11C中,示范出第一串选择线SSL0至第四串选择线SSL3,并且串选择线中的每一个串选择线可以被多个单元串共享。例如,因为提供给第一串选择线SSL0的第一串选择信号被激活,所以共享第一串选择线SSL0的多个单元串可以被选择。
每个单元串可以连接到多条字线(例如,WL N-2至WL N+2),多个存储单元可以连接到每条字线,并且每条字线可以被多个单元串共享。例如,当第一串选择信号被激活并且从多条字线WL N-2至WL N+2当中选择了字线WL N时,可以从连接到第一串选择线SSL0的单元串中选择连接到字线WL N的存储单元。
此外,每个存储单元可以存储许多位,并且当存储单元对应于PLC时,每个存储单元可以存储5位数据。在图11A中示出的示例中,当从连接到字线WL N的存储单元读取的数据构成一个页并且存储单元对应于PLC时,连接到字线WL N的存储单元可以存储与五个页相对应的数据。
根据实施例,用于收集强错误信息的监视单位可以被设置为各个组。例如,监视单位可以是当执行纠错时共享可靠性信息的单位,并且数据可靠性可以通过基于监视单位收集强错误信息并且使用强错误信息来纠错而被提高。在图11A中示出的示例中,示出了一个页构成监视单位的情况。
另一方面,根据实施例,如图11B所示,一条或更多条字线可以构成监视单位。例如,当与第一串选择线SSL0连接的单元串中的连接到一条字线的存储单元构成监视单位时,与五个页相对应的大小可以构成监视单位。或者,当两条或更多条字线(例如,字线WLN-1至字线WL N+1)构成监视单位时,两条或更多条字线中包括的页可以构成监视单位。
如图11C所示,监视单位可以包括多个信道中提供的多个单元块的存储单元。例如,存储系统可以包括通过多个信道连接到存储器控制器的多个存储装置,并且每个存储装置可以包括一个或更多个存储芯片(例如,闪存芯片)。
存储在两个或更多个存储装置中的数据可以构成用于错误恢复的恢复操作的单位,并且与强错误信息的收集有关的监视单位可以对应于恢复单位。例如,至少两个存储装置中包括的多个单元块的页或字线可以构成一个监视单位,并且包括多个单元块的页或字线的单位可以被定义为条带(stripe)。例如,在多个单元块中,包括每个块中的一个或更多个页的条带可以构成上面描述的实施例中的强错误的监视单位。
根据如上所述的实施例,强错误的监视单位可以被改变为各种大小。例如,当监视单位相对大时,共享可靠性信息的单位的大小增加,并且在恢复算法处理中,可以通过参考与共享可靠性信息的多个其他读取单位相对应的强错误信息来提高与读取单位相对应的强错误信息的准确度。因此,使用强错误信息来纠错的可能性可以增加。
图12是示出根据实施例的存储系统的特定操作示例的流程图。
参考图12,在操作S21中,存储系统可以与来自主机的请求无关地开始监视强错误,并且在操作S22中,可以对特定监视单位的存储单元执行使用正常读取电平的读取操作。在操作S23中,通过对读取数据执行ECC解码处理,存储器控制器可以确定读取数据是否包括不可纠正的错误UECC。作为确定的结果,在操作S29中,当不存在不可纠正的错误UECC时,确定监视单位的存储单元的纠错是可能的,因此可以在不执行用于更新强错误信息的额外操作的情况下终止监视操作。
另一方面,当在读取数据中存在不可纠正的错误UECC时,在操作S24中,可以执行使用偏移读取电平的读取操作以收集软判决信息,并且在操作S25中,可以通过进一步使用软判决信息来确定纠错是否可能。在图12的实施例中,示范出根据读取操作读取的数据被用作硬判决信息的情况。然而,如在上面描述的实施例中,可以使用正常读取电平再次收集硬判决信息。
因为该确定,在操作S26中,当存在不可纠正的错误UECC时,确定监视单位的存储单元的劣化较大,并且因此,可以将包括监视单位的区域登记为读取回收目标。作为操作的示例,当通过将数据以单元块为单位复制到另一个单元块来执行读取回收操作时,可以将包括监视单位的单元块登记为读取回收目标。此外,在操作S29中,在监视单位的读取回收目标的登记完成之后,可以终止监视操作。此后,可以在任意的时间点执行读取回收操作。
另一方面,当可以使用硬判决信息和软判决信息来纠正错误时,可以通过可以基于硬判决信息和软判决信息确定的强错误信息来确定监视单位中的具有强错误的存储单元的数目。在操作S27中,可以确定对强错误的数目进行计数的结果是否超过特定阈值,并且在操作S26中,当强错误的数目超过阈值时,可以确定监视单位的存储单元的劣化较大,并且因此可以将包括监视单位的区域登记为读取回收目标。另一方面,在操作S28中,当强错误的数目没有超过阈值时,可以将新确定的强错误信息更新在存储器中,并且可以在随后的纠错处理中使用更新的强错误信息。
图13是示出根据另一个实施例的存储系统的特定操作示例的流程图。图13示出了响应于来自主机的请求通过读取操作来执行强错误管理的示例。
参考图13,在操作S31中,可以在根据来自主机的请求而读取的数据中出现不可纠正的错误时执行恢复算法,并且可以在执行恢复算法的同时执行读取操作。在操作S32中,可以确定读取操作是与硬判决信息有关的操作还是与软判决信息有关的操作。在操作S33中,可以首先根据主机的请求来执行使用正常读取电平的读取操作,并且因此可以确定读取数据中的错误是否无法被纠正。在操作S36中,如果数据错误被纠正(即,结果是没有不可纠正的数据),可以在不执行额外操作(例如,恢复操作)的情况下终止读取操作。
在操作S37中,当读取操作对应于用于使用偏移读取电平收集软判决信息的操作时,可以确定是否存在与执行读取操作的单位相对应的强错误信息(例如,强错误历史)。在操作S38中,如果存在强错误历史,为了在对读取数据的纠错操作期间使用强错误历史信息,可以读取存储在存储器(例如,DRAM)中的强错误历史信息。
在操作S39中,可以通过所收集的信息新生成强错误信息,并且可以基于新生成的强错误信息和从存储器读取的强错误历史信息来确定纠错是否不可能。在操作S40中,如果纠错可能(即,不存在不可纠正的数据),则可以基于新生成的强错误信息来确定具有强错误的存储单元的数目是否超过特定阈值。在操作S41中,如果具有强错误的存储单元的数目超过阈值,可以为包括读取数据的区域(例如,单元块)登记读取回收。另一方面,在操作S42中,如果具有强错误的存储单元的数目没有超过阈值,则可以将先前确定的强错误信息更新在存储器中。
当在使用硬判决信息和/或软判决信息的纠错操作中出现不可纠正的错误时,可以反复地执行用于错误恢复的恢复操作,并且作为示例,可以在改变用于区分阈值电压分布的读取电平的同时反复地执行恢复操作。在操作S34中,当出现不可纠正的错误时,可以确定当前恢复操作是否是最后的恢复操作,并且在操作S35中,当当前恢复操作不是最后的恢复操作时,可以开始用于接下来的恢复操作的读取操作。另一方面,在操作S41中,当当前恢复操作对应于最后的恢复操作时,可以终止恢复操作,并且可以为包括读取数据的区域登记读取回收。
图14是示出根据另一个实施例的存储器控制器的特定操作示例的流程图。图14示出了基于强错误信息对恢复算法进行优化选择的示例。
在操作S51中,当在响应于来自主机的读取请求而读取的读取数据中出现不可纠正的错误时,可以开始恢复操作;在操作S52中,存储器控制器(或存储系统)可以检查先前存储在存储器控制器的内部存储器中的、与请求读取的数据相对应的第一强错误信息SE_P。例如,根据检查的结果,可以确定具有强错误的存储单元的数目或比率是否大于特定阈值。
存储器控制器可以尝试基于各种类型的恢复算法来恢复错误。尽管在图14中示出了第一恢复算法至第四恢复算法,但实施例不限于此,并且用于更多恢复算法的选择操作可以是可能的。另外,第一恢复算法可以相对消耗最小的资源和时间,而第四恢复算法可以相对消耗最大的资源和时间。例如,第一恢复算法可以具有通过不使用软判决和强错误信息的较小资源来恢复错误的特性,而第二恢复算法可以具有使用软判决和强错误信息来恢复错误的特性。
在操作S53中,根据操作S52的检查的结果,当强错误的数目相对小时,存储器控制器可以选择第一恢复算法,而在操作S54中,当强错误的数目相对大时,存储器控制器可以选择第二恢复算法。另外,当即使存储器控制器选择和执行第一恢复算法也无法恢复错误时,可以顺序地选择第二恢复算法。
在操作S55中,当通过第二恢复算法的执行无法恢复错误时,存储器控制器可以检查通过第二恢复算法的执行而生成的第二强错误信息SE_N。因为第二强错误信息SE_N对应于相对最近生成的信息,所以第二强错误信息SE_N的准确度可以高于第一强错误信息SE_P的准确度。在操作S56中,根据操作S55的检查的结果,当强错误的数目相对小时,存储器控制器可以选择第三恢复算法,而在操作S57中,当强错误的数目相对大时,存储器控制器可以选择第四恢复算法。与第三恢复算法相比,第四恢复算法可以消耗更多资源。作为实施例,第三恢复算法可以对应于用于搜索阈值电压分布之间的最低点(valley)的算法,并且第四恢复算法可以对应于如下算法(例如,独立磁盘冗余阵列(RAID)):所述算法读取除了来自主机的请求读取的数据以外的数据并且使用该数据来恢复错误。在操作S58中,当通过如上所述的恢复算法来恢复错误时,可以终止恢复操作。
图15是示出根据实施例的存储系统被应用于SSD系统的示例的框图。
参考图15,SSD系统600可以包括主机610和SSD 620。SSD 620可以通过信号连接器SIG向主机610发送信号和从主机610接收信号,并且可以通过电力连接器PWR接收电力。SSD620可以包括SSD控制器621、辅助电源622以及非易失性存储装置623_1至623_n。非易失性存储装置623_1至623_n可以包括NAND闪存。在这种情况下,可以使用以上参考图1至图14所描述的实施例来实现SSD 620。
例如,在SSD 620中设置的SSD控制器621可以包括根据上面描述的实施例的强错误管理模块621_1和ECC电路(未示出),其中,ECC电路可以基于从非易失性存储装置623_1至623_n接收到的硬判决数据和/或软判决数据来执行纠错操作,并且强错误管理模块621_1可以根据上面描述的实施例管理强错误信息。另外,基于强错误管理模块621_1的控制,SSD控制器621可以定期地或不定期地更新强错误信息,并且可以使用更新的强错误信息来用于ECC解码处理。另外,基于强错误管理模块621_1的控制,SSD控制器621可以基于强错误信息来确定存储单元的劣化程度,可以根据确定的结果来确定是否执行读取回收,或可以执行管理操作使得执行各种类型的恢复算法当中的针对劣化程度被优化的恢复算法。
如在领域中按照惯例,可以按照执行所描述的一个或更多个功能的框来描述和说明实施例。在本文中可以被称为单位或者模块等等的这些框通过诸如逻辑门、集成电路、微处理器、微控制器、存储电路、无源电子部件、有源电子部件、光学部件、硬连线电路等等的模拟和/或数字电路被物理地实现,并且可以可选地被固件和/或软件驱动。电路例如可以被实现在一个或更多个半导体芯片中,或者被实现在诸如印刷电路板等等的基板支撑件上。可以通过专用硬件,或者通过处理器(例如,一个或更多个编程微处理器和相关联的电路),或者通过执行框的一些功能的专用硬件和执行框的其他功能的处理器的组合来实施构成框的电路。在不背离本公开的范围的情况下,实施例的每个框可以被物理地分离为两个或更多相互作用和分立的框。同样地,在不背离本公开的范围的情况下,实施例的框可以被物理地组合为更复杂的框。实施例的方面可以通过非暂时性存储介质内存储的指令来实现并且由处理器来执行。
已经在附图和如上所述的具体实施方式中示出和描述了实施例。尽管特定术语用于在本公开中说明这些示例实施例,但特定术语并不意图限制本公开的范围并仅用于更好地理解本公开。本领域技术人员将理解的是,在不背离如所附权利要求所限定的本发明的精神和范围的情况下,可以在其中作出形式和细节方面的各种改变。因此,本公开的保护范围不是通过本公开的具体实施方式限定而是通过所附权利要求限定。
尽管已经参考本公开的实施例具体地示出和描述了本公开,但将理解的是,可以在不背离所附权利要求的精神和范围的情况下对本文作出形式和细节上的各种改变。
Claims (20)
1.一种操作存储器控制器的方法,所述存储器控制器用于控制存储装置,所述方法包括:
基于使用正常读取电平从所述存储装置的监视单位的存储单元读取的数据来收集硬判决信息;
基于使用与所述正常读取电平不同的一个或更多个偏移读取电平从所述监视单位读取的数据来收集软判决信息;
将基于所述硬判决信息和所述软判决信息确定的第一强错误信息存储在所述存储器控制器中的存储器中;以及
将存储了所述第一强错误信息之后针对所述监视单位确定的第二强错误信息更新在所述存储器中,其中,
所述第二强错误信息用于纠正响应于来自主机的读取请求而读取的数据中的错误。
2.根据权利要求1所述的方法,其中:
所述一个或更多个偏移读取电平包括第一偏移读取电平和第二偏移读取电平,所述第一偏移读取电平比所述正常读取电平大第一电平,所述第二偏移读取电平比所述正常读取电平小第二电平,并且
所述软判决信息包括使用所述第一偏移读取电平和所述第二偏移读取电平读取的数据。
3.根据权利要求1所述的方法,其中,所述存储器控制器中的所述存储器包括动态随机存取存储器。
4.根据权利要求1所述的方法,其中,将所述第二强错误信息更新在所述存储器中是不管来自所述主机的所述读取请求如何而由所述存储器控制器独立执行的。
5.根据权利要求1所述的方法,其中,每一个所述存储单元包括存储4位数据的四阶单元或者存储5位数据的五阶单元。
6.根据权利要求1所述的方法,其中:
在响应于来自所述主机的所述读取请求而读取的数据中存在不可纠正的错误时,通过在响应于来自所述主机的所述读取请求而读取所述数据的过程中收集硬判决信息和软判决信息来生成所述第二强错误信息,并且
在纠正响应于来自所述主机的所述读取请求而读取的所述数据中的错误时,所述第一强错误信息和所述第二强错误信息一起被使用。
7.根据权利要求6所述的方法,其中,所述监视单位包括所述主机请求读取的读取单位。
8.根据权利要求7所述的方法,其中,所述监视单位对应于以下任何一者:所述存储装置的一个单元块中包括的页、所述单元块中包括的字线以及包括所述存储装置的多个单元块的相应页的条带。
9.根据权利要求6所述的方法,其中,所述存储器控制器:
执行消耗不同的资源的多个恢复算法,以及
基于所述第一强错误信息和所述第二强错误信息中的至少一者,从所述多个恢复算法当中选择用于纠正响应于来自所述主机的所述读取请求而读取的所述数据中的错误的恢复算法。
10.根据权利要求1所述的方法,所述方法还包括:基于所述第一强错误信息和所述第二强错误信息中的至少一者来确定是否对包括所述监视单位的单元块执行读取回收。
11.根据权利要求1所述的方法,其中,所述第一强错误信息和/或所述第二强错误信息包括指示所述监视单位中的具有强错误的存储单元的位置的信息。
12.根据权利要求1所述的方法,其中,基于根据所述第二强错误信息确定的具有强错误的存储单元的数目是否超过预定阈值,选择性地执行将所述第二强错误信息更新在所述存储器中。
13.一种操作存储器控制器的方法,所述存储器控制器用于控制存储装置,所述方法包括:
基于使用正常读取电平从所述存储装置的存储单元读取的数据来收集硬判决信息;
基于使用与所述正常读取电平不同的一个或更多个偏移读取电平从所述存储单元读取的数据来收集软判决信息;
将基于所述硬判决信息和所述软判决信息确定的第一强错误信息存储在所述存储器控制器中的存储器中;
在响应于来自主机的读取请求而读取的数据中出现不可纠正的错误时,基于通过重新读取所述存储单元而收集的硬判决信息和软判决信息来生成第二强错误信息;以及
使用所述第一强错误信息和所述第二强错误信息来纠正响应于所述读取请求而读取的所述数据中的错误。
14.根据权利要求13所述的方法,所述方法还包括将所述第二强错误信息更新到所述存储器中。
15.根据权利要求13所述的方法,其中,将所述第一强错误信息存储在所述存储器中是不管来自所述主机的所述读取请求如何而由所述存储器控制器独立地执行的。
16.根据权利要求13所述的方法,所述方法还包括:当根据所述第二强错误信息确定的具有强错误的存储单元的数目超过预定阈值时,对包括与来自所述主机的所述读取请求相对应的读取单位的存储单元的单元块执行读取回收。
17.根据权利要求13所述的方法,其中,所述存储器控制器:
执行消耗不同的资源的多个恢复算法,以及
基于所述第一强错误信息和所述第二强错误信息中的至少一者,从所述多个恢复算法当中选择用于纠正响应于来自所述主机的所述读取请求而读取的所述数据中的错误的恢复算法。
18.一种存储器控制器,所述存储器控制器包括:
处理器,所述处理器被配置为控制存储装置的存储操作;
纠错码电路,所述纠错码电路被配置为:对从所述存储装置读取的数据执行纠错操作;针对所述存储装置的监视单位,基于使用正常读取电平收集的硬判决信息和使用一个或更多个偏移读取电平收集的软判决信息来生成第一强错误信息;以及,基于响应于来自主机的读取请求针对所述监视单位再次收集的硬判决信息和软判决信息来生成第二强错误信息;以及
易失性存储器,所述易失性存储器被配置为存储所述第一强错误信息和/或所述第二强错误信息,其中:
所述正常读取电平和所述偏移读取电平具有不同的值,以及
所述纠错码电路通过使用所述第一强错误信息和所述第二强错误信息来纠正所述主机请求读取的数据中的错误。
19.根据权利要求18所述的存储器控制器,所述存储器控制器还包括强错误管理模块,所述强错误管理模块被配置为:选择用于所述存储装置的纠错的恢复算法,或者,基于所述第一强错误信息和所述第二强错误信息中的至少一者来确定是否对包括所述监视单位的单元块执行读取回收。
20.根据权利要求19所述的存储器控制器,其中,所述强错误管理模块还被配置为:控制将所述第一强错误信息存储在所述易失性存储器中然后将所述第二强错误信息更新在所述易失性存储器中的操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210157082 | 2021-11-15 | ||
KR10-2021-0157082 | 2021-11-15 | ||
KR10-2022-0004333 | 2022-01-11 | ||
KR1020220004333A KR102505857B1 (ko) | 2021-11-15 | 2022-01-11 | 스트롱 에러 정보를 관리하는 메모리 컨트롤러 및 그 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116126582A true CN116126582A (zh) | 2023-05-16 |
Family
ID=83049732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211000588.1A Pending CN116126582A (zh) | 2021-11-15 | 2022-08-19 | 管理强错误信息的存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11886293B2 (zh) |
EP (1) | EP4181130A1 (zh) |
CN (1) | CN116126582A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11972122B2 (en) * | 2022-08-04 | 2024-04-30 | Micron Technology, Inc. | Memory read operation using a voltage pattern based on a read command type |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8205146B2 (en) | 2005-07-21 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Persistent error detection in digital memory |
KR100955157B1 (ko) | 2008-12-24 | 2010-04-28 | 서울대학교산학협력단 | 메모리 장치 및 메모리 장치의 관리 방법 |
KR20100102925A (ko) | 2009-03-12 | 2010-09-27 | 삼성전자주식회사 | 리드 리클레임 신호를 발생하는 불휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 |
US9009574B2 (en) | 2011-06-07 | 2015-04-14 | Marvell World Trade Ltd. | Identification and mitigation of hard errors in memory systems |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
KR102123946B1 (ko) * | 2012-12-28 | 2020-06-17 | 삼성전자주식회사 | 멀티 레벨 셀 메모리 장치 및 그것의 동작방법 |
KR102025193B1 (ko) | 2013-02-19 | 2019-09-25 | 삼성전자주식회사 | 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템 |
US9250990B2 (en) | 2013-09-24 | 2016-02-02 | Intel Corporation | Use of error correction pointers to handle errors in memory |
US9397703B2 (en) | 2013-12-04 | 2016-07-19 | Seagate Technology Llc | Adaptive read error recovery for memory devices |
KR102110767B1 (ko) * | 2013-12-24 | 2020-06-09 | 삼성전자 주식회사 | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러 |
KR20150074655A (ko) | 2013-12-24 | 2015-07-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102128406B1 (ko) | 2014-09-26 | 2020-07-10 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
TWI562152B (en) * | 2015-05-29 | 2016-12-11 | Phison Electronics Corp | Decoding method, memory storage device and memory control circuit unit |
KR102413755B1 (ko) | 2015-11-20 | 2022-06-28 | 삼성전자주식회사 | 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법 |
KR102585221B1 (ko) | 2016-04-21 | 2023-10-05 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
KR20180009558A (ko) | 2016-07-19 | 2018-01-29 | 삼성전자주식회사 | 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러 |
KR102535110B1 (ko) | 2018-10-01 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10573393B1 (en) | 2018-11-23 | 2020-02-25 | Storart Technology(Shenzhen) Co., Ltd. | Method for detecting storing states of solid state storage device |
KR20210020689A (ko) | 2019-08-16 | 2021-02-24 | 삼성전자주식회사 | 추론에 기초하여 요청을 처리하는 메모리 시스템 및 이의 동작 방법 |
KR20210083466A (ko) | 2019-12-26 | 2021-07-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
-
2022
- 2022-06-13 US US17/839,369 patent/US11886293B2/en active Active
- 2022-08-19 CN CN202211000588.1A patent/CN116126582A/zh active Pending
- 2022-08-22 EP EP22191565.5A patent/EP4181130A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4181130A1 (en) | 2023-05-17 |
US20230153201A1 (en) | 2023-05-18 |
US11886293B2 (en) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959933B2 (en) | Non-volatile memory devices and methods of operating the same | |
CN107093465B (zh) | 包括电压搜索单元的数据存储器装置 | |
US8621266B2 (en) | Nonvolatile memory system and related method of performing erase refresh operation | |
KR102102224B1 (ko) | 저장 장치 및 그것의 프로그램 방법 | |
KR102517129B1 (ko) | 메모리 시스템 및 그의 동작방법 | |
KR102585221B1 (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
KR20170111375A (ko) | 메모리 시스템 및 그의 동작 방법 | |
KR102714985B1 (ko) | 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템 | |
KR20180025491A (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
KR20170099018A (ko) | 메모리 시스템 및 그의 동작방법 | |
KR20170076883A (ko) | 메모리 시스템 및 그의 동작방법 | |
KR20180027276A (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
KR20170076878A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US20230307062A1 (en) | Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device including the same | |
US11315649B2 (en) | Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods | |
KR20150111692A (ko) | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러를 포함하는 메모리 시스템 | |
CN114913908A (zh) | 存储设备和操作存储设备的方法 | |
CN114579486A (zh) | 配置为控制非易失性存储器件的控制器的操作方法和储存设备的操作方法 | |
KR102398611B1 (ko) | 메모리 시스템 | |
KR20170060204A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
EP4181130A1 (en) | Memory controller managing strong error information and operating method thereof | |
KR20170010136A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN113936721A (zh) | 存储器系统、存储器装置和操作存储器装置的方法 | |
CN113806254A (zh) | 存储器系统、存储器控制器及存储器系统的操作方法 | |
CN111290876B (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |