CN108376551B - 存储装置及对其数据进行刷新的方法 - Google Patents

存储装置及对其数据进行刷新的方法 Download PDF

Info

Publication number
CN108376551B
CN108376551B CN201810095224.3A CN201810095224A CN108376551B CN 108376551 B CN108376551 B CN 108376551B CN 201810095224 A CN201810095224 A CN 201810095224A CN 108376551 B CN108376551 B CN 108376551B
Authority
CN
China
Prior art keywords
refresh
indicator
sector
reference voltage
voltage level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810095224.3A
Other languages
English (en)
Other versions
CN108376551A (zh
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Publication of CN108376551A publication Critical patent/CN108376551A/zh
Application granted granted Critical
Publication of CN108376551B publication Critical patent/CN108376551B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • 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
    • 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/08Address circuits; Decoders; Word-line control 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Dram (AREA)

Abstract

本发明提供一种存储装置及对其数据进行刷新的方法。存储装置包括:存储区块,包括多个扇区;及控制单元,被配置成:将多个第一指示符预先存储在存储单元中,多个第一指示符分别对应于存储区块中的多个刷新单元,各刷新单元包括至少一个扇区,第一指示符是基于第一参考电压电平来产生,在用于擦除存储区块的目标扇区的擦除循环中,以第二参考电压电平从所选择的刷新单元读取数据,基此来产生所选择的刷新单元的第二指示符,将与所选择的刷新单元对应的第一指示符与第二指示符进行比较,如果第二指示符不等于第一指示符,则刷新所选择的刷新单元中的数据。

Description

存储装置及对其数据进行刷新的方法
技术领域
本发明涉及一种存储装置及一种控制所述存储装置的方法,且更具体来说涉及一种对所述存储装置执行刷新操作的方法。
背景技术
闪速存储装置(flash memory device)是一种将逻辑数据的位存储在一个或多个存储区块中所排列的存储胞元中的专门类型的非易失性存储器。存储胞元可被编程为存储逻辑数据“0”、或被擦除成存储逻辑值“1”。通常,在以数据对存储区块进行编程之前会首先擦除所述存储区块。有时,可部分地擦除存储区块(即,擦除所述存储区块的所选择的一部分),而不擦除所述存储区块的未被选择的部分。在此种情形中,需要刷新存储区块的未被选择的部分以确保数据完整性(data integrity)。
发明内容
根据本发明的实施例,提供一种存储装置。所述存储装置包括:存储区块,包括多个扇区;以及控制单元,被配置成:将多个第一指示符预先存储在存储单元中,所述多个第一指示符分别对应于所述存储区块中的多个刷新单元,各所述刷新单元包括至少一个扇区,且所述第一指示符是基于第一参考电压电平来产生的。所述控制单元还被配置成在用于擦除所述存储区块的目标扇区的擦除循环中:以第二参考电压电平从所述多个刷新单元中的一个所选择的刷新单元读取数据;基于所述数据来产生所述所选择的刷新单元的第二指示符;将所述多个第一指示符中与所述所选择的刷新单元对应的一个第一指示符与所述所选择的刷新单元的所述第二指示符进行比较;以及如果所述第二指示符不等于所述第一指示符,则刷新所述所选择的刷新单元中的数据。
根据本发明的实施例,提供一种对存储装置中的数据进行刷新的方法。所述方法包括:将多个第一指示符预先存储在存储单元中,所述多个第一指示符分别对应于包括多个扇区的存储区块中的多个刷新单元,各所述刷新单元包括至少一个扇区,且所述第一指示符是基于第一参考电压电平来产生的。所述方法还包括在用于擦除所述存储区块的目标扇区的擦除循环中:以第二参考电压电平从所述多个刷新单元中的一个所选择的刷新单元读取数据;基于所述数据来产生所述所选择的刷新单元的第二指示符;将所述多个第一指示符中与所述所选择的刷新单元对应的一个第一指示符与所述所选择的刷新单元的所述第二指示符进行比较;以及如果所述第二指示符不等于所述第一指示符,则刷新所述所选择的刷新单元中的数据。
被并入本申请中并构成本申请的一部分的附图对所公开的实施例进行说明,并与本说明一起用于阐释所公开的实施例。
附图说明
图1是根据所说明实施例的存储装置的示意图;
图2是存储区块的示意图;
图3是存储装置中的存储胞元的阈值电压分布;
图4是根据比较实例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程的流程图;
图5是根据所说明实施例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程的流程图;
图6是根据所说明实施例的存储装置中的存储胞元的阈值电压分布、以及第一参考电压电平V_ref1及第二参考电压电平V_ref2;
图7是根据另一所说明实施例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程的流程图;
图8是根据所说明实施例的用于刷新所选择的刷新单元的过程的流程图。
附图标号说明:
100:存储装置
110:存储阵列
120:列解码器
130:感测放大器
140:行解码器
150:控制单元
152:处理器
154:存储单元
156:电压产生器
200:存储区块
400、500、700:过程
402、404、406、408、410、412、414、416、418、420、422、424、426、502、504、506、508、510、512、514、516、518、520、522、550、552、554、556、702、704、706、708、710、712、714、716、718、720、722、750、752、754、756、802、804、806、808、810、812、814、816:步骤
A、B、C:区
V_ref:参考电压电平
V_ref1:第一参考电压电平
V_ref2:第二参考电压电平
Vt:阈值电压
具体实施方式
现将详细参照本发明实施例,所述本发明实施例的实例被示出于附图中。在所有附图中将尽可能使用相同的参考编号指代相同或类似的部件。
图1是根据所说明实施例的存储装置100的示意图。根据图1,存储装置100包括存储阵列110,存储阵列110包括排列成行与列的多个存储胞元。存储装置100还包括列解码器120、感测放大器130、行解码器140、及控制单元150。列解码器120耦合至存储阵列110中的多个本地位线(local bit line)以存取存储阵列110中的存储胞元的各别列。行解码器140耦合至存储阵列110中的多个字线(word line)以存取存储阵列110中的存储胞元的各别行。感测放大器130耦合至存储阵列110以读取存储在存储阵列110中的存储胞元中的数据。尽管列解码器120、感测放大器130、及行解码器140被示出为单独的电路,然而所属领域中的技术人员应认识到列解码器120、感测放大器130、及行解码器140可被组合在一个电路中。
控制单元150耦合至列解码器120、感测放大器130、及行解码器140以响应于来自外部装置(图中未示出)的命令来控制列解码器120、感测放大器130、及行解码器140的运作。在图1中所示的实施例中,控制单元150包括处理器152、存储单元154、及电压产生器156。存储单元154被配置成存储由处理器152执行以响应于来自外部装置的命令信号来控制列解码器120、感测放大器130、及行解码器140的运作的指令。处理器152是可被配置成执行存储在存储单元154中的指令的通用处理器。电压产生器156被配置成产生用于控制列解码器120、感测放大器130、及行解码器140的运作的各种电压。在替代性实施例中,控制单元150可包括被配置成控制列解码器120、感测放大器130、及行解码器140的运作的专用逻辑电路。
总体来说,存储阵列110包括多个存储胞元区块,在下文中称作存储区块。存储区块是在半导体衬底中的隔离阱中制作的。图2是存储区块200的示意图。根据图2,存储区块200是由存储胞元的n个扇区(即,扇区0、扇区1、…、扇区n-1)组成。每一扇区是由m列存储胞元(即,列0、列1、…、列m-1)组成。每一列是由x个存储胞元(即,存储胞元0、存储胞元1、…、存储胞元x-1)组成。举例来说,2兆位(Mb)的存储区块是由64个扇区组成,每一扇区是由1024个列组成,且每一列是由32个存储胞元组成。存储区块200中的n个扇区(扇区0、扇区1、…、扇区n-1)是在单个三阱(triple well)中制作的,所述单个三阱与其中制作有其他存储区块的扇区的其他三阱隔离。存储区块200可被划分成多个刷新单元,每一刷新单元是由一个或多个扇区组成。在图2中所示的实例中,每一刷新单元是由两个扇区组成,且因此存储区块200包括n/2个刷新单元(刷新单元0、刷新单元1、…、刷新单元n/2-1)。
图3是存储装置中的存储胞元的阈值电压分布。存储胞元可具有比参考电压电平V_ref高的相对高的阈值电压Vt、或比参考电压电平V_ref低的相对低的阈值电压Vt。相对高的阈值电压Vt代表逻辑值“0”。相对低的阈值电压Vt代表逻辑值“1”。用于写入“0”的操作被称作编程操作(program operation)。用于写入“1”的操作被称作擦除操作(eraseoperation)。一般来说,擦除操作可在擦除循环中同时对各存储胞元的扇区执行。
图4是根据比较实例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程400的流程图。可通过图1的控制单元150来执行过程400。
根据图4,在步骤402中,控制单元150对存储胞元的目标扇区执行预先编程操作(pre-program operation)。在预先编程操作中,将目标扇区中的所有存储胞元编程为具有平均的高阈值电压Vt。在步骤404中,控制单元150对存储胞元的目标扇区执行擦除操作。在擦除操作中,将目标扇区中的所有存储胞元擦除成具有比参考电压电平V_ref低的低阈值电压Vt。作为擦除操作的结果,目标扇区变为擦除扇区(erased sector)。
在步骤402及404中,与擦除扇区相同的存储区块中所包括的其他扇区(在下文中称作“非擦除扇区(non-erased sector)”)可能受到在预先编程操作(步骤402)及擦除操作(步骤404)期间施加至目标扇区的各种电压干扰。此是因为这些非擦除扇区是在与擦除扇区相同的隔离阱中制作的。作为结果,存储逻辑数据“0”的非擦除扇区的阈值电压Vt可例如由图3所示阈值电压分布中的虚线分布所示般减小,使得在从这些非擦除扇区读取数据时潜在地引起错误。因此,需要刷新操作(refresh operation)来覆盖存储区块中的受扰扇区的数据。
在图4中所示的比较实例中,执行刷新操作以刷新存储区块中的所有非擦除扇区(步骤406)。具体来说,在步骤406中的刷新操作期间,控制单元150选择存储区块中的第一扇区(步骤408)。控制单元150判断所选择的扇区是否是擦除扇区(即,经历过步骤404中的擦除操作的扇区)(步骤410)。如果所选择的扇区不是擦除扇区(步骤410:否),则控制单元150进行至步骤412以刷新所述所选择的扇区。如果所选择的扇区是擦除扇区(步骤410:是),则控制单元150进行至随后将阐述的步骤424。
在用于刷新所选择的扇区的步骤412期间,控制单元150以参考电压电平基于从对应列读取的数据来刷新所述所选择的扇区中所包括的每一个列,所述参考电压电平等于图3中所示的参考电压电平V_ref。具体来说,控制单元150首先选择所选择的扇区中的第一列(步骤414)。控制单元150接着以参考电压电平V_ref读取所选择的列(步骤416)。也就是说,控制单元150通过将参考电压电平V_ref施加至存储胞元来读取存储在所选择的列中的所述存储胞元中的数据。如果所选择的列中的存储胞元的阈值电压低于参考电压电平V_ref,则控制单元150获得逻辑值“1”。如果所选择的列中的存储胞元的阈值电压高于参考电压电平V_ref,则控制单元150获得逻辑值“0”。在读取所选择的列后,控制单元150基于通过读取所选择的列而获得的数据来对此列执行重新编程操作(步骤418)。也就是说,控制单元150基于从所选择的列中的存储胞元读取的数据对所述所选择的列中的所述存储胞元执行重新编程操作。如果从存储胞元读取的逻辑值为“0”,则控制单元150将对所述存储胞元进行重新编程以将逻辑值“0”写入所述存储胞元中。如果从存储胞元读取的逻辑值为“1”,则控制单元150将不对所述存储胞元进行重新编程。
接下来,控制单元150判断所选择的列是否是所选择的扇区中的最末列(步骤420)。如果所选择的列不是所选择的扇区中的最末列(步骤420:否),则控制单元150进行至步骤422以选择所述所选择的扇区中的下一列并接着返回到步骤416以通过施加参考电压电平V_ref来读取所述所选择的列。如果所选择的列是所选择的扇区中的最末列(步骤420:是),否则控制单元150进行至步骤424。
在步骤424中,控制单元150判断所选择的扇区是否是存储区块中的最末扇区。如果所选择的扇区不是存储区块中的最末扇区(步骤424:否),则控制单元150进行至步骤426以选择存储区块中的下一扇区并接着返回到步骤410以判断所述所选择的扇区是否是擦除扇区。如果所选择的扇区是存储区块中的最末扇区(步骤424:是),则控制单元150结束擦除循环。
在上述过程中,需要在每一擦除循环中对存储区块中的每一个非擦除扇区进行刷新。作为结果,所述擦除循环可能耗费相对长的时间才能完成。举例来说,假定2MB的存储区块包括64个扇区(1个擦除扇区与63个非擦除扇区)、且读取一个扇区耗费X微秒(μs)、并且对一个扇区进行重新编程耗费Yμs,则刷新一个扇区中的数据会耗费(X+Y)μs,且在每一擦除循环中刷新存储区块中的所有非擦除扇区的数据会耗费63×(X+Y)μs。由于步骤402中的预先编程操作及步骤404中的擦除操作消耗相对短的时间,因此步骤406中的刷新操作耗费整个擦除循环期间的大多数时间。因此,期望减少用于执行刷新操作的时间。
另外,每当刷新扇区时,可能在相同区块中的其他扇区中所包括的存储胞元上引发排放应力干扰(drain stress disturbance)。排放应力干扰可能影响存储在存储胞元中的数据。因此,期望减少每一擦除循环中的刷新操作的数目。
图5是根据所说明实施例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程500的流程图。可通过图1的控制单元150来执行过程500。
在阐述过程500之前,将阐述预先存储操作550。预先存储操作550存储与存储区块中所包括的所述多个扇区分别对应的多个第一指示符。所述多个第一指示符是基于第一参考电压电平V_ref1而产生的,以下将更详细地对其予以阐述。可在擦除循环的过程500之前(例如,在加电读取操作(power-up read operation)期间)执行预先存储操作550。作为另外一种选择,可在过程500期间(更具体来说,在以下将阐述的步骤502中的预先编程操作期间)执行预先存储操作550。
在预先存储操作550期间,控制单元150首先以第一参考电压电平V_ref1读取存储区块中的每一扇区(步骤552)。也就是说,控制单元150通过将第一参考电压电平V_ref1施加至存储胞元来读取存储在每一扇区的所述存储胞元中的数据。
图6是根据所说明实施例的存储装置中的存储胞元的阈值电压分布、以及第一参考电压电平V_ref1及第二参考电压电平V_ref2。如图6中所示,第一参考电压电平V_ref1等于图3中所示的参考电压电平V_ref。第二参考电压电平V_ref2高于第一参考电压电平V_ref1。当控制单元150通过施加第一参考电压电平V_ref1来从存储胞元读取数据时,如果所述存储胞元的阈值电压位于区A中(即,低于第一参考电压电平V_ref1),则控制单元150获得逻辑值“1”;且如果所述存储胞元的阈值电压位于区B或区C中(即,高于第一参考电压电平V_ref1),则控制单元150获得逻辑值“0”。当控制单元150通过施加第二参考电压电平V_ref2来从存储胞元读取数据时,如果存储胞元的阈值电压位于区A或区B中(即,低于第二参考电压电平V_ref2),则控制单元150获得逻辑值“1”;以及如果所述存储胞元的阈值电压位于区C中(即,高于第二参考电压电平V_ref2),则控制单元150获得逻辑值“0”。如果存储胞元具有位于区B中的阈值电压,则需要刷新所述存储胞元(即,对所述存储胞元进行重新编程)以将所述阈值电压移动至区C。如果存储胞元具有位于区A或区C中的阈值电压,则无需刷新所述存储胞元。
重新参照图5,在控制单元150以第一参考电压电平V_ref1读取每一扇区后,控制单元150基于从每一扇区读取的数据来产生所述每一扇区的第一指示符(步骤554)。第一指示符可为循环冗余检查(cyclic redundancy check,CRC)错误状态指示符、错误修正检查(error correction check,ECC)奇偶校验位错误状态指示符、代表从对应扇区读取的数据中“1”的数目的数字“1”计算错误状态指示符、或代表从对应扇区读取的数据中“0”的数目的数字“0”计算错误状态指示符。举例来说,控制单元150可包括CRC产生器、ECC产生器、数字“1”产生器、或数字“0”产生器以处理从每一扇区读取的数据及产生第一指示符。
在产生每一扇区的第一指示符后,控制单元150将所有扇区的所产生的第一指示符存储在存储单元中(步骤556)。存储单元可包括在图1所示控制单元150中或存储阵列110中。
参照过程500中的擦除循环,在步骤502中,控制单元150对存储胞元的目标扇区执行预先编程操作。在步骤504中,控制单元150对存储胞元的目标扇区执行擦除操作,使得所述目标扇区变为擦除扇区。步骤502中的预先编程操作及步骤504中的擦除操作分别与步骤402中的预先编程操作及步骤404中的擦除操作相同,且因此不再对步骤502及504予以赘述。在步骤504后,控制单元150执行刷新操作以刷新在与擦除扇区相同的存储区块中制作的非擦除扇区(步骤506)。
在步骤506中的刷新操作期间,控制单元150选择存储区块中的第一扇区(步骤508)。控制单元150接着判断所选择的扇区是否是擦除扇区(即,经历过步骤504中的擦除操作的扇区)(步骤510)。如果所选择的扇区是擦除扇区(步骤510:是),则控制单元150进行至随后将阐述的步骤520。
如果所选择的扇区不是擦除扇区(步骤510:否)(即,所选择的扇区是非擦除扇区),则控制单元150以第二参考电压电平V_ref2读取所述所选择的扇区(步骤512)。也就是说,控制单元150通过将第二参考电压电平V_ref2施加至存储胞元来从所选择的扇区中的存储胞元读取数据。接着,控制单元150以第二参考电压电平V_ref2基于从所选择的扇区读取的数据来产生所述所选择扇区的第二指示符(步骤514)。与第一指示符类似,第二指示符可为CRC错误状态指示符、ECC奇偶校验位错误状态指示符、数字“1”计算错误状态指示符、或数字“0”计算错误状态指示符。第二指示符的类型与第一指示符的类型相同。举例来说,如果第一指示符是CRC错误状态指示符,则第二指示符也是CRC错误状态指示符。
在控制单元150产生所选择的扇区的第二指示符后,控制单元150判断所选择的扇区的第一指示符是否等于所述所选择的扇区的第二指示符(步骤516)。如果第一指示符不等于第二指示符(步骤516:否),则控制单元150确定所选择的扇区中的至少一个存储胞元的阈值电压下降到第二参考电压电平V_ref2以下。在此种情形中,控制单元150进行至步骤518以刷新所选择的扇区。在步骤518期间,控制单元150以第一参考电压电平V_ref1基于从对应列读取的数据来刷新所选择的扇区中所包括的每一列。步骤518与图4所示步骤412相似,且因此不再对步骤518予以赘述。在刷新所选择的扇区后,控制单元150结束擦除循环。
如果第一指示符等于第二指示符(步骤516:是),则控制单元150进行至步骤520以判断所选择的扇区是否是存储区块中的最末扇区。如果所选择的扇区不是存储区块中的最末扇区(步骤520:否),则控制单元150进行至步骤522以选择下一扇区并接着返回到步骤510以判断所述所选择的扇区是否是擦除扇区。如果所选择的扇区是存储区块中的最末扇区(步骤520:是),则控制单元150结束擦除循环。
在参照图5阐述的实施例中,在每一擦除循环中仅刷新一个扇区。在最佳情形的情景中,需要被刷新的扇区是存储区块中的第一非擦除扇区。此时,步骤506中的刷新操作仅耗费2X+Yμs,即步骤512中用于读取扇区的Xμs加步骤518中用于刷新所述扇区的(X+Y)μs。在最差情形的情景中,需要被刷新的扇区是由63个非擦除扇区与一个擦除扇区组成的存储区块中的最末非擦除扇区。此时,步骤506中的刷新操作会耗费64X+Yμs,即用于读取所述63个非擦除扇区的63×Xμs加步骤518中用于刷新所述扇区的(X+Y)μs。作为另外一种选择,如果所述63个非擦除扇区均不需要被刷新(即,每一扇区的第一指示符与第二指示符相等),则步骤506中的刷新操作会耗费63×Xμs,即步骤512中用于读取所述63个扇区的时间。在以上情形中的任一种情形中,完成步骤506中的刷新操作所需的时间与步骤406中的刷新操作所需的时间63×(X+Y)μs相比大幅减少。
在参照图5所述的实施例中,步骤506中的刷新操作是以一个扇区为单元执行。在某些其他实施例中,刷新操作可以多于一个扇区为单元执行。用于执行刷新操作的单元被称作“刷新单元”。刷新单元可由一个或多个扇区组成。刷新单元的大小可由用户来配置。
图7是根据所说明实施例的用于擦除存储区块中的存储胞元的目标扇区的擦除循环的过程700的流程图。在此实施例中,刷新操作是在由一个或多个扇区组成的刷新单元中执行。过程700可通过图1的控制单元150来执行。在此实施例中,存储区块由多个刷新单元组成,且每一刷新单元由一个或多个扇区组成。
在阐述过程700之前,将阐述预先存储操作750。预先存储操作750存储与存储区块中的所述多个刷新单元分别对应的多个第一指示符。可在擦除循环的过程700之前(例如,在加电读取操作期间)执行预先存储操作750。作为另外一种选择,可在过程700期间(更具体来说,在以下将阐述的步骤702中的预先编程操作期间)执行预先存储操作750。
在预先存储操作750期间,控制单元150首先以第一参考电压电平V_ref1读取存储区块中的每一刷新单元(步骤752)。也就是说,控制单元150通过将第一参考电压电平V_ref1施加至存储胞元来读取存储在每一刷新单元的所述存储胞元中的数据。
在控制单元150以第一参考电压电平V_ref1读取每一刷新单元后,控制单元150基于从每一扇区读取的数据来产生每一刷新单元的第一指示符(步骤754)。第一指示符可为CRC错误状态指示符、ECC奇偶校验位错误状态指示符、数字“1”计算错误状态指示符、或数字“0”计算错误状态指示符。
在产生每一刷新单元的第一指示符后,控制单元150将所有刷新单元的所产生的第一指示符存储在存储单元中(步骤756)。存储单元可包括在图1所示控制单元150或存储阵列110中。
参照过程700中的擦除循环,在步骤702中,控制单元150对存储胞元的目标扇区执行预先编程操作。在步骤704中,控制单元150对存储胞元的目标扇区执行擦除操作,使得所述目标扇区变为擦除扇区。步骤702中的预先编程操作及步骤704中的擦除操作分别与步骤402中的预先编程操作及步骤404中的擦除操作相同,且因此不再对步骤702及704予以赘述。在步骤704后,控制单元150执行刷新操作以刷新刷新单元(步骤706)。
在步骤706中的刷新过程期间,控制单元150选择存储区块中的第一刷新单元(步骤708)。控制单元150接着判断所选择的刷新单元是否含有擦除扇区(即,经历过步骤704中的擦除操作的扇区)(步骤710)。如果所选择的刷新单元含有擦除扇区(步骤710:是),则控制单元150进行至随后将阐述的步骤720。
如果所选择的刷新单元不含有擦除扇区(步骤710:否),则控制单元150以第二参考电压电平V_ref2读取所述所选择的刷新单元(步骤712)。也就是说,控制单元150通过将第二参考电压电平V_ref2施加至存储胞元来从所选择的刷新单元中的存储胞元读取数据。接着,控制单元150以第二参考电压电平V_ref2基于从所述刷新单元读取的数据来产生所述所选择的刷新单元的第二指示符(步骤714)。与第一指示符类似,第二指示符可为CRC错误状态指示符、ECC奇偶校验位错误状态指示符、数字“1”计算错误状态指示符、或数字“0”计算错误状态指示符。第二指示符的类型与第一指示符的类型相同。举例来说,如果第一指示符是CRC错误状态指示符,则第二指示符也是CRC错误状态指示符。
在控制单元150产生所选择的刷新单元的第二指示符后,控制单元150判断所选择的刷新单元的第一指示符是否等于所述所选择的刷新单元的第二指示符(步骤716)。如果第一指示符不等于第二指示符(步骤716:否),则控制单元150确定所选择的刷新单元中的至少一个存储胞元的阈值电压下降到第二参考电压电平V_ref2以下。在此种情形中,控制单元150进行至步骤718以刷新所选择的刷新单元。在步骤718期间,控制单元150以第一参考电压电平V_ref1基于从对应列读取的数据来刷新所选择的刷新单元中的每一扇区中所包括的每一列。将参照图8来阐述步骤718。在刷新所选择的刷新单元后,控制单元150结束擦除循环。
如果第一指示符等于第二指示符(步骤716:是),则控制单元150进行至步骤720以判断所选择的刷新单元是否是存储区块中的最末刷新单元。如果所选择的刷新单元不是存储区块中的最末刷新单元(步骤720:否),则控制单元150进行至步骤722以选择下一刷新单元并接着返回到步骤710以判断所述所选择的刷新单元是否含有擦除扇区。如果所选择的刷新单元是存储区块中的最末刷新单元(步骤720:是),则控制单元150结束擦除循环。
图8是根据所说明实施例的用于刷新步骤718中的所选择的刷新单元的过程的流程图。根据图8,控制单元150首先选择所选择的刷新单元中的第一扇区(步骤802)。控制单元150接着选择所选择的扇区中的第一列(步骤804)。控制单元150接着以第一参考电压电平V_ref1读取所选择的列(步骤806)。在读取所选择的列后,控制单元150基于通过读取所选择的扇区而获得的数据来对所述所选择的列进行重新编程(步骤808)。接下来,控制单元150判断所选择的列是否是所选择的扇区中的最末列(步骤810)。如果所选择的列不是所选择的扇区中的最末列(步骤810:否),则控制单元150选择所述所选择的扇区中的下一列(步骤812),并接着返回到步骤806来以第一参考电压电平V_ref1读取所述所选择的列。如果所选择的列是所选择的扇区中的最末列(步骤810:是),则控制单元150判断所述所选择的扇区是否是刷新单元中的最末扇区(步骤814)。如果所选择的扇区不是刷新单元中的最末扇区(步骤814:否),则控制单元150选择刷新单元中的下一扇区(步骤816),并接着返回到步骤804以选择所述所选择的扇区中的第一列。如果所选择的扇区是刷新单元中的最末扇区(步骤814:是),则控制单元150结束步骤718。
在参照图7及图8所述的实施例中,在每一擦除循环中刷新一个刷新单元。每一刷新单元可包括一个或多个扇区。对于以下实例,存储区块被划分成32个刷新单元且每一刷新单元包括两个扇区。在最佳情形的情景中,需要被刷新的刷新单元是存储区块中的第一刷新单元。此时,步骤706中的刷新操作会耗费4X+2Yμs,即步骤712中用于读取包括两个扇区的刷新单元的2×Xμs加步骤718中用于刷新所述刷新单元的2×(X+Y)μs。在最差情形的情景中,需要被刷新的刷新单元是由不含有擦除扇区的31个刷新单元组成的存储区块中的最末刷新单元。此时,步骤706中的刷新操作会耗费64X+2Yμs,即用于读取所述31个刷新单元的2×X×31=62Xμs加步骤718中用于刷新所述刷新单元的2×(X+Y)μs。作为另外一种选择,如果所述31个刷新单元均不需要被刷新,则步骤706中的刷新操作仅耗费2×X×31=62Xμs,即步骤712中用于读取所述31个刷新单元的时间。在以上情形中的任一种情形中,步骤706中的刷新操作所需的时间与步骤406中的刷新操作所需的时间63×(X+Y)μs相比大幅减少。
根据上述实施例,仅对一个扇区或一个由存储区块的扇区中的一部分组成的刷新单元执行擦除循环中的刷新操作。因此,完成刷新操作所需的时间大幅减少。另外,读取操作及重新编程操作的数目大幅减小,从而使得所述存储装置的可靠性提高。
通过考虑本说明书及实践本文中所公开的发明,本发明的其他实施例将对于所属领域中的技术人员来说显而易见。旨在将本说明书及各实例视作仅为示例性的,且本发明的真实范围及精神由以上权利要求指示。

Claims (12)

1.一种存储装置,其特征在于,包括:
存储区块,包括多个扇区;以及
控制单元,被配置成:
将多个第一指示符预先存储在存储单元中,所述多个第一指示符分别对应于所述存储区块中的多个刷新单元,各所述刷新单元包括至少一个扇区,且所述第一指示符是基于第一参考电压电平来产生的;以及
在用于擦除所述存储区块的目标扇区的擦除循环中:
以第二参考电压电平从所述多个刷新单元中的一个所选择的刷新单元读取数据,其中所述第二参考电压电平高于所述第一参考电压电平;
基于所述数据来产生所述所选择的刷新单元的第二指示符;
将所述多个第一指示符中与所述所选择的刷新单元对应的一个第一指示符与所述所选择的刷新单元的所述第二指示符进行比较;
如果所述第二指示符不等于所述对应的一个第一指示符,则刷新所述所选择的刷新单元中的数据;
如果所述第二指示符等于所述对应的一个第一指示符,则选择所述多个刷新单元中的下一个刷新单元;以及
在刷新所述所选择的刷新单元中的数据后,退出所述擦除循环。
2.根据权利要求1所述的存储装置,其特征在于,当将所述多个第一指示符预先存储在所述存储单元中时,所述控制单元被配置成:
以所述第一参考电压电平从所述多个刷新单元中的一个刷新单元读取数据;
基于从所述一个刷新单元读取的所述数据来产生所述一个刷新单元的所述第一指示符;以及
将所述一个刷新单元的所述第一指示符存储在所述存储单元中。
3.根据权利要求1所述的存储装置,其特征在于,所述多个刷新单元中的每一个包括扇区,且所述扇区包括多个列,
所述控制单元被配置成,当刷新所述所选择的刷新单元中的数据时,对于所述多个列中的每一个列:
以所述第一参考电压电平从所述列读取数据;以及
以所述第一参考电压电平基于从所述列读取的所述数据对所述列进行重新编程。
4.根据权利要求1所述的存储装置,其特征在于,所述多个刷新单元中的每一个包括多个扇区,且各所述扇区包括多个列,
所述控制单元被配置成,当刷新所述所选择的刷新单元中的数据时,对于所述多个扇区中的每一个扇区中的所述多个列中的每一个列:
以所述第一参考电压电平从所述列读取数据;以及
以所述第一参考电压电平基于从所述列读取的所述数据对所述列进行重新编程。
5.根据权利要求1所述的存储装置,其特征在于,所述第一指示符及所述第二指示符包括循环冗余检查错误状态指示符、错误修正检查奇偶校验位错误状态指示符、或数字“1”计算错误状态指示符中的至少一个。
6.根据权利要求1所述的存储装置,其特征在于,所述控制单元进一步被配置成在所述擦除循环中:
对所述目标扇区进行重新编程;以及
擦除所述目标扇区,
所述控制单元被配置成在所述擦除循环之前将所述多个第一指示符预先存储在所述存储单元中,
所述控制单元被配置成在对所述目标扇区进行预先编程的同时,将所述多个第一指示符预先存储在所述存储单元中。
7.一种对存储装置中的数据进行刷新的方法,其特征在于,包括:
将多个第一指示符预先存储在存储单元中,所述多个第一指示符分别对应于包括多个扇区的存储区块中的多个刷新单元,各所述刷新单元包括至少一个扇区,且所述第一指示符是基于第一参考电压电平来产生的;以及
在用于擦除所述存储区块的目标扇区的擦除循环中:
以第二参考电压电平从所述多个刷新单元中的一个所选择的刷新单元读取数据,其中所述第二参考电压电平高于所述第一参考电压电平;
基于所述数据来产生所述所选择的刷新单元的第二指示符;
将所述多个第一指示符中与所述所选择的刷新单元对应的一个第一指示符与所述所选择的刷新单元的所述第二指示符进行比较;
如果所述第二指示符不等于所述对应的一个第一指示符,则刷新所述所选择的刷新单元中的数据;
如果所述第二指示符等于所述对应的一个第一指示符,则选择所述多个刷新单元中的下一个刷新单元;以及
在刷新所述所选择的刷新单元中的数据后,退出所述擦除循环。
8.根据权利要求7所述的方法,其特征在于,所述将多个第一指示符预先存储在所述存储单元中包括:
以所述第一参考电压电平从所述多个刷新单元中的一个刷新单元读取数据;
基于从所述一个刷新单元读取的所述数据来产生所述一个刷新单元的所述第一指示符;以及
将所述一个刷新单元的所述第一指示符存储在所述存储单元中。
9.根据权利要求7所述的方法,其特征在于,所述多个刷新单元中的每一个包括扇区,且所述扇区包括多个列,
所述刷新所述所选择的刷新单元中的数据包括对于所述多个列中的每一个列:
以所述第一参考电压电平从所述列读取数据;以及
以所述第一参考电压电平基于从所述列读取的所述数据对所述列进行重新编程。
10.根据权利要求7所述的方法,其特征在于,所述多个刷新单元中的每一个包括多个扇区,且各所述扇区包括多个列,
所述刷新所述所选择的刷新单元中的数据包括对于所述多个扇区中的每一个扇区中的所述多个列中的每一个列:
以所述第一参考电压电平从所述列读取数据;以及
以所述第一参考电压电平基于从所述列读取的所述数据对所述列进行重新编程。
11.根据权利要求7所述的方法,其特征在于,所述第一指示符及所述第二指示符包括循环冗余检查错误状态指示符、错误修正检查奇偶校验位错误状态指示符、或数字“1”计算错误状态指示符中的至少一个。
12.根据权利要求7所述的方法,其特征在于,进一步包括:在所述擦除循环中:
对所述目标扇区进行重新编程;
擦除所述目标扇区,
所述方法进一步包括:
在所述擦除循环之前将所述多个第一指示符预先存储在所述存储单元中;以及
在对所述目标扇区进行预先编程的同时,将所述多个第一指示符预先存储在所述存储单元中。
CN201810095224.3A 2017-01-31 2018-01-31 存储装置及对其数据进行刷新的方法 Active CN108376551B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/420,367 2017-01-31
US15/420,367 US10216570B2 (en) 2017-01-31 2017-01-31 Memory device and control method thereof

Publications (2)

Publication Number Publication Date
CN108376551A CN108376551A (zh) 2018-08-07
CN108376551B true CN108376551B (zh) 2021-02-23

Family

ID=62980597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810095224.3A Active CN108376551B (zh) 2017-01-31 2018-01-31 存储装置及对其数据进行刷新的方法

Country Status (3)

Country Link
US (1) US10216570B2 (zh)
CN (1) CN108376551B (zh)
TW (1) TWI663599B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10347315B2 (en) * 2017-10-31 2019-07-09 Sandisk Technologies Llc Group read refresh
CN111785316B (zh) * 2020-06-29 2021-03-05 深圳市芯天下技术有限公司 一种克服擦除干扰的方法、系统、存储介质和终端
CN111785315B (zh) * 2020-06-29 2021-03-23 深圳市芯天下技术有限公司 降低擦除干扰和擦除时间的方法、系统、存储介质及终端

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW559814B (en) * 2001-05-31 2003-11-01 Semiconductor Energy Lab Nonvolatile memory and method of driving the same
US6931480B2 (en) * 2001-08-30 2005-08-16 Micron Technology, Inc. Method and apparatus for refreshing memory to preserve data integrity
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100875292B1 (ko) * 2006-09-19 2008-12-23 삼성전자주식회사 플래시 메모리 장치 및 그것의 리프레쉬 방법
TW201011761A (en) * 2008-09-15 2010-03-16 Amic Technology Corp Refresh method for a non-volatile memory
US8009498B2 (en) 2009-11-12 2011-08-30 National Tsing Hua University Memory refresh system and operating method thereof
KR101601643B1 (ko) * 2013-11-08 2016-03-09 주식회사 피델릭스 효율적으로 리프레쉬 동작을 수행하는 플래시 메모리 장치
FR3033076B1 (fr) * 2015-02-23 2017-12-22 St Microelectronics Rousset Memoire non volatile ayant un decodeur de ligne a polarite variable
ITUB20151112A1 (it) * 2015-05-27 2016-11-27 St Microelectronics Srl Dispositivo di memoria non-volatile e corrispondente metodo di funzionamento con riduzione degli stress

Also Published As

Publication number Publication date
TW201842506A (zh) 2018-12-01
CN108376551A (zh) 2018-08-07
TWI663599B (zh) 2019-06-21
US20180217893A1 (en) 2018-08-02
US10216570B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
US10891188B2 (en) Memory devices having differently configured blocks of memory cells
US9947415B2 (en) Nonvolatile semiconductor memory device having a control circuit that controls voltage applied to non-selected word lines connected to unselected memory cells
US7894264B2 (en) Controlling a memory device responsive to degradation
US9177653B2 (en) Method and system for programming non-volatile memory cells based on programming of proximate memory cells
KR101423612B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
US20050286297A1 (en) Multiple level cell memory device with single bit per cell, re-mappable memory block
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
KR101468432B1 (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US8638632B2 (en) Access line management in a memory device
CN108376551B (zh) 存储装置及对其数据进行刷新的方法
US11238952B2 (en) Memory system, memory controller, and method of operating memory system
US10817189B2 (en) Semiconductor memory device and operation setting method thereof
JP5545552B2 (ja) メモリ・デバイスにおけるデータ転送およびプログラミング
US9747206B2 (en) Methods for reprogramming data and apparatuses using the same
US7653863B2 (en) Data storing method for a non-volatile memory cell array having an error correction code
US11307918B2 (en) Memory controller performing recovery operation, operating method of the same, and memory system including the same
US20140092682A1 (en) Method for programming and reading flash memory by storing last programming page number
KR102707679B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치의 동작 방법
CN116959538A (zh) 用于每行错误擦除信息的设备、系统和方法
JP5280027B2 (ja) 半導体装置及びその制御方法
KR101598379B1 (ko) 불휘발성 반도체 기억장치
JP2012155788A (ja) Nand型フラッシュメモリ
US7525848B2 (en) Method for erasing and changing data of floating gate flash memory
KR20240123628A (ko) 메모리 컨트롤러, 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템
CN116954520A (zh) 存储器系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant