CN109671462B - 具有参数校准功能的存储设备及其操作方法 - Google Patents
具有参数校准功能的存储设备及其操作方法 Download PDFInfo
- Publication number
- CN109671462B CN109671462B CN201810863665.3A CN201810863665A CN109671462B CN 109671462 B CN109671462 B CN 109671462B CN 201810863665 A CN201810863665 A CN 201810863665A CN 109671462 B CN109671462 B CN 109671462B
- Authority
- CN
- China
- Prior art keywords
- memory
- memory cell
- controller
- cell blocks
- threshold voltage
- 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
- 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/26—Sensing or reading circuits; Data output 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
-
- 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/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50004—Marginal testing, e.g. race, voltage or current testing of threshold voltage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Read Only Memory (AREA)
- Microelectronics & Electronic Packaging (AREA)
Abstract
一种包括控制器的存储设备的操作方法:从非易失性存储器接收读取数据;基于接收到的读取数据测量分别对应于非易失性存储器的多个存储单元块的多个阈值电压分布;基于所测量的多个阈值电压分布来测量多个存储单元块之间的分布变化;基于所测量的分布变化来动态地确定用于非易失性存储器的操作参数;以及向非易失性存储器发送操作命令、地址和与该地址相对应的至少一个操作参数。
Description
相关申请的交叉引用
本申请要求于2017年10月17日在韩国知识产权局提交的韩国专利申请第10-2017-0134811号的权益,其公开内容通过引用整体并入本文。
技术领域
本发明构思涉及一种存储设备,更具体地说,涉及一种具有参数校准功能的存储设备以及该存储设备的操作方法。
背景技术
作为非易失性存储器的一种类型,即使当电力被切断时,闪速存储器也维持存储的数据。闪速存储器通过移动存储单元的阈值电压来存储数据,并通过使用预定的读取电平来读取数据。然而,存储单元的阈值电压可能例如由于物理位置或存储单元的劣化而无意地移动。因此,为了防止由阈值电压的无意移动引起读取错误,读取电平应该被动态地移动并存储,导致开销增加。考虑到为编程的存储单元生成多个读取请求的可能性,有必要开发一种用于减少读取操作的开销的操作方法。
发明内容
本发明构思提供了一种具有参数校准功能的存储设备以及该存储设备的操作方法。
根据本发明构思的一个方面,提供了一种存储设备的操作方法,包括:由控制器从非易失性存储器接收读取数据;由控制器基于接收到的读取数据测量分别与非易失性存储器的多个存储单元块相对应的多个阈值电压分布;由控制器基于所测量的多个阈值电压分布来测量多个存储单元块之间的分布变化;由控制器基于所测量的分布变化动态地确定用于非易失性存储器的操作参数;以及由控制器向非易失性存储器发送操作命令、地址和与该地址相对应的至少一个操作参数。
根据本发明构思的另一方面,提供了一种存储设备的操作方法,该操作方法包括:由控制器从非易失性存储器接收读取数据;由控制器基于接收到的读取数据,测量分别与非易失性存储器的多个存储单元块相对应的多个阈值电压分布;由控制器基于所测量的多个阈值电压分布,测量多个存储单元块之间的分布变化度量;由控制器基于所测量的分布变化度量通过聚类将多个存储单元块动态地分组到多个组;以及由控制器动态地确定用于多个组中的每个组的非易失性存储器的操作参数。
根据本发明构思的另一方面,提供了一种存储设备的操作方法,该操作方法包括:由控制器从非易失性存储器接收读取数据;由控制器基于接收到的读取数据,测量分别与非易失性存储器的多个存储单元块相对应的多个阈值电压分布;由控制器基于所测量的多个阈值电压分布来测量多个存储单元块之间的分布变化;由控制器基于所测量的分布变化,将多个存储单元块动态地分组到多个组;由控制器基于所测量的分布变化,动态地确定用于多个组中的每个组的非易失性存储器的操作参数;以及由控制器向非易失性存储器发送操作命令、地址以及与该地址相对应的至少一个操作参数。
根据本发明构思的另一方面,提供了一种包括非易失性存储器的存储设备,该存储设备包括:分别连接到多条字线的多个存储单元;以及控制器,被配置为:基于分别与多条字线相对应的多个阈值电压分布,基于从非易失性存储器接收的读取数据,测量多条字线之间的分布变化,基于测量的分布变化确定用于每个组的多个存储单元的操作参数,以及向非易失性存储器发送操作命令、地址和与该地址对应的至少一个操作参数。
根据本发明构思的又一方面,一种设备包括:非易失性存储器,包括布置在多个存储单元块中的多个非易失性存储单元;以及控制器。控制器被配置为:测量分别对应于非易失性存储器的多个存储单元块的多个阈值电压分布;基于所测量的多个阈值电压分布来测量多个存储单元块之间的分布变化;以及基于所测量的分布变化来确定用于多个存储单元块中的每一个的非易失性存储器的操作参数。
附图说明
从以下结合附图的详细描述中将更清楚地理解本发明构思的实施例。
图1是图示存储***的实施例的框图。
图2是示出图1的非易失性存储器的阈值电压分布的曲线图。
图3是示出放大的图2的第一编程状态和第二编程状态的曲线图。
图4示出根据实施例的示出上升电压和下降电压相对于字线的变化的曲线图。
图5是图示图1的控制器的示例实施例的框图。
图6是图示图1的非易失性存储器的示例实施例的框图。
图7是示例性地图示图1的第一存储块的示例实施例的电路图。
图8A和图8B示例性地图示根据实施例的阈值电压分布之间的分布变化度量。
图9A、图9B、图9C和图9D是示出根据一些实施例的校准阈值电压分布的方法的曲线图。
图10A、图10B、图10C和图10D是示出阈值电压分布校准结果的一些实施例的曲线图。
图11是图示存储设备的操作方法的实施例的流程图。
图12是图示控制器与非易失性存储器之间的编程操作的实施例的流程图。
图13图示编程命令集的示例实施例。
图14A图示编程命令集的另一示例实施例。
图14B图示验证偏移表的实施例。
图15是图示控制器与非易失性存储器之间的擦除操作的实施例的流程图。
图16图示擦除命令集的示例实施例。
图17是图示控制器与非易失性存储器之间的读取操作的实施例的流程图。
图18图示读取命令集的示例实施例。
图19是图示图1的控制器的另一示例实施例的框图。
图20是示出聚类操作的实施例的图。
图21A图示字线组的实施例。
图21B图示验证偏移的实施例。
图21C图示读取电压表的实施例。
图22A图示字线组的实施例。
图22B图示验证偏移表的实施例。
图22C图示读取电压表的实施例。
图23A和图23B图示根据一些实施例的存储块组的一些示例性实施例。
图24A和图24B图示存储器芯片组的一些示例性实施例。
图25是图示存储设备的操作方法的实施例的流程图。
图26是图示对非易失性存储器的存储单元块进行分组的方法的实施例的流程图。
图27是图示存储设备的操作方法的实施例的流程图。
图28是图示存储设备的操作方法的实施例的流程图。
图29是示出根据实施例的示出上升电压和下降电压相对于字线的变化的曲线图。
图30是图示存储***的实施例的框图。
图31是图示电子设备的实施例的框图。
具体实施方式
图1是示出存储***SS的实施例的框图。
参考图1,存储***SS可以包括存储设备10和主机20,并且存储设备10可以包括控制器100和非易失性存储器(NVM)200。主机20可以通过各种接口与存储设备10通信并且可以将读取请求和编程请求传送到存储设备10。例如,主机20可以被实现为应用处理器(AP)或片上***(SoC)。
NVM 200可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可以各自包括多个页面PG1至PGm。这里,z和m可以各自为正整数,并且可以根据实施例进行各种改变。例如,存储块可以是擦除的单位(即,在单次擦除操作中一起被擦除的存储单元的单位),并且页面可以是编程和读取的单位(在单次编程操作中一起被编程并在单次读取操作中一起被读取的存储单元的单位)。在一些实施例中,NVM 200可以包括多个平面、多个裸芯或多个芯片。在实施例中,NVM 200可以是NAND闪速存储器设备。然而,本实施例不限于此,并且NVM200可以是诸如电阻式随机存取存储器(resistive random access memory,ReRAM)、相变随机存取存储器(phase change random access memory,PRAM)或磁性随机存取存储器(magnetic random access memory,MRAM)的电阻式存储器设备。
控制器100可以控制NVM 200响应于来自主机20的读取请求来读取存储在NVM 200中的数据DATA,或响应于来自主机20的编程请求将数据DATA写入NVM 200中。在本实施例中,控制器100可以包括校准模块CM和参数缓冲器PB。
校准模块CM可对NVM 200执行读取操作以测量分别对应于NVM 200的多个存储单元块的多个阈值电压分布。而且,校准模块CM可基于所测量的多个阈值电压分布来查明或测量多个存储单元块之间的分布变化,并且可以基于所测量的分布变化来动态地查明或确定用于NVM 200的操作参数。在实施例中,多个存储单元块可以对应于多条字线、多个存储块、多个存储器芯片或多个封装。参数缓冲器PB可以存储由校准模块CM动态地查明或确定的操作参数。
在实施例中,校准模块CM可以通过组动态地查明或确定用于NVM 200的操作参数。在实施例中,多条字线可以被分组到多条字线组。在实施例中,多个存储块可以被分组到多个存储块组。在实施例中,多个芯片可以被分组到多个芯片组。参数缓冲器PB可以存储由校准模块CM查明或确定的操作参数,以分别地匹配多个组。
控制器100可以将包括命令CMD、地址ADDR和操作参数PM的命令集发送到NVM 200以控制NVM 200的操作。控制器100可以从存储在参数缓冲器PB中的操作参数当中选择对应于地址ADDR的操作参数PM,并且可以将选择的操作参数PM、命令CMD和地址ADDR发送到NVM200。在编程操作中,控制器100可以将数据发送到NVM 200,并且在读取操作中,NVM 200可以将数据提供给控制器100。可以通过输入/输出(I/O)总线在控制器100和NVM 200之间发送或接收命令CMD、地址ADDR、操作参数PM和数据DATA。
存储***SS可以用例如个人计算机(PC)、数据服务器、网络附加存储(network-attached storage,NAS)、物联网(IoT)设备或便携式电子设备来实现。例如,便携式电子设备可以是膝上型计算机、移动电话、智能电话、平板PC、个人数字助理(personal digitalassistant,PDA)、企业数字助理(enterprise digital assistant,EDA)、数字照相机、数字摄像机、音频设备、便携式多媒体播放器(portable multimedia player,PMP)、便携式导航设备(portable navigation device,PND)、MP3播放器、手持式游戏机、电子书、可穿戴设备等。在一些实施例中,存储设备10可以是嵌入到电子设备中的内部存储器。例如,存储设备10可以是固态驱动器(SSD)、通用闪存(UFS)存储器设备、嵌入式多媒体卡(embeddedmulti-media card,eMMC)等。在一些实施例中,存储设备10可以是可附接到电子设备/从电子设备拆卸的外部存储器。例如,存储设备10可以是UFS存储卡、紧凑型闪存(CF)、安全数字(SD)、微型SD、迷你SD、极限数字(extreme digital,xD)、记忆棒等。在实施例中,存储设备10可以包括键值存储设备或键值存储,并且例如可以是键值SSD。键值存储设备可以是通过使用键值对快速且简单地处理数据的设备。这里,键值对可以表示由具有唯一性的键和作为与该键相对应的数据的值组成的对。
图2是示出图1的NVM 200的阈值电压分布的曲线图。参考图1和图2,包括在NVM200的第一存储单元块中的第一存储单元可以具有第一阈值电压分布21,并且包括在NVM200的第二存储单元块中的第二存储单元可以具有第二阈值电压分布22。第一存储单元和第二存储单元可以被编程到第一至第n编程状态P1至Pn中的一个。另外,第一存储单元和第二存储单元可以被擦除到擦除状态E。这里,n可以是正整数并且可以根据实施例进行各种改变。例如,在多级单元(multi-level cell,MLC)中,n可以是3,并且在三级单元(triplelevel cell,TLC)中,n可以是7。而且,在四级单元(quadruple level cell,QLC)中,n可以是15。
第一阈值电压分布21和第二阈值电压分布22可以彼此不同,并且第一阈值电压分布21和第二阈值电压分布22之间的差可以被称为分布变化。在实施例中,分布变化可能在发布存储设备10之前(也就是在卖存储设备10之前)发生,并且例如可能由于第一存储单元块和第二存储单元块之间的物理位置差异而发生。在实施例中,分布变化可以在存储设备10被发布之后在存储设备10操作的同时发生,并且例如可以由于第一存储单元块和第二存储单元块中的每一个的编程/擦除周期、保留时间、编程扰动和读取扰动而发生。
由于分布变化,在通过使用读取电压Vr1、Vr2和Vrn从NVM 200的第二存储单元块中包括的第二存储单元读取数据的情况下,可能发生读取错误。因此,控制器100应查明或确定用于第一存储单元的读取电压Vr1、Vr2和Vrn以及用于第二存储单元的读取电压Vr1'、Vr2'和Vrn',并存储和管理所查明或确定的读取电压Vr1、Vr2和Vrn以及读取电压Vr1'、Vr2'和Vrn'。由于这个原因,在一些存储设备中开销可能非常大。特别是,一旦为经编程的存储单元生成了多个读取请求,则应该每次校准读取电压,并且应该管理校准的读取电压,导致开销的大量增加。
根据本实施例,校准模块CM可以测量包括在NVM 200的第一存储单元块中的第一存储单元和包括在NVM 200的第二存储单元块中的第二存储单元之间的分布变化,并且可以基于测量的分布变化来动态地查明或确定操作参数。因此,校准模块CM可以在发布存储设备10之前校准分布变化,或者可以在存储设备10被发布之后在存储设备10操作的同时校准分布变化。因此,校准模块CM灵活地应对当存储设备10正在被组装或正在操作时发生的压力,从而提高存储设备10的性能和可靠性。
在实施例中,校准模块CM可以查明或确定用于第一存储单元块的第一操作参数和用于第二存储单元块的与第一操作参数不同的第二操作参数,并且可以将所查明或确定的第一操作参数和第二操作参数存储在参数缓冲器PB中。随后,NVM 200可以通过使用第二操作参数对第二存储单元执行编程/擦除操作,并且因此第二存储单元的阈值电压分布可以从第二阈值电压分布22改变到校正的第二阈值电压分布22'。因此,第二阈值电压分布22和校正的第二阈值电压分布22'之间的分布变化减小,并且可以通过使用相同的读取电压Vr1、Vr2和Vrn从第一存储单元和第二存储单元读取数据,由此减少存储设备10的开销。
图3是示出放大的图2的第一编程状态P1和第二编程状态P2的曲线图。参考图3,第一编程状态P1和第二编程状态P2之间的读取窗口RDW可以被定义为与第一编程状态P1相对应的下降电压VF和与第二编程状态P2相对应的上升电压VR之间的差。这里,基于被编程至第一编程状态P1的存储单元的“关闭”单元计数结果,下降电压VF可以表示“关闭”单元的数量对应于参考数量REF的阈值电压。基于被编程至第二编程状态P2的存储单元的“关闭”单元计数结果,上升电压VR可以表示“关闭”单元的数量对应于参考数量REF的阈值电压。用于确定第二编程状态P2的读取电压Vr2应具有读取窗口RWD内的电压电平,并且为了减小读取错误,应该充分宽地确保读取窗口RWD。
图4是示出了如果上升电压VR和下降电压VF相对于字线WL变化的实施例的曲线图。参考图4,第一曲线图41表示相对于字线WL的上升电压VR和下降电压VF,并且例如可以对应于图3的上升电压VR和下降电压VF。在第一曲线图41中,作为上升电压VR和下降电压VF之间的差的第一读取窗口RDW1在字线WL当中具有非常大的变化。第二曲线图42表示在根据实施例通过使用动态地确定的操作参数对存储单元进行编程的情况下相对于字线WL的上升电压VR'和下降电压VF'。在第二曲线图42中,作为上升电压VR'和下降电压VF'之间的差的第二读取窗口RDW2在字线WL当中具有与第一读取窗口RDW1的变化相比减小的变化。因此,即使在通过使用读取电压Vr2读取被编程到第二编程状态P2的存储单元的情况下,也确保了存储设备的可靠性。
图5是图示图1的控制器的示例实施例的框图。
参考图1和图5,控制器100a可以包括处理器110、存储器120a、主机接口130、NVM接口140和纠错码(ECC)引擎150,并且这些元件可以通过总线160彼此通信。处理器110可以包括中央处理单元(CPU)或微处理器,并且可以控制控制器100a的整体操作。存储器120a可以在处理器110的控制下操作并且可以用作工作存储器、缓冲存储器、高速缓存存储器等。例如,存储器120a可以被实现为诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的易失性存储器或诸如PRAM或闪速存储器的NVM。
校准模块CMa可以被实现为固件或软件并且可以被加载到存储器120a中。在实施例中,校准模块CMa可以在闪存转换层(FTL)中实现并且可以被加载到存储器120a中。然而,本实施例不限于此,并且校准模块CMa可以被实现为硬件。在实施例中,校准模块CMa可以包括变化度量测量模块121和参数计算模块123。
变化度量测量模块121可以测量来自多个阈值电压分布的分布变化度量。在实施例中,分布变化度量可以对应于第一阈值电压电平,在该第一阈值电压电平处,NVM 200的每个存储单元块中的被编程的存储单元的“开启”单元的数量对应于第一数量,或分布变化度量可以对应于第二阈值电压电平,在该第二阈值电压电平处,NVM 200的每个存储单元块中的被编程的存储单元的“关闭”单元的数量对应于第二数量。在实施例中,分布变化度量可以对应于通过使用NVM 200的每个存储单元块中的第一字线电压电平来编程的存储单元的“开启”单元的数量,或者通过使用所述NVM 200的每个存储单元块中的第一字线电压电平来编程的存储单元的“关闭”单元的数量。在实施例中,分布变化度量可以对应于用于最小化NVM 200的每个存储单元块中的错误比特的读取电压电平。参数计算模块123可以基于分布变化度量来计算用于NVM 200的操作参数。
参数缓冲器PBa可以存储由参数计算模块123计算的操作参数,并且可以实现为存储器120a的一部分。在实施例中,校准模块CMa和参数缓冲器PBa可以被实现为一个芯片。然而,本实施例不限于此,并且校准模块CMa和参数缓冲器PBa可以被实现为不同的芯片。而且,用于将从主机20接收的逻辑地址改变为NVM 200的物理地址的映射表可以被加载到存储器120a中。
主机接口130可以提供主机20和控制器100a之间的接口,并且例如可以基于通用串行总线(USB)、MMC、PCI express(PIC-E)、高级技术附件(advanced technologyattachment,ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(small computersystem interface,SCSI)、串行连接SCSI(serial attached SCSI,SAS)、增强型小磁盘接口(enhanced small disk interface,ESDI)、集成驱动电子设备(integrated driveelectronics,IDE)等来提供接口。NVM接口140可以提供控制器100a和NVM 200之间的接口。例如,可以通过NVM接口140在控制器100a和NVM 200之间发送或接收命令、地址、操作参数、编程数据和读取数据。ECC引擎150可以对从NVM 200接收的数据执行ECC操作以检测数据中的一个或多个比特错误并且可以纠正检测到的(一个或多个)错误比特。在实施例中,ECC引擎150可以被实现为硬件。在实施例中,ECC引擎150可以被实现为固件或软件并且可以被加载到存储器120a中。
图6是图示图1的NVM 200的示例实施例的框图。参考图1和图6,NVM 200可以包括第一存储器芯片CH1至第八存储器芯片CH8,并且第一存储器芯片CH1至第八存储器芯片CH8中的每一个可以包括多个存储块BLK1至BLKz。在图6中,NVM 200被图示为包括第一存储器芯片CH1至第八存储器芯片CH8,但是这仅仅是示例。包括在NVM 200中的存储器芯片的数量可以根据实施例进行各种改变。
在实施例中,存储单元块可以是存储器芯片,并且控制器100可以测量第一存储器芯片CH1至第八存储器芯片CH8的阈值电压分布,测量第一存储器芯片CH1至第八存储器芯片CH8之间的分布变化,并基于所测量的分布变化动态地查明或确定用于第一存储器芯片CH1至第八存储器芯片CH8的操作参数。例如,用于第一存储器芯片CH1的第一操作参数可以不同于用于第二存储器芯片CH2的第二操作参数。
在实施例中,存储单元块可以是存储块,并且控制器100可以测量多个存储块BLK1至BLKz的阈值电压分布,测量多个存储块BLK1至BLKz之间的分布变化,并且基于所测量的分布变化动态地查明或确定用于多个存储块BLK1至BLKz的操作参数。例如,用于第一存储块BLK1的第一操作参数可以不同于用于第二存储块BLK2的第二操作参数。
图7是示例性地图示根据实施例的图1的第一存储块BLK1的示例的电路图。参考图1和图7,第一存储块BLK1可以包括多个NAND串NS11至NS33、多条字线WL1至WL8、多条位线BL1至BL3、多条地选择线GSL1至GSL3、多条串选择线SSL1至SSL3以及公共源极线CSL。NAND串NS11至NS33各自包括多个存储单元(MC)。图1的其他存储块BLK2至BLKz可与第一存储块BLK1基本上相同地来实现。
在实施例中,存储单元块可以包括字线和连接到该字线的存储单元(MC),并且控制器100可以测量连接到多条字线WL1至WL8的存储单元的阈值电压分布,测量连接到多条字线WL1至WL8的存储单元之间的分布变化,并且基于所测量的分布变化来动态地确定用于多条字线WL1至WL8的操作参数。例如,用于第一字线WL1的第一操作参数可以不同于用于第二字线WL2的第二操作参数。
图8A和图8B示出阈值电压分布之间的分布变化度量的示例实施例。参考图8A和图8B,第一阈值电压分布81可以对应于包括在第一存储单元块中的存储单元的阈值电压分布,并且第二阈值电压分布82可以对应于包括在第二存储单元块中的存储单元的阈值电压分布。
参考图8A,在实施例中,基于使用第一电压V1的“关闭”单元计数结果,分布变化度量可以对应于“关闭”单元的数量。例如,在第一电压V1被施加到连接到具有第一阈值电压分布81的存储单元的字线的情况下,“关闭”单元的数量可以是第一数量N1,并且在第一电压V1被施加到连接到具有第二阈值电压分布82的存储单元的字线的情况下,“关闭”单元的数量可以是第二数量N2。在这种情况下,第一数量N1和第二数量N2可以是分布变化度量的示例,并且第一数量N1和第二数量N2之间的差可以对应于第一阈值电压分布81和第二阈值电压分布82的分布变化。
参考图8B,在实施例中,分布变化度量可以对应于“关闭”单元的数量对应于参考数量Nref的阈值电压电平。例如,在对具有第一阈值电压分布81的存储单元的读取结果中,“关闭”单元的数量对应于参考数量Nref的阈值电压电平可以是第一电压V1,并且在对具有第二阈值电压分布82的存储单元的读取结果中,“关闭”单元的数量对应于参考数量Nref的阈值电压电平可以是第二电压V2。在这种情况下,第一电压V1和第二电压V1可以是分布变化度量的示例,并且第一电压V1和第二电压V2之间的差对应于第一阈值电压分布81和第二阈值电压分布82的分布变化。
图9A至图9D是示出校准阈值电压分布的方法的一些实施例的曲线图。
参考图9A,在实施例中,第一阈值电压分布91可以具有对应于图2的第一编程状态P1至第n编程状态Pn中的一个的编程状态。第一阈值电压分布91的形状和位置可以基于作为编程状态的开始位置的开始电压Vs、作为编程状态的终止位置的终止电压Ve和分布宽度WD来查明或确定。例如,可以基于编程验证电压确定开始电压Vs,可以基于编程开始电压来确定终止电压Ve,并且可以基于增量步进脉冲编程(ISPP)编程周期计数来查明或确定分布宽度WD。因此,第一阈值电压分布91的形状和位置可以通过改变编程验证电压、编程开始电压和/或ISPP编程周期计数来改变。
在实施例中,第一阈值电压分布91可以对应于图2的擦除状态E。第一阈值电压分布91的形状和位置可以基于作为擦除状态E的开始位置的开始电压Vs、作为擦除状态E的终止位置的终止电压Ve以及分布宽度WD来确定。例如,可以基于擦除开始电压来确定开始电压Vs,可以基于擦除验证电压来确定终止电压Ve,并且可以基于ISPP编程周期计数来查明或确定分布宽度WD。因此,可以通过改变擦除验证电压、擦除开始电压和/或ISPP编程周期计数来改变第一阈值电压分布91的形状和位置。
参考图9B,在实施例中,当第一阈值电压分布91是第一编程状态P1至第n编程状态Pn中的一个时,可以通过增加用于具有第一阈值电压分布91的存储单元的编程验证电压来获得第二阈值电压分布92。在实施例中,当第一阈值电压分布91在擦除状态E中时,可以通过减少用于具有第一阈值电压分布91的存储单元的擦除开始电压来获得第二阈值电压分布92。第二阈值电压分布92的开始电压Vs'与第一阈值电压分布91的开始电压Vs相比可以在正方向上移动。
参考图9C,在实施例中,当第一阈值电压分布91是第一编程状态P1至第n编程状态Pn中的一个时,可以通过增加用于具有第一阈值电压分布91的存储单元的ISPP编程周期计数来获得第三阈值电压分布93。在实施例中,当第一阈值电压分布91在擦除状态E中时,可以通过增加用于具有第一阈值电压分布91的存储单元的ISPP编程周期计数来获得第三阈值电压分布93。第三阈值电压分布93的分布宽度WD'可以窄于第一阈值电压分布91的分布宽度WD。
参考图9D,在实施例中,当第一阈值电压分布91是第一编程状态P1至第n编程状态Pn中的一个时,可以通过增加用于具有第一阈值电压分布91的存储单元的编程开始电压来获得第四阈值电压分布94。在实施例中,当第一阈值电压分布91在擦除状态E中时,可以通过增加用于具有第一阈值电压分布91的存储单元的擦除验证电压来获得第四阈值电压分布94。第四阈值电压分布94的终止电压Ve'与第一阈值电压分布91的终止电压Ve相比可以在正方向上移动。
图10A至图10D是示出阈值电压分布校准结果的一些实施例的曲线图。在下文中,将参考图1和图10A至图10D来描述阈值电压分布校准结果。
参考图10A,阈值电压分布表示包括在第一存储单元块至第三存储单元块中的存储单元的阈值电压分布,并且例如,存储单元可以被编程为第一编程状态P1至第三编程状态P3中的一个。第一编程状态P1示出分别对应于第一存储单元块至第三存储单元块的第一分布中具有最宽分布宽度的第一分布101。第三编程状态P3示出分别对应于第一存储单元块至第三存储单元块的第三分布中具有最宽分布宽度的第三分布105。第二编程状态P2示出分别对应于第一存储单元块至第三存储单元块的第二分布102a、103a和104a。第一读取窗口A1可以对应于第一分布101的下降电压VF1和第二分布102a、103a和104a中的具有最低上升电压的第二分布102a的上升电压VR2a之间的差。而且,第二读取窗口B1可以对应于第三分布105的上升电压VR3和第二分布102a、103a和104a中具有最高下降电压的第二分布104a的下降电压VF2a之间的差。
参考图10B,校准模块CM可以校准操作参数以使第二分布102b、103b和104b相对于中心对齐。例如,校准模块CM可以增加用于包括在第一存储单元和第三存储单元中的存储单元的ISPP编程周期计数以减小第二分布102b和104b中的每一个的分布宽度,并且可以将第二分布102b、103b和104b的中心对齐。因此,第二分布102b、103b和104b中具有最宽分布宽度的第二分布103b的上升电压VR2b可能变得高于图10A的上升电压VR2a,并且下降电压VF2b可能变得低于图10A的下降电压VF2a。因此,与图10A的第一读取窗口A1和第二读取窗口B1相比,第一读取窗口A2和第二读取窗口B2可以分别进一步增加。
参考图10C,校准模块CM可以校准操作参数以将第二分布102c、103c和104c向左对齐。例如,校准模块CM可以调整用于包括在第一存储单元和第三存储单元中的存储单元的编程验证电压,由此基本上使第二分布102c、103c和104c的上升电压VR2c类似。因此,第二分布102c、103c和104c中具有最宽分布宽度的第二分布103c的上升电压VR2c可能变得高于图10A的上升电压VR2a,并且下降电压VF2c可能变得低于图10A的下降电压VF2a。因此,与图10A的第一读取窗口A1和第二读取窗口B1相比,第一读取窗口A3和第二读取窗口B3可以分别进一步增加。
参考图10D,校准模块CM可以校准操作参数以将第二分布102d、103d和104d向右对齐。例如,校准模块CM可以调整用于包括在第一存储单元和第三存储单元中的存储单元的编程开始电压,由此基本上使第二分布102d、103d和104d的下降电压VF2d类似。因此,第二分布102d、103d和104d中具有最宽分布宽度的第二分布103d的上升电压VR2d可能变得高于图10A的上升电压VR2a,并且下降电压VF2d可能变得低于图10A的下降电压VF2a。因此,与图10A的第一读取窗口A1和第二读取窗口B1相比,第一读取窗口A4和第二读取窗口B4可以分别进一步增加。
图11是图示存储设备的操作方法的实施例的流程图。参考图11,根据本实施例的操作方法可以对应于校准对应于字线的操作参数,以减少多个存储单元块(例如,连接到字线的存储单元)之间的分布变化的方法。例如,根据本实施例的操作方法可以包括由图1的存储设备10按时间顺序执行的过程。上面参考图1至图10D描述的细节可以应用于本实施例,并且省略重复的描述。
在一些实施例中,该操作方法还可以包括在操作S110之前由控制器从NVM接收读取数据的过程。因此,操作S110至操作S170可以由控制器基于从NVM接收的读取数据来执行。
在操作S110中,可以测量分别对应于多个存储单元块的多个阈值电压分布。例如,控制器100可以将与第一存储单元块相对应的第一读取命令和第一地址发送到NVM 200,并且响应于第一读取命令,NVM 200可以对与第一地址对应的存储单元执行读取操作以测量对应于第一存储单元块的第一阈值电压分布。随后,控制器100可以将与第二存储单元块相对应的第二读取命令和第二地址发送到NVM 200,并且响应于第二读取命令,NVM 200可以对与第二地址对应的存储单元执行读取操作以测量对应于第二存储单元块的第二阈值电压分布。
在操作S130中,可以测量多个存储单元块之间的分布变化。例如,可以通过测量对应于第一存储单元块的第一阈值电压分布和对应于第二存储单元块的第二阈值电压分布之间的差来获得分布变化。在实施例中,表示分布变化的分布变化度量可以对应于第一阈值电压电平或第二阈值电压电平,其中在第一阈值电压电平处每个存储单元块中的被编程的存储单元的“开启”单元的数量对应于第一数量,在第二阈值电压电平处每个存储单元块中的被编程的存储单元的“关闭”单元的数量对应于第二数量。在实施例中,分布变化度量可以包括通过使用NVM 200的每个存储单元块中的第一字线电压电平来编程的存储单元的“开启”单元的数量,或者通过使用每个存储单元块中的第一字线电压电平来编程的存储单元的“关闭”单元的数量。在实施例中,分布变化度量可以对应于用于使NVM 200的每个存储单元块中的比特错误最小化的读取电压电平。
在操作S150中,可以动态地查明或确定操作参数。例如,包括在控制器100中的校准模块CM可以动态地查明或确定用于包括在第一存储单元块中的存储单元的第一操作参数,并且可以动态地查明或确定用于包括在第二存储单元块中的存储单元的第二操作参数。在实施例中,第一操作参数和第二操作参数可以被存储在包括在控制器100中的参数缓冲器PB中。例如,参数缓冲器PB可以用SRAM来实现。在实施例中,第一操作参数和第二操作参数可以被存储在控制器100外部的易失性存储器(例如,DRAM)中。在实施例中,第一操作参数和第二操作参数可以被存储在NVM 200中。
在操作S170中,可以发送操作命令、地址和操作参数。在实施例中,控制器100可以生成包括编程命令、编程地址、编程操作参数和编程数据的编程命令集,并且可以将生成的编程命令集发送到NVM 200。这将在下面参考图12和图14B描述。在实施例中,控制器100可以生成包括擦除命令、擦除地址和擦除操作参数的擦除命令集,并且可以将所生成的擦除命令集发送到NVM 200。这将在下面参考图15和图16来描述。在实施例中,控制器100可以生成包括读取命令、读取地址和读取操作参数的读取命令集,并且可以将生成的读取命令集发送到NVM 200。这将在下面参考图17和图18描述。
图12是图示控制器100与NVM 200之间的编程操作的实施例的流程图。
参考图12,在操作S200中,控制器100可以将编程命令发送到NVM 200。控制器100还可以将编程地址和编程数据发送到NVM 200。在操作S210中,NVM 200可以响应于编程命令执行编程操作。在操作S220中,NVM 200可以向控制器100发送表示编程结束的响应消息。
在操作S230中,控制器100可以将读取命令发送到NVM 200。在实施例中,控制器100可以发送对应于第一存储单元块的第一地址和读取命令,然后可以发送对应于第二存储单元块的第二地址和读取命令。在操作S240中,NVM 200可以响应于读取命令来执行读取操作。在实施例中,例如,NVM 200可以以0.1V的间隔顺序地将读取电压施加到字线以生成阈值电压分布。在实施例中,NVM 200可以对与第一地址对应的存储单元执行读取操作,然后可以对与第二地址对应的存储单元执行读取操作。在操作S250中,NVM 200可以将读取数据发送到控制器100。
在操作S260中,控制器100可以测量多个存储单元块之间的阈值电压分布的分布变化度量。在操作S270中,控制器100可以基于测量的分布变化度量来计算操作参数(例如,编程操作参数)。在操作S280中,控制器100可以将编程命令和一个或多个编程操作参数发送到NVM 200。在操作S290中,NVM 200可以基于发送的(多个)编程操作参数来执行编程操作。在操作S295中,NVM 200可以将表示编程结束的响应消息发送到控制器100。
图13图示编程命令集131的示例实施例。参考图1和图13,编程命令集131可以通过控制器100和NVM 200之间的I/O总线IOx来发送。编程命令集131可以包括第一命令CMD1、地址ADDR、操作参数PM、数据DATA和第二命令CMD2。因此,NVM 200可以顺序地接收第一命令CMD1、地址ADDR、操作参数PM、数据DATA和第二命令CMD2。
第一命令CMD1可以是编程序列开始命令,例如80h。第二命令CMD2可以是编程序列结束命令,例如10h。地址ADDR可以包括例如具有两个时钟周期的列地址和具有三个时钟周期的行地址。操作参数PM可以包括编程开始电压VPGM、周期计数和编程验证电压VVFY。然而,本实施例不限于此,并且在一些实施例中,操作参数PM和数据DATA的发送序列可以被改变。当接收到第二命令CMD2时,NVM 200的就绪/繁忙信号RnBx可以从高电平移动到低电平,并且因此可以在编程时间tPRGM期间执行对具有接收到的地址ADDR的存储单元中的数据DATA进行编程的操作。
图14A图示编程命令集141的另一个示例实施例,图14B图示验证偏移表142的实施例。在下文中,将参考图1、图14A和图14B描述编程命令集141和验证偏移表142。
可以通过控制器100和NVM 200之间的I/O总线IOx发送编程命令集141。编程命令集141可以对应于图13的编程命令集131的修改示例。在下文中,将主要描述根据本实施例的编程命令集141与图13的编程命令集131之间的差异。
操作参数PM可以包括第一验证偏移VP1至第n验证偏移VPn。这里,验证偏移VP1至VPn中的每一个可以表示对于参考编程验证电压的偏移。参数缓冲器PB可以存储验证偏移表142。例如,验证偏移表142可以包括与多条字线WL1至WL64中的每一个相对应的验证偏移集,并且验证偏移集可以包括分别对应于第一编程状态至第n编程状态的验证偏移VP1至VPn。控制器100可以选择对应于验证偏移表142中的地址ADDR的验证偏移集,并且可以生成包括所选择的验证偏移集的编程命令集141。
图15是图示控制器100与NVM 200之间的擦除操作的实施例的流程图。参考图15,根据本实施例的擦除操作对应于图12的编程操作的修改的实施例,并且省略了重复的说明。
在操作S300中,控制器100可以将擦除命令发送到NVM 200。在操作S310中,NVM200可以响应于擦除命令而执行擦除操作。在操作S320中,NVM 200可以将表示擦除结束的响应消息发送到控制器100。在操作S330中,控制器100可以将读取命令发送到NVM 200。在操作S340中,NVM 200可以响应于读取命令而执行读取操作。在操作S350中,NVM 200可以将读取数据发送到控制器100。
在操作S360中,控制器100可以测量多个存储单元块之间的阈值电压分布的分布变化度量。在操作S370中,控制器100可以基于测量的分布变化度量来计算操作参数(例如,擦除操作参数)。在操作S380中,控制器100可以将擦除命令和擦除操作参数发送到NVM200。在操作S390中,NVM200可以基于发送的擦除操作参数执行擦除操作。在操作S395中,NVM 200可以将表示擦除结束的响应消息发送到控制器100。
图16图示擦除命令集161的示例实施例。参考图1和图16,擦除命令集161可以通过控制器100和NVM 200之间的I/O总线IOx来发送。擦除命令集161可以包括第一命令CMD1、地址ADDR、操作参数PM和第二命令CMD2。因此,NVM 200可以顺序地接收第一命令CMD1、地址ADDR、操作参数PM和第二命令CMD2。
第一命令CMD1可以是擦除序列开始命令,例如,60h。第二命令CMD2可以是擦除序列结束命令,例如,70h。地址ADDR可以包括例如具有三个时钟周期的行地址。操作参数PM可以包括擦除开始电压VBERS、周期计数和编程验证电压VVFY。当接收到第二命令CMD2时,NVM200的就绪/繁忙信号RnBx可以从高电平移动到低电平,并且因此可以在擦除时间tERS期间执行擦除与接收到的地址ADDR相对应的存储块的操作。
图17是图示控制器100与NVM 200之间的读取操作的实施例的流程图。
参考图17,在操作S410中,控制器100可以测量分布变化度量。在操作S420中,控制器100可以通过使用测量的分布变化度量来计算操作参数(例如,读取操作参数)。在实施例中,可以在操作S410之前执行图12的操作S200至S250,并且在操作S420中,可以计算读取操作参数。在实施例中,可以在操作S410之前执行图15的操作S300至S350,并且在操作S420中,可以计算读取操作参数。例如,读取操作参数可以包括用于分别读取第一编程状态至第n编程状态的读取电压。在操作S430中,控制器100可以将读取命令和读取操作参数发送到NVM 200。在操作S440中,NVM 200可以基于接收到的读取操作参数来执行读取操作。在操作S450中,NVM 200可以将读取的数据发送到控制器100。
图18图示读取命令集181的示例实施例。参考图1和图18,读取编程命令集181可以通过控制器100和NVM 200之间的I/O总线IOx发送。读取编程命令集181可以包括第一命令CMD1、地址ADDR、操作参数PM和第二命令CMD2。因此,NVM 200可以顺序地接收第一命令CMD1、地址ADDR、操作参数PM和第二命令CMD2。
第一命令CMD1可以是读取序列开始命令,例如,00h。第二命令CMD2可以是读取序列结束命令,例如,30h。地址ADDR可以包括例如具有两个周期的列地址和具有三个周期的行地址。操作参数PM可以包括多个读取开始电压Vr1至Vr3。当接收到第二命令CMD2时,NVM200的就绪/繁忙信号RnBx可以从高电平移动到低电平,并且因此可以在读取时间tREAD期间执行从具有接收的地址ADDR的存储单元读取数据DATA的操作。
图19是图示图1的控制器的另一示例实施例的框图。
参考图19,控制器100b可以对应于图5的控制器100a的修改的实施例。上面参考图5描述的细节可以应用于本实施例。根据本实施例,校准模块CMb可以被加载到存储器120b中并且与图5的校准模块CMa相比较可以进一步包括聚类模块122。聚类模块122可基于分布变化度量将多个存储单元块分组到多个组。详细地,聚类模块122可以从校准模块CMb的变化度量测量模块121接收分布变化度量,并且可以基于接收到的分布变化度量通过聚类将多个存储单元块分组到多个组。
在实施例中,聚类模块122可以通过机器学习基于多个分布变化度量来执行聚类,并且可以基于聚类的结果将多个存储单元块分组到多个组。例如,聚类模块122可以通过使用k均值聚类算法、K中心点聚类算法、层次聚类算法、基于密度的聚类算法和神经网络算法中的至少一个来执行聚类。在下文中,将参考图20更详细地描述聚类模块122的操作。
图20是示出聚类操作的实施例的图。参考图20,横坐标轴表示特性A,纵坐标轴表示特性B。例如,特性A和特性B可以是不同的分布变化度量。可以基于不同的分布变化度量来对分别对应于多个存储单元块的多个阈值电压分布进行聚类,并且可以基于聚类的结果将多个存储单元块分组到多个组201至205。在图20中,图示了基于两个特性执行聚类的实施例,但是本实施例不限于此。在一些实施例中,聚类模块122可以基于三个或更多个特性来执行聚类。
图21A图示字线组的实施例,图21B图示验证偏移表211的实施例,并且图21C图示读取电压表212的实施例。在下文中,将参考图19和图21A至图21C描述字线分组操作。聚类模块122可以基于分布变化度量将多条字线WL1至WL64分组到多个字线组WGR1至WLGa。这里,“a”可以是等于或大于2的正整数。
在实施例中,校准模块CMb的参数计算模块123可以查明或确定用于多个字线组WGR1至WGRa的多个验证偏移VP1至VPn,并且参数缓冲器PB可以存储验证偏移表211,其包括用于多个字线组WGR1至WGRa的多个验证偏移VP1至VPn。例如,可以对包括在第一字线组WGR1中的每个字线应用相同的验证偏移,并且因此可以通过使用相同的验证偏移在包括在第一字线组WGR1中的字线上执行编程操作。此外,可以通过使用不同于在包括在第一字线组WGR1中的字线上的编程操作中使用的验证偏移的验证偏移来执行包括在第二字线组WGR2中的每个字线上的编程操作。如上所述,可以通过针对不同的字线组使用不同的验证偏移来执行编程操作,由此减小不同字线组之间的分布变化。
在实施例中,参数计算模块123可以查明或确定用于多个字线组WGR1至WGRa的多个读取电压Vr1至Vr3,并且参数缓冲器PB可以存储读取电压表212。例如,可以对包括在第一字线组WGR1中的每个字线施加相同的读取电压,并且因此可以通过使用相同的读取电压来执行包括在第一字线组WGR1中的每个字线上的读取操作。此外,可以通过使用与在第一字线组WGR1中包括的字线上的读取操作中使用的读取电压不同的读取电压来执行在包括在第二字线组WGR2中的每个字线上的读取操作。如上所述,可以通过针对不同的字线组使用不同的读取电压来执行读取操作,由此减少由不同字线组之间的分布变化引起的读取错误。
图22A图示字线组的实施例,图22B图示验证偏移表221至223的实施例,图22C图示读取电压表224至226的实施例。在下文中,将参考图19和图22A至图22C描述字线分组操作。聚类模块122可基于分布变化度量和多个编程状态P1至Pn将多条字线WL1至WL64分组到多个字线组WGR1至WGRb。这里,“b”可以是等于或大于2的正整数。
在实施例中,聚类模块122可以关于第一编程状态P1将多条字线WL1至WL64分组到第一字线组WGR1至第四字线组WGR4。此外,聚类模块122可以关于第二编程状态P2将多条字线WL1至WL64分组成第一字线组WGR1至第三字线组WGR3。此外,聚类模块122可以关于第n编程状态Pn将多条字线WL1至WL64分组到第一字线组WGR1至第五字线组WGR5。因此,基于编程状态,可以将相同的字线分组成不同的字线组。例如,第十字线WL10可以关于第一编程状态P1被包括在第一字线组WGR1中,并且可以关于第二编程状态P2被包括在第二字线组WGR2中。
在实施例中,参数计算模块123可以查明或确定关于第一编程状态P1用于多个字线组WGR1至WGR4的第一验证偏移VP1,查明或确定关于第二编程状态P2用于多个字线组WGR1至WGR3的第二验证偏移VP2,并查明或确定关于第n编程状态Pn用于多个字线组WGR1至WGR5的第n验证偏移VPn。参数缓冲器PB可以存储第一编程验证偏移表221至第n编程验证偏移表223。例如,对应于第一字线组WGR1的第一验证偏移(例如,-10)可以用于将第十字线WL10编程到第一编程状态P1。而且,对应于第二字线组WGR2的第二验证偏移(例如,-70)可用于将第十字线WL10编程到第二编程状态P2。如上所述,可以通过对不同的编程状态使用不同的验证偏移,对相同的字线执行编程操作,由此减少不同字线组之间的分布变化。
在实施例中,参数计算模块123可以确定用于确定关于多条字线WL1至WL4的第一编程状态P1的第一读取电压Vr1,确定用于确定关于多条字线WL1至WL3的第二编程状态P2的第二读取电压Vr2,并且确定用于确定关于多条字线WL1至WL5的第n编程状态Pn的第n读取电压Vrn。参数缓冲器PB可以存储第一读取电压表224至第n读取电压表226。
图23A和图23B示例性地图示根据一些实施例的多个存储块组BGR1至BGR3。参考图23A,聚类模块122可以基于分布变化度量将多个存储块BLK1至BLKz分组到第一存储块组BGR1至第三存储块组BGR3。参考图23B,聚类模块122可以基于分布变化度量和多个编程状态P1至Pn,将多个存储块BLK1至BLKz关于多个编程状态P1至Pn中的每一个分组到第一存储块组BGR1至第三存储块组BGR3。在这种情况下,对于不同的编程状态,相同的存储块可以被分组到不同的存储块组。例如,第51字线WL51可以关于第一编程状态P1被包括在第三存储块组BGR3中,并且可以关于第二编程状态P2被包括在第二存储块组BGR2中。
图24A和图24B示例性地图示根据一些实施例的存储器芯片组。参考图24A,聚类模块122可基于分布变化度量将多个存储器芯片CH1至CH8分组到第一存储器芯片组CGR1至第三存储器芯片组CGR3。参考图24B,聚类模块122可基于分布变化度量和多个编程状态P1至Pn,将多个存储器芯片CH1至CH8关于多个编程状态P1至Pn中的每一个分组到第一存储器芯片组CGR1至第三存储器芯片组CGR3。在这种情况下,对于不同的编程状态,相同的存储器芯片可以被分组到不同的存储器芯片组。例如,第三存储器芯片CH3可以关于第一编程状态P1被包括在第二存储器芯片组CGR2中,并且可以关于第n编程状态Pn被包括在第一存储器芯片组CGR1中。
图25是图示存储设备的操作方法的实施例的流程图。参考图25,根据本实施例的操作方法对应于图11的操作方法的修改的实施例,并且省略重复的描述。在操作S510中,可以测量分别对应于多个存储单元块的多个阈值电压分布。在操作S530中,可以测量多个存储单元块之间的分布变化度量。在操作S550中,可以将多个存储单元块动态地分组到多个组。在操作S570中,可以针对多个组中的每一个动态地查明或确定操作参数。在一些实施例中,操作方法可以进一步包括将分别对应于多个组的操作参数存储在易失性存储器中的过程。在一些实施例中,操作方法可以进一步包括由控制器向NVM发送操作命令、地址和至少一个操作参数的过程。
图26是图示对非易失性存储器的存储单元块进行分组的方法的实施例的流程图。参考图26,根据本实施例的分组方法可以对应于图25的操作S550的实施方式示例。在操作S610中,可以选择要对其执行分组的存储单元块。在操作S620中,可以获得针对每个选择的存储单元块的分布变化度量。在操作S630中,可以选择聚类算法。在操作S640中,可以通过使用选择的聚类算法基于分布变化度量来执行聚类。在操作S650中,可以基于聚类的结果对多个存储单元块进行分组。
图27是图示存储设备的操作方法的实施例的流程图。参考图27,根据本实施例的操作方法对应于图11的操作方法的修改的实施例,并且省略重复的描述。在操作S710中,可以测量多个存储单元块之间的分布变化度量。特别地,可以基于测量的在多个存储单元块之间的分布变化度量来确定是否需要对多个存储单元块进行分组。在操作S720中,可以确定是否需要对多个存储单元块进行分组。当确定需要对多个存储单元块进行分组时,可以执行操作S730,否则可以执行操作S740。在操作S730中,可以对多个存储单元块执行聚类。在操作S740中,可以基于分布变化度量来计算操作参数。在操作S750中,操作参数可以被存储在参数缓冲器中。在操作S760中,可以基于操作参数执行编程/擦除操作。
图28是图示存储设备的操作方法的实施例的流程图。参考图28,根据本实施例的操作方法对应于图11的操作方法的修改的实施例,并且省略重复的描述。在操作S810中,可以测量分别对应于多条字线的多个阈值电压分布。在操作S820中,可以测量多条字线之间的分布变化度量。在操作S830中,可以将多条字线动态地分组到多个组。在操作S840中,可以针对多个组中的每一个动态地确定操作参数。在操作S850中,可以将操作命令、地址和操作参数发送到NVM。
图29是示出根据实施例的相对于字线的上升电压和下降电压的变化的曲线图。参考图29,第一曲线图291示出了包括在第一存储块BLK1中的多个存储单元中的被编程到第n编程状态的存储单元的上升电压VR以及被编程到第n-1编程状态的存储单元的下降电压VF。第二曲线图292示出了根据实施例的通过调整用于字线的操作参数以减小字线之间的分布变化而获得的结果。具体而言,在第二曲线图292中,上升电压VR'和下降电压VF'具有由字线引起的差异,并且因此第二公共读取窗口CRW2可以大于第一公共读取窗口CRW1。
图30是图示存储***SS'的实施例的框图。参考图30,存储设备10'可以包括控制器100'、NVM 200和易失性存储器300。控制器100'可以包括校准模块CM,并且易失性存储器300可以存储参数缓冲器PB。例如,易失性存储器300可以被实现为DRAM或SRAM。
图31是图示电子设备1000的实施例的框图。电子设备1000可以包括处理器1100、存储器设备1200、存储设备1300、调制解调器1400、I/O设备1500和电源1600。在本实施例中,存储设备1300可以基于多个存储单元块之间的分布变化动态地确定操作参数,并且可以基于所确定的操作参数执行编程或擦除操作。存储设备1300可以基于上面参考图1至图30描述的细节来实现。
上述方法的各种操作可以通过能够执行操作的任何合适的装置,诸如(多个)各种硬件和/或软件组件、电路和/或(多个)模块来执行。
软件可以包括用于实现逻辑功能的可执行指令的有序列表,并且可以以由指令执行***、装置或设备使用或与其结合使用的任何“处理器可读介质”体现,该执行***、装置或设备为诸如单核或多核处理器或包含处理器的***。
结合本文公开的实施例描述的方法或算法的框或步骤和功能可直接体现为硬件、由处理器执行的软件模块或两者的组合。如果以软件实现,则可以将功能作为一个或多个指令或代码存储在有形的非暂时性计算机可读介质上或者通过其发送。软件模块可以驻留在随机存取存储器(RAM)、闪速存储器、只读存储器(Read Only Memory,ROM)、电可编程ROM(Electrically Programmable ROM,EPROM)、电可擦除可编程ROM(Electrically ErasableProgrammable ROM,EEPROM)、寄存器、硬盘、可移动磁盘、CD ROM或者本领域已知的任何其他形式的存储介质中。
尽管已经参考本发明构思的实施例具体示出和描述了本发明构思,但是应该理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。
Claims (20)
1.一种存储设备的操作方法,所述存储设备包括非易失性存储器和控制所述非易失性存储器的控制器,所述操作方法包括:
由控制器从非易失性存储器接收读取数据;
由控制器基于接收到的读取数据来测量分别与非易失性存储器的多个存储单元块相对应的多个阈值电压分布;
由控制器基于所测量的多个阈值电压分布来测量所述多个存储单元块之间的分布变化;
由控制器基于所测量的分布变化动态地确定用于非易失性存储器的操作参数;以及
由控制器向非易失性存储器发送操作命令、地址和与所述地址相对应的至少一个操作参数。
2.如权利要求1所述的操作方法,其中,所述操作命令为编程指令,且所述至少一个操作参数包括编程开始电压、编程周期计数以及编程验证电压中的至少一个。
3.如权利要求1所述的操作方法,其中,所述操作命令是编程指令,且所述至少一个操作参数包括分别对应于多个编程状态的多个操作参数。
4.如权利要求1所述的操作方法,其中,所述操作命令是擦除命令,并且所述至少一个操作参数包括擦除开始电压、擦除周期计数和擦除验证电压中的至少一个。
5.如权利要求1所述的操作方法,其中,所述多个存储单元块对应于多个芯片、多个存储块或多条字线。
6.如权利要求1所述的操作方法,还包括:控制器基于所测量的分布变化将多个存储单元块动态地分组到多个组,
其中,所述动态地确定包括由控制器动态地确定用于所述多个组中的每个组的操作参数。
7.如权利要求6所述的操作方法,其中:
将多个存储单元块动态地分组到多个组进一步基于用于分别确定多个不同编程状态的多个读取电压电平,并且
多个存储单元块中的第一存储单元块针对第一读取电压电平被分组到第一组,并且针对第二读取电压电平被分组到第二组,其中,被包括在第一组中的至少一个存储单元块不被包括在第二组中,或被包括在第二组中的至少一个存储单元块不被包括在第一组中。
8.如权利要求6所述的操作方法,其中,所述动态地分组包括:
查明对应于所测量的分布变化的分布变化度量;以及
基于分布变化度量通过聚类将多个存储单元块分组到多个组。
9.如权利要求8所述的操作方法,其中,所述分布变化度量包括第一阈值电压电平或第二阈值电压电平,在所述第一阈值电压电平处,多个存储单元块中的每一个中的被编程的存储单元的开启单元的数量对应于第一数量,在所述第二阈值电压电平处,多个存储单元块中的每一个中的被编程的存储单元的关闭单元的数量对应于第二数量。
10.如权利要求8所述的操作方法,其中,所述分布变化度量包括在多个存储单元块中的每一个中基于第一字线电压电平被编程的存储单元的开启单元的数量或在多个存储单元块中的每一个中基于第一字线电压电平被编程的存储单元的关闭单元的数量。
11.如权利要求8所述的操作方法,其中,所述分布变化度量包括用于使多个存储单元块中的每一个中的比特错误最小化的读取电压电平。
12.如权利要求8所述的操作方法,其中,通过使用k均值聚类算法、K中心点聚类算法、层次聚类算法、基于密度的聚类算法和神经网络算法中的至少一个来执行聚类。
13.如权利要求1所述的操作方法,其中:
所述非易失性存储器包括第一存储器芯片和第二存储器芯片,并且
所述动态地确定包括:
由控制器确定对应于第一存储器芯片的第一操作参数;以及
由控制器确定对应于第二存储器芯片的第二操作参数。
14.如权利要求1所述的操作方法,其中:
所述非易失性存储器包括第一存储块和第二存储块,并且
所述动态地确定包括:
由控制器确定对应于第一存储块的第一操作参数;以及
由控制器确定对应于第二存储块的第二操作参数。
15.如权利要求1所述的操作方法,其中:
所述非易失性存储器包括第一字线和第二字线,并且
所述动态地确定包括:
由控制器确定对应于第一字线的第一操作参数;以及
由控制器确定对应于第二字线的第二操作参数。
16.一种存储设备的操作方法,所述存储设备包括非易失性存储器和控制所述非易失性存储器的控制器,所述操作方法包括:
由控制器从非易失性存储器接收读取数据;
由控制器基于接收到的读取数据来测量分别与非易失性存储器的多个存储单元块相对应的多个阈值电压分布;
由控制器基于所测量的多个阈值电压分布来测量所述多个存储单元块之间的分布变化度量;
由控制器基于所测量的分布变化度量通过聚类将多个存储单元块动态地分组到多个组;以及
由控制器动态地确定用于多个组中的每个组的、非易失性存储器的操作参数。
17.如权利要求16所述的操作方法,其中,
所述存储设备还包括易失性存储器,以及
所述操作方法进一步包括在易失性存储器中存储分别对应于多个组的操作参数。
18.如权利要求16所述的操作方法,其中,所述分布变化度量包括以下中的至少一个:第一阈值电压电平,在所述第一阈值电压电平处,多个存储单元块中的每一个中的被编程的存储单元的开启单元的数量对应于第一数量;第二阈值电压电平,在所述第二阈值电压电平处,多个存储单元块中的每一个中的被编程的存储单元的关闭单元的数量对应于第二数量;在多个存储单元块中的每一个中基于第一字线电压电平被编程的存储单元的开启单元的数量;在多个存储单元块中的每一个中基于第一字线电压电平被编程的存储单元的关闭单元的数量;以及用于使多个存储单元块中的每一个中的比特错误最小化的读取电压电平。
19.一种存储设备,包括:
非易失性存储器,包括布置在多个存储单元块中的多个非易失性存储单元;以及
控制器,被配置为:
测量分别对应于非易失性存储器的多个存储单元块的多个阈值电压分布;
基于所测量的多个阈值电压分布来测量所述多个存储单元块之间的分布变化;以及
基于所测量的分布变化来确定用于多个存储单元块中的每一个的所述非易失性存储器的操作参数。
20.如权利要求19所述的存储设备,其中,所述控制器被配置为通过以下步骤来确定用于多个存储单元块中的每一个的操作参数:
基于所测量的分布变化通过聚类将多个存储单元块动态地分组到多个组;以及
基于所测量的分布变化动态地确定用于多个组中的每个组的操作参数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0134811 | 2017-10-17 | ||
KR1020170134811A KR102395196B1 (ko) | 2017-10-17 | 2017-10-17 | 파라미터 교정 기능을 갖는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109671462A CN109671462A (zh) | 2019-04-23 |
CN109671462B true CN109671462B (zh) | 2023-07-25 |
Family
ID=66096067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810863665.3A Active CN109671462B (zh) | 2017-10-17 | 2018-08-01 | 具有参数校准功能的存储设备及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10573389B2 (zh) |
KR (1) | KR102395196B1 (zh) |
CN (1) | CN109671462B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753821B (zh) * | 2017-11-01 | 2022-03-15 | 瑞昱半导体股份有限公司 | 数据存取装置及方法 |
US10949119B2 (en) * | 2018-02-20 | 2021-03-16 | Western Digital Technologies, Inc. | Data shaping to reduce error rates in solid state memory devices |
CN111326198A (zh) * | 2018-12-13 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 非易失性存储器及其操作方法 |
CN111599397B (zh) * | 2019-02-20 | 2024-04-09 | 深圳通锐微电子技术有限公司 | 控制装置及控制方法 |
US11704178B2 (en) | 2019-05-14 | 2023-07-18 | Micron Technology, Inc. | Estimating a bit error rate of data stored by a memory subsystem using machine learning |
CN112394874A (zh) * | 2019-08-13 | 2021-02-23 | 华为技术有限公司 | 一种键值kv的存储方法、装置及存储设备 |
TWI760924B (zh) * | 2019-12-03 | 2022-04-11 | 美商美光科技公司 | 用於存取記憶體單元之方法及系統 |
KR20210096425A (ko) | 2020-01-28 | 2021-08-05 | 삼성전자주식회사 | 비휘발성 메모리 장치 |
CN111341375B (zh) * | 2020-02-19 | 2020-12-01 | 哈尔滨工业大学 | 一种面向TLC型NAND Flash的阈值电压获取方法 |
US11294819B2 (en) * | 2020-03-31 | 2022-04-05 | Western Digital Technologies, Inc. | Command optimization through intelligent threshold detection |
JP2023525118A (ja) | 2020-05-13 | 2023-06-14 | マイクロン テクノロジー,インク. | メモリセルにアクセスするためのカウンタベースの方法及びシステム |
US11393534B2 (en) * | 2020-05-28 | 2022-07-19 | Micron Technology, Inc. | Adjustment of a starting voltage corresponding to a program operation in a memory sub-system |
US11907571B2 (en) | 2020-07-13 | 2024-02-20 | SK Hynix Inc. | Read threshold optimization systems and methods using domain transformation |
JP2022020957A (ja) * | 2020-07-21 | 2022-02-02 | キオクシア株式会社 | メモリシステム及び半導体記憶装置 |
US11355204B2 (en) | 2020-09-03 | 2022-06-07 | SK Hynix Inc. | Efficient read-threshold calculation method for parametric PV-level modeling |
US11709621B2 (en) | 2020-10-09 | 2023-07-25 | Western Digital Technologies Inc. | Read threshold management and calibration |
KR20220058278A (ko) | 2020-10-30 | 2022-05-09 | 삼성전자주식회사 | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법 |
KR20220072242A (ko) | 2020-11-25 | 2022-06-02 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 기입 방법 및 이를 수행하는 비휘발성 메모리 장치 |
KR20220075571A (ko) | 2020-11-30 | 2022-06-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 기입 방법, 이를 수행하는 비휘발성 메모리 장치 및 이를 이용한 메모리 시스템의 구동 방법 |
CN112562762A (zh) * | 2020-12-23 | 2021-03-26 | 江苏国科微电子有限公司 | 一种wl阈值电压分布的获取方法、***及相关组件 |
KR20220105940A (ko) | 2021-01-21 | 2022-07-28 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 동작 방법 |
US11430530B2 (en) * | 2021-01-25 | 2022-08-30 | SK Hynix Inc. | Deep learning based program-verify modeling and voltage estimation for memory devices |
US11514983B2 (en) | 2021-04-02 | 2022-11-29 | Micron Technology, Inc. | Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells |
US11615854B2 (en) | 2021-04-02 | 2023-03-28 | Micron Technology, Inc. | Identify the programming mode of memory cells during reading of the memory cells |
US11664073B2 (en) | 2021-04-02 | 2023-05-30 | Micron Technology, Inc. | Adaptively programming memory cells in different modes to optimize performance |
US11514999B2 (en) | 2021-04-16 | 2022-11-29 | SK Hynix Inc. | Systems and methods for parametric PV-level modeling and read threshold voltage estimation |
US11749354B2 (en) | 2021-07-13 | 2023-09-05 | SK Hynix Inc. | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation |
US11769556B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Systems and methods for modeless read threshold voltage estimation |
US11769555B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Read threshold voltage estimation systems and methods for parametric PV-level modeling |
KR102491652B1 (ko) | 2021-09-17 | 2023-01-27 | 삼성전자주식회사 | 산포 타입을 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
KR102491655B1 (ko) * | 2021-10-01 | 2023-01-27 | 삼성전자주식회사 | 에러 카운트를 결정하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 |
KR102571934B1 (ko) * | 2021-11-15 | 2023-08-29 | 삼성전자주식회사 | 스토리지 시스템 및 스토리지 컨트롤러의 동작방법 |
US11854629B2 (en) | 2021-11-22 | 2023-12-26 | SK Hynix Inc. | System and method for non-parametric optimal read threshold estimation using deep neural network |
US20230386586A1 (en) * | 2022-05-27 | 2023-11-30 | Sandisk Technologies Llc | Temperature dependent programming techniques in a memory device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100799018B1 (ko) * | 2006-12-27 | 2008-01-28 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 자기 보상 방법 |
CN102027548A (zh) * | 2008-04-29 | 2011-04-20 | 桑迪士克以色列有限公司 | 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器 |
CN103578552A (zh) * | 2012-08-10 | 2014-02-12 | 三星电子株式会社 | 用可变存储单元状态定义的非易失性存储器件和操作方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7876621B2 (en) | 2007-04-23 | 2011-01-25 | Sandisk Il Ltd. | Adaptive dynamic reading of flash memories |
US7672161B2 (en) | 2007-04-30 | 2010-03-02 | Spansion Llc | Adaptive detection of threshold levels in memory |
KR100874013B1 (ko) | 2007-05-11 | 2008-12-17 | 한국전자통신연구원 | 플래시 메모리의 데이터 관리 방법 및 장치 |
US7808836B2 (en) * | 2008-04-29 | 2010-10-05 | Sandisk Il Ltd. | Non-volatile memory with adaptive setting of state voltage levels |
KR101171108B1 (ko) * | 2010-10-19 | 2012-08-03 | 성균관대학교산학협력단 | 커피 탬퍼 |
JP5646369B2 (ja) | 2011-03-01 | 2014-12-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR20120133594A (ko) | 2011-05-31 | 2012-12-11 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치의 동작방법 |
US8737133B2 (en) | 2011-10-18 | 2014-05-27 | Seagate Technology Llc | Shifting cell voltage based on grouping of solid-state, non-volatile memory cells |
KR101942275B1 (ko) * | 2012-04-18 | 2019-01-25 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20140013383A (ko) * | 2012-07-23 | 2014-02-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
US8947972B2 (en) | 2013-03-15 | 2015-02-03 | Sandisk 3D Llc | Dynamic address grouping for parallel programming in non-volatile memory |
KR102070724B1 (ko) | 2013-03-29 | 2020-01-30 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 구동 방법 |
US8923054B1 (en) | 2013-06-14 | 2014-12-30 | Sandisk Technologies Inc. | Pseudo block operation mode in 3D NAND |
US9569120B2 (en) | 2014-08-04 | 2017-02-14 | Nvmdurance Limited | Adaptive flash tuning |
KR102238717B1 (ko) * | 2014-10-27 | 2021-04-09 | 삼성전자주식회사 | 메모리 시스템 및 이의 동작 방법 |
US9536601B2 (en) | 2014-11-05 | 2017-01-03 | Macronix International Co., Ltd. | Threshold voltage grouping of memory cells in same threshold voltage range |
KR102290974B1 (ko) * | 2014-11-07 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법 |
US9720754B2 (en) | 2014-11-20 | 2017-08-01 | Western Digital Technologies, Inc. | Read level grouping for increased flash performance |
GB2537484B (en) | 2015-03-20 | 2019-07-03 | HGST Netherlands BV | Read level grouping for increased flash performance |
US9761313B2 (en) | 2015-04-09 | 2017-09-12 | SK Hynix Inc. | Non-volatile semiconductor memory device with multiple pass voltage and improved verification and programming operating method thereof |
US9767407B2 (en) | 2015-09-18 | 2017-09-19 | Samsung Electronics Co., Ltd. | Weighting device, neural network, and operating method of the weighting device |
KR102406727B1 (ko) | 2015-12-16 | 2022-06-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 반도체 시스템 |
KR20170075855A (ko) | 2015-12-23 | 2017-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2017
- 2017-10-17 KR KR1020170134811A patent/KR102395196B1/ko active IP Right Grant
-
2018
- 2018-06-21 US US16/013,988 patent/US10573389B2/en active Active
- 2018-08-01 CN CN201810863665.3A patent/CN109671462B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100799018B1 (ko) * | 2006-12-27 | 2008-01-28 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 자기 보상 방법 |
CN102027548A (zh) * | 2008-04-29 | 2011-04-20 | 桑迪士克以色列有限公司 | 具有用于编程、验证和读取的参考电压电平的适应性设置的非易失性多电平存储器 |
CN103578552A (zh) * | 2012-08-10 | 2014-02-12 | 三星电子株式会社 | 用可变存储单元状态定义的非易失性存储器件和操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102395196B1 (ko) | 2022-05-06 |
US10573389B2 (en) | 2020-02-25 |
KR20190043022A (ko) | 2019-04-25 |
CN109671462A (zh) | 2019-04-23 |
US20190115078A1 (en) | 2019-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109671462B (zh) | 具有参数校准功能的存储设备及其操作方法 | |
US10373693B2 (en) | Storage device and method of operating the storage device | |
KR102302187B1 (ko) | 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치 | |
US9666292B2 (en) | Method of determining default read voltage of non-volatile memory device and method of reading data of non-volatile memory device | |
US8432734B2 (en) | Nonvolatile memory device and system and related method of operation | |
US9230670B2 (en) | Semiconductor device, memory system and operating method thereof | |
US9514830B2 (en) | Non-volatile memory device, memory system including the same, and method of operating the same | |
US11037639B2 (en) | Memory controller and method of operating the same for processing the failed read operation | |
KR102178141B1 (ko) | 비휘발성 메모리 장치의 동작 방법 | |
KR20140072697A (ko) | 메모리 장치, 메모리 시스템 및 이의 동작 방법 | |
US11145357B2 (en) | Memory system, memory controller and method for operating memory system | |
US11372551B2 (en) | Memory controllers for performing state shaping operation, memory systems including the memory controllers, and methods of operating the same | |
CN112447236A (zh) | 存储***及操作其的方法 | |
CN114078533A (zh) | 存储装置、存储器装置和操作该存储器装置的方法 | |
US11817170B2 (en) | Storage controller determining error count, method of operating the same, and method of operating storage device including the same | |
KR102617350B1 (ko) | 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치 | |
KR20230090598A (ko) | 히스토리 데이터를 사용하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법 | |
US20220310168A1 (en) | Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device | |
US20230144376A1 (en) | Performance optimization device of memory system and operating method thereof | |
US20240078018A1 (en) | Storage devices calculating a wordline gap value, and methods of operating the same | |
US20240143185A1 (en) | Storage device writing data on the basis of temperatures of memory dies and method thereof | |
US20220300200A1 (en) | Managing memory reliability in memory systems | |
KR20230153181A (ko) | 메모리 장치 및 그 프로그래밍 속도 조절 방법 | |
KR20240079877A (ko) | 불휘발성 메모리 장치 및 그것의 동작 방법 | |
KR20220139081A (ko) | 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |