CN105869677A - 用于内部执行读取-验证操作的存储器装置及其操作方法和存储器系统 - Google Patents

用于内部执行读取-验证操作的存储器装置及其操作方法和存储器系统 Download PDF

Info

Publication number
CN105869677A
CN105869677A CN201610083063.7A CN201610083063A CN105869677A CN 105869677 A CN105869677 A CN 105869677A CN 201610083063 A CN201610083063 A CN 201610083063A CN 105869677 A CN105869677 A CN 105869677A
Authority
CN
China
Prior art keywords
data
buffer
difference
nonvolatile memery
primary 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.)
Granted
Application number
CN201610083063.7A
Other languages
English (en)
Other versions
CN105869677B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105869677A publication Critical patent/CN105869677A/zh
Application granted granted Critical
Publication of CN105869677B publication Critical patent/CN105869677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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
    • 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
    • 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/0653Monitoring storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

一种操作存储器装置的方法包括将初始数据写入到非易失性存储器单元阵列的非易失性存储器单元,基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值,将差值与参考值进行比较以及在差值小于参考值时产生指示初始数据已经被成功写入的状态信号并将所述状态信号发送至控制器。可以由控制器或存储装置对数据进行随机化。

Description

用于内部执行读取-验证操作的存储器装置及其操作方法和 存储器系统
相关申请的交叉引用
本申请要求2015年2月6日提交的韩国专利申请No.10-2015-0018715的优先权,将该申请的公开内容通过引用整体并入本文。
技术领域
本发明构思的示例性实施例涉及存储器装置,更具体地,涉及比较两个数据集以内部地执行数据读取-验证操作的存储器装置,操作其的方法和包括其的存储器系统。
背景技术
闪存式存储器装置是可电擦除和再编程的非易失性存储器装置。已经使用电可擦除可编程只读存储器(EEPROM)开发了闪存式存储器装置,并且闪存式存储器装置在将新数据写入到块之前对块执行擦除操作。
闪存式存储器装置广泛地用于存储卡、通用串行总线(USB)闪存驱动器和固态驱动器(SSD)中。在包括闪存式存储器装置和存储器控制器的存储器系统中,在将诸如元数据的关键数据写入到闪存式存储器装置之后,存储器控制器从闪存式存储器装置读取元数据并且验证元数据,以验证元数据是否被成功写入到闪存式存储器装置。这样的操作被称为读取-验证操作或数据读取-验证操作,其由存储器控制器执行。
由于元数据的验证在存储器控制器中执行,因而闪存式存储器装置必须从存储器单元(memory cell)阵列读取元数据并且将元数据发送至存储器控制器。结果,当元数据的读取-验证操作在存储器控制器中执行时,包括存储器控制器的存储器系统的性能可能会下降。
另外,随着使用存储器系统的主机系统的性能增加,存储器控制器可以响应于指示元数据已经被写入到存储器单元阵列的状态而跳过读取-验证操作。为了尽量避免由元数据的读取-验证操作导致的性能下降可以这样做。在该情形中,当写入到存储器单元阵列的元数据损坏时,存储器控制器不能在损坏时检测到元数据的损坏。当元数据损坏并且没有检测到这种损坏时,存储器系统或使用存储器系统的主机系统可能会操作不正常。
发明内容
本发明构思的示例性实施例提供了一种能够在不将作为读取-验证操作的目标的数据发送至控制器的情况下增加性能的存储器装置,与跳过读取-验证的情形相比其可以在不损失性能的情况下防止数据的损坏。示例性实施例提供了能够内部地验证读取-验证目标数据的存储器装置,操作其的方法和包括其的存储器系统。
根据本发明构思的示例性实施例,一种操作存储器装置的方法包括:将初始数据写入到非易失性存储器单元阵列的非易失性存储器单元,基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值,将差值与参考值进行比较,在差值小于参考值时产生指示初始数据已经被成功写入的状态信号,以及将状态信号发送至控制器。
在示例性实施例中,初始数据由控制器和存储器装置中的一个进行随机化。
在示例性实施例中,产生差值包括:从非易失性存储器单元读取初始数据,基于已经被读取的初始数据产生第一数据和第二数据,以及使用第一数据和第二数据计算差值。第一数据与非易失性存储器单元当中的导通单元(on-cell)的数量对应并且第二数据与非易失性存储器单元当中的关断单元(off-cell)的数量对应。
在示例性实施例中,写入初始数据包括使用第一缓冲器将初始数据写入到非易失性存储器单元。通过将存储在第一缓冲器中的初始数据复制到第二缓冲器而获得第一数据,通过从非易失性存储器单元读取初始数据并随后将初始数据存储在第一缓冲器中而获得第二数据,并且差值是存储在第二缓冲器中的第一数据的值和存储在第一缓冲器中的第二数据的对应值之间的按位(bitwise)差的数。
在示例性实施例中,写入初始数据包括使用第一缓冲器将初始数据写入到非易失性存储器单元。通过将初始数据存储在第一缓冲器中而获得第一数据,通过从非易失性存储器单元读取初始数据并随后将初始数据存储在第二缓冲器中而获得第二数据,并且差值是存储在第一缓冲器中的第一数据的值和存储在第二缓冲器中的第二数据的对应值之间的按位差的数。
在示例性实施例中,写入初始数据包括使用第一缓冲器将初始数据写入到非易失性存储器单元。通过将存储在第一缓冲器中的初始数据复制到第二缓冲器而获得第一数据,通过从非易失性存储器单元读取初始数据并随后将初始数据存储在第三缓冲器中而获得第二数据,并且差值是存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的按位差的数。
在示例性实施例中,写入初始数据包括使用第二缓冲器将初始数据写入到非易失性存储器单元。通过将初始数据从第一缓冲器复制到第二缓冲器而获得第一数据,通过从非易失性存储器单元读取初始数据并随后将初始数据存储在第三缓冲器中而获得第二数据,并且差值是存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的按位差的数。
在示例性实施例中,由控制器将参考值写入到存储器装置。
在示例性实施例中,基于针对非易失性存储器单元的编程/擦除循环和读取计数中的至少一个来确定参考值。
在示例性实施例中,初始数据是与存储器装置的操作相关的元数据,并且当非易失性存储器单元中的每一个都是存储至少两位的信息的多层单元时,使用单层单元编程将元数据存储在非易失性存储器单元中。
在示例性实施例中,非易失性存储器单元阵列是三维存储器单元阵列并且非易失性存储器单元中的每一个包括电荷陷阱层。
根据本发明构思的示例性实施例,存储器装置包括包含非易失性存储器单元的非易失性存储器单元阵列。从控制器输出的初始数据被写入到非易失性存储器单元。所述存储器装置还包括:配置成基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差来产生差值的差值产生单元、配置成存储参考值的寄存器、以及配置成将差值与存储在寄存器中的参考值进行比较并且在差值小于参考值时产生指示初始数据已经被成功写入的状态信号的比较器。
在示例性实施例中,差值产生电路包括:配置成存储从非易失性存储器单元读取的初始数据的页缓冲器、配置成基于存储在页缓冲器中的初始数据产生第一数据的导通单元计数器、配置成基于存储在页缓冲器中的初始数据产生第二数据的关断单元计数器、以及配置成使用第一数据和第二数据计算差值的减法器。第一数据与非易失性存储器单元当中的导通单元的数量对应并且第二数据与非易失性存储器单元当中的关断单元的数量对应。
在示例性实施例中,差值产生电路包括配置成存储与写入到非易失性存储器单元的初始数据相关的第一数据的第一缓冲器、配置成存储从第一缓冲器复制的第一数据的第二缓冲器、以及配置成计算从第二缓冲器输出的第一数据的值和从第一缓冲器输出的第二数据的对应值之间的差的数并产生差值的数据比较器。第一缓冲器存储从非易失性存储器单元读取的第二数据。
在示例性实施例中,差值产生电路包括配置成存储与写入到非易失性存储器单元的初始数据相关的第一数据的第一缓冲器、配置成存储从非易失性存储器单元读取的第二数据的第二缓冲器、以及配置成计算存储在第一缓冲器中的第一数据的值和存储在第二缓冲器中的第二数据的对应值之间的差的数并产生差值的数据比较器。
在示例性实施例中,差值产生电路包括配置成存储与写入到非易失性存储器单元的初始数据相关的第一数据的第一缓冲器、配置成存储从第一缓冲器复制的第一数据的第二缓冲器、配置成存储从非易失性存储器单元读取的第二数据的第三缓冲器、以及配置成计算存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的差的数并产生差值的数据比较器。
在示例性实施例中,差值产生电路包括配置成接收第一数据的第一缓冲器、配置成存储第一数据的第二缓冲器——其中第一数据从第一缓冲器被复制并随后被写入到非易失性存储器单元、配置成存储从非易失性存储器单元读取的第二数据的第三缓冲器、以及配置成计算存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的差的数并产生差值的数据比较器。
在示例性实施例中,参考值由控制器写入到寄存器。
在示例性实施例中,基于针对非易失性存储器单元的编程/擦除循环和读取计数中的至少一个来确定参考值。
在示例性实施例中,初始数据是与存储器装置的操作相关的元数据,并且当非易失性存储器单元中的每一个都是存储至少两位的信息的多层单元时,使用单层单元编程将元数据存储在非易失性存储器单元中。
根据本发明构思的示例性实施例,存储器系统包括控制器和连接至控制器的存储器装置。存储器装置包括包含非易失性存储器单元的非易失性存储器单元阵列——其中从控制器输出的初始数据被写入到非易失性存储器单元、配置成基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差来产生差值的差值产生单元、配置成存储参考值的寄存器、以及配置成将该差值与存储在寄存器中的参考值进行比较并且在差值小于参考值时产生指示初始数据已经被成功写入的状态信号的比较器。
在示例性实施例中,差值产生电路包括:配置成存储从非易失性存储器单元读取的初始数据的页缓冲器、配置成基于存储在页缓冲器中的初始数据产生第一数据的导通单元计数器——其中第一数据与非易失性存储器单元当中的导通单元的数量对应、配置成基于存储在页缓冲器中的初始数据产生第二数据的关断单元计数器——其中第二数据与非易失性存储器单元当中的关断单元的数量对应、以及配置成使用第一数据和第二数据计算差值的减法器。
在示例性实施例中,控制器包括配置成对输入数据进行随机化并产生随机化数据作为初始数据的随机化发生器。
在示例性实施例中,控制器基于针对非易失性存储器单元的编程/擦除循环和读取计数中的至少一个来确定参考值并将参考值写入到寄存器。
在示例性实施例中,控制器将指示符信号发送至存储器装置。指示符信号指示初始数据是与存储器装置的操作相关的元数据。非易失性存储器单元中的每一个都是存储至少两位的信息的多层单元。存储器装置使用单层单元编程将元数据写入到非易失性存储器单元。
根据本发明构思的示例性实施例,一种操作存储器装置的方法包括:将初始数据写入到非易失性存储器单元阵列的非易失性存储器单元、基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差来产生差值、将差值与参考值进行比较以及产生状态信号。状态信号具有指示初始数据已经被成功写入的第一状态或指示初始数据没有被成功写入的第二状态。状态信号在差值小于参考值时具有第一状态,并且在差值大于或等于参考值时具有第二状态。所述方法还包括在状态信号具有第一状态时在没有初始数据的情况下将状态信号发送至控制器,并且在状态信号具有第二状态时将状态信号和初始数据发送至控制器。
附图说明
参考附图,通过详细描述本发明构思的示例性实施例,本发明构思的上述和其他特征将变得更加显而易见,在附图中:
图1A是根据本发明构思的示例性实施例的数据处理系统的框图。
图1B是根据本发明构思的示例性实施例的数据处理系统的框图。
图2是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置的例子的框图。
图3是示出根据本发明构思的示例性实施例的在图2中示意的存储器单元阵列中的导通单元和关断单元的阈值电压分布的图示。
图4是根据本发明构思的示例性实施例的在图2中示意的存储器装置的操作的流程图。
图5A是读取-验证操作的对比性例子的时序图。
图5B是示出根据本发明构思的示例性实施例的在图2中示意的存储器装置中执行的内部的读取-验证操作的时序图。
图6是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置的例子的框图。
图7是根据本发明构思的示例性实施例的在图6中示意的存储器装置的操作的流程图。
图8是示意了根据本发明构思的示例性实施例的在图6中示意的存储装置的操作的概念图。
图9A是示出读取-验证操作的对比性例子的时序图。
图9B是示出根据本发明构思的示例性实施例的在图6中示意的存储器装置中执行的内部的读取-验证操作的时序图。
图10是在根据本发明构思的示例性实施例的在图6中示意的存储器装置的操作的流程图。
图11是示意根据本发明构思的示例性实施例的在图6中示意的存储器装置的操作的概念图。
图12A是示出读取-验证操作的对比性例子的时序图。
图12B是示出根据本发明构思的示例性实施例的在图6中示意的存储器装置中执行的内部的读取-验证操作的时序图。
图13是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置的例子的框图。
图14是根据本发明构思的示例性实施例的在图13中示意的存储器装置的操作的流程图。
图15是示意根据本发明构思的示例性实施例的在图13中示意的存储器装置的操作的概念图。
图16A和16B是示出根据本发明构思的示例性实施例的在图13中示意的存储器装置中执行的内部的读取-验证操作的时序图。
图17是根据本发明构思的示例性实施例的在图13中示意的存储器装置的操作的流程图。
图18是示意根据本发明构思的示例性实施例的在图13中示意的存储器装置的操作的概念图。
图19是根据本发明构思的示例性实施例的设置参考值的方法的流程图。
图20是根据本发明构思的示例性实施例的使用编程/擦除循环来设置参考值的方法的流程图。
图21是根据本发明构思的示例性实施例的数据处理系统的框图。
图22是根据本发明构思的示例性实施例的在图1A、1B和21中示意的产生随机化数据的存储器控制器的框图。
图23是根据本发明构思的示例性实施例的图1A和1B中示意的存储器装置的例子的框图。
具体实施方式
下文将参考附图更加充分地描述本发明构思的示例性实施例。在图中,为了清楚起见,可以夸大层和区域的大小和相对大小。相同的附图标记可以在前后附图中指代相同的元素。
将能够理解,当一个元素被称为“连接”或“联接”至另一元素时,其可以直接连接或联接至其他元素或者可以存在中间元素。在本文中使用时,术语“和/或”包括关联的列出的项目中的一个或多个的任一和所有组合。
将能够理解,尽管在本文中使用了术语“第一”、“第二”等来描述各个元素,但是这些词语不应当限制这些元素。这些词语仅用于将一个元素与另一元素区分开来。例如,在不背离公开的教导的情况下,第一信号也可以被叫做第二信号,并且类似地,第二信号也可以被叫做第一信号。
在本文中,正如在本领域中具有普通技术的人员所理解的那样,当两个或更多个元素或值被描述为彼此基本相同或相等时,要理解为这些元素或值彼此等同、彼此不可区分、或者彼此可区分但是它们在功能上彼此相同。
在本发明构思的示例性实施例中,提供了三维(3D)存储器阵列。3D存储器阵列单片地(monolithically)形成在存储器单元的阵列的一个或多个物理层级中,所述存储器单元具有布置在硅衬底上方的有源区域和与这些存储器单元的操作关联的电路,其中这样的关联的电路在这样的衬底上方或者在这样的衬底之内。术语“单片”意味着阵列的每一个层级的层直接沉积在阵列的每一个下层层级的层上。在本发明构思的示例性实施例中,3D存储器阵列包括垂直NAND串,垂直NAND串垂直地定向以使得至少一个存储器单元位于另一存储器单元上方。至少一个存储器单元可以包括电荷陷阱层。通过引用而结合于此的下列专利文件描述了用于三维存储器阵列的合适配置,其中三维存储器阵列被配置为多个层级,在两个层级之间共享字线和/或位线:美国专利No.7,679,133;No.8,553,466;No.8,654,587;No.8,559,235;以及美国专利公开No.2011/0233648。
图1A是根据本发明构思的示例性实施例的数据处理系统100A的框图。参考图1A,数据处理系统100A可以包括主机130和数据存储装置200A,主机130和数据存储装置200A通过接口110彼此连接。将在之后描述的数据处理系统100A或100B可以被实施为例如服务器计算机、个人计算机(PC)、台式计算机、膝上型计算机、工作站计算机、网络附加存储(NAS)、数据中心、互联网数据中心(IDC)或移动计算装置。移动计算装置可以例如是蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静像相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航装置或便携式导航装置(PND)、手持式游戏控制台、移动互联网装置(MID)、可穿戴计算机、物联网(IoT)装置、万物联网(IoE)装置、或电子书(e-book)。然而,本发明构思的示例性实施例不限于此。
接口110可以被实施为例如串行先进技术附件(SATA)接口、SATA快速(SATAexpress(SATAe))接口、SAS(串行附接的小计算机系统接口(SCSI))、外围部件互联快速互连(PCIe接口)、非易失性存储器快速互连(NVMe)接口、或先进主机控制器接口(AHCI)。然而,本发明构思的示例性实施例不限于此。
主机130可以控制数据存储装置200A的数据处理操作(例如,读取或写入操作)。主机130可以包括例如总线架构131、中央处理单元(CPU)133和第一接口135。尽管图1A和1B将主机130示出为包括总线架构131、CPU133和第一接口135,然而根据示例性实施例的主机130可以包括附加部件。例如,主机130还可以包括控制显示器的操作的显示器控制器。
主机130可以被实施为例如集成电路(IC)、主板、芯片上系统(SoC)、应用处理器(AP)或移动AP。然而,本发明构思的示例性实施例不限于此。例如,主机130可以是能够控制数据存储装置200A或200B的操作的任何类型的装置。
CPU 133可以通过总线架构131与第一接口135交流命令和/或数据。总线架构131可以被实施为例如先进微控制器总线架构(AMBA)、先进高性能总线(AHB)、先进外围总线(APB)、先进可扩展接口(AXI)、先进系统总线(ABS)或其组合。然而,本发明构思的示例性实施例不限于此。
CPU 133可以产生用于控制数据存储装置200A或200B的写入操作的写入请求或用于控制数据存储装置200A或200B的读取操作的读取请求。写入请求可以包括写入地址,并且读取请求可以包括读取地址。CPU 133可以包括至少一个核。
第一接口135可以改变待发送至数据存储装置200A或200B的命令和/或数据的格式,并且可以通过接口110将改变的格式的命令和/或数据发送至数据存储装置200A或200B。例如,第一接口135可以将命令和/或数据转换成与数据存储装置200A或200B兼容的格式。第一接口135还可以改变从数据存储装置200A或200B接收的响应和/或数据的格式,并且可以将改变的格式的响应和/或数据发送至总线架构131。第一接口135可以包括例如发送和接收命令和/或数据的收发器。第一接口135可以具有能够支持接口110的协议的结构。
数据存储装置200A可以包括控制器210A、缓冲器270及存储器装置300。数据存储装置200A可以是存储器系统,例如,举例来说,闪存式存储器装置。数据存储装置200A可以被实施为例如固态驱动器或固态盘(SSD)、嵌入式SSD(eSSD)、通用闪存(UFS)、多媒体卡(MMC)或嵌入式MMC(eMMC)。然而,本发明构思的示例性实施例不限于此。
数据存储装置200A可以通过接口110被连接至主机130或者从主机130断开连接。数据存储装置200A可以例如是安全数字(SD)卡或通用串行总线(USB)闪存驱动器。然而,本发明构思的示例性实施例不限于此。
控制器210A可以控制命令(或响应)和/或数据在主机130、缓冲器270和存储器装置300之间的发送。控制器210A可以读取并执行存储在存储器装置300中的至少一个中的固件,以控制数据存储装置200A的全面操作。固件可以包括例如主机接口层、地址转换层(FTL)、虚拟闪存层、和闪存接口层。然而,本发明构思的示例性实施例不限于此。
控制器210A可以被实施为例如IC或Soc。控制器201A可以包括总线架构211、第二接口220、CPU 230、内部存储器240、缓冲器管理器250和至少一个存储器控制器260和/或262。控制器210A还可以包括错误校正码或错误检查和校正(ECC)控制器235。ECC控制器235可以针对错误对发送至存储器装置300中的至少一个或从存储器装置300中的至少一个接收的数据进行检查,并且可以根据检查结果来校正错误。总线架构211可以被实施为例如AMBA、AHB、APB、AXI、ASB或其组合。然而,本发明构思的示例性实施例不限于此。
第二接口220可以改变待发送至主机130的信号(或数据)的格式,并且可以通过接口110将改变的格式的信号(或数据)发送至主机130。例如,第二接口220可以将信号(或数据)转换成与主机130兼容的格式。第二接口220还可以改变从主机130接收的信号(或数据)的格式,并且可以将改变的格式的信号(或数据)发送至总线架构211或缓冲器管理器250。然而,本发明构思的示例性实施例不限于此。第二接口220可以包括例如发送和接收信号和/或数据的收发器。第二接口220可以具有能够支持接口110的协议的结构。
CPU 230可以通过总线架构211控制第二接口220、内部存储器240、缓冲器管理器250和/或至少一个存储器控制器260和/或262。CPU 230还可以通过总线架构211控制ECC控制器235。CPU 230可以包括至少一个核。
图1B是根据本发明构思的示例性实施例的数据处理系统100B的框图。参考图1A和1B,除了控制器210B包括两个CPU 230-1和230-2之外,图1B中示意的控制器210B的结构和操作基本与图1A中示意的控制器210A的结构和操作相同。相应地,包括图1B中示意的数据存储装置200B的数据处理系统100B的结构和操作与包括图1A中示意的数据存储装置200A的数据处理系统100A的结构和操作基本相同。出于说明的便利,之前参考图1A描述的元素和过程在此可以省略。
参考图1B,第一CPU 230-1可以控制与主机130的双边(bilateral)操作并且第二CPU 230-2可以控制与存储器装置300的双边操作。第一CPU230-1可以控制第二接口220的操作并且第二CPU 230-2可以控制至少一个存储器控制器260和/或262的操作。存储器控制器260和262中的至少一个可以包括控制存储器装置300的操作的至少一个核。双边操作可以指发送和接收命令和/或数据的操作。出于说明的便利,CPU 230、第一CPU 230-1和第二CPU 230-2在本文中可以共同称为CPU 230。
参考图1A和1B,CPU 230可以响应于从主机130输出的请求(例如,写入请求或读取请求)控制至少一个存储器控制器260和/或262的操作。
内部存储器240可以作为CPU 230的操作存储器发挥功用。内部存储器240可以包括易失性存储器和/或非易失性存储器。当内部存储器240由非易失性存储器构成时,非易失性存储器可以例如是只读存储(ROM)。然而,本发明构思的示例性实施例不限于此。当内部存储器240由易失性存储器构成时,易失性存储器可以例如是静态随机存取存储器(SRAM)、缓冲器、缓冲器存储器、或高速缓存器。然而,本发明构思的示例性实施例不限于此。或者,内部存储240可以由能够被CPU 230存取的紧密耦合存储器(TCM)构成。然而,本发明构思的示例性实施例不限于此。
缓冲器管理器250可以控制命令和/或数据在总线架构211、第二接口220、至少一个存储器控制器260和/或262、和缓冲器270之间的发送。
至少一个存储器控制器260和/或262可以通过至少一个通道CH1和/或CH2与至少一个路(way)WAY1和/或WAY2交流命令和/或数据。此处,通道(例如,CH1和/或CH2)可以指布置在存储器装置300(例如,闪存存储器装置)和存储器控制器260或262之间的独立的数据通路。路(例如,WAY1和/或WAY2)可以指彼此共享相同通道的存储器装置300的群组。独立的数据通路可以包括用于发送命令、响应和/或数据的多个发送线。然而,本发明构思的示例性实施例不限于此。数据存储装置200A可以使用多个通道CH1和CH2和多个路WAY1和WAY2来增加顺序读取和写入性能。
第一存储器控制器260可以通过第一通道CH1与包括在第一路WAY1中的存储器装置300交流命令和/或数据。第二存储器控制器262可以通过第二通道CH2与包括在第二路WAY2中的存储器装置300交流命令和/或数据。
至少一个存储器控制器260和/或262可以将指示待写入到存储器装置300的存储器单元阵列的数据(例如,初始数据)是元数据的指示符信号(或包括指示符信号的命令)发送至存储器装置300。响应于指示符信号,存储器装置300可以使用单层单元编程将元数据写入到存储器单元阵列。存储器装置300还可以响应于指示符信号对元数据执行内部的读取-验证操作。对元数据执行的内部的读取-验证操作将会参考图2至18详细讨论。对元数据执行的术语“内部的读取-验证操作”可以指代替控制器210A或210B并且更具体地代替CPU230来验证元数据是否已经被成功编程至存储器装置300中的存储器单元阵列的方法。
在示例性实施例中,第一直接存储器存取(DMA)控制器可以被布置在缓冲器管理器250和第一存储器控制器260之间,并且第二DMA控制器可以被布置在缓冲器管理器250和第二存储器控制器262之间。第一DMA控制器可以控制缓冲器管理器250和第一存储器控制器260之间的数据发送,并且第二DMA控制器可以控制缓冲器管理器250和第二存储器控制器262之间的数据发送。
缓冲器270可以由缓冲器管理器250控制。缓冲器270可以由例如动态随机存取存储器(DRAM)构成。然而,本发明构思的示例性实施例不限于此。缓冲器270可以作为高速缓存器发挥功用。因此,待发送至主机130的数据或者待发送至存储器装置300的数据可以临时存储在缓冲器270中。存储器装置300中的每一个可以包括例如用于存储元数据的第一存储器区域和用于存储用户数据的第二存储器区域。将会参考图2、5、12A、12B和22描述存储器装置300的结构和操作。
存储器装置300可以对内部的读取-验证目标数据(例如,元数据或随机化数据)执行内部的读取-验证操作,并且可以仅将与内部的读取-验证操作的结果对应的状态发送至控制器210A或210B,而不是发送内部的读取-验证目标数据自身。结果,可以改善数据存储装置200A或200B的性能,并且因此改善包括存储器装置300的存储器系统的性能。
图2是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置300的例子300A的框图。参考图1A至2,存储器装置300A可以包括例如地址寄存器和计数器(在下文中,称之为“地址寄存器/计数器”)310、编程和擦除控制器(在下文中,称之为“编程/擦除控制器”)315、命令接口逻辑电路320、命令寄存器325、数据寄存器330、存储器单元阵列335、页缓冲器340、X-解码器(例如,行解码器)345、Y-解码器(例如,列解码器)350、导通单元计数器和寄存器(在下文中,称之为“导通单元计数器/寄存器”)355、关断单元计数器和寄存器(在下文中,称之为“关断单元计数器/寄存器”)360、运算电路(例如,减法器)370、参考值寄存器375、差值寄存器380、比较器(例如,比较电路)385、输入/输出(I/O)缓冲器390、I/O焊盘(pad)I/O0至I/O7。
地址寄存器/计数器310可以响应从编程/擦除控制器315输出的第一控制信号和从命令接口逻辑电路320输出的第一操作控制信号来存储和/或计数从I/O缓冲器390接收的地址。地址寄存器/计数器310还可以将根据存储和/或计数地址的结果产生的行地址XADD发送至X-解码器345,并且可以将根据存储和/或计数地址的结果产生的列地址YADD发送至Y-解码器350。
编程/擦除控制器315可以响应于从命令接口逻辑电路320输出的第二操作控制信号产生用于控制地址寄存器/计数器310的操作的第一控制信号、用于控制X-解码器345的操作的第二控制信号、和用于控制页缓冲器340的操作的第三控制信号。编程/擦除控制器315可以产生第一控制信号、第二控制信号和第三控制信号,这些控制信号与编程操作或擦除操作相关。控制信号可以包括编程操作或擦除操作所需的电压。
命令接口逻辑电路320可以响应于控制信号ALE、CLE、/WE、/CE、/WP和/RE产生用于控制地址寄存器/计数器310的操作的第一操作控制信号、用于控制编程/擦除控制器315的操作的第二操作控制信号、用于控制命令寄存器325的操作的第三操作控制信号、和用于控制数据寄存器330的操作的第四操作控制信号。此处,ALE指地址锁存使能信号,CLE指命令锁存使能信号,/WE指写入使能信号,/CE指芯片使能信号,/WP指写入保护信号,/RE指读取使能信号,并且“/”指示信号为“低位有效”。
命令寄存器325可以响应于从命令接口逻辑电路320输出的第三操作控制信号接收和存储从I/O缓冲器390输出的命令。存储在命令寄存器325中的命令可以响应于第三操作控制信号而提供给Y-解码器350。
数据寄存器330可以响应于从命令接口逻辑电路320输出的第四操作控制信号来接收和存储从I/O缓冲器390输出的数据。存储在数据寄存器330中的数据可以响应于第四操作控制信号而提供给Y-解码器350。数据寄存器330可以对从I/O缓冲器390输出的数据进行随机化以产生随机化数据。
存储器单元阵列335可以包括多个块。多个块中的每一个可以包括多个页。多个页中的每一个可以包括数据区域和备用(spare)区域。擦除操作的最小单位是块,而编程操作或读取操作的最小单位是页。
存储器单元阵列335可以包括以二维或三维布置的多个非易失性存储器单元(例如,闪存存储器单元)。闪存存储器单元中的一些可以形成块或页。闪存存储器单元中的每一个可以是NAND型或NOR型的。闪存存储器单元可以被实施为三维的垂直NAND型闪存存储器单元。
存储器单元阵列335可以包括三维存储器单元阵列。三维存储器单元阵列可以被单片地形成在存储器单元的阵列的至少一个物理层级中,所述存储器单元具有安置在硅衬底上面或上方的有源区域,并且三维存储器单元阵列可以包括与存储器单元的操作相关的电路。所述电路可以形成在衬底之内或衬底上面。术语“单片”意味着在阵列的一个层级的层直接沉积在阵列的下层层级的层上。
三维存储器单元阵列可以包括垂直地定向的NAND串,其中至少一个存储器单元位于另一存储器单元上面。所述至少一个存储器单元可以包括电荷陷阱层。闪存存储器单元中的每一个都可以是存储一位的信息的单层单元(SLC),或存储至少两位的信息的多层单元(MLC)。
与存储器装置300A的操作相关的元数据可以使用SLC编程存储在包括于存储器单元阵列335中的多个MLC中。即,在每一个MLC中可以存储1位信息。
响应于从编程/擦除控制器315输出的第三控制信号,页缓冲器340可以将数据写入到由X-解码器345和Y-解码器350从包括于存储器单元阵列335的多个非易失性存储器单元当中选择的非易失性存储器单元,或者可以从选择的非易失性存储器单元读取数据。页缓冲器340可以包括存储数据的值的锁存器或寄存器。在本文中,待写入到非易失性存储器单元的数据可以被称为初始数据。
页缓冲器340可以作为寄存器和/或感测放大器发挥功用。例如,页缓冲器340可以在编程操作中锁存从数据寄存器330输出的数据(例如,随机化数据),并且可以将锁存的数据写入到选择的非易失性存储器单元。页缓冲器340可以在读取操作中感测和放大被编程到选择的非易失性存储器单元的数据、锁存放大的数据、并将锁存的数据通过Y-解码器350发送至I/O缓冲器390。
Y-解码器350可以作为页缓冲器340和I/O缓冲器390之间的数据传输通路发挥功用。Y-解码器350还可以称为Y-选通(gating)电路。
图3是示出根据本发明构思的示例性实施例的在图2中示意的存储器单元阵列335中的导通单元和关断单元的阈值电压分布的图示。图4是根据本发明构思的示例性实施例的在图2中示意的存储器装置300A的操作的流程图。参考图1A至4,页缓冲器340可以在操作S110中将从存储器控制器260或262输出的数据写入到由X-解码器345和Y-解码器从存储器单元阵列335中的多个非易失性存储器单元当中选择的非易失性存储器单元。所述数据可以是例如元数据或随机化数据。然而,所述数据不限于此。存储器控制器260或262或者存储器装置300A可以产生随机化数据。
如在图3中示出的,当假定包括于写入到选择的非易失性存储器单元中的数据(例如,随机化数据)的具有数据值“1”的数据随机地(stochastically)与包括于所述数据(例如,所述随机化数据)中的具有数据值“0”的数据大约相同时,选择的非易失性存储器单元当中的存储具有数据值“1”的数据的导通单元ON的数量可以随机地(stochastically)与选择的非易失性存储器单元当中的存储具有数据值“0”的数据的关断单元OFF的数量大约相同。在图3中,“OND”表示导通单元ON的阈值电压分布,“OFD”表示关断单元OFF的阈值电压分布,而“Vread”表示用于将导通单元ON与关断单元OFF进行区分的读取电压。读取电压Vread可以是用于内部的读取-验证操作的电压。然而,本发明构思的示例性实施例不限于此。
为了在存储器装置300A中执行内部的读取-验证操作,页缓冲器340可以在操作S112中从选择的非易失性存储器单元读取数据。在内部的读取-验证操作的过程中,导通单元计数器/寄存器355可以在操作S114中,基于从选择的非易失性存储器单元读取的数据(例如,元数据或随机化元数据)计数选择的非易失性存储器单元当中的导通单元ON,可以产生并锁存与计数结果对应的第一计数值CNT1,并且可以将已经被锁存的第一计数值CNT1发送至运算电路370。此处,第一计数值CNT1可以是与已经被写入到选择的非易失性存储器单元的数据相关的第一数据。
在内部的读取-验证操作的过程中,在与导通单元计数器/寄存器355的操作同时/并行的时间处,关断单元计数器/寄存器360可以在操作S114中,基于从选择的非易失性存储器单元读取的数据(例如,元数据或随机化元数据)计数选择的非易失性存储器单元当中的关断单元OFF,可以产生并锁存与计数结果对应的第二计数值CNT2,并且可以将已经被锁存的第二计数值CNT2发送至运算电路370。第二计数值CNT2可以是与已经被写入到选择的非易失性存储器单元的数据相关的第二数据。计数器355和360可以响应于时钟信号执行计数操作。已经被写入数据(例如,元数据或随机化元数据)的非易失性存储器单元的总数可以与第一计数值CNT1和第二计数值CNT2的和相同。
可以被实施为减法器的运算电路370可以在操作S116中,计算与第一数据对应的第一计数值CNT1和与第二数据对应的第二计数值CNT2之间的差,并且可以将差值DV发送至差值寄存器380。差值DV可以例如是绝对值。然而,差值DV不限于此。
参考值寄存器375可以从I/O缓冲器390接收并存储参考值。差值寄存器380可以接收并存储差值DV。差值可以根据控制器210A或210B的控制写入/设置在参考值寄存器375中。寄存器375和380中的每一个可以例如是特殊功能寄存器(SFR)。然而,寄存器375和380不限于此。
控制器210A或210B可以基于针对选择的非易失性存储器单元的编程/擦除(P/E)循环和读取计数中的至少一个确定参考值,并且可以将参考值写入/设置在参考值寄存器375中。或者,P/E循环和/或读取计数可以由命令接口逻辑电路320管理,并且可以由命令接口逻辑电路320写入/设置在参考值寄存器375中作为参考值。作为另一备选方案,参考值可以存储在存储器单元阵列335中并且然后可以写入/设置在参考值寄存器375中。
比较器385可以在操作S118中,从参考值寄存器375接收参考值REF并且从差值寄存器380接收差值DV,并且可以将值REF和DV相互比较。当在操作S118中确定差值DV小于参考值REF时(例如,响应于确定差值DV小于参考值REF),比较器385可以在操作S120中产生具有指示数据(例如,元数据或随机化元数据)已经被成功写入到选择的非易失性存储器单元的第一状态的状态信号STATUS,并且可以将状态信号STATUS发送至I/O缓冲器390。
I/O缓冲器390可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第一状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第一状态的状态信号STATUS识别数据(例如,元数据或随机化元数据)已经被成功写入到选择的非易失性存储器单元。
当在操作S118中确定差值DV等于或大于参考值REF时(例如,响应于确定差值DV等于或大于参考值REF),比较器385可以在操作S122中产生具有指示数据(例如,元数据或随机化元数据)没有被成功编程到选择的非易失性存储器单元的第二状态的状态信号STATUS,并且可以将状态信号STATUS发送至I/O缓冲器390。
I/O缓冲器390可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第二状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第二状态的状态信号STATUS识别数据(例如,元数据或随机化元数据)没有被成功写入到选择的非易失性存储器单元。
存储装置300A可以根据控制器210A或210B的控制从存储器单元阵列335中的选择的非易失性存储器单元读取数据并且可以将已经被读取的数据发送至控制器210A或210B,并且控制器210A或210B可以在操作S124中对从存储器装置300A接收的数据执行读取-验证操作。
在图2中示意的差值产生电路DVG1可以基于与写入到非易失性存储器单元的数据相关的第一数据(例如,第一计数值CNT1)和与写入到非易失性存储器单元的数据相关的第二数据(例如,第二计数值CNT2)产生差值DV。差值产生电路DVG1可以包括页缓冲器340、导通单元计数器/寄存器355、关断单元计数器/寄存器360、运算电路370和差值寄存器380。
图5A和5B分别是示出读取-验证操作的对比性例子和根据本发明构思的示例性实施例的在图2中示意的存储装置300A中执行的内部的读取-验证操作的时序图。参考图5A和5B,DIN1表示将第一数据加载至页缓冲器花费的时间,DIN2表示将第二数据加载至页缓冲器花费的时间,tPROG表示将第一数据或第二数据写入到非易失性存储器单元花费的时间,tR表示从非易失性存储器单元读取数据花费的时间,DOUT表示将已经被读取的第一或第二数据通过I/O焊盘发送至控制器花费的时间,COMPARE表示使控制器执行读取-校验操作花费的时间,并且COUNTING表示根据本发明构思的示例性实施例产生第一计数值CNT1和第二计数值CNT2花费的时间。DIN1可以指PDATA或PDATA1,并且DIN2可以指PDATA2。
在图5A中示意的读取-验证操作的对比性例子中,存储器装置将数据(例如,读取-验证操作的目标数据,在本文中也称为“读取-验证目标数据”)发送至控制器,并且控制器对数据执行读取-验证操作。根据本发明构思的示例性实施例,如图5B中示意的,存储器装置300A自身对读取-验证目标数据执行内部的读取-验证操作。因而,除非产生了具有第二状态的状态信号STATUS,否则存储器装置300A不将读取-验证目标数据发送至控制器210A和210B。因此,数据存储装置200A和200B不需要时间DOUT。结果,根据本发明构思的示例性实施例可以改善数据存储装置200A或200B的性能。
根据示例性实施例,当状态信号STATUS具有第一状态时,仅状态信号STATUS被发送至控制器210A或210B。即,当状态信号STATUS具有第一状态时,在没有读取-验证目标数据(例如,初始数据)的情况下状态信号STATUS被发送至控制器210A或210B。当状态信号STATUS具有第二状态时,状态信号STATUS和读取-验证目标数据(例如,初始数据)都被发送至控制器210A或210B。
如上面描述的,根据本发明构思的示例性实施例,存储器装置(例如,参考图2至5B描述的存储器装置300A)不需要图5A中示出的时间DOUT来发挥功用。结果,执行根据本发明构思的示例性实施例的内部的读取-验证操作花费的时间T2比执行对比性例子中的读取-验证操作花费的时间T1要显著地短。
图6是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置300的例子300B的框图。参考图6,存储器装置300B可以包括例如地址寄存器/计数器310、编程/擦除控制器315、命令接口逻辑电路320、命令寄存器325、数据寄存器330、存储器单元阵列335、页缓冲器340、X-解码器345、Y-解码器350、参考值寄存器375、差值寄存器380、比较器385、两个I/O缓冲器391和392、数据比较器395和I/O焊盘I/O0至I/O7。出于说明的便利,之前描述的元素和过程的进一步的描述在此可以省略。
图7是根据本发明构思的示例性实施例的在图6中示意的存储器装置300B的操作的流程图。图8是示意了根据本发明构思的示例性实施例的在图6中示意的存储装置300B的操作的概念图。图9A和9B是分别示出根据对比性例子的读取-验证操作和根据本发明构思的示例性实施例的在图6中示意的存储器装置300B中执行的内部的读取-验证操作的时序图。将参考图1A和1B以及图6至9B描述存储器装置300B使用两个I/O缓冲器391和392将第一数据与第二数据进行比较的操作。
从控制器210A或210B输出并将被写入到存储器单元阵列335的数据PDATA可以在操作S210中被存储在第一I/O缓冲器391中。数据PDATA是内部的读取-验证目标数据。
存储在第一I/O缓冲器391中的数据PDATA可以在操作S212中被复制至第二I/O缓冲器392。被复制到第二I/O缓冲器392的数据PDATA可以是第一数据。根据示例性实施例,存储在第一I/O缓冲器391中的数据PDATA可能与被复制到第二I/O缓冲器392的数据PDATA相同。
在图6中示意的页缓冲器340可以在操作S214中将从第一I/O缓冲器391输出的数据PDATA写入到存储器单元阵列335。数据PDATA可以通过Y-解码器350被发送至页缓冲器340。
为了内部的读取-验证操作,页缓冲器340可以从存储器单元阵列335读取数据PDATA’,并且可以将已经被读取的数据PDATA’在操作S216中通过Y-解码器350发送至第一I/O缓冲器391。这样,可以将已经被读取的数据PDATA’存储在第一I/O缓冲器391中。
已经从存储器单元阵列335被读取的数据PDATA’可以与已经被写入到存储器单元阵列335的数据PDATA相关。例如,数据PDATA可能在写入操作或读取操作的过程中被改变,并且被改变的数据是已经被读取的数据PDATA’。
数据比较器395可以在操作S218中接收数据PDATA(例如,来自第二I/O缓冲器392的第一数据)和数据PDATA’(例如,来自第一I/O缓冲器391的第二数据),可以对第一数据和第二数据执行按位比较,并且可以将与按位差的数对应的差值DV发送至差值寄存器380。如在图8中示出的,确定出作为按位比较的结果,在第一数据PDATA和第二数据PDATA’之间的三个值D1、D2和D3不同。
比较器385可以从参考值寄存器375接收参考值REF并且从差值寄存器380接收差值DV,并且可以在操作S220中将值REF和DV相互比较。当在操作S220中确定差值DV小于参考值REF时(例如,响应于确定差值DV小于参考值REF),比较器385可以在操作S222中产生具有指示数据PDATA(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335的第一状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第一状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第一状态的状态信号STATUS识别数据PDATA(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335。
当在操作S220中确定差值DV等于或大于参考值REF时(例如,响应于确定差值DV等于或大于参考值REF)时,比较器385可以在操作S224中产生具有指示数据PDATA(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335的第二状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第二状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第二状态的状态信号STATUS识别数据PDATA(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335。
存储器装置300B可以根据控制器210A或210B的控制从存储器单元阵列335中的选择的非易失性存储器单元读取数据,并且可以将已经被读取的数据发送至控制器210A或210B,并且控制器210A或210B可以在操作S226中对从存储装置300B接收的数据执行读取-验证操作。读取-验证操作可以直接由CPU 230执行。在此时,CPU 230可以执行数据比较和管理。
在图6中示意的差值产生电路DVG2可以基于与写入到存储器单元阵列335的数据PDATA相关的第一数据(例如,存储在第二I/O缓冲器392中的数据PDATA)和与写入到存储器单元阵列335的数据PDATA相关的第二数据(例如,从存储器单元阵列335发送至第一I/O缓冲器391的数据PDATA’)产生差值DV。差值产生电路DVG2可以包括差值寄存器380、第一I/O缓冲器391、第二I/O缓冲器392和数据比较器395。
图9A示出示意了由控制器执行的读取-验证操作的对比性例子的时序图,而图9B示出示意了根据本发明构思的示例性实施例的在图6中示意的存储器装置300B中执行的内部的读取-验证操作的时序图。参考图9A和9B,DIN1表示将第一数据加载至页缓冲器花费的时间,DIN2表示将第二数据加载至页缓冲器花费的时间,tPROG表示将第一数据或第二数据写入到非易失性存储器单元花费的时间,tR表示从非易失性存储器单元读取数据花费的时间,并且DOUT表示将已经被读取的第一或第二数据通过I/O焊盘发送至控制器花费的时间。另外,图9A中的COMPARE表示使控制器根据对比性例子执行读取-校验操作花费的时间,图9B中的COMPARE表示使图6中示意的存储器装置300B根据本发明构思的示例性实施例执行内部的读取-校验操作花费的时间,并且COPY表示在本发明构思的示例性实施例中将数据从一个I/O缓冲器复制到另一I/O缓冲器花费的时间。
在根据图9A中示意对比性例子的读取-验证操作中,存储器装置将读取-验证目标数据发送至控制器,并且控制器对数据执行读取-验证操作。根据图9B中示意的本发明构思的示例性实施例,存储器装置300B自身对读取-验证目标数据执行内部的读取-验证操作。结果,除非产生了具有第二状态的状态信号STATUS,否则存储器装置300B不将读取-验证目标数据发送至控制器210A和210B。因此,数据存储装置200A或200B不需要时间DOUT来发挥功用。结果,根据本发明构思的示例性实施例,可以改善数据存储装置(例如,数据存储装置200A或200B)的性能。
由于数据存储装置200A和200B不需要时间DOUT来发挥功用,因此执行根据本发明构思的示例性实施例的内部的读取-验证操作花费的时间T3比执行对比性例子中的读取-验证操作花费的时间T1要显著地短。
图10是根据本发明构思的示例性实施例的在图6中示意的存储器装置300B的操作的流程图。图11是示意根据本发明构思的示例性实施例的在图6中示意的存储器装置300B的操作的概念图。图12A和12B分别是示出根据对比性例子的读取-验证操作和根据本发明构思的示例性实施例的在图6中示意的存储装置300B中执行的内部的读取-验证操作的时序图。
参考图6和图10至图12B,从控制器210A或210B输出并将被写入到存储器单元阵列335的数据PDATA可以在操作S210中被存储在第一I/O缓冲器391中。数据PDATA是内部的读取-验证目标数据。
在图6中示意的页缓冲器340可以在操作S214中将从第一I/O缓冲器391输出的数据PDATA写入到存储器单元阵列335。数据PDATA可以通过Y-解码器350被发送至页缓冲器340。
为了内部的读取-验证操作,页缓冲器340可以从存储器单元阵列335读取数据PDATA’,并且可以将已经被读取的数据PDATA’在操作S216A中通过Y-解码器350发送至第二I/O缓冲器392。这样,可以将已经被读取的数据PDATA’存储在第二I/O缓冲器392中。
已经从存储器单元阵列335被读取的数据PDATA’可以与已经被写入到存储器单元阵列335的数据PDATA相关。数据PDATA可能在写入操作或读取操作过程中被改变。被改变的数据是已经被读取的数据PDATA’。
数据比较器395可以在操作S218中,接收数据PDATA’(例如,来自第二I/O缓冲器392的第二数据)和数据PDATA(例如,来自第一I/O缓冲器391的第一数据),可以对第一数据和第二数据执行按位比较,并且可以将与按位差的数对应的差值DV发送至差值寄存器380。如在图11中示出的,确定出作为按位比较的结果,在第一数据PDATA和第二数据PDATA’之间的三个值D1、D2和D3不同。
比较器385可以从参考值寄存器375接收参考值REF,并且从差值寄存器380接收差值DV,并且可以在操作S220中将值REF和DV相互比较。当在操作S220中确定差值DV小于参考值REF时(例如,在确定差值DV小于参考值REF之后),比较器385可以在操作S222中产生具有指示数据PDATA(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335的第一状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第一状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第一状态的状态信号STATUS识别数据PDATA(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335。
当在操作S220中确定差值DV等于或大于参考值REF时(例如,响应于确定差值DV等于或大于参考值REF),比较器385可以在操作S224中产生具有指示数据PDATA_(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335的第二状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第二状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第二状态的状态信号STATUS识别数据PDATA(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335。
存储器装置300B可以根据控制器210A或210B的控制从存储器单元阵列335中的选择的非易失性存储单元读取数据,并且可以将已经被读取的数据发送至控制器210A或210B,并且控制器210A或210B可以在操作S226中对从存储器装置300B接收的数据执行读取-验证操作。读取-验证操作可以直接由CPU 230执行。在此时,CPU 230可以执行数据比较和管理。
图12A示出示意了由控制器执行的读取-验证操作的对比性例子的时序图,而图12B示出示意了根据本发明构思的示例性实施例的在图6中示意的存储器装置300B中执行的内部的读取-验证操作的时序图。在图12A中示意的读取-验证操作的对比性例子中,存储器装置将读取-验证目标数据发送至控制器并且控制器对数据执行读取-验证操作。根据图12B中示意的本发明构思的示例性实施例,存储器装置300B自身对读取-验证目标数据执行内部的读取-验证操作。因而,除非产生了具有第二状态的状态信号STATUS,否则存储器装置300B不将读取-验证目标数据发送至控制器210A和210B。因此,数据存储装置200A或200B不需要时间DOUT和时间COPY以发挥功用。结果,可以改善根据本发明构思的示例性实施例的数据存储装置(例如,数据存储装置200A或200B)的性能。
参考图12A和12B,由于数据存储装置200A或200B不需要时间DOUT和时间COPY来发挥功用,所以执行根据本发明构思的示例性实施例的内部的读取-验证操作花费的时间T4比执行根据图12A的对比性例子的读取-验证操作花费的时间T1要显著地短。参考图9B和12B,对于在图12B中示意的示例性实施例中的功用不需要时间COPY,因此时间T4比时间T3短。
图13是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置300的例子300C的框图。参考图13,存储器装置300C可以包括地址寄存器/计数器310、编程/擦除控制器315、命令接口逻辑电路320、命令寄存器325、数据寄存器330、存储器单元阵列335、页缓冲器340、X-解码器345、Y-解码器350、参考值寄存器375、差值寄存器380、比较器385、三个I/O缓冲器391、392和393、数据比较器395和I/O焊盘I/O0至I/O7。
图14是根据本发明构思的示例性实施例的在图13中示意的存储器装置300C的操作的流程图。图15是示意根据本发明构思的示例性实施例的在图13中示意的存储器装置300C的操作的概念图。图16A和16B是示出根据本发明构思的示例性实施例的在图13中示意的存储器装置300C中执行的内部的读取-验证操作的时序图。将参考图13至16B描述存储器装置300C使用三个I/O缓冲器391、392和393将第一数据与第二数据进行比较的操作。
从控制器210A或210B输出并将被写入到存储器单元阵列335的数据PDATA1可以在操作S310中被存储在第一I/O缓冲器391中。数据PDATA1是内部的读取-验证目标数据。
存储在第一I/O缓冲器391中的数据PDATA1可以在操作S312中被复制至第二I/O缓冲器392。被复制到第二I/O缓冲器392的数据PDATA1可以是第一数据。在示例性实施例中,存储在第一I/O缓冲器391中的数据PDATA1可能与复制到第二I/O缓冲器392的数据PDATA1相同。
页缓冲器340可以在操作S314中将从第一I/O缓冲器391输出的数据PDATA1写入到存储器单元阵列335。数据PDATA1可以通过Y-解码器350被发送至页缓冲器340。
为了内部的读取-验证操作,页缓冲器340可以从存储单元阵列335读取数据PDATA1’并且可以在操作S316中将已经被读取的数据PDATA1’发送至第三I/O缓冲器393。在与将数据PDATA1’发送至第三I/O缓冲器393同时/并行的时间处,可以在操作S316中将新数据PDATA2存储在第一I/O缓冲器391中。存储器装置300C的数据处理速度可以由于操作S316而增加。
已经从存储器单元阵列335被读取的数据PDATA1’可以与已经被写入到存储单元阵列335的数据PDATA1相关。例如,数据PDATA1可能在编程操作或读取操作的过程中被改变,并且被改变的数据是已经被读取的数据PDATA1’。
数据比较器395可以在操作S318中,接收数据PDATA1(例如,来自第二I/O缓冲器392的第一数据)和数据PDATA1’(例如,来自第三I/O缓冲器393的第二数据),可以对第一数据和第二数据执行按位比较,并且可以将与按位差的数对应的差值DV发送至差值寄存器380。如在图15中示出的,确定出作为按位比较的结果,在第一数据PDATA1和第二数据PDATA1’之间的三个值D1、D2和D3不同。
比较器385可以从参考值寄存器375接收参考值REF并且从差值寄存器380接收差值DV,并且可以在操作S320中将值REF和DV相互比较。在操作S320中当差值DV小于参考值REF时,比较器385可以在操作S322中产生具有指示数据PDATA1(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335的第一状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第一状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第一状态的状态信号STATUS识别数据PDATA1(例如,元数据或随机化元数据)已经被成功写入到存储器单元阵列335。
在操作S320中当差值DV等于或大于参考值REF时,比较器385可以在操作S324中产生具有指示数据PDATA1(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335的第二状态的状态信号STATUS,并且可以将状态信号STATUS发送至第一I/O缓冲器391。
第一I/O缓冲器391可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第二状态的状态信号STATUS发送至控制器210A或210B。这样,控制器210A或210B可以基于具有第二状态的状态信号STATUS识别数据PDATA1(例如,元数据或随机化元数据)没有被成功写入到存储器单元阵列335。
存储器装置300C可以根据控制器210A或210B的控制从存储器单元阵列335中的选择的非易失性存储器单元读取数据并且可以将已经被读取的数据发送至控制器210A或210B,并且控制器210A或210B可以在操作S326中对从存储器装置300C接收的数据执行读取-验证操作。读取-验证操作可以直接由CPU 230执行。在此时,CPU 230可以执行数据比较和管理。
在图13中示意的差值产生电路DVG3可以基于与写入到存储器单元阵列335的数据PDATA1相关的第一数据(例如,复制到第二I/O缓冲器392的数据PDATA1)和与写入到存储器单元阵列335的数据PDATA1相关的第二数据(例如,从存储器单元阵列335发送至第三I/O缓冲器393的数据PDATA1’)产生差值DV。差值产生电路DVG3可以包括差值寄存器380、第一I/O缓冲器391、第二I/O缓冲器392、第三I/O缓冲器393和数据比较器395。
图16A示出示意了根据本发明构思的示例性实施例的由在图13中示意的存储装置300C执行的内部的读取-验证操作的时序图。例如,图16A示出示意了根据本发明构思的示例性实施例的、根据图15中示意的概念图而执行的内部的读取-验证操作的时序图。
参考图9A、9B和16B,在图9A的对比性例子中示意的读取-验证操作中,存储器装置将读取-验证目标数据发送至控制器并且控制器对数据执行读取-验证操作。根据本发明构思的示例性实施例,如图9B和16A中所示,存储器装置300C自身对读取-验证目标数据执行内部的读取-验证操作。因而,除非产生了具有第二状态的状态信号STATUS,否则存储器装置300C不将读取-验证目标数据发送至控制器210A或210B。因此,数据存储装置200A或200B不需要时间DOUT来发挥功用。结果,可以增强数据存储装置200A或200B的性能。
由于数据存储装置200A或200B不需要时间DOUT来发挥功用,因此执行根据本发明构思的示例性实施例的内部的读取-验证操作花费的时间T3比执行对比性例子中的读取-验证操作花费的时间T1要显著地短。
图17是根据本发明构思的示例性实施例的在图13中示意的存储器装置300C的操作的流程图。图18是示意根据本发明构思的示例性实施例的在图13中示意的存储器装置300C的操作的概念图。将参考图13和图16A至18描述根据本发明构思的示例性实施例的存储器装置300C使用三个I/O缓冲器391、392和393将第一数据与第二数据进行比较的操作。
从控制器210A或210B输出并将被写入到存储器单元阵列335的数据PDATA1可以在操作S310中被存储在第一I/O缓冲器391中。数据PDATA1可以是内部的读取-验证目标数据。存储在第一I/O缓冲器391中的数据PDATA1可以在操作S312中被复制到第二I/O缓冲器392。
页缓冲器340可以在操作S314A中将从第二I/O缓冲器392输出的数据PDATA1写入到存储器单元阵列335。在从第二I/O缓冲器392输出的数据PDATA1正被写入到存储器单元阵列335的同时,可以在操作S314A中将新数据PDATA2存储在第一I/O缓冲器391中。
为了内部的读取-验证操作,页缓冲器340可以从存储器单元阵列335读取数据PDATA1’,并且可以将已经被读取的数据PDATA1’在操作S316A中发送至第三I/O缓冲器393。存储器装置300C的数据处理速度可以由于操作S316A而增加。
数据比较器395可以在操作S318中,接收数据PDATA1(例如,来自第二I/O缓冲器392的第一数据)和数据PDATA1’(例如,来自第三I/O缓冲器393的第二数据),可以对第一数据和第二数据执行按位比较,并且可以将与按位差的数对应的差值DV发送至差值寄存器380。
图16B示出示意了根据本发明构思的示例性实施例的由在图13中示意的存储器装置300C执行的内部的读取-验证操作的时序图。例如,图16B示出示意了根据图18中示意的概念图而执行的内部的读取-验证操作的时序图。
图19是根据本发明构思的示例性实施例的设置参考值的方法的流程图。参考图1A、1B、2、6、13和19,控制器210A或210B可以在操作S410中产生参考值。作为备选方案,控制器210A或210B可以在操作S410中基于相对于包括在包含于数据将会被存储到的存储器单元阵列335中的块中的非易失性存储器单元的P/E循环来产生参考值。作为另一备选方案,控制器210A或210B可以在操作S410中基于相对于包括在包含于数据将会被存储到的存储器单元阵列335中的块中的非易失性存储器单元的读取计数(例如,数据已经被读取的次数)来产生参考值。如上面描述的,控制器210A或210B可以管理参考值。
存储器控制器260或262可以在操作S412中,通过通道CH1和CH2将参考值发送至包括于路WAY1或WAY2中的至少一个存储器装置300,其中已经使用上面描述的方法中的一个产生了所述参考值。存储器装置300可以在操作S414中将从存储器控制器260或262接收的参考值存储在包括于存储器装置300中的参考值寄存器375中。
如上面参考图2至18描述的,存储器装置300A、300B或300C可以使用存储在参考值寄存器375中的参考值REF和差值DV对写入到存储器单元阵列335的数据执行内部的读取-验证操作,并且可以在操作S416中仅将状态信号STATUS发送至存储器控制器260或262。为了数据的读取-验证操作,存储器装置300A、300B或300C默认不总是将数据发送至存储器控制器260或262。例如,根据示例性实施例,存储器装置300A、300B或300C仅在存储器装置300A、300B或300C对数据的内部的读取-验证操作失败时才根据存储器控制器260或262的控制,将待经受读取-验证操作的数据发送至存储器控制器260或262。因此,根据示例性实施例,控制器210A或210B仅在存储器装置300A、300B或300C对数据的内部的读取-验证操作失败时才对数据执行读取-验证操作。
图20是根据本发明构思的示例性实施例的使用P/E循环来设置参考值的方法的流程图。将参考图2、6、13和20描述使用存储装置300并且更具体地使用命令接口逻辑电路320来管理参考值的方法。
存储器装置300可以管理P/E循环。例如,命令接口逻辑电路320可以在操作S510中,基于控制信号ALE、CLE、/WE、/CE、/WP和/RE当中的至少一个来计算对于包括于存储器单元阵列335中的每一个块的P/E循环。
由命令接口逻辑电路320计算的关于P/E循环的信息可以通过命令寄存器325被发送至Y-解码器350,并且从Y-解码器350输出的信息可以在操作S512中由页缓冲器340写入到存储器单元阵列335。被编程至存储器单元阵列335的参考值可以在操作S514中由页缓冲器340检测和放大,并且然后通过Y-解码器350和I/O缓冲器390或391存储在参考值寄存器375中。
如上面参考图2至18描述的,存储器装置300A、300B或300C可以自身使用存储在参考值寄存器375中的参考值REF和差值DV对编程到存储器单元阵列335的数据执行读取-验证操作,并且然后可以在操作S416中仅将状态信号STATUS发送至存储器控制器260或262。
为了数据的读取-验证操作,存储器装置300A、300B或300C默认不总是将数据发送至存储器控制器260或262。例如,根据示例性实施例,存储器装置300A、300B或300C仅在由存储器装置300A、300B或300C自身对数据执行的读取-验证操作失败时,才根据存储器控制器260或262的控制将数据发送至存储器控制器260或262。这样,根据本发明构思的示例性实施例,控制器210A或210B仅在由存储器装置300A、300B或300C对数据执行的读取-验证操作失败时才对数据执行读取-验证操作。
图21是根据本发明构思的示例性实施例的数据处理系统400的框图。数据处理系统400可以包括存储器控制器260、接口410和存储器装置300。参考图1A和1B,存储器控制器260或262以及存储器装置300可以是分离的部件。然而,本发明构思的示例性实施例不限于此。例如,在图21示意的示例性实施例中,存储器控制器260和存储器装置300可以安装在单个系统板上或者可以封装成单个封装。存储器控制器260和存储器装置300可以彼此共享单个半导体衬底。
接口410可以控制命令和/或数据在主机(例如,图1A或1B中的主机130)和存储器控制器260之间的发送。存储器控制器260可以根据从主机接收的命令控制对存储器装置300的编程操作、读取操作或擦除操作。存储器控制器260可以将指示待写入到存储器装置300的存储器单元阵列335的数据是元数据的指示符信号发送至存储器装置300。存储器装置300可以响应于指示符信号,使用SLC编程将元数据写入到存储器单元阵列335。如上面参考图2至18描述的,存储器装置300还可以响应于指示符信号,执行对元数据的读取-验证操作。
图22是根据本发明构思的示例性实施例的图1A、1B和21中示意的产生随机化数据的存储器控制器260的框图。参考图1A、1B、21和22,存储器控制器260或262可以包括随机化发生器261。随机化发生器261可以包括随机序列生成器261-1和逻辑门261-2。
随机序列生成器261-1可以使用种子产生随机序列RS。逻辑门261-2可以对随机序列RS和输入数据DI执行操作,以产生随机化数据RDO。逻辑门261-2可以例如是异或(exclusive OR)门。然而,逻辑门261-2不限于此。随机化发生器261可以随机地改变输入数据DI,以使得输入数据DI中的1和0的量随机地(stochastically)恒定。
存储器中集成程度的增加可能导致包含于存储器单元阵列335中的存储器单元之间的干扰。即,取决于邻近的存储器单元中的每一个的状态(例如,数据值),干扰可能增加或减少。数据值可以为1或0。当随机数据(例如,随机化数据)存储在邻近的存储器单元上时,可以最小化分别存储在邻近的存储器单元中的数据值(例如,数据图案(pattern))之间的干扰。在闪存存储器单元当中可能存在编程电压扰动、通过电压(pass voltage)扰动、浮动多晶硅栅极(poly gate)之间的耦合、和/或背图案依赖性(back pattern dependency)。
由于随机化发生器261使用随机序列RS对输入数据DI进行随机化,所以使得闪存存储器单元之间的干扰最小化。结果,可以增加存储器装置300的可靠性。随机化数据RDO可以通过通道CH1或CH2从随机化发生器261被发送至路WAY1或WAY2中的存储器装置300。备选地,可以在存储器装置300内产生随机数据(例如,随机化数据)。
图23是根据本发明构思的示例性实施例的在图1A和1B中示意的存储器装置300的例子300D的框图。参考图1A、1B和23,存储器装置300D可以包括地址寄存器/计数器310、编程/擦除控制器315、命令接口逻辑电路320、命令寄存器325、数据寄存器330、存储器单元阵列335、页缓冲器340、X-解码器345、Y-解码器350、计数器/寄存器361、参考值寄存器375、寄存器381、比较器385、I/O缓冲器390、和I/O焊盘I/O0至I/O7。
控制器210A或210B可以将与待写入到存储器单元阵列335的数据的值对应的导通单元(或关断单元)的数量确定为参考值,并且可以将参考值写入/设置在参考值寄存器375中。存储器装置300D中的页缓冲器340可以将数据写入到存储器单元阵列335中的选择的非易失性存储器单元。为了在存储器装置300D中执行内部的读取-验证操作,页缓冲器340可以从选择的非易失性存储器单元中读取数据。
在内部的读取-验证操作的过程中,计数器/寄存器261可以基于已经从选择的非易失性存储器单元读取的数据(例如,元数据或随机化数据)来计数选择的非易失性存储器单元当中的导通单元(或关断单元)的数量,并且可以产生并锁存与计数结果对应的计数值CNT,并且可以将锁存的计数值CNT存储在寄存器381中。参考值寄存器375可以从I/O缓冲器390接收与导通单元的数量对应的参考值,并且将参考值存储在其中。比较器385可以将从参考值寄存器375输出的参考值REF与从寄存器381输出的计数值CNT进行比较。
当参考值REF与计数值CNT相同或者当参考值REF和计数值CNT之间的差在预定范围之内时,比较器385可以产生具有指示数据(例如,元数据或随机化数据)已经被成功写入到选择的非易失性存储器单元的第一状态的状态信号STATUS,并且可以将状态信号STATUS发送至I/O缓冲器390。I/O缓冲器390可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第一状态的状态信号STATUS发送至控制器210A或210B。控制器210A或210B可以基于具有第一状态的状态信号STATUS识别数据(例如,元数据或随机化数据)已经被成功编程到选择的非易失性存储器单元。
当参考值REF与计数值CNT不同或者当参考值REF和计数值CNT之间的差在预定范围之外时,比较器385可以产生具有指示数据(例如,元数据或随机化数据)没有被成功写入到选择的非易失性存储器单元的第二状态的状态信号STATUS,并且可以将状态信号STATUS发送至I/O缓冲器390。I/O缓冲器390可以通过I/O焊盘I/O0至I/O7中的至少一个将具有第二状态的状态信号STATUS发送至控制器210A或210B。控制器210A或210B可以基于具有第二状态的状态信号STATUS识别数据(例如,元数据或随机化数据)没有被成功编程到选择的非易失性存储器单元。在此时,制器210A或210B可以读取数据(例如,来自存储装置300D的内部的读取-验证操作的目标)并且可以对已经被读取的数据执行读取-验证操作。
尽管已经参考上面描述的示例性实施例描述了使用两个I/O缓冲器,基于与编程至存储器单元阵列335中的非易失性存储器单元的数据相关的第一数据和与编程至非易失性存储器单元的数据相关的第二数据之间的差来产生差值的方法,但是本发明构思的示例性实施例不限于此。例如,在示例性实施例中,可以使用两个页缓冲器或者使用存储第一数据的存储装置和存储第二数据的存储装置来产生差值。
如上面描述的,根据本发明构思的示例性实施,存储器装置自身对待验证所针对的数据执行内部的读取-验证操作,并且当读取-验证目标数据已经被成功写入时存储器装置不将读取-验证目标数据发送至控制器。结果,可以改善包括存储器装置的存储器系统的性能。另外,根据示例性实施例,与读取-验证操作被跳过的对比性例子相比,执行内部的读取-验证操作的存储器装置可以在不损失存储器系统的性能的情况下防止数据损坏。
尽管已经参考本发明构思的示例性实施例具体地示出和描述了本发明构思,但是本领域普通技术人员将理解,在不背离随附的权利要求限定的本发明构思的精神和范围的情况下可以在形式和细节上对其作出各种改变。

Claims (25)

1.一种操作存储器装置的方法,包括:
将初始数据写入到非易失性存储器单元阵列的非易失性存储器单元;
基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值;
将差值与参考值进行比较;
在所述差值小于所述参考值时产生指示初始数据已经被成功写入的状态信号;以及
将状态信号发送至控制器。
2.根据权利要求1所述的方法,其中,由所述控制器和存储器装置中的一个对初始数据进行随机化。
3.根据权利要求1所述的方法,其中,产生所述差值包括:
从非易失性存储器单元读取初始数据;
基于已经被读取的初始数据产生第一数据和第二数据,其中所述第一数据与非易失性存储器单元当中的导通单元的数量对应,并且所述第二数据与非易失性存储器单元当中的关断单元的数量对应;以及
使用所述第一数据和所述第二数据计算差值。
4.根据权利要求1所述的方法,其中,写入初始数据包括:
使用第一缓冲器将初始数据写入到非易失性存储器单元,
其中通过将存储在第一缓冲器中的初始数据复制到第二缓冲器而获得所述第一数据,通过从非易失性存储器单元读取初始数据并且随后将初始数据存储在第一缓冲器中而获得所述第二数据,并且所述差值是存储在第二缓冲器中的第一数据的值和存储在第一缓冲器中的第二数据的对应值之间的按位差的数。
5.根据权利要求1所述的方法,其中,写入初始数据包括:
使用第一缓冲器将初始数据写入到非易失性存储器单元,
其中通过将初始数据存储在第一缓冲器中而获得所述第一数据,通过从非易失性存储器单元读取初始数据并且随后将初始数据存储在第二缓冲器中而获得所述第二数据,并且所述差值是存储在第一缓冲器中的第一数据的值和存储在第二缓冲器中的第二数据的对应值之间的按位差的数。
6.根据权利要求1所述的方法,其中,写入初始数据包括:
使用第一缓冲器将初始数据写入到非易失性存储器单元,
其中通过将存储在第一缓冲器中的初始数据复制到第二缓冲器而获得所述第一数据,通过从非易失性存储器单元读取初始数据并且随后将初始数据存储在第三缓冲器中而获得所述第二数据,并且所述差值是存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的按位差的数。
7.根据权利要求1所述的方法,其中,写入初始数据包括:
使用第二缓冲器将初始数据写入到非易失性存储器单元,
其中通过将初始数据从第一缓冲器复制到第二缓冲器而获得所述第一数据,通过从非易失性存储器单元读取初始数据并且随后将初始数据存储在第三缓冲器中而获得所述第二数据,并且所述差值是存储在第二缓冲器中的第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的按位差的数。
8.根据权利要求1所述的方法,其中,由所述控制器将参考值写入到存储器装置。
9.根据权利要求1所述的方法,其中,基于针对非易失性存储器单元的编程/擦除循环和读取计数中的至少一个来确定所述参考值。
10.根据权利要求1所述的方法,其中,所述初始数据是与存储器装置的操作有关的元数据,并且当非易失性存储器单元中的每一个都是存储至少两位的信息的多层单元时,使用单层单元编程将元数据存储在非易失性存储器单元中。
11.根据权利要求1所述的方法,其中,非易失性存储器单元阵列是三维存储器单元阵列并且非易失性存储器单元中的每一个包括电荷陷阱层。
12.一种存储器装置,包括:
非易失性存储器单元阵列,其包括非易失性存储器单元,其中从控制器输出的初始数据被写入到非易失性存储器单元;
差值产生电路,其被配置成基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值;
寄存器,其被配置成存储参考值;以及
比较器,其被配置成将差值与存储在寄存器中的参考值进行比较,并在所述差值小于所述参考值时产生指示初始数据已经被成功写入的状态信号。
13.根据权利要求12所述的存储器装置,其中,所述差值产生电路包括:
页缓冲器,其被配置成存储从非易失性存储器单元读取的初始数据;
导通单元计数器,其被配置成基于存储在页缓冲器中的初始数据产生所述第一数据,其中所述第一数据与非易失性存储器单元当中的导通单元的数量对应;
关断单元计数器,其被配置成基于存储在页缓冲器中的初始数据产生所述第二数据,其中所述第二数据与非易失性存储器单元当中的关断单元的数量对应;以及
减法器,其被配置成使用所述第一数据和所述第二数据计算所述差值。
14.根据权利要求12所述的存储器装置,其中,所述差值产生电路包括:
第一缓冲器,其被配置成存储与写入到非易失性存储器单元的初始数据相关的第一数据;
第二缓冲器,其被配置成存储从第一缓冲器复制的所述第一数据;以及
数据比较器,其被配置成计算从第二缓冲器输出的所述第一数据的值和从第一缓冲器输出的所述第二数据的对应值之间的差的数并产生所述差值,其中第一缓冲器存储从非易失性存储器单元读取的所述第二数据。
15.根据权利要求12所述的存储器装置,其中,所述差值产生电路包括:
第一缓冲器,其被配置成存储与写入到非易失性存储器单元的初始数据相关的所述第一数据;
第二缓冲器,其被配置成存储从非易失性存储器单元读取的所述第二数据;以及
数据比较器,其被配置成计算存储在第一缓冲器中的所述第一数据的值和存储在第二缓冲器中的所述第二数据的对应值之间的差的数并产生所述差值。
16.根据权利要求12所述的存储器装置,其中,所述差值产生电路包括:
第一缓冲器,其被配置成存储与写入到非易失性存储器单元的初始数据相关的所述第一数据;
第二缓冲器,其被配置成存储从第一缓冲器复制的所述第一数据;
第三缓冲器,其被配置成存储从非易失性存储器单元读取的所述第二数据;以及
数据比较器,其被配置成计算存储在第二缓冲器中的所述第一数据的值和存储在第三缓冲器中的第二数据的对应值之间的差的数并产生所述差值。
17.根据权利要求12所述的存储器装置,其中,所述差值产生电路包括:
第一缓冲器,其被配置成接收所述第一数据;
第二缓冲器,其被配置成存储所述第一数据,其中所述第一数据从第一缓冲器被复制并且随后被写入到非易失性存储器单元;
第三缓冲器,其被配置成存储从非易失性存储器单元读取的所述第二数据;以及
数据比较器,其被配置成计算存储在第二缓冲器中的所述第一数据的值和存储在第三缓冲器中的所述第二数据的对应值之间的差的数并产生所述差值。
18.一种存储器系统,包括:
控制器;以及
连接至控制器的存储器装置,
其中存储器装置包括:
非易失性存储器单元阵列,其包括非易失性存储器单元,其中从控制器输出的初始数据被写入到非易失性存储器单元;
差值产生电路,其被配置成基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值;
寄存器,其被配置成存储参考值;以及
比较器,其被配置成将所述差值与存储在寄存器中的参考值进行比较,并在所述差值小于所述参考值时产生指示初始数据已经被成功写入的状态信号。
19.根据权利要求18所述的存储器系统,其中,所述差值产生电路包括:
页缓冲器,其被配置成存储从非易失性存储器单元读取的初始数据;
导通单元计数器,其被配置成基于存储在页缓冲器中的初始数据产生所述第一数据,其中所述第一数据与非易失性存储器单元当中的导通单元的数量对应;
关断单元计数器,其被配置成基于存储在页缓冲器中的初始数据产生所述第二数据,其中所述第二数据与非易失性存储器单元当中的关断单元的数量对应;以及
减法器,其被配置成使用所述第一数据和所述第二数据计算差值。
20.根据权利要求18所述的存储器系统,其中,所述控制器包括配置成对输入数据进行随机化并产生随机化数据作为初始数据的随机化发生器。
21.根据权利要求18所述的存储器系统,其中,所述控制器基于针对非易失性存储器单元的编程/擦除循环和读取计数中的至少一个确定所述参考值,并将所述参考值写入到寄存器。
22.根据权利要求18所述的存储器系统,其中,所述控制器将指示符信号发送至存储器装置,其中指示符信号指示初始数据是与存储器装置的操作相关的元数据,非易失性存储器单元中的每一个是存储至少两位的信息的多层单元,并且存储器装置使用单层单元编程将元数据写入到非易失性存储器单元。
23.一种操作存储器装置的方法,包括:
将初始数据写入到非易失性存储器单元阵列的非易失性存储器单元;
基于与写入到非易失性存储器单元的初始数据相关的第一数据和与写入到非易失性存储器单元的初始数据相关的第二数据之间的差产生差值;
将所述差值与参考值进行比较;
产生状态信号,
其中所述状态信号具有指示初始数据已经被成功写入的第一状态或指示初始数据没有被成功写入的第二状态,
其中所述状态信号在差值小于参考值时具有所述第一状态并且在差值大于或等于参考值时具有所述第二状态;
在所述状态信号具有第一状态时在没有初始数据的情况下将状态信号发送至控制器;以及
在所述状态信号具有第二状态时将状态信号和初始数据发送至控制器。
24.根据权利要求23所述的方法,其中,由所述控制器和存储器装置中的一个对初始数据进行随机化。
25.根据权利要求23所述的方法,其中,产生差值包括:
从非易失性存储器单元读取初始数据;
基于已经被读取的初始数据产生第一数据和第二数据,其中所述第一数据与非易失性存储器单元当中的导通单元的数量对应,并且所述第二数据与非易失性存储器单元当中的关断单元的数量对应;以及
使用所述第一数据和所述第二数据计算所述差值。
CN201610083063.7A 2015-02-06 2016-02-06 用于内部执行读取-验证操作的存储器装置及其操作方法和存储器系统 Active CN105869677B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150018715A KR102292217B1 (ko) 2015-02-06 2015-02-06 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
KR10-2015-0018715 2015-02-06

Publications (2)

Publication Number Publication Date
CN105869677A true CN105869677A (zh) 2016-08-17
CN105869677B CN105869677B (zh) 2021-05-11

Family

ID=56566765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610083063.7A Active CN105869677B (zh) 2015-02-06 2016-02-06 用于内部执行读取-验证操作的存储器装置及其操作方法和存储器系统

Country Status (3)

Country Link
US (1) US9990149B2 (zh)
KR (1) KR102292217B1 (zh)
CN (1) CN105869677B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107919150A (zh) * 2016-10-06 2018-04-17 爱思开海力士有限公司 锁存控制信号发生电路和半导体器件

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11158381B2 (en) 2017-10-12 2021-10-26 Samsung Electronics Co., Ltd. Non-volatile memory device and operating method thereof
KR102336662B1 (ko) 2017-10-12 2021-12-07 삼성전자 주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
US11537514B2 (en) * 2018-02-27 2022-12-27 SK Hynix Inc. Data storage device and operating method thereof
JP2020198577A (ja) 2019-06-04 2020-12-10 キオクシア株式会社 メモリシステム
CN110908599B (zh) * 2019-09-27 2021-02-02 珠海博雅科技有限公司 数据的写入方法与写入系统
WO2023133877A1 (en) * 2022-01-17 2023-07-20 Yangtze Memory Technologies Co., Ltd. Redundant data protection for nand memory using self-verification by internal firmware
WO2023137647A1 (en) * 2022-01-20 2023-07-27 Yangtze Memory Technologies Co., Ltd. Data protection in nand memory using internal firmware to perform self-verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315812A (zh) * 2008-03-20 2008-12-03 上海交通大学 基于并口的flash存储器在线编程方法
JP2011210373A (ja) * 2011-07-29 2011-10-20 Genusion Inc 不揮発性半導体記憶装置およびその読み書き制御方法
CN102422361A (zh) * 2010-03-30 2012-04-18 松下电器产业株式会社 非易失性存储装置和对非易失性存储装置的写入方法
CN102782764A (zh) * 2009-09-11 2012-11-14 桑迪士克技术有限公司 识别非易失性存储装置中的有风险数据

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
JP4063615B2 (ja) 2002-08-30 2008-03-19 Necエレクトロニクス株式会社 不揮発性メモリおよびその書き込み処理方法
JP4421925B2 (ja) 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置
KR100874915B1 (ko) 2007-01-15 2008-12-19 삼성전자주식회사 용도 변환이 가능한 검증 데이터 버퍼를 구비하는 플래시 메모리 장치, 및 이를 이용하는 프로그램 및 검증 방법
WO2008101316A1 (en) * 2007-02-22 2008-08-28 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
KR101532754B1 (ko) * 2008-09-22 2015-07-02 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8332578B2 (en) * 2009-07-31 2012-12-11 Intel Corporation Method and system to improve the performance of a multi-level cell (MLC) NAND flash memory
KR101617641B1 (ko) * 2009-08-27 2016-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101802815B1 (ko) 2011-06-08 2017-12-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
US8659957B2 (en) 2011-03-07 2014-02-25 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method of driving semiconductor device
JP2012190359A (ja) * 2011-03-11 2012-10-04 Toshiba Corp キャッシュシステムおよび処理装置
JP5306399B2 (ja) 2011-03-18 2013-10-02 株式会社東芝 不揮発性半導体メモリ
US9007843B2 (en) 2011-12-02 2015-04-14 Cypress Semiconductor Corporation Internal data compare for memory verification
US20130254463A1 (en) * 2012-03-23 2013-09-26 Kabushiki Kaisha Toshiba Memory system
KR20130129700A (ko) 2012-05-21 2013-11-29 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그의 구동방법
US9268681B2 (en) * 2012-08-30 2016-02-23 Apple Inc. Heterogeneous data paths for systems having tiered memories
KR102107723B1 (ko) * 2012-12-03 2020-05-07 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
US9076530B2 (en) * 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
KR102025193B1 (ko) * 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US9349476B2 (en) 2013-02-21 2016-05-24 Sandisk Technologies Inc. Methods, systems, and computer readable media for early detection of potential flash failures using an adaptive system level algorithm based on flash program verify
US9508736B2 (en) * 2013-10-17 2016-11-29 Cypress Semiconductor Corporation Three-dimensional charge trapping NAND cell with discrete charge trapping film
US9129701B2 (en) * 2013-12-19 2015-09-08 Sandisk Technologies Inc. Asymmetric state detection for non-volatile storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101315812A (zh) * 2008-03-20 2008-12-03 上海交通大学 基于并口的flash存储器在线编程方法
CN102782764A (zh) * 2009-09-11 2012-11-14 桑迪士克技术有限公司 识别非易失性存储装置中的有风险数据
CN102422361A (zh) * 2010-03-30 2012-04-18 松下电器产业株式会社 非易失性存储装置和对非易失性存储装置的写入方法
JP2011210373A (ja) * 2011-07-29 2011-10-20 Genusion Inc 不揮発性半導体記憶装置およびその読み書き制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107919150A (zh) * 2016-10-06 2018-04-17 爱思开海力士有限公司 锁存控制信号发生电路和半导体器件
CN107919150B (zh) * 2016-10-06 2021-12-14 爱思开海力士有限公司 锁存控制信号发生电路和半导体器件

Also Published As

Publication number Publication date
CN105869677B (zh) 2021-05-11
KR20160096969A (ko) 2016-08-17
US20160231953A1 (en) 2016-08-11
US9990149B2 (en) 2018-06-05
KR102292217B1 (ko) 2021-08-24

Similar Documents

Publication Publication Date Title
CN105869677A (zh) 用于内部执行读取-验证操作的存储器装置及其操作方法和存储器系统
US10671299B2 (en) Nonvolatile memory module having device controller that detects validity of data in RAM based on at least one of size of data and phase bit corresponding to the data, and method of operating the nonvolatile memory module
US8904090B2 (en) Non-volatile memory device, devices having the same, and method of operating the same
US8854879B2 (en) Method of programming a nonvolatile memory device and nonvolatile memory device performing the method
KR102319189B1 (ko) 스토리지 장치, 이를 포함하는 스토리지 시스템 및 스토리지 장치의 동작 방법
CN109410998A (zh) 存储器装置及其操作方法
KR20160110596A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
US20130064013A1 (en) Non-volatile multi-level memory device and data read method
CN109697024B (zh) 存储器系统及其操作方法
US11715538B2 (en) Memory system processing request based on inference and operating method of the same
CN107015886A (zh) 操作存储设备的方法和操作包括其的数据处理系统的方法
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN110321068A (zh) 存储器控制器及操作存储器控制器的方法
US10013210B2 (en) Data storage device and data maintenance method thereof
CN109815160A (zh) 最后写入页搜索
CN104700896B (zh) 存储器系统和包括所述存储器系统的用户装置
CN112542201A (zh) 存储设备及操作该存储设备的方法
CN112416809A (zh) 用于可扩展存储区域的分配模式
US10353626B2 (en) Buffer memory management method and write method using the same
KR20210079552A (ko) 메모리 시스템 및 메모리 컨트롤러
KR20210012123A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
KR102303653B1 (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
CN115691615A (zh) 存储装置和存储控制器的操作方法
US11775203B2 (en) Storage device including nonvolatile memory device and method of operating the same
US20240143185A1 (en) Storage device writing data on the basis of temperatures of memory dies and method thereof

Legal Events

Date Code Title Description
C06 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