CN116110473A - 存储器装置、存储器系统和操作存储器系统的方法 - Google Patents
存储器装置、存储器系统和操作存储器系统的方法 Download PDFInfo
- Publication number
- CN116110473A CN116110473A CN202211375832.2A CN202211375832A CN116110473A CN 116110473 A CN116110473 A CN 116110473A CN 202211375832 A CN202211375832 A CN 202211375832A CN 116110473 A CN116110473 A CN 116110473A
- Authority
- CN
- China
- Prior art keywords
- memory
- logical pages
- read
- memory device
- bit 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 330
- 238000000034 method Methods 0.000 title claims abstract description 49
- 239000000872 buffer Substances 0.000 claims abstract description 108
- 238000012937 correction Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 12
- 238000009826 distribution Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 239000004065 semiconductor Substances 0.000 description 8
- 101100449814 Arabidopsis thaliana GTL1 gene Proteins 0.000 description 4
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 4
- 101150064834 ssl1 gene Proteins 0.000 description 4
- 239000000758 substrate Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 2
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101150062870 ssl3 gene Proteins 0.000 description 2
- 101150011582 ssl4 gene Proteins 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
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
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/3463—Circuits or methods to detect overprogrammed nonvolatile memory cells, usually during program verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
-
- 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
- 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/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed 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
-
- 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
-
- 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/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
-
- 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/564—Miscellaneous aspects
- G11C2211/5643—Multilevel memory comprising cache storage devices
Abstract
公开一种存储器装置、存储器系统和操作存储器系统的方法。所述操作存储器系统的方法包括:在存储器装置中,将存储在页缓冲器电路中的K个逻辑页编程到存储器单元阵列中;在经过第一延迟时间之后,从存储器装置将编程到存储器单元阵列中的K个逻辑页读取到页缓冲器电路中;在存储器控制器中,将N‑K个逻辑页发送到存储器装置;以及在存储器装置中,基于读取的K个逻辑页和N‑K个逻辑页,将N个逻辑页编程到存储器单元阵列中,其中,K是正整数,并且N是大于K的正整数。
Description
本申请要求于2021年11月10日在韩国知识产权局提交的10-2021-0154256号韩国专利申请和于2022年5月17日在韩国知识产权局提交的10-2022-0060427号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
发明构思涉及一种存储器系统,并且更具体地,涉及一种执行多步编程操作的存储器系统。
背景技术
半导体存储器装置可被分类为易失性半导体存储器装置和非易失性半导体存储器装置。非易失性半导体存储器装置即使在不再被供电时也保留数据。存储在非易失性半导体存储器装置中的数据可以是永久的或可重新编程的。非易失性半导体存储器装置在广泛的应用(诸如,计算机、航空电子、通信和消费电子)中用于用户数据的存储以及程序和微代码的存储。
多步编程操作可被执行以将数据编程到存储器单元。多步编程操作执行多个编程操作以使与待存储的数据值对应的阈值电压的分布变窄。即,多步编程操作包括粗略编程操作(coarse program operation)和精细编程操作(fine program operation),粗略编程操作执行粗略地形成阈值电压分布的多位编程操作,精细编程操作精确地收集通过粗略编程操作形成的阈值电压分布。然而,当仅粗略编程操作被执行时,可能难以无错误地读取数据。
发明内容
发明构思的至少一个实施例提供一种即使在仅第一编程操作被执行时也处理读取请求的存储器系统,以及一种操作该存储器系统的方法。
此外,发明构思的至少一个实施例提供一种提供比粗略-精细编程操作更快的编程速度的存储器系统,以及一种操作该存储器系统的方法。
根据发明构思的实施例,提供一种操作存储器系统的方法,所述存储器系统包括:存储器装置和存储器控制器。所述方法包括:在存储器装置中,将存储在页缓冲器电路中的K个逻辑页编程到存储器单元阵列中;在经过第一延迟时间之后,从存储器装置将编程到存储器单元阵列中的K个逻辑页读取到页缓冲器电路中;在存储器控制器中,将N-K个逻辑页发送到存储器装置;以及在存储器装置中,基于读取的K个逻辑页和N-K个逻辑页,将N个逻辑页编程到存储器单元阵列中,其中,K是正整数,并且N是大于K的正整数。
根据发明构思的实施例,提供一种包括存储器装置和存储器控制器的存储器系统,存储器装置包括:存储器单元阵列、页缓冲器电路和错误检测器,存储器控制器被配置为将指示对N位数据、K位数据和N-K位数据执行编程操作的命令提供给存储器装置,其中,K是正整数,并且N是大于K的正整数。存储器装置被配置为:响应于所述命令而对K位数据执行第一编程操作,在经过第一延迟时间之后将K位数据从存储器单元阵列读取到页缓冲器电路中,基于读取的K位数据中的错误而将读取的K位数据提供给存储器控制器,从存储器控制器接收纠正后的K位数据且将纠正后的K位数据存储在页缓冲器电路中,并且基于存储在页缓冲器电路中的K位数据和N-K位数据而对N位数据执行第二编程操作,其中,K是正整数,并且N是大于K的正整数。
根据发明构思的实施例,提供一种存储器装置,所述存储器装置包括:存储器单元阵列,包括连接到多条位线及多条字线的多个存储器单元;页缓冲器电路,被配置为暂时存储待存储在存储器单元阵列中的数据或从存储器单元阵列读取的数据;错误检测器,被配置为检测存储在页缓冲器电路中的数据中的错误;以及控制逻辑电路,被配置为响应于针对N个逻辑页的编程命令,基于从存储器控制器接收的K个逻辑页对存储器单元阵列执行第一编程操作,并且基于在经过延迟时间之后从存储器单元阵列读取且被错误检测器纠错后的K个逻辑页和从存储器控制器接收的N-K个逻辑页,对存储器单元阵列执行第二编程操作,其中,K是正整数,并且N是大于K的正整数。
附图说明
从下面结合附图的详细描述,将更清楚地理解实施例,其中:
图1是示出根据实施例的存储器系统的示图;
图2A和图2B是示出根据实施例的两步编程操作的示图;
图3是根据实施例的存储器装置的框图;
图4是示出根据实施例的纠错方法的示图;
图5是示出根据实施例的三维(3D)垂直NAND结构的示图;
图6是示出根据编程方法的存储器单元的阈值电压的分布的示图;
图7是示出根据实施例的与编程状态对应的逻辑页的示图;
图8是示出通过地址加扰的多步编程操作的示图;
图9是示出根据实施例的操作存储器系统的方法的图;
图10是根据实施例的主机-存储器系统的框图;
图11是示出根据实施例的用于对N个逻辑页进行编程的多步编程操作方法的流程图;
图12是示出根据实施例的存储器装置的第一编程操作方法的流程图;
图13是示出根据实施例的存储器装置的第二编程操作方法的流程图;
图14是示出根据实施例的存储器装置的第一编程操作方法的流程图;以及
图15是示出根据实施例的存储器装置的第二编程操作方法的流程图。
具体实施方式
在下文中,将参照附图描述各种实施例。
图1是示出根据实施例的存储器系统10的示图。
参照图1,存储器系统10可包括存储器装置100和存储器控制器200。
存储器装置100可包括存储器单元阵列110、控制逻辑电路120、页缓冲器电路130和错误检测器140(例如,逻辑电路)。
存储器单元阵列110包括字线、位线和各自连接到每条字线和每条位线的存储器单元。存储器单元可存储至少一位的数据。存储1位的存储器单元可被称为单层单元(SLC),存储2位的存储器单元可被称为多层单元(MLC),存储3位的存储器单元可被称为三层单元(TLC),并且存储4位的存储器单元可被称为四层单元(QLC)。存储器单元可被实现为不管是否向其供电都存储数据的非易失性存储器,或者在向其供电时存储数据的易失性存储器。使用激光的物理熔断的方法或电编程的方法可被用于存储数据。例如,由存储器单元实现的存储器可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性RAM(MRAM)、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)或电阻式RAM(RRAM或ReRAM)。在这种情况下,存储器单元阵列110可以以二维或三维实现。连接到一条字线的存储器单元可被称为物理页,并且存储在物理页中的数据可被称为逻辑页。因为每个存储器单元可存储多个位,所以多个逻辑页可被存储在一个物理页中。例如,当仅一个逻辑页被编程到物理页中时,包括在物理页中的存储器单元可以是SLC,并且当仅两个逻辑页被编程到物理页中时,包括在物理页中的存储器单元可以是MLC。
页缓冲器电路130可存储待编程到存储器单元阵列110中的数据或从存储器单元阵列110读取的数据。页缓冲器电路130可包括分别连接到多条位线的多个页缓冲器。多个页缓冲器中的每个可包括多个锁存器,并且多个锁存器可存储待编程到存储器单元阵列110中的数据。
控制逻辑电路120可控制存储器装置100的所有操作。根据一个实施例,控制逻辑电路120执行多步编程操作。在下文中,主要描述两步编程操作,但是三步或更多步编程操作可类似地被执行。此外,在下文中,描述通过两步编程操作将四个逻辑页编程到存储器单元阵列110中的QLC编程(或QLC编程操作),但是发明构思的实施例不限于此,并且可包括将两个、三个或五个或更多个逻辑页编程到存储器单元阵列110中的操作。
控制逻辑电路120可执行两步编程操作以将四个逻辑页存储在存储器单元阵列110中。例如,在第一编程操作期间,控制逻辑电路120可对三个逻辑页执行TLC编程操作。第一编程操作可以是精细编程操作。在第二编程操作期间,控制逻辑电路120可对四个逻辑页执行QLC编程操作。第二编程操作可以是精细编程操作。此外,在第二编程操作期间,控制逻辑电路120可从存储器单元阵列110读取通过第一编程操作编程的三个逻辑页。此外,控制逻辑电路120可基于读取到页缓冲器电路130中的三个逻辑页和从存储器控制器200接收的一个逻辑页而将四个逻辑页编程到存储器单元阵列110中。
根据一个实施例,因为在第二编程操作期间从存储器单元阵列110获得三个逻辑页,所以用于存储三个逻辑页的单独的缓冲存储器可不被需要。因此,存储器控制器200或存储器装置100中的写入缓冲器的大小可被减小。
此外,因为在第一编程操作期间仅三个逻辑页被编程,所以与在第一编程操作和第二编程操作中的每个中四个逻辑页被编程的粗略-精细编程方法相比,更快的编程速度可被提供。
此外,在第一编程操作中,因为针对三个逻辑页的精细编程操作被执行,所以即使当仅第一编程操作已经完成时,针对三个逻辑页的读取请求也可被处理。当第一编程操作是粗略编程操作时,阈值电压分布的分布宽度可以是宽的,并且在读取数据中的错误的数量可由于分布之间的重叠而增加。因此,读取请求可不被处理。根据一个实施例,不需要等到第二编程操作已经完成才处理读取请求,并且因此读取性能可被提高。
错误检测器140可检测存储在页缓冲器电路130中的数据中的错误。例如,错误检测器140可包括纠错码(ECC)电路、循环冗余校验(CRC)电路或校验和电路。
在一个实施例中,从存储器单元阵列110读取三个逻辑页以执行第二编程操作。然而,在三个读取的逻辑页中可存在错误。因此,错误检测器140可检测三个逻辑页中的一个或多个中的错误,并且可对错误进行纠正,从而增加两步编程操作的可靠性。当检测的错误的数量大于参考数量时,读取的三个逻辑页可被传送到存储器控制器200。
存储器控制器200可通过将命令、数据或地址提供给存储器装置100来控制存储器装置100的操作。根据实施例的存储器控制器200控制存储器装置100对四个逻辑页执行两步编程操作。具体地,存储器控制器200可将三个逻辑页提供给存储器装置100,并且可在经过延迟时间之后将剩余的一个逻辑页提供给存储器装置100。
当从存储器装置100接收到三个逻辑页时,存储器控制器200可对三个逻辑页执行纠错以生成三个纠错后的逻辑页,并且将三个纠错后的逻辑页发送到存储器装置100。
根据一个实施例,因为存储器装置100包括错误检测器140,所以当从存储器单元阵列110读取的三个逻辑页中的错误的数量小于或等于参考数量时,错误检测器140可对错误进行纠正。因此,在存储器控制器200与存储器装置100之间发送的用于纠错的数据的量可被减少。
图2A和图2B是示出根据实施例的两步编程操作的示图。具体地,图2A示出错误检测器140对从存储器单元阵列110读取的三个逻辑页中的错误位(或位错误)进行纠正的实施例,并且图2B示出错误检测器140不对从存储器单元阵列110读取的三个逻辑页中的错误位进行纠正的实施例。
参照图2A,存储器控制器200将三个逻辑页发送到存储器装置300以用于第一编程操作,并且三个逻辑页可被存储在页缓冲器电路130中(操作①)。例如,即使存储器控制器200最初仅将三个逻辑页发送到存储器装置300,存储器控制器200的意图也可以是对四个或更多个逻辑页进行编程。
在控制逻辑电路(即,图1中的控制逻辑电路120)的控制下,存储在页缓冲器电路130中的三个逻辑页可通过第一编程操作被编程到存储器单元阵列110中(操作②)。第一编程操作可以是精细编程操作。在一个实施例中,第一编程操作是包括粗略编程操作和精细编程操作的多步编程操作。作为第一编程操作的结果,通过三个逻辑页被编程到其中的存储器单元的阈值电压形成的阈值电压分布可具有比仅对三个逻辑页执行粗略编程而导致的阈值电压分布窄的分布宽度。
存储在存储器单元阵列110中的三个逻辑页被读取到页缓冲器电路130中(操作③)。在一个实施例中,在三个逻辑页被编程到存储器单元阵列110中之后经过第一延迟时间时,三个逻辑页从存储器单元阵列110被读取到页缓冲器电路130。例如,在操作②与操作③之间可存在延迟。
错误检测器140可检测三个读取的逻辑页中的错误的数量(操作④)。例如,错误检测器140可执行操作以确定在读取的逻辑页中是否存在错误以及这些错误的计数。当检测的错误的数量小于或等于参考数量时,错误检测器140可对错误进行纠正以生成三个纠正后的逻辑页。在一个实施例中,存储在页缓冲器电路130中的三个读取的逻辑页被三个纠正后的逻辑页覆盖。
存储器控制器200将剩余的一个逻辑页发送到存储器装置300以用于第二编程操作,并且该一个逻辑页可被存储在页缓冲器电路130中(操作⑤)。即,从存储器单元阵列110读取的三个逻辑页和从存储器控制器200接收的一个逻辑页可被存储在页缓冲器电路130中。在一个实施例中,在三个逻辑页被传送到存储器装置300之后经过第二延迟时间时,剩余的一个逻辑页被传送到存储器装置300。例如,三个逻辑页可一起被传送到存储器装置300,经过第二延迟时间,然后剩余的逻辑页被传送到存储器装置300。在一个实施例中,在操作①、②和③完成之后或在操作①、②、③和④完成之后,操作⑤发生。例如,当存储器控制器200的原始意图是对四个逻辑页进行编程时,仅存在剩余的逻辑页进行传送。然而,如果存储器控制器200意图对五个逻辑页进行编程,则操作⑤将使存储器控制器200将剩余的两个逻辑页传送到存储器装置。
在控制逻辑电路120的控制下,存储在页缓冲器电路130中的四个逻辑页通过第二编程操作被编程到存储器单元阵列110中(操作⑥)。第二编程操作可以是精细编程操作。在一个实施例中,第二编程操作是包括粗略编程操作和精细编程操作的多步编程操作。作为第二编程操作的结果,通过四个逻辑页被编程到其中的存储器单元的阈值电压形成的阈值电压分布可具有比仅对四个逻辑页执行粗略编程而导致的阈值电压分布窄的分布宽度。
根据一个实施例,因为存储器控制器200在第一编程操作之后不需要存储三个逻辑页,所以即使当存储器控制器200中的写入缓冲器的容量小时,QLC编程操作也是可行的。
参照图2B,因为已经参照图2A描述了操作①、②和③,所以其描述可被省略。
在图2B中,错误检测器140检测三个读取的逻辑页中的错误的数量(操作④)。在图2B中,当检测的错误的数量超过参考数量时,存储在页缓冲器电路130中的三个逻辑页被传送到存储器控制器200(操作⑤)。
在图2B中,包括在存储器控制器200中的ECC电路210对三个逻辑页执行纠错以生成三个纠错后的页,并且将三个纠错后的逻辑页发送到存储器装置300(操作⑥)。
在图2B中,存储器控制器200将剩余的一个逻辑页发送到存储器装置300以用于第二编程操作,并且该一个逻辑页可被存储在页缓冲器电路130中(操作⑦)。即,被ECC电路210纠错的三个逻辑页和从存储器控制器200接收的一个逻辑页可被存储在页缓冲器电路130中。在一个实施例中,在三个逻辑页被传送到存储器装置300之后经过第二延迟时间时,剩余的一个逻辑页被传送到存储器装置300。例如,存储器控制器200可将三个纠错后的逻辑页发送到存储器装置300,延迟延迟时间,然后在延迟时间之后将单个逻辑页发送到存储器装置300。存储器装置300可将接收的逻辑页存储在页缓冲器电路130中。
在控制逻辑电路120的控制下,存储在页缓冲器电路130中的四个逻辑页可通过第二编程操作被编程到存储器单元阵列110中(操作⑧)。
图3是根据实施例的存储器装置100的框图。
参照图3,存储器装置100可包括存储器单元阵列110、控制逻辑电路120、页缓冲器电路130、错误检测器140(例如,逻辑电路)、电压生成器150和行解码器160(例如,逻辑电路)。尽管在图3中未示出,但是存储器装置100还可包括预解码器、温度传感器、命令解码器、列解码器、地址解码器等。
存储器单元阵列110可包括多个存储器块,并且多个存储器块中的每个可包括多个存储器单元。存储器单元阵列110可通过位线BL连接到页缓冲器电路130,并且可通过字线WL、串选择线SSL和地选择线GSL连接到行解码器160。连接到一条字线WL的存储器单元可被称为物理页。被编程到一个物理页中的数据可被称为逻辑页。多个逻辑页可被编程到一个物理页中。
在一个实施例中,存储器单元阵列110可包括三维(3D)存储器单元阵列,并且3D存储器单元阵列可包括多个NAND串。NAND串中的每个可包括分别连接到字线的垂直堆叠在基底上的存储器单元。第7,679,133号美国专利公开、第8,553,466号美国专利公开、第8,654,587号美国专利公开、第8,559,235号美国专利公开和第2011/0233648号美国专利申请公开通过引用全部包含于此。在一个实施例中,存储器单元阵列110可包括二维(2D)存储器单元阵列,并且2D存储器单元阵列可包括在行和列方向上布置的多个NAND串。
控制逻辑电路120通常可控制存储器装置100中的各种操作。控制逻辑电路120可响应于控制信号CTRL、命令CMD和/或地址ADDR而输出各种控制信号。例如,控制逻辑电路120可输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
页缓冲器电路130可包括多个页缓冲器,并且多个页缓冲器可通过多条位线BL分别连接到存储器单元。页缓冲器电路130可响应于控制逻辑电路120的控制而选择位线BL之中的至少一条位线。页缓冲器电路130可根据操作模式作为写入驱动器或感测放大器进行操作。例如,在编程操作期间,页缓冲器电路130可将与待编程的数据(DATA)对应的位线电压施加到选择的位线。在读取操作期间,页缓冲器电路130可通过感测选择的位线的电流或电压来感测存储在存储器单元中的数据。
根据一个实施例,页缓冲器电路130可在第一编程操作期间施加分别与三个逻辑页对应的位线电压。在第一编程操作已经完成之后经过第二延迟时间时,页缓冲器电路130可检测来自存储器单元阵列110的三个逻辑页。例如,编程的三个逻辑页可从存储器单元阵列110被读取到页缓冲器电路130中。错误检测器140可检测在三个检测到的或读取的逻辑页中的错误。错误检测器140可将错误的数量与参考数量进行比较,并且当错误的数量小于或等于参考数量时对错误进行纠正。当错误的数量大于参考数量时,三个逻辑页可被传送到存储器控制器200。页缓冲器电路130可在第二编程操作期间施加分别与四个逻辑页对应的位线电压。例如,四个逻辑页可包括被存储器控制器200或错误检测器140纠正的三个逻辑页和由存储器控制器200发送的附加逻辑页。
电压生成器150可基于电压控制信号CTRL_vol生成用于执行编程、读取和擦除操作的各种类型的电压。例如,电压生成器150可生成编程电压、读取电压、编程验证电压、擦除电压等作为字线电压VWL。
行解码器160可响应于行地址X-ADDR而选择多条字线WL中的一条,并且可选择多条串选择线SSL中的一条。例如,在编程操作期间,行解码器160可将编程电压和编程验证电压施加到选择的字线,并且在读取操作期间,行解码器160可将读取电压施加到选择的字线。
错误检测器140可检测存储在页缓冲器电路130中的数据中的错误。例如,错误检测器140可通过将包括在存储在页缓冲器电路130中的三个逻辑页中的错误位的数量与参考数量进行比较来检测错误。当错误位的数量小于或等于参考数量时,错误检测器140可对错误进行纠正。当错误位的数量大于参考数量时,存储在页缓冲器电路130中的三个逻辑页可被传送到存储器控制器200。页缓冲器电路130可接收被存储器控制器200纠正后的三个逻辑页。
图4是示出根据实施例的纠错方法的示图。
参照图4,页可被分类为第一部分页至第三部分页,并且第一部分页至第三部分页可分别与第一奇偶校验位至第三奇偶校验位对应。第一奇偶校验位至第三奇偶校验位可分别被用于检测第一部分页至第三部分页是否具有错误。例如,当构成第一部分页的位之中的1的数量是偶数时,第一奇偶校验位可表示1,并且当构成第一部分页的位之中的1的数量是奇数时,第一奇偶校验位可表示0。因此,当第一部分页中存在一个错误时,构成第一部分页的位中的1的数量改变,并且因此,可通过第一奇偶校验位来检测第一部分页是否具有错误。
然而,因为难以通过使用一个奇偶校验位来检测多个错误,所以可通过多个部分页的奇偶校验位来检测页中的多个错误。例如,页的长度可以是pL,并且第一部分页至第三部分页中的每个的长度可以是ppL。因为包括在第一部分页至第三部分页中的错误可通过第一奇偶校验位至第三奇偶校验位来检测,所以页中的多个错误可被检测到。部分页的数量和每个部分页的长度ppL可被调整以提高错误检测的准确性。在一个实施例中,部分页中的每个与其他部分页中的至少一个重叠。例如,第一部分页可包括页的第一部分,并且第二部分页可包括相同的第一部分。例如,第二部分页可包括页的第一部分和第二部分,并且第三部分页可包括相同的第二部分。
图5是示出根据实施例的3D垂直NAND结构的示图。图3的多个存储器块中的每个可由如图5中所示的等效电路表示。图5中示出的存储器块BLKi表示以3D结构形成在基底上的3D存储器块。例如,包括在存储器块BLKi中的多个存储器NAND串可形成在垂直于基底的方向上(例如,垂直于XY平面的Z方向上)。
参照图5,存储器块BLKi可包括连接在位线BL1、BL2和BL3与共源极线CSL之间的多个存储器NAND串NS11至NS33。多个存储器NAND串NS11至NS33中的每个可包括串选择晶体管SST、多个存储器单元MC1、MC2、……、和MC8以及地选择晶体管GST。在图5中,多个存储器NAND串NS11至NS33中的每个被示出为包括八个存储器单元MC1、MC2、……、和MC8,但不限于此。
串选择晶体管SST可连接到与其对应的串选择线SSL1、SSL2或SSL3。多个存储器单元MC1、MC2、……、和MC8可分别连接到与其对应的栅极线GTL1、GTL2、……、和GTL8。栅极线GTL1、GTL2、……、和GTL8可与字线对应,并且栅极线GTL1、GTL2、……、和GTL8中的一些可与虚设(dummy)字线对应。地选择晶体管GST可连接到与其对应的地选择线GSL1、GSL2或GSL3。串选择晶体管SST可连接到与其对应的位线BL1、BL2或BL3,并且地选择晶体管GST可连接到共源极线CSL。
相同高度的栅极线(例如,GTL1)可共同连接,并且地选择线GSL1、GSL2和GSL3以及串选择线SSL1、SSL2和SSL3可彼此分离。在图5中,存储器块BLKi被示出为连接到八条栅极线GTL1、GTL2、……、和GTL8以及三条位线BL1、BL2、BL3。然而,发明构思不必限于此。
3D非易失性存储器装置可被实现为电荷捕获闪存(CTF)。在这种情况下,在编程后的CTF中捕获的电荷随时间重新分布并丢失的初始验证移位(IVS)可发生。多步编程操作可被执行以克服这种分布劣化现象。根据一个实施例,针对4位编程,3位精细编程操作在第一编程操作期间被执行,并且4位精细编程操作在第二编程操作期间被执行。
图6是示出根据编程方法的存储器单元的阈值电压的分布的示图。在图6中,为了方便描述,假设对存储器单元执行4位编程操作。因此,用16个阈值电压分布中的至少一个对存储器单元进行编程。
参照图6,存储器单元的阈值电压分布可在一步编程操作期间被编程在擦除状态E2、编程状态P1至P15中的至少一个中(例如,从擦除状态E,但不限于此)。编程状态P1至P15是用于存储4位数据的最终状态。在图6中,横轴标示阈值电压Vth。
返回参照图6,在多步编程操作中,第一编程操作(第一PGM)被执行,然后第二编程操作(第二PGM)被执行。这里,第一编程操作可以是3位编程操作,并且第二编程操作可以是4位编程操作。此外,第一编程操作和第二编程操作二者可以是精细编程操作。
在第一编程操作期间,存储器单元的阈值电压分布可被编程在擦除状态E1、编程状态P21至P27中的至少一个中。在第二编程操作期间,存储器单元的阈值电压分布可被编程在擦除状态E2和编程状态P1至P15中的至少一个中。在第二编程操作期间,擦除状态E2和编程状态P1可基于第一编程操作的擦除状态E1形成。编程状态P2和P3可基于编程状态P21形成。编程状态P4和P5可基于编程状态P22形成。编程状态P6和P7可基于编程状态P23形成。编程状态P8和P9可基于编程状态P24形成。编程状态P10和P11可基于编程状态P25形成。编程状态P12和P13可基于编程状态P26形成。编程状态P14和P15可基于编程状态P27形成。在一个实施例中,作为第一编程操作的结果的阈值电压分布具有比作为第二编程操作的结果的阈值电压分布更少的状态。
图7是示出根据实施例的与编程状态对应的逻辑页的示图。
参照图7,存储器单元可被编程在擦除状态E2或编程状态P1至P15中的一个中。存储器单元可以是存储四个位的QLC,并且擦除状态E2和编程状态P1至P15可与四个逻辑页(第一逻辑页PAGE 1至第四逻辑页PAGE 4)对应。
参照图7,擦除状态E2和编程状态P1可通过第四逻辑页来彼此区分。即,在擦除状态E2和编程状态P1中,第一逻辑页值至第三逻辑页值可分别等于1、1和1,但是第四逻辑页值可彼此不同。换言之,参照图6和图7二者,擦除状态E2和编程状态P1可基于与三个位1、1和1对应的擦除状态E1形成。类似地,编程状态P2至P15可通过相邻的编程状态和第四逻辑页来彼此区分。
图8是示出使用地址加扰(address scrambling)执行的多步编程操作的示图。这里,第一编程操作(第一PGM)与第二编程操作(第二PGM)之间的延迟时间可通过地址加扰来确定。根据地址加扰,多条字线中的每条的第一编程操作和第二编程操作可不连续地被执行。
参照图8,标示地址加扰的表的横轴标示第一串选择线SSL1至第四串选择线SSL4,并且表的纵轴标示第一字线WL1至第四字线WL4。一条串选择线与一条字线相关的点标示存储器单元的地址。例如,位置A表示在第一串选择线SSL1与第一字线WL1相关的点的存储器单元的位置,并且位置B表示在第四串选择线SSL4与第三字线WL3相关的点的存储器单元的位置。可对位于各自的地址的存储器单元顺序地执行粗略编程操作和精细编程操作。
在图8中,为了方便描述,假设对第一字线WL1至第四字线WL4顺序地执行第一操作至第八操作(①、②、③、④、⑤、⑥、⑦和⑧)。即,在第一操作①中对第一字线WL1的第一编程操作完成之后,在第二操作②中对第二字线WL2的第一编程操作完成。此后,在第三操作③中,执行对第一字线WL1的第二编程操作,并且在第四操作④中,执行对第三字线WL3的第一编程操作。此外,在第五操作⑤中,执行对第二字线WL2的第二编程操作。
在位置A的第一编程操作与第二编程操作之间的延迟时间可以是七个第一编程操作(1至7)被执行的时间。在位置B的第一编程操作与第二编程操作之间的延迟时间可以是七个第二编程操作(16至19和24至26)和四个第一编程操作(20至23)被执行的时间。即,延迟时间可针对存储器单元的每个位置而变化。
图9是示出根据实施例的操作存储器系统10的方法的图。参照图9,操作存储器系统10的方法可包括多个操作(操作S910至S990)。在一个实施例中,当以位为单位描述执行的操作时,N个逻辑页、K个逻辑页和N-K个逻辑页可分别与N位数据、K位数据和N-K位数据对应。
在操作S910中,存储器控制器200将K(K是正整数)个逻辑页发送到存储器装置100。K个逻辑页可被存储在页缓冲器电路130中。存储器控制器200还可将指示对N(N是大于K的正整数)个逻辑页进行编程的命令发送到存储器装置100。例如,即使命令指示对N个逻辑页进行编程,存储器控制器200最初也可仅将K个逻辑页发送到存储器装置100。
在操作S920中,存储器装置100将存储在页缓冲器电路130中的K个逻辑页编程到存储器单元阵列110中。针对K个逻辑页的编程操作可被称为第一编程操作。第一编程操作可作为精细编程操作来执行。
在操作S930中,在第一编程操作已经完成之后经过第一延迟时间td1时,存储器装置100读取编程到存储器单元阵列110中的K个逻辑页。
在操作S940中,存储器装置100检测K个读取的逻辑页中的错误位,并且将错误位的数量与参考数量进行比较。例如,存储器装置100可基于与包括在K个读取的逻辑页中的每个中的部分页对应的奇偶校验位,检测K个读取的逻辑页中的错误位的数量。当错误位的数量大于参考数量时,操作S950被执行,并且当错误位的数量小于或等于参考数量时,操作S980被执行。
在操作S950中,存储器装置100将K个读取的逻辑页发送到存储器控制器200。
在操作S960中,存储器控制器200对K个逻辑页执行纠错以生成K个纠正后的逻辑页。例如,ECC电路210可通过ECC操作对K个逻辑页执行纠错。
在操作S970中,存储器控制器200将K个纠正后的逻辑页发送到存储器装置100。
在操作S980中,存储器控制器200将N-K个逻辑页发送到存储器装置100。在一个实施例中,在操作S910被执行之后经过第二延迟时间td2时,操作S980被执行。
在操作S990中,存储器装置100基于K个逻辑页和N-K个逻辑页对N个逻辑页执行第二编程操作。第二编程操作可以是精细编程操作。在一个实施例中,在操作S920被执行之后经过第三延迟时间td3时,操作S990被执行。
图10是根据实施例的主机-存储器系统1000的框图。
主机-存储器系统1000可包括主机20和存储器系统10。此外,存储器系统10可包括存储器控制器200和存储器装置100。此外,根据一个实施例,主机20可包括主机控制器21和主机存储器22。主机存储器22可用作用于临时存储待发送到存储器系统10的数据或从存储器系统10发送的数据的缓冲存储器。
存储器系统10可包括用于根据来自主机20的请求而存储数据的存储介质。作为一个示例,存储器系统10可包括固态驱动器(SSD)、嵌入式存储器和可拆卸外部存储器中的至少一个。当存储器系统10是SSD时,存储器系统10可以是符合非易失性存储器快速(NVMe)标准的装置。当存储器系统10是嵌入式存储器或外部存储器时,存储器系统10可以是符合通用闪存(UFS)或嵌入式多媒体卡(eMMC)标准的装置。主机20和存储器系统10可各自根据所采用的标准协议生成和发送包(packet)。
当存储器系统10的存储器装置100包括闪存时,闪存可包括2D NAND(与非)存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。作为另一示例,存储器系统10可包括各种其他类型的非易失性存储器。例如,存储器系统10可包括MRAM、自旋转移力矩MRAM、CBRAM、FeRAM、PRAM、RRAM和/或其他类型的存储器。
根据一个实施例,主机控制器21和主机存储器22可被实现为单独的半导体芯片。可选地,在一些实施例中,主机控制器21和主机存储器22可集成在同一半导体芯片上。作为一个示例,主机控制器21可以是包括在应用处理器中的多个模块或装置中的任何一个,并且应用处理器可被实现为片上系统(SoC)。此外,主机存储器22可以是设置在应用处理器中的嵌入式存储器或设置在应用处理器的外部的非易失性存储器或存储器模块。
主机控制器21可管理将主机存储器22的缓冲区的数据(例如,写入数据)存储在存储器装置100中或将存储器装置100的数据(例如,读取数据)存储在缓冲区中的操作。
存储器控制器200可包括主机接口(I/F)220、存储器接口230和中央处理器(CPU)240。此外,存储器控制器200还可包括闪存转换层(FTL)250、包管理器260、缓冲存储器270、ECC电路210和高级加密标准(AES)电路280。存储器控制器200还可包括加载有FTL 250的工作存储器(未示出),并且CPU 240可执行FTL 250以控制对存储器装置100的数据写入和读取操作。
主机接口220可将包发送到主机20和从主机20接收包。从主机20发送到主机接口220的包可包括命令或待写入存储器装置100的数据,并且从主机接口220发送到主机20的包可包括对命令的响应或从存储器装置100读取的数据。存储器接口230可将待写入存储器装置100的数据发送到存储器装置100或接收从存储器装置100读取的数据。存储器接口230可被实现为符合标准协议(诸如,切换(Toggle)或开放NAND闪存接口(ONFI))。
FTL 250可执行各种功能(诸如,地址映射、损耗均衡和垃圾收集)。地址映射操作可以是将从主机20接收的逻辑地址转换为用于将数据实际存储在存储器装置100中的物理地址的操作。损耗均衡可以是用于通过允许存储器装置100中的块被均匀地使用来防止特定块的过度劣化的技术。例如,损耗均衡可使用用于平衡物理块的擦除计数的固件技术来实现。垃圾收集可以是用于通过将现有块的有效数据复制到新块然后擦除现有块来确保存储器装置100中的可用容量的技术。
包管理器260可根据与主机20的接口的协议生成包,或者从自主机20接收的包解析各种类型的信息。
缓冲存储器270可临时存储待写入存储器装置100或从存储器装置100读取的数据。缓冲存储器270可以是设置在存储器控制器200中的组件,但是可以在存储器控制器200的外部。根据一个实施例,在第一编程操作期间,三个逻辑页被临时存储在缓冲存储器270中,并且在第二编程操作期间,一个逻辑页被临时存储在缓冲存储器270中。即,在第二编程操作的四个逻辑页之中,从存储器装置100中的存储器单元阵列110读取三个逻辑页,并且因此仅一个逻辑页需要被存储在缓冲存储器270中。因此,可使用具有小的容量的缓冲存储器270执行QLC编程操作。在一些实施例中,当从存储器单元阵列110读取的三个逻辑页包括比参考数量更大的数量的错误位时,三个读取的逻辑页可被传送到缓冲存储器270。ECC电路210可对存储在缓冲存储器270中的三个逻辑页执行纠错。
ECC电路210可对从存储器装置100读取的读取数据执行错误检测和纠错功能。更具体地,ECC电路210可针对待写入存储器装置100中的写入数据生成奇偶校验位,并且生成的奇偶校验位可与写入数据一起被存储在存储器装置100中。当从存储器装置100读取数据时,ECC电路210可通过使用与读取数据一起从存储器装置100读取的奇偶校验位对读取数据中的错误进行纠正,以生成纠错后的读取数据并输出纠错后的读取数据。
AES电路280可使用对称密钥算法对输入到存储器控制器200的数据执行加密操作和解密操作中的至少一个。
图11是示出根据实施例的用于对N个逻辑页进行编程的多步编程操作方法的流程图。多步编程操作方法可包括多个操作S1110至S1140。
在操作S1110中,存储器装置100对K个逻辑页执行第一编程操作。例如,K可以是1或更大的正整数。第一编程操作可以是精细编程操作。
在操作S1120中,存储器装置100响应于读取命令而从存储器单元阵列110读取K个编程的逻辑页。根据一个实施例,存储器装置100可在经过第一延迟时间td1之前接收来自存储器控制器200的读取命令。因为第一编程操作是精细编程操作,所以K个读取的逻辑页的可靠性可以相对高。
在操作S1130中,存储器装置100对K个读取的逻辑页执行纠错以生成K个纠正后的逻辑页,然后将K个纠正后的逻辑页输出到存储器控制器200。
在操作S1140中,存储器装置100从存储器控制器200接收N-K个逻辑页,并且从存储器单元阵列110读取K个逻辑页,从而对N个逻辑页执行第二编程操作,其中,N大于K。例如,如果N是5且K是3,则存储器装置100从存储器控制器200接收两个逻辑页。第二编程操作可以是精细编程操作。根据一个实施例,在执行第一编程操作之后经过第三延迟时间td3时,执行第二编程操作。
根据一个实施例,因为针对K个逻辑页的精细编程在第一编程操作期间被执行,所以存储器装置100可在完成第二编程操作之前处理针对K个逻辑页的读取请求。
图12是示出根据实施例的存储器装置的第一编程操作方法的流程图。参照图12,第一编程操作方法可包括多个操作S1210至S1240。
在操作S1210中,存储器装置100对K个逻辑页执行编程操作。在一个实施例中,使用精细编程方法将K个逻辑页编程在存储器单元阵列110中。可从存储器控制器200接收K个逻辑页。K个逻辑页可被存储在包括在存储器装置100中的页缓冲器电路130中。即,存储在页缓冲器电路130中的K个逻辑页可具有比从存储器单元阵列110读取的数据更高的可靠性。
在操作S1220中,存储器装置100读取K个逻辑页之中的第一逻辑页。在一个实施例中,存储器装置100可在经过第一延迟时间td1之前从存储器单元阵列110读取K个逻辑页之中的第一逻辑页。第一逻辑页可以是K个逻辑页之中很可能发生错误的逻辑页。例如,第一逻辑页可以是用于从K个逻辑页之中区分最高编程状态的逻辑页。参照图6,当K是3时,最高编程状态可以是编程状态P27。参照图7,编程状态P27基于三个逻辑页位1、0和1形成,并且通过第三逻辑页(PAGE 3)与编程状态P26区分开,并且因此,第一逻辑页可以是第三逻辑页(PAGE 3)。读取的第一逻辑页可被存储在包括在页缓冲器电路中的锁存器之中的不存储K个逻辑页的锁存器中。实施例不限于此,并且存储器装置100可读取K个逻辑页中的一些或全部。
在操作S1230中,存储器装置100可通过将读取的第一逻辑页与存储在页缓冲器电路130中的第一逻辑页进行比较来检测读取的第一逻辑页的错误位。然而,发明构思的实施例不限于此,并且存储器装置100可通过将读取的K个逻辑页中的一些或全部与存储在页缓冲器电路130中的K个逻辑页中的一些或全部进行比较来检测K个逻辑页的错误位。
在操作S1240中,存储器装置100可基于错误位的数量与参考数量之间的比较结果而将标示对K个逻辑页的纠错是否可行的信息存储在缓冲存储器中。例如,当错误位的数量大于参考数量时,标示对K个逻辑页的纠错不可行的信息被存储在缓冲存储器中;当错误位的数量小于或等于参考数量时,标示对K个逻辑页的纠错可行的信息被存储在缓冲存储器中。缓冲存储器可被包括在存储器装置100中。缓冲存储器可被实现为非易失性存储器、易失性存储器或寄存器。
图13是示出根据实施例的存储器装置的第二编程操作方法的流程图。参照图13,第二编程操作方法可包括多个操作S1310至S1360。
在操作S1310中,存储器装置100从存储器单元阵列110读取K个逻辑页。读取的K个逻辑页可被存储在页缓冲器电路130中。在一个实施例中,在第一编程操作完成之后经过第一延迟时间时,操作S1310被执行。
在操作S1320中,存储器装置100基于存储在缓冲存储器中的信息来确定读取的K个逻辑页是否是可纠正页。当K个逻辑页是可纠正页时,操作S1350被执行,并且当K个逻辑页是不可纠正页时,操作S1330被执行。
在操作S1330中,存储器装置100将从存储器单元阵列110读取的K个逻辑页发送到存储器控制器200。
在操作S1340中,存储器装置100从存储器控制器200接收纠正后的K个逻辑页。纠正后的K个逻辑页可被存储在页缓冲器电路130中。
在操作S1350中,存储器装置100从存储器控制器200接收N-K个逻辑页。在一个实施例中,在图12的操作S1210中存储器装置100从存储器控制器200接收K个逻辑页之后经过第二延迟时间时,操作S1350被执行。
在操作S1360中,存储器装置100基于N-K个逻辑页和K个逻辑页对N个逻辑页执行编程操作。对N个逻辑页的编程操作可以是精细编程操作。在一个实施例中,在图12的操作S1210中存储器装置100对K个逻辑页执行编程操作之后经过第三延迟时间时,操作S1360被执行。
图14是示出根据实施例的存储器装置的第一编程操作方法的流程图。参照图14,第一编程操作方法可包括多个操作S1410至S1440。操作S1410至S1430可分别与图12的操作S1210至S1230对应。
在操作S1440中,当错误位的数量大于参考数量时,存储器装置100将存储在页缓冲器电路130中的K个逻辑页存储在缓冲存储器中。例如,当操作S1430确定错误位的数量大于参考数量时,操作S1440可被执行。存储器装置100可将K个逻辑页被编程到其中的存储器单元的地址存储在缓冲存储器中。缓冲存储器可被包括在存储器装置100中。缓冲存储器可被实现为非易失性存储器、易失性存储器或寄存器。
图15是示出根据实施例的存储器装置的第二编程操作方法的流程图。参照图15,第二编程操作方法可包括多个操作S1510至S1560。
在操作S1510中,存储器装置100基于待编程的存储器单元的地址确定K个逻辑页是否存储在缓冲存储器中。当K个逻辑页被存储在缓冲存储器中时,操作S1520被执行,并且当K个逻辑页未被存储在缓冲存储器中时,操作S1530被执行。
在操作S1520中,存储器装置100从缓冲存储器读取K个逻辑页。读取的K个逻辑页可不包括错误或可包括可在存储器装置100中被纠正的数量的错误位。
在操作S1530中,存储器装置100从存储器单元阵列110读取K个逻辑页,并且将读取的K个逻辑页发送到存储器控制器200。K个逻辑页可包括不可在存储器装置100中被纠正的数量的错误位。
在操作S1540中,存储器装置100从存储器控制器200接收纠正后的K个逻辑页。
在操作S1550中,存储器装置100从存储器控制器200接收N-K个逻辑页。在一个实施例中,在图14的操作S1410中存储器装置100从存储器控制器200接收K个逻辑页之后经过第二延迟时间时,操作S1550被执行。
在操作S1560中,存储器装置100基于N-K个逻辑页和K个逻辑页对N个逻辑页执行编程操作。对N个逻辑页的编程操作可以是精细编程操作。在一个实施例中,在图14的操作S1410中存储器装置100对K个逻辑页执行编程操作之后经过第三延迟时间时,操作S1560被执行。
虽然已经参照发明构思的示例实施例具体示出和描述了发明构思,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种操作存储器系统的方法,所述存储器系统包括存储器装置和存储器控制器,所述方法包括:
由存储器装置将存储在页缓冲器电路中的K个逻辑页编程到存储器单元阵列中;
在经过第一延迟时间之后,由存储器装置将编程到存储器单元阵列中的K个逻辑页读取到页缓冲器电路中;
由存储器控制器将N-K个逻辑页发送到存储器装置;以及
由存储器装置基于读取的K个逻辑页和N-K个逻辑页,将N个逻辑页编程到存储器单元阵列中,
其中,K是正整数,并且N是大于K的正整数。
2.根据权利要求1所述的方法,还包括:
由存储器装置基于读取的K个逻辑页中的错误位的数量与参考数量之间的比较结果,将读取的K个逻辑页发送到存储器控制器;
由存储器控制器对读取的K个逻辑页中的错误进行纠正;以及
由存储器控制器将纠正后的K个逻辑页发送到存储器装置。
3.根据权利要求2所述的方法,其中,将读取的K个逻辑页发送到存储器控制器的步骤包括:基于与包括在K个逻辑页中的每个中的部分页对应的奇偶校验位,检测K个逻辑页中的错误位的数量。
4.根据权利要求1所述的方法,其中,在将K个逻辑页编程到存储器单元阵列中之后,经过第二延迟时间之后,将N个逻辑页编程到存储器单元阵列中的步骤被执行,并且将N个逻辑页编程到存储器单元阵列中的步骤包括:
由存储器装置响应于在经过第一延迟时间之前接收的读取命令,从存储器单元阵列读取K个逻辑页;
由存储器装置对读取的K个逻辑页执行纠错以生成纠错后的K个逻辑页;以及
由存储器装置将纠错后的K个逻辑页输出到存储器控制器。
5.根据权利要求1所述的方法,还包括:
在经过第一延迟时间之前,由存储器装置从存储器单元阵列读取K个逻辑页之中的第一逻辑页;
由存储器装置通过将读取的第一逻辑页与存储在页缓冲器电路中的第一逻辑页进行比较来检测读取的第一逻辑页中的错误;以及
由存储器装置将基于错误的数量标示K个逻辑页是否可纠正的信息存储在缓冲存储器中。
6.根据权利要求5所述的方法,其中,将K个逻辑页读取到页缓冲器电路中的步骤包括:
由存储器装置基于所述信息,将从存储器单元阵列读取的K个逻辑页发送到存储器控制器;
由存储器控制器对K个逻辑页执行纠错以生成纠错后的K个逻辑页;以及
由存储器装置从存储器控制器接收纠错后的K个逻辑页。
7.根据权利要求1所述的方法,还包括:
在经过第一延迟时间之前,由存储器装置从存储器单元阵列读取K个逻辑页中的第一逻辑页;
由存储器装置通过将读取的第一逻辑页与存储在页缓冲器电路中的第一逻辑页进行比较来检测读取的第一逻辑页中的错误;以及
由存储器装置基于错误的数量,将存储在页缓冲器电路中的K个逻辑页存储在缓冲存储器中。
8.根据权利要求7所述的方法,其中,读取K个逻辑页的步骤包括:
当K个逻辑页被存储在缓冲存储器中时,从缓冲存储器读取K个逻辑页;以及
当K个逻辑页未被存储在缓冲存储器中时,从存储器单元阵列读取K个逻辑页。
9.一种存储器系统,包括:
存储器装置,包括存储器单元阵列、页缓冲器电路和错误检测器,页缓冲器电路被配置为存储待存储在存储器单元阵列中的数据或从存储器单元阵列读取的数据,错误检测器被配置为针对页缓冲器电路的数据检测错误;以及
存储器控制器,被配置为将指示对N位数据、K位数据和N-K位数据执行编程操作的命令提供给存储器装置,
其中,存储器装置被配置为:响应于所述命令而对K位数据执行第一编程操作,在经过第一延迟时间之后将K位数据从存储器单元阵列读取到页缓冲器电路中,基于读取的K位数据中的错误而将读取的K位数据提供给存储器控制器,从存储器控制器接收纠正后的K位数据且将纠正后的K位数据存储在页缓冲器电路中,并且基于存储在页缓冲器电路中的K位数据和N-K位数据而对N位数据执行第二编程操作,
其中,K是正整数,并且N是大于K的正整数。
10.根据权利要求9所述的存储器系统,其中,存储器控制器被配置为:在将K位数据提供给存储器装置之后经过第二延迟时间时,将N-K位数据提供给存储器装置。
11.根据权利要求9所述的存储器系统,其中,存储器装置被配置为:在第一编程操作完成之后经过第三延迟时间时,执行第二编程操作。
12.根据权利要求9所述的存储器系统,其中,存储器装置被配置为:当读取的K位数据中的错误的数量大于参考数量时,将读取的K位数据提供给存储器控制器,并且当读取的K位数据中的错误的数量小于参考数量时,通过错误检测器对读取的K位数据中的错误进行纠正。
13.根据权利要求9所述的存储器系统,其中,存储器控制器被配置为:在经过第一延迟时间之前将读取命令提供给存储器装置,并且存储器装置被配置为:响应于读取命令,读取通过第一编程操作编程的K位数据,并且将读取的K位数据提供给存储器控制器。
14.根据权利要求9所述的存储器系统,其中,第一编程操作和第二编程操作是待对K位数据和N位数据执行的精细编程操作。
15.根据权利要求9所述的存储器系统,其中,存储器装置被配置为:读取K位数据中的第一位数据,并且在缓冲存储器中存储标示读取的第一位数据是否能够被错误检测器纠错的信息,并且基于所述信息选择性地将读取的K位数据提供给存储器控制器。
16.根据权利要求9所述的存储器系统,其中,存储器装置被配置为:在经过第一延迟时间之前,读取K位数据中的第一位数据,并且基于读取的第一位数据是否能够被错误检测器纠错而将K位数据和存储K位数据的区域的地址存储在缓冲存储器中,并且在经过第一延迟时间之后,基于存储在缓冲存储器中的所述地址而从存储器单元阵列或缓冲存储器选择性地读取K位数据。
17.一种存储器装置,包括:
存储器单元阵列,包括连接到多条位线及多条字线的多个存储器单元;
页缓冲器电路,被配置为暂时存储待存储在存储器单元阵列中的数据或从存储器单元阵列读取的数据;
错误检测器,被配置为检测存储在页缓冲器电路中的数据中的错误;以及
控制逻辑电路,被配置为响应于针对N个逻辑页的编程命令,基于从存储器控制器接收的K个逻辑页对存储器单元阵列执行第一编程操作,并且基于在经过延迟时间之后从存储器单元阵列读取且被错误检测器纠错后的K个逻辑页和从存储器控制器接收的N-K个逻辑页,对存储器单元阵列执行第二编程操作,
其中,K是正整数,并且N是大于K的正整数。
18.根据权利要求17所述的存储器装置,其中,响应于在经过延迟时间之前接收的读取命令,编程到存储器单元阵列中的K个逻辑页被读取并被发送到存储器控制器。
19.根据权利要求18所述的存储器装置,其中,错误检测器被配置为:在K个逻辑页被发送到存储器控制器之前,对读取的K个逻辑页执行纠错。
20.根据权利要求17至19中任一项所述的存储装置,其中,第一编程操作和第二编程操作包括精细编程操作。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210154256 | 2021-11-10 | ||
KR10-2021-0154256 | 2021-11-10 | ||
KR1020220060427A KR20230068268A (ko) | 2021-11-10 | 2022-05-17 | 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2022-0060427 | 2022-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116110473A true CN116110473A (zh) | 2023-05-12 |
Family
ID=84330906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211375832.2A Pending CN116110473A (zh) | 2021-11-10 | 2022-11-04 | 存储器装置、存储器系统和操作存储器系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230141554A1 (zh) |
EP (1) | EP4181140A1 (zh) |
CN (1) | CN116110473A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
KR20160057186A (ko) * | 2014-11-13 | 2016-05-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그것의 동작 방법 |
-
2022
- 2022-11-04 CN CN202211375832.2A patent/CN116110473A/zh active Pending
- 2022-11-09 US US18/053,850 patent/US20230141554A1/en active Pending
- 2022-11-10 EP EP22206768.8A patent/EP4181140A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4181140A1 (en) | 2023-05-17 |
US20230141554A1 (en) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573722B (zh) | 操作非易失性存储器件的方法和非易失性存储器件 | |
JP6218437B2 (ja) | 不揮発性メモリ装置のプログラム方法及びそれのメモリシステム | |
US8665643B2 (en) | Non-volatile memory device and read method thereof | |
KR102585221B1 (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
KR20190079327A (ko) | 메모리 장치의 데이터 독출 방법, 메모리 컨트롤러의 제어 방법 및 이들을 포함하는 저장 장치 | |
CN107403636B (zh) | 读取非易失性存储设备的方法 | |
US11450400B2 (en) | Controller and operating method thereof | |
WO2016004317A1 (en) | On-chip copying of data between nand flash memory and reram of a memory die | |
JP2011165301A (ja) | フラッシュメモリ装置及びその読み出し方法 | |
KR102178141B1 (ko) | 비휘발성 메모리 장치의 동작 방법 | |
KR20150091666A (ko) | 비휘발성 메모리 장치 및 그것의 프로그램 방법 | |
US10133645B2 (en) | Data recovery in three dimensional non-volatile memory array after word line short | |
CN115910171A (zh) | 存储器控制器、存储器系统以及存储器控制器的操作方法 | |
CN109559777B (zh) | 非易失性存储装置及其操作方法 | |
CN111367709A (zh) | 错误校正设备及其操作方法和使用该设备的存储器系统 | |
US10755798B2 (en) | Recovering data from a faulty memory block in a memory system | |
EP4181140A1 (en) | Memory device, memory system, and method of operating the memory system | |
CN114974338A (zh) | 非易失性存储器装置、存储器控制器和存储装置的读方法 | |
KR20230068268A (ko) | 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102345067B1 (ko) | 스토리지 장치 및 스토리지 컨트롤러의 구동 방법 | |
KR20210143612A (ko) | 비휘발성 메모리 및 비휘발성 메모리의 동작 방법 | |
CN111309517A (zh) | 操作存储设备的方法和存储设备 | |
EP4198988A1 (en) | Storage controller using history data, method of operating the same, and method of operating storage device including the same | |
EP4303877A2 (en) | Operating and testing semiconductor devices | |
KR20210065022A (ko) | 메모리 컨트롤러 및 불휘발성 메모리 장치를 포함하는 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |