CN114255789A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN114255789A
CN114255789A CN202110295301.1A CN202110295301A CN114255789A CN 114255789 A CN114255789 A CN 114255789A CN 202110295301 A CN202110295301 A CN 202110295301A CN 114255789 A CN114255789 A CN 114255789A
Authority
CN
China
Prior art keywords
memory
data
memory device
read
auxiliary power
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.)
Withdrawn
Application number
CN202110295301.1A
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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN114255789A publication Critical patent/CN114255789A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/30Power supply 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/141Battery and back-up supplies

Abstract

本公开涉及一种存储器系统,该存储器系统包括存储器装置、被配置为控制存储器装置的存储器控制器、以及被配置为向存储器装置和存储器控制器供应电力的辅助电源。存储器控制器响应于NPO(正常断电)或SPO(突然断电)的发生而激活辅助电源,检查在辅助电源被激活的时间点是否存在未完成的操作,并且完成未完成的操作,并且当在完成未完成的操作之后辅助电源的剩余能量的量超过预定阈值时,对存储器装置中的预定区域执行数据验证操作,并且将数据验证操作的结果存储在存储器装置中。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2020年9月11日向韩国知识产权局提交的申请号为10-2020-0116565的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体上涉及一种存储器系统及其操作方法,并且更特别地,涉及一种具有提高的能量使用效率和操作可靠性的存储器系统及其操作方法。
背景技术
存储器系统,特别是基于NAND闪存的半导体存储器系统,可以以合理的成本高性能地存储大容量数据。
半导体存储器系统易受由于意外的电源切断而引起的数据丢失的影响。在正常环境下,主机在切断电源之前向存储器系统传输指示电源将被切断的信号,并且在接收到由存储器系统发送的ACK(确认)信号之后切断电源(正常断电(normal power-off,NPO))。在发送ACK信号之前,存储器系统完成正在执行的操作(读取、写入(或编程)或擦除操作),并且存储与非易失性存储器的操作有关的所有经更新的信息。另一方面,存在电源突然被切断而未向半导体存储器系统通知电源将被切断的情况。这种没有通知的突然电源切断被称为突然断电(sudden power-off,SPO)。
半导体存储器系统包括辅助电源作为针对SPO的对策。当SPO发生时,半导体存储器系统使用辅助电源完成正在执行的操作,并且将缓冲存储器或高速缓存存储器中存储的数据存储在非易失性存储器中。这可以被称为PLP(失电保护(power loss protection))转储操作。
当NPO发生时,常规的半导体存储器系统不使用辅助电源的任何能量。另外,即使当在SPO发生时辅助电源具有比执行PLP转储操作所需的能量更多的能量时,辅助电源也仅用于执行PLP转储操作。因此,辅助电源的能量没有被有效地使用。
进一步,常规的半导体存储器系统没有实施使用辅助电源来提高操作可靠性的方法。
发明内容
各个实施例涉及一种能够在NPO或SPO发生时有效地使用辅助电源的能量从而提高操作可靠性的存储器系统。
详细地,各个实施例涉及一种存储器系统及其操作方法,当NPO发生时,该存储器系统及其操作方法能够使用辅助电源的能量对特定存储器区域尝试数据读取和错误检测,并存储反映该尝试的读取计数数据,并且当SPO发生时,该存储器系统及其操作方法能够比较由辅助电源提供的能量的总量和PLP转储操作所需的能量的量,当确定存在额外的能量时对相应的存储器区域尝试数据读取和错误检测,并将反映该尝试的读取计数数据存储在闪速存储器中。
然而,本公开要解决的技术问题不限于上述那些,并且在权利要求书中描述的技术构思的范围内可能存在其它要解决的技术问题。
在实施例中,一种存储器系统可以包括:存储器装置;存储器控制器,被配置为控制存储器装置;以及辅助电源,被配置为向存储器装置和存储器控制器供应电力,其中存储器控制器被配置为响应于NPO(正常断电)或SPO(突然断电)的发生而激活辅助电源,检查在辅助电源被激活的时间点是否存在未完成的操作,并且完成未完成的操作,并且当完成未完成的操作之后辅助电源的剩余能量的量超过预定阈值时,对存储器装置中的预定区域执行数据验证操作,并且将数据验证操作的结果存储在存储器装置中。
存储器控制器可以基于外部供应电压下降到低于预定电压电平预定时间段来确定SPO已经发生。而且,存储器控制器可以在从外部装置接收到计划电源切断通知信号并且将确认信号传输到外部装置之后,确定NPO已经发生。
存储器系统可以包括电容器或化学电池。
存储器系统可以包括从由陶瓷电容器、堆叠型陶瓷电容器、高k电容器、电解电容器、钽聚合物电容器等组成的组中选择的电容器。
存储器系统可以将预定电压电平设置为相对于从外部装置供应的外部供应电压的预定百分比(例如,80%)。
当未完成的操作完成之后辅助电源的剩余能量的量超过预定阈值时,存储器系统可以检查辅助电源的剩余能量的量,并且可以基于辅助电源的剩余能量的量来确定待执行的数据验证操作的数量。
存储器系统可以从包括用户区域和系统区域的存储器装置的用户区域中选择存储器装置中的预定区域。
存储器系统可以以虚拟超级块为单位选择预定区域,每个虚拟超级块包括多个存储块之中的至少N个存储块,N是等于或大于2的自然数。
在数据验证操作期间,存储器系统可以读取存储在预定区域中的数据,对读取数据执行错误检测操作,更新预定区域的读取计数数据值,并且将执行错误检测操作的结果和经更新的读取计数数据值存储在存储器装置中。
存储器系统可以设置与存储器控制器执行数据验证操作所需能量的量相对应的阈值。
存储器系统可以将存储器装置配置为:第一存储器区域,由每个存储多位数据的存储器单元配置;以及第二存储器区域,由每个存储单位数据的存储器单元配置,并且可以将执行错误检测操作的结果和经更新的读取计数数据值存储在第二存储器区域中。
在实施例中,一种操作存储器系统的方法可以包括:响应于NPO或SPO的发生而激活辅助电源;检查在辅助电源被激活的时间点是否存在未完成的操作,并且完成未完成的操作;并且使用在完成未完成的操作之后的辅助电源的剩余能量,该剩余能量的量超过预定阈值,对存储器装置中的预定区域执行数据验证操作,并且将关于数据验证操作的结果的信息存储在存储器装置中。
在操作存储器系统的方法中,辅助电源的激活可以包括:基于外部供应电压下降到低于预定电压电平预定时间段来确定SPO已经发生,或者在从外部装置接收到计划电源切断通知信号并且将确认信号传输到外部装置之后确定NPO已经发生。
在操作存储器系统的方法中,辅助电源可以包括电容器或化学电池,并且电容器可以从由陶瓷电容器、堆叠型陶瓷电容器、高k电容器、电解电容器、钽聚合物电容器等组成的组中选择。
在操作存储器系统的方法中,将关于数据验证操作的结果的信息存储在存储器装置中的步骤可以检查超过预定阈值的辅助电源的剩余能量的量,并且可基于辅助电源的剩余能量的量来确定待执行的数据验证操作的数量。
在操作存储器系统的方法中,将关于数据验证操作的结果的信息存储在存储器装置中可以包括:读取存储在预定区域中的数据;对读取数据执行错误检测操作;更新预定区域的读取计数数据值;并且将执行错误检测操作的结果和经更新的读取计数数据值存储在存储器装置中。
在操作存储器系统的方法中,可以使用执行数据验证操作所需的能量的量作为预定阈值。
在操作存储器系统的方法中,存储器装置可以包括:第一存储器区域,由每个存储多位数据的存储器单元配置;以及第二存储器区域,由每个存储单位数据的存储器单元配置,并且执行错误检测操作的结果和经更新的读取计数数据值可以被存储在第二存储器区域中。
在操作存储器系统的方法中,数据验证操作可以包括用于读取被频繁访问的热数据的读取操作。
在实施例中,一种操作存储器系统的方法可以进一步包括:响应于存储器系统的启动,读取存储在存储器装置中的关于数据验证操作的结果的信息;检查所读取的信息以确定关于错误检测的信息是否包括在所读取的信息中;在确定所读取的信息中的错误检测时,将预定区域的数据临时存储在存储器装置的另一存储器区域中;擦除存储在预定区域中的数据;并且将另一存储器区域中的临时存储的数据移回到预定区域。
上述用于解决问题的手段是示例性的,并且不应被解释为意图限制本公开。除了上述示例性实施例之外,在本公开的权利要求书、附图和详细描述的范围内,可以存在本领域普通技术人员能够容易理解的其它实施例。
根据本公开的实施例的存储器系统可以在NPO或SPO发生时有效地利用辅助电源的能量。
根据本公开的实施例的存储器系统可以在NPO发生时通过利用辅助电源的能量执行数据读取操作来检测读取错误,并且可以更新并存储读取计数数据,从而提高存储器系统的操作可靠性。
另外,根据本公开的实施例的存储器系统可以在当SPO发生时即使在PLP转储之后也存在辅助电源的能量的情况下,通过利用辅助电源的能量执行数据读取操作来检测读取错误,并且可以更新和存储读取计数数据,从而进一步提高存储器系统的操作可靠性。
本公开要实现的效果不限于上述那些,并且可以存在其他效果。
附图说明
图1是示意性地示出根据本公开的实施例的存储器系统的框图。
图2是示意性地示出根据本公开的实施例的存储器装置的框图。
图3是示出根据本公开的实施例的存储器装置的字线和位线的结构的示图。
图4是示出根据本公开的实施例的图1的存储器系统的操作的流程图。
图5A是示出根据本公开的实施例的在NPO发生之前和之后图1的存储器系统的电压变化的示图。
图5B是示出根据本公开的实施例的在SPO发生之前和之后图1的存储器系统的电压变化的示图。
图6是示出根据本公开的实施例的图1的存储器控制器的操作的示图。
图7是示出根据本公开的实施例的热数据读取操作的示图。
图8是示意性地示出根据本公开的实施例的图1的存储器控制器将热数据读取结果存储在存储器装置中的过程的示图。
图9是示出根据本公开的实施例的当在SPO发生之后首次供应正常电力时图1的存储器控制器使用存储器装置的系统区域中的数据的过程的示意图。
具体实施方式
在下文中,参照附图详细描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅指一个实施例,并且对任何这样的短语的不同引用不一定指相同的实施例。当在本文中使用时,术语“实施例”不一定是指所有实施例。
图1示出根据本公开的实施例的存储器系统100。
参照图1,存储器系统100可以包括被配置为存储数据的存储器装置110,以及被配置为控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括,例如读取操作、编程操作(也称为“写入操作”)、擦除操作等。
存储器装置110可以包括存储器单元阵列,存储器单元阵列包括被配置为存储数据的多个存储器单元(也简称为“单元”)。存储器单元阵列可以存在于存储块内部。
例如,存储器装置110可以被实施为诸如以下的各种类型的存储器中的任意一种:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功耗双倍数据率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等等。
存储器装置110可以以三维阵列结构实施。本公开的实施例不仅适用于具有被配置为导电浮置栅极的电荷存储层的闪速存储器装置,而且可以适用于具有电荷撷取闪存(CTF)的闪速存储器装置,该电荷撷取闪存(CTF)具有被配置为绝缘膜的电荷存储层。
存储器装置110可以被配置为从存储器控制器120接收命令及地址并且访问通过地址选择的存储器单元阵列的区域。也就是说,存储器装置110可以在由与所接收的地址相对应的物理地址指定的存储器装置110的存储器区域中执行与所接收的命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据编程到通过所接收的地址选择的存储器区域中。在读取操作期间,存储器装置110可以从通过所接收的地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除存储在通过所接收的地址选择的存储器区域中的数据。
存储器控制器120可以控制关于存储器装置110的写入操作(或编程操作)、读取操作、擦除操作及后台操作。后台操作可以是,例如垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
存储器控制器120可以响应于主机的请求来控制存储器装置110的操作。可选地,存储器控制器120可以在没有主机的请求的情况下控制存储器装置110的操作。例如,当存储器装置110执行一个或多个后台操作时,存储器控制器120可以在没有主机的请求的情况下控制该一个或多个后台操作。
存储器控制器120和主机可以是分开的装置。在另一实施例中,存储器控制器120和主机可以被集成并且被实施为单个装置。在以下描述中,存储器控制器120和主机是分开的装置。
存储器控制器120可以包括主机接口(I/F)121、存储器接口(I/F)122和控制电路123。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机接收到请求时,控制电路123可以通过主机接口121接收请求,并且可以执行处理所接收的请求的操作。
存储器接口122可以被配置为提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为在控制电路123的控制下向存储器装置110和存储器控制器120提供接口。
控制电路123可以被配置为通过执行用于存储器控制器120的整体控制的操作来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测和校正(检测/校正)电路(即,ECC电路)126。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA,并且通过使用映射表将LBA转换为PBA。
根据映射单元,存在FTL可以采用的各种地址映射方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置为使从主机接收的数据随机化。例如,处理器124可以通过使用随机化种子来使从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供给存储器装置110,并且被编程在存储器装置110的存储器单元阵列中。
处理器124可以被配置为在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子来使从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机。
处理器124可以运行固件(FW)以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且可以运行(或驱动)在启动存储器系统100期间加载到工作存储器125中的固件。
固件是指在存储器系统100内部运行的程序,并且可以包括各种功能层。
例如,固件可以包括闪存转换层(FTL)、主机接口层(HIL)和/或闪存接口层(FIL)。闪存转换层被配置为执行由主机提供的逻辑地址和存储器装置110的物理地址之间的转换操作。主机接口层被配置为解译主机向存储器系统100发出的请求,并且将所解译的结果传递到FTL。闪存接口层被配置为将由FTL发出的命令传递到存储器装置110。
例如,固件可以存储在存储器装置110中,然后加载到工作存储器125中。
工作存储器125可以存储固件、编程代码、命令或多条数据以驱动存储器控制器120。工作存储器125可以包括易失性存储器,例如静态RAM(SRAM)、动态RAM(DRAM)、同步RAM(SDRAM)等。
错误检测/校正电路126可以被配置为通过使用错误校正码来检测目标数据的错误位,并且校正所检测到的错误位。例如,目标数据可以是存储在工作存储器125中的数据、从存储器装置110检索的数据等。
错误检测/校正电路126可以被实施为通过使用错误校正码来解码数据。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,错误检测/校正电路126可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
例如,错误检测/校正电路126可以针对来自存储器装置110的每条读取数据逐个扇区地检测错误位。也就是说,每条读取数据可以包括多个扇区。如本文所使用的,扇区可以指小于闪速存储器的读取单位(例如,页面)的数据单位。构成每条读取数据的扇区可以通过地址彼此相关联。
错误检测/校正电路126可以逐扇区地计算位错误率(BER)并且确定是否可以进行错误校正。例如,如果扇区的BER高于参考值,则错误检测/校正电路126可以确定相应的扇区不可校正或失败。如果BER低于或等于参考值,则错误检测/校正电路126可以确定相应的扇区可校正或通过。
错误检测/校正电路126可以针对所有读取数据条连续地执行错误检测和校正操作。当读取数据中的扇区可校正时,错误检测/校正电路126可以针对下一条读取数据省略与相应扇区有关的错误检测和校正操作。在以这种方式完成针对所有读取数据条的错误检测和校正操作之后,错误检测/校正电路126可以检测被认为到最后不可校正的扇区。如果存在一个或多个被认为不可校正的扇区,则错误检测/校正电路126可以将关于被认为不可校正的扇区的信息(例如,地址信息)传递到处理器124。
总线127可以被配置为在存储器控制器120的构成元件121、122、124、125和126之间提供通道。总线127可以包括,例如用于传递各种类型的控制信号和命令的控制总线,以及用于传递各种类型的数据的数据总线。
存储器控制器120可以进一步包括辅助电源130,辅助电源130也可以被称为内置辅助电源。辅助电源130可以包括化学电池(二次电池)或电容器。当考虑安装到存储器系统100时,电容器是优选的,并且电容器的类型不受特别限制,只要当NPO或SPO发生时电容器能够供电即可。电容器可以从由陶瓷电容器、堆叠型陶瓷电容器、高k电容器、电解电容器和钽聚合物电容器组成的组中选择。然而,实施例不限于此。
在实施例中,电容器可以是采用钽阳极和具有高导电性的聚合物阴极的钽聚合物电容器。钽聚合物电容器是优选的,因为在相同面积内其功率容量比陶瓷电容器大。作为化学电池,可以使用锂离子、锂离子聚合物、镍氢和镍镉二次电池中的一种或多种。
存储器控制器120的上述构成元件121、122、124、125和126仅作为示例提供。可以从存储器控制器120中省略上述构成元件,并且/或者可以将上述构成元件中的一个或多个集成到单个元件中。另外,在一些情况下,除了存储器控制器120的上述构成元件之外,可以将一个或多个其它构成元件添加到存储器控制器120。
在下文中,将参照图2更详细地描述图1的存储器装置110。
图2是示意性地示出根据本公开的实施例的图1的存储器装置110的框图。
参照图2,存储器装置110可以包括存储器单元阵列210、地址解码器220、读取和写入(读取/写入)电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz,其中z为大于2的自然数。
在多个存储块BLK1至BLKz中,可以设置多个字线WL和多个位线BL,并且可以布置多个存储器单元MC。
多个存储块BLK1至BLKz可以通过多个字线WL连接到地址解码器220。多个存储块BLK1至BLKz可以通过多个位线BL连接到读取/写入电路230。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元可以是非易失性存储器单元,并且非易失性存储器单元可以具有垂直沟道结构。
存储器单元阵列210可以具有二维结构或三维结构。
存储器单元阵列210中的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(SLC)、被配置为存储两位数据的多层单元(MLC)、被配置为存储三位数据的三层单元(TLC)或被配置为存储四位数据的四层单元(QLC)。又例如,存储器单元阵列210可以包括多个存储器单元,该多个存储器单元中的每一个可以被配置为存储五位或更多位数据。
地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路而操作。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为在控制逻辑240的控制下操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以根据所解码的块地址选择存储器单元阵列210中的至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
在读取操作期间,地址解码器220可以将读取电压Vread施加到所选择的存储块中的所选择的字线WL,并且可以将通过电压Vpass施加到所选择的存储块中的剩余的未选择的字线WL。
在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择的存储块中的所选择的字线WL,并且可以将通过电压Vpass施加到所选择的存储块中的剩余的未选择的字线WL。
地址解码器220可以被配置为解码所接收的地址之中的列地址。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。当请求读取操作和编程操作时接收的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以根据块地址选择一个存储块,并且根据行地址选择一个字线。列地址可以由地址解码器220解码并且被提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和/或地址缓冲器。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”而操作,并且当存储器单元阵列210执行写入(或编程)操作时,读取/写入电路230可以作为“写入电路”而操作。
读取/写入电路230可以被称为包括多个页面缓冲器PB的页面缓冲器电路,或者数据寄存器电路。读取/写入电路230可以包括用于数据处理功能的数据缓冲器,并且在一些情况下,可以进一步包括用于高速缓存功能的高速缓存缓冲器。
包括在读取/写入电路230中的多个页面缓冲器PB可以通过多个位线BL分别连接到存储器单元阵列210。为了在读取操作和编程验证操作期间感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以连续地将感测电流供应到与存储器单元连接的位线BL,可以在感测节点处感测根据相应存储器单元的编程状态而流过相应位线BL的电流量的变化,并且可以将所感测的值锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储在存储器单元中的数据,临时存储所检索的数据,并且将所存储的数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令CMD及控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL而控制存储器装置110的全部操作。控制逻辑240可以输出控制信号,用于调整多个页面缓冲器PB的感测节点的预充电电位电平。
控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中的存储块BLK可以包括多个页面PG及多个串。多个页面PG对应于多个字线WL,并且多个串STR对应于多个位线BL。
在存储块BLK中,多个字线WL和多个位线BL可以被布置为相互交叉。例如,多个字线WL中的每一个可以沿行方向布置,并且多个位线BL中的每一个可以沿列方向布置。又例如,多个字线WL中的每一个可以沿列方向布置,并且多个位线BL中的每一个可以沿行方向布置。
多个字线WL和多个位线BL可以相互交叉,从而限定设置在多个字线WL和多个位线BL的各个交叉处的多个存储器单元MC。
每个存储器单元MC可以包括晶体管TR。例如,晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接或经由另一晶体管TR连接到源极线(其可以是地)。晶体管TR的栅极可以包括由绝缘体包围的浮置栅极(FG)和被从相应字线WL施加栅极电压的控制栅极(CG)。
在存储器单元阵列210中的多个存储块BLK1至BLKz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以被另外地布置在多个字线WL中的两个最外字线之中更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也称为漏极选择线或源极选择线)可以被另外地布置在两个最外字线之中更靠近源极线的第二最外字线的外侧。
在一些实施例中,至少一个虚设字线可以被另外地布置在第一最外字线和第一选择线之间。另外,至少一个虚设字线可以被另外地布置在第二最外字线和第二选择线之间。
可以逐个页面地执行存储块BLK的读取操作和编程操作(或写入操作),并且可以逐个存储块地执行存储器单元阵列210的擦除操作。
图3是示出根据本公开的实施例的图2的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110包括设置有存储器单元MC的内核区域和与非内核区域相对应的外围区域。外围区域支持内核区域中的存储器单元阵列210的操作。
内核区域可以包括多个页面PG和多个串STR。在内核区域中,多个字线WL1至WL9与多个位线BL布置为相互交叉。
字线WL1至WL9可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以设置在多个位线BL与列解码器320之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,如图3所示,字线WL1至WL9中的每一个可以对应于一个页面PG。当字线WL1至WL9中的每一个明显较长时,字线WL1至WL9中的每一个可以被划分为至少两个子字线,并且因此对应于分别联接到至少两个子字线的至少两个(例如,两个或四个)页面PG。每个页面PG是与进行编程操作和读取操作有关的最小单位,并且相同页面PG内的所有存储器单元MC可以在进行编程操作或读取操作时同时执行相应操作。
多个位线BL可以连接到列解码器320,并且包括奇数编号的位线BL和偶数编号的位线BL。
为了访问目标存储器单元MC,可以首先通过输入/输出缓冲器,然后通过行解码器310和列解码器320,将地址输入到内核区域,使得可以指定目标存储器单元MC。如本文所使用,指定目标存储器单元MC是指访问连接到行解码器310的字线WL1至WL9与连接到列解码器320的位线BL的交叉处的存储器单元MC中的一个。
沿第一方向(例如,相对于图3的取向的水平方向)布置的存储器单元MC通过作为字线WL的共同线绑定并且由此形成页面PG。沿第二方向(例如,相对于图3的取向的垂直方向)布置的存储器单元MC通过作为位线BL的共同线绑定(或连接)并且由此形成串STR。如本文所使用的,共同绑定是指通过相同的材料在结构上连接,使得共同绑定的组件在电压施加期间同时接收相同的电压。在施加到沿第一方向或第二方向串联连接的存储器单元MC的电压之中,由于在前的存储器单元MC上的电压降,施加到设置在中间位置的存储器单元MC的电压可以具有与施加到设置在第一位置的存储器单元MC的电压和施加到设置在最后位置的存储器单元MC的电压略微不同的电压电平。例如,设置在第一位置的存储器单元MC比设置在中间位置的存储器单元MC更靠近电压生成电路250。设置在中间位置的存储器单元MC比设置在最后位置的存储器单元MC更靠近电压生成电路250。
因为由存储器装置110执行的所有数据处理,包括编程操作和读取操作,都经由数据寄存器330发生,所以数据寄存器330起着重要作用。如果数据寄存器330中的数据处理被延迟,则所有其它电路需要等待,直到数据寄存器330完成数据处理为止。因此,数据寄存器330中的延迟会降低存储器装置110的整体性能。
参照图3,在一个串STR中,多个晶体管TR1至TR9可以分别连接到多个字线WL1至WL9。多个晶体管TR1至TR9分别对应于多个存储器单元MC。在该示例中,多个晶体管TR1至TR9中的每一个包括控制栅极CG和浮置栅极FG。
多个字线WL1至WL9包括与串STR的两个相对端相邻设置的两个最外字线WL1和WL9。第一选择线DSL可以另外地布置在两个最外字线WL1和WL9之中在信号路径方面更靠近数据寄存器330的第一最外字线WL1的外侧。第二选择线SSL可以另外地布置在第二最外字线WL9的外侧。
响应于第一选择线DSL的电压而导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但是不包括浮置栅极FG。响应于第二选择线SSL的电压而导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮置栅极FG。
第一选择晶体管D-TR起到导通或关断相应串STR与数据寄存器330之间的连接的开关的作用。第二选择晶体管S-TR起到导通或关断相应串STR与源极线SL之间的连接的开关的作用。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR起到位于相应串STR的两个相对端处以传递或阻断信号的网守的作用。
在编程操作期间,存储器系统100通过将目标存储器单元MC连接到位线BL来对目标存储器单元MC进行编程,使得目标存储器单元MC被电子填充。因此,存储器系统100将导通电压Vcc施加到第一选择晶体管D-TR的栅电极,从而导通第一选择晶体管D-TR,并且将关断电压(例如,0V)施加到第二选择晶体管S-TR的栅电极,从而关断第二选择晶体管S-TR。
存储器系统100在读取操作或编程验证操作期间导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或编程验证操作期间,电流可以流经相应的串STR并且流到对应于地的源极线SL,使得可以测量或感测位线BL的电压电平。然而,在读操作期间,在第一选择晶体管D-TR和第二选择晶体管S-TR之间的通/断定时可能存在时间差。
在擦除操作期间,存储器系统100可以通过源极线SL向衬底供应电压(例如,+20V)。在擦除操作期间,存储器系统100浮置第一选择晶体管D-TR和第二选择晶体管S-TR两者,从而产生无穷大电阻。因此,在擦除操作期间,第一选择晶体管D-TR和第二选择晶体管S-TR的切换作用可以被移除,并且由于电位差,电子可以仅在浮置栅极FG和衬底之间操作。
图4是示出当NPO或SPO发生时图1的存储器系统100的操作的流程图,图5A是示出在NPO发生之前和之后图1的存储器系统100的电压变化的示图,并且图5B是示出在SPO发生之前和之后图1的存储器系统100的电压变化的示图。
在S400处,存储器控制器120执行使用闪存转换层执行地址映射操作的正常操作,并且从而控制存储器装置110的正常操作,诸如读取操作、编程操作、擦除操作、回存操作、垃圾收集操作或损耗均衡操作。在电力正常供应到存储器系统100的状态下(在图5A或图5B中的时间点T1之前)执行这些操作。
当从主机接收到指示外部输入的电源将被切断的信号时,存储器控制器120完成当前正在执行的所有操作,将与操作有关的经更新的信息记录在存储器装置110中,向主机发送ACK信号,并且然后在S405处确定NPO已经发生。
当在S405处确定NPO已经发生时(在S405处为“是”),存储器控制器120在S420-1处激活辅助电源130。
当在S420-1处激活辅助电源130时,存储器系统100的电压下降到低于最小操作电压Vmin的时间点延长到图5A或图5B中的时间点Tf。时间点T1和时间点Tf之间的时间间隔与辅助电源130所保持的能量的量的大小成比例。在本实施例中,辅助电源130所保持的能量的量为100mJ,并且时间点T1与时间点Tf之间的时间间隔为50ms。该时间间隔可以随着辅助电源130的容量增加而延长。
当在S405处确定没有发生NPO时(在S405处为“否”),在S410处存储器控制器120通过检测向其供应的输入电压的电压下降来确定是否已经发生SPO。当输入电压的至少预定值的电压下降持续预定时间时,存储器控制器120确定SPO已经发生(在S410处为“是”)。
参照图5B,当输入电压从正常电压Vnormal下降到阈值电压Vth并且电压下降从时间点T2持续到时间点T3的状态时,存储器控制器120确定SPO已经发生。例如,正常电压Vnormal可以是5V,阈值电压Vth可以是4V或3.5V,并且时间点T2和时间点T3之间的时间间隔可以是1ms。本领域普通技术人员可以根据给定的情况容易地改变正常电压Vnormal和阈值电压Vth的值以及时间点T2和时间点T3之间的时间间隔。
当没有电压下降时,或者当即使已经发生电压下降但电压下降没有持续预定时间时,存储器控制器120确定SPO没有发生(在S410处为“否”),并且返回到S400处以执行来自主机的请求。在S400处,如果没有来自主机的请求,则存储器控制器120可以进入空闲状态或执行诸如垃圾收集或损耗均衡的后台操作。
当在S410处确定SPO已经发生时(在S410处为“是”),存储器控制器120在S420-2处激活辅助电源130。当辅助电源130被激活时,存储器系统100的电压下降到低于最小操作电压Vmin的时间点被延长到时间点Tf。时间点Tf在时间点T3之后,并且时间点T3和时间点Tf之间的时间间隔与辅助电源130所保持的能量的量的大小成比例。在本实施例中,辅助电源130所保持的能量的量为100mJ,并且时间点T3与时间点Tf之间的时间间隔为50ms。该时间间隔可以随着辅助电源130的容量增加而延长。
在S430处,存储器控制器120检查是否存在在SPO发生之前(即,在时间点T3之前)开始但在确定SPO已经发生的时间点T3未完成的操作,并且当未完成的操作存在时完成未完成的操作。下面将参照图5B详细描述在S430处由存储器控制器120执行的操作。
如果存储器控制器120在时间点T3正在执行数据读取操作,则存储器控制器120在时间点T3和时间点Tf之间的时间间隔期间完成该数据读取操作,更新存储在工作存储器125中的读取计数数据,并且将所更新的读取计数数据记录在存储器装置110中。此时,存储器控制器120还可以将工作存储器125中存储的用户数据、FTL表等记录在存储器装置110中。存储器控制器120在不超过时间点Tf的时间点T4完成此操作。
如果存储器控制器120在时间点T3正在执行数据写入操作,则存储器控制器120执行该数据写入操作,从而完成对存储器装置110的写入操作。在时间点T3和时间点Tf之间的时间间隔期间,存储器控制器120可以在存储器装置110中记录在完成数据写入操作的过程中额外生成的LBA、EEC、映射数据、确认写入完成的ACK数据等。存储器控制器120在不超过时间点Tf的时间点T5完成此操作。存储器控制器120可以在下一启动过程中将记录在存储器装置110中的ACK数据传送到主机。
存储器控制器120在时间点T3可以处于空闲状态。即使在这种情况下,存储器控制器120也在不超过时间点Tf的时间点T6之前完成将存储在工作存储器125中的用户数据或元数据记录在存储器装置110中的操作。时间点T4至T6大于时间点T3且小于时间点Tf。在图5B中,时间点T4至T6被表示为Tdump。
存储器控制器120可以通过执行这样的操作来处置SPO发生情况,从而保存用户数据和/或相关的元数据,并且从而防止数据丢失。该过程是PLP(失电保护)转储操作的示例。
在通过NPO检测过程进行到S440的情况下,即当NPO发生时,存储器控制器120比较时间点T1和时间点Tf,并且确定在时间点T1和时间点Tf之间的时间间隔期间是否可以执行附加操作。由于当NPO发生时存储器控制器120不执行PLP转储操作,所以存储器控制器120可以确定可以使用存储在辅助电源130中的、为PLP转储操作而准备的能量来执行附加操作,并且可以进行到S450。例如,存储器控制器120可以仅在例外情况下,诸如在在辅助电源130尚未充电的状态下发生NPO的情况下,确定不能执行附加操作,并且结束该过程。
当通过SPO检测过程进行到S440时,即当SPO发生时,存储器控制器120将PLP转储操作完成的时间点(例如,时间点Tdump)与时间点Tf进行比较,并且确定在PLP转储操作完成之后是否可以执行附加操作。在用于PLP转储操作的时间较长并且因此时间点Tdump接近时间点Tf的情况下,即当没有剩余足够的时间来执行附加操作时,存储器控制器120在S440处确定不能执行附加操作,并且结束该过程。
当在S440处确定时间点Tdump和时间点Tf之间的时间间隔足以在完成PLP转储操作之后执行附加操作时,存储器控制器120进行到S450以执行附加操作。
附加操作可以是,例如对存储器装置110中设置的特定区域的数据验证操作。存储器控制器120可以根据辅助电源130的剩余能量的量来确定数据验证操作的范围。数据验证操作的范围可以是能够利用该剩余能量执行的数据验证操作的数量。当辅助电源130的剩余能量的量较大时,存储器控制器120可以执行更多数量的数据验证操作。
在S450处,作为根据本实施例的附加操作的示例,存储器控制器120可以执行数据读取和错误检测操作,以提高存储器系统100的操作可靠性。
图6至图8是示出数据读取和错误检测操作的示图。
图6是从能量角度示出由存储器控制器120在图4的S450处执行的操作的示图。图6示出即使在S430处执行了PLP转储操作之后辅助电源130也能够向存储器控制器120供应剩余能量的情况,而图7和图8示出使用该剩余能量执行的数据读取和错误检测操作。
在图6中,被标记为“保留”的部分表示在执行PLP转储操作之后的剩余能量的量。剩余能量的量可以确定时间点Tdump和时间点Tf之间的时间间隔。也就是说,剩余能量的量越大,时间点Tdump和时间点Tf之间的时间间隔越长。
图7和图8示出使用剩余能量来执行数据读取和错误检测操作。然而,实施例不限于此。在另一实施例中,存储器控制器120可使用剩余能量执行读取回收或垃圾收集操作以提高存储器系统100的可靠性。在这方面,如上所述,可以根据辅助电源130的剩余能量的量来确定待由存储器控制器120使用剩余能量执行哪个操作。
图7示出作为数据读取和错误检测操作的示例的热数据读取操作。例如,存储器装置110的存储频繁播放的音乐文件即热数据的页面具有比存储器装置110中的存储较不频繁读取的数据的其它页面更大的读取计数数据值,因此具有较大读取计数数据值的页面很可能接近触发读取回收操作的阈值。在此上下文中,“热数据”被定义为比其它数据更频繁地被访问的数据。
在本公开的实施例中,将读取计数数据值为触发读取回收操作的值的50%或更大的页面(或存储块)中存储的数据用作热数据。如有必要,可以将作为损耗均衡或垃圾收集的目标的页面中存储的数据用作热数据,或者可以将读取计数数据值为触发读取回收操作的值的30%或更大的页面(或存储块)中存储的数据用作热数据。
存储器控制器120通过参考存储在工作存储器125中的读取计数数据值来指定热数据。可以以存储器装置110的页面或存储块为单位来指定热数据。在本实施例中,以存储器装置110的虚拟超级块(VSB)为单位来读取热数据。虚拟超级块可以通过收集例如2个、4个或8个存储块来配置。虚拟超级块通过虚拟超级块编号(VSBN)被标识。
存储器控制器120读取存储器装置110的第n虚拟超级块和第m虚拟超级块,对从第n虚拟超级块和第m虚拟超级块读取的数据执行错误检测操作,并且更新第n虚拟超级块和第m虚拟超级块的读取计数数据值。待由存储器控制器120读取的虚拟超级块的数量与剩余能量的容量(即,图5B中所示的时间点Tdump与时间点Tf之间的时间间隔)成比例。存储器控制器120使用存储在相应的虚拟超级块中的ECC来确定读取数据中是否存在错误。由于生成ECC的方法或使用ECC检测和校正错误的技术在本领域中是已知的,因此省略对其的进一步描述。
下面将在辅助电源130所保持的能量的量的方面来描述数据读取和错误检测操作。例如,如果辅助电源130配置有并联联接的10个电容器,并且每个电容器的充电容量是800uF,则辅助电源130的总容量变为8mF。因此,当5V的电压被施加到辅助电源130时,根据等式E=1/2*C*V2(E为能量,C为充电容量,V为施加的电压)计算由辅助电源130保持的能量的量为100mJ。
在由辅助电源130保持的能量即100mJ之中,如果将60mJ的能量用于由于SPO的发生而导致的PLP转储操作,则40mJ的剩余能量可以用于执行数据读取和错误检测操作。当假设40mJ的剩余能量中的20mJ用于将数据读取和错误检测操作的结果存储在存储器装置110中时,20mJ的剩余能量可以用于执行数据读取和错误检测操作。在这种情况下,例如,如果执行一次数据读取和错误检测操作需要10mJ的能量,则可以使用20mJ的剩余能量执行两次数据读取和错误检测操作。
在发生NPO的情况下,存储器控制器120可以将由辅助电源130保持的全部100mJ的能量用于数据读取和错误检测操作。当假设100mJ的能量中的20mJ用于将数据读取和错误检测操作的结果存储在存储器装置110中时,80mJ的剩余能量可以用于数据读取和错误检测操作。在这种情况下,例如,如果执行一次数据读取和错误检测操作需要20mJ的能量,则可以使用80mJ的剩余能量执行四次数据读取和错误检测操作。显然,用于一次数据读取和错误检测操作的能量可以根据存储器装置而改变。
在上述实施例中,对热数据执行数据读取和错误检测操作。然而,在另一实施例中,可以对存在于存储器装置110的随机区域中的数据执行数据读取和错误检测操作。
图8示意性地示出存储器控制器120将读取热数据的结果存储在存储器装置110中的过程。
为了增加数据存储容量,使读取和写入速度更快,并且安全地保护重要数据,存储器装置110可以将用于存储多位数据的存储块(在下文中,被称为多位块)和用于存储单位数据的存储块(在下文中,被称为单位块)同时包括在存储器单元阵列210中。多位块可以包括诸如上述的MLC、TLC或QLC的存储器单元。单位块可以包括上述SLC。
存储器装置110可以被划分为存储用户数据的用户区域和存储与存储器装置110的操作相关的系统信息的系统区域。系统信息也可以被称为元数据或元信息。
在存储器系统100中,用户区域可以被配置为多位块以存储大量用户数据,系统区域可以被配置为单位块以提高操作可靠性并且确保高速操作。在另一实施例中,对于本领域的普通技术人员显而易见的是,存储器装置110可以仅由单位块或仅由多位块来配置。
存储器控制器120可以从存储器装置110的用户区域选择用于执行数据读取和错误检测操作的目标区域。例如,目标区域可以是用户区域的第n虚拟超级块和第m虚拟超级块。
存储器控制器120将读取用户区域的第n虚拟超级块和第m虚拟超级块中存储的数据并且对所读取的数据执行错误检测操作的结果存储在系统区域中。该结果可以包括关于在第n虚拟超级块和第m虚拟超级块中的每一个的读取数据中是否检测到错误的信息,以及第n虚拟超级块和第m虚拟超级块中的每一个的读取计数数据。在本公开的实施例中,该结果可以被存储在存储关于PLP转储的信息的PLP区域中,PLP区域(也被称为PLP环境区域)被包括在系统区域中。在另一实施例中,该结果可以存储在系统区域中除PLP区域之外的区域中。
下面将再次参照图5B在时间方面描述数据读取和错误检测操作。假设时间点Tdump和时间点Tf之间的时间间隔是20ms,并且假设存储器控制器120需要5ms来选择一个虚拟超级块,读取存储在所选择的虚拟超级块中的数据并且对该一个虚拟超级块的读取数据执行错误检测操作,并且需要5ms来将执行数据读取和错误检测操作的结果存储在存储器装置110的系统区域中。
存储器控制器120识别出可以从时间点Tdump开始执行20ms的附加操作,并且在20ms期间对两个虚拟超级块执行数据读取和错误检测操作,因为每个虚拟超级块需要10ms来执行数据读取和错误检测操作并存储执行数据读取和错误检测操作的结果。
如果由于PLP转储操作被延迟而使得时间点Tdump和时间点Tf之间的时间间隔小于10ms,则存储器控制器120确定在该时间间隔期间不能执行数据读取和错误检测操作。如果时间点Tdump和时间点Tf之间的时间间隔等于或大于10ms并且小于20ms,则存储器控制器120对一个虚拟超级块执行数据读取和错误检测操作。为了便于说明,作为示例给出了实施例中的上述操作时间5ms、10ms和20ms,并且操作时间可以根据用于实施本公开的精神的具体实施例而改变。
图9是示出根据实施例的图1的存储器控制器120的过程的示意图。在图9所示的过程中,当在SPO发生之后首次供应正常电力时,存储器控制器120使用存储在存储器装置110的系统区域中的数据。
当向存储器系统100正常供应电力而启动存储器系统100时,存储器控制器120读取存储在存储器装置110的PLP区域中的数据,并且将所读取的数据存储在工作存储器125中,然后检查所读取的数据以检查读取计数数据并且确定关于错误检测的信息是否包括在所读取的数据中。在本实施例中,存储器控制器120检查来自PLP区域的读取数据,并且确认在第n虚拟超级块的数据中没有检测到错误,而在第m虚拟超级块的数据中检测到错误。
因此,存储器控制器120将检测到错误的第m虚拟超级块的数据移动(编程)到另一存储块,并且初始化第m虚拟超级块的读取计数数据。如果在第m虚拟超级块的数据中检测到的错误不是硬件相关的,即如果错误不是由于第m虚拟超级块中的存储器单元本身的缺陷引起的,则存储器控制器120可以将第m虚拟超级块的数据临时存储在另一存储块中,擦除第m虚拟超级块的数据,并且然后将临时存储的数据移回到第m虚拟超级块。即使在这种情况下,第m虚拟超级块的读取计数数据也被初始化。
即使在第n虚拟超级块的读取计数数据等于或大于预定阈值的情况下,存储器控制器120也可以以与检测到错误的情况相同的方式执行移动操作。在本公开的另一实施例中,当预定阈值为10000并且第n虚拟超级块的读取计数数据达到10000时,存储器控制器120可以将第n虚拟超级块的数据移动到另一存储块,并且初始化第n虚拟超级块的读取计数数据。存储器控制器120可以将第n虚拟超级块的数据临时移动到另一存储块,擦除第n虚拟超级块的数据,并且然后将临时移动的数据移回到第n虚拟超级块。即使在这种情况下,第n虚拟超级块的读取计数数据也被初始化。
根据本公开的实施例,当SPO发生时,存储器控制器120可以使用由辅助电源130供应的能量来执行PLP转储操作。在即使在PLP转储操作完成之后辅助电源130中仍剩余足够能量的情况下,存储器控制器120通过读取存储器装置110中的特定块或页面中存储的热数据来更新错误检测和读取计数数据,将所更新的数据存储在存储器装置110的系统区域中,并且当再次向存储器系统100供应正常电力而启动该存储器系统时,基于存储在系统区域中的所更新的数据来执行块刷新操作。
因此,根据本公开的实施例的存储器系统100可以有效地使用辅助电源130的能量,并且因为存储器系统100通过找出可能发生读取错误或即将发生读取错误的块来执行刷新操作,所以可以提高其操作可靠性。
本公开的上述描述旨在用于说明,并且本领域技术人员将理解的是,在不改变本公开的技术精神或必要特征的情况下,可以以其它特定形式容易地修改本公开。因此,应当理解的是,上述实施例在所有方面都是示例性的而非限制性的。例如,被描述为单一类型的每个组件可以以分布式方式实施,并且类似地,被描述为分布式的组件可以以组合形式实施。
尽管为了说明的目的已经描述了本公开的各个实施例,但是本领域技术人员将理解的是,在不脱离如所附权利要求书中所公开的本公开的范围和精神的情况下,各种修改、添加和替换是可能的。因此,为了简洁和清楚起见,已经描述了本公开的实施例。本公开的范围应当基于所附权利要求书来解释,以使得包括在与权利要求书等同的范围内的所有技术构思都属于本公开。

Claims (19)

1.一种存储器系统,包括:
存储器装置,包括多个存储块;
存储器控制器,控制所述存储器装置;以及
辅助电源,向所述存储器装置和所述存储器控制器供应电力,
其中所述存储器控制器:
响应于NPO即正常断电或SPO即突然断电的发生而激活所述辅助电源,
检查在所述辅助电源被激活的时间点是否存在未完成的操作,并且完成所述未完成的操作,并且
当在完成所述未完成的操作之后所述辅助电源的剩余能量的量超过预定阈值时,对所述存储器装置中的预定区域执行数据验证操作,并且将所述数据验证操作的结果存储在所述存储器装置中。
2.根据权利要求1所述的存储器系统,其中所述存储器控制器基于外部供应电压下降到低于预定电压电平预定时间段来确定所述SPO已经发生,或者在从外部装置接收到计划电源切断通知信号并且将确认信号传输到所述外部装置之后确定所述NPO已经发生。
3.根据权利要求1所述的存储器系统,其中
所述辅助电源包括电容器或化学电池,并且
所述电容器选自由陶瓷电容器、堆叠型陶瓷电容器、高k电容器、电解电容器和钽聚合物电容器组成的组。
4.根据权利要求2所述的存储器系统,其中所述预定电压电平被设置为相对于从所述外部装置供应的所述外部供应电压的预定百分比。
5.根据权利要求1所述的存储器系统,其中当在所述未完成的操作完成之后所述辅助电源的所述剩余能量的量超过所述预定阈值时,检查所述辅助电源的所述剩余能量的量,并且基于所述辅助电源的所述剩余能量的量来确定待执行的数据验证操作的数量。
6.根据权利要求1所述的存储器系统,其中所述存储器装置中的所述预定区域选自所述存储器装置的用户区域,所述存储器装置包括所述用户区域和系统区域。
7.根据权利要求1所述的存储器系统,其中所述预定区域是以虚拟超级块为单位来选择的,每个虚拟超级块包括所述多个存储块之中的至少N个存储块,N为等于或大于2的自然数。
8.根据权利要求1所述的存储器系统,其中在所述数据验证操作期间,所述存储器控制器读取存储在所述预定区域中的数据,对读取数据执行错误检测操作,更新所述预定区域的读取计数数据值,并且将执行所述错误检测操作的结果以及经更新的读取计数数据值存储在所述存储器装置中。
9.根据权利要求8所述的存储器系统,其中所述预定阈值对应于所述存储器控制器执行所述数据验证操作所需的能量的量。
10.根据权利要求9所述的存储器系统,其中
所述存储器装置包括:第一存储器区域,由每个存储多位数据的存储器单元配置;以及第二存储器区域,由每个存储单位数据的存储器单元配置,并且
所述存储器控制器将所述执行所述错误检测操作的结果和所述经更新的读取计数数据值存储在所述第二存储器区域中。
11.一种操作存储器系统的方法,所述存储器系统包括存储器装置、控制所述存储器装置的存储器控制器、以及向所述存储器装置和所述存储器控制器供应电力的辅助电源,所述方法在所述存储器控制器的控制下执行并且包括:
响应于NPO或SPO的发生而激活所述辅助电源;
检查在所述辅助电源被激活的时间点是否存在未完成的操作,并且完成所述未完成的操作;并且
使用在完成所述未完成的操作之后的所述辅助电源的剩余能量,所述剩余能量的量超过预定阈值,对所述存储器装置中的预定区域执行数据验证操作,并且将关于所述数据验证操作的结果的信息存储在所述存储器装置中。
12.根据权利要求11所述的方法,其中所述激活所述辅助电源包括:
基于外部供应电压下降到低于预定电压电平预定时间段来确定所述SPO已经发生,或者在从外部装置接收到计划电源切断通知信号并且将确认信号传输到所述外部装置之后确定所述NPO已经发生。
13.根据权利要求11所述的方法,其中
所述辅助电源包括电容器或化学电池,并且
所述电容器选自由陶瓷电容器、堆叠型陶瓷电容器、高k电容器、电解电容器和钽聚合物电容器组成的组。
14.根据权利要求11所述的方法,其中所述将关于所述数据验证操作的结果的信息存储在所述存储器装置中包括:检查超过所述预定阈值的所述辅助电源的所述剩余能量的量,并且基于所述辅助电源的所述剩余能量的量来确定待执行的数据验证操作的数量。
15.根据权利要求11所述的方法,其中所述将关于所述数据验证操作的结果的信息存储在所述存储器装置中包括:
读取存储在所述预定区域中的数据;
对读取数据执行错误检测操作;
更新所述预定区域的读取计数数据值;并且
将执行所述错误检测操作的结果和经更新的读取计数数据值存储在所述存储器装置中。
16.根据权利要求15所述的方法,其中所述预定阈值是执行所述数据验证操作所需的能量的量。
17.根据权利要求15所述的方法,其中
所述存储器装置包括:第一存储器区域,由每个存储多位数据的存储器单元配置;以及第二存储器区域,由每个存储单位数据的存储器单元配置,并且
所述将执行所述错误检测操作的结果和所述经更新的读取计数数据值存储在所述存储器装置中包括:将执行所述错误检测操作的结果和所述经更新的读取计数数据值存储在所述第二存储器区域中。
18.根据权利要求11所述的方法,其中所述数据验证操作包括用于读取被频繁访问的热数据的读取操作。
19.根据权利要求11所述的方法,进一步包括:
响应于所述存储器系统的启动,读取存储在所述存储器装置中的关于所述数据验证操作的结果的信息;
检查所读取的信息以确定关于错误检测的信息是否包括在所读取的信息中;
在确定所读取的信息中的错误检测时,将所述预定区域的数据临时存储在所述存储器装置的另一存储器区域中;
擦除存储在所述预定区域中的数据;并且
将所述另一存储器区域中的临时存储的数据移回到所述预定区域。
CN202110295301.1A 2020-09-11 2021-03-19 存储器系统及其操作方法 Withdrawn CN114255789A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0116565 2020-09-11
KR1020200116565A KR20220034332A (ko) 2020-09-11 2020-09-11 메모리 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
CN114255789A true CN114255789A (zh) 2022-03-29

Family

ID=80626639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110295301.1A Withdrawn CN114255789A (zh) 2020-09-11 2021-03-19 存储器系统及其操作方法

Country Status (4)

Country Link
US (1) US11656990B2 (zh)
KR (1) KR20220034332A (zh)
CN (1) CN114255789A (zh)
TW (1) TW202211036A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210132784A (ko) * 2020-04-27 2021-11-05 삼성전자주식회사 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090129624A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 메모리 시스템 및 그것의 읽기 페일 방지 방법
US6681339B2 (en) * 2001-01-16 2004-01-20 International Business Machines Corporation System and method for efficient failover/failback techniques for fault-tolerant data storage system
US6542427B2 (en) * 2001-03-08 2003-04-01 Micron Technology, Inc. Power validation for memory devices on power up
US6904541B1 (en) * 2001-08-10 2005-06-07 Emc Corporation Methods and apparatus for providing power to electronic circuitry
US6711659B2 (en) * 2001-09-27 2004-03-23 Seagate Technology Llc Method and system for data path verification
US6968479B2 (en) * 2002-03-06 2005-11-22 Hewlett-Packard Development Company, L.P. Verifying data in a data storage device
US7085962B1 (en) * 2003-09-08 2006-08-01 Veritas Operating Corporation Method and system for completing a backup job that was interrupted during a backup process
EP1607865B1 (en) * 2004-06-14 2013-08-14 Micron Technology, Inc. Data control unit capable of correcting boot errors, and corresponding method
US7269764B2 (en) * 2004-06-18 2007-09-11 International Business Machines Corporation Monitoring VRM-induced memory errors
JP4931045B2 (ja) * 2006-06-06 2012-05-16 株式会社リコー 電源装置および画像形成装置
TW201011539A (en) * 2008-09-11 2010-03-16 Wistron Corp Data reserving method for a redundant array of independent disks and related data reserving device and system
US8806271B2 (en) * 2008-12-09 2014-08-12 Samsung Electronics Co., Ltd. Auxiliary power supply and user device including the same
US8471509B2 (en) * 2008-12-30 2013-06-25 Stmicroelectronics, Inc. Management of disk drive during power loss
JP5326737B2 (ja) * 2009-03-27 2013-10-30 富士通株式会社 プログラム、情報処理装置、コンテンツ処理方法及びコンテンツ処理システム
KR101603099B1 (ko) * 2009-10-01 2016-03-28 삼성전자주식회사 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법
US8966184B2 (en) * 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US20150378886A1 (en) * 2013-04-08 2015-12-31 Avalanche Technology, Inc. Software-defined ssd and system using the same
JP5882255B2 (ja) * 2013-04-30 2016-03-09 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
KR20180076715A (ko) 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP7063585B2 (ja) * 2017-11-27 2022-05-09 シャープ株式会社 端末装置、会議管理システム、プログラム及び会議管理方法

Also Published As

Publication number Publication date
TW202211036A (zh) 2022-03-16
KR20220034332A (ko) 2022-03-18
US11656990B2 (en) 2023-05-23
US20220083470A1 (en) 2022-03-17

Similar Documents

Publication Publication Date Title
US11301174B2 (en) Memory system, memory controller and method for operating memory system
US20210191863A1 (en) Memory system, and memory controller and method of operating the same
US20220229585A1 (en) System and operating method thereof
US11409470B2 (en) Memory system, memory controller, and method of operating memory system
US11656990B2 (en) Memory system and operating method thereof
US20230116156A1 (en) Memory controller controlling synchronization operation based on fused linked list and operating method thereof
US11467903B2 (en) Memory system and operating method thereof
US11474726B2 (en) Memory system, memory controller, and operation method thereof
KR20220070989A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210051644A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
KR20200118989A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11822819B2 (en) Memory system and operating method thereof
US11500771B2 (en) Memory system, memory controller, and method of operating memory system
US11355210B2 (en) Memory system and operating method thereof
US11848054B2 (en) Memory device determining precharge time based on a number of times that a program voltage is applied to word line and operating method of memory device
US11704050B2 (en) Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks
US11669266B2 (en) Memory system and operating method of memory system
US11495319B2 (en) Memory system, memory controller, and method for operating memory system performing integrity check operation on target code when voltage drop is detected
US11307807B2 (en) Memory system, memory controller, and method for operating memory system for determining read biases for read retry operation
US11636007B2 (en) Memory system and operating method thereof for flushing data in data cache with parity
US11960359B2 (en) Memory system, memory controller and operating method of memory system
US11544003B2 (en) Memory system, memory controller, and method of operating memory system
US20230387941A1 (en) Controller and operating method thereof for determining reliability data based on syndrome weight
US20230289260A1 (en) Controller and operating method of the controller for determining reliability data based on syndrome weight
US20220223217A1 (en) Memory system and operating method thereof

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20220329

WW01 Invention patent application withdrawn after publication