CN107305791B - 存储装置和存储系统 - Google Patents

存储装置和存储系统 Download PDF

Info

Publication number
CN107305791B
CN107305791B CN201710096000.XA CN201710096000A CN107305791B CN 107305791 B CN107305791 B CN 107305791B CN 201710096000 A CN201710096000 A CN 201710096000A CN 107305791 B CN107305791 B CN 107305791B
Authority
CN
China
Prior art keywords
data
read
memory
level
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.)
Active
Application number
CN201710096000.XA
Other languages
English (en)
Other versions
CN107305791A (zh
Inventor
林惠镇
李承宰
朴一汉
李康斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107305791A publication Critical patent/CN107305791A/zh
Application granted granted Critical
Publication of CN107305791B publication Critical patent/CN107305791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

提供了存储装置和存储系统。所述存储装置包括:存储单元阵列,包括多个存储单元;计数电路,配置为通过对从所述多个存储单元读取的数据执行计数操作获得计数结果;以及控制逻辑,配置为在不涉及存储控制器的情况下基于计数结果执行数据恢复操作。

Description

存储装置和存储系统
本申请要求于2016年4月21日在韩国知识产权局提交的第10-2016-0048952号韩国专利申请的权益,该韩国专利申请的公开内容通过引用全部包含于此。
技术领域
发明构思的至少一个示例实施例涉及一种存储装置,更具体地,涉及一种非易失性存储装置以及一种包括所述非易失性存储装置的存储系统。
背景技术
存储装置用于存储数据,并可分为易失性存储装置和非易失性存储装置。易失性存储装置在供电中断时丢失其存储的数据。然而,非易失性存储装置即使在供电中断时也保留数据。
作为非易失性存储装置的示例的闪存系统广泛应用于例如通用串行总线(USB)驱动器、数字照相机、移动电话、智能电话、平板电脑、个人计算机(PC)、存储卡或固态驱动器(SSD)中。
包括在非易失性存储装置中的多编程存储单元的阈值电压可因诸如保持、浮栅耦合或随时间的电荷损失的各种原因而改变。这些改变可降低读取的数据的可靠性。由如上所述的各种原因引起的阈值电压的改变将在下面被称为“退化”。
发明内容
发明构思的至少一个示例实施例提供了一种存储装置和包括该存储装置的存储系统,在所述存储装置中如果在数据中生成不可校正的错误则在存储装置中执行数据恢复操作。
根据发明构思的至少一些示例实施例,提供了一种存储装置,所述存储装置包括:存储单元阵列,包括多个存储单元;计数电路,配置为对从所述多个存储单元读取的数据执行计数以提供计数结果;以及控制逻辑,配置为在不涉及存储控制器的情况下基于计数电路的计数结果执行数据恢复操作。
根据发明构思的至少一些示例实施例,提供了一种存储系统,所述存储系统包括存储装置,所述存储装置包括:存储单元阵列,所述存储单元阵列包括多个存储单元;计数电路,配置为对根据正常读取操作读取的数据执行计数并提供计数结果;控制逻辑,配置为基于计数电路的计数结果执行数据恢复操作;以及存储控制器,配置为控制存储装置,其中,存储装置将就绪/繁忙信号输出至存储控制器,并且基于计数结果在正常读取操作之后的第一部分期间保持繁忙状态。
根据发明构思的至少一些示例实施例,一种存储装置包括:存储单元阵列,包括多个存储单元;计数电路,配置为通过对从所述多个存储单元读取的数据执行计数操作获得计数结果;以及控制逻辑,配置为在不涉及存储控制器的情况下基于计数结果执行数据恢复操作。
根据发明构思的至少一些示例实施例,一种存储系统包括:存储装置,所述存储装置包括:存储单元阵列,所述存储单元阵列包括多个存储单元;计数电路,配置为通过对根据正常读取操作读取的数据执行计数操作获得计数结果;控制逻辑,配置为基于计数结果执行数据恢复操作;以及存储控制器,配置为控制存储装置,其中,存储装置将就绪/繁忙信号输出至存储控制器,并且在正常读取操作之后的第一部分期间基于计数结果保持繁忙状态。
根据发明构思的至少一些示例实施例,一种存储系统包括:存储装置,包括多个非易失性存储单元;以及存储控制器,所述存储控制器配置为命令存储装置以向存储装置发送读取命令,存储装置配置为通过如下方式响应读取命令:从所述多个存储单元中指定具有在一个或更多个第一阈值电压分布区域内的阈值电压的单元为退化单元,确定退化单元的总数,基于确定的总数和第一阈值确定在所述多个存储单元中的错误的数量是否超过错误阈值,响应于在所述多个存储单元中的错误的数量超过错误阈值的确定来执行数据恢复操作。
附图说明
通过参照附图对发明构思的示例实施例的详细描述,发明构思的示例实施例的上述和其他特征和优点将变得更加清楚。附图意在描绘发明构思的示例实施例,而不应被解释为对权利要求的意在的范围的限制。除非明确指出,否则附图不应被视为按比例绘制。
图1是根据发明构思的至少一些示例实施例的存储系统的示意性框图;
图2是根据发明构思的至少一些示例实施例的存储装置的部分框图;
图3是根据发明构思的至少一些示例实施例的存储装置的框图;
图4是示出根据发明构思的至少一些示例实施例的包括在存储单元阵列中的存储块的示例的电路图;
图5是示出根据发明构思的至少一些示例实施例的包括在存储单元阵列中的存储块的另一个示例的电路图;
图6是图5的存储块的透视图;
图7A是示出当擦除状态的阈值电压分布由于干扰而转移时的曲线图;
图7B是示出当程序状态的阈值电压分布由于电荷损失而转移时的曲线图;
图8A是示出根据发明构思的至少一些示例实施例的在读取操作下施加到字线以确定退化的电压的示例的曲线图;
图8B是示出根据发明构思的至少一些示例实施例的在读取操作下施加到字线以确定退化的电压的另一个示例的曲线图;
图9是根据发明构思的至少一些示例实施例的确定存储单元的退化电平的操作的流程图;
图10A和图10B是示出根据发明构思的至少一些示例实施例的设定分布区域以确定退化的存储单元的数量的各种示例的曲线图;
图11是示出根据来自具有不同特性的两个存储装置(例如,第一存储芯片和第二存储芯片)的计数结果的特性或错误的曲线图;
图12是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图13A是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图13B示出根据发明构思的至少一些示例实施例的随时间流逝由存储系统的元件执行的数据恢复方法的操作;
图14是根据发明构思的至少一些示例实施例的包括数据复原读取操作的数据恢复方法的流程图;
图15是根据发明构思的至少一些示例实施例的包括生成软判决数据的操作的数据恢复方法的流程图;
图16是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图17是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图18是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图19是根据发明构思的至少一些示例实施例的数据恢复方法的流程图;
图20是根据发明构思的至少一些示例实施例的存储装置的框图;
图21是根据发明构思的至少一些示例实施例的存储装置的框图;
图22A示出根据发明构思的至少一些示例实施例的随时间流逝由存储系统的元件执行的数据恢复方法的操作;
图22B是示出根据发明构思的至少一些示例实施例的存储装置的操作的曲线图;
图23是示出根据发明构思的至少一些示例实施例的存储卡系统的框图;以及
图24是示出根据发明构思的至少一些示例实施例的固态硬盘(SSD)系统的框图。
具体实施方式
如在发明构思的领域中的传统的一样,以功能块、单元和/或模块为单元描述并在附图中示出实施例。本领域技术人员将理解,这些块、单元和/或模块通过可使用基于半导体制造技术或其他制造技术形成的诸如逻辑电路、分立组件、微处理器、硬连线电路、存储元件、布线连接等电子(或光)电路物理地实现。在块、单元和/或模块由微处理器或类似物实现的情况下,它们可以使用软件(例如,微代码)编程以执行在此讨论的各种功能,并且可选地可由硬件和/或软件驱动。可替代地,每个块、单元和/或模块可由专用硬件或作为执行一些功能的专用硬件和为执行其他功能的处理器(例如,一个或更多个编程的微处理器和相关联的电路)的组合。此外,在不脱离发明构思的范围的情况下,实施例的每个块、单元和/或模块可以物理地分离成两个或更多个交互和离散的块、单元和/或模块。此外,在不脱离发明构思的范围的情况下,实施例的块、单元和/或模块可以物理地组合成更复杂的块、单元和/或模块。
图1是根据发明构思的至少一些示例实施例的存储系统的示意性框图。
参照图1,存储系统可包括存储控制器10和存储装置20,存储装置20可包括存储单元阵列100、计数电路200和控制逻辑300。控制逻辑300可包括数据恢复单元310。
响应于来自主机HOST的写入/读取请求,存储控制器10可读取存储在存储装置20中的数据或可控制存储装置20以将数据写入存储装置20。更详细地,存储控制器10可将地址ADDR、命令CMD和控制信号CTRL提供至存储装置20,因此可控制关于存储装置20的程序(或写入)操作、读取操作和擦除操作。此外,写入目标数据DATA或读取数据DATA可在存储控制器10和存储装置20之间交换。
此外,存储控制器10可通过使用各种标准接口与外部主机通信。例如,存储控制器10可包括主机接口(未示出),主机接口可在如主机和存储控制器10之间提供各种标准接口。标准接口的示例可包括高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、扩展PCI(PCI-E)、IEEE1394,通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存存储器(UFS)和紧凑型闪存(CF)卡接口。
存储单元阵列100可包括多个存储单元,存储单元可为例如闪存单元。在下文中,描述将集中在将NAND闪存单元作为多个存储单元。然而,发明构思的至少一些示例实施例不限于此,在其他实施例中,多个存储单元可为电阻存储单元,诸如电阻式随机存取存储器(RAM)(ReRAM)、相变RAM(PRAM)或磁/磁阻RAM(MRAM)。
在一些实施例中,存储单元阵列100可包括二维(2D)存储单元阵列并包括在行方向和列方向上布置的多个单元串,将参照图4对此进行详细描述。在一些实施例中,存储单元阵列100可包括三维(3D)存储单元阵列,所述三维存储单元阵列包括多个NAND串。每个NAND串可包括分别连接至竖直堆叠在基底上的字线的存储单元,将参照图5和图6对此进行详细描述。
3D存储阵列单片形成在存储单元的阵列的一个或更多个物理级中,所述存储单元具有设置在硅基底上方的有源区域和与那些存储单元的操作关联的电路,无论这些关联电路是在这些基底上方还是在这些基底中。术语“单片”意味着阵列的每个级别的层直接设置在阵列的每个下面的级别的层上。
根据发明构思的至少一个示例实施例,3D存储阵列包括竖直取向的竖直NAND串,使得至少一个存储单元位于另一个存储单元上方。所述至少一个存储单元可包括电荷陷阱层。通过引用全部包含于此的下述专利文献描述了用于3D存储阵列的合适的配置,其中,3D存储阵列配置为多个级别,各级别之间共享字线和/或位线:U.S.Pat.Nos.7,679,133;8,553,466;8,654,587;8,559,235;以及US Pat.Pub.No.2011/0233648。此外,USPat.Pub.No.2014/0376312通过引用全部包含于此。
计数电路200可基于存储在页缓冲器(未示出)中的数据计算存储单元阵列100的存储单元的数量,将在后面对此进行描述。在本公开中,特别地,计数电路200可计算退化单元DC的数量。根据实施例,计数电路200的功能也可由控制逻辑300执行。
基于从存储控制器10接收的命令CMD、地址ADDR和控制信号CTRL,控制逻辑300可将用于写入数据的各种控制信号输出至存储单元阵列100或从存储单元阵列100读取数据或擦除存储在存储单元阵列100中的数据。如此,控制逻辑300可整体地控制存储装置20中的操作。
控制逻辑300可包括数据恢复单元310。数据恢复单元310可在不涉及存储控制器10的情况下基于从计数电路200发送的计数结果来执行数据恢复操作。例如,存储装置20可根据来自存储控制器10的读取命令对数据执行第一读取操作(例如,正常读取操作)。如果在正常读取操作中所读取的数据中生成了无法校正的错误(无法校正的ECC,UECC),则数据恢复单元310可在不涉及存储控制器10的情况下通过恢复算法恢复数据。恢复算法的非限制性示例可包括数据复原读取、软判决数据生成,将在后面对此进行详细描述。控制逻辑300可将恢复的数据发送至存储控制器10。
根据上述实施例,存储装置20可基于对读取数据执行的计数操作确定是否需要数据恢复、在不涉及存储控制器10的情况下执行数据恢复操作并且将由于数据恢复操作而获得的数据作为正常数据提供至存储控制器10。因此,存储控制器10无需从存储装置20接收无法校正的数据并且额外地将用于数据恢复的命令发送至存储装置20。此外,在存储装置20已经发送具有无法校正的错误的数据之后,不用执行重新发送恢复的数据的进程,因此,数据无需发送两次。此外,存储控制器10无需对具有无法校正的错误的数据执行错误校正码操作。
图2是根据发明构思的至少一些示例实施例的存储装置20的部分框图。
参照图2,控制逻辑300可包括数据恢复单元310和比较单元320。比较单元320可存储参考值Ref。例如,比较单元320可存储至少一个参考值Ref。此外,计数电路200可基于第一读取电平数据Data_RL1和第二读取电平数据Data_RL2执行计数操作,并将计数结果CNT输出至比较单元320。计数结果CNT可对应于计算的退化单元的数量,将在后面详细描述其计算方法。数据恢复单元310和比较单元320的功能可实现为硬件(例如,专用电路系统和/或专用集成电路(ASIC))、处理器执行软件(例如,包括在执行计算机可执行指令的控制逻辑300中或者可替代地实现该控制逻辑300的一个或更多个处理器)或者硬件和处理器执行软件的组合。
如在本公开中使用的,例如,术语“处理器”可以是指物理结构化以执行期望的操作的具有电路系统的硬件实现数据处理装置,所述期望的操作包括例如以包括在程序中的代码和/或指令为代表的操作。上面涉及的硬件实现数据处理装置的示例包括但不限于微处理器、中央处理单元(CPU)、处理器核、多核处理器;多处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA)。执行程序代码的处理器为可编程的处理器,因此为专用计算机。
当从计数电路200接收计数结果CNT时,比较单元320可将计数结果CNT与参考值Ref进行比较,并将与参考值Ref的比较结果Result提供至控制逻辑300。比较结果Result可包括指示存储单元的退化的程度的信息,并可包括例如指示在读取的数据中是否生成无法校正的错误的信息。根据发明构思的至少一些示例实施例,比较单元320可比较参考值Ref,参考值Ref可作为无法校正的错误的指标。例如,比较单元320可利用计数结果CNT确定参考值Ref是否与超出错误校正能力(例如,存储装置20和/或存储控制器10的错误校正能力)的位错误的数量对应,并且如果计数结果CNT大于参考值Ref,则比较单元320可将此比较结果Result输出至数据恢复单元310。
一经接收指示生成了无法校正错误的比较结果Result,数据恢复单元310可根据预设的或可替代地期望的恢复算法来输出恢复控制信号Ctrl_Rsetore。根据实施例,恢复算法可包括当在读取数据中生成了无法校正的错误时在读取重试操作期间执行的各种类型的恢复算法。由于恢复控制信号Ctrl_Rsetore提供至包括在存储装置20中的各种块,因此可执行可降低数据错误率的重读操作。将在后面描述恢复算法的示例。
根据实施例,第一读取电平数据Data_RL1和第二读取电平数据Data_RL2可代表基于不同的读取电平的数据感测(或数据读取)的结果。例如,当确定存储单元的阈值电压电平中的一个的电平状态时,可基于至少两个读取电平读取数据。计数电路200可基于第一读取电平数据Data_RL1和第二读取电平数据Data_RL2执行计算操作,并可计算在预定的或可替代地期望的分布区域中(例如,在第一读取电平和第二读取电平之间的分布区域中)具有阈值电压的存储单元(例如,退化的存储单元)的数量。
根据实施例,计数电路200可分别接收第一读取电平数据Data_RL1和第二读取电平数据Data_RL2,并通过对第一读取电平数据Data_RL1和第二读取电平数据Data_RL2执行的算术运算确定属于上述分布区域的存储单元。例如,可通过对第一读取电平数据Data_RL1和第二读取电平数据Data_RL2执行的诸如XOR的算术运算来确定属于上述分布区域的存储单元,可通过对属于该分布区域的存储单元执行计算操作来生成计数结果CNT。
可替代地,根据另一实施例,可使用存储第一读取电平数据Data_RL1和第二读取电平数据Data_RL2的页缓冲器(未示出)执行诸如XOR的算术运算。在这种情况下,计数电路200可接收通过页缓冲器提供的数据(或运算数据),并根据对数据执行的计算操作生成代表属于上述分布区域的计数的存储单元的数量的计数结果CNT。
图3是根据发明构思的至少一些示例实施例的存储装置20的框图。
参照图1至图3,存储装置20可包括存储单元阵列100、计数电路200、控制逻辑300、电压生成器400、行解码器500和页缓冲器600。虽然在图3中未示出,但存储装置20还可包括可由电路或电路系统实现并可与存储操作有关的其他功能块,诸如输入/输出接口。将省略上面参照图1提供的元件的描述。根据发明构思的至少一些示例实施例,控制逻辑300、电压生成器400和行解码器器500中的每个可通过电路或电路系统实施。
存储单元阵列100可包括多个存储单元,所述多个存储单元可连接至字线WL、串选择线(未示出)、地选择线(未示出)和位线BL。详细地,存储单元阵列100可通过字线WL、串选择线和地选择线连接至行解码器500,并可通过位线BL连接至页缓冲器600。
存储单元阵列100可包括多个块BLK1至BLKz,每个块可具有二维结构(或平面结构)或者三维结构(或竖直结构)。可由行解码器500选择块BLK1至BLKz。例如,行解码器500可从块BLK1至BLKz中选择与块地址对应的块。存储单元阵列100可包括包含单电平单元的单电平单元块、包含多电平单元的多电平单元块和包含三电平单元的三电平单元块中的至少一个。例如,包括在存储单元阵列100中的多个块BLK1至BLKz中的一些可为单电平单元块,另一些块可为多电平单元块或三电平单元块。
从控制逻辑300输出的各内部控制信号可提供至电压生成器400、行解码器500和页缓冲器600。详细地,控制逻辑300可将电压控制信号CTRL_vol提供至电压生成器400。电压生成器400可包括至少一个泵(未示出),并基于泵操作生成各种电平的电压,其中,基于电压控制信号CTRL_vol生成泵操作。
同时,控制逻辑300可将行地址X-ADDR提供至行解码器500,将列地址(未示出)提供至页缓冲器600。此外,当通过感测操作(或读取操作)读取的数据存储在页缓冲器600中时,可响应于来自控制逻辑300的控制信号将页缓冲器600的数据发送至输入/输出缓冲器(未示出)。此外,响应于来自控制逻辑300的输出使能信号,存储在输入/输出缓冲器中的数据可被提供至外界(例如,提供至存储控制器)。
此外,控制逻辑300可输出指示存储装置20的状态的就绪/繁忙信号RnB。当存储装置20将具有繁忙状态的就绪/繁忙信号RnB提供至存储控制器10时,在繁忙状态部分期间存储控制器10可不输出命令。另一方面,当存储装置20将具有就绪状态的就绪/繁忙信号RnB提供至存储控制器10时,在就绪状态部分期间存储控制器10可将命令提供至存储装置20。
计数电路200可基于存储在页缓冲器600中的数据计算退化的存储单元,并将退化的存储单元的计数结果CNT输出至控制逻辑300的比较单元320。如上所述,比较单元320可接收计数电路200的计数结果CNT并将其与参考值比较,并将比较结果Result输出至数据恢复单元310。
如上所述,计数电路200可通过使用各种方法计算退化的存储单元。例如,图3示出了通过接收作为运算操作的结果的运算数据Data_ari执行的计算操作,其中,通过使用第一电平读取数据Data_RL1和第二电平读取数据Data_RL2执行所述运算操作。
数据恢复单元310可基于比较单元320的比较结果Result执行恢复算法,并输出恢复控制信号Ctrl_Restore以控制存储装置20的关于数据复原的内部组件。例如,数据恢复单元310可包括控制数据复原读取操作的数据复原读取单元311和/或控制软判决数据的生成的软判决数据生成单元312。数据复原读取单元311和软判决数据生成单元312的功能可实现为硬件(例如,专用电路系统和/或专用集成电路(ASIC))、处理器执行软件(例如,包括在执行计算机可执行指令的控制逻辑300中或者可替代地实现该控制逻辑300的一个或多个处理器)或者硬件和处理器执行软件的组合。当实现为软件时,数据复原读取单元311和软判决数据生成单元312可对应于均由处理器执行的软件(或程序)。
根据实施例,控制逻辑300可基于比较结果Result控制就绪/繁忙信号RnB的状态。例如,在正常读取操作结束后,如果将要执行恢复算法,则在执行恢复算法的部分期间控制逻辑300可保持就绪/繁忙信号RnB的状态(或就绪/繁忙信号RnB的繁忙状态),而不改变就绪/繁忙信号RnB的状态(或不将就绪/繁忙信号RnB的状态改变为就绪状态)。即,除了正常读取操作部分,在与比较结果Result的生成和恢复算法的操作有关的额外部分期间,基于比较结果Result,就绪/繁忙信号RnB可保持其繁忙状态。
图4是示出根据发明构思的至少一些示例的作为包括在存储单元阵列中的存储块的示例的存储块BLK0的电路图。
参照图4,存储单元阵列(例如,图1的存储单元阵列100)可为水平NAND闪存的存储单元阵列并包括多个存储块。每个存储块BLK0可包括n个(其中,n为等于或大于2的整数)串STR,在串STR中多个存储单元MC沿着位线BL0至BLn-1串联连接。例如,在图4的实施例中,每个串STR包括八个存储单元。
在具有如图4所示的结构的NAND闪存装置中,对每个块执行擦除,并以分别对应于字线WL0至WL7的页PAG为单元执行编程。根据图4的实施例,对应于八个字线WL0至WL7的八个页PAG包括在一个块中。可替代地,根据发明构思的至少一些实施例的存储单元阵列100的存储块也可包括具有与在图4中示出的存储单元MC和页PG的数量不同的数量的存储单元和页。此外,图1至图3的存储装置20可包括多个存储单元阵列,所述多个存储单元阵列均与上述存储单元阵列100具有相同结构并执行相同的操作。
由于存储单元MC的特性,重复的写入(编程)和擦除可能导致存储单元MC的退化。存储单元MC由于保持、干扰等退化而生成退化的单元。图4示出了退化单元DC仅集中在一部分的示例,但其仅是示例,退化单元DC也可分散。在读取操作期间退化单元DC可能生成错误,从而降低存储装置的可靠性。
图5是示出根据发明构思的至少一些示例实施例的作为包括在存储单元阵列中的存储块的另一示例的存储块BLK0'的电路图。
参照图5,存储单元阵列(例如,图1的存储单元阵列100)可为竖直NAND闪存的存储单元阵列并包括多个存储块。每个存储块BLK0'可包括多个NAND串NS11至NS33、多条字线WL1至WL8、多条位线BL1至BL3、多条地选择线GSL1至GSL3、多条串选择线SSL1至SSL3以及公共源极线CSL。根据实施例,NAND串、字线、位线、地选择线和串选择线的数量可以各种方式变化。
NAND串NS11、NS21和NS31设置在第一位线BL1和公共源极线CSL之间,NAND串NS12、NS22和NS32设置在第二位线BL2和公共源极线CSL之间,NAND串NS13、NS23和NS33设置在第三位线BL3和公共源极线CSL之间。每个NAND串(例如,NAND串NS11)可包括彼此串联连接的串选择晶体管SST、多个存储单元MC1至MC8和地选择晶体管GST。在下文中,为了方便起见,NAND串将被称为串。
共同连接至一条位线的串形成一列。例如,连接至第一位线BL1的NAND串NS11、NS21和NS31可对应于第一列。连接至第二位线BL2的NAND串NS12、NS22和NS32可对应于第二列。连接至第三位线BL3的NAND串NS13、NS23和NS33可对应于第三列。
连接至一条串选择线的NAND串可形成一行。例如,连接至第一串选择线SSL1的NAND串NS11、NS12和NS13可形成第一行。连接至第二串选择线SSL2的NAND串NS21、NS22和NS23可形成第二行。连接至第三串选择线SSL3的NAND串NS31、NS32和NS33可形成第三行。
每个串选择晶体管SST连接至串选择线SSL1至SSL3中对应的一个。多个存储单元MC1至MC8分别连接至对应的字线WL1至WL8。每个地选择晶体管GST连接至地选择线GSL1至GSL3中对应的一条。串选择晶体管SST连接至对应的位线BL1至BL3,地选择晶体管GST连接至公共源极线CSL。
在本实施例中,在相同高度的字线(例如,字线WL1)可彼此连接,串选择线SSL1至SSL3可彼此分离,地选择线GSL1至GSL3也彼此分离。例如,当编程存储单元连接至第一字线WL1并属于串NS11、NS12和NS13时,选择第一字线WL1和第一串选择线SSL1。然而,实施例不限于此,在另一实施例中,地选择线GSL1至GSL3也可彼此连接。
与图4的实施例相似,退化单元DC可生成在图5的存储单元阵列BLK0'中。图5示出了退化单元DC仅集中在一部分的示例,但这仅是一个示例,退化单元DC也可分散。在读取操作期间,退化单元DC可能生成错误从而降低存储装置的可靠性。
图6是图5的存储块BLK0'的透视图。
参照图6,包括在存储单元阵列(例如,图1的存储单元阵列100)中的存储块相对于基底SUB在竖直方向上布置。在图6中,示出了包括两条选择线GSL和SSL、八条字线WL1至WL8以及三条位线BL1至BL3的存储块BLK0',但存储块BLK0'也可包括更多或更少的选择线、字线和位线。
基底SUB具有第一导电类型(例如,p型),在第一方向(例如,Y方向)上延伸并掺杂有具有第二导电类型(例如,n型)的杂质的公共源极线CSL设置在基底SUB上。在第一方向上延伸的多个绝缘层IL在第三方向(例如,Z方向)上顺序地设置在基底SUB的在两条相邻的公共源极线CSL之间的区域上,多个绝缘层IL沿第三方向彼此分隔开预定的或者可替代地期望的距离。例如,多个绝缘层IL可包括诸如氧化硅的绝缘材料。
在第一方向上顺序布置并在第三方向上穿过多个绝缘层IL的多个柱P设置在基底SUB的在两条相邻的公共源极线CSL之间的区域上。例如,多个柱P可穿过多个绝缘层IL以接触基底SUB。详细地,每个柱P的表面层S可包括第一类型硅材料并用作沟道区域。每个柱P的内层I可包括诸如氧化硅或空气间隙的绝缘材料。
电荷存储层CS沿绝缘层IL、柱P和基底SUB的暴露的表面设置在两条相邻的公共源极线CSL之间的区域中。电荷存储层CS可包括栅极绝缘层(或者也可被称为“隧道绝缘层”)、电荷陷阱层和块绝缘层。例如,电荷存储层CS可具有氧化物-氮化物-氧化物(ONO)结构。此外,诸如选择线GSL和SSL以及字线WL1至WL8的栅电极GE设置在电荷存储层CS的暴露的表面上。
漏极或漏极接触DR分别设置在多个柱P上。例如,漏极或漏极接触DR可包括掺杂有第二导电类型杂质的硅材料。在第二方向(例如,X方向)上延伸并在第一方向上彼此分隔开预定的或者可替代地期望的距离的位线BL1至BL3设置在漏极DR上。
图7A是示出当擦除状态的阈值电压分布由于干扰而转移时的曲线图。
当根据写入/读取操作将电压连续施加到存储单元时,即,如果压力连续施加到存储单元,则可能产生干扰(例如,程序干扰)。当干扰产生时,擦除状态E的阈值电压分布会转移至较高的电压。即,在擦除状态E下存储单元的阈值电压可能增大。然而,干扰不会对第一至第三程序状态P1、P2和P3的阈值电压分布产生明显的影响。
参照图7A,擦除状态E的阈值电压分布会转移至较高的电压(从虚线移动至实线),第三程序状态P3的阈值电压分布不会产生或产生极小的改变。因此,低于第一参考电压VRef1的存储单元的数量A1会比初始分布减少,而高于第二参考电压VRef2的存储单元的数量A2仅会轻微地改变。
图7B是示出当程序状态的阈值电压分布由于电荷损失而转移时的曲线图。
电荷损失是指随时间逃脱并导致漏电流的陷阱电荷,并可主要由保持特性导致。保持是指即使主电源供应被阻止也保留存储有进入激活模式所需的信息的晶体管的存储值,以降低在待机模式下的功耗。例如,保持可以是指非易失性存储单元保持存储的电荷的能力。当保持特性退化时,电荷损失会增加,在这种情况下,第一至第三程序状态P1、P2和P3的阈值电压分布可能转移至较低的电压。即,第一至第三程序状态P1、P2和P3的存储单元的阈值电压可能降低。然而,电荷损失对擦除状态E的阈值电压分布不会产生明显影响。当电荷损失发生时,第三程序状态P3的阈值电压分布的变化可能大于第一程序状态P1和第二程序状态P2的阈值电压分布的变化。
参照图7B,第三程序状态P3的阈值电压分布会移动至较低的电压(从虚线移动至实线),擦除状态E的阈值电压的变化可相对小。因此,与初始分布相比,低于第一参考电压VRef1的存储单元的数量B1几乎不会改变,但是高于第二参考电压VRef2的存储单元的数量B2会减少。
图8A是示出根据发明构思的至少一些示例实施例的在读取操作中确定退化的读取电平的示例的曲线图。
参照图8A,水平轴指示阈值电压,竖直轴指示存储单元的数量。例如,存储单元可为多电平单元,并根据阈值电压Vth可具有擦除状态E、第一程序状态P1、第二程序状态P2和第三程序状态P3中的一个。当读取多电平单元的数据时,如果每个存储单元存储两位数据,则可执行确定三个不同状态的读取操作以确定数据。例如,可通过用于确定状态的一个读取操作(例如,LSB读取操作)确定最低有效位(LSB)的数据,可通过用于确定状态的两个读取操作(例如,第一和第二MSB读取操作)确定最高有效位(MSB)的数据。虽然未示出,但是如果存储单元存储包括三位或更多位的数据,则可增加读取操作的数量以确定更多的多元状态。
此外,在LSB读取操作、第一MSB读取操作和第二MSB读取操作的每个中,可读取(或感测)对应于两个读取电平V1和V2的数据。两个读取电平V1和V2中的一个可为对应于在存储单元退化前的相对于阈值电压分布的谷的电压,两个读取电平V1和V2中的另一个可对应于可更靠近由于退化而从先前值转移的另一个谷的电压。可顺序地或同时地执行基于两个读取电平V1和V2的读取操作。
在阈值电压分布中,可通过如下方式来执行用于搜索两个阈值电压分布之间的谷的最小错误读取方法:借助于从参考电压电平改变至负值或正值的电平来读取单元的数据,并计算具有各数据段的单元的数量(例如,计算具有0的数据的单元的数量和具有1的数据的单元的数量)。当通过一个读取操作读取多个区域时,可对每个区域计算单元的数量,可通过在分布之间的谷周围重复执行计数来提取每个区域的最小错误读取电平。
上述两个读取电平V1和V2中的每个可对应于作为用于确定数据的标准的阈值电压电平,可通过改变提供至存储单元的读取电压来执行基于两个读取电平V1和V2的读取操作。可替代地,根据另一实施例,关于数据读取操作可使用各种类型的系数。例如,通过调整与读取操作有关的各种系数的电平(例如,作为用于确定数据的标准的参考电压、参考电流、数据感测时间等),可改变作为数据确定标准的读取电平V1和V2。
同时,在第一MSB读取操作Read_MSB1中,计数电路200可基于通过使用两个读取电平V1和V2执行的读取操作的结果来计算预定的或可替代地期望的分布区域(例如,第一分布区域A)的存储单元的数量。第一分布区域A的存储单元的数量可对应于在第一MSB读取操作Read_MSB1中退化的存储单元的数量。
此外,在LSB读取操作Read_LSB中,计数电路200可基于通过使用两个读取电平V1和V2执行的读取操作的结果来计算预定的或可替代地期望的分布区域(例如,第二分布区域B)的存储单元的数量。第二分布区域B的存储单元的数量可对应于在LSB读取操作Read_LSB中退化的存储单元的数量。
此外,在第二MSB读取操作Read_MSB2中,计数电路200可基于通过使用两个读取电平V1和V2执行的读取操作的结果来计算预定的或可替代地期望的分布区域(例如,第三分布区域C)的存储单元的数量。第三分布区域C的存储单元的数量可对应于在第二MSB读取操作Read_MSB2中退化的存储单元的数量。
可基于如上所述的计数结果在各种条件下执行数据恢复操作。在读取LSB数据的操作中,可将第二分布区域B的存储单元的数量的计数结果与预定的或可替代地期望的参考值进行比较,并可基于比较的结果执行恢复算法。
此外,在读取MSB数据的操作中,第一分布区域A的存储单元的计数结果和第三分布区域C的存储单元的计数结果可用于执行数据恢复操作。例如,当第一分布区域A的存储单元的数量和第三分布区域C的存储单元的数量均超过预定的或者可替代地期望的参考值时,可对MSB数据执行恢复算法。可替代地,当第一分布区域A的存储单元的数量和第三分布区域C的存储单元的数量中仅有一个超过预定的或者可替代地期望的参考值时,可对MSB数据执行恢复算法。
图8B是示出根据发明构思的至少一些示例实施例的在用于确定退化的读取操作中的读取电平的另一个示例的曲线图。在图8B的以下讨论中可省略上面已经参照图8A描述的一些细节的描绘。
参照图8B,水平轴指示阈值电压,竖直轴指示存储单元的数量。例如,存储单元可为多电平单元,并根据阈值电压Vth可具有擦除状态E、第一程序状态P1、第二程序状态P2和第三程序状态P3中的一个。为了确定退化,可在LSB读取操作和MSB读取操作中均使用两个读取电平来执行读取。不同于图8A的实施例,当执行两次MSB读取操作时,可仅相对于一个MSB读取操作(例如,第二MSB读取操作Read_MSB2)执行计算预定的或可替代地期望的分布区域的存储单元的数量的操作。如上所述,例如,如果发生电荷损失,则较低电平的阈值电压分布可具有小的变化,因此,可选择性地仅相对于较高电平的第二MSB读取操作Read_MSB2执行计算退化的存储单元的数量的操作。
图9是根据发明构思的至少一些示例实施例的确定存储单元的退化电平的操作的流程图。
参照图1和图9,根据发明构思的至少一些示例实施例,为了确定存储单元的退化的程度,在操作S11中,通过将第一电压用作第一读取电平V1对将要读取的存储单元执行第一读取操作。在操作S12中,根据第一读取操作,可在页缓冲器中存储基于第一读取电平V1确定的第一数据。
此外,在操作S13中,通过将第二电压用作第二读取电平V2对将要读取的存储单元执行第二读取操作。在操作S14中,根据第二读取操作,可在页缓冲器中存储基于第二读取电平V2确定的第二数据。第二电压V2可高于第一电压V1。在操作S15中,通过使用如上计算的第一数据和第二数据,可计算预定的或可替代地期望的分布区域的退化的存储单元的数量。预定的或替代地期望的分布区域可对应于图8A和图8B中的第一至第三分布区域A、B和C。
图10A和图10B是示出根据发明构思的至少一些示例实施例的设定分布区域以确定退化的存储单元的数量的各种示例的曲线图。在此将省略上面参照图8A和图8B描述的细节的描绘。
参照图10A和图10B,水平轴可指示阈值电压,竖直轴可指示存储单元的数量。退化单元DC的阈值电压电平的区域可设定在阈值电压分布的谷的左侧或右侧。
具体地,如在图10A的实施例中,为了确定由于电荷损失导致的退化的程度,可计算分布区域A1、B1和C1的存储单元的数量,所述分布区域A1、B1和C1在与阈值电压分布的谷对应的电平和比先前的电平低预定的或可替代地期望的值的电平之间。分布区域A1、B1和C1的计数结果可分别对应于各状态的退化单元DC的数量。
此外,如在图10B的实施例中,为了确定由于干扰导致的退化的程度,可计算分布区域A2、B2和C2的存储单元的数量,所述分布区域A2、B2和C2在与阈值电压分布的谷对应的电平和比先前电平高预定的或可替代地期望的值的电平之间。分布区域A2、B2和C2的计数结果可对应于各状态的退化单元DC的数量。
分别参照图10A和图10B的分布区域描述的干扰和电荷损失是示例,也可在此应用使存储单元退化的任何系数。虽然示出的区域在相对于谷的左侧或右侧,但是这是示例,可根据状态不同地设置分布区域以确定退化的程度。例如,在LSB读取操作Read_LSB和第二MSB读取操作Read_MSB2中,可计算具有在相对于谷左侧的阈值电压电平的退化单元DC的数量。在第一MSB读取操作Read_MSB1中,可计算具有在相对于谷右侧的阈值电压电平的退化单元DC的数量。
图11是示出根据来自具有不同特性的两个存储装置(例如,第一存储芯片和第二存储芯片)的计数结果的错误特性的曲线图。
如在上述实施例中,可基于属于预定的或可替代地期望的分布区域的存储单元的数量来预测在正常读取操作中读取的数据的错误的数量。例如,在图11中示出基于来自具有不同特性的两个存储装置(例如,第一存储芯片chip-1和第二存储芯片chip-2)的计数结果的错误特性。
例如,随着属于上述分布区域的退化的单元的数量增加,在读取数据中生成的错误的数量可成比例增加。基于退化的单元的数量和错误的数量之间的相关性,可设定不同的参考值以确定是否将对每个存储装置执行恢复算法。例如,用于校正错误的错误校正码(ECC)电路可包括在存储控制器中,可基于存储控制器的最大校正能力MAX ECC设定参考值。
当在第一存储芯片chip-1的读取操作中从上述分布区域计算了A个退化的单元时,可获得存储控制器的最大校正能力MAX ECC。在这种情况下,在第一存储芯片chip_1中,可将上述计数结果与对应于A的参考值彼此比较,并可基于比较结果选择性地执行恢复算法。在另一方面,在第二存储芯片chip-2的读取操作中,当从上述分布区域中计算了B个退化的单元时,其中,B个退化的单元多于A个退化的单元,获得存储控制器的最大校正能力MAX ECC,在第二存储芯片chip_2中可将上述计数结果与对应于B的参考值彼此比较。
图12是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图12描述所述方法。
在根据发明构思的至少一些示例实施例的数据恢复算法中,当在操作S21中存储装置20接收读取命令时,计数电路200通过使用基于数据段的组合的数据来测量存储单元的退化的程度,所述基于数据段的组合的数据是基于至少两个读取电平读取的,在操作S23中,基于计数电路200的测量结果,控制逻辑300可确定恢复算法的执行是否是需要的或者可替代地是否是期望的。在操作S24中,当控制逻辑300确定恢复算法的执行是需要的或可替代地是期望的时,存储装置20中的控制逻辑300可执行恢复算法以恢复数据。
图13A是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图13A描述此方法。
当在操作S31中存储装置20从存储控制器10接收读取命令时,在操作S32中,在使用读取电路执行读取操作的同时,存储控制器20中的计数电路200可计算来自存储单元阵列100的退化单元DC的数量。在操作S33中,控制逻辑300中的比较单元320可基于计数电路200的计数结果CNT确定错误是否是可校正的。在操作S34中,如果错误是不可校正的,则控制逻辑300的数据恢复单元310可执行数据恢复算法。在操作S35中,当通过数据恢复单元310完成了恢复算法时,存储装置20可将恢复的数据发送至存储控制器10。
图13B示出了根据发明构思的至少一些示例实施例的随时间的流逝由存储系统的元件执行的数据恢复方法的操作。将参照图3和图13B描述此方法。
在操作T110中当读取命令被从存储控制器10发送到存储装置20的控制逻辑300时,在操作T120中,控制逻辑300可通过读取电路(未示出)从存储单元阵列100读取数据。根据上述实施例,在读取操作中可通过使用至少两个读取电平来执行读取操作以确定每个存储单元的状态,读取数据可存储在页缓冲器中。
在操作T210中,计数电路200可通过使用来自页缓冲器(未示出)的数据来计算退化单元DC的数量。在操作T220中,计数电路200可将关于退化单元DC的数量的计数结果CNT发送至控制逻辑300。在操作T310中,控制逻辑300的比较单元320可通过将从计数电路200接收的计数结果CNT与参考值进行比较来确定错误是否是可校正的。在操作T320中,当确定的结果为错误是可校正的时,在操作T330中,可将具有通过错误校正电路(未示出)校正的错误的数据输出至存储控制器10。例如,存储装置200可包括校正读取数据中的可校正的错误的ECC电路。作为另一个示例,控制逻辑300可能够执行ECC解码和/或编码操作以及校正读取数据中的可校正的错误。可替代地,当错误校正电路包括在存储控制器10中时,存储装置20可将具有可校正错误的数据发送至存储控制器10,存储控制器10可执行错误校正。在操作T320中,如果错误是不可校正的,则控制逻辑300的数据恢复单元310可通过使用恢复算法来执行数据复原读取操作和/或生成软判决数据的操作。在操作T500中,当使用恢复算法恢复数据时,控制逻辑300可将恢复的数据发送至存储控制器10。
图14是根据发明构思的至少一些示例实施例的包括数据复原读取操作的数据恢复方法的流程图。将参照图13和图14描述所述方法。
参照图14,在执行数据读取操作后,当在操作S41中指示错误是不可校正的信息被发送至数据恢复单元310时,在操作S42中,数据恢复单元310可确定是否操作数据复原读取单元311。根据实施例,与软判决数据生成单元312相比,当错误并不严重时,可操作数据复原读取单元311。
在操作S45中,当操作数据复原读取单元311时,控制逻辑300可以以不同的读取电压重读数据。例如,与在执行重读操作时使用的读取电压的电平有关的信息可预先存储在存储装置20中,可通过参考该信息来改变重读操作中的读取电压的电平。
根据另一实施例,在操作S44中,当执行数据复原读取操作时,可读取与读取原始数据的区域(例如,页)相邻的字线的数据,并可确定读取的数据。如果基于确定相邻字线的结果相邻字线的区域对应于已经编程的状态,则可基于所述结果执行改变上述读取电压的电平的操作。即,相邻字线的区域被编程的事实可指示读取原始数据的区域被干扰,因此,改变上述读取电压的电平的操作可基于确定相邻字线的区域的数据的结果。
根据重读操作,在操作S46中,当错误被校正并成功地对数据执行正常读取操作时,控制逻辑300可将重读数据发送至存储控制器10。另一方面,在操作S42中,当正常读取操作失败时,存储装置20可确定是否再次操作数据复原读取单元311。在操作S45中,当操作数据复原读取单元311时,可通过再次改变读取电压执行重读。另一方面,根据在数据中生成的错误的程度,可代替数据复原读取单元311执行生成软判决数据的操作。例如,在操作S43中,如果错误程度严重,则可执行生成软判决数据的操作。
图15是根据发明构思的至少一些示例实施例的包括生成软判决数据的操作的数据恢复方法的流程图。
首先,可将第一硬读电压HRV1施加到第一区域(或页)的第一地址以确定第一区域的每个存储单元的阈值电压属于第一阈值电压状态S1或第二阈值电压状态S2。具有比第一硬读电压HRV1低的阈值电压的存储单元可确定为1(即,存储数据值“1”),具有比第一硬读电压HRV1高的阈值电压的存储单元可确定为0(即,存储数据值“0”)。
第一硬读电压HRV1可具有与正常读取电压相同的电压电平,其中,所述正常读取电压用于在正常读取操作中确定第一阈值电压状态S1和第二阈值电压状态S2。在具有四个或更多个不同的阈值电压状态的MLC闪存中,正常读取电压可具有多个电压电平,在这种情况下,第一硬读电压HRV1可具有用于在多个电压电平中确定第一阈值电压状态S1和第二阈值电压状态S2的电压电平。使用第一硬读电压HRV1确定的数据可被称为硬数据HD。
随后,可将第一软读电压SRV1a和第二软读电压SRV1b顺序地施加到第一地址以生成软数据SD,其中,第一软读电压SRV1a和第二软读电压SRV1b是一对并相对于第一硬读电压HRV1分别具有第一电压变量△V1和第二电压变量△V2。例如,可利用使用第一软读电压SRV1a读取的数据和使用第二软读电压SRV1b读取的数据来生成软数据SD。
同时,可基于硬数据HD和软数据SD生成软判决数据SDTA。根据图15的示例,基于硬数据HD和软数据SD的软判决数据SDTA可分别相对于部分①、②、③和④具有值11、10、00和01。然而,发明构思的至少一些示例实施例不限于此,基于硬数据HD和软数据SD的软判决数据SDTA也可具有其他不同值。
存储装置20可将硬数据HD和软判决数据SDTA均提供至存储控制器。存储控制器可将与部分①对应的数据(位)作为强1处理(指示数据值(位)被确定为1并极可能为1),其中,在硬数据HD中的软判决数据SDTA被确定为11。此外,与部分②对应的数据(位)可作为弱1处理(指示数据值(位)被确定为1但较低可能为1),其中,在硬数据HD中的软判决数据SDTA被确定为10。同样地,与部分③对应的数据(位)可作为弱0处理(指示数据值(位)被确定为0但较低可能为0),其中,在硬数据HD中的软判决数据SDTA被确定为00。与部分④对应的数据(位)可作为强0处理(指示数据值(位)被确定为0并极可能为0),其中,在硬数据HD中的软判决数据SDTA被确定为01。
硬数据HD的数据可根据上述软判决数据SDTA被加权,作为软判决的结果获得的权重可作为错误校正标准,将在后面对此进行描述。因此,可根据准确的软判决数据SDTA(即,根据基于通过软判决操作确定各存储单元的阈值电压的结果分配的权重)来执行准确的错误校正。
同时,参照图8A和图15,为了计算在读取操作期间退化的退化单元DC,可通过使用已如上述执行的第一读取电平V1和第二读取电平V2执行读取操作,通过两个读取操作获得的数据可存储在存储装置(例如,页缓冲器)中。根据实施例,根据第一读取电平V1的读取结果可对应于根据硬读电压HRV1的读取结果。此外,根据第二读取电平V2的读取结果可对应于根据第一软读电压SRV1a的读取结果。因此,在根据发明构思的至少一些示例实施例的生成软判决数据的操作中,还可通过执行仅使用第二软读电压SRV1b的读取操作来生成软判决数据STDA。
图16是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图16描述此方法。
参照图16,当在操作S51中计数电路200计算来自存储单元阵列100的退化单元DC并如上所述将计数结果CNT输出至比较单元320时,在操作S52中,比较单元320可将计数结果CNT和第一参考值Ref1进行比较,以确定计数结果CNT是否大于第一参考值Ref1。第一参考值Ref1可为预设的或可替代地期望的值以确定是否在软判决数据生成单元312中生成软判决数据。当计数结果CNT大于第一参考值Ref1时,在操作S53中,存储装置20中的控制逻辑300的数据恢复单元310可控制在软判决数据生成单元312中生成软判决数据的操作。当生成软判决数据时,在操作S54中,控制逻辑300可将软判决数据输出至存储控制器10。另一方面,在操作S52中当计数结果CNT小于第一参考值Ref1时,在操作S55中,使用包括在存储装置20或存储控制器10中的错误校正电路(未示出)来执行错误校正以校正错误。当存储装置20包括错误校正电路时,在操作S56中,可将具有使用错误校正电路校正的错误的数据输出至存储控制器10。
图17是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图17描述所述方法。
参照图17,当在操作S61中数据电路200计算来自存储单元阵列100的退化单元DC并如上所述将计数结果CNT输出至比较单元320时,在操作S62中,比较单元320可将计数结果CNT和第二参考值Ref2进行比较,以确定计数结果CNT是否大于第二参考值Ref2。第二参考值Ref2可为预设的或可替代地期望的值,以用于通过确定数据是否具有不可校正的错误来执行数据复原读取操作和/或生成软判决数据。当计数结果CNT大于第二参考值Ref2时,在操作S63中,存储装置20中的控制逻辑300的数据恢复单元310可执行数据复原读取操作。当在操作S64中通过数据复原读取操作成功地执行了数据恢复时,在操作S65中,控制逻辑300可将恢复的数据输出至存储控制器10。当在操作S64中通过数据复原读取操作的数据恢复不成功时,在操作S66中,存储装置20中的控制逻辑300的数据恢复单元310可生成软判决数据。当生成软判决数据时,在操作S67中,控制逻辑300可将软判决数据输出至存储控制器10。根据实施例,控制逻辑300可将正常数据和软判决数据一起输出。当在操作S62中计数结果CNT小于第二参考值Ref2时,在操作S68中,可使用包括在存储装置20或存储控制器10中的错误校正电路(未示出)执行错误校正。当存储装置20包括错误校正电路时,在操作S69中,可将具有使用错误校正电路校正的错误的数据输出至存储控制器10。
图18是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图18描述所述方法。
参照图18,当在操作S71中数据电路200计算来自存储单元阵列100的退化单元DC并如上所述将计数结果CNT输出至比较单元320时,在操作S72中,比较单元320可将计数结果CNT和第三参考值Ref3进行比较以确定计数结果CNT是否大于第三参考值Ref3。第三参考值Ref3可为预设的或可替代地期望的值以用于确定具有不可校正的错误的数据。当计数结果CNT大于第三参考值Ref3时,在操作S73中,比较单元320可将计数结果CNT和第四参考值Ref4进行比较,以再次确定计数结果CNT是否大于第四参考值Ref4。第四参考值Ref4可为预设的或可替代地期望的值,以用于在发生不可校正的错误的情况下确定错误是否严重到需要通过恢复算法恢复。
当计数结果CNT大于第四参考值Ref4时,在操作S74中,存储装置20中的控制逻辑300的数据恢复单元310可执行数据复原读取操作和/或生成软判决数据。如上所述,可独立地或顺序地执行数据复原读取操作和/或软判决数据的生成。当数据通过数据复原读取操作和/或软判决数据的生成成功地恢复时,在操作S75中,控制逻辑300可将恢复的数据输出至存储控制器10。恢复的数据可对应于通过数据复原读取操作输出读取数据的操作或对应于当执行生成软判决数据的操作时一起输出硬数据(正常数据)和软判决数据的操作。
当在操作S73中计数结果CNT小于第四参考值Ref4时,在操作S76中,存储装置20可将粗略数据输出至存储控制器10。根据实施例,通过使用上述第一读取电平V1和第二读取电平V2读取的数据可存储在页缓冲器中,通过使用读取电平中的一个读取的数据可作为粗略数据提供至存储控制器10。例如,当涉及在图8B的第二MSB读取操作Read_MSB2时,通过使用第一读取电平V1读取的数据可作为粗略数据提供至存储控制器10,其中,第一读取电平V1比与谷对应的电压低。存储装置20可将粗略数据作为存储控制器10要求的最终数据输出。
计数结果CNT大于第三参考值Ref3但小于第四参考值Ref4的事实可指示即使在生成不可校正的错误时阈值电压分布的变化量也相对小。在这种情况下,第一读取电平V1可更接近在退化后的阈值电压分布的谷,因此,通过使用第一读取电平V1读取的数据可具有比在使用第二读取电平V2时更少的错误。因此,可将使用第一读取电平V1读取的数据(例如,粗略数据)提供至存储控制器10。
同时,当在操作S72中计数结果CNT小于第三参考值Ref3时,在操作S77中,可使用可包括在存储装置20或存储控制器10中的错误校正电路(未示出)执行错误校正。当存储装置20包括错误校正电路时,在操作S78中,可将具有使用错误校正电路校正的错误的数据输出至存储控制器10。
图19是根据发明构思的至少一些示例实施例的数据恢复方法的流程图。将参照图3和图19描述所述方法。
参照图19,当在操作S81中计数电路200计算来自存储单元阵列100的退化单元DC并如上所述将计数结果CNT输出至比较单元320时,在操作S82中,比较单元320可将计数结果CNT和第五参考值Ref5进行比较以确定计数结果CNT是否大于第五参考值Ref5。第五参考值Ref5可为预设的或可替代地期望的值以用于确定具有不可校正的错误的数据。当计数结果CNT大于第五参考值Ref5时,在操作S83中,比较单元320可将计数结果CNT和第六参考值Ref6进行比较,以再次确定计数结果CNT是否大于第六参考值Ref6。第六参考值Ref6可为预设的或可替代地期望的值以用于确定错误是否是通过使用恢复算法由控制逻辑300可校正的。
当计数结果CNT大于第六参考值Ref6时,错误可严重到无法由存储装置20中的控制逻辑300的数据恢复单元310校正。在这种情况下,在操作S86中,控制逻辑300可将具有不可校正的错误的数据输出至存储控制器10,存储控制器10可执行错误校正。
当计数结果CNT小于第六参考值Ref6时,在操作S84中,存储装置20中的控制逻辑300的数据恢复单元310可执行数据复原读取操作和/或生成软判决数据。如上所述,可独立地或顺序地执行数据复原读取操作和/或软决策数据的生成。当数据通过数据复原读取操作和/或软判决数据的生成成功恢复时,在操作S85中,控制逻辑300可将恢复的数据输出至存储控制器10。恢复的数据可对应于通过数据复原读取操作输出读取数据的操作或对应于当执行生成软判决数据的操作时一起输出硬数据(正常数据)和软判决数据的操作。
当在操作S82中计数结果CNT小于第五参考值Ref5时,在操作S87中,可使用错误校正电路执行错误校正。当存储装置20包括错误校正电路时,在操作S88中,可将具有使用错误校正电路校正的错误的数据输出至存储控制器10。
图20是根据发明构思的至少一些示例实施例的存储装置的框图。在此将省略上面已经参照图3提供的细节的描述。
参照图20,存储装置20还包括错误校正码(ECC)电路700。比较单元320可将从计数电路200接收的计数结果CNT和参考值Ref进行比较,当计数结果CNT小于参考值Ref时,可将错误校正命令ECC作为比较的结果发送至ECC电路700。ECC电路700可对数据执行ECC并将错误校正数据Data_ECC输出至存储控制器10。
图21是根据发明构思的至少一些示例实施例的存储装置的框图。在此将省略上面参照图3提供的细节的描述。
参照图21,存储装置20还可包括读取电路800。控制逻辑300还可包括读取控制单元330。与数据恢复单元310基于比较结果Result执行恢复算法并行,存储装置20可对正在执行恢复的数据之外的随后的数据Data执行读取。当将存储控制器10的另一个读取命令发送至存储装置20时,读取控制单元330可将读取控制信号CTRL_Rd发送至读取电路800,读取电路800可将随后的数据Data发送至存储控制器10。
图22A示出了根据发明构思的至少一些示例实施例的随时间流逝由存储系统的元件执行的数据恢复方法的操作。将参照图3和图22A描述此方法。
参照图22A,当在操作T201中将数据读取命令从存储控制器10发送至存储装置20中的控制逻辑300时,在操作T202中控制逻辑300可将繁忙信号R/B输出存储控制器10。即,繁忙信号R/B可从逻辑低电平转换为逻辑高电平。如上所述,当在操作T301中将确定不可校正错误的结果从控制逻辑300的比较单元发送至数据恢复单元310时,在操作T302中,控制逻辑300可将繁忙信号R/B保持为逻辑高电平。如果错误是可校正的,则可将繁忙信号R/B从逻辑高电平转换为逻辑低电平(未示出)。在不可校正错误的情况下,在操作T401中,控制逻辑300的数据恢复单元310可执行恢复算法。当使用恢复算法完成数据恢复时,在操作T501中,控制逻辑300可输出恢复的数据并阻止繁忙信号R/B。即,繁忙信号R/B可从逻辑高电平转换为逻辑低电平。
图22B是示出根据发明构思的至少一些示例实施例的存储装置的操作的曲线图。在此将省略参照图22A提供的细节的描述。
图22B是示出图22A的繁忙信号R/B的操作的曲线图。在正常数据读取操作NormalRead(NR)中,当在待机状态t0中读取命令CMD_Rd从存储控制器10传输至存储装置20时,控制逻辑300可将繁忙信号R/B从逻辑低电平转换至逻辑高电平并将繁忙信号R/B发送至存储控制器10。当数据读取处理状态t1完成时,控制逻辑300再次将繁忙信号R/B从逻辑高电平转换为逻辑低电平并将繁忙信号R/B发送至存储控制器10,使得存储控制器10可发送另外的读取命令。
在UECC恢复读取(URR)中,当在待机状态t0中存储控制器10将读取命令CMD_Rd发送至存储装置20时,控制逻辑300可将繁忙信号R/B从逻辑低电平转换至逻辑高电平并将繁忙信号R/B发送至存储控制器10。然而,与正常读取操作不同,在UECC恢复读取中,即使当读取处理状态t1结束时,数据恢复状态t2仍持续,因此,控制逻辑300可将繁忙信号R/B保持为逻辑高电平。当数据恢复状态t2结束并且控制逻辑300再次进入待机状态t0时,控制逻辑300可将繁忙信号R/B从逻辑高电平转换至逻辑低电平并将繁忙信号R/B发送至存储控制器10,使得存储控制器10可发送另一个读取命令。
图23是示出根据发明构思的至少一些示例实施例的存储卡系统1000的框图。
参照图23,存储卡系统1000可包括主机1100和存储卡1200。主机1100可包括主机控制器1110和主机连接器1120。存储卡1200可包括卡连接器1210、卡控制器1220和存储装置1230。可根据图1至图22B中示出的实施例实现存储卡1200。
详细地,存储卡1200可基于在对存储单元的读取操作期间退化的退化单元DC确定错误是否是可校正的。在具有不可校正的错误的数据的情况下,存储卡1200内的存储装置1230可通过使用预定的或可替代地期望的恢复算法恢复数据。由于在不涉及卡控制器1220的情况下在存储装置1230内执行数据恢复,因此可提高可靠性并可改善性能。
存储卡1200可配置为通过诸如USB、MMC、PCI-E、ATA、串行ATA、并行ATA、SCSI、增强型小型设备接口(ESDI)和集成驱动电路(IDE)的各种接口协议中的至少一种与主机110通信。
主机1100可将数据写入存储卡1200或读取存储在存储卡1200中的数据。主机控制器1110可将在主机1100中的时钟生成器(未示出)中生成的时钟信号CLK和数据DATA通过主机连接器1120发送至存储卡1200。
卡控制器1220可响应于通过卡连接器1210接收的命令以与在卡控制器1220中的时钟生成器(未示出)中生成的时钟信号同步地在存储装置1230中存储数据。存储装置1230可存储从主机1100接收的数据。
存储卡1200可实现为紧凑型闪存卡(CFC)、微型驱动器、智能媒体卡(SMC)、多媒体卡(MMC)、安全数字卡(SDC)、记忆棒或USB闪存驱动器等。
图24是示出根据发明构思的至少一些示例实施例的固态硬盘(SSD)系统2000的框图。
参照图24,SSD系统2000可包括主机2100和SSD 2200。SSD2200可经由信号连接器将信号发送至主机2100或从主机2100接收信号,并通过电源连接器接收电力。SSD 2200可包括SSD控制器2210、备用电源2220以及多个存储装置2230、2240和2250。可根据图1至图23中示出的实施例实现SSD 2200。
详细地,多个存储装置2230至2250可基于在对存储单元执行的读取操作期间生成的退化单元DC确定错误是否是可校正的。此外,可使用在多个存储装置2230至2250中的存储装置中的预定的或可替代地期望的恢复算法来恢复具有不可校正的错误的数据。由于在不涉及多个存储装置2230至2250中的控制器的情况下在存储装置内执行数据恢复,因此可提高可靠性并可改善性能。
根据发明构思的至少一个示例实施例的存储卡、非易失性存储装置和卡控制器可以以任意的各种不同封装类型构筑。例如,根据发明构思的至少一个示例实施例的闪存装置和/或存储控制器可以以堆叠式封装(PoP)、球栅阵列(BGAs)、芯片级封装(CSPs)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、叠片内裸片封装(Die in Waffle Pack)、晶圆内裸片形式(Diein Wafer Form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄四方扁平封装(TQFP)、小外形封装(SOIC)、收缩小外形封装(SSOP)、薄小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级处理堆叠封装(WSP)等构筑。
已经描述了发明构思的示例实施例,将理解的是可以各种方式改变上述实施例。这些改变不应被视为脱离发明构思的示例实施例的意图的精神和范围,所有这些对本领域技术人员来说显而易见的修改均意图包括在权利要求的范围内。

Claims (13)

1.一种存储装置,所述存储装置包括:
存储单元阵列,包括多个存储单元;
计数电路,配置为通过对从所述多个存储单元读取的数据执行计数操作获得计数结果;以及
控制逻辑,配置为在不涉及存储控制器的情况下基于计数结果执行包括数据复原读取操作和软判决数据生成操作的数据恢复操作,
其中,控制逻辑配置为:
通过将计数结果和参考值进行比较生成比较结果以确定所述多个存储单元中的错误是否是可校正的,
基于比较结果执行用于数据恢复操作的恢复算法,
将就绪/繁忙信号输出至存储控制器,并且
在数据恢复操作期间将就绪/繁忙信号保持在繁忙状态,
其中,控制逻辑配置为:
如果计数结果小于第一参考值,则校正使用具有读取电平的读取电压从所述多个存储单元读取的数据的错误,并将校正后的数据输出到存储控制器;
如果计数结果大于第一参考值,则使用具有用于数据复原读取操作的改变的读取电平的读取电压来读取数据;和
如果使用具有改变的读取电平的读取电压读取的数据是不可校正的,则使用具有用于软判决数据生成操作的改变的读取电平的读取电压从数据生成软判决数据,并将软判决数据输出到存储控制器。
2.根据权利要求1所述的存储装置,其中,计数电路配置为基于第一数据和第二数据计算属于在第一读取电平和第二读取电平之间的分布区域的存储单元的数量,第一数据是基于第一读取电平读取的数据,第二数据是基于第二读取电平读取的数据。
3.根据权利要求2所述的存储装置,其中,计数结果与存储单元阵列的退化单元的数量匹配。
4.根据权利要求1所述的存储装置,其中,控制逻辑确定所述多个存储单元中的错误是否是可校正的而不执行错误校正码。
5.根据权利要求4所述的存储装置,其中,控制逻辑配置为,
将计数结果和第一参考值进行比较,
如果计数结果大于第一参考值,
将所述多个存储单元的错误确定为不可校正的,
基于所述多个存储单元的错误为不可校正的所述确定执行数据恢复操作。
6.根据权利要求5所述的存储装置,其中,从所述多个存储单元读取的数据是根据对第一页执行的正常读取操作读取的数据,
控制逻辑配置为通过如下方式执行数据复原读取操作:
读取与第一页相邻的第二页的数据,
通过基于读取第二页的数据的结果将读取电压的电平设定为改变的读取电平来确定读取电压,
使用具有改变的读取电平的读取电压重读第一页的数据。
7.根据权利要求4所述的存储装置,其中,控制逻辑配置为,
将计数结果与第一参考值和比第一参考值大的第二参考值进行比较,
当计数结果大于第一参考值且不大于第二参考值时,执行数据恢复操作,
当计数结果大于第二参考值时,将指示所述多个存储单元的错误是不可校正的信息输出至存储控制器。
8.根据权利要求1所述的存储装置,
其中,控制逻辑配置为分别基于第一读取电压电平和第二读取电压电平执行第一读取操作和第二读取操作,
其中,存储装置还包括:
页缓冲器,配置为,
存储根据第一读取操作的第一数据和根据第二读取操作的第二数据,
对第一数据和第二数据执行算术运算,
将算术运算的结果作为读取数据提供至计数电路。
9.一种存储系统,所述存储系统包括:
存储装置,所述存储装置包括:存储单元阵列,所述存储单元阵列包括多个存储单元;计数电路,配置为通过对根据正常读取操作读取的数据执行计数操作获得计数结果;以及控制逻辑,配置为基于计数结果执行包括数据复原读取操作和软判决数据生成操作的数据恢复操作;以及
存储控制器,配置为控制存储装置,
其中,存储装置将就绪/繁忙信号输出至存储控制器,并且在正常读取操作之后的第一部分期间基于计数结果保持繁忙状态,
其中,控制逻辑配置为:
如果计数结果小于第一参考值,则校正使用具有读取电平的读取电压从所述多个存储单元读取的数据的错误,并将校正后的数据输出到存储控制器;
如果计数结果大于第一参考值,则使用具有用于数据复原读取操作的改变的读取电平的读取电压来读取数据;和
如果使用具有改变的读取电平的读取电压读取的数据是不可校正的,则使用具有用于软判决数据生成操作的改变的读取电平的读取电压从数据生成软判决数据,并将软判决数据输出到存储控制器。
10.根据权利要求9所述的存储系统,其中,所述第一部分包括执行数据恢复操作期间的部分。
11.根据权利要求9所述的存储系统,其中,
所述多个存储单元具有多个阈值电压状态,
存储装置配置为基于第一读取电平执行第一读取操作并基于第二读取电平执行第二读取操作,以确定阈值电压状态中的任意一个,
计数电路配置为计算具有在第一读取电平和第二读取电平之间的阈值电压的存储单元的数量。
12.根据权利要求11所述的存储系统,其中,控制逻辑配置为将计数结果和第一参考值进行比较,并基于比较结果无视来自存储控制器的命令地执行用于数据恢复操作的恢复算法。
13.一种存储系统,所述存储系统包括:
存储装置,包括多个非易失性存储单元;以及
存储控制器,
所述存储控制器配置为向存储装置发送读取命令,
存储装置配置为通过如下方式响应读取命令:
从所述多个非易失性存储单元中指定具有在一个或更多个第一阈值电压分布区域内的阈值电压的单元为退化单元,
确定退化单元的总数,
基于确定的总数和第一阈值确定在所述多个非易失性存储单元中的错误的数量是否超过错误阈值,
响应于在所述多个非易失性存储单元中的错误的数量超过错误阈值的确定来执行包括数据复原读取操作和软判决数据生成操作的数据恢复操作,
其中,如果生成不可校正的错误则执行数据恢复操作,并且
其中,存储装置配置为将就绪/繁忙信号输出至存储控制器,并且在数据恢复操作期间保持繁忙状态,
其中,存储装置配置为:
如果确定的总数小于第一阈值,则校正使用具有读取电平的读取电压从所述多个非易失性存储单元读取的数据的错误,并将校正后的数据输出到存储控制器;
如果确定的总数大于第一阈值,则使用具有用于数据复原读取操作的改变的读取电平的读取电压来读取数据;和
如果使用具有改变的读取电平的读取电压读取的数据是不可校正的,则使用具有用于软判决数据生成操作的改变的读取电平的读取电压从数据生成软判决数据,并将软判决数据输出到存储控制器。
CN201710096000.XA 2016-04-21 2017-02-22 存储装置和存储系统 Active CN107305791B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160048952A KR102585221B1 (ko) 2016-04-21 2016-04-21 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
KR10-2016-0048952 2016-04-21

Publications (2)

Publication Number Publication Date
CN107305791A CN107305791A (zh) 2017-10-31
CN107305791B true CN107305791B (zh) 2023-09-15

Family

ID=60090211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710096000.XA Active CN107305791B (zh) 2016-04-21 2017-02-22 存储装置和存储系统

Country Status (3)

Country Link
US (1) US10152380B2 (zh)
KR (1) KR102585221B1 (zh)
CN (1) CN107305791B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026177B1 (ko) 2017-11-22 2019-09-27 서울대학교산학협력단 셀 스트링의 선택 트랜지스터를 프로그램함으로 데이터를 보호하는 플래시 메모리 장치 및 그것을 포함하는 데이터 저장 장치
JP2019164850A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム
KR102532563B1 (ko) * 2018-03-28 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작방법
KR102567314B1 (ko) * 2018-04-27 2023-08-17 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11275512B2 (en) * 2018-05-08 2022-03-15 Micron Technology, Inc. Asynchronous power loss impacted data structure
CN109036494A (zh) * 2018-07-20 2018-12-18 江苏华存电子科技有限公司 一种快速检测闪存瑕疵的方法
KR102608958B1 (ko) 2018-11-19 2023-12-01 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
KR102651128B1 (ko) * 2018-12-11 2024-03-26 삼성전자주식회사 데이터 비교 기록을 수행하는 메모리 장치 및 이를 포함하는 메모리 시스템
US11907570B2 (en) * 2020-02-25 2024-02-20 Micron Technology, Inc. Predictive media management for read disturb
US11314583B2 (en) * 2020-08-18 2022-04-26 Micron Technology, Inc. Memory data correction using multiple error control operations
US11437119B2 (en) 2020-08-19 2022-09-06 Micron Technology, Inc. Error read flow component
KR20220103227A (ko) 2021-01-14 2022-07-22 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
US11886293B2 (en) 2021-11-15 2024-01-30 Samsung Electronics Co., Ltd. Memory controller managing strong error information and operating method thereof
KR102505857B1 (ko) * 2021-11-15 2023-03-06 삼성전자 주식회사 스트롱 에러 정보를 관리하는 메모리 컨트롤러 및 그 동작방법
KR102496386B1 (ko) * 2022-03-16 2023-02-06 주식회사 파두 낸드 플래시 메모리의 에러 특성화 방법, 이를 활용한 에러 추정 방법 및 스토리지 시스템 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4977596A (en) * 1989-03-15 1990-12-11 The United States Of America As Represented By The United States Department Of Energy Cryptographic synchronization recovery by measuring randomness of decrypted data
CN103996415A (zh) * 2013-01-18 2014-08-20 三星电子株式会社 非易失性存储器件、存储系统及相关控制方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4660249B2 (ja) * 2005-03-31 2011-03-30 株式会社東芝 磁気ランダムアクセスメモリ
CN101715595A (zh) 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
KR100888842B1 (ko) 2007-06-28 2009-03-17 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
CN101140809A (zh) * 2007-09-07 2008-03-12 炬力集成电路设计有限公司 支持流水线纠错码和可配置操作的flash控制器及其控制方法
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US7957187B2 (en) 2008-05-09 2011-06-07 Sandisk Corporation Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution
JP2010015195A (ja) 2008-06-30 2010-01-21 Toshiba Corp 記憶制御装置及び記憶制御方法
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR101802815B1 (ko) 2011-06-08 2017-12-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
US8406053B1 (en) * 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
US8737133B2 (en) 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
US8839073B2 (en) 2012-05-04 2014-09-16 Lsi Corporation Zero-one balance management in a solid-state disk controller
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
KR101934892B1 (ko) * 2012-10-17 2019-01-04 삼성전자 주식회사 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
KR102038408B1 (ko) 2012-10-25 2019-10-30 삼성전자주식회사 회귀 분석법을 사용하는 메모리 시스템 및 그것의 읽기 방법
KR102123946B1 (ko) * 2012-12-28 2020-06-17 삼성전자주식회사 멀티 레벨 셀 메모리 장치 및 그것의 동작방법
KR102050475B1 (ko) * 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
US9076545B2 (en) 2013-01-17 2015-07-07 Sandisk Tecnologies Inc. Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution
KR102131802B1 (ko) * 2013-03-15 2020-07-08 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US8953373B1 (en) 2013-10-03 2015-02-10 Lsi Corporation Flash memory read retry using histograms
US9378083B2 (en) 2013-12-04 2016-06-28 Seagate Technology Llc Adaptive read error recovery for memory devices
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
KR102188061B1 (ko) * 2014-07-29 2020-12-07 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
US9502129B1 (en) * 2015-09-10 2016-11-22 Kabushiki Kaisha Toshiba Memory system and method of controlling nonvolatile memory
CN106558343B (zh) * 2015-09-24 2021-12-28 三星电子株式会社 操作非易失性存储装置的方法和非易失性存储装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4977596A (en) * 1989-03-15 1990-12-11 The United States Of America As Represented By The United States Department Of Energy Cryptographic synchronization recovery by measuring randomness of decrypted data
CN103996415A (zh) * 2013-01-18 2014-08-20 三星电子株式会社 非易失性存储器件、存储系统及相关控制方法

Also Published As

Publication number Publication date
KR20170120442A (ko) 2017-10-31
CN107305791A (zh) 2017-10-31
KR102585221B1 (ko) 2023-10-05
US20170308438A1 (en) 2017-10-26
US10152380B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
CN107305791B (zh) 存储装置和存储系统
CN108573722B (zh) 操作非易失性存储器件的方法和非易失性存储器件
US10061538B2 (en) Memory device and method of operating the same
US10529432B2 (en) Data storage device including read voltage search unit
US8839080B2 (en) Methods of performing error detection/correction in nonvolatile memory devices
US9502137B2 (en) Method and device for optimizing log likelihood ratio (LLR) used for nonvolatile memory device and for correcting errors in nonvolatile memory device
US9324420B2 (en) Method of estimating deterioration state of memory device and related method of wear leveling
KR101944793B1 (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR102048765B1 (ko) 메모리 시스템의 동작 방법 및 메모리 시스템
KR101618311B1 (ko) 플래시 메모리 장치 및 그것의 읽기 방법
KR101979734B1 (ko) 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
CN106847339B (zh) 存储器装置及其操作方法
US9411679B2 (en) Code modulation encoder and decoder, memory controller including them, and flash memory system
US20170109276A1 (en) Memory system and operation method thereof
CN106920570B (zh) 存储器系统及其操作方法
KR102178141B1 (ko) 비휘발성 메모리 장치의 동작 방법
US11507448B2 (en) Non-volatile memory device, method of operating the device, and memory system including the device
KR20190094968A (ko) 메모리 컨트롤러 및 그 동작 방법
CN112185450A (zh) 存储器系统、存储器控制器和用于操作存储器系统的方法
KR20220056919A (ko) 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
KR20220008058A (ko) 컨트롤러 및 컨트롤러의 동작방법
US11862261B2 (en) Method of writing data in nonvolatile memory device, nonvolatile memory device performing the same and method of operating memory system using the same
CN117909122A (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
GR01 Patent grant
GR01 Patent grant