CN112306397A - 存储控制器、包括存储控制器的存储系统及其操作方法 - Google Patents

存储控制器、包括存储控制器的存储系统及其操作方法 Download PDF

Info

Publication number
CN112306397A
CN112306397A CN202010740963.0A CN202010740963A CN112306397A CN 112306397 A CN112306397 A CN 112306397A CN 202010740963 A CN202010740963 A CN 202010740963A CN 112306397 A CN112306397 A CN 112306397A
Authority
CN
China
Prior art keywords
memory
memory cell
state
state shaping
data
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.)
Pending
Application number
CN202010740963.0A
Other languages
English (en)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN112306397A publication Critical patent/CN112306397A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

提供了一种操作存储控制器的方法,该方法包括:响应于写入请求,基于状态整形信息对接收到的数据执行状态整形操作,接收到的数据和写入请求是从主机接收的,状态整形信息表示与要在其上对接收到的数据进行编程的存储单元组相对应的存储单元特性,并且状态整形信息是从存储设备接收的;以及向存储设备发送转换数据,转换数据是通过状态整形操作而生成的。

Description

存储控制器、包括存储控制器的存储系统及其操作方法
相关申请的交叉引用
本申请要求于2019年8月1日在韩国知识产权局提交的韩国专利申请No.10-2019-0094021的权益,该申请的公开内容通过引用全部并入本文中。
技术领域
一些示例实施例涉及半导体存储器,更具体地,涉及用于执行状态整形操作的存储设备、存储控制器以及包括该存储设备和该存储控制器在内的存储系统。
背景技术
近年来,随着半导体技术的发展,已经实现了能够在一个存储单元中存储多个比特的多级单元(MLC)、三级单元(TLC)和四级单元(QLC)。然而,与单级单元(SLC)的技术相比,用于实现上述存储单元的技术的可靠性较差,并且根据存储单元特性在散射方面存在较大的差异。因此,已经进行了解决上述问题的研究。
发明内容
一些示例实施例提供了存储设备、存储控制器以及包括所述存储设备和所述存储控制器在内的存储系统,该存储设备通过考虑存储单元特性对数据执行状态整形操作并对转换后的数据进行编程而具有提高的可靠性。
根据一些示例实施例的一方面,提供了一种操作存储控制器的方法,所述方法包括:响应于写入请求,基于状态整形信息对接收到的数据执行状态整形操作,所述接收到的数据和所述写入请求是从主机接收的,所述状态整形信息表示与要在其上对所述接收到的数据进行编程的存储单元组相对应的存储单元特性,并且所述状态整形信息是从存储设备接收的;以及向所述存储设备发送转换数据,所述转换数据是通过所述状态整形操作而生成的。
根据一些示例实施例的一方面,提供了一种存储控制器,包括:处理电路,所述处理电路被配置为:响应于写入请求,基于状态整形信息对接收到的数据执行状态整形操作,所述接收到的数据和所述写入请求是从主机接收的,所述状态整形信息表示与要在其上对所述接收到的数据进行编程的存储单元组相对应的存储单元特性,并且所述状态整形信息是从存储设备接收的;以及向所述存储设备发送转换数据,所述转换数据是通过所述状态整形操作而生成的。
根据一些示例实施例的一方面,提供了一种操作包括存储设备和存储控制器在内的存储系统的方法,所述方法包括:由所述存储控制器基于所述存储设备的第一存储单元组的第一存储单元特性对第一数据执行第一状态整形操作;以及由所述存储控制器通过将第一转换数据发送给所述存储设备,使所述存储设备将所述第一转换数据编程在所述第一存储单元组中,所述第一转换数据是通过所述第一状态整形操作而生成的。
根据一些示例实施例的一方面,提供了一种存储系统,包括:存储设备,包括第一存储单元组;以及存储控制器,所述存储控制器被配置为:通过将第一转换数据发送给所述存储设备,使所述存储设备将所述第一转换数据编程在所述第一存储单元组中,所述第一转换数据是通过基于要在其中对第一数据进行编程的所述第一存储单元组的第一存储单元特性对所述第一数据执行状态整形操作而生成的。
附图说明
通过以下结合附图的具体实施方式,将更清楚地理解一些示例实施例,在附图中:
图1是根据一些示例实施例的存储系统的框图;
图2是示出了图1所示的存储控制器的示例的框图;
图3是示出了根据一些示例实施例的存储控制器的操作的流程图;
图4A和图4B是示出了根据一些示例实施例的存储控制器的操作的框图;
图5A至图7是示出了根据一些示例实施例的由于由存储控制器执行的状态整形操作而可以在存储设备中形成的目标分布的示图;
图8是根据一些示例实施例的存储设备的框图;
图9A至图9C是包括在图8的存储设备中的存储单元阵列的示例;
图10是示出了通过预定或确定的处理方法而形成的存储块的示图;
图11是示出了以子块为单位划分的图9C的存储块的示图;
图12是通过与图10的处理方法不同的处理方法而形成的存储块的示图;
图13A和图13B是示出了根据一些示例实施例的状态整形信息的示图;
图14是根据一些示例实施例的存储设备的框图;
图15是示出了根据一些示例实施例的对存储设备的状态整形信息进行更新的操作的流程图;
图16A和图16B是示出了根据一些示例实施例的对存储设备的状态整形信息进行更新的操作的示图;
图17A和图17B是示出了根据一些示例实施例的由存储控制器基于更新后的状态整形信息来执行状态整形操作的示例的示图;以及
图18是根据一些示例实施例的固态驱动器(SSD)系统的框图。
具体实施方式
在下文中,将参考附图详细描述一些示例实施例。根据一些示例实施例,以下描述的每个模块可以由处理电路来实现。如本公开中所使用的,术语“处理电路”可以指例如包括逻辑电路的硬件;诸如执行软件的处理器等的硬件/软件组合;或其组合。例如,处理电路可以更具体地包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。例如,以下描述的模块可以是包括模拟电路和/或数字电路在内的硬件块、或包括由处理器(例如,存储控制器和存储设备的控制逻辑器件)执行的多个指令的软件块。
图1是根据一些示例实施例的存储系统10的框图。
参考图1,存储系统10可以包括存储控制器110和/或存储设备120。在一些示例实施例中,存储设备120可以包括非易失性存储器,例如,NAND闪存设备。然而,一些示例实施例不限于此,也即是说,一些示例实施例可以应用于诸如相变随机存取存储器(PRAM)、电阻性RAM(RRAM)、磁性RAM(MRAM)等的非易失性存储器。稍后将参考图9A至图9C描述包括在存储设备120中的存储单元阵列的示例。存储控制器110可以从外部设备(例如,主机、应用处理器(AP)等)接收读取/写入请求REQ和数据DATA。存储控制器110可以响应于读取/写入请求REQ而向存储设备120发送命令CMD。存储控制器110可以响应于读取/写入请求REQ而发送转换数据DATA_t,或者可以从存储设备120接收转换数据DATA_t。
存储设备120可以包括具有不同存储单元特性的多个存储单元组121_1至121_n。存储单元组121_1至121_n中的每一个可以包括具有相同或相似存储单元特性的存储单元,并且可以在存储单元中的每一个中存储多个比特。在一些示例实施例中,存储单元特性(如本文中所称的“存储单元特性”也可以被称为“存储器单元特性”,并且可以指单个特性或多个特性)可以包括以下至少一项:与存储单元的编程速度有关的存储单元速度特性和与存储单元的数据保持持续时间有关的存储单元保持特性。然而,一些示例实施例不限于此,也即是说,存储单元特性可以包括其他各种类型的特性。在一些示例实施例中,当存储设备120包括包含竖直堆叠的存储单元在内的三维存储设备时,图1所示的存储单元组121_1至121_n可以包括在一个存储块中或存储单元组121_1至121_n可以包括在存储块的一个子块中。以下将参考图9A至图12描述关于此的一些示例实施例。在一些示例实施例中,存储设备120可以根据存储单元特性将多个存储单元分组为多个存储单元组121_1至121_n。
存储控制器110包括纠错码(ECC)模块111和/或状态整形模块112。ECC模块111可以生成纠错码,该纠错码用于检测存储在存储设备120中的变换数据DATA_t并对变换数据DATA_t进行纠错。根据一些示例实施例,在本文中描述为由存储系统10、存储控制器110、ECC模块111、状态整形模块112和/或存储设备120执行的操作可以由处理电路执行。
根据一些示例实施例的状态整形模块112可以基于预定或确定的要在其上对数据DATA进行编程的存储单元组的存储单元特性来对数据DATA执行状态整形操作。状态整形操作可以被定义为以下操作:通过对具有与可能严重影响数据可靠性的编程状态相对应的预定或确定值的数据DATA进行变换使得数据DATA可以具有不同的值,来减少在存储设备120上对具有预定或确定值的数据DATA执行编程操作的次数。具体地,状态整形操作可以被定义为对数据DATA进行变换以生成变换数据DATA_t的一系列操作,使得数据DATA适合于基于存储单元组的存储单元特性而确定的编程策略。编程策略包括与根据存储单元组的存储单元特性在多个编程状态中其存储单元的数量减少的目标编程状态的数量有关的信息,此外,编程策略还可以包括关于与每个编程状态相对应的存储单元的数量的信息。在一些示例实施例中,状态整形模块112可以针对存储设备120的多个存储单元组121_1至121_n中的每一个确定编程策略,因此可以将不同的编程策略分别应用于存储单元组121_1至121_n。结果,相对于多个编程状态,存储单元组121_1至121_n中的每一个的目标分布可以与其他存储单元组的目标分布不同。稍后将参考图5A至图7详细描述将通过状态整形操作在存储单元组121_1至121_n中形成的目标分布。
根据一些示例实施例的存储设备120可以生成状态整形信息,该状态整形信息表示多个存储单元组121_1至121_n中的每一个的存储单元特性。作为示例,在通过从存储控制器110接收命令CMD而执行存储操作之前,存储设备120可以通过对存储单元组121_1至121_n执行预定或确定的测试操作来生成状态整形信息。
存储设备120可以将状态整形信息发送给存储控制器110,并且状态整形模块112可以基于状态整形信息对数据DATA执行状态整形操作。此外,存储设备120可以监测多个存储单元组121_1至121_n中的每一个中的存储单元特性的变化,并且可以基于监测结果来更新状态整形信息。存储设备120可以将更新后的状态整形信息发送给存储控制器110,并且状态整形模块112可以基于更新后的状态整形信息对数据DATA执行状态整形操作。以下将参考图14至图17B描述与此有关的一些示例实施例。
存储设备120可以从存储控制器110接收命令CMD,并且可以执行与命令CMD相对应的操作。例如,当命令CMD是读取命令时,存储设备120可以将存储在其中的转换数据DATA_t发送给存储控制器110。当命令CMD是编程命令时,存储设备120可以对转换数据DATA_t进行编程。
根据一些示例实施例的存储控制器110可以通过基于适合于存储设备120中多个存储单元组121_1至121_n中的每一个的存储单元特性的编程策略而对数据DATA执行状态整形操作,来提高存储设备120的数据可靠性。
图2是示出了图1所示的存储控制器110的示例的框图。
参考图2,存储控制器110可以包括ECC模块111、状态整形模块112、处理电路113(例如,中央处理单元(CPU))、RAM 114、主机接口115、和/或存储接口116。
ECC模块111可以执行ECC操作以生成与从外部设备发送的数据相对应的ECC。此外,ECC模块111可以执行ECC操作以生成与由状态整形模块112进行了状态整形的数据相对应的ECC。ECC模块111可以基于ECC来检测从存储设备120读取的数据并对该数据进行纠错。
状态整形模块112可以基于数据要被编程到的预定或确定的存储单元组的存储单元特性来对数据执行状态整形操作。也即是说,存储单元组包括多个比特可以被编程到的存储单元,并且随着存储单元变为更高的编程状态,存储单元可能由于重复的编程操作所引起的应力(stress)而退化,这可能降低存储设备的数据可靠性。具体地,根据存储单元组的存储单元特性,退化可能加剧或可能降低,因此状态整形模块112可以执行适合于存储单元组的存储单元特性的状态整形操作。
状态整形模块112可以确定适合于要在其上对数据进行编程的存储设备的存储单元组的特性的编程策略,并且可以根据编程策略对数据执行状态整形操作以生成转换数据。通过状态整形模块112的状态整形操作,在形成于存储单元组中的多个编程状态中,可能严重影响数据可靠性的某些编程状态中的存储单元的数量被限制在阈值以下,并且因此可以提高存储设备的数据可靠性。
处理电路113可以控制存储控制器110的整体操作。RAM 114可以作为用于补偿外部设备和存储设备的速度之间的差异的缓冲存储器来操作。此外,RAM 114可以用作处理电路113的操作存储器。主机接口115可以在外部设备与存储控制器110之间提供传送通道。存储接口116可以提供存储控制器110与存储设备之间的传送通道。
图3是示出了根据一些示例实施例的存储控制器110的操作的流程图。
参考图1和图3,在操作S100中,存储控制器110可以从外部设备接收数据DATA。在操作S120中,存储控制器110可以基于要在其中存储接收到的数据的存储设备中的存储单元组的存储单元特性,对接收到的数据执行状态整形操作和/或ECC操作。例如,存储控制器110可以对数据DATA执行状态整形操作和/或可以生成经状态整形的数据的ECC的奇偶校验比特。存储控制器110可以通过状态整形模块112和/或ECC模块111的操作来生成转换数据DATA_t。
在操作S140中,存储控制器110可以将转换数据DATA_t传送给存储设备120。存储设备120可以在存储单元组上对转换数据DATA_t进行编程。
根据参考图3所示的操作存储控制器110的方法,可以提高存储设备的数据可靠性。
图4A和图4B是示出了根据一些示例实施例的存储控制器110的操作的框图。例如,图4A示出了存储设备120上的编程操作,图4B示出了存储设备120上的读取操作。为了便于描述,在此省略了图4A和图4B所示的非特定于存储控制器110的操作的元件。
参考图4A,存储控制器110可以从外部接收数据DATA,并且状态整形模块112可以对数据DATA执行状态整形操作。此时,存储设备120可以生成状态整形信息SS_Info,该状态整形信息SS_Info表示第一存储单元组121_1至第三存储单元组121_3中的要在其中存储数据DATA的存储单元组的存储单元特性。状态整形模块112可以基于从存储设备120接收到的状态整形信息SS_Info来对数据DATA执行状态整形操作,以生成经状态整形的数据DATA_s。在一些示例实施例中,状态整形信息SS_Info可以存储在存储控制器110的存储器(未示出)中,并且状态整形模块112可以在执行状态整形操作时经由存储器(未示出)来使用状态整形信息SS_Info。以下将参考图5A至图7描述状态整形模块112的状态整形操作的详细示例。在生成经状态整形的数据DATA_s之后,ECC模块111可以对经状态整形的数据DATA_s执行ECC操作以生成转换数据DATA_t。例如,转换数据DATA_t可以包括经状态整形的数据DATA_s和/或ECC。存储控制器110可以从接收到的数据DATA生成转换数据DATA_t,并且通过上述操作将转换数据DATA_t发送给存储设备120。存储设备120可以在多个存储单元组121_1至121_3中的与转换数据DATA_t相对应的存储单元组上对转换数据DATA_t进行编程。然而,一些示例实施例不限于此,也即是说,状态整形模块112可以跳过对经状态整形的数据DATA_s的ECC操作,并且将经状态整形的数据DATA_s发送给存储设备120,并且存储设备120可以在多个存储单元组121_1至121_3中与经状态整形的数据DATA_s相对应的存储单元组上对经状态整形的数据DATA_s进行编程。
参考图4B,存储控制器110可以接收在存储设备120上编程的转换数据DATA_t。ECC模块111可以检测转换数据DATA_t并对转换数据DATA_t进行纠错以生成经状态整形的数据DATA_s。状态整形模块112可以对经状态整形的数据DATA_s进行逆变换以生成数据DATA,然后将数据DATA发送给外部(例如,发送给外部设备)。然而,一些示例实施例不限于此,也即是说,存储控制器110可以直接接收在存储设备120上编程的经状态整形的数据DATA_s。这里,状态整形模块112可以对经状态整形的数据DATA_s进行逆变换以生成数据DATA,然后将数据DATA发送给外部。
图5A至图7是示出了根据一些示例实施例的由于由存储控制器执行的状态整形操作而可以在存储设备中形成的目标分布的示图。将参考图4A来描述图5A至图7。为了便于理解,图5A至图7被提供用于受限情况,并且一些示例实施例不限于此,也即是说,一些示例实施例可以应用于可以从与图5A至图7有关的描述推断出的所有情况。
参考图4A,存储设备120可以包括第一存储单元组121_1至第三存储单元组121_3,并且第一存储单元组121_1至第三存储单元组121_3的存储单元特性可以彼此不同。也即是说,存储单元速度可以以第三存储单元组121_3、第二存储单元组121_2和第一存储单元121_1的顺序变快,并且存储单元保持时段可以以第三存储单元组121_3、第二存储单元组121_2和第一存储单元组121_1的顺序变短。此外,假定存储设备120的存储单元是三级单元。存储单元速度是指当向存储单元施加预定或确定的编程电压时阈值电压分布偏移的程度,并且可以与存储单元特性之一相对应。即使当相同的编程电压或相似的编程电压被施加到存储单元时,存储单元中阈值电压分布偏移的程度也可能彼此不同。另外,随着存储单元具有更快的存储单元速度,阈值电压分布偏移的程度可以增加。
参考图5A,状态整形模块112可以基于第一存储单元组121_1的存储单元特性,来确定关于与可以由第一存储单元组121_1形成的第一编程状态P1至第八编程状态P8中的每一个相对应的存储单元的数量的编程策略(如本文所使用的,“编程策略”可以指一个或多个编程策略)。也即是说,状态整形模块112可以确定关于第一存储单元组121_1的第一目标分布,并且可以基于第一目标分布对要在第一存储单元组121_1上编程的数据执行状态整形操作。根据一些示例实施例,状态整形模块112可以基于第一存储单元组121_1的存储单元特性来确定第一目标分布。例如,状态整形模块112可以通过参考与对应的存储单元特性相关联地存储目标分布的数据库,并且将第一目标分布确定为与第一存储单元组121_1的存储单元特征相关联的目标分布,来确定第一目标分布。根据一些示例实施例,要在第一存储单元组121_1上编程的数据指示与可以由第一存储单元组121_1形成的第一编程状态P1至第八编程状态P8中的每一个相对应的存储单元的数量(也可以在本文中称为“初始分布”)。根据一些示例实施例,基于第一目标分布执行状态整形操作包括:对要在第一存储单元组121_1上编程的数据进行转换,以使得与每个编程状态相对应的存储单元的数量与第一目标分布一致。在附图中,虚线表示在未执行状态整形操作的情况下的目标分布,实线表示在执行状态整形操作之后的结果的目标分布。另外,X轴表示阈值电压VTH(在本文中也可以称为“级别”),Y轴表示存储单元(MC)的数量。具体地,如图5A所示,状态整形模块112可以将第七编程状态P7确定为参考编程状态REF,并且可以减少与处于比第七编程状态P7更高级别的第八编程状态P8相对应的存储单元的数量(例如,使得与第八编程状态P8相对应的存储单元的数量与第一目标分布一致)。也即是说,状态整形模块112可以对在第一存储单元组121_1上编程的多条数据执行状态整形操作,使得可以限制具有与第八编程状态P8相对应的值的各条数据的数量。根据一些示例实施例,第一目标分布指示参考编程状态REF。根据一些示例实施例,状态整形模块112可以通过参考与对应的存储单元特性相关联地存储参考编程状态的数据库,并且将参考编程状态REF确定为与第一存储单元组121_1的存储单元特征相关联的参考编程状态,来确定参考编程状态REF。在下文中,具有比参考编程状态REF的级别更高的级别的编程状态可以被称为目标编程状态。此外,状态整形模块112可以减少与第一编程状态P1相对应的存储单元的数量。状态整形模块112可以减少与第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以均匀地增加与第二编程状态P2至第六编程状态P6中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第一目标分布一致)。
根据一些示例实施例的状态整形模块112可以执行状态整形操作,使得具有与第一编程状态P1或第八编程状态P8相对应的值(例如,“000”或“111”)的数据可以具有与第二编程状态P2至第六编程状态P6中的每一个相对应的值,并且第一目标分布可以被满足(例如,使得与每个编程状态相对应的存储单元的数量与第一目标分布一致)。根据一些示例实施例,执行状态整形操作包括:将要在第一存储单元组121_1上编程的数据的值(在本文中也称为“初始值”)转换为具有与处于比参考编程状态REF的级别更低的级别的编程状态相对应的不同值(在本文中也称为“转换值”)。
参考图5B,状态整形模块112可以基于第二存储单元组121_2的存储单元特性,来确定关于与可以由第二存储单元组121_2形成的第一编程状态P1至第八编程状态P8中的每一个相对应的存储单元的数量的编程策略。也即是说,状态整形模块112可以确定关于第二存储单元组121_2的第二目标分布,并且可以基于第二目标分布对要在第二存储单元组121_2上编程的数据执行状态整形操作。具体地,如图5B所示,状态整形模块112可以将第六编程状态P6确定为参考编程状态REF,并且可以减少与处于比第六编程状态P6更高的级别的第七编程状态P7和第八编程状态P8相对应的存储单元的数量。也即是说,状态整形模块112可以对要在第二存储单元组121_2上编程的多条数据执行状态整形操作,使得可以限制具有与第七编程状态P7和第八编程状态P8相对应的值的各条数据的数量。在一些示例实施例中,针对第七编程状态P7和第八编程状态P8,随着级别增加得更高,状态整形模块112可以增加向下调整(例如,可以进一步减少)存储单元的数量的程度(例如,使得与每个编程状态相对应的存储单元的数量与第二目标分布一致)。换句话说,状态整形模块112可以区分减少的程度,使得与第七编程状态P7相对应的存储单元的数量大于与第八编程状态P8相对应的存储单元的数量。状态整形模块112可以减少与第七编程状态P7、第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以均匀地增加与第二编程状态P2至第五编程状态P5中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第二目标分布一致)。
根据一些示例实施例的状态整形模块112可以对数据执行状态整形操作,使得具有与第一编程状态P1、第七编程状态P7、或第八编程状态P8相对应的值(例如,‘000’、‘110’或‘111’)的数据可以具有与第二编程状态P2至第五编程状态P5中的一个相对应的值,并且第二目标分布可以被满足。
参考图5C,状态整形模块112可以基于第三存储单元组121_3的存储单元特性,来确定关于与可以由第二存储单元组121_3形成的多个编程状态P1至P8中的每一个相对应的存储单元的数量的编程策略。也即是说,状态整形模块112可以确定关于第三存储单元组121_3的第三目标分布,并且可以基于第三目标分布对要在第三存储单元组121_3上编程的数据执行状态整形操作。具体地,如图5C所示,状态整形模块112可以将第四编程状态P4确定为参考编程状态REF,并且可以减少与处于比第四编程状态P4更高的级别的第五编程状态P5至第八编程状态P8相对应的存储单元的数量。也即是说,状态整形模块112可以对在第三存储单元组121_3上编程的多条数据执行状态整形操作,使得可以限制具有与第五编程状态P5至第八编程状态P8相对应的值的各条数据的数量。在一些示例实施例中,针对第五编程状态P5至第八编程状态P8,随着级别增加得更高,状态整形模块112可以增加向下调整存储单元的数量的程度(例如,使得与每个编程状态相对应的存储单元的数量与第三目标分布一致)。状态整形模块112可以减少与第五编程状态P5至第八编程状态P8相对应的存储单元的数量,并且可以均匀地增加与第二编程状态P2至第三编程状态P3中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第三目标分布一致)。
根据一些示例实施例的状态整形模块112可以对数据执行状态整形操作,使得具有与第一编程状态P1和第五编程状态P5至第八编程状态P8之一相对应的值的数据可以具有与第二编程状态P2至第三编程状态P3中的一个相对应的值,并且第三目标分布可以被满足。
关于图5A至图5C所示的第一目标分布至第三目标分布之间的差异,第一目标分布中的目标编程状态(例如,第八编程状态P8)下的存储单元的数量的向下调整程度可以与第二目标分布中的目标编程状态(例如,第八编程状态P8)下的存储单元的数量的向下调整程度和第三目标分布中的目标编程状态(例如,第八编程状态P8)下的存储单元的数量的向下调整程度不同。此外,第二目标分布中的目标编程状态(例如,第七编程状态P7)下的存储单元的数量的向下调整程度可以与第三目标分布中的目标编程状态(例如,第七编程状态P7)下的存储单元的数量的向下调整程度不同。
总之,考虑到第一存储单元组121_1至第三存储单元组121_3的存储单元特性,由于由重复编程操作所引起的应力,第三存储单元组121_3的退化程度大于其他第一存储单元组121_1和第二存储单元组121_2的退化程度,因此作为第三存储单元组121_3中的存储单元的数量的向下调整的目标的目标编程状态的数量大于其他存储单元组(即,第一存储单元组121_1和第二存储单元组121_2)的目标编程状态的数量。因此,作为存储单元数量的向下调整的目标的目标编程状态的数量大于第一存储单元组121_1和第二存储单元121_2的目标编程状态的数量,并且目标编程状态下的存储单元的数量的向下调整程度增加,以提高第三存储单元组121_3的数据可靠性。
图6A至图6C是示出了与目标分布中的目标编程状态以外的其他编程状态相对应的存储单元的数量的向上调整的示例的曲线图,其中该示例与图5A至图5C所示的示例不同。
参考图6A,根据一些示例实施例的状态整形模块112可以减少与第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以不均匀地增加(向上调整)与其他编程状态(第二编程状态P2至第六编程状态P6)中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第一目标分布一致)。具体地,针对其他(第二至第六)编程状态P2至P6,随着级别变低,状态整形模块112可以增加向上调整存储单元的数量的程度。
参考图6B,根据一些示例实施例的状态整形模块112可以减少与第七编程状态P7、第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以不均匀地增加(向上调整)与其他编程状态(第二编程状态P2至第五编程状态P5)中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第二目标分布一致)。具体地,针对其他(第二至第五)编程状态P2至P5,随着级别变低,状态整形模块112可以增加向上调整存储单元的数量的程度。
参考图6C,根据一些示例实施例的状态整形模块112可以减少与第五编程状态P5至第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以不均匀地增加(向上调整)与其他编程状态(第二编程状态P2和第三编程状态P3)中的每一个相对应的存储单元的数量(例如,使得与每个编程状态相对应的存储单元的数量与第三目标分布一致)。具体地,针对其他(第二和第三)编程状态P2和P3,随着级别变低,状态整形模块112可以增加向上调整存储单元的数量的程度。
由于编程操作的应力,存储单元随着使用而退化。不同存储单元的劣化根据包括存储单元速度和/或保持在内的存储单元的特性而变化,并且这些特性在某些存储系统(例如,VNAND存储系统)中在字线之间变化。然而,常规存储控制器在不考虑字线之间的这些特性的变化的情况下执行状态整形。因此,常规存储控制器实现了编程策略,在该编程策略中,过多数量的存储单元与不可靠的编程状态相对应,从而降低了常规存储系统的可靠性并增加了编程延迟(例如,由于响应于编程错误而进行的重复操作)。
一些示例实施例提供了根据要编程的存储单元的特性而执行状态整形操作的改进的存储控制器。例如,改进的存储控制器实现了减少与不可靠的编程状态相对应的存储单元的数量的编程策略。因此,改进的存储控制器克服了常规存储控制器的缺陷,从而提高了可靠性并减少了编程延迟。
图7示出了与图5A的第一目标分布不同的另一示例。参考图7,根据一些示例实施例的状态整形模块112可以减少与第八编程状态P8和第一编程状态P1相对应的存储单元的数量,并且可以均匀地增加与其他编程状态(第二编程状态P2至第七编程状态P7)(包括参考编程状态REF,这不同于图5A所示的示例)中的每一个相对应的存储单元的数量。也即是说,确定参考编程状态REF以表示与向下调整存储单元的数量的目标编程状态的边界,并且还可以增加与参考编程状态REF相对应的存储单元的数量。
图8是根据一些示例实施例的存储设备120的框图。
参考图8,存储设备120可以包括存储单元阵列121、控制逻辑器件122、页缓冲器电路123、数据输入/输出电路124、电压发生器125、和/或行解码器126。存储单元阵列121可以经由字线WL和接地选择线GSL连接到行解码器126,并且可以经由位线BL连接到页缓冲器电路123。
存储单元阵列121可以包括多个NAND单元串。单元串中的每一个可以在竖直或水平方向上形成通道。在存储单元阵列121中,多个字线WL可以在竖直方向上堆叠。字线WL中的每一个可以配置包括在单元串中的存储单元的控制栅极。在这种情况下,可以在竖直方向上形成存储单元的通道。根据存储单元阵列121的布置,可以独立地选择共享一个位线BL的单元串中的每一个。独立地选择的单元串可以连接到彼此电分离的多个接地选择线GSL。如上所述,存储单元阵列121可以包括彼此具有不同的存储单元特性的第一存储单元组121_1至第三存储单元组121_3。在一些示例实施例中,可以通过将具有与由控制逻辑器件122执行的测试的预定或确定结果相同或相似的存储单元特性的存储单元进行分组来获得第一存储单元组121_1至第三存储单元组121_3,并且在一些示例实施例中,可以通过基于与存储单元连接的字线而无需执行附加的测试对存储单元进行分组来获得第一存储单元组121_1至第三存储单元组121_3。稍后将参考图10等对此进行描述。此外,一些示例实施例不限于图8所示的示例,并且存储单元阵列121可以包括更多或更少的存储单元组。
行解码器126可以通过对(例如,经由控制逻辑器件122和/或数据输入/输出电路124)从存储控制器110发送的地址进行解码来选择存储单元阵列121的字线WL之一。行解码器126可以向存储单元阵列121的选择的字线WL提供从电压发生器125提供的字线电压。例如,在编程操作中,行解码器126可以将编程电压施加给选择的字线WL,并且可以将通过电压施加给未选择的字线WL。此外,在各种存储操作中,行解码器126可以分别向串选择线SSL和接地选择线GSL提供选择电压。
页缓冲器电路123可以根据由控制逻辑器件122执行的操作,作为写入驱动器或读出放大器来进行操作。在编程操作期间,页缓冲器电路123可以向存储单元阵列121的位线BL提供与要在位线BL中编程的数据相对应的电压。在读取操作期间,页缓冲器电路123可以读出通过位线BL被选择为读取操作的目标的存储单元中存储的数据,并且可以将该数据提供给数据输入/输出电路124。
数据输入/输出电路124可以经由数据线DL连接到页缓冲器电路123,并且可以将其中输入的数据DATA提供给页缓冲器电路123,或者可以将从页缓冲器电路123提供的数据DATA输出到外部(例如,输出到存储控制器110)。这里,数据DATA可以是通过根据一些示例实施例的状态整形操作转换而来的数据。数据输入/输出电路124可以向控制逻辑器件122和/或行解码器126提供输入地址或指令。
根据一些示例实施例的控制逻辑器件122可以包括状态整形信息生成模块122_1。状态整形信息生成模块122_1可以生成表示第一存储单元组121_1至第三存储单元组121_3中的每一个的存储单元特性的状态整形信息。在一些示例实施例中,状态整形信息可以包括可以通过量化第一存储单元组121_1至第三存储单元组121_3的存储单元特性来指示特性程度的数据(或信息)。在一些示例实施例中,状态整形信息可以包括与第一存储单元组121_1至第三存储单元组121_3中的每一个相对应的字线的位置信息(或地址信息)。也即是说,当存储设备120是三维存储设备时,字线的位置信息可以是用于确定存储单元组的存储单元特性的参考,并且因此可以包括在状态整形信息中。然而,一些示例实施例不限于以上示例,并且可以以各种方式来实现状态整形信息,只要将第一存储单元组121_1至第三存储单元组121_3的存储单元特性通知给存储控制器。
另外,根据一些示例实施例的状态整形信息生成模块122_1可以在连接到存储控制器110(参见图1)并执行存储操作(例如,编程操作)之前预先生成状态整形信息。例如,状态整形信息生成模块122_1可以通过在存储单元阵列121上执行的预定或确定的测试根据存储单元特性对存储单元进行分组,并且可以生成与第一存储单元组121_1至第三存储单元组121_3中的每一个相对应的状态整形信息。根据一些示例实施例,本文中描述为由控制逻辑器件122和/或状态整形信息生成模块122_1执行的操作可以由处理电路执行。根据一些示例实施例,本文中描述为由存储单元阵列121、页缓冲器电路123、数据输入/输出电路124、电压发生器125、和/或行解码器126执行的操作可以在控制逻辑器件122的控制下和/或由处理电路来执行。
图9A至图9C是包括在图8的存储设备120中的存储单元阵列121的示例。
参考图9A,存储单元阵列121可以是闪存单元阵列。这里,存储单元阵列121可以包括a(a为2或更大的整数)个第一存储块BLK1至第a存储块BLKa,存储块BLK1至BLKa中的每一个包括b(b为2或更大的整数)个页PAG1至PAGb,并且页PAG1至PAGb中的每一个可以包括c(c为2或更大的整数)个扇区SEC1至SECc。在图9A中,仅示出了包括在一个存储块BLK1中的页PAG1至PAGb和扇区SEC1至SECc,但是其他存储块BLK2至BLKa也可以具有与存储块BLK1的结构相同或相似的结构。
参考图9B,存储单元阵列121可以是NAND闪存的存储单元阵列。这里,图9A所示的存储块BLK1至BLKa中的每一个可以如图9B所示进行实现。存储块BLK1至BLKa中的每一个可以包括d个(d为2或更大的整数)单元串CSTR,其中在位线BL1至BLd的方向上串联连接了八个存储单元MC。单元串CSTR中的每一个可以包括串选择晶体管SST和接地选择晶体管GST,串选择晶体管SST和接地选择晶体管GST连接到串联连接的存储单元MC的相对端。此外,串选择晶体管SST可以连接到串选择线SSL,接地选择晶体管GST可以连接到接地选择线CSL。
图9B示出了一个存储块BLK1关于八个字线WL1至WL8包括八个页PAG的示例。然而,根据一些示例实施例的存储单元阵列121中的存储块BLK1至BLKa中的每一个可以包括存储单元和页,其中存储单元的数量和页的数量可以与图9B所示的存储单元MC的数量和页PAG的数量不同。
当像图9B所示的存储块BLK1那样实现其他存储块BLK2至BLKa时,存储块BLK1至BLKa中的每一个中的存储单元可以根据存储单元特性被分组为第一存储单元组121_1至第三存储单元组121_3(参见图8)。例如,第一存储块BLK1可以包括具有相同或相似存储单元特性的第一存储单元组121_1至第三存储单元组121_3(参见图8),并且第二存储块BLK2也可以包括具有相同或相似存储单元特性的第一存储单元组至第三存储单元组(未示出)。在一些示例实施例中,可以根据相同或相似的存储单元特性将存储块BLK1至BLKa进行分组,以将其分类为第一存储单元组121_1至第三存储单元组121_3(参见图8)。在一些示例实施例中,控制逻辑器件122(参见图8)可以对存储块BLK1至BLKa执行测试操作以确定存储块BLK1至BLKa的存储单元特性,然后将存储块BLK1至BLKa分类为第一存储单元组121_1至第三存储单元组121_3(参见图8)。
参考图9C,存储块BLK1可以是具有竖直结构的NAND闪存,并且图9A所示的存储块BLK2至BLKa中的每一个可以如图9C所示进行实现。存储块BLK1可以包括多个NAND串NS11至NS33(包括存储单元MC1至MC8)、多个字线WL1至WL8、多个位线BL1至BL3、多个接地选择线GSL1至GSL3、多个串选择线SSL1至SSL3、和/或公共源极线CSL。这里,NAND串的数量、字线的数量、位线的数量、接地选择线的数量、和/或串选择线的数量可以不同地被修改。
当像图9C所示的存储块BLK1那样实现其他存储块BLK2至BLKa时,可以根据存储单元特性将存储块BLK1至BLKa中的每一个中的存储单元分组为第一存储单元组121_1至第三存储单元组121_3(参见图8)。例如,第一存储块BLK1可以包括具有相同或相似存储单元特性的第一存储单元组121_1至第三存储单元组121_3(参见图8),并且第二存储块BLK2也可以包括具有相同或相似存储单元特性的第一存储单元组至第三存储单元组(未示出)。在一些示例实施例中,可以基于字线对第一存储单元组121_1至第三存储单元组121_3(参见图8)进行分类。以下将参考图10对此进行详细描述。
图10是示出了通过预定或确定的处理方法而形成的存储块BLK1的示图。
参考图10,存储块BLK1可以包括第一字线WL1至第八字线WL8、串选择线SSL、接地选择线GSL、基板SUB、竖直半导体柱VP、和/或数据存储层DS。可以通过蚀刻工艺和多晶硅沉积工艺来形成竖直半导体柱VP。然而,由于处理方法的限制,竖直半导体柱VP的直径可以朝向基板SUB逐渐减小。例如,与第八字线WL8相对应的直径D1、与第五字线WL5相对应的直径D2、以及与第二字线WL2相对应的直径D3可以根据所述顺序减小尺寸。
竖直半导体柱VP的直径可以是确定存储单元特性的元素。例如,连接到与竖直半导体柱VP的较宽直径区域相对应的第六字线WL6至第八字线WL8的存储单元的单元速度可能相对较慢,并且连接到与竖直半导体柱VP的较窄直径区域相对应的第一字线WL1和第二字线WL2的存储单元的单元速度可能相对较快。另外,连接到与竖直半导体柱VP的较宽直径区域相对应的第六字线WL6至第八字线WL8的存储单元的存储保持时段可能相对较长,并且连接到与竖直半导体柱VP的较窄直径区域相对应的第一字线WL1和第二字线WL2的存储单元的存储保持时段可能相对较短。
因此,与第六字线WL6至第八字线WL8连接的存储单元可以被分组为第一存储单元组“第一MC_G”,与第三字线WL3至第五字线WL5连接的存储单元可以被分组为第二存储单元组“第二MC_G”,并且与第一字线WL1和第二字线WL2连接的存储单元可以被分组为第三存储单元组“第三MC_G”。也即是说,存储单元速度可以以第三存储单元组“第三MC_G”、第二存储单元组“第二MC_G”和第一存储单元组“第一MC_G”的顺序变快(例如,其中第三存储单元组“第三MC_G”具有最慢的存储单元速度,并且第一存储单元组“第一MC_G”具有最快的存储单元速度),并且存储单元的保持时段可以以第三存储单元组“第三MC_G”、第二存储单元组“第二MC_G”和第一存储单元组“第一MC_G”的顺序变短(例如,其中第三存储单元组“第三MC_G”具有最长存储单元保持时段并且第一存储单元组“第一MC_G”具有最短的存储单元保持时段)。第一存储单元组“第一MC_G”最接近串选择线SSL,第二存储单元组“第二MC_G”第二接近串选择线SSL,第三存储单元组“第三MC_G”最接近接地选择线GSL。
然而,一些示例实施例不限于图10中对存储单元组进行分组的示例,也即是说,可以基于字线的位置对存储单元组进行各种分组。
图11是示出了以子块对图9C的存储块BLK1进行划分的示图,图12是示出了以与图10的处理方法不同的处理方法形成的存储块BLK1的示图。在下文中,省略了以上已经参考图9C和图10所提供的描述。
参考图11,第五存储单元MC5至第八存储单元MC8可以配置第一子块SB1,并且第一存储单元MC1至第四存储单元MC4可以配置第二子块SB2。子块可以是在其上可能执行存储设备的部分擦除操作的单元。
参考图12,存储块BLK1可以包括第一字线WL1至第八字线WL8、串选择线SSL、接地选择线GSL、基板SUB、第一竖直半导体柱VP1和第二竖直半导体柱VP2、和/或数据存储层DS1和DS2。第二竖直半导体柱VP2可以形成在第一竖直半导体柱VP1与基板SUB之间。例如,在形成第一竖直半导体柱VP1之前,可以通过蚀刻工艺和多晶硅沉积工艺来形成第二竖直半导体柱VP2。在形成第二竖直半导体柱VP2之后,可以通过附加的蚀刻工艺和多晶硅沉积工艺在第二竖直半导体柱VP2上形成第一竖直半导体柱VP1。第一竖直半导体柱VP1和第二竖直半导体柱VP2的直径可以具有相同或相似的轮廓。例如,与第八字线WL8相对应的第一竖直半导体柱VP1的直径D1可以和与第四字线WL4相对应的第二竖直半导体柱VP2的直径D3相同或相似,并且与第六字线WL6相对应的第一竖直半导体柱VP1的直径D2可以和与第二字线WL2相对应的第二竖直半导体柱VP2的直径D4相同或相似。
根据一些示例实施例,与第五字线WL5至第八字线WL8连接的存储单元可以配置第一子块SB1,并且与第一字线WL1至第四字线WL4连接的存储单元可以配置第二子块SB2。另外,可以针对子块中的每一个来定义根据一些示例实施例的存储单元组。也即是说,在第一子块SB1中,可以将与第七字线WL7和第八字线WL8连接的存储单元分组为第一存储单元组“第一MC_G”,并且可以将与第五字线WL5和第六字线WL6连接的存储单元分组为第二存储单元组“第二MC_G”。第一存储单元组“第一MC_G”可以相对接近串选择线SSL,第二存储单元组“第二MC_G”可以相对接近接地选择线GSL。
在第二子块SB2中,可以将与第三字线WL3和第四字线WL4连接的存储单元分组为第一存储单元组“第一MC_G”’,并且可以将与第一字线WL1和第二字线WL2连接的存储单元分组为第二存储单元组“第二MC_G”’。第一存储单元组“第一MC_G”’可以相对接近串选择线SSL,第二存储单元组“第二MC_G”’可以相对接近接地选择线GSL。
图11和图12所示的子块SB1和SB2的结构是应用了一些示例实施例的示例,并且一些示例实施例不限于此,也即是说,子块SB1和SB2中的每一个可以包括更多字线,并且此外,还可以包括至少一个伪字线。
图13A和图13B是示出了根据一些示例实施例的状态整形信息的示图。图13A示出了当存储单元组被分组在存储块中的每一个中时在状态整形操作中使用的适合于每个存储单元组的存储单元特性的状态整形信息,图13B示出了当存储单元组被分组在存储块中的每一个中时在状态整形操作中使用的适合于每个存储单元组的存储单元特性的状态整形信息。
参考图13A,存储设备的存储单元阵列包括多个存储块BLK1至BLKa,并且存储块BLK1至BLKa中的每一个可以被划分为多个存储单元组。例如,第一存储块BLK1可以包括第一存储单元组MC_G1_1至第m存储单元组MC_Gm_1,并且第a存储块BLKa可以包括第一存储单元组MC_G1_k至第n存储单元组MC_Gn_k。存储设备可以生成状态整形信息SS_Info.,该状态整形信息SS_Info.表示第一存储单元组MC_G1_1至第m存储单元组MC_Gm_1和第一存储单元组MC_G1_k至第n存储单元组MC_Gn_k中的每一个的存储单元特性。存储控制器可以基于如图13A所生成的状态整形信息SS_Info,对在存储块BLK1至BLKa中的每一个中编程的数据执行状态整形操作。
参考图13B,存储单元阵列包括多个存储块BLK1至BLKa,存储块BLK1至BLKa中的每一个包括多个子块,并且子块中的每一个可以被划分为多个存储单元组。例如,存储块BLK1可以包括第一子块SB_11至第d子块SB_d1,并且第一子块SB_11至第d子块SB_d1中的每一个可以包括多个存储单元组。具体地,第一子块SB_11可以包括第一存储单元组MC_G1_11至第f存储单元组MC_Gf_11,并且第d子块SB_d1可以包括第一存储单元组MC_G1_d1至第g存储单元组MC_Gg_d1。另外,存储块BLKa可以包括第一子块SB_1a至第e子块SB_ea,并且第一子块SB_1a至第e子块SB_ea中的每一个可以包括多个存储单元组。具体地,第一子块SB_1a可以包括第一存储单元组MC_G1_1a至第h存储单元组MC_Gh_1a,并且第e子块SB_ea可以包括第一存储单元组MC_G1_ea至第i存储单元组MC_Gi_ea。
存储控制器可以基于如图13B所生成的状态整形信息SS_Info.,对在存储块BLK1至BLKa中的每一个中的子块中编程的数据执行状态整形操作。
图14是根据一些示例实施例的存储设备120的框图。在下文中,省略了以上参考图8所提供的描述。
参考图14,控制逻辑器件122的状态整形信息生成模块122_1可以包括状态整形信息更新模块122_3。包括在存储单元阵列121的第一存储单元组121_1至第三存储单元组121_3中的存储单元可以具有根据编程/擦除(P/E)操作的数量、存储操作环境等而变化的可变存储单元特性。因此,为了使在根据一些示例实施例的状态整形操作中提高可靠性的效果持续,可以考虑可变存储单元特性。根据一些示例实施例的状态整形信息更新模块122_3可以监测第一存储单元组121_1至第三存储单元组121_3的存储单元特性的变化,并且可以基于监测结果来更新状态整形信息。
此外,存储单元阵列121还可以包括测试存储单元组121_T。测试存储单元组121_T可以包括用于监测第一存储单元组121_1至第三存储单元组121_3的存储单元特性的变化的存储单元。在一些示例实施例中,测试存储单元组121_T可以包括第一存储单元组121_1至第三存储单元组121_3中包括的存储单元中的一些,或者可以包括具有与第一存储单元组121_1至第三存储单元组121_3的存储单元特性相同或相似的存储单元特性的附加存储单元。状态整形信息更新模块122_3可以在对测试存储单元组121_T执行测试操作之后通过测试结果来监测第一存储单元组121_1至第三存储单元组121_3的存储单元特性的变化,并且可以当存储单元特性的变化超过临界值时更新状态整形信息以表示改变后的存储单元特性。根据一些示例实施例,临界值可以是通过实证研究而确定的设计参数。控制逻辑器件122可以向存储控制器110提供更新后的状态整形信息。
图15是示出了根据一些示例实施例的对存储设备的状态整形信息进行更新的操作的流程图。
参考图15,在操作S200中,存储设备可以确定是否满足更新状态整形(SS)信息的条件。例如,存储设备可以基于P/E操作的次数、存储操作环境(例如,温度、操作模式等)等来确定是否满足更新条件,并且当P/E操作的次数超过参考次数时或当温度超过存储操作环境中的参考温度时,存储设备可以确定满足更新状态整形(SS)信息的条件。根据一些示例实施例,参考次数和参考温度可以是通过实证研究而确定的设计参数。当满足更新条件(操作S200中为“是”)时,可以执行操作S220,并且在操作S220中,存储设备可以对存储单元组执行测试。在操作S240中,存储设备可以基于测试结果来更新状态整形(SS)信息。当不满足更新条件(操作S200中为“否”)时,可以执行操作S260,并且在操作S260中,存储设备可以保持现有的状态整形信息。在一些示例实施例中,存储设备可以响应于从存储控制器110接收的预定或确定的命令来执行状态整形信息的更新操作。
图16A和图16B是示出了根据一些示例实施例的对存储设备的状态整形信息进行更新的操作的示图。
参考图16A,存储块BLK1至BLKa中的每一个可以包括至少一个测试字线(Test WL1至Test WLa),并且可以预先设置测试字线Test WL1至Test WLa中的每一个以用于更新状态整形信息。在操作S221中,存储设备可以对与至少一个测试字线Test WL1连接的存储单元执行测试操作。在操作S241中,存储设备可以基于测试结果来更新与存储块BLK1有关的状态整形信息(即,与包括在存储块BLK1中的存储单元组有关的状态整形信息)。具体地,存储设备可以将与测试字线Test WL1连接的存储单元的存储单元特性反映到状态整形信息,其中,存储单元特性被获得作为测试操作结果。以上述方式,存储设备可以更新与其他存储块BLK2至BLKa有关的状态整形信息。
参考图16B,存储块BLK1至BLKa中的每一个可以包括多个子块,并且子块中的每一个可以包括至少一个测试字线。例如,存储块BLK1可以包括第一子块SB_11和第二子块SB_21,并且第一子块SB_11可以包括第一测试字线Test WL_11,第二子块SB_21可以包括第二测试字线Test WL_21。此外,存储块BLKa可以包括第一子块SB_1a和第二子块SB_2a,并且第一子块SB_1a可以包括第一测试字线Test WL_1a,第二子块SB_2a可以包括第二测试字线Test WL_2a。
在操作S222中,存储设备可以对与至少一个测试字线Test WL_11连接的存储单元执行测试操作。在操作S242中,存储设备可以基于测试结果来更新与第一子块SB_11有关的状态整形信息(即,与包括在第一子块SB_11中的存储单元组有关的状态整形信息)。另外,可以将操作S222和操作S242应用于第二子块SB_21,以更新与第二子块SB_21有关的状态整形信息。以上述方式,存储设备可以更新与其他存储块BLK2至BLKa有关的状态整形信息。
图17A和图17B是示出了根据一些示例实施例的由存储控制器基于更新后的状态整形信息来执行状态整形操作的示例的示图。在下文中,为了便于描述图17A和图17B,进一步参考图4A和图5A。
参考图17A,状态整形模块112可以基于更新后的状态整形信息来改变关于第一存储单元组121_1的确定的编程策略。也即是说,与图5A不同,状态整形模块112将第六编程状态P6改变为参考编程状态REF,并且可以减少与处于比第六编程状态P6更高的级别的第七编程状态P7和第八编程状态P8相对应的存储单元的数量。
参考图17B,与图17A不同,状态整形模块112保持参考编程状态REF,并且可以增加与第八编程状态P8相对应的存储单元的数量的向下调整程度。
尽管在附图中未示出,但是状态整形模块112可以通过应用参考图17A和图17B所示的技术构思,基于更新后的状态整形信息来改变参考编程状态,并且可以改变与目标编程状态相对应的存储单元的数量的向下调整程度。
如上所述,根据一些示例实施例的存储控制器可以考虑到可变的存储单元特性来自适应地对数据执行状态整形操作,因此可以提高存储设备的数据可靠性。
图18是根据一些示例实施例的固态驱动器(SSD)系统1000的框图。
参考图18,SSD系统1000可以包括主机1100和/或SSD 1200。SSD 1200可以经由信号连接器与主机1100交换信号SGL,并且可以经由电源连接器接收电力PWR的输入。SSD1200可以包括SSD控制器1210、辅助电源设备1220、和/或多个存储设备1230、1240和1250。
考虑到多个存储设备1230、1240和1250中的每一个的存储单元特性,根据一些示例实施例的SSD控制器1210可以对数据执行状态整形操作。具有相同或相似存储单元特性的存储单元可以被分组,并且多个存储设备1230、1240和1250可以生成表示存储单元组中的每一个的存储单元特性的状态整形信息并将状态整形信息提供给SSD控制器1210。此外,多个存储设备1230、1240和1250可以通过监测每个存储单元组的存储单元特性的变化来更新状态整形信息,并且可以将更新后的状态整形信息提供给SSD控制器1210。根据一些示例实施例,本文中描述为由SSD控制器1210执行的操作可以由处理电路来执行。
尽管已经具体示出和描述了一些示例实施例,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

Claims (20)

1.一种操作存储控制器的方法,所述方法包括:
响应于写入请求,基于状态整形信息对接收到的数据执行状态整形操作,所述接收到的数据和所述写入请求是从主机接收的,所述状态整形信息表示与要在其上对所述接收到的数据进行编程的存储单元组相对应的存储单元特性,并且所述状态整形信息是从存储设备接收的;以及
向所述存储设备发送转换数据,所述转换数据是通过所述状态整形操作而生成的。
2.根据权利要求1所述的方法,其中,所述状态整形信息包括:
所述存储单元组的存储单元速度特性或所述存储单元组的存储单元保持特性中的至少一个。
3.根据权利要求1所述的方法,其中,所述执行状态整形操作包括:
基于所述状态整形信息来确定编程策略,所述编程策略指示与由所述存储单元组形成的多个编程状态中的每一个相对应的存储单元的数量;以及
基于所述编程策略来对所述接收到的数据进行转换。
4.根据权利要求3所述的方法,其中,所述确定编程策略包括:
基于所述状态整形信息从所述多个编程状态中确定目标编程状态的数量,所述目标编程状态是存储单元的数量根据所述编程策略而减少的编程状态。
5.根据权利要求4所述的方法,其中,所述确定目标编程状态的数量包括:
响应于在所述存储单元组中存储单元速度更快或者在所述存储单元组中存储单元保持时段更短,将所述目标编程状态的数量确定为更高。
6.根据权利要求4所述的方法,其中,
所述目标编程状态包括多个目标编程状态;并且
所述确定编程策略包括:确定所述编程策略,使得随着所述多个目标编程状态的级别增加,存储单元的数量的减少程度增加。
7.根据权利要求4所述的方法,其中,
所述目标编程状态包括一个或多个目标编程状态;并且
所述转换所述接收到的数据包括:将与所述一个或多个目标编程状态中的目标编程状态相对应的所述接收到的数据的值转换为具有与所述多个编程状态中的不同的编程状态相对应的值,所述不同的编程状态未包括在所述一个或多个目标编程状态中。
8.根据权利要求1所述的方法,还包括:
从所述主机接收读取请求;
响应于所述读取请求,从所述存储设备接收存储在所述存储单元组中的所述转换数据;
对所述转换数据执行状态整形逆转换操作;以及
将通过所述状态整形逆转换操作而生成的数据发送给所述主机。
9.一种操作包括存储设备和存储控制器在内的存储系统的方法,所述方法包括:
由所述存储控制器基于所述存储设备的第一存储单元组的第一存储单元特性对第一数据执行第一状态整形操作;以及
由所述存储控制器通过将第一转换数据发送给所述存储设备,使所述存储设备将所述第一转换数据编程在所述第一存储单元组中,所述第一转换数据是通过所述第一状态整形操作而生成的。
10.根据权利要求9所述的方法,其中,所述第一存储单元特性包括:
存储单元速度特性或存储单元保持特性中的至少一个。
11.根据权利要求9所述的方法,其中,所述执行第一状态整形操作包括:
将所述第一数据的初始值转换为具有与多个编程状态中的处于比所述多个编程状态中的参考编程状态的级别更低的级别的一个编程状态相对应的转换后的值,所述第一数据的初始值与所述多个编程状态中的处于比所述参考编程状态的级别更高的级别的一个编程状态相对应。
12.根据权利要求9所述的方法,其中,所述方法还包括:
由所述存储控制器基于所述存储设备的第二存储单元组的第二存储单元特性对第二数据执行第二状态整形操作,所述第二存储单元特性与所述第一存储单元特性不同;以及
由所述存储控制器通过将第二转换数据发送给所述存储设备,使所述存储设备将所述第二转换数据编程在所述第二存储单元组中,所述第二转换数据是通过所述第二状态整形操作而生成的。
13.根据权利要求12所述的方法,其中,
由于所述第一状态整形操作和所述第二状态整形操作,所述第一存储单元组中的多个编程状态的第一目标分布与所述第二存储单元组中的多个编程状态的第二目标分布不同。
14.根据权利要求12所述的方法,其中,
所述存储设备包括连接在多个接地选择线与多个串选择线之间的存储块,所述存储块包括在竖直方向上堆叠的多个存储单元;
所述第一存储单元组包括所述多个存储单元中的第一存储单元,所述第一存储单元连接到与所述存储块相连的多个字线中的至少一个第一字线,其中与所述多个接地选择线相比,所述至少一个第一字线更接近所述多个串选择线;并且
所述第二存储单元组包括所述多个存储单元中的与所述多个字线中的至少一个第二字线连接的第二存储单元,与所述多个串选择线相比,所述至少一个第二字线更接近所述多个接地选择线。
15.根据权利要求12所述的方法,其中,
所述存储设备包括连接在多个接地选择线与多个串选择线之间的存储块,所述存储块包括在竖直方向上堆叠的多个存储单元和至少两个子块;
所述第一存储单元组包括所述多个存储单元中的与多个字线中的至少一个第一字线连接的第一存储单元,所述多个字线包括在所述至少两个子块中的第一子块中,与所述多个接地选择线相比,所述至少一个第一字线更接近所述多个串选择线;并且
所述第二存储单元组包括所述多个存储单元中的与所述多个字线中的至少一个第二字线连接的第二存储单元,与所述多个串选择线相比,所述至少一个第二字线更接近所述多个接地选择线。
16.根据权利要求9所述的方法,还包括:
由所述存储设备生成表示所述第一存储单元特性的状态整形信息;以及
由所述存储设备向所述存储控制器发送所述状态整形信息,以用于执行所述第一状态整形操作。
17.一种存储系统,包括:
存储设备,包括第一存储单元组;以及
存储控制器,被配置为:
通过将第一转换数据发送给所述存储设备,使所述存储设备将所述第一转换数据编程在所述第一存储单元组中,所述第一转换数据是通过基于要在其中对第一数据进行编程的所述第一存储单元组的第一存储单元特性对所述第一数据执行状态整形操作而生成的。
18.根据权利要求17所述的存储系统,其中,所述存储控制器被配置为:通过将所述第一数据的初始值转换为具有与多个编程状态中的处于比所述多个编程状态中的参考编程状态的级别更低的级别的一个编程状态相对应的转换后的值,来执行所述状态整形操作,所述第一数据的初始值与所述多个编程状态中的处于比所述参考编程状态的级别更高的级别的一个编程状态相对应。
19.根据权利要求17所述的存储系统,其中,所述存储设备被配置为:
生成表示所述第一存储单元特性的状态整形信息;以及
将所述状态整形信息发送给所述存储控制器,以用于对所述第一数据执行状态整形操作。
20.根据权利要求17所述的存储系统,其中,所述存储设备被配置为:
生成表示所述第二存储单元特性的状态整形信息;以及
将所述状态整形信息发送给所述存储控制器,以用于对所述第二数据执行状态整形操作。
CN202010740963.0A 2019-08-01 2020-07-28 存储控制器、包括存储控制器的存储系统及其操作方法 Pending CN112306397A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190094021A KR20210015331A (ko) 2019-08-01 2019-08-01 상태 쉐이핑 동작을 수행하기 위한 메모리 장치, 메모리 컨트롤러 및 이를포함하는 메모리 시스템
KR10-2019-0094021 2019-08-01

Publications (1)

Publication Number Publication Date
CN112306397A true CN112306397A (zh) 2021-02-02

Family

ID=74258844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010740963.0A Pending CN112306397A (zh) 2019-08-01 2020-07-28 存储控制器、包括存储控制器的存储系统及其操作方法

Country Status (3)

Country Link
US (1) US11372551B2 (zh)
KR (1) KR20210015331A (zh)
CN (1) CN112306397A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
JP2022012905A (ja) * 2020-07-02 2022-01-17 キオクシア株式会社 メモリシステム及び半導体装置の特性情報の管理方法
CN114169279A (zh) * 2020-11-03 2022-03-11 台湾积体电路制造股份有限公司 集成电路设计方法、系统和计算机程序产品
US12019871B2 (en) 2021-12-15 2024-06-25 Samsung Electronics Co., Ltd. Storage controller compressing indicator data, storage device including the same, and method of operating the same

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606966B2 (en) 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
JP2008130182A (ja) 2006-11-22 2008-06-05 Sharp Corp 不揮発性半導体記憶装置
US20090135656A1 (en) * 2006-12-14 2009-05-28 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device with dummy cells and method of programming the same
US7577036B2 (en) 2007-05-02 2009-08-18 Micron Technology, Inc. Non-volatile multilevel memory cells with data read of reference cells
US8230158B2 (en) 2008-08-12 2012-07-24 Micron Technology, Inc. Memory devices and methods of storing data on a memory device
KR101552210B1 (ko) 2009-03-10 2015-09-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20100124087A (ko) 2009-05-18 2010-11-26 삼성전자주식회사 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
KR20110055178A (ko) 2009-11-19 2011-05-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 메모리 시스템
US8174895B2 (en) 2009-12-15 2012-05-08 Sandisk Technologies Inc. Programming non-volatile storage with fast bit detection and verify skip
KR101676816B1 (ko) * 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR101893143B1 (ko) 2011-03-16 2018-08-31 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템
US8472257B2 (en) 2011-03-24 2013-06-25 Sandisk Technologies Inc. Nonvolatile memory and method for improved programming with reduced verify
US8737125B2 (en) 2012-08-07 2014-05-27 Sandisk Technologies Inc. Aggregating data latches for program level determination
KR102009435B1 (ko) * 2012-08-24 2019-08-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR101934892B1 (ko) 2012-10-17 2019-01-04 삼성전자 주식회사 메모리 장치의 열화 상태 판정 방법 및 이를 이용한 메모리 시스템
WO2015005635A1 (ko) * 2013-07-08 2015-01-15 주식회사 윌러스표준기술연구소 메모리 시스템 및 메모리의 데이터 처리 방법
KR102081081B1 (ko) 2013-08-01 2020-02-25 삼성전자주식회사 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법
KR102149770B1 (ko) 2013-08-26 2020-08-31 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법
WO2016093918A2 (en) 2014-11-03 2016-06-16 CRAM Worldwide, Inc. Secured data storage on a hard drive
US9959077B2 (en) 2014-11-18 2018-05-01 Tidal Systems, Inc. Data randomization for flash memory
US10417122B2 (en) 2015-09-30 2019-09-17 Seagate Technology Llc Data randomization using memory block access counts
KR102669687B1 (ko) * 2016-12-05 2024-05-28 삼성전자주식회사 메모리의 온도에 따라 상이하게 동작하는 스토리지 장치
US10949119B2 (en) * 2018-02-20 2021-03-16 Western Digital Technologies, Inc. Data shaping to reduce error rates in solid state memory devices

Also Published As

Publication number Publication date
KR20210015331A (ko) 2021-02-10
US20210034251A1 (en) 2021-02-04
US11372551B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US7518913B2 (en) Read method of memory device
US10573394B2 (en) Memory system
US10714194B2 (en) Memory system including a memory device, and methods of operating the memory system and memory device
US9478296B2 (en) Erase method of nonvolatile memory device and storage device employing the same
JP5584595B2 (ja) フラッシュメモリ装置及びそのプログラム方法
JP5599145B2 (ja) マルチビットフラッシュメモリ装置及びそれのプログラム及び読み出し方法
US8004898B2 (en) Nonvolatile memory device, program method thereof, and memory system including the same
US11372551B2 (en) Memory controllers for performing state shaping operation, memory systems including the memory controllers, and methods of operating the same
KR20190079327A (ko) 메모리 장치의 데이터 독출 방법, 메모리 컨트롤러의 제어 방법 및 이들을 포함하는 저장 장치
US20190139614A1 (en) Semiconductor memory device and memory system
US11100997B2 (en) Storage device, controller and method for operating controller for configuring super pages using program timing information
CN111226280B (zh) 改进数据完整性的nand单元编码
KR20160028076A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
EP3061097B1 (en) Programming scheme for improved voltage distribution in solid-state memory
US10860251B2 (en) Semiconductor memory device
JP2008108297A (ja) 不揮発性半導体記憶装置
JP2022020957A (ja) メモリシステム及び半導体記憶装置
US9679638B2 (en) Semiconductor device and method of operating the same
JP2011204298A (ja) 不揮発性半導体メモリ
KR20220006467A (ko) 기계 학습에 기반한 오류 정정을 수행하는 메모리 장치 및 이의 동작 방법
JP2019053798A (ja) 半導体記憶装置
TWI677872B (zh) 記憶體系統及記憶體系統之控制方法
KR20100004771A (ko) 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
US20230133227A1 (en) Dynamic step voltage level adjustment
CN116312706A (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