CN110299178A - 存储装置及用于操作存储装置的方法 - Google Patents

存储装置及用于操作存储装置的方法 Download PDF

Info

Publication number
CN110299178A
CN110299178A CN201811336020.0A CN201811336020A CN110299178A CN 110299178 A CN110299178 A CN 110299178A CN 201811336020 A CN201811336020 A CN 201811336020A CN 110299178 A CN110299178 A CN 110299178A
Authority
CN
China
Prior art keywords
data
voltage
page
memory
read
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.)
Granted
Application number
CN201811336020.0A
Other languages
English (en)
Other versions
CN110299178B (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110299178A publication Critical patent/CN110299178A/zh
Application granted granted Critical
Publication of CN110299178B publication Critical patent/CN110299178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/5671Digital 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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/5628Programming or writing circuits; Data input 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/10Programming or data input 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Electrotherapy Devices (AREA)
  • Vehicle Body Suspensions (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)

Abstract

本公开提供了一种存储装置以及用于操作该存储装置的方法。该存储装置可以对其上编程操作由于突然断电而被中断的页面执行重新编程操作。该存储装置可以包括:包括多个存储块的存储器装置,每个存储块包括多个页面;以及存储器控制器,被配置为使用重新编程数据对其上编程操作被中断的页面执行重新编程操作,该重新编程数据是依照多个页面中、其上编程操作被中断的所述页面中包括的存储器单元的阈值电压而设置的。

Description

存储装置及用于操作存储装置的方法
相关申请的交叉引用
本申请要求于2018年3月21日提交的申请号为10-2018-0032847的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储装置和用于操作存储装置的方法。
背景技术
存储装置是在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置的示例包括诸如在磁盘中存储数据的硬盘驱动器(HDD)的装置,以及诸如固态驱动器(SSD)或存储卡的在半导体存储器、特别是在非易失性存储器中存储数据的装置。
存储装置可以包括其内存储数据的存储器装置,以及控制存储器装置中数据的存储的存储器控制器。存储器装置可被分类为易失性存储器和非易失性存储器。非易失性存储器的代表性示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)以及铁电RAM(FRAM)。
发明内容
本公开的各个实施例涉及一种存储装置以及用于操作存储装置的方法,该存储装置对由于突然断电而被中断编程操作的页面执行重新编程操作。
本公开的实施例可以提供一种存储装置。该存储装置可以包括:存储器装置,包括多个存储块,每个存储块包括多个页面;以及存储器控制器,被配置为使用依照多个页面中被中断编程操作的页面中包括的存储器单元的阈值电压而设置的重新编程数据,对被中断编程操作的页面执行重新编程操作。
本公开的实施例可以提供一种用于操作存储装置的方法,该存储装置包括:具有多个存储块的存储器装置,每个存储块包括多个页面;以及用于控制存储器装置的存储器控制器。该方法可以包括使用默认读取电压对多个页面中被中断编程操作的页面执行读取操作,并且基于使用默认读取电压的读取操作的结果,使用较低读取电压和较高读取电压中的任一个来执行读取操作,以及基于该读取操作的结果执行重新编程操作,其中较低读取电压具有低于默认读取电压的电压电平,且较高读取电压具有高于默认读取电压的电压电平。
本公开的实施例可以提供一种存储装置。该存储装置可以包括:存储器装置,被配置为执行将编程数据存储在从多个页面中选择的页面中的编程操作;以及存储器控制器,被配置为当编程操作由于突然断电而被中断时,控制存储器装置以使得基于使用默认读取电压、较低读取电压和较高读取电压中的至少两个读取所选择的页面的结果,将垃圾数据、编程数据以及部分编程数据被修改的经修改编程数据中的任一个存储在所选择的页面中,其中较低读取电压具有低于默认读取电压的电压电平,较高读取电压具有高于默认读取电压的电压电平。
本公开的实施例可以提供一种存储器系统。该存储器系统可以包括:存储器装置,包括页面;以及控制器,适于当页面由于突然断电而被中断编程时:当页面的存储器单元的阈值电压低于较低读取电压时,控制存储器装置对具有原始编程数据的页面执行编程操作,其中,较低读取电压低于一个或多个默认读取电压;当阈值电压高于较低读取电压且低于默认读取电压时,控制存储器装置对具有垃圾数据的页面执行编程操作;并且当阈值电压高于默认读取电压且低于较高读取电压时,控制存储器装置对具有经修改数据的页面执行编程操作,其中,较高读取电压高于默认读取电压,其中控制器通过将待存储在根据较高读取电压作为关断单元被读取的存储器单元中的原始编程数据改变为具有值“1”,来生成经修改编程数据。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出图1的存储器装置的结构的示图。
图3是示出图2的存储器单元阵列的实施例的示图。
图4是示出图3的存储块BLK1至BLKz的任一个存储块BLKa的电路图。
图5是示出图3的存储块BLK1至BLKz的任一个存储块BLKb的示例的电路图。
图6是存储器装置的编程操作的示图。
图7是示出在由于突然断电而被中断编程操作的状态下的存储器单元的阈值电压分布的示图。
图8是示出用于处理可恢复页面的实施例的示图,当发生突然断电时中断对该可恢复页面的编程操作。
图9是示出根据本公开的实施例的用于处理可恢复页面的方法的示图。
图10是示出根据本公开的实施例的对可恢复页面执行的重新编程操作的示图。
图11是根据本公开的实施例的对编程中断页面执行的恢复操作期间施加的读取电压的示图。
图12是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图13是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图14是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图15是示出根据本公开的实施例的对编程中断页面执行的恢复操作期间施加的读取电压的示图。
图16是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图17是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图18是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
图19是示出存储失败数据的实施例的示图。
图20是示出存储失败数据的实施例的示图。
图21是示出图1的存储器控制器和多个存储器装置之间的联接关系的框图。
图22是用于存储装置的奇偶校验数据的示图。
图23是示出根据本公开的实施例的生成用于存储装置的奇偶校验数据的方法的示图。
图24是示出根据本公开的实施例的生成用于存储装置的奇偶校验数据的方法的示图。
图25是示出图1的存储器控制器的实施例的示图。
图26是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
图27是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统的示例的框图。
图28是示出应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
本说明书或本申请中引入的本公开实施例中具体结构性或功能性的描述仅用于本公开实施例的描述。该描述不应该被解释为限于在说明书或申请中描述的实施例。
将基于实施例详细描述本公开。然而,本公开可以以许多不同的形式来实现,并且不应该被解释为仅限于在此阐述的实施例,而是应该被解释为涵盖落入本发明的理念和技术范围内的修改、等同或替代方案。然而,这并不旨在将本公开限制于特定的实践模式,并且应当理解,不脱离本公开的精神和技术范围的所有改变、等同和替换方案都包含在本发明中。
将理解的是,虽然本文可以使用术语“第一”和/或“第二”来描述各种元件,但是这些元件不应被这些术语限制。这些术语仅用于区分一个元件与另一元件。例如,在不脱离本公开的教导的情况下,下面讨论的第一元件可以被称为第二元件。类似地,第二元件也可以被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,该元件可直接联接或连接到其它元件,或者可以在其间存在一个或多个中间元件。相反,应该理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。其他解释元件之间的关系的表达,诸如“在......之间”、“直接在......之间”、“与......相邻”或“与......直接相邻”应以相同的方式解释。
本文使用的术语仅是为了描述特定实施例的目的,而不是意在限制。在本公开中,除非上下文另有明确说明,否则单数形式旨在也包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包含”、“具有”等时,其说明所陈述特征、整数、步骤、操作、元件、组件和/或它们的组合的存在,但并不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或它们的组合的存在或添加。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员所通常理解的相同的含义。将进一步理解的是,本文使用的术语应当被解释为具有与其在本说明书和相关技术的语境中的含义一致的含义,并且将不以理想化或过于形式化的意义来解释,除非本文中明确地这样定义。
将省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这意在省略不必要的描述以使本公开的主题清楚。
现在将参照附图在下文中更全面地描述本公开的各种实施例,附图中示出了本公开的优选实施例,使得本领域技术人员能够容易地实现本发明的技术理念。
图1是示出根据本公开的实施例的存储装置的框图。
参照图1,存储装置50可以包括存储器装置100、存储器控制器200和缓冲存储器300。
存储装置50可以是在主机400的控制下存储数据的装置,诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
存储装置50可以依照作为与主机400的通信方法的主机接口被制造为各种类型的存储装置中的任一种。例如,存储装置50可以被实施为各种类型的存储装置中的任一种,例如,固态硬盘(SSD),诸如MMC、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)或微型MMC的多媒体卡,诸如SD、迷你SD或微型SD的安全数字卡,通用存储总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡式存储装置,外围组件互连(PCI)卡式存储装置,高速PCI(PCI-E)卡式存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以以各种类型的封装形式中的任一种制造。例如,存储装置50可以以诸如下列各种类型的封装形式中的任一种制造:堆叠式封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100可以响应于存储器控制器200的控制而操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括多个存储数据的存储器单元。存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。单个存储块可以包括多个页面。在实施例中,每个页面可以是将数据存储在存储器装置100中的单元,或者读取存储在存储器装置100中的数据的单元。存储块可以是擦除数据的单元。在实施例中,存储器装置100可以采取许多替代形式,诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。在本说明书中,为了便于描述,将在假设存储器装置100是NAND闪速存储器的情况下进行描述。
在实施例中,存储器装置100可以实施为三维(3D)阵列结构。本公开不仅也可以应用于由导电浮栅(FG)在其中形成电荷存储层的闪速存储器,而且还可应用于由绝缘层在其中形成电荷存储层的电荷俘获闪速(CTF)存储器。
在实施例中,包括在存储器装置100中的存储器单元的每一个可以被实施为存储单个数据位的单层单元(SLC)。可替换地,包括在存储器装置100中的存储器单元的每一个可以被实施为存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器装置100可以从存储器控制器200接收命令和地址,并且可以访问由地址选择的存储器单元阵列的区域。即,存储器装置100对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可以执行写入操作(即,编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除存储在由地址选择的区域中的数据。
存储器控制器200可以控制存储装置50的全部操作。
当电力被供应至存储装置50时,存储器控制器200可以运行固件(FW)。当存储器装置100是闪速存储器装置时,存储器控制器200可以运行诸如闪存转换层(FTL)的固件来控制主机400和存储器装置100之间的通信。
在实施例中,存储器控制器200可以从主机400接收数据和逻辑块地址(LBA),并可以将逻辑块地址(LBA)转换为物理块地址(PBA),物理块地址(PBA)指示包括在存储器装置100中且数据待存储到其中的存储器单元的地址。此外,存储器控制器200可以存储逻辑-物理地址映射表,逻辑-物理地址映射表在缓冲存储器300中配置逻辑块地址(LBA)和物理块地址(PBA)之间的映射关系。
存储器控制器200可以控制存储器装置100,使得响应于从主机400接收的请求执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以为存储器装置100提供编程命令、物理块地址(PBA)和数据。在读取操作期间,存储器控制器200可以为存储器装置100提供读取命令和物理块地址(PBA)。在擦除操作期间,存储器控制器200可以为存储器装置100提供擦除命令和物理块地址(PBA)。
在实施例中,存储器控制器200可以在不接收来自主机400的请求的情况下自主地生成编程命令、地址和数据,并且可以将它们传送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供命令、地址和数据,以便执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以控制主机400和缓冲存储器300之间的数据交换。可替换地,存储器控制器200可以在缓冲存储器300中临时存储用于控制存储器装置100的系统数据。例如,存储器控制器200可以将从主机400输入的数据临时存储在缓冲存储器300中,然后可以将临时存储在缓冲存储器300中的数据传送到存储器装置100。
在各种实施例中,缓冲存储器300可以用作存储器控制器200的工作存储器或高速缓冲存储器。缓冲存储器300可以存储由存储器控制器200执行的代码或命令。可替换地,缓冲存储器300可以存储由存储器控制器200处理的数据。
在实施例中,缓冲存储器300可以实施为DRAM,诸如双倍数据速率SDRAM(DDRSDRAM)、DDR4SDRAM、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)SDRAM或Rambus DRAM(RDRAM),或实施为静态RAM(SRAM)。
在各种实施例中,存储装置50可以不包括缓冲存储器300。在这种情况下,布置在存储装置50外部的易失性存储器装置可以用作缓冲存储器300。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。此处,存储器控制器200可以以交错方式控制存储器装置100以改善操作性能。
主机400可以使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行高技术附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)通信方法。
图2是示出图1的存储器装置100的结构的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz通过位线BL1至BLm联接到读取和写入电路123。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元为非易失性存储器单元。在多个存储器单元中,联接到相同字线的存储器单元被定义为一个页面。也就是说,存储器单元阵列110由多个页面形成。在实施例中,包括在存储器单元阵列110中的存储块BLK1至BLKz中的每一个可包括多个虚设单元。作为虚设单元,一个或多个虚设单元可以串联联接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可以实施为能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
外围电路120可以包括地址解码器121、电压产生器122、读取和写入电路123以及数据输入/输出电路124。
外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110,以便执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。在实施例中,字线可以包括正常字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
地址解码器121被配置为在控制逻辑130的控制下操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置为对所接收的地址ADDR中的块地址进行解码。地址解码器121响应于被解码的块地址从存储块BLK1至BLKz中选择至少一个存储块。地址解码器121被配置为对所接收的地址ADDR中的行地址进行解码。地址解码器121响应于被解码的行地址,通过将从电压产生器122供应的电压施加到至少一条字线WL来选择所选择的存储块的至少一条字线。
在编程操作期间,地址解码器121可以将编程电压施加到所选择的字线并将电平低于编程电压的电平的编程通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可将验证电压施加到所选择的字线并将高于验证电压的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择的字线并将高于读取电压的读取通过电压施加到未选择的字线。
在实施例中,可以基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码,并响应于被解码的块地址选择单个存储块。在擦除操作期间,地址解码器121可以将接地电压施加到与所选择的存储块联接的字线。
在实施例中,地址解码器121可以被配置为对所接收的地址ADDR中的列地址进行解码。被解码的列地址(DCA)可以被传输到读取和写入电路123。在示例性实施例中,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压产生器122被配置为使用提供给存储器装置100的外部供给电压来生成多个电压。电压产生器122在控制逻辑130的控制下操作。
在实施例中,电压产生器122可以通过调节外部供给电压来生成内部供给电压。通过电压产生器122生成的内部供给电压用作存储器装置100的操作电压。
在实施例中,电压产生器122可以使用外部供给电压或内部供给电压来产生多个电压。电压产生器122可以被配置为生成存储器装置100所需的各种电压。例如,电压产生器122可以生成多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
例如,电压产生器122可以包括用于接收内部供给电压的多个泵浦电容器,并可以在控制逻辑130的控制下通过选择性地激活泵浦电容器来生成多个电压。
所生成的电压可以由地址解码器121供应到存储器单元阵列110。
读取和写入电路123包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm执行与数据输入/输出电路124的数据通信。在编程操作期间,第一至第m页面缓冲器PB1至PBm通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到每一条所选择的字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1到BLm将通过数据输入/输出电路124接收的数据传输到所选择的存储器单元。在所选择的页面中的存储器单元基于传输的数据进行编程。联接到施加有编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。联接到施加有编程禁止电压(例如,供给电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一至第m页面缓冲器可以通过位线BL1至BLm从所选择的存储器单元读取页面数据。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择的页面中的存储器单元读取数据DATA,并可以将读取的数据DATA输出到数据输入/输出电路124。
在擦除操作期间,读取和写入电路123可以允许位线BL浮动。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从包括在读取和写入电路123中的第一至第m页面缓冲器PB1至PBm接收的数据输出到外部控制器。
控制逻辑130可以联接到地址解码器121、电压产生器122、读取和写入电路123以及数据输入/输出电路124。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置接收的命令CMD而进行操作。
图3是示出图2的存储器单元阵列的实施例的示图。
参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可以具有三维(3D)结构。每个存储块包括堆叠在衬底上的多个存储器单元。这些存储器单元沿正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向布置。以下将参照图4和图5详细地描述每个存储块的结构。
图4是示出图3的存储块BLK1至BLKz中的任一个存储块BLKa的电路图。
参照图4,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,在行方向(即正(+)X方向)上布置m个单元串。在图4中,示出了被布置在列方向(即正(+)Y方向)上的两个单元串。然而,该示图是为了便于描述,并且将理解的是,可以沿列方向布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以各自具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以给每个单元串设置用于提供沟道层的柱。在实施例中,可以给每个单元串设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分成第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp连续地布置在与正(+)Z方向相反的方向上,并且串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn连续地布置在正(+)Z方向上,并且串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn通过管道晶体管PT彼此联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的管道晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在相对应的位线和存储器单元MCp+1至MCn之间。在行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
布置在列方向上的单元串联接到在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
联接到布置在行方向上的单元串中的相同字线的存储器单元构成单个页面。例如,在第一行中的单元串CS11至CS1m中,联接到第一字线WL1的存储器单元构成单个页面。在第二行中的单元串CS21至CS2m中,联接到第一字线WL1的存储器单元构成另一单个页面。可以通过选择漏极选择线DSL1和DSL2中的任意一个来选择布置在单个行的方向上的单元串。可以通过选择字线WL1至WLn中的任一个来从所选择的单元串中选择单个页面。
在实施例中,可以设置偶数位线和奇数位线代替第一至第m位线BL1至BLm。进一步地,布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的偶数编号单元串可以分别联接到偶数位线,并且布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的奇数编号单元串可以分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可以用作虚设存储器单元。例如,设置一个或多个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可替换地,设置该一个或多个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着设置更多的虚设存储器单元,改进了存储块BLKa的操作可靠性,但增加了存储块BLKa的大小。随着设置更少的虚设存储器单元,减小了存储块BLKa的大小,但存储块BLKa的操作可靠性可能劣化。
为了有效地控制该一个或多个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在执行存储块BLKa的擦除操作之前或之后,可以对全部或部分虚设存储器单元执行编程操作。在已执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,从而虚设存储器单元可以具有所需的阈值电压。
图5是示出图3的存储块BLK1至BLKz中的任一个存储块BLKb的示例的电路图。
参照图5,存储块BLKb包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿正(+)Z方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,这些堆叠在存储块BLKb下方的衬底(未示出)上。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在相对应的位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,除了从每个单元串除去管道晶体管PT之外,图5的存储块BLKb具有与图4的存储块BLKa的电路相似的等效电路。
在实施例中,可以设置偶数位线和奇数位线代替第一至第m位线BL1至BLm。进一步地,布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的偶数编号单元串可以分别联接到偶数位线,并且布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的奇数编号单元串可以分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可以用作虚设存储器单元。例如,设置一个或多个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可替换地,设置该一个或多个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着设置更多的虚设存储器单元,改进了存储块BLKb的操作可靠性,但增加了存储块BLKb的大小。随着设置更少的虚设存储器单元,减小了存储块BLKb的大小,但存储块BLKb的操作可靠性可能劣化。
为了有效地控制该一个或多个虚设存储器单元,虚设存储器单元中的每一个可以具有所需的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可以对全部或部分虚设存储器单元执行编程操作。在已执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,从而虚设存储器单元可以具有所需的阈值电压。
图6是存储器装置的编程操作的示图。
在图6中,(A)示出了施加到其上执行编程操作的所选择字线的电压,且(B)示出了在如(A)中所示施加电压时联接到所选择字线的存储器单元的阈值电压的变化。
在下文中,为了便于描述,假设多个存储器单元中的每一个是存储一位数据的单层单元(SLC)。然而,本公开的范围不限于此,并且多个存储器单元中的每一个可以是用于存储两位数据的多层单元(MLC)、用于存储三位数据的三层单元(TLC)或用于存储四位数据的四层单元(QLC)。
可以基于页面执行编程操作。联接到单个字线的多个存储器单元可以构成单个页面。也就是说,作为联接到所选择字线的存储器单元的所选择存储器单元可以构成单个所选择页面。
编程操作可以包括多个编程循环Loop1至Loop4。也就是说,在执行多个编程循环Loop1至Loop4时,所选择的存储器单元可以具有对应于目标编程状态的阈值电压。
多个编程循环Loop1至Loop4中的每一个可以包括用于施加编程脉冲的编程电压施加步骤和验证是否已通过施加验证电压来编程存储器单元的验证步骤。
例如,当执行第一编程循环Loop1时,可以将验证电压VPV施加到所选择的字线,以在已施加第一编程脉冲Vpgm1之后验证多个存储器单元的编程状态。
已通过由验证电压VPV的验证的存储器单元被确定为具有目标编程状态。此后,在第二编程循环Loop2中,存储器单元可以被编程禁止。为了对除被禁止编程的存储器单元之外的存储器单元进行编程,在第二编程循环Loop2中施加比第一编程脉冲Vpgm1高出阶跃电压Vstep的第二编程脉冲Vpgm2。此后,可以以与第一编程循环Loop1中的验证步骤相同的方式执行验证步骤。在实施例中,已通过验证的存储器单元是具有高于验证电压VPV的阈值电压的存储器单元。因此,当施加验证电压VPV时,已通过验证的存储器单元被读取为关断单元。相反,当施加验证电压VPV时,已在验证中失败的存储器单元被读取为导通单元。
在验证步骤中,联接到与所选择字线相联接的存储器单元的页面缓冲器,可以基于流经分别联接到所选择存储器单元的位线的电流或位线上的电压来确定存储器单元在验证中是否已通过或失败。
依照待存储在相对应的存储器单元中的数据,可以确定每个存储器单元的目标阈值电压处于擦除状态和编程状态中的任一个。数据“1”可以存储在具有对应于擦除状态的阈值电压的存储器单元中。数据“0”可以存储在具有对应于编程状态的阈值电压的存储器单元中。
在执行第一编程循环Loop1之前的存储器单元的阈值电压可以对应于擦除状态。当执行第一编程循环Loop1时,具有编程状态中的阈值电压的存储器单元的阈值电压可以增加到D1状态。然而,由于阈值电压未达到目标阈值电压,即D4,因此存储器单元将在验证中失败。此后,当执行第二编程循环Loop2时,具有对应于编程状态的目标阈值电压的存储器单元的阈值电压可以增加到D2状态。然而,由于阈值电压未达到目标阈值电压,即D4,因此存储器单元将在验证中失败。此后,当执行第三编程循环Loop3时,具有对应于编程状态的目标阈值电压的存储器单元的阈值电压可以增加到D3状态。然而,由于阈值电压未达到目标阈值电压,即D4,因此存储器单元将在验证中失败。此后,当执行第四编程循环Loop4时,具有对应于编程状态的目标阈值电压的存储器单元的阈值电压可以增加到D4状态。因此,由于阈值电压高于验证电压VPV,存储器单元可以通过验证。
可以使用默认读取电压VRD来读取被编程到D4状态的存储器单元。由于被编程到D4状态的存储器单元的阈值电压高于默认读取电压VRD,因此存储器单元被读取为关断单元。相反,处于擦除状态中的存储器单元被读取为导通单元。因此,可以依照默认读取电压读取存储在存储器单元中的数据。
图7是示出在由于突然断电而中断编程操作的状态下的存储器单元的阈值电压分布的示图。
参照图7,在执行编程循环时,联接到所选择字线的存储器单元的阈值电压可以从(A)中所示的状态改变为(E)中所示的状态。在执行编程操作期间,可能发生突然断电,其中中断如上文参照图1所述的对存储装置50的供电。当发生突然断电时,正在执行的编程操作可能被中断。此后,当恢复供电时,存储装置50可以恢复由于突然断电而中断的编程操作。
当在执行编程操作期间由于突然断电而中断编程操作时,正在对其执行编程操作的存储器单元可以具有对应于(A)至(E)中所示的任一种状态的阈值电压。
(A)中的状态表示当存储器单元的阈值电压处于擦除状态中时发生突然断电的情况。也就是说,具有对应于(A)中状态的阈值电压的存储器单元可以具有擦除状态中的阈值电压。因此,可以使用默认读取电压VRD和具有低于默认读取电压VRD的电压电平的较低读取电压VRD-来确定存储器单元的阈值电压是否处于(A)中的状态。例如,当存储装置使用默认读取电压VRD读取所选择的页面时,可以将所有存储器单元读取为导通单元。当对读取数据执行错误校正码(ECC)解码时,存储在所有存储器单元中的数据可能被视为错误,因此读取操作可能失败。当读取操作失败时,存储装置可以使用较低读取电压VRD-再次读取所选择的页面。此处,当即使使用较低读取电压VRD-将所有存储器单元读取为导通单元时,存储装置可以确定存储器单元具有诸如(A)中状态的阈值电压分布。
在实施例中,当作为使用较低读取电压VRD-读取包括在所选择页面中的存储器单元的结果,擦除单元的数量大于擦除单元的参考数量时,存储装置可以确定存储器单元具有诸如(A)中状态的阈值电压分布。此处,擦除单元的参考数量可以是能够确定所选择的存储器单元处于擦除状态中的擦除单元的最大数量。
(B)中的状态表示与(A)中的状态相比存储器单元的阈值电压增加的情况。(B)中状态下的存储器单元的阈值电压可以低于默认读取电压VRD。然而,一些存储器单元可以具有高于较低读取电压VRD-的阈值电压。可以使用默认读取电压VRD和较低读取电压VRD-来确定存储器单元的阈值电压是否处于(B)中的状态。例如,当存储装置使用默认读取电压VRD读取所选择的页面时,可以将所有的存储器单元读取为导通单元。当对读取数据执行ECC解码时,存储在所有存储器单元中的数据可能被视为错误,因此读取操作可能失败。当读取操作失败时,存储装置可以使用较低读取电压VRD-再次读取所选择的页面。此处,当存在一些被读取为关断单元的存储器单元时,存储装置可以确定存储器单元具有对应于(B)中状态的阈值电压。
在实施例中,当作为使用较低读取电压VRD-读取包括在所选择页面中的存储器单元的结果,擦除单元的数量不大于擦除单元的参考数量时,存储装置可以确定存储器单元具有诸如(B)中状态的阈值电压分布。此处,擦除单元的参考数量可以是能够确定所选择的存储器单元处于擦除状态中的擦除单元的最大数量。
(C)中的状态表示与(B)中的状态相比存储器单元的阈值电压增加的情况。详细地,当使用默认读取电压VRD读取处于(C)中状态下的存储器单元时,可以存在被读取为导通单元的存储器单元和被读取为关断单元的存储器单元两者。当对读取数据执行ECC解码时,被视为错误的位的数量可能超过可校正错误位的最大数量,因此读取操作可能失败。当读取操作失败时,存储装置可以使用较低读取电压VRD-再次读取所选择的页面。此处,当不存在被读取为关断单元的存储器单元时,存储装置可以确定存储器单元具有对应于(C)中状态的阈值电压。
在实施例中,当作为使用较低读取电压VRD-读取包括在所选择页面中的存储器单元的结果,擦除单元的数量不大于擦除单元的参考数量时,存储装置可以确定存储器单元具有诸如(B)中状态的阈值电压分布。此处,擦除单元的参考数量可以是能够确定所选择的存储器单元处于擦除状态中的擦除单元的最大数量。
(D)中的状态表示与(C)中的状态相比存储器单元的阈值电压增加的情况。详细地,存储装置可以使用默认读取电压VRD和具有高于默认读取电压VRD的电压电平的较高读取电压VRD+来确定存储器单元是否处于(D)中的状态。详细地,当使用默认读取电压VRD读取具有处于(D)中状态的阈值电压的存储器单元时,可以将所有的存储器单元读取为关断单元。因此,由于在读取数据中不存在错误位或者由于被视为错误的位的数量不超过可校正错误位的最大数量,因此存储器单元可以通过读取操作。当读取操作已通过时,存储装置可以使用较高读取电压VRD+再次读取所选择的页面。
详细地,当使用较高读取电压VRD+读取处于(D)中状态的存储器单元时,可以存在被读取为导通单元的存储器单元和被读取为关断单元的存储器单元两者。当对读取数据执行ECC解码时,被视为错误的位的数量可能超过可校正错误位的最大数量,因此读取操作将失败。
因此,当使用默认读取电压VRD的读取操作通过,并且使用较高读取电压VRD+的读取操作失败时,存储装置可以确定存储器单元具有对应于(D)中状态的阈值电压。
(E)中的状态表示存储器单元的阈值电压已经达到目标阈值电压。因此,存储器单元可以处于与完成编程操作的情况一致的状态。详细地,存储装置可以使用默认读取电压VRD和具有高于默认读取电压VRD的电平的较高读取电压VRD+,确定存储器单元是否处于(E)中的状态。因此,当使用默认读取电压VRD的读取操作和使用较高读取电压VRD+的读取操作都通过时,存储装置可以确定存储器单元具有对应于(E)中状态的阈值电压。在这种情况下,存储装置可以确定由于突然断电而中断的编程操作已经通过。
图8是示出用于处理可恢复页面的实施例的示图,当发生突然断电时中断对该可恢复页面的编程操作。
参照图8,第一存储块BLOCK1和第二存储块BLOCK2中的每一个可以包括第一至第十页面PG1至PG10。
图8示出了已经完成对第一存储块BLOCK1的第一至第三页面的编程操作,但是当正在对第四页面执行编程操作时发生突然断电(SPO)的情况。
在已发生突然断电之后,存储装置可以恢复数据。在传统技术中,如在第一存储块BLOCK1的第四页面PG4的情况下,对编程操作被中断但可恢复的页面不执行重新编程操作。因此,存储装置将第一存储块BLOCK1的第一至第四页面PG1至PG4中的数据片段复制到作为新存储块的第二存储块BLOCK2。可恢复页面可以是处于使用默认读取电压的读取操作通过的状态下的页面,如上文参照图7描述的(D)中状态的情况。
在这种情况下,出现的问题是,即使编程操作中断页面中的数据是可恢复的,也耗用了作为新空闲块的第二存储块BLOCK2。
为了便于描述,尽管单个存储块在图8中被描述为包括十个页面,本公开的实施例不限于此。
图9是示出根据本公开的实施例的用于处理可恢复页面的方法的示图。
参照图9,第一存储块BLOCK1和第二存储块BLOCK2中的每一个可以包括第一至第十页面PG1至PG10。
图9示出了已完成对第一存储块BLOCK1的第一至第三页面的编程操作,但是对第四页面执行编程操作时发生突然断电(SPO)的情况。
在已发生突然断电之后,存储装置可以恢复数据。根据本公开的实施例,如在第一存储块BLOCK1的第四页面PG4的情况下,对编程操作被中断但可恢复的页面执行重新编程操作。可恢复页面可以是处于使用默认读取电压的读取操作通过的状态下的页面,如上文参照图7描述的(D)中状态的情况。
因此,根据本公开的实施例的存储装置可以既不耗用作为新空闲块的第二存储块BLOCK2,也不执行不必要的复制的编程操作。
为了便于描述,尽管单个存储块在图9中被描述为包括十个页面,本公开的实施例不限于此。
图10是示出根据本公开的实施例的对可恢复页面执行的重新编程操作的示图。
返回参照图7,处于(A)中状态的存储器单元具有增加之前的阈值电压,因此存储装置可以将编程数据重新编程到所选择的页面,该编程数据是与由于突然断电而中断的编程操作相对应的数据。因此,存储装置可以执行在(A)中状态下将编程数据存储在所选择页面中的重新编程操作。
由于不能精确地确定处于(B)中状态的存储器单元的阈值电压,所以包括处于(B)中状态的存储器单元的页面可以是不可恢复的页面。因此,存储装置可以通过执行在所选择页面中存储垃圾数据的重新编程操作来将所选择页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
由于不能精确地确定处于(C)中状态的存储器单元的阈值电压,因此包括处于(C)中状态的存储器单元的页面可以是不可恢复的页面。因此,存储装置可以通过执行在所选择页面中存储垃圾数据的重新编程操作来将所选择页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
包括处于(D)中状态的存储器单元的页面可以是可恢复的页面。其原因在于一些存储器单元的阈值电压已达到对应于目标阈值电压的(E)中的状态,以及甚至在当前状态(即,(D)中状态)下使用默认读取电压VRD的读取操作也已经通过。因此,存储装置可以通过在(D)中状态下对所选择页面执行重新编程操作,来完成由于突然断电而中断的编程操作。
然而,处于(D)中状态的一些存储器单元的阈值电压已经达到了目标阈值电压。因此,当使用与编程数据相同的数据执行重新编程操作时,其阈值电压已经达到目标阈值电压的存储器单元可以被编程为过度编程状态,该过度编程状态中存储器单元具有高于目标阈值电压的阈值电压。
因此,存储装置可以生成经修改的编程数据,该经修改的编程数据是待编程到可恢复页面的数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高读取电压VRD+读取的结果,该存储器单元被读取为关断单元。存储装置可以通过使用经修改的编程数据在(D)中的状态下对所选择的页面执行重新编程操作。
图10的(A)示出了当在图7的(D)中状态下对存储器单元执行重编程操作时施加到字线的电压,并且图10的(B)示出了在如图10的(A)示出的施加电压时,联接到所选择字线的存储器单元的阈值电压的变化。
在图10中,假设在执行第三编程循环Loop3期间发生突然断电,并从而中断了编程操作。因此,在发生突然断电时,存储器单元的阈值电压可以处于与D3相对应的状态。在这种情况下,存储器单元可以使用默认读取电压VRD通过读取操作,但是可能在使用验证电压VPV或较高读取电压VRD+的读取操作中失败,如上文参照图7所描述。
此处,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高读取电压VRD+读取的结果,存储器单元被读取为关断单元。存储装置可以通过使用经修改的编程数据在(D)中的状态下对所选择的页面执行重新编程操作。
在执行重新编程操作时,存储器单元的阈值电压可以在经过D4状态之后达到D5状态。
图11是根据本公开的实施例的对编程中断页面执行恢复操作期间施加的读取电压的示图。
参照图11,存储装置可以确定在已发生突然断电之后在恢复操作中被中断编程操作的页面中包括的存储器单元的阈值电压分布。存储装置可以基于默认读取电压VRD、较低读取电压VRD-和较高读取电压VRD+来确定状态(a)至(e)中的哪一个对应于存储器单元的阈值电压分布。
以下将参照图12至图14中的实施例详细描述存储装置使用默认读取电压VRD、较低读取电压VRD-和较高读取电压VRD+执行重新编程操作的方法。
图12是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图12,在步骤S1201,存储装置可以使用默认读取电压VRD读取所选择的页面。
在步骤S1203,存储装置可以确定使用默认读取电压VRD的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1215,否则进程前进到步骤S1205。
在步骤S1205,当使用默认读取电压VRD的读取操作失败时,存储器单元的阈值电压可以对应于上文参照图7描述的(A)或(B)中的状态。因此,存储装置可以使用具有低于默认读取电压VRD的电压电平的较低读取电压VRD-来读取所选择的页面。
在步骤S1207,作为使用较低读取电压VRD-读取的结果,存储装置可以确定作为对应于擦除状态的存储器单元的擦除单元的数量是否大于擦除单元的参考数量。当擦除单元的数量大于擦除单元的参考数量时,进程前进到步骤S1209,否则进程前进到步骤S1211。
当在步骤S1207确定擦除单元的数量大于擦除单元的参考数量时,能够看出在步骤S1209,存储装置可以确定相对应页面中包括的存储器单元的阈值电压处于擦除状态。也就是说,存储器单元的阈值电压可以对应于上文参照图7描述的(A)中的状态。这可能意味着包括在所选择页面中的存储器单元的阈值电压处于擦除状态时编程操作被中断。因此,存储装置可以将编程数据重新编程到所选择的页面,该编程数据是与由于突然断电而中断的编程操作相对应的数据。因此,存储装置可以执行将编程数据存储在所选择页面中的重新编程操作。
当在步骤S1207确定擦除单元的数量不大于擦除单元的参考数量时,能够看出在步骤S1211,存储器单元的阈值电压对应于上文参照图7描述的(B)或(C)中的状态。因此,所选择的页面可以是不可恢复的页面。因此,存储装置可以通过在所选择的页面中执行存储垃圾数据的重新编程操作来将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在实施例中,垃圾数据可以是对失败页面的读取操作总是失败的数据,该失败页面是编程垃圾数据的页面。在各种实施例中,可以生成垃圾数据,使得编程干扰最小化。也就是说,垃圾数据可以是在保证对失败页面的读取操作失败的数据片段中使编程干扰的发生最小化的数据。例如,垃圾数据可以是其中所有数据片段具有值“1”的数据。
在步骤S1213,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
在步骤S1215,存储装置可以存储使用默认读取电压VRD读取的数据。存储的数据可以是在突然断电发生之前正在被编程的编程数据。
在步骤S1217,存储装置可以使用较高读取电压VRD+来读取所选择的页面。
在步骤S1219,存储装置可以确定使用较高读取电压VRD+的读取操作是否已经通过。当确定读取操作已经通过时,认为相对应的编程操作已完成,然后由于在存储器单元的阈值电压达到目标阈值电压之后已发生突然断电而终止该相对应的编程操作。当读取操作失败时,进程前进到步骤S1221。
在步骤S1221,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高读取电压VRD+读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
图13是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图13,在步骤S1301,存储装置可以使用默认读取电压VRD读取所选择的页面。
在步骤S1303,存储装置可以确定使用默认读取电压VRD的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1309,否则进程前进到步骤S1305。
在步骤S1305,存储装置可以通过执行在所选择的页面中存储垃圾数据的重新编程操作来将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。详细地,当使用默认读取电压VRD的读取操作失败时,存储装置可以确定存储器单元的阈值电压对应于上文参照图7描述的(A)、(B)和(C)中的状态中的任一个。也就是说,当使用默认读取电压VRD的读取操作失败时,存储装置可以将相对应的页面确定为不可恢复页面,并可以执行存储垃圾数据的重新编程操作。
在步骤S1307,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
在步骤S1309,存储装置可以存储使用默认读取电压VRD读取的数据。存储的数据可以是在突然断电发生之前正在被编程的编程数据。
在步骤S1311,存储装置可以使用较高读取电压VRD+来读取所选择的页面。
在步骤S1313,存储装置可以确定使用较高读取电压VRD+的读取操作是否已经通过。当确定读取操作已经通过时,认为相对应的编程操作已完成,然后由于在存储器单元的阈值电压达到目标阈值电压之后已发生突然断电而终止该相对应的编程操作。当读取操作失败时,进程前进到步骤S1315。
在步骤S1315,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高读取电压VRD+读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
图14是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图14,在步骤S1401,存储装置可以使用较高读取电压VRD+来读取所选择的页面。
在步骤S1403,存储装置可以确定使用较高读取电压VRD+的读取操作是否已经通过。
当确定读取操作已经通过时,可以认为对包括在相对应页面中的存储器单元的编程操作已经正常终止,因此可以终止编程操作。当确定读取操作已经失败时,进程前进到步骤S1405。
在步骤S1405,存储装置可以使用默认读取电压VRD来读取所选择的页面。
在步骤S1407,存储装置可以确定使用默认读取电压VRD的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1409,否则进程前进到步骤S1411。
在步骤S1409,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用默认读取电压VRD读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
在步骤S1411,存储装置可以通过执行在所选择的页面中存储垃圾数据的重新编程操作来将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。详细地,当使用默认读取电压VRD的读取操作失败时,存储装置可以确定存储器单元的阈值电压对应于上文参照图7描述的(A)、(B)和(C)中的状态中的任一个。也就是说,当使用默认读取电压VRD的读取操作失败时,存储装置可以将相对应的页面确定为不可恢复页面,并可以执行存储垃圾数据的重新编程操作。
在步骤S1413,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
图15是示出根据本公开的实施例的对编程中断页面执行恢复操作期间施加的读取电压的示图。
图15示出了当对由每个存储器单元中存储两位的MLC组成的页面的编程操作被中断时用于恢复编程操作的读取电压。
在MLC的情况下,存储在页面中的存储器单元的每一个可以被编程为具有对应于“11”、“01”、“00”和“10”中的任一个的阈值电压。
此处,在相对应的页面中包括的存储器单元中存储的两位数据之间,最低有效位(LSB)数据可以是LSB数据,并且最高有效位(MSB)数据可以是MSB数据。可以使用三个默认读取电压VRD从由MLC组成的页面读取数据。详细地,存储装置可以使用默认LSB读取电压VRD2和默认MSB读取电压VRD1和VRD3来读取数据。首先,存储装置可以使用默认LSB读取电压VRD2读取LSB数据。此后,存储装置可以通过使用默认MSB读取电压VRD1和VRD3中具有较低电压电平的第一默认MSB读取电压VRD1执行读取操作来识别对应于数据“11”和“01”的存储器单元。此后,存储装置可以通过使用默认MSB读取电压VRD1和VRD3中具有较高电压电平的第二默认MSB读取电压VRD3执行读取操作来识别对应于数据“00”和“10”的存储器单元。
在本公开的实施例中,存储装置可以在突然断电已经发生之后的恢复操作中确定包括在编程中断页面中的存储器单元的阈值电压分布。存储装置可以使用默认LSB读取电压VRD2、默认MSB读取电压VRD1和VRD3、具有低于第一默认MSB读取电压VRD1的电压电平的较低MSB读取电压VRD1-以及具有高于第二默认MSB读取电压VRD3的电压电平的较高MSB读取电压VRD3+,来确定存储器单元的阈值电压分布
以下将参照图16至图18中的实施例详细描述存储装置使用默认LSB读取电压VRD2、默认MSB读取电压VRD1和VRD3、具有低于第一默认MSB读取电压VRD1的电压电平的较低MSB读取电压VRD1-以及具有高于第二默认MSB读取电压VRD3的电压电平的较高MSB读取电压VRD3+执行重新编程操作的方法。
图16是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图16,在步骤S1601,存储装置可以使用默认LSB读取电压VRD2来读取所选择的页面。
在步骤S1603,存储装置可以确定使用默认LSB读取电压VRD2的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1615,否则进程前进到步骤S1605。
当使用默认LSB读取电压VRD2的读取操作失败时,在步骤S1605,每个存储器单元的阈值电压可以具有对应于数据“11”或“01”的电压电平。存储装置可以使用具有低于第一默认MSB读取电压VRD1的电压电平的较低MSB读取电压VRD1-来读取所选择的页面。
在步骤S1607,作为使用较低MSB读取电压VRD1-读取的结果,存储装置可以确定作为对应于擦除状态的存储器单元的擦除单元的数量是否大于擦除单元的参考数量。当擦除单元的数量大于擦除单元的参考数量时,进程前进到步骤S1609,否则进程前进到步骤S1611。
当在步骤S1607确定擦除单元的数量大于擦除单元的参考数量时,能够看出在步骤S1609,存储装置可以确定相对应页面中包括的存储器单元的阈值电压处于擦除状态。也就是说,这可以是所有存储器单元具有对应于数据“11”的阈值电压的状态。这可能意味着在包括在所选择页面中的存储器单元的阈值电压处于擦除状态时编程操作被中断。因此,存储装置可以将编程数据重新编程到所选择的页面,该编程数据是与由于突然断电而中断的编程操作相对应的数据。因此,存储装置可以执行将编程数据存储在所选择页面中的重新编程操作。
当在步骤S1607确定擦除单元的数量不大于擦除单元的参考数量时,可以认为在步骤S1611,一些存储器单元具有对应于数据“01”的阈值电压,并且剩余存储器单元具有对应于数据“00”的阈值电压。结果,不可能指定编程操作已完成到什么程度。因此,所选择的页面可以是不可恢复的页面。因此,存储装置可以通过在所选择的页面中执行存储垃圾数据的重新编程操作来将所选择的页面作为失败页面处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在实施例中,垃圾数据可以是对失败页面的读取操作总是失败的数据,该失败页面是编程垃圾数据的页面。在各种实施例中,可以生成垃圾数据,使得编程干扰最小化。也就是说,垃圾数据可以是在保证对失败页面的读取操作失败的数据片段中将编程干扰的发生最小化的数据。例如,垃圾数据可以是其中所有数据片段具有值“1”的数据。
在步骤S1613,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
在步骤S1615,存储装置可以存储使用默认LSB读取电压VRD2读取的LSB数据。存储的数据可以是在突然断电发生之前正在被编程的编程数据的LSB数据。
在步骤S1617,存储装置可以使用默认MSB读取电压VRD1和VRD3来读取数据。
在步骤S1619,存储装置可以确定使用默认MSB读取电压VRD1和VRD3的读取操作是否已经通过。
当确定使用默认MSB读取电压VRD1和VRD3的读取操作已经失败时,能够看出所选择页面中的存储器单元的每一个具有对应于“11”、“01”和“00”的阈值电压中的任一个,并且不能被编程为数据“10”。结果,不可能指定编程操作已完成到什么程度。因此,所选择的页面可以是不可恢复的页面。因此,存储装置前进到步骤S1611,其中通过在所选择的页面中执行存储垃圾数据的重新编程操作可以将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在步骤S1621,因为使用默认MSB读取电压VRD1和VRD3的读取操作已经通过,存储装置可以存储MSB数据。MSB数据可以是在突然断电发生之前正在被编程的编程数据的MSB数据。
在步骤S1623,可以使用较高MSB读取电压VRD3+来读取所选择的页面。
在步骤S1625,存储装置可以确定使用较高MSB读取电压VRD3+的读取操作是否已经通过。
当确定读取操作已经通过时,认为相对应的编程操作已完成,并且然后由于在存储器单元的阈值电压达到目标阈值电压之后已发生突然断电而终止该相对应的编程操作。当读取操作失败时,进程前进到步骤S1627。
在步骤S1627,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高MSB读取电压VRD3+读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
图17是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图17,在步骤S1701,存储装置可以使用默认LSB读取电压VRD2读取所选择的页面。
在步骤S1703,存储装置可以确定使用默认LSB读取电压VRD2的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1709,否则进程前进到步骤S1705。
当使用默认LSB读取电压VRD2的读取操作失败时,在步骤S1705,每个存储器单元的阈值电压可以具有对应于数据“11”或“01”的电压电平。结果,不可能指定编程操作已完成到什么程度。因此,所选择的页面可以是不可恢复的页面。因此,存储装置可以通过在所选择的页面中执行存储垃圾数据的重新编程操作将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在实施例中,垃圾数据可以是对失败页面的读取操作总是失败的数据,该失败页面是编程垃圾数据的页面。在各种实施例中,可以生成垃圾数据,使得编程干扰最小化。也就是说,垃圾数据可以是在保证对失败页面的读取操作失败的数据片段中将编程干扰的发生最小化的数据。例如,垃圾数据可以是其中所有数据片段具有值“1”的数据。
在步骤S1707,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
在步骤S1709,存储装置可以存储使用默认LSB读取电压VRD2读取的LSB数据。存储的数据可以是在突然断电发生之前正在被编程的编程数据的LSB数据。
在步骤S1711,存储装置可以使用默认MSB读取电压VRD1和VRD3来读取数据。
在步骤S1713,存储装置可以确定使用默认MSB读取电压VRD1和VRD3的读取操作是否已经通过。
当确定使用默认MSB读取电压VRD1和VRD3的读取操作已经失败时,能够看出所选择页面中的存储器单元的每一个具有对应于“11”、“01”和“00”的阈值电压中的任一个,并且不能被编程为数据“10”。结果,不可能指定编程操作已完成到什么程度。因此,所选择的页面可以是不可恢复的页面。因此,存储装置前进到步骤S1705,其中通过在所选择的页面中执行存储垃圾数据的重新编程操作可以将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在步骤S1715,因为使用默认MSB读取电压VRD1和VRD3的读取操作已经通过,存储装置可以存储MSB数据。MSB数据可以是在突然断电发生之前正在被编程的编程数据的MSB数据。
在步骤S1717,可以使用较高MSB读取电压VRD3+来读取所选择的页面。
在步骤S1719,存储装置可以确定使用较高MSB读取电压VRD3+的读取操作是否已经通过。当确定读取操作已经通过时,认为相对应的编程操作已完成,并且然后由于在存储器单元的阈值电压达到目标阈值电压之后已发生突然断电而终止该相对应的编程操作。当读取操作失败时,进程前进到步骤S1721。
在步骤S1721,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过将待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用较高MSB读取电压VRD3+读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
图18是示出根据本公开的实施例的用于操作存储装置的方法的流程图。
参照图18,在步骤S1801,存储装置可以使用第一默认MSB读取电压VRD1和较高MSB读取电压VRD3+来读取所选择的页面。
在步骤S1803,存储装置可以确定使用第一默认MSB读取电压VRD1和较高MSB读取电压VRD3+的读取操作是否已经通过。
当确定读取操作已经通过时,可以认为对包括在相对应页面中的存储器单元的编程操作已经正常终止,因此可以终止编程操作。当确定读取操作已经失败时,进程前进到步骤S1805。
在步骤S1805,存储装置可以使用默认MSB读取电压VRD1和VRD3来读取所选择的页面。
在步骤S1807,存储装置可以确定使用默认MSB读取电压VRD1和VRD3的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1813,否则进程前进到步骤S1809。
在步骤S1809,存储装置可以通过在所选择的页面中执行存储垃圾数据的重新编程操作将所选择的页面作为失败页面进行处理。此后,存储装置可以执行将编程数据存储在另一页面中的编程操作。
在步骤S1811,存储装置可以存储指示所选择的页面是失败页面的失败页面信息。在实施例中,失败页面信息可以存储在失败页面的备用区域中或包括失败页面的存储块的系统信息区域中。
在步骤S1813,因为使用默认MSB读取电压VRD1和VRD3的读取操作已经通过,存储装置可以存储MSB数据。MSB数据可以是在突然断电发生之前正在被编程的编程数据的MSB数据。
在步骤S1815,存储装置可以使用默认LSB读取电压VRD2来读取所选择的页面。
在步骤S1817,存储装置可以确定使用默认LSB读取电压VRD2的读取操作是否已经通过。当确定读取操作已经通过时,进程前进到步骤S1819,否则进程前进到步骤S1811。
在步骤S1819,存储装置可以生成经修改的编程数据。详细地,存储装置可以通过框待存储在存储器单元中的编程数据改变为具有值“1”来生成经修改的编程数据,作为使用默认LSB读取电压VRD2读取的结果,存储器单元被读取为关断单元。存储装置可以使用经修改的编程数据对所选择的页面执行重新编程操作。
图19是示出存储失败页面信息的实施例的示图。
参照图19,当相对应的页面是不可恢复页面时,存储装置可以基于其上编程操作被中断的页面中包括的存储器单元的阈值电压,来存储垃圾数据。此处,存储装置可以存储失败页面信息以及垃圾数据,其中失败页面信息指示相对应的页面是其内存储垃圾数据的失败页面。
详细地,存储块可以被划分为其内存储数据的主存储区域和其内存储备用信息的备用区域。单个页面包括主存储区域和备用区域。备用区域可以存储与存储在主存储区域中的数据有关的信息。例如,备用区域可以存储在主存储区域中存储的数据的奇偶校验信息。可替换地,备用区域可以存储在主存储区域中存储的数据的地址信息。
在本公开的实施例中,失败页面信息可以存储在备用区域中。也就是说,当执行存储垃圾数据的重新编程操作时,存储装置可以在页面的备用区域中存储指示相对应的页面是失败页面的失败页面信息。在实施例中,失败页面可以是实施为一位的标志。
图20是示出存储失败页面信息的实施例的示图。
参照图20,存储块可以被划分为其内存储系统信息的系统信息区域和其内存储用户数据的用户数据区域。系统信息区域存储系统信息。系统信息可以是不能由用户直接访问的区域中的信息。在实施例中,系统信息区域可以包括SLC块,在SLC块中每个存储器单元中存储一位数据。用户数据区域可以包括MLC块或TLC块,在MLC块或TLC块中每个存储器单元中存储两位或三位数据。
根据本公开的实施例,存储装置可以在系统信息区域中存储失败页面信息,该失败页面信息指示关于包括在相对应的存储块中的失败页面的信息。
图21是示出图1的存储器控制器和多个存储器装置之间的联接关系的框图。
参照图21,存储器控制器200可以通过多个信道CH0至CHk联接到多个存储器装置(例如,存储器装置_00至存储器装置_nk)。在实施例中,应该理解的是,信道的数量或联接到每个信道的存储器装置的数量可以有各种变化。
存储器装置_00至存储器装置_0k可以共同联接到信道0CH0。存储器装置_00至存储器装置_0k可以通过信道0CH0与存储器控制器200通信。由于存储器装置_00至存储器装置_0k共同联接到信道0CH0,所以一次只有单个存储器装置可以与存储器控制器200通信。然而,存储器装置_00至存储器装置_0k可以同时执行它们自己的内部操作。
联接到信道1CH1至信道n CHn中的每一个的存储器装置可以与联接到上述信道0CH0的存储器装置以相同的方式操作。
使用多个存储器装置的存储装置可以使用数据交错来改进性能,数据交错是使用交错方案的数据通信。数据交错可以被配置为在两种或更多种路径彼此共享单个信道的结构中切换到每种路径时执行数据读取或写入操作。对于数据交错,可以基于路径连同信道管理存储器装置。为了最大化联接到每个信道的存储器装置的并行性,存储器控制器200可以将连续的逻辑存储器区域分配和分配给信道和路径。
例如,存储器控制器200可以通过信道0CH0将命令、包括地址的控制信号和数据传送到存储器装置_00。当存储器装置_00将接收的数据编程到包括于其中的存储器单元时,存储器控制器200可以将命令、包括地址的控制信号和数据传送到存储器装置_01。
在图21中,可以使用k+1个路径WAY 0至WAY k来配置多个存储器装置。路径0(WAY0)可以包括存储器装置_00至存储器装置_n0。路径1(WAY 1)至路径k(WAY k)中包括的存储器装置可以与在上述路径0中包括的存储器装置以相同的方式配置。
信道CH0至CHn中的每一个可以是用于信号的总线,其由联接到相对应信道的存储器装置共享和使用。
尽管在图21中示出了n信道/k路径结构中的数据交错,但随着信道数量的增加和路径数量的增加,交错可能更加有效。
图22是示出存储装置的奇偶校验数据的示图。
参照图22,存储器装置_00至存储器装置_0k可以共同联接到信道0CH0。
在图22中,每个存储器装置可以包括第0存储块BLK0至第n存储块BLKn,并且每个存储块可以包括第0页面Page 0至第k页面Page k。
存储器控制器可以基于超级块控制包括在共同联接到单个信道的多个存储器装置中的存储块。例如,包括在存储器装置_00至存储器装置_0k中的第0存储块可以构成第0超级块(Super Block 0)。因此,联接到信道0CH0的存储器装置_00至存储器装置_0k可以包括第0至第n超级块(Super Block 0至Super Block n)。
单个超级块可以包括多个超级页面。
单个超级页面可以包括多个页面。例如,分别包括在第0超级块(Super Block 0)中包括的多个第0存储块BLK0中的第0页面(Page 0)可以构成第0超级页面(Super Page0)。
因此,第0超级页面(Super Page 0)至第k个超级页面(Super Page k)可以包括在单个超级块中。
当在存储器装置_00至存储器装置_0k中存储数据或者从存储器装置_00至存储器装置_0k读取存储的数据时,存储器控制器可以基于超级页面存储或读取数据。
在这种情况下,可以使用数据交错来执行在单个超级页面中存储数据的编程操作或者读取所存储的数据的读取操作。
存储器装置_0k(芯片X)可以存储奇偶校验数据。详细地,存储器装置_0k可以存储通过对存储器装置_00至存储器在_0k-1中存储的数据片段执行异或(XOR)操作而生成的奇偶校验数据。
例如,存储器装置_0k中的第0存储块BLK0的第0页面可以存储通过对分别存储在存储器装置_00至存储器装置_0k-1中的第0存储块BLK0的第0页面中的数据片段执行XOR操作而生成的奇偶校验数据。
当使用奇偶校验数据确定单个超级页面中包括的多个页面数据片段中的任一个未能读取时,存储器控制器可以通过对剩余的页面数据片段和奇偶校验数据执行XOR操作,恢复在读取操作中已失败的存储器装置中存储的页面数据。
图23是示出根据本公开的实施例的包括在存储装置中的存储器控制器生成奇偶校验数据的方法的示图。
在图23中,存储器控制器为存储在单个超级页面中的页面数据片段生成奇偶校验数据。
参照图23,在步骤S2301,存储器控制器可以读取包括在缓冲存储器(例如,易失性存储器)中、待编程的页面数据,或者可以读取存储在多个存储器装置中的页面数据片段。
在步骤S2303,存储器控制器可以确定包括在所读取数据中的错误位的数量是否大于可校正错误位的最大数量。当确定包括在所读取数据中的错误位的数量大于可校正错误位的最大数量时,进程返回到其中可以读取对应于后续页面的数据的步骤S2301。当确定包括在所读取数据中的错误位的数量不大于可校正错误位的最大数量,并且正常读取数据时,进程前进到步骤S2305。在上文参照图7至图18描述的不可恢复的页面中,存储垃圾数据,因此可能未能读取到相对应的页面。因此,在步骤S2305至S2309,对于未能读取的数据,存储器控制器可能不涉及在生成奇偶校验数据中的相对应数据。
在步骤S2305,存储器控制器可以生成页面数据的奇偶校验位。
在步骤S2307,存储器控制器可以确定相对应的页面数据是否是包括在单个超级页面中的最后数据。当确定页面数据不是最后数据时,进程返回到其中可以读取对应于后续页面的数据的步骤S2301。当确定页面数据是最后页面数据时,进程前进到步骤S2309。
在步骤S2309,存储器控制器可以编程包括所生成的奇偶校验位的奇偶校验数据。
图24是示出根据本公开的实施例的用于为存储装置生成奇偶校验数据的方法的示图。
在图24中,存储器控制器为存储在单个超级页面中的页面数据片段生成奇偶校验数据。
参照图24,在步骤S2401,存储器控制器可以读取包括在缓冲存储器(例如,易失性存储器)中、待编程的页面数据,或者可以读取存储在多个存储器装置中的页面数据片段。
在步骤S2403,存储器控制器可以确定包括在所读取数据中的错误位的数量是否大于可校正错误位的最大数量。当确定包括在所读取数据中的错误位的数量大于可校正错误位的最大数量时,进程前进到步骤S2407,而当确定包括在所读取数据中的错误位的数量不大于可校正错误位的最大数量,并且正常读取数据时,进程前进到步骤S2405。
在上文参照图7至图18描述的不可恢复的页面中,存储垃圾数据,因此可能未能读取到相对应的页面。因此,对于未能读取的数据,存储器控制器前进到步骤S2407,其中所有数据位为“0”的虚设数据可以被视为读取页面数据。
在步骤S2405,存储器控制器可以生成页面数据的奇偶校验位。
在步骤S2409,存储器控制器可以确定相对应的页面数据是否是包括在单个超级页面中的最后数据。当确定页面数据不是最后数据时,进程返回到其中可以读取对应于后续页面的数据的步骤S2401。当确定页面数据是最后页面数据时,进程前进到步骤S2411。
在步骤S2411,存储器控制器可以编程包括所生成的奇偶校验位的奇偶校验数据。
图25是示出图1的存储器控制器200的实施例的示图。
存储器控制器1000联接到主机和存储器装置。响应于从主机接收的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以被配置为控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以在存储器装置和主机之间提供接口。存储器控制器1000可以运行固件,以用于控制存储器装置。
参照图25,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误检查和校正(ECC)单元1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以提供存储器控制器1000的组件之间的通道。
处理器1010可以控制存储器控制器1000的全部操作并可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。此外,处理器1010可以通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可以通过使用存储器缓冲器1020作为工作存储器、高速缓冲存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以使用映射表接收LBA并将LBA转换成PBA。通过FTL执行的地址映射方法的示例可以包括按照映射单位的各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以对从主机接收的数据进行随机化。例如,处理器1010可以使用随机化种子以对从主机接收的数据进行随机化。被随机化的数据可以作为待存储数据被提供给存储器装置,并可以被编程在存储器单元阵列中。
在读取操作期间,处理器可以对从存储器装置接收的数据进行去随机化。例如,处理器1010可以使用去随机化种子来对从存储器装置接收的数据进行去随机化。被去随机化的数据可以被输出到主机。
在实施例中,处理器1010可以运行软件或固件以执行随机化和去随机化操作。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC单元1030可以执行错误校正。ECC单元1030可以通过存储器接口1060基于待写入到存储器装置的数据来执行错误校正码(ECC)编码。经ECC编码的数据可以通过存储器接口1060传输到存储器装置。ECC单元1030可以基于通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,ECC单元1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可以在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道向存储器装置传送/从存储器装置接收命令、地址和数据。
在实施例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050。
在实施例中,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,ROM)加载代码。在实施例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在实施例中,存储器控制器1000的总线1070可以被划分成控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传送数据,且控制总线可以被配置为在存储器控制器1000中传送诸如命令或地址的控制信息。数据总线和控制总线可以彼此隔离,并且可以既不互相干扰也不互相影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC单元1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图26是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
参照图26,存储卡系统2000可以包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以在存储器装置2100与主机之间提供接口连接。存储器控制器2100可以运行固件,以用于控制存储器装置2200。存储器控制器2100可以与上文参照图1描述的存储器控制器200以相同的方式来实施。
在实施例中,存储器控制器2100可以包括诸如RAM、处理单元、主机接口、存储器接口以及ECC单元的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以基于特定的通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可以通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可以由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置中的任一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或者通用闪存(UFS)。
图27是示出应用了根据本公开的实施例的存储装置的固态硬盘(SSD)系统的示例的框图。
参照图27,SSD系统3000可以包括主机3100和SSD 3200。SSD 3200可以通过信号连接器3001与主机3100交换信号SIG,并可以通过电源连接器3002接收电力PWR。SSD 3200可以包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以执行上文参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以是基于主机3100和SSD 3200的接口的信号。例如,信号SIG可以是由诸如以下的各种接口中的至少一种限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电源连接器3002联接到主机3100。辅助电源3230可以从主机3100供应电力PWR并可以被充电。当来自主机3100的电力供应不平稳执行时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以被安置在SSD 3200内部或被安置在SSD 3200外部。例如,辅助电源3230可以被放置在主板中,并可以向SSD 3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图28是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
参照图28,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行包括在用户系统4000中的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可以包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM和LPDDR3 SDRAM的易失性RAM或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)进行封装,然后可以被设置为单个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信的无线通信。在实施例中,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可替换地,存储模块4400可以将存储在存储模块4400中的数据传送到应用处理器4100。在实施例中,存储模块4400可以被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为可移动存储介质(即,可移动驱动器),诸如用户系统4000的存储卡或外部驱动器。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,多个非易失性存储器装置中的每一个可以与上文参照图2至图5描述的存储器装置以相同的方式来操作。存储模块4400可以与上文参照图1描述的存储装置50以相同的方式来操作。
用户接口4500可以包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和马达。
根据本公开,提供了一种存储装置以及用于操作该存储装置的方法,该存储装置对由于突然断电而被中断编程操作的页面执行重新编程操作。
虽然已经出于说明性目的公开了本公开的示例性实施例,但本领域技术人员将理解的是,各种变型、添加和替换是可行的。因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而不是由之前的描述来限定。
尽管已经公开了本公开的实施例,但本领域技术人员将理解的是,在不脱离本公开的范围和精神的情况下,各种变型、添加和替换是可行的。
因此,本公开的范围必须由所附权利要求和权利要求的等同物来限定,而不是由之前的描述来限定。
在以上讨论的实施例中,可以选择性地执行或跳过所有步骤。另外,可以不总是按给定的顺序来顺序执行每个实施例中的步骤,可以随机执行每个实施例中的步骤。此外,本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,各种变型是可行的。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的精神来解释,而不限制其主题。应当理解的是,本文描述的基本发明构思的许多变化和变型仍将落入所附权利要求及其等同物中限定的本公开的精神和范围之内。

Claims (20)

1.一种存储装置,包括:
存储器装置,包括多个存储块,每个存储块包括多个页面;以及
存储器控制器,使用重新编程数据对编程操作被中断的页面执行重新编程操作,所述重新编程数据依照所述多个页面中、编程操作被中断的所述页面中包括的存储器单元的阈值电压而设置。
2.根据权利要求1所述的存储装置,其中所述存储器控制器在所述存储器单元的阈值电压处于执行所述编程操作之前的状态时,将编程数据设置为所述重新编程数据,所述编程数据是依照所述编程操作待存储的数据。
3.根据权利要求2所述的存储装置,其中执行所述编程操作之前的状态指示所述存储器单元的阈值电压低于默认读取电压且低于较低读取电压的状态,所述较低读取电压低于所述默认读取电压。
4.根据权利要求1所述的存储装置,其中所述存储器控制器在编程操作被中断的所述页面是不可恢复页面的情况下,将垃圾数据设置为所述重新编程数据。
5.根据权利要求4所述的存储装置,其中所述垃圾数据是保证对失败页面的读取操作失败的数据,所述垃圾数据被编程到所述失败页面。
6.根据权利要求4所述的存储装置,其中所述垃圾数据是被生成以使由所述重新编程操作引起的编程干扰最小化的数据。
7.根据权利要求4所述的存储装置,其中所述存储器控制器将所述垃圾数据编程到编程操作被中断的所述页面,并在所述存储器装置中存储失败页面信息,所述失败页面信息指示将所述垃圾数据存储在编程操作被中断的所述页面中。
8.根据权利要求7所述的存储装置,其中所述存储器控制器将所述失败页面信息存储在编程操作被中断的所述页面的备用区域中。
9.根据权利要求7所述的存储装置,其中所述存储器控制器将所述失败页面信息存储在包括编程操作被中断的所述页面的存储块的系统信息区域中。
10.根据权利要求4所述的存储装置,其中编程操作被中断的所述页面是不可恢复页面的情况表示所述存储器单元的阈值电压低于默认读取电压且高于较低读取电压的状态,所述较低读取电压低于所述默认读取电压。
11.根据权利要求1所述的存储装置,其中所述存储器控制器在编程操作被中断的所述页面是可恢复页面的情况下,将编程数据被修改的经修改编程数据设置为所述重新编程数据。
12.根据权利要求11所述的存储装置,其中编程操作被中断的所述页面是所述可恢复页面的情况表示所述存储器单元的阈值电压高于默认读取电压且高于较高读取电压的状态,所述较高读取电压高于所述默认读取电压。
13.根据权利要求12所述的存储装置,其中所述经修改编程数据是其中待存储在存储器单元中的数据改变为所述编程数据中的“1”的数据,作为使用所述较高读取电压的读取操作的结果,所述存储器单元被读取为关断单元,所述编程数据是依照所述编程操作待存储的数据。
14.一种用于操作存储装置的方法,所述存储装置包括具有多个存储块的存储器装置以及用于控制所述存储器装置的存储器控制器,每个存储块包括多个页面,所述方法包括:
使用默认读取电压对所述多个页面中、编程操作被中断的页面执行读取操作;并且
基于使用所述默认读取电压的读取操作的结果,使用较低读取电压和较高读取电压中的任一个来执行读取操作,并基于所述读取操作的结果执行重新编程操作,其中所述较低读取电压具有低于所述默认读取电压的电压电平,且所述较高读取电压具有高于所述默认读取电压的电压电平。
15.根据权利要求14所述的方法,其中执行所述重新编程操作包括:
当使用所述默认读取电压的读取操作通过时,使用所述较低读取电压对编程操作被中断的页面执行读取操作;并且
基于使用所述较低读取电压对编程操作被中断的所述页面的读取操作的结果,设置将用于所述重新编程操作的重新编程数据。
16.根据权利要求15所述的方法,其中设置所述重新编程数据为:
作为使用所述较低读取电压的读取操作的结果,当关断单元的数量大于关断单元的参考数量时,将编程数据设置为所述重新编程数据,所述编程数据是依照所述编程操作待存储的数据。
17.根据权利要求15所述的方法,其中设置所述重新编程数据为,作为使用所述较低读取电压的读取操作的结果,当关断单元的数量不大于关断单元的参考数量时,将垃圾数据设置为所述重新编程数据。
18.根据权利要求14所述的方法,其中执行所述重编程操作包括:
当使用所述默认读取电压的读取操作失败时,使用所述较高读取电压对编程操作被中断的所述页面执行读取操作;并且
基于使用所述较高读取电压对编程操作被中断的所述页面的读取操作的结果,设置将用于所述重新编程操作的重新编程数据。
19.根据权利要求18所述的方法,其中设置所述重新编程数据以使得,当使用所述较高读取电压的读取操作失败时,其中待存储在存储器单元中的数据改变为编程数据中的“1”并被设置为所述重新编程数据,作为使用所述较高读取电压的读取操作的结果,所述存储器单元被读取为关断单元,所述编程数据是依照所述编程操作待存储的数据。
20.一种存储装置,包括:
存储器装置,执行将编程数据存储在从多个页面中选择的页面中的编程操作;以及
存储器控制器,当所述编程操作由于突然断电而中断时,控制所述存储器装置,以使得基于使用默认读取电压、较低读取电压和较高读取电压中的至少两个读取所选择的页面的结果,垃圾数据、所述编程数据和经修改编程数据中的任一个被存储在所选择的页面中,所述经修改编程数据中的部分所述编程数据被修改,所述较低读取电平具有低于所述默认读取电压的电压电平,所述较高读取电平具有高于所述默认读取电压的电压电平。
CN201811336020.0A 2018-03-21 2018-11-12 存储装置及用于操作存储装置的方法 Active CN110299178B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180032847A KR102530641B1 (ko) 2018-03-21 2018-03-21 저장 장치 및 그 동작 방법
KR10-2018-0032847 2018-03-21

Publications (2)

Publication Number Publication Date
CN110299178A true CN110299178A (zh) 2019-10-01
CN110299178B CN110299178B (zh) 2023-05-12

Family

ID=67985601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811336020.0A Active CN110299178B (zh) 2018-03-21 2018-11-12 存储装置及用于操作存储装置的方法

Country Status (4)

Country Link
US (1) US10650897B2 (zh)
KR (1) KR102530641B1 (zh)
CN (1) CN110299178B (zh)
TW (1) TWI780240B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853686A (zh) * 2019-10-22 2020-02-28 长江存储科技有限责任公司 适用于闪存设备的掉电处理方法、装置、介质、及终端
CN113345899A (zh) * 2020-03-03 2021-09-03 爱思开海力士有限公司 存储器装置及操作存储器装置的方法
CN113806254A (zh) * 2020-06-15 2021-12-17 爱思开海力士有限公司 存储器系统、存储器控制器及存储器系统的操作方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220048377A (ko) 2020-10-12 2022-04-19 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1729306A1 (en) * 2005-06-01 2006-12-06 STMicroelectronics S.r.l. NAND flash memory device with compacted cell threshold voltage distribution
US20070130436A1 (en) * 1999-10-19 2007-06-07 Super Talent Electronics, Inc. Electronic Data Storage Medium With Fingerprint Verification Capability
CN101009133A (zh) * 2006-01-23 2007-08-01 三洋电机株式会社 存储器
US20090241010A1 (en) * 2008-03-01 2009-09-24 Kabushiki Kaisha Toshiba Memory system
CN102543204A (zh) * 2010-12-30 2012-07-04 海力士半导体有限公司 存储系统及其操作方法
US20130117634A1 (en) * 2011-11-04 2013-05-09 Samsung Electronics Co., Ltd. Memory system and data storage method
US20140136925A1 (en) * 2012-11-14 2014-05-15 SK Hynix Inc. Method of operating a data storage device
US20150332773A1 (en) * 2014-05-13 2015-11-19 Donghun Kwak Three-dimensional memory device and operating method of a storage device including the same
US20160179430A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Storage device dynamically allocating program area and program method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850515B1 (ko) * 2007-01-24 2008-08-05 삼성전자주식회사 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
US7969788B2 (en) * 2007-08-21 2011-06-28 Micron Technology, Inc. Charge loss compensation methods and apparatus
KR20110121897A (ko) * 2010-05-03 2011-11-09 삼성전자주식회사 사용자 장치 및 그것의 프로그램 페일 처리 방법
KR102117919B1 (ko) 2013-10-24 2020-06-02 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
KR102272228B1 (ko) 2014-05-13 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
KR102233074B1 (ko) * 2014-10-08 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 신뢰성 검증 방법
US9818476B1 (en) * 2016-07-25 2017-11-14 Samsung Electronics Co., Ltd. Reprogram without erase using capacity in multi-level NAND cells

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130436A1 (en) * 1999-10-19 2007-06-07 Super Talent Electronics, Inc. Electronic Data Storage Medium With Fingerprint Verification Capability
EP1729306A1 (en) * 2005-06-01 2006-12-06 STMicroelectronics S.r.l. NAND flash memory device with compacted cell threshold voltage distribution
CN101009133A (zh) * 2006-01-23 2007-08-01 三洋电机株式会社 存储器
US20090241010A1 (en) * 2008-03-01 2009-09-24 Kabushiki Kaisha Toshiba Memory system
CN102543204A (zh) * 2010-12-30 2012-07-04 海力士半导体有限公司 存储系统及其操作方法
US20130117634A1 (en) * 2011-11-04 2013-05-09 Samsung Electronics Co., Ltd. Memory system and data storage method
US9021338B2 (en) * 2011-11-04 2015-04-28 Samsung Electronics Co., Ltd. Memory system and data storage method
US20140136925A1 (en) * 2012-11-14 2014-05-15 SK Hynix Inc. Method of operating a data storage device
US20150332773A1 (en) * 2014-05-13 2015-11-19 Donghun Kwak Three-dimensional memory device and operating method of a storage device including the same
US20160179430A1 (en) * 2014-12-19 2016-06-23 Samsung Electronics Co., Ltd. Storage device dynamically allocating program area and program method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110853686A (zh) * 2019-10-22 2020-02-28 长江存储科技有限责任公司 适用于闪存设备的掉电处理方法、装置、介质、及终端
CN110853686B (zh) * 2019-10-22 2021-12-07 长江存储科技有限责任公司 适用于闪存设备的掉电处理方法、装置、介质、及终端
CN113345899A (zh) * 2020-03-03 2021-09-03 爱思开海力士有限公司 存储器装置及操作存储器装置的方法
CN113806254A (zh) * 2020-06-15 2021-12-17 爱思开海力士有限公司 存储器系统、存储器控制器及存储器系统的操作方法
CN113806254B (zh) * 2020-06-15 2024-02-20 爱思开海力士有限公司 存储器系统、存储器控制器及存储器系统的操作方法

Also Published As

Publication number Publication date
TWI780240B (zh) 2022-10-11
TW201941211A (zh) 2019-10-16
KR102530641B1 (ko) 2023-05-10
US20190295655A1 (en) 2019-09-26
CN110299178B (zh) 2023-05-12
KR20190110866A (ko) 2019-10-01
US10650897B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
US10372603B2 (en) Handling of unaligned writes
CN110503997B (zh) 存储器装置及其操作方法
CN110619911B (zh) 存储装置及存储装置的操作方法
KR102524916B1 (ko) 저장 장치 및 그 동작 방법
CN110321070B (zh) 存储器控制器及其操作方法
CN110083304A (zh) 存储器控制器及其操作方法
CN109426743A (zh) 存储装置及其操作方法
CN110097913A (zh) 存储器控制器及其操作方法
CN111696608A (zh) 存储器装置及其操作方法
CN110069212A (zh) 存储装置及存储装置的操作方法
CN110827905A (zh) 存储装置及该存储装置的操作方法
CN110400588A (zh) 存储器装置以及该存储器装置的操作方法
CN110399092A (zh) 存储装置以及操作存储装置的方法
CN110299178A (zh) 存储装置及用于操作存储装置的方法
CN110389717A (zh) 存储装置及其操作方法
CN109388578A (zh) 存储装置及其操作方法
CN110175132A (zh) 存储装置及其操作方法
CN110287130A (zh) 存储装置及其操作方法
CN111105836B (zh) 存储装置及其操作方法
CN111258919A (zh) 储存设备及其操作方法
CN110502449A (zh) 存储装置及其操作方法
CN112988049A (zh) 存储装置及其操作方法
CN110176261A (zh) 存储装置及其操作方法
CN111752856A (zh) 存储器控制器及其操作方法
KR102501778B1 (ko) 저장 장치 및 그 동작 방법

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