CN110275672A - 存储装置及其操作方法 - Google Patents

存储装置及其操作方法 Download PDF

Info

Publication number
CN110275672A
CN110275672A CN201811300473.8A CN201811300473A CN110275672A CN 110275672 A CN110275672 A CN 110275672A CN 201811300473 A CN201811300473 A CN 201811300473A CN 110275672 A CN110275672 A CN 110275672A
Authority
CN
China
Prior art keywords
memory
programming pulse
programming
information
memory device
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
CN201811300473.8A
Other languages
English (en)
Other versions
CN110275672B (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 CN110275672A publication Critical patent/CN110275672A/zh
Application granted granted Critical
Publication of CN110275672B publication Critical patent/CN110275672B/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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0653Monitoring storage devices or 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/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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0683Plurality of storage devices
    • 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/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
    • 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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • 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
    • G11C2029/0411Online error correction

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)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供了一种存储装置,该存储装置包括:存储器装置,配置成存储编程脉冲信息,该编程脉冲信息表示在编程操作期间施加至被选择存储器单元的编程脉冲的数量是否超过参考值;以及存储器控制器,配置成基于编程脉冲信息来确定被选择存储器单元中是否存在发生增长缺陷的可能性。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求2018年3月13日提交的申请号为10-2018-0029349的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本公开的各种实施例总体涉及一种电子装置,更具体地,涉及一种存储装置和该存储装置的操作方法。
背景技术
通常,存储装置是在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置可以包括配置成存储数据的存储器装置和配置成控制存储器装置的存储器控制器。存储器装置被分类成易失性存储器装置和非易失性存储器装置。
易失性存储器装置是当电力中断时所存储的数据会丢失的存储器装置。易失性存储器装置的代表示例包括:静态RAM(SRAM)、动态RAM(DRAM)和同步DRAM(SDRAM)。
非易失性存储器装置是即使当电力中断时也保留所存储的数据的存储器装置。非易失性存储器装置的代表示例包括:只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。
发明内容
本公开的各种实施例涉及一种能够检测存在发生增长缺陷的可能性的区域的存储装置,以及该存储装置的操作方法。
本公开的实施例可以提供一种存储器装置,包括:存储器单元阵列,包括多个存储器单元;外围电路,配置成对多个存储器单元中的被选择存储器单元执行编程操作;以及编程脉冲信息生成单元,配置成生成编程脉冲信息,所述编程脉冲信息表示在编程操作期间施加至被选择存储器单元的编程脉冲的数量是否已经超过参考值。
本公开的实施例可以提供一种操作存储器控制器的方法,包括:将与编程操作对应的编程命令提供至存储器装置;当在提供编程命令之后经过预设时间时,将状态读取命令提供至存储器装置;接收存储器装置响应于状态读取命令而输出的状态读取响应;以及基于包括在状态读取响应中的编程脉冲信息,来确定已经被执行编程操作的存储器区域中是否存在发生增长缺陷的可能性。
本公开的实施例可以提供一种存储装置,包括:存储器装置,配置成存储编程脉冲信息,该编程脉冲信息表示在编程操作期间施加至被选择存储器单元的编程脉冲的数量是否超过参考值;以及存储器控制器,配置成基于编程脉冲信息来确定被选择存储器单元中是否存在发生增长缺陷的可能性。
本公开的实施例可以提供一种存储器系统,包括:存储器装置,适于生成在编程操作期间对第一存储块的编程脉冲的施加数量;和控制器,适于:当施加数量大于阈值时控制存储器装置对第一存储块执行读取操作;当读取操作成功时,控制存储器装置随后今对第一存储块执行读取操作;以及当读取操作失败时,控制存储器装置随后再次对第二存储块执行编程操作并且不将数据存储在第一存储块中。
附图说明
图1是示出根据本公开实施例的存储装置的示图。
图2是示出图1中所示的存储器装置的配置的示图。
图3是示出图2的存储器单元阵列的实施例的示图。
图4是根据本公开实施例的示出图3中所示的存储块中的任何一个的电路图。
图5是根据本公开实施例的示出图3所示的存储块中的任何一个的电路图。
图6是根据本公开实施例的通过编程操作形成的存储器单元的阈值电压分布的示图。
图7是示出根据本公开实施例的存储器装置的编程操作的示图。
图8是示出图2中所示的编程脉冲信息生成单元的操作的示图。
图9是示出图8中所示的状态寄存器的示图。
图10是示出图8中所示的编程脉冲信息存储单元的示图。
图11是示出根据本公开实施例的存储器控制器与存储器装置之间的数据通信的示图。
图12是示出根据本公开实施例的存储器控制器与存储器装置之间的数据通信的示图。
图13是示出图1中所示的增长缺陷处理单元的操作的示图。
图14是图1中所示的增长缺陷处理单元的实施例的示图。
图15是示出了根据本公开实施例的存储器装置的操作的流程图。
图16是示出了根据本公开实施例的存储器控制器的操作的流程图。
图17是示出了根据本公开实施例的存储器控制器的操作的流程图。
图18是图1中所示的存储器控制器的实施例的示图。
图19是示出了应用根据本公开实施例的存储装置的存储卡系统的框图。
图20是示出了应用根据本公开实施例的存储装置的固态硬盘(SSD)系统的框图。
图21是示出了应用根据本公开实施例的存储装置的用户系统的框图。
具体实施方式
下文将参照附图更全面地描述示例性实施例;然而,这些示例性实施例可以以不同的形式实施并且不应被理解为限于本文提出的实施例。相反,提供这些实施例使得本公开将是详尽且完整的,并且将把示例性实施例的范围完全传达给本领域的技术人员。
在附图中,为了图示清楚可以放大尺寸。将理解的是,当元件被称为在两个元件“之间”时,可以是在两个元件之间仅有一个元件,或者可以存在一个或多个中间元件。
下文中,将参照附图描述实施例。在本文中,将参照作为实施例(以及中间结构)的示意图的截面图来描述实施例。因此,由于例如制造技术和/或公差而导致的图示形状的变型是可预期的。因此,实施例不应被解释为限于本文中示出的区域的特定形状,而是可以包括由于例如制造而导致的形状偏离。在附图中,层和区域的长度和尺寸可以为了清楚而放大。附图中的相似附图标记表示相似的元件。
诸如“第一”和“第二”的术语可以用来描述各种部件,但是这些术语不应限制各种部件。这些术语仅用于将部件与另一个部件区分开。例如,在不背离本公开的精神和范围的情况下,第一部件可以称为第二部件,并且第二部件可以称为第一部件。此外,“和/或”可以包括提及的部件中的任意一个或其组合。
此外,只要没有在语句中特别提及,则单数形式可以包括复数形式。此外,说明书中使用的“包括/包含”或“包括有/包含有”表示存在或增加了一个或多个部件、步骤、操作和元件。
此外,除非另有定义,本说明书中使用的包括技术术语和科学术语的全部术语具有与相关领域技术人员通常理解的含义相同的含义。通用字典中定义的术语应被解释为具有与相关领域背景下解释的含义相同的含义,并且除非在说明书中另外清楚地定义,否则这些术语不应被解释为具有理想化或过于正式的含义。
还应注意,在本说明书中,“连接/联接”表示一个部件不仅直接联接另一部件,而且通过中间部件间接联接另一部件。另一方面,“直接连接/直接联接”表示一个部件直接联接另一部件而没有中间部件。
图1是示出根据本公开实施例的存储装置50的示图。
参照图1,存储装置50可以包括存储器装置100、存储器控制器200和主机300。
存储装置50可以是配置成在诸如以下的主机300的控制下存储数据的装置:蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
存储装置50可以根据作为与主机300的通信系统的主机接口而配置成各种存储装置中的任意一种。例如,数据存储装置50可以配置成诸如以下的各种存储装置中的任意一种:SSD、MMC、eMMC、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可以是:双倍数据速率同步动态随机存取存储器(DDRSDRAM),低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻式随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、或自旋转移矩随机存取存储器(STT-RAM)。在本说明书中,为了说明,假设存储器装置100为NAND闪速存储器。
在实施例中,存储器装置100可以以三维阵列结构的形式实施。本公开不仅可以应用于其中电荷存储层由导电浮动栅极(FG)形成的闪速存储器,而且可以应用于电荷存储层由绝缘层形成的电荷捕获闪速(CTF)存储器。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问存储器单元阵列的由地址选择的区域。换言之,存储器装置100可以对由地址选择的区域执行与命令对应的操作。例如,存储器装置100可以执行写入(编程)操作、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程至由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可以从由地址选择的区域擦除数据。
编程操作可以是以下操作:根据待存储的数据,将存储器单元的阈值电压增加至对应于目标编程状态的阈值电压。
可以用过迭代编程电压施加步骤和编程验证步骤来执行编程操作,其中编程电压施加步骤将编程脉冲施加至与待编程的存储器单元联接的被选择字线;编程验证步骤将验证电压施加至被选择字线以确定待编程的存储器单元的阈值电压是否已经达到对应于目标编程状态阈值电压。在编程验证步骤,如果待被编程的存储器单元的阈值电压已经达到对应于目标编程状态阈值电压,则目标存储器单元的编程验证可以通过。如果待被编程的存储器单元的阈值电压尚未达到对应于目标编程状态的阈值电压,则目标存储器单元的编程验证可能失败。
一个编程电压施加步骤和一个编程验证步骤可以形成单个编程循环。因此,可以通过迭代多个编程循环来执行编程操作。每当增加编程循环的执行次数,编程脉冲的电压水平就会增加。特别地,在每次编程循环迭代,将编程脉冲的电压水平增加预设步进电压的方案被称为“增量步进脉冲编程(Incremental step pulse program,ISPP)方案”。
存储器装置100可以通过迭代多个编程循环直到目标单元通过编程验证步骤来执行编程操作。
存储器装置100的编程操作可以基于页面来执行。联接至相同字线的多个存储器单元可以形成单个页面。
根据本公开的实施例,对于对单个页面的编程操作,可以预先确定待被施加至被选择字线的编程脉冲的最大数量。在本说明书中,待被施加至被选择字线的编程脉冲的最大数量被定义为最大编程脉冲计数。在编程操作期间,如果即使施加了最大编程脉冲计数的编程脉冲,目标存储器单元仍未通过编程验证步骤,存储器装置100可以确定编程操作失败。
在实施例中,存储器装置100可以包括编程脉冲信息生成单元131。当编程操作完成时,编程脉冲信息生成单元131可以基于直到编程操作完成时施加的编程脉冲的数量来生成编程脉冲信息。编程脉冲信息生成单元131可以包括其各个操作和功能所需的全部电路、系统、固件和装置。
编程脉冲信息可以是指示在相应编程操作期间施加的编程脉冲的数量是否已经超过参考值的信息。在实施例中,参考值可以是小于最大编程脉冲计数的值。编程脉冲信息生成单元131可以确定在编程操作期间施加的编程脉冲的数量是否已经超过参考值,并且基于确定结果生成编程脉冲信息。编程脉冲信息生成单元131可以将生成的编程脉冲信息存储至存储器装置100中包括的状态寄存器(未示出)。状态寄存器可以存储状态信息,其中状态信息为关于存储器装置100的操作状态的信息。因此,状态信息可以包括编程脉冲信息。
例如,如果编程脉冲信息是设置状态(set),则可以表示在编程操作期间施加的编程脉冲的数量已经超过参考值。如果编程脉冲信息是释放状态(released),则可以表示在编程操作期间施加的编程脉冲的数量等于或小于参考值。在实施例中,设置状态的编程脉冲信息可以表示为“0”,并且释放状态的编程脉冲信息可以表示为“1”。可选地,设置状态的编程脉冲信息可以表示为“1”,并且释放状态的编程脉冲信息可以表示为“0”。
响应于从存储器控制器200接收的状态读取命令,存储器装置100可以将存储在状态寄存器中的状态信息提供至存储器控制器200。
在各种实施例中,存储器装置100可以进一步包括用于独立地存储编程脉冲信息的编程脉冲信息存储单元(未示出)。编程脉冲信息存储单元可以是寄存器或SRAM。如果编程操作完成,编程脉冲信息生成单元131可以生成编程脉冲信息,并将生成的编程脉冲信息存储至存储器装置100中包括的编程脉冲信息存储单元。
存储器装置100可以响应于从存储器控制器200输入的获取参数命令而将编程脉冲信息存储单元的编程脉冲信息提供至存储器控制器200。
在存储器装置100已经制造之后,执行测试过程以便检查存储器装置100的存储器元件的制造状态、性能、可靠性等。尽管存储器装置100已经通过了测试过程,但是由于存储器装置100被重复使用,所以在存储器装置100中可能发生缺陷或故障。由于存储器装置100的重复使用而发生的缺陷或故障被称为“增长缺陷”或“增长故障”。已经发生增长缺陷的存储块被称为“增长坏块(GBB)”。
在存储器装置100中包括的存储器单元中,可能由于重复使用导致的劣化而发生增长缺陷。如果发生增长缺陷,则直到相应存储器单元被编程时所施加的编程脉冲的数量可能被增加。因此,如果将编程操作期间施加的编程脉冲的数量与小于最大编程脉冲计数的参考值相比较,则可以在发生增长缺陷之前预先检测发生增长缺陷的可能性。
存储器控制器200可以响应于主机300的请求或不管主机300的请求来控制存储器装置100的操作。
例如,存储器控制器200可以响应于来自主机300的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、物理地址和数据提供给存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和物理地址提供给存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和物理地址提供给存储器装置100。
在实施例中,存储器控制器200可以在没有来自主机300的请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传输至存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供至存储器装置100,以便执行用于损耗均衡的编程操作或用于垃圾收集的编程操作。
存储器控制器200可以执行用于控制存储器装置100的固件(FW)。在存储器装置100是闪速存储器装置的情况下,存储器控制器200可以管理诸如闪存转换层(FTL)的固件以控制主机300与存储器装置100之间的通信。详细地,存储器控制器200可以将来自主机300的请求中包括的逻辑地址转换成物理地址。
存储器控制器200可以包括缓冲存储器(未示出)。在实施例中,存储器控制器200可以控制主机300与缓冲存储器之间的数据交换。可选地,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储至缓冲存储器。例如,存储器控制器200可以将从主机300输入的数据临时存储至缓冲存储器,随后将临时存储在缓冲存储器中的数据传输至存储器装置100。
在各种实施例中,缓冲存储器可以用作存储器控制器200的工作存储器或高速缓存存储器。缓冲存储器可以存储待由存储器控制器200执行的代码或命令。并且,缓冲存储器可以存储待由存储器控制器200处理的数据。此外,缓冲存储器可以存储指示逻辑地址与物理地址之间的映射关系的逻辑-物理地址映射表。在实施例中,缓冲存储器装置可以使用SRAM或DRAM来实施,其中DRAM诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR4SDRAM、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或rambus动态随机存取存储器(RDRAM)。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以以交叉方式控制存储器装置100以便增强操作性能。
存储器控制器200可以进一步包括增长缺陷处理单元210。增长缺陷处理单元210可以对存储器装置100中包括的存储器单元之中的、已经发生增长缺陷或存在发生增长缺陷的可能性的存储器单元进行处理。例如,增长缺陷处理单元210可以使在已经检测到增长缺陷的存储器单元中存储的数据无效,使得不再使用相应存储器单元。增长缺陷处理单元210可以将包括存在发生增长缺陷可能性的存储器单元的存储块设置为只读块,其中只读块仅允许被执行读取操作。
增长缺陷处理单元210可以基于从存储器装置100输入的编程脉冲信息来确定存储器单元中是否存在发生增长缺陷的可能性。例如,增长缺陷处理单元210可以读取在编程操作期间施加的编程脉冲的数量已经超过参考值的页面,并且如果读取操作已经通过,则可以将包括在编程操作期间施加的编程脉冲的数量已经超过参考值的页面的存储块设置为增长坏块候选块。增长缺陷处理单元210可以将被设置为增长坏块候选块的存储块设置为仅允许被执行读取操作的只读块,并且可以不再对只读块执行编程操作。如果读取操作失败,则增长缺陷处理单元210可以使存储在相应页面中的数据无效,并且可以对存储器装置100中包括的另外存储器区域再次执行编程操作。
主机300可以使用诸如以下的各种通信方法中的至少一种通信方法与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互联(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存式DIMM(RDIMM)、低负载DIMM(LRDIMM)通信方法。
图2是示出了存储器装置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来选择被选择存储块中的至少一个字线WL。
在编程操作期间,地址解码器121可以将编程电压施加至被选择字线并且将电平低于编程电压的电平的通过电压施加至未选择字线。在编程验证操作期间,地址解码器21可以将验证电压施加至被选择字线并且将高于验证电压的验证通过电压施加至未选择字线。
在读取操作期间,地址解码器121可以将读取电压施加至被选择字线并且将高于读取电压的通过电压施加至未选择字线。
在实施例中,可以基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,待输入至存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址并且根据解码的块地址选择相应的一个存储块。在擦除操作期间,地址解码器121可以将接地电压施加至与被选择存储块联接的字线。
在实施例中,地址解码器121可以对传输的地址ADDR中的列地址进行解码。解码的列地址DCA可以被传输至读取/写入电路123。在实施例中,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的部件。
电压发生器122可以使用提供至存储器装置100的外部供应电压来生成多个电压。电压发生器122可以在控制逻辑130的控制下操作。
在实施例中,电压发生器122可以通过调节外部供应电压来生成内部供应电压。从电压发生器122生成的内部供应电压可以用作存储器装置100的操作电压。
在实施例中,电压发生器122可以通过使用外部供应电压或内部供应电压来生成多个电压。电压发生器122可以生成存储器装置100中所需的各种电压。例如,电压发生器122可以生成多个编程电压、多个通过电压、多个选择读取电压和多个取消选择(unselect)读取电压。
例如,电压发生器122可以包括用于接收内部供应电压的多个泵电容器(pumpingcapacitors),并且可以在控制逻辑130的控制下通过选择性地激活多个泵电容器来生成多个电压。
生成的电压可以通过地址解码器121被供应至存储器单元阵列110。
读取/写入电路123可以包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm分别通过第一位线BL1至第m位线BLm联接至存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm可以在控制逻辑130的控制下操作。
第一页面缓冲器PB1至第m页面缓冲器PBm可以执行与数据输入/输出电路124的数据通信。在编程操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过数据输入/输入电路124和数据线DL来接收待存储的数据DATA。
在编程操作期间,在将编程脉冲施加至被选择字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以将通过数据输入/输出电路124接收的数据DATA通过位线BL1至BLm传输至被选择存储器单元。基于传输的数据DATA而对被选择页面中的存储器单元进行编程。联接至被施加编程许可电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。联接至被施加编程禁止电压(例如,供应电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过位线BL1至BLm从被选择存储器单元读取页面数据。
在读取操作期间,读取/写入电路123可以通过位线BL从被选择页面中的存储器单元读取数据DATA,并且将读取的数据DATA输出至数据输入/输出电路124。
在擦除操作期间,读取/写入电路123可以使位线BL浮置(float)。在实施例中,读取/写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL联接至第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124可以在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可以从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可以将从读取/写入电路123中包括的第一页面缓冲器PB1至第m页面缓冲器PBm接收的数据输出至外部控制器。
控制逻辑130可以联接至地址解码器121、电压发生器122、读取/写入电路123和数据输入/输出电路124。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130尅响应于从外部装置传输的命令CMD而操作。
在实施例中,控制逻辑130可以进一步包括编程脉冲信息生成单元131和状态寄存器132。编程脉冲信息生成单元131可以具有与参照图1描述的编程脉冲信息生成单元131相同的结构。在本文中,将在后面参照图8至图10详细描述编程脉冲信息生成单元131和状态寄存器132的结构和操作。
图3是示出图2存储器单元阵列110的实施例的示图。
参照图3,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块可以包括堆叠在衬底上的多个存储单元。这些存储单元在+X方向、+Y方向和+Z方向上布置。将参照图4和图5更详细地描述每个存储块的结构。
图4是示出了根据本公开实施例的图3的存储块BLK1至BLKz中的任何一个存储块BLKa的电路图。
参照图4,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,m个单元串可以在行方向(即,+X方向)上布置。在图4中,两个单元串被示出为在列方向(即,+Y方向)上布置。然而,该示图仅是为了便于说明,将理解的是可以在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以各自具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱(pillar)。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接至在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接至不同的源极选择线。在图4中,在第一行中的单元串CS11至CS1m的源极选择晶体管联接至第一源极选择线SSL1。在第二行中的单元串CS21至CS2m的源极选择晶体管联接至第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接至单个源极选择线。
每个单元串中的第一存储器单元MC1至第n存储器单元MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以划分成第一存储器单元MC1至第p存储器单元MCp和第p+1存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp被顺序地布置在与+Z方向相反的方向上并且串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1存储器单元MCp+1至第n存储器单元MCn被顺序地布置在+Z方向上并且串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第p+1存储器单元MCp+1至第n存储器单元MCn通过管道晶体管PT彼此联接。每个单元串中的第一存储器单元MC1至第n存储器单元MCn的栅极分别联接至第一字线WL1至第n字线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和DLS2中的任意一个时,可以选择布置在单个行方向上的相应单元串。在选择字线WL1至WLn中的任意一个时,可以从被选择的单元串中选择相应的单个页面。
在实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的、偶数编号的单元串可以联接至各自的偶数位线。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的、奇数编号的单元串可以联接至各自的奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元。例如,可以设置至少一个或多个虚拟存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCp之间的电场。可选地,可以设置至少一个或多个虚拟存储器单元以减小漏极选择晶体管DST和存储器单元MCp+1至Mcn之间的电场。随着虚拟存储器单元的数量增加,存储块BLKa的操作可靠性可以增加,同时存储块BLKa的大小可被增大。随着虚拟存储器单元的数量减少,存储块BLKa的大小可以减小,但是存储块BLKa的操作可靠性可能降低。
为了高效地控制至少一个虚拟存储器单元,虚拟存储单元中的每一个可以具有所需的阈值电压。在对存储块BLKa执行擦除操作之前或之后,可以对虚拟存储器单元中的全部或一些执行编程操作。在已经执行编程操作之后来执行擦除操作的情况下,通过控制待施加至与各个虚拟存储器单元联接的虚拟字线的电压,虚拟存储器单元可以具有所需的阈值电压。
图5是示出根据本公开实施例的图3的存储块BLK1至BLKz中的任何一个存储块BKLb的电路图。
参照图5,存储块BLKb可以包括多个单元串CS11’至CS1m’和CS21’至CS2m’。单元串CS11’至CS1m’和CS21’至CS2m’中的每一个在+Z方向上延伸。单元串CS11’至CS1m’和CS21’至CS2m’中的每一个可以包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST,其中衬底位于存储块BLKb的下部。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接至相同的源极选择线。布置在第一行中的单元串CS11’至CS1m’的源极选择晶体管可以联接至第一源极选择线SSL1。布置在第二行中的单元串CS21’至CS2m’的源极选择晶体管可以联接至第二源极选择线SSL2。在实施例中,单元串CS11’至CS1m’和CS21’至CS2m’的源极选择晶体管可以共同联接至单个源极选择线。
每个单元串中的第一存储器单元MC1至第n存储器单元MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别联接至第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MC1至MCn之间。布置在行方向中的单元串的漏极选择晶体管可以联接至在行方向上延伸的漏极选择线。第一行中的单元串CS11’至CS1m’的漏极选择晶体管联接至第一漏极选择线DSL1。第二行中的单元串CS21’至CS2m’的漏极选择晶体管可以联接至第二逻辑选择线DSL2。
因此,除了从每个单元串排除管道晶体管PT之外,图5的存储块BLKb可以具有与图4的存储块BLKa的电路相似的等效电路。
在实施例中,可以设置偶数位线和奇数位线来替代第一位线BL1至第m位线BLm。布置在行方向上的单元串CS11’至CS1m’或CS21’至CS2m’中的偶数编号的单元串可以联接至各自的偶数位线,并且布置在行方向上的单元串CS11’至CS1m’或CS21’至CS2m’中的奇数编号的单元串可以联接至各自的奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元。例如,可以设置至少一个或多个虚拟存储器单元以减小源极选择晶体管SST和存储器单元MC1至MCn之间的电场。可选地,可以设置至少一个或多个虚拟存储器单元以减小漏极选择晶体管DST和存储器单元MC1至MCn之间的电场。随着虚拟存储器单元的数量增加,存储块BLKb的操作可靠性可以增加,同时存储块BLKb的大小可被增大。随着虚拟存储器单元的数量减少,存储块BLKb的大小可以减小,但是存储块BLKb的操作可靠性可能降低。
为了高效地控制至少一个虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对虚拟存储器单元的全部或一些执行编程操作。在编程操作已经执行之后来执行擦除操作的情况下,通过控制待施加至与各个虚拟存储器单元联接的虚拟字线的电压,虚拟存储器单元可以具有所需的阈值电压。
图6是示出根据本公开实施例的通过编程操作形成的存储器单元的阈值电压分布的示图。
图7是示出根据本公开实施例的存储器装置的编程操作的示图。
下文中,假设多个存储器单元中的每一个是能够存储两位数据的多层单元(MLC)。然而,本公开的范围不限于前述的情况。例如,多个存储器单元中的每一个可以是能够存储三位数据的三层单元(TLC)或能够存储四位数据的四层单元(QLC)。
参照图6和图7,擦除状态E可以对应于数据“11”,第一编程状态P1可以对应于数据“10”,第二编程状态P2可以对应于数据“00”,并且第三编程装置P3可以对应于数据“01”。然而,前述的位顺序仅仅是示例性的并且可以以各种方式修改。
存储器装置100的编程操作可以包括多个编程循环PL1至PLn。换言之,存储器装置100可以执行多个编程循环PL1至PLn以对被选择的存储器单元编程,使得被选择的存储器单元的每一个具有多个编程状态P1、P2和P3中的任何一个。
多个编程循环PL1至PLn中的每一个可以包括:施加编程脉冲的编程电压施加步骤PGM Step;以及施加验证电压以确定存储器单元是否已经被编程的验证步骤Verify Step。
例如,在执行第一编程循环PL1时,施加第一编程脉冲Vpgm1,并且此后,顺序地施加第一验证电压Vvfy1至第三验证电压Vvfy3以验证存储器单元的编程状态。在此,第一验证电压Vvfy1可以用于对目标编程状态为第一编程状态P1的存储器单元执行验证操作。第二验证电压Vvfy2可以用于对目标编程状态为第二目标编程状态P2的存储器单元执行验证操作。第三验证电压Vvfy3可以用于对目标编程状态为第三编程状态P3的存储器单元执行验证操作。
已经通过相应验证电压Vvfy1至Vvfy3执行的验证操作的存储器单元(验证通过存储器单元)被确定为具有相应的目标编程状态,并且此后可以在第二编程循环PL2中被禁止编程。在第二编程循环PL2中,施加比第一编程脉冲Vpgm1高单位电压ΔVpgm的第二编程脉冲Vpgm2,以便对编程禁止存储器单元之外的存储器单元编程。随后,以与第一编程循环PL1的验证操作相同的方式执行验证操作。例如,“验证通过”表示通过相应的验证电压,存储器单元被确定为断开单元(off-cell)。
如上所述,在存储器装置100对每一个都能够存储两位数据的多层单元(MLC)编程时,存储器装置100使用第一验证电压Vvfy1至第三验证电压Vvfy3来验证目标编程状态为相应编程状态的存储器单元。
在验证步骤,可以将验证电压施加至被选择的字线,该被选择的字线为与被选择的存储器单元联接的字线。页面缓冲器可以基于流过与各个被选择的存储器单元联接的位线的电压或电流,来确定存储器单元是否已经通过验证。
图8是示出了图2的编程脉冲信息生成单元131的操作的示图。
参照图8,在编程操作完成时,编程脉冲信息生成单元131可以接收在相应编程操作期间施加的编程脉冲的数量。
编程脉冲信息生成单元131可以确定在编程操作期间施加的编程脉冲的数量是否已经超过预设参考值。编程脉冲信息生成单元131可以基于确定结果来存储编程脉冲信息。例如,如果在编程操作期间施加的编程脉冲的数量已经超过预设参考值,则编程脉冲信息生成单元131可以生成设置状态的编程脉冲信息。如果在编程操作期间施加的编程脉冲的数量等于或小于预设参考值,则编程脉冲信息生成单元131可以生成释放状态的编程脉冲信息。在实施例中,设置状态的编程脉冲信息可以表示为“0”,并且释放状态的编程脉冲信息可以表示为“1”。可选地,设置状态的编程脉冲信息可以表示为“1”,并且释放状态的编程脉冲信息可以表示为“0”。
编程脉冲信息发生单元131可以将生成的编程脉冲信息存储至状态寄存器132或编程脉冲信息存储单元133。
图9是示出图8的状态寄存器132的示图。
状态寄存器132可以存储表示存储器装置的操作状态的状态信息。存储在状态寄存器132中的数据的值可以根据存储器装置的操作而变化。
参照图9,存储在状态寄存器132中的数据可以包括就绪信息1301、编程脉冲信息1303和失败信息1305。
就绪信息1301可以表示存储器装置就绪于执行新的命令。在实施例中,就绪信息1301可以表示接收新的命令是可能的,并且先前接收命令的操作已经完成。存储器控制器200可以使用就绪信息1301来确定与先前已经提供的命令对应的操作是否已经完成。
编程脉冲信息1303可以是表示在由存储器装置100执行的编程操作期间施加的编程脉冲的数量是否已经超过参考值的信息。例如,如果编程脉冲信息是设置状态,则可以表示在编程操作期间施加的编程脉冲的数量已经超过了参考值。如果编程脉冲操作是释放状态,则可以表示在编程操作期间施加的编程脉冲的数量等于或小于参考值。在实施例中,设置状态的编程脉冲信息可以表示为“0”,并且释放状态的编程脉冲信息可以表示为“1”。可选地,设置状态的编程脉冲信息可以表示为“1”,并且释放状态的编程脉冲信息可以表示为“0”。
失败信息1305可以表示与最新命令对应的操作已经失败。在实施例中,失败信息1305可以具有仅用于编程操作或擦除操作的有效值。在各种实施例中,失败信息1305可以表示与在最新命令之前接收的命令对应的操作已经失败。在编程操作期间,如果即使施加了最大编程脉冲计数的编程脉冲,目标存储器单元仍没有通过编程验证步骤,则存储器装置100可以确定编程操作已经失败。在这种情况下,存储器装置100可以将表示编程操作已经失败的失败信息1305存储至状态寄存器。
图10是示出了图8的编程脉冲信息存储单元133的示图。
参照图10,编程脉冲信息存储单元133可以包括页面地址PAGE ADDRESS和编程脉冲信息PGM PULSE INFO。编程脉冲信息存储单元133可以是寄存器或SRAM。
编程脉冲信息PGM PULSE INFO可以是表示在由存储器装置执行的编程操作期间施加的编程脉冲的数量是否已经超过参考值的信息。例如,如果编程脉冲信息PGM PULSEINFO是设置状态,则可以表示在编程操作期间施加的编程脉冲的数量已经超过参考值。如果编程脉冲信息PGM PULSE INFO是释放状态,则可以表示在编程操作期间施加的编程脉冲的数量等于或小于参考值。在实施例中,设置状态的编程脉冲信息PGM PULSE INFO可以表示为“0”,并且释放状态的编程脉冲信息PGM PULSE INFO可以表示为“1”。可选地,设置状态的编程脉冲信息PGM PULSE INFO可以表示为“1”,并且释放状态的编程脉冲信息PGM PULSEINFO可以表示为“0”。
图11是示出了根据本公开的实施例在存储器控制器200和存储器装置100之间的数据通信的示图。
参照图11,如果在存储器控制器200已经将编程命令提供至存储器装置100之后经过了预设时间,则存储器控制器200可以将状态读取命令STATUS READ提供至存储器装置100。
状态读取命令SATUS READ可以是请求状态寄存器的值的命令,其中状态寄存器存储表示存储器装置100的操作装置的状态信息。详细地,存储器装置100可以根据存储器装置100的操作状态来更新存储器装置100中包括的状态寄存器(未示出)。
当接收到状态读取命令STATUS READ时,存储器装置100可以响应于状态读取命令STATUS READ而将存储在状态寄存器中的值提供至存储器控制器200作为状态读取响应。
根据本公开的实施例,存储器装置100可以将编程脉冲信息存储至状态寄存器,其中编程脉冲信息表示在由存储器装置100执行的编程操作期间施加的编程脉冲的数量是否已经超过参考值。例如,如果在编程操作期间施加的编程脉冲的数量已经超过参考值,则存储器装置100可以将设置状态的编程脉冲信息存储至状态寄存器。如果在编程操作期间施加的编程脉冲的数量等于或小于参考值,则存储器装置100可以将释放状态的编程脉冲信息存储至状态寄存器。存储器装置100可以响应于状态读取命令STATUS READ,将包括编程脉冲信息的状态寄存器值提供至存储器控制器200作为状态读取响应。
图12是示出了根据本公开的实施例在存储器控制器200和存储器装置100之间的数据通信的示图。
参照图12,存储器装置100可以生成编程脉冲信息PGM PULSE INFO,其中编程脉冲信息PGM PULSE INFO表示在由存储器装置100执行的编程操作期间施加的编程脉冲的数量是否超过参考值。存储器装置100可以将生成的编程脉冲信息PGM PULSE INFO存储至编程脉冲信息存储单元。编程脉冲信息存储单元可以是寄存器或SRAM。
因此,存储器控制器200可以通过将获取参数命令GET PARAMEER提供至存储器装置100来获得编程脉冲信息PGM PULSE INFO。详细地,获取参数命令GET PARAMETER可以是请求存储器装置100中包括的多个寄存器之中的与参数地址对应的寄存器中存储的数据的命令。存储器控制器200可以将与编程脉冲信息存储单元对应的获取参数命令GETPARAMETER和参数地址提供至存储器装置100。存储器装置100可以响应于从存储器控制器200输入的获取参数命令GET PARAMETER,将存储在编程脉冲信息存储单元中的编程脉冲信息PGM PULSE INFO提供至存储器控制器200。
图13是示出了图1的增长缺陷处理单元210的操作的示图。
参照图13,增长缺陷处理单元210可以包括状态读取控制单元211和命令控制单元212。
在状态读取控制单元211将编程命令提供至存储器装置100之后已经经过预设时间时,状态读取控制单元211可以将状态读取命令STATUS READ提供至存储器装置100。在实施例中,预设时间可以是执行编程操作所需的预期时间tPROG。
状态读取命令STATUS READ可以是请求状态寄存器的值的命令,其中状态寄存器存储表示存储器装置100的操作状态的状态信息。详细地,存储器装置100可以根据存储器装置100的操作状态来更新存储器装置100中包括的状态寄存器(未示出)。当接收到状态读取命令STATUS READ时,存储器装置100可以响应于状态读取命令STATUS READ,将状态寄存器中存储的值提供至存储器控制器200作为状态读取响应。状态读取控制单元211可以响应于状态读取命令STATUS READ来接收从存储器装置100提供的状态读取响应。
基于状态读取响应中包括的编程脉冲信息,状态读取控制单元211可以确定相应编程操作的目标页面中的增长缺陷可能性。详细地,如果编程脉冲信息是设置状态,则状态读取控制单元211可以确定目标页面中的增长缺陷可能性较高。另一方面,如果编程脉冲信息是释放状态,则状态读取控制单元211可以确定目标页面中的增长缺陷可能性较低。
如果在存储器单元中发生增长缺陷的可能性被确定为高,则状态读取控制单元211可以将包括目标页面的存储块设置为增长坏块候选块(GBB CANDIDATE)。在实施例中,状态读取控制单元211可以将包括在编程操作期间施加的编程脉冲的数量已经超过参考值的页面的存储块设置为增长坏块候选块。
命令控制单元212可以提供读取命令CMD以读取存储在增长坏块候选块的存储器单元中的数据。详细地,为了确定通过编程操作存储的数据是否被正常读取,命令控制单元212可以向存储器装置100提供读取命令以从增长坏块候选块读取已编程数据。如果读取已编程数据的读取操作已经通过,则数据可以被确定为有效数据。在这种情况下,存储器控制器200可以将增长坏块候选块设置为只读存储块。换言之,存储器控制器200可以允许随后仅对增长坏块候选块执行读取操作,而不允许对增长坏块候选块执行编程操作。
如果读取操作失败,则存储器控制器200可以将相应页面中存储的数据处理为无效数据。在这种情况下,命令控制单元212可以控制存储器装置100利用增长坏块候选块中存储的原始版本数据,对另外的存储器区域再次执行编程操作。
图14是示出了图1的增长缺陷处理单元210的实施例的示图。图1的增长缺陷处理单元210可以对应于图14的增长缺陷处理单元310。
参照图14,增长缺陷处理单元310可以包括增长缺陷检测单元311和命令控制单元312。
当基于状态读取响应,存储器控制器200识别出编程操作已经完成时,增长缺陷检测单元311可以将参数设置命令GET PARAMETER提供至存储器装置100,以请求存储在编程脉冲信息存储单元中的编程脉冲信息PGM PULSE INFO。
此后,增长缺陷检测单元311可以接收存储器装置100响应于参数设置状态命令GET PARAMETER而提供的编程脉冲信息PGM PULSE INFO。
基于接收的编程脉冲信息,增长缺陷检测单元311可以确定相应编程操作的目标页面中的增长缺陷可能性。详细地,如果编程脉冲信息是设置状态,则增长缺陷检测单元311可以确定目标页面中的增长缺陷可能性较高。另一方面,如果编程脉冲信息是释放状态,则增长缺陷检测单元311可以确定目标页面中的增长缺陷可能性较低。
如果存储器单元中发生增长缺陷的可能性被确定为较高,则增长缺陷检测单元311可以将包括目标页面的存储块设置状态为增长坏块候选块(GBB CANDIDATE)。在实施例中,增长缺陷检测单元311可以将包括在编程操作期间施加的编程脉冲的数量已经超过参考值的页面的存储块设置为增长坏块候选块。
命令控制单元312可以提供读取命令CMD,以用于读取增长坏块候选块的存储块中存储的数据。详细地,为了确定通过编程操作存储的数据是否被正常读取,命令控制单元312可以向存储器装置100提供读取命令,以用于从增长坏块候选块读取已编程数据。如果读取已编程数据的读取操作已经通过,则可以将数据确定为有效数据。在这种情况下,存储器控制器200可以将增长坏块候选块设置为只读存储块。换言之,存储器控制器200可以允许随后仅对增长坏块候选块执行读取操作,而不允许对增长坏块候选块执行编程操作。
如果读取操作已经失败,则存储器控制器200可以将相应页面中存储的数据处理为无效数据。在这种情况下,命令控制单元312可以控制存储器装置100利用增长坏块候选块中存储的原始版本数据,对另外的存储器区域再次执行编程操作。
图15是示出了根据本公开实施例的存储器装置100的操作的流程图。
参照图15,在步骤S1501,存储器装置100可以从存储器控制器200接收命令。例如,命令可以是编程命令。
在步骤S1503和S1505,存储器装置100执行与接收的编程命令对应的编程操作。详细地,存储器装置100可以执行编程循环,编程循环包括施加编程脉冲的编程电压施加步骤和验证步骤。
在步骤S1505,存储器装置100可以确定目标存储器单元是否已经通过验证步骤。存储器装置100可以执行步骤S1503直到目标存储器单元通过验证步骤。在步骤S1505,如果目标存储器单元已经通过验证步骤,则进程进行至步骤S1507。
在步骤S1507,存储器装置100可以确定在编程操作期间施加的编程脉冲的数量是否已经超过参考值。根据确定结果,如果编程脉冲的数量已经超过参考值,则进程进行至步骤S1509,如果编程脉冲的数量没有超过参考值,则编程操作结束。在各种实施例中,如果在编程操作期间施加的编程脉冲的数量等于或小于参考值,则存储器装置100可以将释放状态的编程脉冲信息存储至状态寄存器或编程脉冲信息存储单元。
在步骤S1509,存储器装置100可以将设置状态的编程脉冲信息输入至状态寄存器或编程脉冲信息存储单元。
图16是示出了根据本公开实施例的存储器控制器200的操作的流程图。
参照图16,在步骤S1601,存储器控制器200可以将编程命令提供至存储器装置100。在将编程命令提供至存储器装置100时,存储器控制器200可以与编程命令一起提供作为待被编程的数据的编程数据以及表示待被编程有编程数据的存储器区域的编程地址。
在步骤S1603,存储器控制器200可以将状态读取命令提供至存储器装置100。在实施例中,当在步骤S1601提供编程命令之后已经经过预设时间时,在步骤S1603,存储器控制器200可以将状态读取命令提供至存储器装置100。状态读取命令可以是用于请求状态寄存器的值的命令,其中状态寄存器存储表示存储器装置100的操作状态的状态信息。
在步骤S1605,存储器控制器200可以接收从存储器装置100提供的状态读取响应。从存储器装置100提供的状态读取响应可以是状态寄存器中存储的值。
在步骤S1607,存储器控制器200可以基于从存储器装置100提供的状态读取响应中包括的状态信息,来确定编程操作是否已经完成。状态信息可以包括就绪信息、编程脉冲信息以及失败信息。存储器控制器200可以基于就绪信息确定存储器装置100是否已经完成编程操作。根据确定结果,如果编程操作尚未完成,则进程可以返回至步骤S1603。如果编程操作已经完成,则进程可以进行至步骤S1609。
在步骤S1609,存储器控制器200可以检测已完成编程操作的目标页面中的增长缺陷可能性。详细地,存储器控制器200可以基于编程脉冲信息,来确定已完成编程操作的目标页面中的增长缺陷可能性。例如,如果编程脉冲信息是设置状态,则存储器控制器200可以确定目标页面中的增长缺陷可能性较高,并且可以进行至步骤S1611。另一方面,如果编程脉冲信息是释放状态,则存储器控制器200可以确定目标页面中的增长缺陷可能性较低,并且可以进行至步骤S1619。在步骤S1619,存储器控制器200可以确定已经通过编程操作,并且可以存储编程操作的执行结果或将该结果提供至外部主机。
在步骤S1611,存储器控制器200可以将包括在编程操作期间施加的编程脉冲的数量超过参考值的页面的存储块设置为增长坏块候选块。存储器控制器200可以向存储器装置100提供读取命令,以用于从目标页面读取已编程数据。此后,根据读取命令,存储器装置100可以读取目标页面中存储的数据。
在步骤S1613,存储器控制器200可以确定读取操作是否已经通过。详细地,存储器装置100可以在存储器控制器200的控制下将读取的数据提供至存储器控制器200。存储器控制器200可以对读取的数据执行错误校正码(ECC)解码操作。如果解码操作已经成功,则可以表示读取操作已经通过。如果解码操作已经失败,则可以表示读取操作失败。如果读取操作已经通过,则相应数据可以是有效数据。然而,由于目标页面中的增长缺陷可能性较高,因此进程进行至步骤S1617。如果读取操作尚未通过,则进程进行至步骤S1615。
在步骤S1615,因为目标页面中存储的数据是无效数据,所以存储器控制器200可以利用目标页面中存储的原始版本数据,对另外的存储器区域再次执行编程操作。
在步骤S1617,存储器控制器200可以将增长坏块候选块设置为仅允许对增长坏块候选块执行读取操作的只读存储块,而不再对增长坏块候选块执行编程操作。
图17是示出了根据本公开实施例的存储器控制器200的操作的流程图。
参照图17,在步骤S1701,存储器控制器200可以将编程命令提供至存储器装置100。在提供编程命令至存储器装置100时,存储器控制器200可以与编程命令一起提供作为待编程数据的编程数据以及表示待被编程有编程数据的存储器区域的编程地址。
在步骤S1703,存储器控制器200可以将状态读取命令提供至存储器装置100。在实施例中,当在步骤S1701提供编程命令之后已经经过预设时间时,在步骤S1703,存储器控制器200可以将状态读取命令提供至存储器装置100。状态读取命令可以是用于请求状态寄存器的值的命令,其中状态寄存器存储表示存储器装置100的操作状态的状态信息。
在步骤S1705,存储器控制器200可以接收从存储器装置100提供的状态读取响应。从存储器装置100提供的状态读取响应可以是状态寄存器中存储的值。
在步骤S1707,存储器控制器200可以基于从存储器装置100提供的状态读取响应中包括的状态信息,来确定编程操作是否已经完成。状态信息可以包括就绪信息和失败信息。存储器控制器200可以基于就绪信息确定存储器装置100是否已经完成编程操作。根据确定的果,如果编程操作尚未完成,则进程可以返回至步骤S1703。如果编程操作已经完成,则进程可以进行至步骤S1709。
在步骤S1709,存储器控制器200可以向存储器装置100请求编程脉冲信息PGMPULSE INFO。详细地,存储器控制器200可以将与编程脉冲信息存储单元对应的获取参数命令GET PARAMETER和参数地址提供至存储器装置100。
在步骤S1711,存储器控制器200可以接收存储器装置100响应于获取参数命令GETPARAMEER而提供的并且存储在编程脉冲信息存储单元中的编程脉冲信息PGM PULSE INFO。
在步骤S1713,存储器控制器200可以检测完成编程操作的目标页面中的增长缺陷可能性。详细地,存储器控制器200可以基于编程脉冲信息PGM PULSE INFO,来确定完成编程操作的目标页面中的增长缺陷可能性。例如,如果编程脉冲信息是设置状态,则存储器控制器200可以确定目标页面中的增长缺陷可能性较高,并且可以进行至步骤S1715。另一方面,如果编程脉冲信息是释放状态,则存储器控制器200可以确定目标页面中的增长缺陷可能性较低,并且可以进行至步骤S1723。在步骤S1723,存储器控制器200可以确定编程操作已经通过,并且可以存储编程操作的执行结果或将该结果提供至外部主机。
在步骤S1715,存储器控制器200可以将包括在编程操作期间施加的编程脉冲的数量超过参考值的页面的存储块设置为增长坏块候选块。存储器控制器200可以向存储器装置100提供读取命令,以用于从目标页面读取编程数据。此后,根据读取命令,存储器装置100可以读取目标页面中存储的数据。
在步骤S1717,存储器控制器200可以确定读取操作是否已经通过。详细地,存储器装置100可以在存储器控制器200的控制下将读取数据提供至存储器控制器200。存储器控制器200可以对读取数据执行错误校正码(ECC)解码操作。如果解码操作成功,则可以表示读取操作已经通过。如果解码操作失败,则可以表示读取操作已经失败。如果读取操作已经通过,则相应数据可以是有效数据。然而,因为目标页面中的增长缺陷可能性较高,所以进程进行至步骤S1721。如果读取操作尚未通过,则进程进行至步骤S1719。
在步骤S1719,因为相应页面中存储的数据是无效数据,所以存储器控制器200可以利用目标页面中存储着原始版本数据,对另外的存储器区域再次执行编程操作。
在步骤S1721,存储器控制器200可以将增长坏块候选块设置为仅允许对增长坏块候选块执行读取操作的只读存储块,而不再对增长坏块候选块执行编程操作。
图18是示出了根据本公开实施例的图1的存储器控制器的示例的示图。
参照图18,存储器控制器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可以使用去随机化种子将从存储器装置接收的数据去随机化。去随机化数据可以被输出至主机。
在实施例中,处理器1010可以驱动软件或固件以执行随机化操作或去随机化操作。
在实施例中,处理器1010可以执行参照图1、图13和图14描述的增长缺陷处理单元210的操作。
存储器缓冲器电路1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲电路1020可以存储待由处理器1010执行的代码和命令。存储器缓冲电路1020可以存储待由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行错误校正。ECC电路1030可以基于待通过存储器接口1060而写入存储器装置100的数据来执行ECC编码操作。经ECC编码的数据可以通过存储器接口1060而被传输至存储器装置100。ECC电路1030可以对通过存储器接口1060而从存储器装置100接收的数据执行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的控制下与存储器装置100通信。存储器接口1060可以通过信道与存储器装置100通信命令、地址和数据。
例如,存储器控制器1000可以既不包括存储器缓冲器1020也不包括缓冲器控制电路1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以划分成控制总线和数据总线。数据总线可以在存储器控制器1000中传输数据。控制总线可以在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,使得可以既不相互干涉也不相互影响。数据总线可以联接至主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接至主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图19是示出了应用根据本公开实施例的存储装置的存储卡系统2000的框图。
参照图19,存储卡系统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可以执行参照图1、图13和图14描述的增长缺陷处理单元210的操作。
例如,存储器控制器2100或存储器装置2200可以以诸如以下的封装类型封装:堆叠封装(PoP)、球栅阵列封装(BGAs)、芯片级封装(CSPs)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、叠片内裸片、晶片内裸片、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制四方扁平塑料封装(MQFP)、薄四方扁平封装(TQFP)、小外形封装(SOIC)、收缩小外形封装(SSOP)、薄型小外形封装(TSOP)、薄四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)和晶圆级处理堆叠封装(WSP),并且存储器控制器2100或存储器装置2200可以提供为单个半导体封装。可选地,存储器装置2200可以包括多个非易失性存储器芯片,并且多个非易失性存储器芯片可以基于上述封装方法来封装并且可以提供为单个半导体封装。
例如,存储器控制器2100和存储器装置2200可以集成为单个半导体装置。例如,存储器控制器2100和存储器装置2200可以集成为单个半导体装置以形成固态硬盘(SSD)。在实施例中,存储器控制器2100和存储器装置2200可以集成为单个半导体装置以形成存储卡。例如,存储器控制器2100和存储器装置2200可以集成为单个半导体装置以形成诸如以下的存储卡:个人计算机存储卡国际协议(PCMCIA)、标准闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD、或SDHC)、或通用闪存(UFS)。
例如,存储器装置2200可以是参照图1描述的存储器装置100。
图20是示出了应用根据本公开实施例的存储装置的固态硬盘(SSD)系统3000的框图。
参照图20,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和SSD3200之间的接口的信号。例如,信号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,并且可以通过电力PWR充电。在来自主机3100的电力供应没有平稳执行时,辅助电源3230可以供应SSD 3200的电力。在实施例中,辅助电源3230可以位于SSD3200内部或位于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的非易失性存储器。
例如,非易失性存储器装置3221至322n中的每一个可以是参照图1描述的存储器装置100。
图21是示出了应用根据本公开实施例的存储装置的用户系统4000的框图。
参照图21,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
例如,应用处理器4100可以运行用户系统4000,即操作系统(OS)或用户程序中包括的部件。在实施例中,应用处理器4100可以包括用于控制用户系统4000中包括的部件的控制器、接口、图形引擎等。应用处理器4100可以设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM和LPDDR3SDRAM的易失性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闪速存储器或具有三维结构的NAND闪速存储器。在实施例中,存储模块4400可以被设置为用户系统4000的可移除存储介质(即,可移除驱动器),诸如存储卡或外部驱动器。
在实施例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以为参照图1描述的存储器装置100。
用户接口4500可以包括用于将数据或指令输入至应用处理器4100或将数据输出至外部装置的接口。在实施例中,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触控板、触控球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机。
如上所述,本公开的各种实施例可以提供一种能够检测存在发生增长缺陷的可能性的区域的存储装置,以及该存储装置的操作方法。
尽管已经出于说明的目的公开了本公开的示例性实施例,本领域的技术人员将理解的是各种变型、增加和替换是可能的。因此,本公开的范围必须由所附权利要求和权利要求的等同物而非由前述的说明来限定。
尽管已经描述了本公开的实施例,本领域技术人员将理解的是在不背离本公开的范围和精神的情况下,各种变型、增加和替换是可能的。
在上述实施例中,所有步骤可以选择性地执行或被略过。此外,每个实施例中的步骤并不总是以给定的顺序顺次执行,而是可以随机执行。此外,本说明书和附图中公开的实施例旨在帮助本领域的普通技术人员更清楚地理解本公开而非旨在限制本公开的范围。换言之,本公开所述领域的普通技术人员将能够基于本公开的技术范围容易地理解各种变型是可能的。
已经参照附图描述了本公开的实施例,说明书中使用的具体术语或词语应根据本公开的精神来解释而不应限制本公开的主题。应理解的是,本文中描述的基础发明构思的多种变型和修改仍将落在如所附权利要求及其等同物限定的本公开的精神和范围内。

Claims (20)

1.一种存储器装置,包括:
存储器单元阵列,包括多个存储器单元;
外围电路,对所述多个存储器单元中的被选择存储器单元执行编程操作;以及
编程脉冲信息生成单元,生成编程脉冲信息,所述编程脉冲信息表示在所述编程操作期间施加至所述被选择存储器单元的编程脉冲的数量是否已经超过参考值。
2.根据权利要求1所述的存储器装置,其中所述编程脉冲信息生成单元将所生成的编程脉冲信息存储在状态寄存器中。
3.根据权利要求1所述的存储器装置,其中所述参考值为小于最大编程脉冲计数的值,所述最大编程脉冲计数为当所述编程操作被确定为已经失败时的编程脉冲的数量。
4.根据权利要求2所述的存储器装置,
其中所述状态寄存器存储表示所述存储器装置的状态的状态信息;以及
其中所述状态信息包括就绪信息、所述编程脉冲信息和失败信息,所述就绪信息用于表示接收新命令是可能的并且与先前接收命令对应的操作已经完成,所述失败信息用于表示与执行的命令对应的操作已经失败。
5.根据权利要求4所述的存储器装置,其中当所述编程操作期间被施加至所述被选择存储器单元的编程脉冲的数量超过所述参考值时,所述编程脉冲信息是设置状态,并且当所述编程操作期间被施加至所述被选择存储器单元的编程脉冲的数量等于或没有超过所述参考值时,所述编程脉冲信息是释放状态。
6.根据权利要求1所述的存储器装置,进一步包括存储所述编程脉冲信息的编程脉冲信息存储单元,
其中所述编程脉冲信息存储单元包括静态随机存取存储器。
7.根据权利要求2所述的存储器装置,其中所述存储器装置响应于从外部控制器输入的状态读取命令而输出存储在所述状态寄存器中的数据。
8.根据权利要求6所述的存储器装置,其中所述存储器装置响应于从外部控制器输入的参数请求命令而输出存储在所述编程脉冲信息存储单元中的所述编程脉冲信息。
9.一种操作存储器控制器的方法,包括:
将对应于编程操作的编程命令提供至存储器装置;
当在提供所述编程命令之后经过预设时间时,将状态读取命令提供至所述存储器装置;
接收所述存储器装置响应于所述状态读取命令而输出的状态读取响应;以及
基于所述状态读取响应中包括的编程脉冲信息,来确定已经被执行所述编程操作的存储器区域中是否存在发生增长缺陷的可能性。
10.根据权利要求9所述的方法,其中所述编程脉冲信息是表示在所述编程操作期间被施加至所述存储器区域的编程脉冲的数量是否超过参考值的信息。
11.根据权利要求10所述的方法,其中当所述编程操作期间被施加至所述被选择存储器单元的编程脉冲的数量超过所述参考值时,所述编程脉冲信息是设置状态,并且当所述编程操作期间被施加至所述被选择存储器单元的编程脉冲的数量等于或没有超过所述参考值时,所述编程脉冲信息是释放状态。
12.根据权利要求11所述的方法,其中所述确定包括:
读取所述存储器区域中存储的数据;以及
根据读取结果,来确定所述存储器区域中是否存在发生增长缺陷的可能性。
13.根据权利要求12所述的方法,其中根据所述读取结果来确定所述存储器区域中是否存在发生增长缺陷的可能性包括:当所述读取的结果为通过时,将包括所述存储器区域的存储块设置为增长坏块候选块。
14.根据权利要求12所述的方法,其中根据所述读取结果来确定所述存储器区域中是否存在发生增长缺陷的可能性包括:当所述读取的结果为失败时,将所述存储器区域中存储的数据设置为无效数据,并且对与已经被执行所述编程操作的存储器区域不同的存储器区域再次执行所述编程操作。
15.根据权利要求13所述的方法,其中与所述增长坏块候选块对应的存储器区域被设置为只读区域,仅允许对所述只读区域执行读取操作。
16.根据权利要求9所述的方法,其中所述状态读取命令是用于请求所述存储器装置中存储的状态寄存器的值的命令。
17.根据权利要求16所述的方法,
其中所述状态读取响应包括所述存储器装置的状态信息;并且
其中所述状态信息包括就绪信息、所述编程脉冲信息和失败信息,所述就绪信息用于表示接收新命令是可能的并且与先前接收的命令对应的操作已经完成,所述失败信息用于表示与执行的命令对应的操作已经失败。
18.根据权利要求10所述的方法,其中所述参考值是小于最大编程脉冲计数的值,所述最大编程脉冲计数为当所述编程操作被确定为已经失败时的编程脉冲的数量。
19.一种存储装置,包括:
存储器装置,存储编程脉冲信息,所述编程脉冲信息表示在编程操作期间施加至被选择存储器单元的编程脉冲的数量是否超过参考值;以及
存储器控制器,基于所述编程脉冲信息来确定所述被选择存储器单元中是否存在发生增长缺陷的可能性。
20.根据权利要求19所述的存储装置,其中所述参考值是小于最大编程脉冲计数的值,所述最大编程脉冲计数为当所述编程操作被确定为已经失败时的编程脉冲的数量。
CN201811300473.8A 2018-03-13 2018-11-02 存储装置及其操作方法 Active CN110275672B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0029349 2018-03-13
KR1020180029349A KR102524916B1 (ko) 2018-03-13 2018-03-13 저장 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN110275672A true CN110275672A (zh) 2019-09-24
CN110275672B CN110275672B (zh) 2022-11-01

Family

ID=67906062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811300473.8A Active CN110275672B (zh) 2018-03-13 2018-11-02 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10726932B2 (zh)
KR (1) KR102524916B1 (zh)
CN (1) CN110275672B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817518A (zh) * 2019-11-18 2021-05-18 爱思开海力士有限公司 存储器系统及其操作方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061757B2 (en) * 2018-03-13 2021-07-13 SK Hynix Inc. Storage device and method of operating the same
KR102429458B1 (ko) * 2018-04-03 2022-08-05 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
CN111599397B (zh) * 2019-02-20 2024-04-09 深圳通锐微电子技术有限公司 控制装置及控制方法
KR20200144000A (ko) * 2019-06-17 2020-12-28 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
JP7258697B2 (ja) * 2019-09-02 2023-04-17 キオクシア株式会社 半導体記憶装置
KR20210047198A (ko) * 2019-10-21 2021-04-29 에스케이하이닉스 주식회사 메모리 장치
US11150971B1 (en) 2020-04-07 2021-10-19 International Business Machines Corporation Pattern recognition for proactive treatment of non-contiguous growing defects
US11664076B2 (en) * 2020-12-31 2023-05-30 Micron Technology, Inc. Memory device including voltage control for diffusion regions associated with memory blocks
KR20220104423A (ko) 2021-01-18 2022-07-26 성기봉 페달엔진자전거(실용모델)
KR20220107578A (ko) * 2021-01-25 2022-08-02 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11942156B2 (en) * 2021-06-01 2024-03-26 SK Hynix Inc. Memory device related to performing a program operation on memory cells

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2874732A1 (fr) * 2004-08-31 2006-03-03 St Microelectronics Sa Procede de programmation de cellules memoire incluant une detection des degradations de transconductance
CN101123118A (zh) * 2006-06-21 2008-02-13 意法半导体股份有限公司 用于电编程半导体存储单元的方法及电路
US20100232226A1 (en) * 2009-03-10 2010-09-16 Jin Chul Kim Solid state storage system for uniformly using memory area and method controlling the same
CN102292775A (zh) * 2008-12-11 2011-12-21 桑迪士克公司 存储器的适应性擦除和软编程
CN102568569A (zh) * 2010-12-21 2012-07-11 海力士半导体有限公司 非易失性存储器件及其高速缓存编程方法
CN102646447A (zh) * 2011-02-22 2012-08-22 三星电子株式会社 非易失性存储器件、存储控制器及其方法
KR20140014518A (ko) * 2012-07-24 2014-02-06 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
CN106898378A (zh) * 2015-12-17 2017-06-27 华邦电子股份有限公司 半导体存储装置及与非型快闪存储器的编程方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493266B1 (en) * 2001-04-09 2002-12-10 Advanced Micro Devices, Inc. Soft program and soft program verify of the core cells in flash memory array
US7630237B2 (en) * 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
JP4901348B2 (ja) * 2006-07-20 2012-03-21 株式会社東芝 半導体記憶装置およびその制御方法
US8289748B2 (en) * 2008-10-27 2012-10-16 Seagate Technology Llc Tuning a variable resistance of a resistive sense element
KR101046743B1 (ko) 2008-12-24 2011-07-05 주식회사 하이닉스반도체 비휘발성 메모리 소자 및 비휘발성 메모리 소자의 프로그램동작 구동 횟수 기록 방법
KR20120087537A (ko) * 2011-01-28 2012-08-07 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그의 동작 방법
JP5002719B1 (ja) * 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
KR20130037059A (ko) * 2011-10-05 2013-04-15 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 동작 방법
KR20130078973A (ko) 2012-01-02 2013-07-10 삼성전자주식회사 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치
KR102090589B1 (ko) 2013-01-14 2020-03-18 삼성전자주식회사 비휘발성 메모리 장치의 데이터 저장 방법 및 비휘발성 메모리 장치의 테스트 방법
WO2014153174A2 (en) * 2013-03-14 2014-09-25 Silicon Storage Technology, Inc. Non-volatile memory program algorithm device and method
US8995200B1 (en) * 2013-09-23 2015-03-31 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with dynamically adjusted reference current
US9202593B1 (en) * 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
KR20160075064A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9542269B1 (en) * 2015-06-29 2017-01-10 SK Hynix Inc. Controller controlling semiconductor memory device and operating method thereof
KR20180008172A (ko) * 2016-07-15 2018-01-24 에스케이하이닉스 주식회사 메모리 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템
US10482969B2 (en) * 2017-12-21 2019-11-19 Western Digital Technologies, Inc. Programming to a correctable amount of errors

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2874732A1 (fr) * 2004-08-31 2006-03-03 St Microelectronics Sa Procede de programmation de cellules memoire incluant une detection des degradations de transconductance
CN101123118A (zh) * 2006-06-21 2008-02-13 意法半导体股份有限公司 用于电编程半导体存储单元的方法及电路
CN102292775A (zh) * 2008-12-11 2011-12-21 桑迪士克公司 存储器的适应性擦除和软编程
US20100232226A1 (en) * 2009-03-10 2010-09-16 Jin Chul Kim Solid state storage system for uniformly using memory area and method controlling the same
CN102568569A (zh) * 2010-12-21 2012-07-11 海力士半导体有限公司 非易失性存储器件及其高速缓存编程方法
CN102646447A (zh) * 2011-02-22 2012-08-22 三星电子株式会社 非易失性存储器件、存储控制器及其方法
KR20140014518A (ko) * 2012-07-24 2014-02-06 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
CN106898378A (zh) * 2015-12-17 2017-06-27 华邦电子股份有限公司 半导体存储装置及与非型快闪存储器的编程方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817518A (zh) * 2019-11-18 2021-05-18 爱思开海力士有限公司 存储器系统及其操作方法
CN112817518B (zh) * 2019-11-18 2024-04-26 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
US20190287635A1 (en) 2019-09-19
KR102524916B1 (ko) 2023-04-26
CN110275672B (zh) 2022-11-01
KR20190107966A (ko) 2019-09-23
US10726932B2 (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN110275672A (zh) 存储装置及其操作方法
CN110827905B (zh) 存储装置及该存储装置的操作方法
CN110503997A (zh) 存储器装置及其操作方法
CN109426743A (zh) 存储装置及其操作方法
CN110390970B (zh) 存储器装置及其操作方法
CN110083304A (zh) 存储器控制器及其操作方法
CN111696608A (zh) 存储器装置及其操作方法
US10847247B2 (en) Storage device and method of operating the same
CN108986852A (zh) 存储装置及其操作方法
US11797202B2 (en) Storage device and method for foggy and fine programming
CN111258919B (zh) 储存设备及其操作方法
CN109427400A (zh) 存储器装置及其操作方法
CN110780802A (zh) 存储器控制器及其操作方法
CN110287130A (zh) 存储装置及其操作方法
CN110175132A (zh) 存储装置及其操作方法
CN110176261A (zh) 存储装置及其操作方法
CN110399092A (zh) 存储装置以及操作存储装置的方法
CN113808651A (zh) 存储器装置及其控制方法
US20200334098A1 (en) Storage device and method of operating the same
CN110299178A (zh) 存储装置及用于操作存储装置的方法
CN110175133A (zh) 存储装置及其操作方法
CN115376596A (zh) 存储器设备和该存储器设备的操作方法
US20220392538A1 (en) Memory device and operating method thereof
CN112908371B (zh) 存储器装置和操作该存储器装置的方法
CN111341372B (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