CN111309517B - 操作存储设备的方法和存储设备 - Google Patents
操作存储设备的方法和存储设备 Download PDFInfo
- Publication number
- CN111309517B CN111309517B CN201910840852.4A CN201910840852A CN111309517B CN 111309517 B CN111309517 B CN 111309517B CN 201910840852 A CN201910840852 A CN 201910840852A CN 111309517 B CN111309517 B CN 111309517B
- Authority
- CN
- China
- Prior art keywords
- data
- state
- digest
- block
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
Abstract
非易失性存储器设备包括存储器单元阵列中的多级单元,所述存储器单元阵列包括多个存储器块,并且所述存储器块中的每一个包括多个页。操作非易失性存储器设备的方法包括:在存储器块的预编程块中预编程多位数据,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于状态组的状态组代码的摘要数据,并且在存储器块的摘要块中编程摘要数据。
Description
相关申请的交叉引用
要求2018年12月12日在韩国知识产权局(Korean Intellectual PropertyOffice,KIPO)提交的韩国专利申请No.10-2018-0159593的优先权,其全部内容通过引用结合于此。
技术领域
本文中本发明构思一般涉及存储器设备,并且更具体地涉及操作非易失性存储器设备的方法、操作存储设备的方法和存储设备。
背景技术
半导体存储器设备可以分类为易失性存储器和非易失性存储器。当断电时,易失性存储器可能丢失存储在其中的内容。非易失性存储器即使当断电时也可以保留存储的内容。作为非易失性存储器设备的闪存的特性包括大容量存储能力、相对高抗噪性、和低功率操作。闪存设备因此在各种领域中被采用。例如,诸如智能电话、平板PC等的移动系统典型地采用闪存作为存储介质。
为了增加存储容量,最近已经出现了对由每单元存储两位或更多位数据的多级(multi-cell)单元形成的闪存的兴趣。
发明内容
本发明构思的实施例提供了操作非易失性存储器设备的方法,该方法能够增强存储空间的编程性能和效率。
本发明构思的实施例提供了操作存储设备的方法,该方法能够增强存储空间的编程性能和效率。
本发明构思的实施例提供了非易失性存储器设备,所述非易失性存储器设备能够增强存储空间的编程性能和效率。
本发明构思的实施例提供了非易失性存储器设备的方法,所述非易失性存储器设备包括存储器单元阵列,该存储器单元阵列包括多个存储器块,并且多个存储器块中的每一个包括多个页。该方法包括在多个存储器块的预编程块中的多级单元中预编程多位数据;在预编程多位数据之后,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要(digest)数据;以及在多个存储器块的摘要块中编程摘要数据。
本发明构思的实施例进一步提供了操作存储设备的方法,所述存储设备包括非易失性存储器设备和被配置为控制非易失性存储器设备的控制器。非易失性存储器设备包括多个存储器块,并且存储器块中的每一个包括多个页。所述方法包括在多个存储器块的预编程块中的多级单元中预编程多位数据作为预编程的多位数据;在预编程多位数据之后,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要数据;在多个存储器块的摘要块中编程摘要数据;由控制器基于预编程的多位数据和摘要数据恢复目标数据;以及在预编程块中的多级单元中重新编程恢复的目标数据。
本发明构思的实施例更进一步提供了存储设备,所述存储设备包括非易失性存储器设备和控制非易失性存储器设备的控制器。非易失性存储器设备包括存储器单元阵列。存储器单元阵列包括多个存储器块,并且多个存储器块中的每一个包括多个页。控制器控制非易失性存储器设备,使得非易失性存储器设备执行预编程,所述预编程在多个存储器块的预编程块中的多级单元中预编程多位数据;在预编程之后,基于指示多级单元的状态的状态代码,将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要数据;以及执行摘要编程,所述摘要编程在多个存储器块的摘要块中编程摘要数据。
因此,非易失性存储器设备或存储设备在预编程块中的多级单元中预编程多位数据,并且在摘要块中编程基于预编程的多位数据的状态代码生成的摘要数据,从而增强存储空间的编程性能和效率。
附图说明
从以下结合附图的详细描述,将更清楚地理解说明性的非限制性示例实施例。
图1示出了根据本发明构思的实施例的电子设备的框图。
图2示出了根据本发明构思的实施例的图1中的存储设备的框图。
图3示出了根据本发明构思的实施例的图2的存储设备中的存储器控制器的框图。
图4示出了根据本发明构思的实施例的图2的存储设备中的非易失性存储器设备的框图。
图5示出了图4中的存储器单元阵列的框图。
图6示出了图5中的存储器块之一的电路图。
图7示出了图8的存储器块中的单元串的结构的示例。
图8示出了根据本发明构思的实施例的图4的非易失性存储器设备中的控制电路的框图。
图9示出了根据本发明构思的实施例的图4的非易失性存储器设备中的电压生成器的框图。
图10示出了根据本发明构思的实施例的操作非易失性存储器设备的方法的流程图。
图11示出了图4的非易失性存储器设备的存储器单元阵列中的预编程块和摘要块。
图12示出了在预编程操作之后多级单元的阈值电压分布的示例的示图。
图13示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的示例的框图。
图14示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的另一示例的框图。
图15示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的另一示例的框图。
图16示出了图4的非易失性存储器设备中包括的存储器单元阵列的示例的框图。
图17示出了图4的非易失性存储器设备中包括的逻辑电路的框图。
图18示出了图17的逻辑电路的示例的框图。
图19示出了图17的逻辑电路的另一示例的框图。
图20示出了根据本发明构思的实施例的操作存储设备的方法的流程图。
图21A、图21B和图21C示出了说明图2的存储设备的操作的示图。
图22示出了根据本发明构思的实施例的操作非易失性存储器设备的方法的流程图。
图23示出了根据本发明构思的实施例的固态盘或固态驱动器(solid statedrive,SSD)的框图。
具体实施方式
下文将参考附图更全面地描述各种示例实施例,附图中示出了一些示例实施例。
如在本发明构思的领域中传统的,可以依据执行所描述的一个或多个功能的块来描述并且说明实施例。这些块(本文可以称为单元或模块等)通过模拟和/或数字电路物理地实施,所述模拟和/或数字电路诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等,并且可以可选地由固件和/或软件驱动。例如,电路可以具体实现在一个或多个半导体芯片中,或者具体实现在诸如印刷电路板等的基板支撑件上。构成块的电路可以通过专用硬件实施,或者通过处理器(例如,一个或多个编程的微处理器和相关联的电路)实施,或者通过用于执行块的一些功能的专用硬件和用于执行块的其它功能的处理器的组合实施。在不脱离本发明构思的范围的情况下,实施例的每个块可以物理地分离为两个或更多个交互的离散的块。同样地,在不脱离本发明构思的范围的情况下,可以将实施例的块物理地组合为更复杂的块。
图1示出了根据本发明构思的实施例的电子设备的框图。
参考图1,电子设备10包括主机20和存储设备(或存储系统)30。存储设备30包括存储器控制器(或控制器)100和至少一个非易失性存储器设备(nonvolatile memorydevice,NVM)200。主机20可以控制存储设备30的总体操作。
非易失性存储器设备200可以用NAND闪存实施。在示例实施例中,非易失性存储器设备200可以包括非易失性存储器,诸如例如相变随机存取存储器(phase change randomaccess memory,PRAM)、电阻随机存取存储器(resistance random access memory,RRAM)、磁阻随机存取存储器(magneto-resistive random access memory,MRAM)、铁电随机存取存储器(ferroelectric random access memory,FRAM)等。
存储器控制器100可以与主机20交换诸如命令、地址、数据等的信号。存储器控制器100可以根据来自主机20的命令在非易失性存储器设备200中写入数据以及从非易失性存储器设备200读取数据。
图2示出了根据本发明构思的实施例的图1中的存储设备的框图。
参考图2,存储设备30包括存储器控制器100和至少一个非易失性存储器设备200。
在示例实施例中,存储器控制器100和非易失性存储器设备200中的每一个可以以芯片、封装、或模块的形式提供。替代地,存储器控制器100和非易失性存储器设备200可以根据各种封装技术中的任何一种来封装,所述各种封装技术诸如例如层叠封装(packageon package,PoP)、球栅阵列(ball grid array,BGA)、芯片级封装(chip scale package,CSP)、塑料引线芯片载体(plastic leaded chip carrier,PLCC)、塑料双列直插式封装(plastic dual in-line package,PDIP)、华夫中的裸片封装(die in waffle pack)、晶圆形式的裸片(die in wafer form)、板上芯片(chip on board,COB)、陶瓷双列直插式封装(ceramic dual in-line package,CERDIP)、塑料公制四方扁平封装(MQFP)、小外形(smalloutline,SOIC)、缩小外形封装(shrink small outline package,SSOP)、薄小外形(thinsmall outline,TSOP)、薄四方扁平封装(thin quad flatpack,TQFP)、封装中的系统(system in package,SIP)、多芯片封装(multi chip package,MCP)、晶圆级制造的封装(wafer-level fabricated package,WFP)、晶圆级处理的堆叠封装(wafer-levelprocessed stack Package,WSP)等。
非易失性存储器设备200可以在存储器控制器100的控制之下执行擦除操作、编程操作或写入操作。非易失性存储器设备200可以通过输入/输出线从存储器控制器100接收命令CMD、地址ADDR和数据DATA以用于执行这样的操作。另外,非易失性存储器设备200可以通过控制线从存储器控制器100接收控制信号CTRL。另外,非易失性存储器设备200可以通过电力线从存储器控制器100接收电力PWR。
非易失性存储器设备200的存储器单元具有阈值电压分布由于诸如例如编程经过时间、温度、编程干扰、和读取干扰等的原因而变化的物理特性。例如,由于以上原因,存储在非易失性存储器设备200处的数据可能变得错误。存储器控制器100利用各种纠错技术以纠正这样的错误。例如,存储器控制器100包括纠错码(error correction code,ECC)引擎(单元)120和读取管理器131。此外,存储器控制器100包括管理各种编程操作的编程管理器133。
在读取操作期间,存储器控制器100可以使用默认读取电压集合读取存储在非易失性存储器设备200的第一页处的数据。默认读取电压集合可以包括预定的读取电压。ECC引擎120可以检测并且纠正从非易失性存储器设备200读取的数据中包括的错误。在示例实施例中,ECC引擎120可以以硬件的形式实施。
在读取操作中读取的数据可能包括比ECC引擎120能够纠正的更多的错误位。在这样的情况下,ECC引擎200无法纠正数据的错误,并且对应的数据可以称为包括或具有“不可纠正的纠错码(uncorrectable error correction code,UECC)错误”。具有UECC错误的数据可以称为“UECC数据”。
当凭借默认读取电压集合读取的数据包括UECC错误时,读取管理器131可以例如调整非易失性存储器设备200的读取电压集合。存储器控制器100传送地址ADDR、命令CMD、和控制信号CTRL,使得非易失性存储器设备200凭借由此调整的读取电压集合来执行读取操作。
调整的读取电压集合可以包括在控制信号CTRL或命令CMD中。ECC引擎120检测并且纠正使用调整的读取电压集合读取的数据的错误。
在示例实施例中,读取管理器131可以将读取电压集合调整预定次数,并且ECC引擎120可以检测并且纠正使用调整的读取电压集合读取的数据的错误。例如,存储器控制器100可以将操作的集合重复预定次数,所述操作的集合包括调整读取电压集合、使用调整的读取电压集合读取数据、以及纠正读取的数据的错误。
当在操作的集合的迭代期间纠正读取的数据的错误时,存储器控制器100将纠正的数据输出到主机20。当在读取管理器131的控制之下迭代读取操作时,例如,读取的数据或读取的数据的具体页数据被存储在缓冲器(诸如图3中的缓冲器130)中。缓冲器130可以是静态随机存取存储器(static random access memory,SRAM)。
当在操作的集合的迭代之后未纠正读取的数据的错误时(即,当UECC错误发生时),存储器控制器100基于存储在缓冲器130中的数据确定用于执行谷值(valley)搜索操作的开始电压集合。
在本发明构思的示例实施例中,可以省略调整读取电压集合和使用调整的读取电压集合读取数据的迭代。
当在基于默认读取电压集合的读取操作之后或者在操作的集合的迭代之后未纠正读取的数据的错误时,存储器控制器100从存储在缓冲器130中的数据当中选择包括最高误比特率的编程状态,并且将对应于选择的编程状态的读取电压确定为开始电压集合。读取管理器131基于确定的开始电压集合执行谷值搜索操作以确定最佳读取电平电压,并且基于最佳读取电平电压对读取的数据执行恢复读取操作。
为了确定最佳读取电平电压,读取管理器131设置由开始读取电压和结束读取电压定义的搜索区域,确定搜索区域是否属于参考区域,如果搜索区域不属于参考区域则改变搜索区域,并且如果搜索区域属于参考区域则寻找新的读取电压以确定最佳读取电平电压。
编程管理器133可以管理对非易失性存储器设备200中的多级单元的编程操作。编程管理器133可以控制非易失性存储器设备200,使得非易失性存储器设备200执行预编程以在存储器单元阵列中的预编程块中的多级单元中预编程多位数据,并且执行摘要编程以在存储器单元阵列中的摘要块中编程摘要数据。可以基于指示多级单元的状态的状态代码生成摘要数据。另外,编程管理器133控制非易失性存储器设备200,以基于预编程的多位数据和摘要数据来恢复目标数据,以及在预编程块中的多级单元中重新编程恢复的目标数据。
编程管理器133可以至少基于非易失性存储器设备200的性能、存储空间的效率和可信性之一,将诸如单级单元缓冲、摘要编程和重新编程的方案选择地编程到非易失性存储器设备200。
图3示出了根据本发明构思的实施例的图2的存储设备中的存储器控制器的框图。
参考图2和图3,存储器控制器100包括经由总线105连接的处理器110、ECC引擎120、缓冲器130、随机化器(randomizer)140、主机接口150、只读存储器(read onlymemory,ROM)160、迁移管理器180和非易失性存储器接口170。缓冲器130包括读取管理器131和编程管理器133。参考图2描述了ECC引擎120、缓冲器130、读取管理器131和编程管理器133,并且在下文中可以省略对其的进一步描述。
处理器110控制存储器控制器100的总体操作。在示例实施例中,读取管理器131和编程管理器133可以以软件实施并且存储在缓冲器130中。存储在缓冲器130中的读取管理器131和编程管理器133可以由处理器110驱动。ROM 160在固件中存储存储器控制器100进行操作所需要的各种信息。
随机化器140随机化要存储在非易失性存储器设备200中的数据。例如,随机化器140按字线随机化要存储在非易失性存储器设备200中的数据。
数据随机化对数据进行处理,使得连接到字线的存储器单元的编程状态具有相同的比率。例如,如果连接到一个字线的存储器单元是各自存储4位数据的多级单元(multi-level cells,MLC),则存储器单元中的每一个具有擦除状态和第一到第十五编程状态之一。在这种情况下,随机化器140随机化数据,使得在连接到一个字线的存储器单元中,具有擦除状态的存储器单元的数量以及具有第一到第十五编程状态中的一个的存储器单元的数量基本上彼此相同。例如,其中存储随机化的数据的存储器单元具有其比率彼此相等的编程状态。随机化器140将从非易失性存储器设备200读取的数据去随机化。
随机化器140随机化页数据。为了易于理解,已经描述了随机化器140的理想操作。然而,本发明构思不限于此。例如,随机化器140可以随机化数据,使得在连接到一个字线的存储器单元中,具有擦除状态的存储器单元的数量和具有第一到第十五编程状态中的一个的存储器单元的数量接近相同的值。例如,其中存储随机化的数据的存储器单元具有其比率彼此相似的编程状态。
迁移管理器180可以管理预编程的数据和摘要数据的迁移。迁移管理器180可以将预编程的数据和对应于预编程的数据的摘要数据迁移到逻辑电路190(参考图21B)。如果完成摘要数据的迁移,则迁移管理器180通知处理器110摘要数据的迁移的完成,并且处理器110控制非易失性存储器设备200以对摘要块执行擦除操作。
存储器控制器100通过主机接口150与主机20通信。主机接口150可以根据各种不同的通信协议中的任何一种来配置,所述各种不同的通信协议诸如例如通用串行总线(Universal Serial Bus,USB)、多媒体卡(Multimedia Card,MMC)、嵌入式MMC、外围组件互连(peripheral component interconnection,PCI)、高速PCI、高级技术附件(AdvancedTechnology Attachment,ATA)、串行ATA、并行ATA、小型计算机小型接口(small computersmall interface,SCSI)、增强型小磁盘接口(enhanced small disk interface,ESDI)、集成驱动电子设备(Integrated Drive Electronics,IDE)、移动工业处理器接口(MobileIndustry Processor Interface,)、非易失性高速存储器(Nonvolatile memoryexpress,NVMe)、通用闪存(Universal Flash Storage,UFS)等。存储器控制器100通过非易失性存储器接口170与非易失性存储器设备200通信。
图4示出了根据本发明构思的实施例的图2的存储设备中的非易失性存储器设备的框图。
参考图4,非易失性存储器设备200包括存储器单元阵列300、地址解码器430、页缓冲器电路410、数据输入/输出(input/output,I/O)电路420、控制电路500和电压生成器700。
存储器单元阵列300通过一个或多个串选择线SSL、多个字线WL、和一个或多个地选择线GSL耦合到地址解码器430。另外,存储器单元阵列300通过多个位线BL耦合到页缓冲器电路410。
存储器单元阵列300可以包括耦合到多个字线WL和多个位线BL的多个存储器单元。
在一些示例实施例中,存储器单元阵列300可以是三维存储器单元阵列,其以三维结构(或垂直结构)形成在基板上。在这种情况下,存储器单元阵列300可以包括垂直地取向以使得至少一个存储器单元位于另一存储器单元之上的垂直单元串。
在其它示例实施例中,存储器单元阵列300可以是二维存储器单元阵列,其以二维结构(或水平结构)形成在基板上。
图5是示出图4中的存储器单元阵列的框图。
参考图5,存储器单元阵列300可以包括沿第一至第三方向D1、D2和D3延伸的多个存储器块BLK1至BLKz(z是大于2的整数)。在实施例中,存储器块BLK1至BLKz由图4中的地址解码器430选择。例如,地址解码器430可以在存储器块BLK1至BLKz当中选择对应于块地址的存储器块BLK。
图6示出了图5中的存储器块之一的电路图。
图6的存储器块BLKi可以以三维结构(或垂直结构)形成在基板上。例如,包括在存储器块BLKi中的多个存储器单元串可以在垂直于基板的方向PD上形成。
参考图6,存储器块BLKi可以包括耦合在位线BL1、BL2和BL3与公共源极线CSL之间的存储器单元串NS11至NS33(即,NS11、NS12、NS13、NS21、NS22、NS23、NS31、NS32和NS33)。存储器单元串NS11至NS33中的每一个可以包括串选择晶体管SST、多个存储器单元MC1至MC8(即,MC1、MC2、MC3、MC4、MC5、MC6、MC7和MC8)、以及地选择晶体管GST。在图6中,存储器单元串NS11至NS33中的每一个被示出为包括八个存储器单元MC1至MC8。然而,示例实施例不限于此。在一些示例实施例中,存储器单元串NS11至NS33中的每一个可以包括任何数量的存储器单元。
串选择晶体管SST可以连接到对应的串选择线SSL1、SSL2和SSL3。多个存储器单元MC1至MC8可以分别地连接到对应的字线WL1至WL8(即,WL1、WL2、WL3、WL4、WL5、WL6、WL7和WL8)。地选择晶体管GST可以连接到对应的地选择线GSL1、GSL2和GSL3。串选择晶体管SST可以连接到对应的位线BL1、BL2和BL3,并且地选择晶体管GST可以连接到公共源极线CSL。
具有相同高度的字线(例如,WL1)可以被共同地连接,并且地选择线GSL1至GSL3和串选择线SSL1至SSL3可以被分离。在图6中,存储器块BLKi被示出为耦合到八个字线WL1至WL8和三个位线BL1至BL3。然而,示例实施例不限于此。在一些示例实施例中,存储器单元阵列300可以耦合到任何数量的字线和位线。
图7示出了图8的存储器块中的单元串的结构的示例。
参考图6和图7,在基板SUB上提供柱(pillar)PL,使得柱PL在垂直于基板SUB的方向上延伸,以与基板SUB接触。图7中示出的地选择线GSL、字线WL1至WL8、和串选择线SSL中的每一个可以由布置为与基板SUB平行的导电材料形成。例如,导电材料可以是金属材料。柱PL可以通过形成串选择线SSL、字线WL1至WL8、和地选择线GSL的导电材料与基板SUB接触。
图7中也示出了沿线A-A'截取的截面图。在实施例中,示出了对应于第一字线WL1的第一存储器单元MC1的截面图。柱PL可以包括圆柱状主体BD。气隙(air gap)AG可以定义在主体BD的内部。
圆柱状主体BD可以包括P型硅,并且可以是将要形成沟道的区域。柱PL可以进一步包括围绕圆柱状主体BD的圆柱状隧道绝缘层(tunnel insulating layer)TI、以及围绕圆柱状隧道绝缘层TI的圆柱状电荷陷阱层(charge trap layer)CT。阻挡绝缘层(blockinginsulating layer)BI可以提供在第一字线WL与柱PL之间。圆柱状主体BD、圆柱状隧道绝缘层TI、圆柱状电荷陷阱层CT、阻挡绝缘层BI、和第一字线WL可以构成在垂直于基板SUB或垂直于基板SUB的上表面的方向上形成的电荷陷阱类型晶体管。串选择晶体管SST、地选择晶体管GST、和其它存储器单元可以具有与第一存储器单元MC1相同的结构。
返回参考图4,控制电路500可以从存储器控制器100接收命令(信号)CMD和地址(信号)ADDR,并且基于命令信号CMD和地址信号ADDR控制非易失性存储器设备200的擦除循环、编程循环和读取操作。
编程循环可以包括编程操作和编程验证操作。擦除循环可以包括擦除操作和擦除验证操作。读取操作可以包括默认读取操作和恢复读取操作。
例如,控制电路500可以基于命令信号CMD生成用于控制电压生成器700的控制信号CTL和用于控制页缓冲器电路410的控制信号PCTL,并且可以基于地址信号ADDR生成行地址R_ADDR和列地址C_ADDR。控制电路500可以将行地址R_ADDR提供给地址解码器430,并且可以将列地址C_ADDR提供给数据输入/输出电路420。
地址解码器430通过一个或多个串选择线SSL、多个字线WL、和一个或多个地选择线GSL耦合到存储器单元阵列300。在编程操作或读取操作期间,地址解码器430可以将多个字线WL中的一个确定为选择的字线,并且基于行地址R_ADDR将多个字线WL中的除了选择的字线之外的其余字线确定为未选择的字线。
电压生成器700可以基于来自控制电路500的控制信号CTL生成非易失性存储器设备200的操作所要求的字线电压VWL。电压生成器700可以从存储器控制器100接收电力PWR。字线电压VWL可以通过地址解码器430被施加到多个字线WL。
例如,在擦除操作期间,电压生成器700可以将擦除电压施加到存储器块的阱(well),并且可以将地电压施加到存储器块的所有字线。在擦除验证操作期间,电压生成器700可以将擦除验证电压施加到存储器块的所有字线,或者可以在字线基础上将擦除验证电压顺序地施加到字线。
例如,在编程操作期间,电压生成器700可以将编程电压施加到选择的字线,并且可以将编程通过电压施加到未选择的字线。另外,在编程验证操作期间,电压生成器700可以将编程验证电压施加到选择的字线,并且可以将验证通过电压施加到未选择的字线。
另外,在默认读取操作期间,电压生成器700可以将默认读取电压施加到选择的字线,并且可以将读取通过电压施加到未选择的字线。在恢复读取操作期间,电压生成器700可以将最佳读取电平电压施加到选择的字线。
页缓冲器电路410通过多个位线BL耦合到存储器单元阵列300。页缓冲器电路410可以包括多个页缓冲器。在一些示例实施例中,一个页缓冲器可以连接到一个位线。在其它示例实施例中,一个页缓冲器可以连接到两个或更多个位线。
页缓冲器电路410可以临时地存储要在选择的页中编程的数据、或者从选择的页读出的数据。
数据输入/输出电路420通过数据线DL耦合到页缓冲器电路410。在编程操作期间,数据输入/输出电路420可以从存储器控制器100接收编程数据DATA,并且基于从控制电路500接收的列地址C_ADDR将编程数据DATA提供给页缓冲器电路410。在读取操作期间,数据输入/输出电路420可以基于从控制电路500接收的列地址C_ADDR将存储在页缓冲器电路410中的读取数据DATA提供给存储器控制器100。
图8示出了根据本发明构思的实施例的图4的非易失性存储器设备中的控制电路的框图。
参考图8,控制电路500包括命令解码器510、地址缓冲器520和控制信号生成器530。
命令解码器510解码命令CMD,并且将解码的命令D_CMD提供给控制信号生成器530。例如,当解码的命令D_CMD是读取命令时,命令解码器510将解码的命令D_CMD提供给控制信号生成器530。
地址缓冲器520接收地址信号ADDR,将行地址R_ADDR提供给地址解码器430,并且将列地址C_ADDR提供给数据输入/输出电路420。
控制信号生成器530接收解码的命令D_CMD,基于由解码的命令D_CMD指导的操作来生成控制信号CTL,并且将控制信号CTL提供给电压生成器700。此外,控制信号生成器530基于由解码的命令D_CMD指导的操作来生成控制信号PCTL,并且将控制信号PCTL提供给页缓冲器电路410。
图9示出了根据本发明构思的实施例的图4的非易失性存储器设备中的电压生成器的框图。
参考图9,电压生成器700包括高电压(high voltage,HV)生成器710和低电压(lowvoltage,LV)生成器730。电压生成器700可以进一步包括负电压(negative voltage,NV)生成器750。
高电压生成器710可以响应于第一控制信号CTL1,根据由命令CMD指导的操作,生成编程电压VPGM、编程通过电压VPPASS、验证通过电压VVPASS、读取通过电压VRPASS和擦除电压VERS。编程电压VPGM被施加到选择的字线,编程通过电压VPPASS、验证通过电压VVPASS、和读取通过电压VRPASS可以被施加到未选择的字线,并且擦除电压VERS可以被施加到存储器块的阱。第一控制信号CTL1可以包括指示由命令CMD指导的操作的多个位。
低电压生成器730可以响应于第二控制信号CTL2,根据由命令CMD指导的操作,生成编程验证电压VPV、读取电压VRD、擦除验证电压VER和最佳读取电平电压VORD。可以根据非易失性存储器设备200的操作将编程验证电压VPV、读取电压VRD、最佳读取电平电压VORD和擦除验证电压VER施加到选择的字线。第二控制信号CTL2可以包括指示由命令CMD指导的操作的多个位。
负电压生成器750可以响应于第三控制信号CTL3,根据由命令CMD指导的操作,生成具有负电平的编程验证电压VPV'、读取电压VRD'和擦除验证电压VER'。第三控制信号CTL3可以包括指示由命令CMD指导的操作的多个位。
图10示出了根据本发明构思的实施例的操作非易失性存储器设备的方法的流程图。
图11示出了图4的非易失性存储器设备的存储器单元阵列中的预编程块(pre-program block,PPG)和摘要块(digest block,DGB)。
参考图4到图11,下文描述的是操作非易失性存储器设备200的方法,所述非易失性存储器设备200包括存储器单元阵列300,所述存储器单元阵列300包括多个存储器块,所述存储器块中的每一个包括多个页。在操作S110中,控制电路500控制电压生成器700、地址解码器430和页缓冲器电路410以执行预编程PRE_PGM以在存储器块的预编程块PPB中的多级单元中预编程多位数据。
在操作S130中,控制电路500基于指示多级单元的状态的状态代码将多级单元划分为多个状态组GR1和GR2,以生成指示对应于状态组GR1和GR2的状态组代码的摘要数据DGD。第一状态组GR1可以具有状态组代码“0”,并且第二状态组GR2可以具有状态组代码“1”。在图11中,状态组代码“0”和“1”被示出在表示阈值电压Vth的水平线以下的预编程块PPG中。
在操作S140中,控制电路500控制电压生成器700、地址解码器430和页缓冲器电路410以执行摘要编程DG_PGM,以在存储器块的摘要块DGB中编程摘要数据DGD。
在图11中,假设多级单元中的每一个能够存储N位数据(N是大于2的自然数)并且N是4。因此,多级单元中的每一个可以具有对应于擦除状态E0和第一至第十五编程状态P1~P15之一的状态代码。也就是说,多级单元中的每一个可以具有对应于2N个状态代码之一的状态代码。
控制电路500基于多级单元的状态代码将多级单元划分(或分组)为M个状态组(M是小于或等于N的自然数)。在图11中,假设M是2。
在图11中,数据的第一页PAGE1到数据的第四页PAGE4可以在多级单元中的每一个中被顺序地或同时地预编程。控制电路500可以将多级单元划分为对应于非重叠阈值电压分布的集合的状态组GR1和GR2。
在示例实施例中,控制电路500可以基于多级单元中的每一个中的状态代码中的每一个中的第一位(first bits)的数量将多级单元划分为状态组GR1和GR2,并且第一位中的每一个可以具有第一逻辑电平。在下文描述的实施例中,第一逻辑电平为“1”。然而,在其它实施例中,第一逻辑电平可以是“0”。
因此,第一状态组GR1可以分别包括具有非重叠阈值电压分布的第一集合或者具有偶数数量的第一位的状态代码E0、P2、P4、P6、P8、P10、P12和P14。例如,状态代码E0、P2、P4、P6、P8、P10、P12和P14中的每一个包括偶数数量的第一位“1”。第二状态组GR2可以分别包括具有非重叠阈值电压分布的第二集合或者具有奇数数量的第一位的状态代码P1、P3、P5、P7、P9、P11、P13和P15。例如,状态代码P1、P3、P5、P7、P9、P11、P13和P15中的每一个包括奇数数量的第一位“1”。
因为十六个状态代码E0和P1到P15被划分为第一状态组GR1和第二状态组GR2,所以摘要数据DGD具有两个状态E0和DP1,并且因此控制电路500可以在摘要块DGB中的单级单元中编程摘要数据DGD。
因此,数据被维护而不用完成重新编程,并且比起将数据的页存储在单级单元中的每一个中所需的存储空间而言,将摘要数据DGD存储在单级单元中所需的存储空间更小,因为摘要数据DGD在单级单元中被编程。另外,存储器控制器100可以在完成一次预编程之后释放用于加载多位数据的缓冲器130。
为了预编程多位数据,控制电路500可以将多位数据加载到耦合到多级单元的页缓冲器电路410。控制电路500可以在多级单元中预编程被加载到页缓冲器电路410的多位数据。
控制电路500基于被加载到页缓冲器电路410的多位数据的状态代码来生成摘要数据DGD,并且可以将摘要数据DGD临时地存储在页缓冲器电路410的页缓冲器中。控制电路500可以通过对多位数据中的位中的每一个执行逻辑运算来生成摘要数据DGD(如稍后将针对图18和图19的示例描述的)。
控制电路500或存储器控制器100可以将预编程块PPB和摘要块DGB作为一对来管理。也就是说,预编程块PPB和对应于预编程块PPB的摘要块DGB可以构成一对。
在示例实施例中,如果状态代码被划分为四个状态组,则摘要块DGB可以包括多级单元以存储对应于四个状态组的摘要数据DGD。
图12示出了在预编程操作之后多级单元的阈值电压分布的示例的示图。
图12示出了在多级单元中存储四位的数据的示例。
参考图12,多级单元具有比在预编程操作不久之后的阈值电压分布更宽的阈值电压分布E0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14和P15。阈值电压分布E0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14和P15彼此重叠。
阈值电压分布E0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14和P15被划分为状态组GR1、GR2、GR3和GR4使得每个状态组包括一组非重叠阈值电压分布。例如,第一至第十六阈值电压分布E0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14和P15被划分为第一状态组GR1、第二状态组GR2、第三状态组GR3、和第四状态组GR4。
第一状态组GR1包括不重叠的第一阈值电压分布(即,擦除状态)E0、第五阈值电压分布(即,第四编程状态)P4、第九阈值电压分布(即,第八编程状态)P8、和第十三阈值电压分布(即,第十二编程状态)P12。第二状态组GR2包括不重叠的第二阈值电压分布(即,第一编程状态)P1、第六阈值电压分布(即,第五编程状态)P5、第十阈值电压分布(即,第九编程状态)P9、和第十四阈值电压分布(即,第十三编程状态)P13。
第三状态组GR3包括不重叠的第三阈值电压分布(即,第二编程状态)P2、第七阈值电压分布(即,第六编程状态)P6、第十一阈值电压分布(即,第十编程状态)P10、和第十五阈值电压分布(即,第十四编程状态)P14。第四状态组GR4包括不重叠的第四阈值电压分布(即,第三编程状态)P3、第八阈值电压分布(即,第七编程状态)P7、第十二阈值电压分布(即,第十一编程状态)P11、和第十六阈值电压分布(即,第十五编程状态)P15。
可以将状态组代码分配给状态组GR1、GR2、GR3和GR4。例如,将状态组代码“11”分配给第一状态组GR1,将状态组代码“01”分配给第二状态组GR2,将状态组代码“00”分配给第三状态组GR3,并且将状态组代码“10”分配给第四状态组GR4。
典型地基于状态组的数量来确定每个状态组代码中的位的数量,并且典型地基于在任何点中重叠的阈值电压分布的最大数量来确定状态组的数量。在图12的示例中,最多四个阈值电压分布在某些点处重叠,并且因此状态组的数量是四,并且每个状态组代码的位的数量是二。例如,第二阈值电压分布P1与第三至第五阈值电压分布P2、P3和P4重叠,并且因此需要四个状态组以用于包括非重叠状态组。
控制电路500可以在存储器块中的摘要块DGB中编程指示状态组代码的摘要数据DGD。
图13示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的示例的框图。
参考图13,页缓冲器411a包括第一数据锁存器412a、第二数据锁存器413a、和第三数据锁存器414a。
第一数据锁存器412a、第二数据锁存器413a、和第三数据锁存器414a可以分别地临时地存储多位数据DATA的三位。例如,第一数据锁存器412a可以存储多位数据的第一位,第二数据锁存器413a可以存储多位数据的第二位,并且第三数据锁存器414a可以存储多位数据的第三位。第三数据锁存器414a可以用作临时地存储多级单元的状态组代码SGC的状态组代码锁存器。
图14示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的另一示例的框图。
参考图14,页缓冲器411b包括第一数据锁存器412b、第二数据锁存器413b、第三数据锁存器414b、和状态组代码锁存器415b。
第一数据锁存器412b、第二数据锁存器413b、和第三数据锁存器414b可以分别地临时地存储多位数据DATA的三位。状态组代码锁存器415b可以临时地存储第一状态组代码SGC11。第三数据锁存器414b可以用作临时地存储第二状态组代码SGC12的状态组代码锁存器。例如,第一状态组代码SGC11可以指示耦合到当前选择的字线的多级单元的状态组,并且第二状态组代码SGC12可以指示耦合到相邻字线的多级单元的状态组。
图15示出了图4的非易失性存储器设备中的页缓冲器电路中包括的页缓冲器的另一示例的框图。
参考图15,页缓冲器411c包括第一数据锁存器412c、第二数据锁存器413c、第三数据锁存器414c、第一状态组代码锁存器415c、和第二状态组代码锁存器416c。
第一数据锁存器412c、第二数据锁存器413c、和第三数据锁存器414c可以分别地临时地存储多位数据DATA的三位。第一状态组代码锁存器415c可以临时地存储第一状态组代码SGC21,并且第二状态组代码锁存器416c可以临时地存储第二状态组代码SGC22。例如,第一状态组代码SGC21可以指示耦合到当前选择的字线的多级单元的状态组,并且第二状态组代码SGC22可以指示耦合到相邻字线的多级单元的状态组。
在一些实施例中,可以基于加载到页缓冲器411c的多位数据来生成状态组代码,并且第一状态组代码锁存器415c或第二状态组代码锁存器416c可以临时地存储生成的状态组代码。页缓冲器411c可以进一步包括逻辑电路,所述逻辑电路对临时地存储在第一数据锁存器412c、第二数据锁存器413c、和第三数据锁存器414c中的多位数据的位执行逻辑运算。
图16示出了包括在图4的非易失性存储器设备中的存储器单元阵列的示例的框图。
参考图16,存储器单元阵列300a包括多个数据块311、312和313、以及状态组代码(state group code,SGC)存储器块314。
数据块311(BLOCK1)、312(BLOCK2)和313(BLOCKK)可以包括存储多位数据的多级单元。状态组代码存储器块314可以存储包括在数据块311、312和313中的多级单元的状态组代码。状态组代码存储器块314可以包括单级单元。在一些实施例中,可以基于被加载到图4中的页缓冲器电路410用于预编程操作的多位数据来生成状态组代码,并且状态组代码存储器块314可以存储生成的状态组代码。
存储器控制器可以通过将数据块311、312和313中的至少一些用作预编程块PPB来执行预编程操作,并且可以通过将状态组代码存储器块314用作摘要块来执行摘要编程。
图17示出了包括在图4的非易失性存储器设备中的逻辑电路的框图。
参考图17,逻辑电路460生成指示状态组代码的摘要数据DGD。在一些实施例中,逻辑电路460可以包括在图4的页缓冲器电路410中。在其它实施例中,逻辑电路460可以包括在图4的控制电路500中。逻辑电路460通过对被加载到图4中的页缓冲器电路410用于预编程操作的多位数据的位执行逻辑运算来生成摘要数据DGD。
图18和图19示出了图17的逻辑电路的示例的框图。
参考图18,逻辑电路470包括与(AND)门471至478(即,471、472、473、474、475、476、477和478)以及或(OR)门479。当多位数据的第一位B1、第二位B2、第三位B3、和第四位B4是“0111”时与门471输出逻辑高电平。当多位数据是“0001”时与门472输出逻辑高电平。当多位数据是“1110”时与门473输出逻辑高电平。当多位数据是“0100”时与门474输出逻辑高电平。当多位数据是“0010”时与门475输出逻辑高电平。当多位数据是“1011”时与门476输出逻辑高电平。当多位数据是“1110”时与门477输出逻辑高电平。当多位数据是“1101”时与门478输出逻辑高电平。因此,当多位数据是“0111”、“0001”、“1110”、“0100”、“0010”、“1011”、“1110”或“1101”时,逻辑电路470输出对应于“1”的摘要数据DGD。
参考图19,逻辑电路480包括异或(XOR)门481、482和483。
异或门481对多位数据的第一位B1和第二位B2执行逻辑异或运算。异或门482对多位数据的第三位B3和异或门481的输出执行逻辑异或运算。异或门483对多位数据的第四位B4和异或门482的输出执行逻辑异或运算,以输出摘要数据DGD。因此,当多位数据是“0111”、“0001”、“1110”、“0100”、“0010”、“1011”、“1110”或“1101”时,逻辑电路480可以输出对应于“1”的摘要数据DGD。
虽然图18和图19示出了逻辑电路460的示例,但是逻辑电路460可以用各种电路实施。此外,逻辑电路460可以根据多位数据的位的数量具有各种形式。
图20示出了根据本发明构思的实施例的操作存储设备的方法的流程图。
参考图1至图20,提供了操作存储设备的方法,所述存储设备包括非易失性存储器设备200和控制非易失性存储器设备200的控制器100。非易失性存储器设备200包括存储器单元阵列300,该存储器单元阵列300包括多个存储器块,并且存储器块中的每一个包括多个页。在操作S210中,控制电路500控制电压生成器700、地址解码器430和页缓冲器电路410以执行预编程PRE_PGM以在存储器块的预编程块PPB中的多级单元中预编程多位数据。
在操作S220中,控制电路500基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于状态组的状态组代码的摘要数据DGD。
在操作S230中,控制电路500控制电压生成器700、地址解码器430和页缓冲器电路410以执行摘要编程DG_PGM以在存储器块的摘要块DGB中编程摘要数据DGD。
在操作S240中,控制器(存储器控制器)100基于预编程的数据和摘要数据DGD恢复目标数据。控制器100可以通过使用逻辑电路对预编程的数据和摘要数据DGD执行逻辑运算来恢复目标数据。在操作S250中,控制器250在预编程块PPB中的多级单元中重新编程恢复的目标数据。
图21A至图21C示出了说明图2的存储设备的操作的示图。
参考图2、图3、图4和图21A,控制电路500控制电压生成器700、地址解码器430和页缓冲器电路410,以在预编程块PPB1中的多级单元中预编程多级数据以及在摘要块DGB1中编程摘要数据。当完成预编程和摘要编程时,预编程的多位数据PPD11、PPD12、PPD13和PPD14被存储在预编程块PPB1中,并且摘要数据DGD11、DGD12、DGD13和DGD14被存储在摘要块DGB1中。预编程的多位数据PPD11、PPD12、PPD13和PPD14分别地对应于摘要数据DGD11、DGD12、DGD13和DGD14。例如,预编程块PPB1和摘要块DGB1可以构成一对。
参考图21B,控制器100将预编程的多位数据PPD11、PPD12、PPD13和PPD14提供给控制器100中的逻辑电路190(如由参考标号610所指示),并且控制器100将摘要数据DGD11、DGD12、DGD13和DGD14迁移到逻辑电路190(如参考标号620所指示)。
逻辑电路190通过对预编程的多位数据PPD11、PPD12、PPD13和PPD14以及摘要数据DGD11、DGD12、DGD13和DGD14执行逻辑运算来恢复目标数据TD。逻辑电路190以页PAGE1、PAGE2、PAGE3和PAGE4为单位将恢复的目标数据TD存储在缓冲器130中,并且控制器100在预编程块PPB1中的多级单元中重新编程缓冲器130中的目标数据TD(如由参考字符RE_PGM指示)。因此,预编程的多位数据PPD11、PPD12、PPD13和PPD14的一些预编程的多位数据PPD13和PPD14被改变为多页数据MPG11和MPG12。多页数据MPG11和MPG12中的每一个包括多个数据的页。
参考图21C,如果完成重新编程并且完成摘要块DGB1中的摘要数据DGD11、DGD12、DGD13和DGD14的迁移,则多页数据MPG11、MPG12、MPG13和MPG14被存储在预编程块PPB1中。因此,控制器100将预编程块PPB1改变为多位块MBB1,其中所述多位块MBB1存储多页数据MPG11、MPG12、MPG13和MPG14,并且多页数据MPG11、MPG12、MPG13和MPG14中的每一个包括多个数据的页。另外,控制器100通过对摘要块DGB1执行擦除操作ERS_OP来将摘要块DGB1改变为不存储数据的空闲块FB1。
图22示出了根据本发明构思的实施例的操作非易失性存储器设备的方法的流程图。
参考图4到图19和图22,在执行了用于耦合到下一字线的多级单元的预编程操作和摘要编程之后,执行用于耦合到当前字线的多级单元的读取操作和重新编程操作。
例如,在操作S310中,在耦合到第(k+1)字线(WL)的多级单元中预编程多位数据,并且在操作S330中,基于对应于第(k+1)字线的页中的多级单元的状态代码来生成摘要数据。在用于耦合到第(k+1)字线的多级单元的预编程操作之后,在操作S350中,从耦合到第k字线的多级单元读取数据,并且在操作S370中,在耦合到第k字线的多级单元中重新编程多位数据。
如上所述,因为在执行了用于下一字线的预编程操作之后执行用于字线的读取操作和重新编程操作,所以耦合到所述字线的多级单元可以更少地被由于耦合到下一字线的存储器单元造成的耦合所影响。
图23示出了根据本发明构思的实施例的固态盘或固态驱动器(solid statedrive,SSD)的框图。
参考图23,SSD 1000包括多个非易失性存储器设备1100和SSD控制器1200。
可以可选地向非易失性存储器设备1100提供外部高电压VPP。非易失性存储器设备1100中的每一个可以包括图4的非易失性存储器设备200。因此,非易失性存储器设备1100中的每一个在预编程块中的多级单元中预编程多位数据,并且在摘要块中编程基于预编程的多位数据的状态代码生成的摘要数据。因此,非易失性存储器设备1100中的每一个可以增强存储空间的编程性能和效率。
SSD控制器1200通过多个通道CH1、CH2、CH3至Chi连接到非易失性存储器设备1100。SSD控制器1200包括一个或多个处理器1210、缓冲器存储器1220、ECC引擎1230、主机接口1250、和非易失性存储器接口1260。
缓冲器存储器1220存储用于驱动SSD控制器1200的数据。缓冲器存储器1220包括多个存储器线,每个存储器线存储数据或命令。ECC引擎1230在写入操作时计算要编程的数据的纠错码值,并且在读取操作时使用纠错码值纠正读取的数据的错误。在数据恢复操作中,ECC引擎1230纠正从非易失性存储器设备1100恢复的数据的错误。
可以使用各种封装类型或封装配置来封装根据示例实施例的非易失性存储器设备或存储设备。
本发明构思的实施例可以应用于包括非易失性存储器设备的各种电子设备。例如,本发明构思的实施例可以应用于诸如移动电话、智能电话、个人数字助理(personaldigital assistant,PDA)、便携式多媒体播放器(portable multimedia player,PMP)、数码照相机、摄像机、个人计算机(personal computer,PC)、服务器计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏机、导航系统等的系统。
前述是对示例实施例的说明,并且不应该解释为对其进行限制。虽然已经描述了一些示例实施例,但是本领域技术人员将容易理解,在不实质上脱离本发明构思的新颖教导和优点的情况下,示例实施例的许多修改是可能的。因此,所有这样的修改旨在被包括在如权利要求中定义的发明构思的范围内。
Claims (20)
1.一种操作非易失性存储器设备的方法,所述非易失性存储器设备包括存储器单元阵列,所述存储器单元阵列包括多个存储器块,其中所述多个存储器块中的每一个包括多个页,所述方法包括:
在所述多个存储器块的预编程块中的多级单元中预编程多位数据;
在预编程多位数据之后,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要数据;以及
在所述多个存储器块的摘要块中编程摘要数据,
其中,预编程块和摘要块作为一对被管理。
2.如权利要求1所述的方法,其中,多个状态组中的每一个对应于一组非重叠阈值电压分布。
3.如权利要求1所述的方法,其中,预编程多位数据包括:
将多位数据加载到耦合到多级单元的页缓冲器电路;以及
在多级单元中预编程加载到页缓冲器电路的多位数据。
4.如权利要求3所述的方法,进一步包括:
基于加载到页缓冲器电路的多位数据生成摘要数据,
其中,生成摘要数据包括对多位数据中的位中的每一个执行逻辑运算。
5.如权利要求1所述的方法,其中,基于多级单元中的每一个中的状态代码中的每一个中的第一位的数量来生成摘要数据,并且第一位中的每一个具有第一逻辑电平。
6.如权利要求5所述的方法,其中,摘要块包括单级单元。
7.如权利要求1所述的方法,其中,多级单元中的每一个存储N位数据,N是大于2的整数,多级单元中的每一个对应于2N个状态代码之一,并且状态代码组包括M个状态代码组,M是小于或等于N的自然数。
8.如权利要求7所述的方法,其中,N为4并且M为2。
9.如权利要求7所述的方法,其中,摘要块包括多级单元。
10.一种操作存储设备的方法,所述存储设备包括非易失性存储器设备和配置为控制非易失性存储器设备的控制器,其中非易失性存储器设备包括多个存储器块,并且所述多个存储器块中的每一个包括多个页,所述方法包括:
在所述多个存储器块的预编程块中的多级单元中预编程多位数据作为预编程的多位数据;
在预编程多位数据之后,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要数据;
在所述多个存储器块的摘要块中编程摘要数据;
由控制器基于预编程的多位数据和摘要数据恢复目标数据;以及
由控制器在预编程块中的多级单元中重新编程恢复的目标数据,
其中,预编程块和摘要块作为一对被管理。
11.如权利要求10所述的方法,其中,多个状态组中的每一个对应于一组非重叠阈值电压分布。
12.如权利要求11所述的方法,其中,所述控制器包括缓冲器,
其中,所述方法进一步包括:
在完成一次编程多位数据之后,由控制器将多位数据加载到缓冲器;以及
在控制器将多位数据从缓冲器加载到非易失性存储器设备中的页缓冲器电路之后,由控制器释放缓冲器。
13.如权利要求12所述的方法,其中,基于多级单元中的每一个中的状态代码中的每一个中的第一位的数量来生成摘要数据,并且第一位中的每一个具有第一逻辑电平,并且
其中,摘要块包括单级单元。
14.如权利要求12所述的方法,其中,恢复目标数据包括:
由控制器对预编程的多位数据和摘要数据执行逻辑运算,以生成目标数据;以及
将目标数据存储在缓冲器中作为恢复的目标数据。
15.如权利要求14所述的方法,其中,重新编程恢复的目标数据包括:
将存储在缓冲器中的恢复的目标数据加载到页缓冲器电路;以及
在预编程块中重新编程恢复的目标数据。
16.如权利要求14所述的方法,其中,生成目标数据包括:
将预编程的多位数据和摘要数据迁移到控制器,并且
其中,所述控制器配置为当完成重新编程时通过对摘要块执行擦除操作来将摘要块改变为不存储数据的空闲块。
17.一种存储设备,包括:
非易失性存储器设备,包括存储器单元阵列,所述存储器单元阵列包括多个存储器块,并且所述多个存储器块中的每一个包括多个页;和
控制器,配置为控制非易失性存储器设备,
其中控制器配置为控制非易失性存储器设备以:
执行预编程,所述预编程在所述多个存储器块的预编程块中的多级单元中预编程多位数据,
在预编程之后,基于指示多级单元的状态的状态代码将多级单元划分为多个状态组,以生成指示对应于多个状态组的状态组代码的摘要数据,以及
执行摘要编程,所述摘要编程在所述多个存储器块的摘要块中编程摘要数据,
其中,控制器还被配置为将预编程块和摘要块作为一对管理。
18.如权利要求17所述的存储设备,其中,非易失性存储器设备包括:
电压生成器,配置为生成字线电压;
地址解码器,通过串选择线、多个字线和地选择线耦合到存储器单元阵列,所述地址解码器配置为将字线电压传递到存储器单元阵列;
页缓冲器电路,通过多个位线耦合到存储器单元阵列;和
控制电路,配置为基于从控制器接收的命令和地址来控制电压生成器、地址解码器和页缓冲器电路。
19.如权利要求17所述的存储设备,其中,所述存储器单元阵列包括多个单元串,所述多个单元串中的每一个包括多个柱,所述多个柱穿透在垂直于基板的方向上堆叠的字线,所述字线堆叠在位线与公共源极线之间,并且
其中所述控制器包括编程管理器,所述编程管理器配置为控制预编程和摘要编程。
20.如权利要求17所述的存储设备,其中,多个状态组中的每一个对应于一组非重叠阈值电压分布。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411604756.7A CN119739559A (zh) | 2018-12-12 | 2019-09-06 | 操作存储设备的方法和存储设备 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2018-0159593 | 2018-12-12 | ||
| KR1020180159593A KR102694842B1 (ko) | 2018-12-12 | 2018-12-12 | 비휘발성 메모리 장치의 동작 방법, 스토리지 장치의 동작 방법 및 스토리지 장치 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411604756.7A Division CN119739559A (zh) | 2018-12-12 | 2019-09-06 | 操作存储设备的方法和存储设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111309517A CN111309517A (zh) | 2020-06-19 |
| CN111309517B true CN111309517B (zh) | 2024-11-29 |
Family
ID=71071222
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910840852.4A Active CN111309517B (zh) | 2018-12-12 | 2019-09-06 | 操作存储设备的方法和存储设备 |
| CN202411604756.7A Pending CN119739559A (zh) | 2018-12-12 | 2019-09-06 | 操作存储设备的方法和存储设备 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411604756.7A Pending CN119739559A (zh) | 2018-12-12 | 2019-09-06 | 操作存储设备的方法和存储设备 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US11037628B2 (zh) |
| KR (1) | KR102694842B1 (zh) |
| CN (2) | CN111309517B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022045992A (ja) * | 2020-09-10 | 2022-03-23 | キオクシア株式会社 | 半導体記憶装置 |
| KR20240048893A (ko) | 2022-10-07 | 2024-04-16 | 삼성전자주식회사 | 스토리지 장치 및 그것의 프로그램 방법 |
| KR20260007671A (ko) * | 2024-07-08 | 2026-01-15 | 삼성전자주식회사 | 프리-프로그램을 수행하는 스토리지 장치 및 그것의 프로그램 방법 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4157563B2 (ja) | 2006-01-31 | 2008-10-01 | 株式会社東芝 | 半導体集積回路装置 |
| US8130552B2 (en) | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
| KR101572830B1 (ko) * | 2009-06-22 | 2015-11-30 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 |
| US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
| US8355280B2 (en) | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
| KR101635446B1 (ko) | 2010-05-25 | 2016-07-04 | 삼성전자주식회사 | 반도체 메모리 장치의 블록 병합 방법 |
| KR101821604B1 (ko) | 2011-07-25 | 2018-01-24 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 |
| DE102013108491A1 (de) * | 2012-08-10 | 2014-02-13 | Samsung Electronics Co., Ltd. | Nichtflüchtige Speichervorrichtung und Betriebsverfahren mit variablen Speicherzellenzustandsdefinitionen |
| KR102106959B1 (ko) * | 2013-02-21 | 2020-05-07 | 에프아이오 세미컨덕터 테크놀로지스, 엘엘씨 | 멀티 레벨 셀 비휘발성 메모리 시스템 |
| KR102096285B1 (ko) * | 2013-07-30 | 2020-04-02 | 삼성전자주식회사 | 메모리 시스템 및 그것의 프로그램 방법 |
| KR102157875B1 (ko) * | 2013-12-19 | 2020-09-22 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함한 메모리 시스템 |
| US9870169B2 (en) | 2015-09-04 | 2018-01-16 | Intel Corporation | Interleaved all-level programming of non-volatile memory |
| KR102361642B1 (ko) * | 2015-10-16 | 2022-02-10 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 및 동작 방법 |
| US9953703B2 (en) * | 2015-10-16 | 2018-04-24 | Samsung Electronics Co., Ltd. | Programming method of non volatile memory device |
| KR102302187B1 (ko) * | 2017-03-13 | 2021-09-14 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치 |
| US10354723B2 (en) * | 2017-06-29 | 2019-07-16 | SK Hynix Inc. | Memory device and method for programming the same |
-
2018
- 2018-12-12 KR KR1020180159593A patent/KR102694842B1/ko active Active
-
2019
- 2019-08-17 US US16/543,532 patent/US11037628B2/en active Active
- 2019-09-06 CN CN201910840852.4A patent/CN111309517B/zh active Active
- 2019-09-06 CN CN202411604756.7A patent/CN119739559A/zh active Pending
-
2021
- 2021-05-10 US US17/316,463 patent/US11610631B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20210264985A1 (en) | 2021-08-26 |
| US20200194072A1 (en) | 2020-06-18 |
| KR20200071955A (ko) | 2020-06-22 |
| CN111309517A (zh) | 2020-06-19 |
| US11037628B2 (en) | 2021-06-15 |
| US11610631B2 (en) | 2023-03-21 |
| KR102694842B1 (ko) | 2024-08-14 |
| CN119739559A (zh) | 2025-04-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10332607B2 (en) | Methods of operating a nonvolatile memory device and the nonvolatile memory device thereof | |
| CN107093465B (zh) | 包括电压搜索单元的数据存储器装置 | |
| US9478296B2 (en) | Erase method of nonvolatile memory device and storage device employing the same | |
| US9824761B2 (en) | Storage device and a write method including a coarse program operation and fine program operation | |
| US9837164B2 (en) | Nonvolatile memory device, storage device having the same, and operation and read methods thereof | |
| US9779790B2 (en) | Nonvolatile memory device and method of driving word line of the nonvolatile memory | |
| KR102355580B1 (ko) | 비휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법 | |
| CN107808682B (zh) | 控制电路、外围电路、半导体存储器件及其操作方法 | |
| CN108694977B (zh) | 储存装置及其操作方法 | |
| US9401214B2 (en) | Three-dimensional memory device and operating method of a storage device including the same | |
| CN109427400B (zh) | 存储器装置及其操作方法 | |
| KR102396734B1 (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
| KR102179845B1 (ko) | 비휘발성 메모리 장치 및 그것의 프로그램 방법 | |
| CN107871515B (zh) | 半导体存储器装置及其操作方法 | |
| US8817540B2 (en) | Nonvolatile memory device and program method thereof | |
| KR20130125426A (ko) | 비휘발성 메모리 장치의 프로그래밍 방법 | |
| CN107170485B (zh) | 半导体存储设备及其操作方法 | |
| US11610631B2 (en) | Methods of operating nonvolatile memory devices, methods of operating storage device and storage devices | |
| TW202119421A (zh) | 半導體記憶體裝置及其操作方法 | |
| KR20180051984A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
| CN116343871A (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 |