CN110827905B - 存储装置及该存储装置的操作方法 - Google Patents

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

Info

Publication number
CN110827905B
CN110827905B CN201910354066.3A CN201910354066A CN110827905B CN 110827905 B CN110827905 B CN 110827905B CN 201910354066 A CN201910354066 A CN 201910354066A CN 110827905 B CN110827905 B CN 110827905B
Authority
CN
China
Prior art keywords
memory
over
program
voltage
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
CN201910354066.3A
Other languages
English (en)
Other versions
CN110827905A (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.)
Mimi Ip Co ltd
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110827905A publication Critical patent/CN110827905A/zh
Application granted granted Critical
Publication of CN110827905B publication Critical patent/CN110827905B/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/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
    • G11C16/3463Circuits or methods to detect overprogrammed nonvolatile memory cells, usually during program verification
    • 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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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
    • G11C16/12Programming voltage switching 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/30Power supply 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
    • 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
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种可靠性提高的存储器装置,该存储器装置包括:存储器单元阵列,包括存储器单元;编程操作控制器,对存储器单元执行编程操作以使存储器单元具有第一至第n状态之中的任意一个状态;电压发生器,在编程操作中生成分别对应于第一至第n状态的操作电压;验证操作控制器,验证是否已经完成对选择的存储器单元执行以使选择的存储器单元具有第k状态的编程操作,并且对选择的存储器单元之中、具有比对应于第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量进行计数;以及过度编程管理器,根据过度编程的存储器单元的数量,增加对应于第k+1至第n状态的操作电压,以使对应于第k+1至第n状态的操作电压大于默认值。

Description

存储装置及该存储装置的操作方法
相关申请的交叉引用
本申请要求于2018年8月7日提交的申请号为10-2018-0092035的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,并且更特别地,涉及一种存储装置及该存储装置的操作方法。
背景技术
存储装置在诸如计算机或智能电话的主机装置的控制下存储数据。存储装置可以包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置可以是易失性存储器装置或非易失性存储器装置。
在易失性存储器装置中,仅当供应电力时才保留所存储的数据;当电力供应中断时,所存储的数据丢失。易失性存储器装置可以是静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等中的任意一个。
在非易失性存储器装置中,即使当电力供应中断时也保留所存储的数据。非易失性存储器装置可以是只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEROM)、闪速存储器等中的任意一个。
发明内容
实施例提供一种可靠性提高的存储装置及该存储装置的操作方法。
根据本公开的一方面,提供一种存储器装置,包括:存储器单元阵列,包括存储器单元;编程操作控制器,被配置为对存储器单元执行编程操作以使存储器单元具有根据阈值电压区分的第一至第n状态之中的任意一个状态,其中n是大于1的自然数;电压发生器,被配置为在编程操作中生成分别对应于第一至第n状态的操作电压;验证操作控制器,被配置为验证是否已经完成对选择的存储器单元执行以使选择的存储器单元具有第k状态的编程操作,其中k是小于n的自然数,并且对选择的存储器单元之中、具有比对应于第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量进行计数;以及过度编程管理器,被配置为根据过度编程的存储器单元的数量,增加分别对应于第k+1至第n状态的操作电压,以使分别对应于第k+1至第n状态的操作电压大于各自相应的默认值。
根据本公开的另一方面,提供一种存储装置,包括:存储器装置,被配置为根据被编程至第k状态的选择的存储器单元之中、具有比对应于第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量,增加在第k+1至第n状态下对存储器单元的编程操作和验证操作中使用的电压,其中n是大于1的自然数并且k是小于n的自然数;以及存储器控制器,被配置为当过度编程的存储器单元的数量超过参考数量时,将包括选择的存储器单元的存储块作为坏块处理。
根据本公开的又一方面,提供一种用于操作存储器装置的方法,该存储器装置包括多个存储块,每个存储块包括多个存储器单元,该方法包括:对选择的存储器单元执行编程操作以使选择的存储器单元具有第一至第n状态之中的第k状态,其中n是大于1的自然数并且k是小于n的自然数;在编程操作中生成分别对应于第一至第n状态的操作电压;对选择的存储器单元执行验证操作;当验证操作通过时,对具有比对应于第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量进行计数;以及根据过度编程的存储器单元的数量,增加操作电压之中、分别对应于第k+1至第n状态的操作电压,以使操作电压之中、分别对应于第k+1至第n状态的操作电压大于各自的默认值。
根据本公开的再一方面,提供一种存储装置,包括:存储器装置,包括多个存储器单元、电压发生器和控制逻辑,电压发生器适于生成分别对应于编程状态的操作电压;以及存储器控制器,其中控制逻辑被配置为:控制对多个存储器单元之中的选择的存储器单元的编程操作,以使选择的存储器单元具有编程状态之中的选择状态;通过编程验证操作来检测选择的存储器单元之中的过度编程的存储器单元;基于检测到的过度编程的存储器单元的数量,控制电压发生器生成针对编程状态之中的至少一个其它状态的增加的操作电压,对应于该至少一个其它状态的阈值电压大于对应于选择状态的阈值电压;并且向存储器控制器提供关于过度编程的存储器单元的过度编程确定信息,其中存储器控制器被配置为接收过度编程确定信息,并且基于过度编程确定信息将包括过度编程的存储器单元中的至少一些的存储块作为坏块处理。
附图说明
现在将参照附图更充分地描述各个实施例;然而,可以与本文公开不同地配置或布置元件以及特征。因此,本发明不限于本文阐述的实施例。而是,提供这些实施例以使本公开是彻底且完整的,并且向本领域技术人员充分传达实施例的范围。
在附图中,为了清楚说明,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记自始至终表示相同的元件。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出根据本公开的实施例的存储器装置的结构的示图。
图3是示出根据本公开的实施例的存储器单元阵列的示图。
图4是示出根据本公开的实施例的存储器单元阵列的示图。
图5是示出根据本公开的实施例的存储块之中的任意一个存储块的电路图。
图6是示出根据本公开的实施例的存储块之中的任意一个存储块的电路图。
图7是示出通过编程操作形成的存储器单元的阈值电压分布的示图。
图8是示出存储器装置的编程操作的示图。
图9是示出正常编程状态的阈值电压分布的示图。
图10是示出用于确定是否已经执行了过度编程操作并且控制对应于编程状态的操作电压的方法的示图。
图11是示出根据本公开的实施例的存储器装置的过度编程管理器的操作的示图。
图12是示出根据本公开的实施例的偏移电压表的示图。
图13是示出根据本公开的实施例的状态寄存器的示图。
图14是示出根据本公开的实施例的用于获取过度编程确定信息的方法的示图。
图15是示出根据本公开的实施例的存储器控制器的坏块管理器的操作的示图。
图16是示出根据本公开的实施例的存储器装置的操作的流程图。
图17是示出根据本公开的实施例的存储器控制器的操作的流程图。
图18是示出根据本公开的实施例的存储装置的操作的流程图。
图19是示出根据本公开的实施例的存储器控制器的示图。
图20是示出根据本公开的实施例的应用存储装置的存储卡***的框图。
图21是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)的框图。
图22是示出根据本公开的实施例的应用存储装置的用户***的框图。
具体实施方式
本文公开的具体结构或功能描述是出于描述根据本公开的构思的实施例的目的。然而,本发明可以其它方式来实施,其它方式可以是所公开的实施例中的任意一个的修改或变型。因此,本发明不限于本文阐述的实施例。
详细地描述并示出实施例。然而,实施例不限于具体细节。而是,本发明旨在包括不脱离本公开的精神和技术范围的所有改变、等同方案或替代方案。
虽然诸如“第一”和“第二”的术语可以用于识别各个组件,但是这些组件不受上述术语中的任意一个的限制。上述术语仅用于将一个组件与另一组件区分开,否则一个组件与另一组件具有相同或相似的名称。例如,在不脱离本公开的权利范围的情况下,在一个示例中的第一组件可以在另一示例中被称为第二组件。
将理解的是,当元件被称为“连接”或“联接”至另一元件时,该元件可以直接连接或联接至另一元件,或者也可以存在一个或多个中间元件。相反,当元件被称为“直接连接”或“直接联接”至另一元件时,不存在中间元件。可以类似地解释描述组件之间的关系的其它表达,诸如“在......之间”、“直接在......之间”或“与......相邻”和“与......直接相邻”。除非上下文另有说明,否则无论是直接还是间接连接/联接,两个元件之间的通信都可以是有线的或无线的。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另有明确说明,否则本公开中的单数形式旨在包括复数形式,反之亦然。将进一步理解的是,诸如“包括”或“具有”等术语旨在表示所陈述的特征、数字、操作、动作、组件、部件或其组合的存在,但并不旨在排除可能存在或可能添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要未被不同地定义,则本文使用的包括技术术语或科学术语的全部术语具有本公开所属领域的技术人员通常理解的含义。具有字典定义的术语应被理解为其具有与相关技术语境一致的含义。只要本申请中未明确地定义,则不应以理想化或过于形式化的方式理解术语。
在描述实施例时,省略对本公开所属领域公知的并且与本公开不直接相关的技术的描述。因此,更清楚地呈现本发明的方面和特征。
将参照附图详细地描述本公开的各个实施例,以便本领域技术人员能够容易地实践本发明。
图1是示出根据本公开的实施例的存储装置50的示图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储器装置100可以存储数据。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列。存储器单元阵列可以包括用于存储数据的多个存储器单元。根据本公开的实施例,存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。根据本公开的实施例,一个存储块可以包括多个页面。页面可以是用于执行编程操作或读取操作的单位。存储块可以是用于执行擦除操作的单位。
存储器装置100的存储器单元中的每一个可以被配置为用于存储一个数据位的单层单元(SLC)、用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。存储器装置100可以在存储器控制器200的控制下将数据顺序地或随机地存储在存储块中。根据本公开的实施例,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)等。
根据本公开的实施例,存储器装置100可以三维阵列结构来实施。本公开不仅可以应用于利用浮栅(FG)配置电荷存储层的闪速存储器装置,而且还可以应用于利用绝缘层配置电荷存储层的电荷撷取闪存(CTF)。
存储器装置100被配置为从存储器控制器200接收命令和地址并且访问存储器单元阵列中通过地址选择的区域。也就是说,存储器装置100可以对通过地址选择的区域执行对应于命令的操作。例如,存储器装置100可以执行写入(或编程)操作、读取操作以及擦除操作。在编程操作中,存储器装置100可以将数据编程在通过地址选择的区域中。在读取操作中,存储器装置100可以从通过地址选择的区域读取数据。在擦除操作中,存储器装置100可以擦除存储在通过地址选择的区域中的数据。
在编程操作中,可以根据待存储的数据将包括在存储器装置100中的多个存储器单元之中的选择的存储器单元编程至具有擦除状态和多个编程状态之中的任意一个状态。擦除状态和多个编程状态可以对应于第一至第n状态(其中n是1或更大的自然数)。选择的存储器单元可以具有对应于第一至第n状态中的任意一个的目标状态。目标状态可以根据待存储在每个存储器单元中的数据来确定。当执行编程操作时,选择的存储器单元可以具有对应于目标状态的阈值电压分布。
在编程操作中,选择的存储器单元之中、具有比对应于目标状态的阈值电压分布大的阈值电压的存储器单元可以是过度编程的存储器单元。
存储器装置100可以进一步包括过度编程管理器131和验证操作控制器133。
根据本公开的实施例,过度编程管理器131可以基于过度编程的存储器单元的数量来设置在编程操作和验证操作中使用的操作电压。例如,当目标状态为第k状态(其中k是小于n的自然数)的存储器单元之中的过度编程的存储器单元的数量超过参考数量时,过度编程管理器131可以设置对应于第k+1状态的操作电压。操作电压可以包括编程电压、验证电压和通过电压中的至少一个。
根据本公开的各个实施例,过度编程管理器131可以通过将目标状态为第k状态的存储器单元之中的过度编程的存储器单元的数量与参考数量进行比较,来生成过度编程确定信息。
过度编程确定信息可以包括过度编程状态信息和偏移电压信息。过度编程状态信息可以表示过度编程的存储器单元的数量是否超过参考数量。过度编程状态信息可以表示是否已经执行了针对第k状态的过度编程操作。当在针对第k状态的编程操作中的过度编程的存储器单元的数量超过参考数量时,过度编程管理器131可以确定已经执行了针对第k状态的过度编程操作。
偏移电压信息可以表示根据目标状态为第k状态的存储器单元之中的过度编程的存储器单元的数量的、与对应于阈值电压分布的编程状态对应的操作电压中的每一个的偏移值,其中阈值电压分布大于对应于第k状态的阈值电压分布。偏移值可以表示操作电压从默认值移位的宽度。
根据本公开的实施例,验证操作控制器133可以基于被编程至多个编程状态之中的第k状态的存储器单元的阈值电压的大小来验证是否已经完成针对第k状态的编程操作。验证操作控制器133可以对过度编程的存储器单元的数量进行计数,其中过度编程的存储器单元是被编程至第k状态的存储器单元之中、具有比对应于第k状态的阈值电压分布大的阈值电压的存储器单元。验证操作控制器133可以将计数的过度编程的存储器单元的数量提供至过度编程管理器131。
存储器装置100可以响应于存储器控制器200的请求,将过度编程确定信息提供至存储器控制器200。
存储器控制器200可以控制存储器装置100的全部操作。存储器控制器200可以响应于来自主机300的请求或者在没有来自主机300的请求的情况下,控制存储器装置100的操作。
例如,存储器控制器200可以响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可以将编程命令、物理地址和数据提供至存储器装置100。在读取操作中,存储器控制器200可以将读取命令和物理地址提供至存储器装置100。在擦除操作中,存储器控制器200可以将擦除命令和物理地址提供至存储器装置100。
根据本公开的实施例,存储器控制器200可以在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传送至存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供至存储器装置100,以执行诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作的后台操作。
存储器控制器200可以运行固件(FW)以控制存储器装置100。当存储器装置100是闪速存储器装置时,存储器控制器200可以被配置为操作诸如闪存转换层(FTL)的固件以控制主机300和存储器装置100之间的通信。具体地,存储器控制器200可以将包括在来自主机300的请求中的逻辑地址转换为物理地址。
存储器控制器200可以进一步包括坏块管理器210。
坏块管理器210可以从存储器装置100获取过度编程确定信息。例如,坏块管理器210可以将状态读取命令提供至存储器装置100,并且接收响应于状态读取命令而来自存储器装置100的状态信息。过度编程确定信息可以包括在从存储器装置100接收的状态信息中。
坏块管理器210可以根据过度编程确定信息将包括过度编程的存储器单元的存储块设置为坏块。具体地,当执行对选择的存储器单元的编程操作时执行了过度编程操作时,坏块管理器210可以将包括选择的存储器单元的存储块设置为坏块。
坏块管理器210可以将存储在包括过度编程的存储器单元的存储块中的数据移动到另一存储块,然后将相应存储块设置为坏块。根据本公开的实施例,坏块管理器210可以基于过度编程确定信息来读取数据,并且将读取的数据存储在另一存储块中。
主机300可以使用诸如下列的各种通信协议中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、火线、***组件互连(PCI)、PCI高速(PCIe)、非易失性存储器高速(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
图2是示出根据本公开的实施例的存储器装置,例如图1的存储器装置的结构的示图。
参照图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来选择字线WL。
在编程操作中,地址解码器121可以将编程电压施加到选择的字线,并且将低于编程电压的通过电压施加到未选择的字线。在编程验证操作中,地址解码器121可以将验证电压施加到选择的字线,并且将高于验证电压的验证通过电压施加到未选择的字线。
在读取操作中,地址解码器121可以将读取电压施加到选择的字线,并且将高于读取电压的通过电压施加到未选择的字线。
根据本公开的实施例,以存储块为单位对存储器装置100执行擦除操作。在擦除操作中,输入至存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址,并且根据解码的块地址来选择一个存储块。在擦除操作中,地址解码器121可以将接地电压施加到与选择的存储块联接的字线。
根据本公开的实施例,地址解码器121可以解码传送至地址解码器121的地址ADDR中的列地址。解码的列地址可以被传送至读取/写入电路123。在示例中,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压发生器122可以通过使用供应至存储器装置100的外部电源电压来生成多个电压。电压发生器122在控制逻辑130的控制下操作。
根据本公开的实施例,电压发生器122可以通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器装置100的操作电压。
根据本公开的实施例,电压发生器122可以通过使用外部电源电压或内部电源电压生成多个电压。电压发生器122可以被配置为生成存储器装置100所需要的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
为了生成各种电平的多个电压,电压发生器122可以包括用于接收内部电源电压的多个泵浦电容器,并且在控制逻辑130的控制下通过选择性地激活多个泵浦电容器来生成多个电压。生成的多个电压可以通过地址解码器121被供应至存储器单元阵列110。
根据本公开的实施例,电压发生器122可以生成对应于第一至第n状态(其中n是1或更大的自然数)的操作电压。具体地,电压发生器122可以生成在对存储器单元的编程操作中使用以使存储器单元具有第一至第n状态之中的任意一个状态的编程电压和通过电压。编程电压和通过电压可以各自具有可以预设的默认值。电压发生器122可以在过度编程管理器131的控制下生成编程电压和通过电压,编程电压和通过电压中的每一个都具有大于其默认值的大小。
根据本公开的实施例,电压发生器122可以生成在关于是否已经完成对存储器单元的编程操作的验证操作中使用的验证电压。电压发生器122可以在过度编程管理器131的控制下生成验证电压,验证电压具有大于其默认值的大小。
读取/写入电路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可以将通过数据输入/输出电路124接收的数据DATA通过位线BL1至BLm传输至选择的存储器单元。根据传输的数据DATA对选择的页面的存储器单元进行编程。与施加编程允许电压(例如,接地电压)的位线联接的存储器单元可以具有增加的阈值电压。可以保持与施加编程禁止电压(例如,电源电压)的位线联接的存储器单元的阈值电压。在编程验证操作中,第一至第m页面缓冲器PB1至PBm通过位线BL1至BLm从选择的存储器单元读取页面数据。
在读取操作中,读取/写入电路123可以通过位线BL从选择的页面的存储器单元读取数据DATA,并且将读取的数据DATA存储在第一至第m页面缓冲器PB1至PBm中。
在擦除操作中,读取/写入电路123可以使位线BL浮置。在实施例中,读取/写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL联接至第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作中,数据输入/输出电路124可以从外部控制器(例如,图1的存储器控制器200)接收待存储的数据DATA。在读取操作中,数据输入/输出电路124可以将从包括在读取/写入电路123中的第一至第m页面缓冲器PB1至PBm接收的数据输出至外部控制器。
在读取操作或验证操作中,感测电路126可以响应于由控制逻辑130生成的允许位信号来生成参考电流,并且通过将从读取/写入电路123接收的感测电压与通过参考电流产生的参考电压进行比较来将通过信号或失败信号输出至控制逻辑130。
控制逻辑130可以联接至地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和感测电路126。控制逻辑130可以被配置为控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置接收的命令CMD操作。
控制逻辑130可以响应于命令CMD和地址ADDR,通过生成各种信号来控制***电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR来生成操作信号、行地址、读取/写入电路控制信号和允许位。控制逻辑130可以将操作信号输出至电压发生器122、将行地址输出至地址解码器121、将读取/写入电路控制信号输出至读取/写入电路123,并且将允许位输出至感测电路126。而且,控制逻辑130可以响应于由感测电路126输出的通过信号或失败信号来确定验证操作是已经通过还是已经失败。
根据本公开的实施例,控制逻辑130可以进一步包括过度编程管理器131、状态寄存器132和验证操作控制器133。
当过度编程的存储器单元的数量超过参考数量时,过度编程管理器131可以基于过度编程的存储器单元的数量来增加在编程操作和/或验证操作中使用的操作电压。操作电压可以包括编程电压、验证电压和通过电压中的至少一个。
状态寄存器132可以存储状态信息。状态信息可以包括关于由存储器装置100执行的操作的信息。状态信息可以包括过度编程确定信息。过度编程确定信息可以包括过度编程状态信息和偏移电压信息。
验证操作控制器133可以基于被编程至多个编程状态之中的第k状态(其中k是小于n的自然数)的存储器单元的阈值电压的大小,来验证是否已经完成针对第k状态的编程操作。验证操作控制器133可以对被编程至第k状态的存储器单元之中的过度编程的存储器单元的数量进行计数。验证操作控制器133可以将计数的过度编程的存储器单元的数量提供至过度编程管理器131。
图3是示出根据本公开的实施例的存储器单元阵列,例如图2的存储器单元阵列110的示图。
参照图3,存储器单元阵列110可以包括共同联接至第一至第m位线BL1至BLm的第一至第z存储块BLK1至BLKz。在图3中,为清楚起见,仅示出了包括在多个存储块BLK1至BLKz之中的第一存储块BLK1中的组件。由于其它存储块BLK2至BLKz中的每一个与第一存储块BLK1类似地配置,所以省略包括在其它存储块BLK2至BLKz中的每一个中的组件。
存储块BLK1包括多个单元串CS1_1至CS1_m。第一至第m单元串CS1_1至CS1_m分别联接至第一至第m位线BL1至BLm。
第一至第m单元串CS1_1至CS1_m中的每一个包括漏极选择晶体管DST、串联联接的多个存储器单元MC1至MCn以及源极选择晶体管SST。漏极选择晶体管DST联接至漏极选择线DSL1。第一至第n存储器单元MC1至MCn分别联接至第一至第n字线WL1至WLn。源极选择晶体管SST联接至源极选择线SSL1。漏极选择晶体管DST的漏极侧联接至相应位线。第一至第m单元串CS1_1至CS1_m的漏极选择晶体管分别联接至第一至第m位线BL1至BLm。源极选择晶体管SST的源极侧联接至共源线CSL。在实施例中,共源线CSL可以共同联接至第一至第z存储块BLK1至BLKz。
漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1包括在图2的行线RL中。漏极选择线DSL1、第一至第n字线WL1至WLn以及源极选择线SSL1由地址解码器121控制。共源线CSL由控制逻辑130控制。第一至第m位线BL1至BLm由读取/写入电路123控制。
图4是示出根据本公开的实施例的存储器单元阵列,例如图2的存储器单元阵列110的示图。
参照图4,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块可以包括堆叠在衬底(未示出)上的多个存储器单元。多个存储器单元可以沿+X方向、+Y方向和+Z方向布置。将参照图5和图6更详细地描述每个存储块的结构。
图5是示出根据本公开的实施例的图4的存储块BLK1至BLKz之中的任意一个存储块BLKa的电路图。
参照图5,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,m个单元串布置在行方向(即,+X方向)上。图5示出两个单元串布置在列方向(即,+Y方向)上。然而,这是为了清楚起见;三个单元串可以布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以具有彼此类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,用于提供沟道层的柱(pillar)可以设置在每个单元串中。在实施例中,用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱可以设置在每个单元串中。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行上的单元串的源极选择晶体管联接至在行方向上延伸的源极选择线,并且布置在不同行上的单元串的源极选择晶体管联接至不同的源极选择线。在图5中,第一行上的单元串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。
布置在列方向上的单元串联接至在列方向上延伸的位线。在图5中,第一列上的单元串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的擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压通过控制施加到分别与虚设存储器单元联接的虚设字线的电压来控制,使得虚设存储器单元可以具有所需的阈值电压。
图6是示出根据本公开的另一实施例的图4的存储块BLK1至BLKz之中的任意一个存储块BLKb的电路图。
参照图6,存储块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。
因此,除了从图6中的每个单元串中排除管道晶体管PT之外,图6的存储块BLKb具有与图5的存储块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的擦除操作之前或之后,可以对全部或一些虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压通过控制施加到分别与虚设存储器单元联接的虚设字线的电压来控制,使得虚设存储器单元可以具有所需的阈值电压。
图7是示出通过编程操作形成的存储器单元的阈值电压分布的示图。
图8是示出存储器装置的编程操作的示图。
在多个存储器单元中的每一个是用于存储两个数据位的多层单元(MLC)的背景下给出以下描述。然而,本公开不限于此;多个存储器单元中的每一个可以是用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
参照图7和图8,擦除状态ER可以对应于数据“11”,第一编程状态P1可以对应于数据“10”,第二编程状态P2可以对应于数据“00”,并且第三编程状态P3可以对应于数据“01”。然而,上述位表示法仅仅是示例。可以使用不同的位表示法来表示不同的状态。
存储器装置100的编程操作可以包括多个编程循环PL1至PLn。也就是说,存储器装置100可以通过执行多个编程循环PL1至PLn来将选择的存储器单元编程至具有多个编程状态P1、P2和P3之中的任意一个状态。
多个编程循环PL1至PLn中的每一个可以包括施加编程脉冲的编程电压施加步骤(PGM Step)和通过施加验证电压确定是否已经对存储器单元进行了编程的验证步骤(Verify Step)。
例如,当执行第一编程循环PL1时,在施加第一编程脉冲Vpgm1之后,顺序地施加第一至第三验证电压V_vfy1至V_vfy3以验证多个存储器单元的编程状态。目标状态为第一编程状态P1的存储器单元可以通过第一验证电压V_vfy1验证。目标状态为第二编程状态P2的存储器单元可以通过第二验证电压V_vfy2验证。目标状态为第三编程状态P3的存储器单元可以通过第三验证电压V_vfy3验证。
通过验证电压V_vfy1至V_vfy3中的每一个已经通过验证(验证通过)的存储器单元被确定为具有相应的目标状态,然后在第二编程循环PL2中被禁止编程。
更具体地,编程脉冲被施加到与包括编程目标存储器单元和编程禁止存储器单元的存储器单元连接的选择的字线。但是,编程禁止电压(例如,电源电压)被施加到与编程禁止存储器单元连接的位线。编程允许电压(例如,接地电压)被施加到与编程目标存储器单元连接的位线。
施加比第一编程脉冲Vpgm1大单位电压ΔVpgm的第二编程脉冲Vpgm2以便对除了在第二编程循环PL2中被禁止编程的存储器单元之外的其它存储器单元进行编程。随后,执行与第一编程循环PL1的验证操作同样的验证操作。在示例中,可以通过对应于验证通过的验证电压将存储器单元确定为关断单元(off-cell)。
如上所述,当存储器装置100对用于存储两个数据位的MLC进行编程时,存储器装置100使用第一至第三验证电压V_vfy1至V_vfy3来验证目标状态为编程状态的每个存储器单元。
在验证步骤中,验证电压可以被施加到作为与选择的存储器单元联接的字线的选择的字线,并且读取/写入电路123的页面缓冲器可以基于通过分别联接至存储器单元的位线施加的电流或电压来确定选择的存储器单元是否已经通过验证。
图9是示出正常编程状态的阈值电压分布的示图。
参照图9,存储器单元可以被配置为存储至少一个数据位。然而,作为示例,假设并且描述选择的存储器单元中的每一个是用于存储两个数据位的多层单元(MLC)的情况。
在图9中,横轴表示存储器单元的阈值电压,纵轴表示存储器单元的数量。可以将选择的存储器单元编程至具有对应于擦除状态ER和第一至第三编程状态P1至P3之中的任意一个状态的阈值电压分布。
根据本公开的实施例,对应于第一编程状态P1的验证电压是第一验证电压V_vfy1。对应于第二编程状态P2的验证电压是第二验证电压V_vfy2。对应于第三编程状态P3的验证电压是第三验证电压V_vfy3。存储器装置可以使用第一至第三验证电压V_vfy1至V_vfy3来确定选择的存储器单元之中、已经通过验证的存储器单元中的每一个具有对应于验证电压的编程状态。
根据本公开的实施例,第一读取电压(V_read1)可以用于将擦除状态ER和第一编程状态P1彼此区分开。第二读取电压(V_read2)可以用于将第一编程状态P1和第二编程状态P2彼此区分开。第三读取电压(V_read3)可以用于将第二编程状态P2和第三编程状态P3彼此区分开。存储器装置可以使用第一至第三读取电压V_read1至V_read3来读取存储在存储器单元中的数据。
在正常编程状态的阈值电压分布中,对应于擦除状态ER和第一至第三编程状态P1至P3的阈值电压分布具有比预设宽度(V_width)窄的宽度。V_width可以是能够确保存储在存储器单元中的数据的可靠性的阈值电压分布的宽度的最大值。因此,可以在对应于各个编程状态的阈值电压分布之间确保足够的读取裕量。读取裕量可以是读取电压所位于的宽度,以便将擦除状态和编程状态之中的两个相邻状态区分开。
图10是示出用于确定是否已经执行了过度编程操作并且控制对应于编程状态的操作电压的方法的示图。
参照图10,作为示例,假设并且描述选择的存储器单元中的每一个是用于存储两个数据位的多层单元(MLC)的情况。
可以将选择的存储器单元编程至具有擦除状态ER和第一至第三编程状态P1至P3之中的任意一个状态。编程操作是增加选择的存储器单元的阈值电压以使选择的存储器单元的阈值电压属于与相应存储器单元的目标状态对应的阈值电压范围的操作。验证操作确定选择的存储器单元的阈值电压是否属于与相应存储器单元的目标状态对应的阈值电压范围。验证通过表示通过对应于目标状态的验证电压将选择的存储器单元确定为关断单元。验证电压可以是对应于目标状态的阈值电压分布的最小值。
在编程操作中,存储器单元可能具有比对应于目标状态的阈值电压分布的最大值大的阈值电压。在存储器装置中的存储器单元之中,具有比对应于目标状态的阈值电压分布的最大值大的阈值电压的单元可以是过度编程的存储器单元。
对应于第N编程状态(其中N是大于或等于1的自然数)的过度编程验证电压,即第N过度编程验证电压(V_overvfyN)可以具有比对应于第N编程状态的阈值电压分布范围的最小值大宽度V_width的电压。根据本公开的另一实施例,第N过度编程验证电压(V_overvfyN)可以具有比验证电压(V_vfyN)大V_width的电压,其中验证电压(V_vfyN)是第N编程状态的默认值。
存储器装置可以对被编程至作为目标状态的第N编程状态的存储器单元之中的过度编程的存储器单元的数量进行计数。在针对第N编程状态的验证操作通过之后,可以执行计数操作。可以使用第N过度编程验证电压V_overvfyN将过度编程的存储器单元读取为关断单元。
存储器装置可以基于过度编程的存储器单元的数量来确定是否已经执行了针对第N编程状态的过度编程操作。当过度编程的存储器单元的数量超过参考数量时,存储器装置可以确定已经执行了针对第N编程状态的过度编程操作。
当执行了针对第N编程状态的过度编程操作时,存储器装置可以设置与对应于阈值电压分布的编程状态对应的操作电压,其中阈值电压分布大于对应于第N编程状态的阈值电压分布。操作电压可以包括编程电压、验证电压和通过电压。
偏移值(Offset)可以表示操作电压从默认值移位的宽度。根据本公开的实施例,可以将对应于第N+1编程状态的操作电压从其各自的默认值增加各自的偏移值。偏移值可以基于通过将被编程至作为目标状态的第N编程状态的存储器单元之中的过度编程的存储器单元的数量与稍后将在图12中描述的偏移电压表的参考值进行比较而获得的结果来确定。
在图10中,存储器装置可以使用第一过度编程验证电压(V_overvfy1)对被编程至作为目标状态的第一编程状态P1的存储器单元之中的过度编程的存储器单元的数量(x)进行计数。第一过度编程验证电压可以比对应于第一编程状态P1的阈值电压分布的最小值大宽度(V_width)。可选地,第一过度编程验证电压(V_overvfy1)可以比第一编程状态P1的验证电压的默认值(V_vfy1)大V_width。
当过度编程的存储器单元的数量(x)超过参考数量时,存储器装置可以确定已经执行了针对第一编程状态P1的过度编程操作。当执行了针对第一编程状态P1的过度编程操作时,存储器装置可以设置对应于第二编程状态P2的操作电压。
第二编程状态P2的验证电压(V_vfy2')可以具有比第二编程状态P2的验证电压的默认值(V_vfy2)大偏移值(Offset)的电压。偏移值可以基于通过将被编程至作为目标状态的第一编程状态P1的存储器单元之中的过度编程的存储器单元的数量与稍后将在图12中描述的偏移电压表的参考值进行比较而获得的结果来确定。因此,可以将目标状态为第二编程状态P2的存储器单元编程至具有大于或等于第二编程状态P2的V_vfy2'的阈值电压。因此,可以确保对应于第一编程状态P1和第二编程状态P2的阈值电压分布之间的读取裕量。
作为示例,将描述设置对应于第二编程状态P2的编程电压、验证电压和通过电压之中的验证电压的情况。然而,可以相同的方式设置编程电压和通过电压。也就是说,由于第二编程状态P2的验证电压(V_vfy2')从第二编程状态P2的验证电压的默认值(V_vfy2)增加了偏移值(Offset),因此施加到选择的字线的编程电压的大小可以增加。编程电压的增量可以是偏移值。当编程电压增加时,施加到未选择的字线的通过电压的大小也可以增加。通过电压的增量可以是偏移值。
图11是示出根据本公开的实施例的过度编程管理器,例如图2的存储器装置100的过度编程管理器131的操作的示图。
参照图11,存储器装置100可以包括控制逻辑130。控制逻辑130可以包括过度编程管理器131、状态寄存器132、验证操作控制器133和编程操作控制器134。过度编程管理器131可以包括过度编程处理器131a和偏移电压表131b。
过度编程处理器131a可以基于过度编程的存储器单元(即,具有比对应于第k状态(其中k是1或更大的自然数)的阈值电压分布大的阈值电压的存储器单元)的数量,确定是否已经执行了针对第k状态的过度编程操作。第k状态可以是多个编程状态中的任意一个。当被编程至作为目标状态的第k状态的存储器单元之中的过度编程的存储器单元的数量超过参考数量时,过度编程处理器131a可以确定已经执行了针对第k状态的过度编程操作。
过度编程处理器131a可以基于过度编程的存储器单元的数量和偏移电压表131b,生成包括过度编程状态信息和偏移电压信息的过度编程确定信息。
过度编程状态信息可以表示过度编程的存储器单元的数量是否超过参考数量。可选地,过度编程状态信息可以表示是否已经执行了针对第k状态的过度编程操作。
偏移电压信息可以表示参照图10描述的偏移值(Offset)。偏移值可以通过将过度编程的存储器单元的数量与偏移电压表131b的参考值进行比较来确定。当过度编程的存储器单元的数量增加时,偏移值可以增加。
过度编程处理器131a可以将生成的过度编程状态信息和生成的偏移电压信息提供至状态寄存器132。
过度编程处理器131a可以基于生成的偏移电压信息来生成用于电压发生器122的控制信号。电压发生器122可以生成对应于第一至第n状态(其中n是1或更大的自然数)的操作电压。过度编程处理器131a可以通过控制信号控制电压发生器122以生成具有从默认值进一步增加的大小的操作电压。操作电压可以包括编程电压、验证电压和通过电压中的至少一个。
偏移电压表131b可以存储表示操作电压的宽度的值,操作电压的宽度是从其默认值移位的量。
状态寄存器132可以接收并存储由过度编程处理器131a生成的过度编程确定信息。过度编程确定信息可以包括过度编程状态信息和偏移电压信息。状态寄存器132可以存储状态信息。状态信息可以包括关于由存储器装置100执行的操作的信息。
验证操作控制器133可以从参照图2描述的读取/写入电路123获取通过使用过度编程验证电压读取选择的存储器单元而获得的结果。选择的存储器单元之中的过度编程的存储器单元可以具有比过度编程验证电压大的阈值电压。因此,当使用过度编程验证电压读取过度编程的存储器单元时,过度编程的存储器单元可以被读取为关断单元。相反,选择的存储器单元之中、不是过度编程的存储器单元的存储器单元可以具有比过度编程验证电压小的阈值电压。因此,当使用过度编程验证电压读取不是过度编程的存储器单元的存储器单元时,不是过度编程的存储器单元的存储器单元可以被读取为导通单元(on-cell)。
验证操作控制器133可以基于被编程至多个编程状态之中的第k状态的存储器单元的阈值电压的大小来验证是否已经完成针对第k状态的编程操作。可以从电压发生器122供应验证操作中使用的验证电压。
当验证操作通过时,验证操作控制器133可以对被编程至第k状态的存储器单元之中的过度编程的存储器单元的数量进行计数。过度编程的存储器单元可以具有比对应于第k状态的阈值电压分布大的阈值电压。当使用第k过度编程验证电压(V_overvfyk)读取过度编程的存储器单元时,过度编程的存储器单元可以被读取为关断单元。
验证操作控制器133可以将计数的过度编程的存储器单元的数量提供至过度编程处理器131a。
编程操作控制器134可以根据待存储的数据将选择的存储器单元编程至具有擦除状态和多个编程状态之中的任意一个状态。擦除状态和多个编程状态可以对应于第一至第n状态(其中n是1或更大的自然数)。编程操作控制器134可以对选择的存储器单元中的每一个执行编程操作以使选择的存储器单元中的每一个具有第一至第n状态之中的任意一个状态。可以从电压发生器122供应编程操作中使用的编程电压和通过电压。
图12是示出根据本公开的实施例的偏移电压表,例如图11的偏移电压表131b的示图。
参照图12,当参照图11描述的过度编程处理器131a将被编程至过度编程状态的存储器单元的数量x与多个参考值ref_1至ref_m(其中m是1或更大的自然数)进行比较时,偏移电压表131b可以存储表示操作电压的宽度的值,操作电压的宽度是从其默认值移位的量。
偏移值(Offset)可以基于通过将计数的过度编程的存储器单元的数量(x)与第一至第m参考值ref_1至ref_m进行比较而获得的结果来确定。特定偏移值可以具有第一至第m电压移位值V_Shift_1至V_Shift_m之中的任意一个电压移位值。例如,当过度编程的存储器单元的数量(x)大于或等于0并且小于第一参考值ref_1时,偏移值具有第一电压移位值V_Shift_1。当过度编程的存储器单元的数量(x)大于或等于第一参考值ref_1并且小于第二参考值ref_2时,偏移值具有第二电压移位值V_Shift_2。更一般地,当过度编程的存储器单元的数量(x)大于或等于第m-1参考值ref_m-1并且小于第m参考值ref_m时,偏移值具有第m电压移位值V_Shift_m。
第一至第m参考值ref_1至ref_m中的每一个可以是1或更大的自然数。
第一至第m电压移位值V_Shift_1至V_Shift_m中的每一个可以是0或更大的值。在另一实施例中,第一至第m电压移位值V_Shift_1至V_Shift_m中的一些可以具有负值。电压移位值可以从第一电压移位值V_Shift_1至第m电压移位值V_Shift_m的顺序逐渐地增大或减小。
图13是示出根据本公开的实施例的状态寄存器,例如图11的状态寄存器132的示图。
参照图13,存储在状态寄存器132中的数据可以包括状态信息和过度编程确定信息1303。状态信息可以包括就绪信息1301和失败信息1305。
就绪信息1301可以表示存储器装置正在等待。根据本公开的实施例,就绪信息1301可以表示可以接收新命令,并且响应于先前接收的命令而执行的操作已经完成。图1的存储器控制器200可以通过就绪信息1301检查响应于先前接收的命令而执行的操作是否已经完成。
过度编程确定信息1303可以包括过度编程状态信息和偏移电压信息。过度编程状态信息可以是表示过度编程的存储器单元的数量是否超过参考数量的信息。过度编程状态信息可以是表示在第N编程状态(其中N是大于或等于1的自然数)下是否已经执行了过度编程操作的信息。当过度编程的存储器单元的数量超过参考数量时,可以确定已经执行了针对第N编程状态的过度编程操作。根据本公开的实施例,当执行了针对第N编程状态的过度编程操作时,过度编程状态信息可以表示设置状态。当未执行针对第N编程状态的过度编程操作时,过度编程状态信息可以表示释放状态。
偏移电压信息可以是表示基于被编程至作为目标状态的第N状态的存储器单元之中的过度编程的存储器单元的数量的、与对应于阈值电压分布的编程状态对应的操作电压的偏移值的信息,其中阈值电压分布大于对应于第N编程状态的阈值电压分布。偏移值可以表示操作电压从默认值移位的宽度。操作电压可以包括编程电压、验证电压和通过电压中的至少一个。
失败信息1305可以表示对应于先前接收的命令的操作已经失败。根据本公开的各个实施例,失败信息1305可以表示对应于在最近的命令之前接收的命令的操作已经失败。
图14是示出根据本公开的实施例的用于在存储器控制器200中获取过度编程确定信息的方法的示图。
参照图14,存储器控制器200可以将编程命令或擦除命令提供至存储器装置100,然后当经过了设定时间时将状态读取命令提供至存储器装置100。
状态读取命令可以是用于请求状态寄存器(例如,图11的状态寄存器132)的值的命令,该状态寄存器存储表示存储器装置100的操作状态的状态信息。具体地,存储器装置100可以根据存储器装置100的操作状态更新包括在存储器装置100中的状态寄存器。
当存储器装置100接收到状态读取命令时,存储器装置100可以响应于状态读取命令,将存储在状态寄存器中的值作为状态读取响应提供至存储器控制器200。
根据本公开的实施例,存储器装置100可以在存储器装置100执行编程操作时生成过度编程确定信息。过度编程确定信息可以包括表示是否已经执行了过度编程操作的过度编程状态信息和表示偏移值的偏移电压信息。
存储器装置100可以向存储器控制器200提供作为状态读取响应的、包括过度编程确定信息的状态寄存器值,该状态读取响应是对状态读取命令的响应。
图15是示出根据本公开的实施例的存储器控制器的坏块管理器,例如图1的存储器控制器200的坏块管理器210的操作的示图。
参照图15,坏块管理器210可以包括坏块表211、状态读取控制器212和命令控制器213。
坏块表211可以包括关于包括在存储器装置100中的多个存储块之中的、对应于坏块的存储块的信息。坏块可以是在制造存储器装置100时产生的制造坏块(MBB)或在使用存储器装置100时产生的生长坏块(GBB)。根据本公开的实施例,当读取存储数据的存储块时,发生不可校正错误的存储块可以是GBB。
当在编程命令或擦除命令被提供至存储器装置100之后经过了设定时间时,状态读取控制器212可以将状态读取命令提供至存储器装置100。
状态读取命令可以用于请求状态寄存器的值,该状态寄存器存储表示存储器装置100的操作状态的状态信息。具体地,存储器装置100可以根据存储器装置100的操作状态来更新包括在存储器装置100中的图11的状态寄存器132。当存储器装置100接收到状态读取命令时,存储器装置100可以响应于状态读取命令,向存储器控制器200提供作为状态读取响应的、存储在状态寄存器132中的值。状态读取控制器212可以从存储器装置100获取状态读取响应。
状态读取控制器212可以基于包括在状态读取响应中的过度编程确定信息,确定对存储器装置100的选择的存储器单元执行编程操作时是否已经执行了过度编程操作。当执行编程操作时执行了过度编程操作时,存储器装置100可以将关于包括选择的存储器单元的存储块的信息添加到坏块表211或者更新关于包括选择的存储器单元的存储块的信息。
当对选择的存储器单元执行编程操作时执行了过度编程操作时,状态读取控制器212可以控制命令控制器213以对包括选择的存储器单元的存储块执行读取操作并且执行将读取的数据编程在另一存储块中的操作。
当对存储器装置100的选择的存储器单元执行编程操作时执行了过度编程操作时,命令控制器213可以向存储器装置100提供用于将存储在包括选择的存储器单元的存储块中的数据移动至另一存储块的读取和编程命令CMD。
图16是示出根据本公开的实施例的存储器装置,例如图1的存储器装置100的操作的流程图。
存储器装置可以对选择的存储器单元执行编程操作以使选择的存储器单元具有根据阈值电压的大小区分的第一至第n状态(其中n是1或更大的自然数)之中的任意一个状态。
参照图16,在步骤S1601中,存储器装置可以从存储器控制器(例如,图1的存储器控制器200)接收用于选择的存储器单元的编程命令。
在步骤S1603中,存储器装置可以执行针对第k状态(其中k是小于n的自然数)的编程操作和验证操作。
在步骤S1605中,存储器装置可以确定针对第k状态的验证操作是否通过。当确定针对第k状态的验证操作未通过(S1605,否)时,存储器装置进行至步骤S1603。
当确定针对第k状态的验证操作通过(S1605,是)时,存储器装置进行至步骤S1607。
在步骤S1607中,存储器装置可以确定第k状态是否是待执行编程操作的最后编程状态。
当确定第k状态是待执行编程操作的最后编程状态(S1607,是)时,存储器装置进行至步骤S1609。
当确定第k状态不是待执行编程操作的最后编程状态(S1607,否)时,存储器装置进行至步骤S1611。
在步骤S1609中,存储器装置可以将关于待执行的编程操作的就绪信息或失败信息输入至状态寄存器(例如,图11的状态寄存器132),并且结束操作。
在步骤S1611中,存储器装置可以确定在执行针对第k状态的编程操作时是否已经执行了过度编程操作。
当确定已经执行了过度编程操作(S1611,是)时,存储器装置进行至步骤S1615。
当确定尚未执行过度编程操作(S1611,否)时,存储器装置进行至步骤S1613。
在步骤S1613中,存储器装置增加k,并且针对第k+1状态进行至步骤S1603。
在步骤S1615中,存储器装置可以将过度编程确定信息输入至状态寄存器。在步骤S1617中,存储器装置增加k,并且针对第k+1状态进行至步骤S1619。
在步骤S1619中,存储器装置可以基于过度编程确定信息控制对应于第k+1状态的操作电压。操作电压可以包括编程电压、验证电压和通过电压中的至少一个。
图17是示出根据本公开的实施例的存储器控制器,例如图1的存储器控制器200的操作的流程图。
存储器控制器可以控制包括多个存储器单元的存储器装置,例如图1的存储器装置100的全部操作。
参照图17,在步骤S1701中,存储器控制器可以将编程命令提供至存储器装置以对选择的存储器单元执行编程操作。
在步骤S1703中,存储器控制器可以将状态读取命令提供至存储器装置。
在步骤S1705中,存储器控制器可以从存储器装置接收状态读取响应。
在步骤S1707中,存储器控制器可以基于来自存储器装置的状态读取响应,确定是否已经完全执行编程操作。当确定尚未完全执行编程操作(S1707,否)时,存储器控制器进行至步骤S1703。当确定已经完全执行编程操作(S1707,是)时,存储器控制器进行至步骤S1709。
在步骤S1709中,存储器控制器可以确定是否已经执行了过度编程操作。当确定尚未执行过度编程操作(S1709,否)时,存储器控制器结束操作。当确定已经执行了过度编程操作(S1709,是)时,存储器控制器进行至步骤S1711。
在步骤S1711中,存储器控制器可以基于包括在状态读取响应中的过度编程确定信息来控制存储器装置读取已经执行编程操作的存储块,该存储块是包括选择的存储器单元的存储块。
在步骤S1713中,存储器控制器可以控制存储器装置将读取的存储块的数据编程在另一存储块中。
在步骤S1715中,存储器控制器可以将已经执行编程操作的存储块作为坏块处理。
图18是示出根据本公开的实施例的包括存储器装置100和存储器控制器200的存储装置,例如图1的存储装置50的操作的流程图。
参照图18,在步骤S1801中,存储器控制器200可以将编程命令提供至存储器装置100。当这样做时,存储器控制器200可以提供编程地址和编程数据,该编程地址表示待编程的存储器区域,该编程数据为待编程的数据。待编程的存储器区域可以表示待编程的选择的存储器单元。
在步骤S1803中,存储器装置100可以确定是否已经执行了针对多个状态之中的第k状态(其中k是1或更大的自然数)的过度编程操作。换言之,存储器装置100可以感测在执行编程操作时存储器单元是否已经被过度编程以及哪些存储器单元已经被过度编程。具体地,存储器装置100可以对过度编程的存储器单元的数量进行计数。当过度编程的存储器单元的数量超过参考数量时,存储器装置100可以确定已经执行了过度编程操作。根据本公开的另一实施例,存储器装置100可以使用对应于第k状态的过度编程验证电压来读取选择的存储器单元,并且当过度编程的存储器单元的数量超过参考数量时,存储器装置100可以确定已经执行了过度编程操作。
在步骤S1805中,存储器装置100可以将过度编程确定信息存储在状态寄存器(例如,图11的状态寄存器132)中。过度编程确定信息可以包括过度编程状态信息和偏移电压信息。例如,存储器装置100可以将参照图10和图12描述的指示设置状态或释放状态的过度编程状态信息以及表示偏移值(Offset)的偏移电压信息存储在状态寄存器中。
在步骤S1807中,存储器控制器200可以确定是否已经经过了设定时间(例如,编程时间tPROG)。当确定已经经过了设定时间时,在步骤S1809中,存储器控制器200可以将状态读取命令提供至存储器装置100。
在步骤S1811中,存储器装置100可以向存储器控制器200提供作为状态读取响应的、存储在状态寄存器中的值。
在步骤S1813中,存储器控制器200可以基于包括在由存储器装置100提供的状态读取响应中的状态信息来确定是否已经完全执行编程操作。状态信息可以包括就绪信息、过度编程确定信息和失败信息。存储器控制器200可以基于就绪信息确定存储器装置100是否已经完全执行编程操作。
在步骤S1815中,存储器控制器200可以基于包括在状态信息中的过度编程确定信息中的过度编程状态信息来确定是否已经执行了过度编程操作。
在步骤S1817中,存储器控制器200可以基于是否已经执行了过度编程操作来执行坏块处理和数据移动操作。
例如,当执行了过度编程操作时,存储器控制器200可以控制存储器装置100读取已经执行编程操作的存储块,该存储块是包括选择的存储器单元的存储块,并且将读取的存储块的数据编程在另一存储块中。存储器控制器200可以将关于已经执行编程操作的存储块的信息添加到坏块表或者更新关于已经执行编程操作的存储块的信息。当未执行过度编程操作时,存储器控制器200结束操作。
图19是示出根据本公开的另一实施例的存储器控制器,例如图1的存储器控制器200的示图。
参照图19,存储器控制器1000联接至主机(例如,图1的主机300)和存储器装置(例如,图1的存储器装置100)。存储器控制器1000被配置为响应于从主机接收的请求访问存储器装置。例如,存储器控制器1000被配置为控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置为提供存储器装置和主机之间的接口。存储器控制器1000被配置为驱动固件以控制存储器装置。
存储器控制器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转换为PBA。根据映射单位存在FTL的几种地址映射方法,例如,页面映射方法、块映射方法以及混合映射方法。可以使用这些映射方法中的任意一种。
处理器1010被配置为将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子将从主机接收的数据随机化。被随机化的数据作为待存储的数据被提供至存储器装置以被编程在存储器单元阵列中。
在读取操作中,处理器1010被配置为将从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子将从存储器装置接收的数据去随机化。被去随机化的数据可以被输出至主机。
在实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以包括静态随机存取存储器(RAM)(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行ECC操作。ECC电路1030可以对待通过存储器接口1060写入存储器装置中的数据执行ECC编码。经ECC编码的数据可以通过存储器接口1060传输至存储器装置。ECC电路1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,ECC电路1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用诸如下列的各种通信协议中的至少一种与主机通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(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。存储器缓冲器1020和缓冲器控制电路1050中的一个或两个可以单独地设置或者按其功能分布在存储器控制器1000内部。
在示例中,处理器1010可以通过使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在示例中,存储器控制器1000的总线1070可以划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传送数据,并且控制总线可以被配置为在存储器控制器1000中传送诸如命令和地址的控制信息。数据总线和控制总线彼此分离,以便不相互干扰或影响。数据总线可以联接至ECC电路1030、主机接口1040、缓冲器控制电路1050和存储器接口1060。控制总线可以联接至处理器1010、存储器缓冲器1020、主机接口1040、缓冲器控制电路1050和存储器接口1060。
图20是示出根据本公开的实施例的应用存储装置的存储卡***2000的框图。
参照图20,存储卡***2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接至存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为提供存储器装置2200和主机之间的接口。存储器控制器2100被配置为驱动固件以控制存储器装置2200。存储器控制器2100可以与参照图1描述的存储器控制器200同样地实施。
在示例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正码(ECC)电路的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信协议与外部装置(例如,主机)通信。在示例中,存储器控制器2100可以通过诸如下列的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、PCI高速(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
在示例中,存储器装置2200可以利用诸如下列的各种非易失性存储器装置来实施:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中,以构成诸如下列的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图21是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)***3000的框图。
参照图21,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高速(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
辅助电源3230通过电源连接器3002联接至主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可以提供SSD 3200的电力。在示例中,辅助电源3230可以位于SSD3200内部,或者位于SSD 3200外部。例如,辅助电源3230可以位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器,或者诸如铁电随机存取存储器(FRAM)、电阻式RAM(ReRAM)、自旋转移矩随机存取存储器(STT-MRAM)和相变随机存取存储器(PRAM)的非易失性存储器。
图22是示出根据本公开的实施例的应用存储装置的用户***4000的框图。
参照图22,用户***4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动包括在用户***4000中的组件,诸如操作***(OS)、用户程序等。在示例中,应用处理器4100可以包括用于控制包括在用户***4000中的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上***(SoC)。
存储器模块4200可以作为用户***4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块4200可以包括诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRM、DDR3SDRAM、低功率DDR(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或者诸如相变随机存取存储器(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)和铁电RAM(FRAM)的非易失性随机存取存储器。在示例中,应用处理器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闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可以被设置为诸如用户***4000的存储卡的可移除驱动器或外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图2描述的存储器装置100同样地操作。存储模块4400可以与参照图1描述的存储装置50同样地操作。
用户接口4500可以包括用于将数据或命令输入至应用处理器4100或将数据输出至外部装置的接口。在示例中,用户接口4500可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可以包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
根据本公开的实施例,提供了一种可靠性提高的存储装置及该存储装置的操作方法。
虽然已经参照本公开的实施例示出并描述了本公开,但是本领域技术人员根据本公开将理解的是,在不脱离如由所附权利要求及其等同方案限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本公开的范围不应限于上述实施例,而是应当不仅由所附权利要求而且由其等同方案来确定。
在上述实施例中,可以选择性地执行全部步骤或者可以省略部分步骤。在每个实施例中,步骤不一定按照所描述的顺序执行,而是可以重新排列。公开的实施例仅是示例以便于理解而不是限制本发明。也就是说,对于本领域技术人员应显而易见的是,可以基于本公开的技术范围进行各种修改。
虽然本文使用了特定术语,但这些术语用于解释而不是限制本公开的实施例。除了本文公开的实施例之外,本领域技术人员还将从本公开的技术范围认识到,在本公开的精神和范围内的许多变化和修改是可行的。

Claims (18)

1.一种存储器装置,包括:
存储器单元阵列,包括存储器单元;
编程操作控制器,对所述存储器单元执行编程操作以使所述存储器单元具有根据阈值电压区分的第一至第n状态之中的任意一个状态,其中n是大于1的自然数;
电压发生器,在所述编程操作中生成分别对应于所述第一至第n状态的操作电压;
验证操作控制器,验证是否已经完成对选择的存储器单元执行以使所述选择的存储器单元具有第k状态的所述编程操作,其中k是小于n的自然数,并且对所述选择的存储器单元之中、具有比对应于所述第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量进行计数;以及
过度编程管理器,包括过度编程处理器,所述过度编程处理器生成过度编程状态信息,所述过度编程状态信息表示所述过度编程的存储器单元的数量是否超过参考数量,并且所述过度编程管理器根据所述过度编程状态信息和所述过度编程的存储器单元的数量,增加分别对应于第k+1至第n状态的操作电压,以使分别对应于所述第k+1至第n状态的操作电压大于各自相应的默认值。
2.根据权利要求1所述的存储器装置,其中所述过度编程管理器包括偏移电压表,所述偏移电压表存储表示所述操作电压根据所述过度编程的存储器单元的数量从默认值移位的宽度的偏移值。
3.根据权利要求2所述的存储器装置,其中当所述过度编程的存储器单元的数量超过所述参考数量时,所述过度编程处理器基于所述偏移电压表生成偏移电压信息,所述偏移电压信息表示关于分别对应于所述第k+1至第n状态的操作电压的偏移值的信息。
4.根据权利要求3所述的存储器装置,进一步包括状态寄存器,所述状态寄存器存储所述过度编程状态信息和所述偏移电压信息。
5.根据权利要求4所述的存储器装置,其中所述状态寄存器存储关于所述存储器装置的状态信息,
其中所述状态信息包括就绪信息、所述过度编程状态信息、所述偏移电压信息和失败信息,所述就绪信息表示能够接收新命令并且响应于先前接收的命令而执行的操作已经完成,所述失败信息表示对应于所述先前接收的命令的操作已经失败。
6.根据权利要求3所述的存储器装置,其中所述过度编程处理器基于所述偏移电压信息控制分别对应于所述第k+1至第n状态的操作电压的大小。
7.根据权利要求1所述的存储器装置,其中所述操作电压包括验证电压、编程电压和通过电压之中的至少一个电压。
8.一种存储装置,包括:
存储器装置,生成过度编程状态信息,所述过度编程状态信息表示被编程至第k状态的选择的存储器单元之中、具有比对应于所述第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量是否超过参考数量,并且所述存储器装置根据所述过度编程状态信息和所述过度编程的存储器单元的数量,增加在第k+1至第n状态下对存储器单元的编程操作和验证操作中使用的电压,其中n是大于1的自然数并且k是小于n的自然数;以及
存储器控制器,当所述过度编程的存储器单元的数量超过参考数量时,将包括所述选择的存储器单元的存储块作为坏块处理。
9.根据权利要求8所述的存储装置,其中所述存储器控制器包括坏块管理器,所述坏块管理器读取包括所述选择的存储器单元的存储块的数据并且将所读取的数据编程在另一存储块中。
10.根据权利要求9所述的存储装置,其中所述坏块管理器通过根据所述过度编程的存储器单元的数量调整默认读取电压值来读取包括所述选择的存储器单元的存储块的数据。
11.根据权利要求9所述的存储装置,其中所述坏块管理器包括坏块表,所述坏块表存储关于包括在所述存储器装置中的多个存储块之中的坏存储块的信息,
其中当所述过度编程的存储器单元的数量超过所述参考数量时,所述坏块管理器将关于包括所述选择的存储器单元的存储块的信息添加到所述坏块表或更新关于包括所述选择的存储器单元的存储块的信息。
12.一种用于操作存储器装置的方法,所述存储器装置包括多个存储块,每个存储块包括多个存储器单元,所述方法包括:
对选择的存储器单元执行编程操作以使所述选择的存储器单元具有第一至第n状态之中的第k状态,其中n是大于1的自然数并且k是小于n的自然数;
在所述编程操作中生成分别对应于所述第一至第n状态的操作电压;
对所述选择的存储器单元执行验证操作;
当所述验证操作通过时,对具有比对应于所述第k状态的阈值电压大的阈值电压的过度编程的存储器单元的数量进行计数;
生成过度编程状态信息,所述过度编程状态信息表示所述过度编程的存储器单元的数量是否超过参考数量;以及
根据所述过度编程的存储器单元的数量,增加所述操作电压之中、分别对应于第k+1至第n状态的操作电压,以使所述操作电压之中、分别对应于所述第k+1至第n状态的操作电压大于各自的默认值。
13.根据权利要求12所述的方法,其中增加所述操作电压包括:当所述过度编程的存储器单元的数量超过所述参考数量时,基于所述过度编程的存储器单元的数量生成偏移电压信息,所述偏移电压信息表示关于分别对应于所述第k+1至第n状态的操作电压的偏移值的信息,分别对应于所述第k+1至第n状态的操作电压的偏移值表示分别对应于所述第k+1至第n状态的操作电压从各自的默认值移位的宽度。
14.根据权利要求13所述的方法,其中在增加所述操作电压时,基于所述偏移电压信息来调整分别对应于所述第k+1至第n状态的操作电压。
15.根据权利要求13所述的方法,其中当所述过度编程的存储器单元的数量增加时,所述偏移值增加。
16.根据权利要求13所述的方法,进一步包括将所述过度编程状态信息和所述偏移电压信息存储在状态寄存器中。
17.根据权利要求16所述的方法,进一步包括将存储在所述状态寄存器中的信息提供至存储器控制器。
18.根据权利要求12所述的方法,其中所述操作电压包括验证电压、编程电压和通过电压之中的至少一个电压。
CN201910354066.3A 2018-08-07 2019-04-29 存储装置及该存储装置的操作方法 Active CN110827905B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180092035A KR102461099B1 (ko) 2018-08-07 2018-08-07 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
KR10-2018-0092035 2018-08-07

Publications (2)

Publication Number Publication Date
CN110827905A CN110827905A (zh) 2020-02-21
CN110827905B true CN110827905B (zh) 2023-10-03

Family

ID=69406386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910354066.3A Active CN110827905B (zh) 2018-08-07 2019-04-29 存储装置及该存储装置的操作方法

Country Status (3)

Country Link
US (1) US10643724B2 (zh)
KR (1) KR102461099B1 (zh)
CN (1) CN110827905B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102624620B1 (ko) * 2018-11-02 2024-01-15 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10839928B1 (en) * 2019-05-16 2020-11-17 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
US11081198B2 (en) 2019-05-16 2021-08-03 Sandisk Technologies Llc Non-volatile memory with countermeasure for over programming
KR20210081073A (ko) * 2019-12-23 2021-07-01 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
JP7471883B2 (ja) * 2020-03-19 2024-04-22 キオクシア株式会社 メモリシステム
JP7018089B2 (ja) * 2020-04-02 2022-02-09 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および読出し方法
KR20210155660A (ko) * 2020-06-16 2021-12-23 에스케이하이닉스 주식회사 메모리 장치 및 이의 제어 방법
US11355208B2 (en) * 2020-06-30 2022-06-07 Sandisk Technologies Llc Triggering next state verify in progam loop for nonvolatile memory
KR20220030092A (ko) * 2020-09-02 2022-03-10 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20220043365A (ko) * 2020-09-29 2022-04-05 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20220048857A (ko) * 2020-10-13 2022-04-20 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11450393B1 (en) * 2021-03-09 2022-09-20 Sandisk Technologies Llc Countermeasures for periodic over programming for non-volatile memory
KR20220163205A (ko) * 2021-06-02 2022-12-09 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11605437B2 (en) * 2021-06-25 2023-03-14 Sandisk Technologies Llc Memory programming with selectively skipped verify pulses for performance improvement
US11790992B2 (en) * 2021-06-28 2023-10-17 Sandisk Technologies Llc State dependent VPVD voltages for more uniform threshold voltage distributions in a memory device
KR20230036351A (ko) * 2021-09-07 2023-03-14 에스케이하이닉스 주식회사 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103050149A (zh) * 2011-10-13 2013-04-17 三星电子株式会社 非易失性存储器件及其编程方法和包括其的存储器***
CN106373614A (zh) * 2015-07-23 2017-02-01 爱思开海力士有限公司 半导体存储器件及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129624A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
US6917542B2 (en) * 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
KR100784107B1 (ko) 2006-04-24 2007-12-10 주식회사 하이닉스반도체 플래쉬 메모리 장치의 구동 방법
KR101464255B1 (ko) * 2008-06-23 2014-11-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 시스템
US8422305B2 (en) * 2009-06-29 2013-04-16 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
US8400854B2 (en) * 2009-09-11 2013-03-19 Sandisk Technologies Inc. Identifying at-risk data in non-volatile storage
KR101772578B1 (ko) * 2011-04-19 2017-08-30 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
KR102016041B1 (ko) 2012-10-11 2019-08-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR102333743B1 (ko) 2015-01-21 2021-12-01 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
KR102423291B1 (ko) * 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR102458918B1 (ko) * 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103050149A (zh) * 2011-10-13 2013-04-17 三星电子株式会社 非易失性存储器件及其编程方法和包括其的存储器***
CN106373614A (zh) * 2015-07-23 2017-02-01 爱思开海力士有限公司 半导体存储器件及其操作方法

Also Published As

Publication number Publication date
CN110827905A (zh) 2020-02-21
US10643724B2 (en) 2020-05-05
KR102461099B1 (ko) 2022-11-01
US20200051649A1 (en) 2020-02-13
KR20200016670A (ko) 2020-02-17

Similar Documents

Publication Publication Date Title
CN110827905B (zh) 存储装置及该存储装置的操作方法
CN110503997B (zh) 存储器装置及其操作方法
KR102524916B1 (ko) 저장 장치 및 그 동작 방법
CN110390970B (zh) 存储器装置及其操作方法
KR102569820B1 (ko) 메모리 컨트롤러 및 그 동작 방법
KR20190092937A (ko) 메모리 컨트롤러 및 그 동작 방법
CN110780802B (zh) 存储器控制器及其操作方法
CN111258793B (zh) 存储器控制器及其操作方法
US11061757B2 (en) Storage device and method of operating the same
KR102530641B1 (ko) 저장 장치 및 그 동작 방법
CN112002367B (zh) 存储器装置以及操作该存储器装置的方法
US10991432B2 (en) Storage device and method of operating the same
CN110619912B (zh) 存储装置以及该存储装置的操作方法
KR102651440B1 (ko) 저장 장치 및 그 동작 방법
KR20220156399A (ko) 메모리 장치 및 그 동작 방법
CN112151096B (zh) 存储器装置及其操作方法
CN111341372B (zh) 存储装置以及操作存储装置的方法
CN116631481A (zh) 存储器设备及其操作方法
US20220392538A1 (en) Memory device and operating method thereof
US20220115082A1 (en) Storage device and operating method thereof
CN112908371B (zh) 存储器装置和操作该存储器装置的方法
KR20220107578A (ko) 메모리 장치 및 그 동작 방법
CN112346654A (zh) 存储装置以及操作该存储装置的方法
KR20190095002A (ko) 저장 장치 및 그 동작 방법
CN111190535B (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
TR01 Transfer of patent right

Effective date of registration: 20240613

Address after: American Texas

Patentee after: Mimi IP Co.,Ltd.

Country or region after: U.S.A.

Address before: Gyeonggi Do, South Korea

Patentee before: Sk Hynix Inc.

Country or region before: Republic of Korea