CN110941566A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN110941566A CN110941566A CN201910886505.5A CN201910886505A CN110941566A CN 110941566 A CN110941566 A CN 110941566A CN 201910886505 A CN201910886505 A CN 201910886505A CN 110941566 A CN110941566 A CN 110941566A
- Authority
- CN
- China
- Prior art keywords
- page data
- data
- page
- sub
- memory cell
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种数据存储装置。该数据存储装置包括:存储器单元阵列,包括多个页面,每个页面包括K个存储器单元,每个存储器单元中存储N个位,其中N和K是大于或等于2的正数,其中每个页面存储由N个子页面数据构成的一个页面数据,其中每个子页面数据具有K个位;高速缓存缓冲器,从控制器接收并高速缓存第一页面数据的N个子页面数据;以及页面缓冲器,顺序地缓冲第一页面数据的各个高速缓存的N个子页面数据,并将第一页面数据的各个缓冲的N个子页面数据存储在存储器单元阵列中,其中当对第一页面数据的第M子页面数据的写入操作完成时,高速缓存缓冲器从控制器接收并高速缓存第二页面数据的第M子页面数据,其中M是小于N的正数。
Description
相关申请的交叉引用
本申请要求于2018年9月21日提交的申请号为10-2018-0113943的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体装置,更特别地,涉及一种数据存储装置及其操作方法。
背景技术
近来,计算环境的范例已经变为可以随时随地使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常采用使用存储器装置的数据存储装置。数据存储装置用于存储便携式电子装置中使用的数据。
由于使用存储器装置的数据存储装置不具有机械驱动器,因此数据存储装置具有优异的稳定性和耐用性,表现出较高的信息访问速度并且具有低功耗。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够提高存储器系统中的顺序编程操作的性能的数据存储装置及其操作方法。
在实施例中,一种数据存储装置可以包括:存储器单元阵列,包括多个页面,每个页面包括K个存储器单元,每个存储器单元中存储N个位,其中N和K是大于或等于2的正数,其中每个页面存储由N个子页面数据构成的一个页面数据,其中每个子页面数据具有K个位;高速缓存缓冲器,被配置为从控制器接收并高速缓存第一页面数据的N个子页面数据;以及页面缓冲器,被配置为顺序地缓冲第一页面数据的各个高速缓存的N个子页面数据,并将第一页面数据的各个缓冲的N个子页面数据存储在存储器单元阵列中。当对第一页面数据的第M子页面数据的写入操作完成时,高速缓存缓冲器从控制器接收并高速缓存第二页面数据的第M子页面数据,其中M是小于N的正数
在实施例中,提供了一种存储器装置的操作方法,存储器装置包括存储器单元阵列,存储器单元阵列包括多个页面,每个页面包括K个存储器单元,每个存储器单元存储N个位,其中N和K是大于或等于2的正数,其中每个页面存储由N个子页面数据构成的一个页面数据,每个子页面数据具有K个位。该操作方法可以包括以下步骤:由高速缓存缓冲器从控制器接收并高速缓存第一页面数据的N个子页面数据;由页面缓冲器顺序地缓冲第一页面数据的各个高速缓存的N个子页面数据,并将第一页面数据的各个缓冲的N个子页面数据存储在存储器单元阵列中;以及当完成对第一页面数据的第M子页面数据的写入操作时,由高速缓存缓冲器接收并高速缓存来自控制器的第二页面数据的第M子页面数据,其中M是小于N的正数。
在实施例中,提供了一种数据存储装置,包括:存储器装置,包括多个存储器单元;以及控制器,适于顺序地向存储器装置提供第一数据和第二数据,第一数据和第二数据中的每一个包括对应于存储器单元的逻辑页面的多个子数据。存储器装置包括联接到控制器的高速缓存缓冲器,适合于顺序地接收并高速缓存第一数据和第二数据。页面缓冲器联接在高速缓存缓冲器和存储器单元之间。并且存储器控制器控制高速缓存缓冲器和页面缓冲器,使得当在页面缓冲器中缓冲的第一数据的子数据被存储在存储器单元中时,待被存储在存储器单元中的第二数据的子数据被高速缓存在高速缓存缓冲器中。
在完成将第一页面数据存储在存储器单元阵列中之前,高速缓存缓冲器可以完成从控制器接收并高速缓存第二页面数据的第M子页面数据。
在完成对第一页面数据的高速缓存的第(M+1)子页面数据的写入操作之前,高速缓存缓冲器可以完成从控制器接收并高速缓存第二页面数据的第M子页面数据。
存储器单元阵列可以包括多层单元(MLC),并且N个子页面数据可以包括最低有效位(LSB)页面数据和最高有效位(MSB)页面数据。在执行将LSB页面数据存储在存储器单元阵列中的写入操作之后,页面缓冲器可以执行将MSB页面数据存储在存储器单元阵列中的写入操作。
当完成将第一页面数据的LSB页面数据存储在存储器单元阵列中的写入操作时,高速缓存缓冲器可以从控制器接收并高速缓存第二页面数据的LSB页面数据。
存储器单元阵列可包括三层单元(TLC),并且N个子页面数据可包括最低有效位(LSB)页面数据、中间有效位(CSB)页面数据和最高有效位(MSB)页面数据。页面缓冲器可以执行将LSB页面数据存储在存储器单元阵列中的写入操作,当完成对LSB页面数据的写入操作时执行将CSB页面数据存储在存储器单元阵列中的写入操作,并且当完成对CSB页面数据的写入操作时,执行将MSB页面数据存储在存储器单元阵列中的写入操作。
当完成将第一页面数据的LSB页面数据存储在存储器单元阵列中的写入操作时,高速缓存缓冲器可以从数据控制器接收并高速缓存第二页面数据的LSB页面数据。
当完成将第一页面数据的CSB页面数据存储在存储器单元阵列中的写入操作时,高速缓存缓冲器可以从数据缓冲器接收第二页面数据的CSB页面数据并高速缓存所接收的数据。
附图说明
图1是示出根据实施例的数据存储装置的示图。
图2是示出图1的存储器的示图。
图3是示出根据实施例的包括在非易失性存储器装置中的数据存储区域的示图。
图4是示出存储在图3的页面中的页面数据的示例的示图。
图5是示出根据实施例的数据存储装置的顺序写入操作的示图。
图6和图7是示出常规的顺序写入操作的示图。
图8是示出根据实施例的数据存储装置的操作方法的流程图。
图9和图10是示出图8的数据存储装置的操作的时序图。
图11是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图12是示出图11的控制器的示图。
图13是示出根据实施例的包括数据存储装置的数据处理系统的示图。
图14是示出根据实施例的包括数据存储装置的数据处理系统的示图。
图15是示出根据实施例的包括数据存储装置的网络系统的示图。
图16是示出根据实施例的数据存储装置中的非易失性存储器装置的框图。
具体实施方式
在下文中,将通过示例性实施例并参照附图在下面描述根据本公开的数据存储装置及其操作方法。
图1是示出根据实施例的数据存储装置10的示图。
参照图1,数据存储装置10可以存储由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)或车载信息娱乐系统的主机装置20访问的数据。数据存储装置10可以称为存储器系统。
根据联接到主机装置20的接口协议,数据存储装置10可以被制造成各种类型的存储装置中的任意一种。例如,数据存储装置10可以被配置为包括固态驱动器(SSD)、诸如eMMC、RS-MMC或微型MMC的多媒体卡(MMC)、诸如迷你-SD卡或微型-SD卡的安全数字(SD)卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCI-E或PCI-e)卡型存储装置、紧凑型闪存(CF)卡、智能媒体卡和记忆棒的各种类型的存储装置中的任意一种。
数据存储装置10可以被制造为各种类型的封装中的任意一种。例如,数据存储装置10可以被制造为诸如堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)的各种封装类型中的任意一种。
数据存储装置10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为数据存储装置10的存储介质而操作。非易失性存储器装置100可以根据存储器单元被配置为包括NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)膜的磁性RAM(MRAM)、使用硫族化物合金的相变RAM以及使用过渡金属氧化物的电阻式RAM(RERAM)的各种类型的非易失性存储器装置中的任意一种。
尽管图1示出数据存储装置10包括一个非易失性存储器装置100,但是数据存储装置10可以包括多个非易失性存储器装置。本实施例可以以相同的方式应用于包括多个非易失性存储器装置的数据存储装置10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,并且每个存储块可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以被配置为能够存储1位数据的单层单元(SLC)或能够存储2位或更多位数据的多层单元(MLC)。MLC可以存储2位数据、3位数据、4位数据等。通常,存储2位数据的存储器单元可以被称为MLC,存储3位数据的存储器单元可以被称为三层单元(TLC),并且存储4位数据的存储器单元可以被称为四层单元(QLC)。然而,为方便起见,存储2位至4位数据的存储器单元将统称为MLC。
存储器单元阵列可以包括SLC和MLC中的一个或多个。此外,存储器单元阵列可以包括具有二维结构的存储器单元或具有三维结构的存储器单元。
控制器200可以通过驱动加载到存储器230的固件或软件来控制数据存储装置10的全部操作。控制器200可以解码并驱动诸如固件或软件的基于代码的指令或算法。控制器200可以以硬件或硬件和软件的组合来实现。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。尽管未在图1中示出,但是控制器200可以进一步包括错误校正码(ECC)引擎,其通过对从主机装置20提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器装置100读取的读取数据执行ECC解码。
主机接口210可以根据协议与主机装置20和数据存储装置10接口连接。例如,主机接口210可以通过通用串行总线(USB)、通用闪存(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCI-e或PCIe)中的任意一种协议与主机装置20通信。
处理器220可以包括微控制单元(MCU)和/或中央处理单元(CPU)。处理器220可以处理从主机装置20接收的请求。为了处理从主机装置20接收的请求,处理器220可以驱动加载到存储器230的基于代码的指令或算法,即固件,并控制非易失性存储器装置100和诸如主机接口210、存储器230和存储器接口240的内部功能块。
处理器220可以基于从主机装置20接收的请求生成控制信号以控制非易失性存储器装置100的操作。进一步地,处理器220可以通过存储器接口240将所生成的控制信号提供给非易失性存储器装置100。
存储器230可以被配置为诸如动态RAM(DRAM)或静态RAM(SRAM)的随机存取存储器(RAM)。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如元数据。也就是说,存储器230可以作为处理器220的工作存储器而操作。
存储器230可以包括数据缓冲器,用于临时存储待被从主机装置20传送到非易失性存储器装置100的写入数据或者待被从非易失性存储器装置100传送到主机装置20的读取数据。也就是说,存储器230可以作为缓冲存储器而操作。
存储器接口240可以在处理器220的控制下控制非易失性存储器装置100。存储器接口240还可以称为存储器控制器。存储器接口240可以向非易失性存储器装置100提供控制信号。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。存储器接口240可以将存储在存储器230的数据缓冲器中的数据提供给非易失性存储器装置100,或者将从非易失性存储器装置100接收的数据存储在数据缓冲器中。
图2是示出图1的存储器230的示图。
参照图2,存储器230可以包括第一区域R1和第二区域R2。第一区域R1可以存储闪存转换层(FTL)。第二区域R2可以用作命令队列CMDQ,用于对与从主机装置20接收的请求相对应的命令进行排队。尽管图2示出了存储器230包括两个区域,但是除了这两个区域之外,存储器230可以包括用于各种用途的区域,诸如用作临时存储写入数据的写入数据缓冲器的区域,用作临时存储读取数据的读取数据缓冲器的区域,以及用作高速缓存映射数据的映射高速缓存缓冲器的区域。
重新参照图1,存储器230可以包括用于存储系统数据或元数据的区域。该区域可以存储工作负载模式信息(WLPI)。
当非易失性存储器装置100被配置为闪速存储器装置时,处理器220可以控制非易失性存储器装置100的唯一操作,并且驱动被称为FTL的软件以便提供与主机装置20的装置兼容性。当驱动FTL时,主机装置20可以识别数据存储装置10并将其用作诸如硬盘的通用存储装置。
FTL可以存储在存储器230的第一区域R1中。FTL可以包括用于执行各种功能的模块和驱动各个模块所需的元数据。FTL可以存储在非易失性存储器装置100的系统区域(未示出)中。当数据存储装置10通电时,可以从非易失性存储器装置100的系统区域读取FTL并将其加载到存储器230的第一区域R1。
图3是示出根据实施例的非易失性存储器装置(例如,图1的非易失性存储器装置100)中的数据存储区域的示图。
参照图3,非易失性存储器装置100可以包括共享联接到控制器200的通道CH的多个管芯310a和310b。管芯310a和310b中的每一个可以包括共享联接到通道CH的通路311的多个平面312a和312b。平面312a和312b中的每一个可包括多个页面。每个页面可以指示读取或写入数据的存储区域的最小单位。共同擦除的多个页面可以称为存储块。被作为一个存储块进行管理的多个存储块可以被称为超级块。非易失性存储器装置100的数据存储区域可以利用管芯、平面、超级块、存储块或页面来实现。作为示例,在以下描述中,除非另有说明,否则数据存储区域可以利用页面来实现。
图4是示出存储在图3的页面中的页面数据的示例的示图。
参照图4的(a),页面包括K个存储器单元,每个存储器单元能够在其中存储N个位,其中N和K是大于或等于2的整数。页面可以存储可以由最多N个子页面数据构成的页面数据。每个子页面数据可以对应于具有最多K个位的数据。
参照图4的(b),页面包括多个存储器单元,每个存储器单元能够在其中存储两个位。每个存储器单元对应于MLC。页面数据可以包括最低有效位(LSB)页面的数据和最高有效位(MSB)页面的数据,作为对应于MLC的逻辑页面的子页面数据。
参照图4的(c),页面包括多个存储器单元,每个存储器单元能够在其中存储三个位。每个存储器单元对应于TLC。页面数据可以包括LSB页面的数据、中间有效位(CSB)页面的数据和MSB页面的数据,作为对应于TLC的逻辑页面的子页面数据。
图5是示出根据实施例的数据存储装置(例如,图1的数据存储装置10)的顺序写入操作的示图。
参照图5,数据存储装置10可以包括非易失性存储器装置100和控制器200。非易失性存储器装置100可以从控制器200接收写入数据并将所接收的数据存储在其中。
控制器200可以包括数据缓冲器510,用于临时存储待被存储在非易失性存储器装置100中的写入数据。数据缓冲器510可以将写入数据传送到非易失性存储器装置100。
非易失性存储器装置100可以包括NAND控制器(或存储器控制器)520、高速缓存缓冲器530、页面缓冲器540和存储器单元阵列550。
NAND控制器520可以控制非易失性存储器装置100的全部操作。特别地,NAND控制器520可以控制非易失性存储器装置100以执行基于从控制器200接收的命令的操作或非易失性存储器装置100所需的其它操作。
高速缓存缓冲器530可以接收待被存储在非易失性存储器装置100中的写入数据,并高速缓存所接收的数据。特别地,高速缓存缓冲器530可以在NAND控制器520的控制下,从数据缓冲器510接收写入数据,并且高速缓存所接收的数据,其中待被存储在非易失性存储器装置100中的写入数据临时存储在数据缓冲器510中。
在实施例中,高速缓存缓冲器530可以单独地接收对应于页面单位的每个页面数据。页面数据可以包括N个子页面数据PD_Sub,其中N是大于或等于2的正数。高速缓存缓冲器530可以接收并存储每个子页面数据。此时,页面数据的大小可以等于对应于非易失性存储器装置100的页面大小的K个位,其中K是大于或等于2的正数。构成一个页面数据的子页面数据的数量N可以等于可以存储在非易失性存储器装置100的每个存储器单元中的位的数量。
当对第一页面数据的第M子页面数据的写入操作完成时,高速缓存缓冲器530可以高速缓存第二页面数据的第M子页面数据。例如,非易失性存储器装置100在控制器200的控制下顺序地存储第一和第二页面数据。高速缓存缓冲器530可以从数据缓冲器510接收构成第一页面数据的N个子页面数据,并高速缓存所接收的数据。页面缓冲器将高速缓存的数据缓冲在高速缓存缓冲器530中。特别地,页面缓冲器540可以从高速缓存缓冲器530接收构成第一页面数据的高速缓存的N个子页面数据,并临时存储所接收的数据。页面缓冲器540可以执行将构成第一页面数据的临时存储的N个子页面数据顺序地存储到存储器单元阵列550的写入操作。当页面缓冲器540完成将构成第一页面数据的N个子页面数据的第M子页面数据存储在存储器单元阵列550中的写入操作时,高速缓存缓冲器530可以从数据缓冲器510接收构成第二页面数据的N个子页面数据的第M子页面数据,并高速缓存所接收的数据。也就是说,当存储第一页面数据的高速缓存的第二子页面数据的写入操作完成时,高速缓存缓冲器530可以从数据缓冲器510接收第二页面数据的第二子页面数据并高速缓存所接收的数据。
在实施例中,页面缓冲器540可以针对每个子页面数据接收高速缓存在高速缓存缓冲器530中的数据,并且执行将所接收的子页面数据顺序地存储在存储器单元阵列550中的写入操作。
存储器单元阵列550可以包括多个存储器单元,并且每个存储器单元可以存储N个位。在下文中,通过举例说明当顺序地存储第一和第二页面数据时,参照图6至图10更详细地描述存储器装置100的顺序写入操作。
图6和图7是示出数据存储装置的常规的顺序写入操作的示图。顺序写入操作可以由包括图5中的非易失性存储器装置100和控制器200的数据存储装置10执行。
参照图6,在步骤S610中,非易失性存储器装置100可以接收写入命令。特别地,非易失性存储器装置100可以从控制器200接收用于顺序存储第一和第二页面数据的写入命令。
在步骤S620中,可以将第一页面数据高速缓存在高速缓存缓冲器530中。特别地,高速缓存缓冲器530可以从控制器200接收构成第一页面数据的N个子页面数据,并高速缓存所接收的数据。
在步骤S630中,第一页面数据可以存储在页面缓冲器540中。特别地,当高速缓存缓冲器530完成高速缓存构成第一页面数据的N个子页面数据的操作时,页面缓冲器540可以从高速缓存缓冲器530接收构成第一页面数据的N个子页面数据。页面缓冲器540可以执行将构成第一页面数据的接收的N个子页面数据顺序地存储在存储器单元阵列550中的写入操作。
在步骤S640中,可以将第二页面数据高速缓存在高速缓存缓冲器530中。特别地,当将第一页面数据存储在存储器单元阵列550中的操作完成时,高速缓存缓冲器530可以从控制器200接收由N个子页面数据构成的第二页面数据,并高速缓存所接收的数据。
也就是说,在顺序写入操作期间,高速缓存缓冲器530可以在完成对构成第一页面数据的所有N个子页面数据的写入操作之后高速缓存第二页面数据。
在步骤S650中,第二页面数据可以存储在页面缓冲器540中。特别地,当高速缓存缓冲器530完成高速缓存构成第二页面数据的N个子页面数据的操作时,页面缓冲器540可以从高速缓存缓冲器530接收构成第二页面数据的N个子页面数据。页面缓冲器540可以执行将构成第二页面数据的接收的N个子页面数据顺序地存储在存储器单元阵列550中的写入操作。
图7是示出对作为三层单元(TLC)的存储器单元的顺序写入操作的时序图。
图7(a)是示出数据存储装置10在图6的顺序写入操作期间理想地操作的情况的时序图。在图7的(a)中,“Data In Time”表示写入数据被从控制器200高速缓存在高速缓存缓冲器530中的时间,“PROGRAM Time”表示高速缓存在高速缓存缓冲器530中的数据被完全写入存储器单元阵列550的时间。当数据存储装置10执行将写入数据存储在其中没有发生延迟的非易失性存储器装置100中的顺序写入操作(例如,Tprog_0或Tprog_1)时,在第一页面数据(例如,T0 LSB、T0 CSB、T0 MSB)被高速缓存在高速缓存缓冲器530中并且将高速缓存的第一页面数据存储在存储器单元阵列550中的写入操作(例如,Tprog_0)完成时,来自控制器200的第二页面数据(例如,T1 LSB、T1 CSB、T1 MSB)可以被高速缓存在高速缓存缓冲器530中。当构成第二页面数据的N个子页面数据(例如,T1 LSB、T1 CSB、T1 MSB)全部被高速缓存时,数据存储装置10可以开始将高速缓存的第二页面数据存储在存储器单元阵列550中的写入操作。
图7的(b)是示出在图6的顺序写入操作期间在数据存储装置10中发生延迟的情况的时序图。在将第一页面数据(例如,T0 LSB、T0 CSB、T0 MSB)存储在存储器单元阵列550中的写入操作(例如,Tprog_0)完成之后,数据存储装置10可以开始将来自控制器200的第二页面数据(例如,T1 LSB、T1 CSB、T1 MSB)高速缓存在高速缓存缓冲器530中的操作。在构成第二页面数据的N个子页面数据(例如,T1 LSB、T1 CSB、T1 MSB)全部被高速缓存之后,数据存储装置10可以开始将第二页面数据存储在存储器单元阵列550中的写入操作。当在来自控制器200的第二页面数据被高速缓存在高速缓存缓冲器530的同时发生延迟时,将第二数据存储在存储器单元阵列550中的写入操作可以被延迟时间Td。
本公开的实施例提供了一种每当将构成第一页面数据的每个子页面数据存储在存储器单元阵列550中的写入操作完成时能够高速缓存构成第二页面数据的每个子页面数据的技术,从而防止可能由于延迟而造成的写入操作性能的降低。
图8是示出根据实施例的数据存储装置的操作方法的流程图。
将通过举例说明当顺序地接收第一和第二页面数据并将其存储在图5的非易失性存储器装置100中时来描述图8的操作方法。
参照图8,在步骤S810中,非易失性存储器装置100可以接收写入命令。特别地,非易失性存储器装置100可以从控制器200接收写入命令。通过写入命令,控制器200可以控制非易失性存储器装置100将临时存储在数据缓冲器510中的写入数据存储到存储器单元阵列550中。
在步骤S820中,可以将第一页面数据高速缓存在高速缓存缓冲器530中。特别地,高速缓存缓冲器530可以从控制器200的数据缓冲器510接收构成第一页面数据的N个子页面数据,并且将所接收的数据高速缓存在其中。
在步骤S830中,可以执行写入操作。特别地,当高速缓存缓冲器530完成高速缓存构成第一页面数据的N个子页面数据的操作时,页面缓冲器540可以从高速缓存缓冲器530接收构成第一页面数据的N个子页面数据。然后,页面缓冲器540可以执行将构成第一页面数据的N个子页面数据顺序地存储在存储器单元阵列550中的写入操作。
在实施例中,当存储器单元阵列550包括以多层单元(MLC)实现的存储器单元时,页面缓冲器540可以对某个子页面(例如,最低有效位(LSB)页面)执行写入操作。当LSB页面的写入操作完成时,页面缓冲器540可以对另一子页面(例如,最高有效位(MSB)页面)执行写入操作。
在实施例中,当存储器单元阵列550包括以三层单元(TLC)实现的存储器单元时,页面缓冲器540可以对某个子页面(例如,最低有效位(LSB)页面)执行写入操作。当完成LSB页面的写入操作时,页面缓冲器540可以对另一子页面(例如,中间有效位(CSB)页面)执行写入操作。当CSB的写入操作完成时,页面缓冲器540可以对另一子页面(例如,最高有效位(MSB)页面)执行写入操作。
在步骤S840中,可以将第二页面数据高速缓存在高速缓存缓冲器530中。特别地,当页面缓冲器540完成对构成第一页面数据的第一子页面数据的写入操作时,高速缓存缓冲器530可以从控制器200接收构成第二页面数据的第一子页面数据,并且将所接收的数据高速缓存在其中。也就是说,构成第一页面数据的N个子页面数据的第一子页面数据可以被替换为构成第二页面数据的N个子页面数据的第一子页面数据,其中该第一页面数据已经被高速缓存在高速缓存缓冲器530中。
在实施例中,当在利用MLC实现存储器单元的情况下完成对应于第一页面数据的LSB页面的子页面数据的写入操作时,即使在对应于第一页面数据的MSB页面的子页面数据的写入操作完成之前,高速缓存缓冲器530也可以从数据缓冲器510接收对应于第二页面数据的LSB页面的子页面数据,并且高速缓存所接收的数据。
在实施例中,当在利用TLC实现存储器单元的情况下完成对应于第一页面数据的LSB页面的子页面数据的写入操作时,即使在对应于第一页面数据的CSB和MSB页面的子页面数据的写入操作完成之前,高速缓存缓冲器530也可以从数据缓冲器510接收对应于第二页面数据的LSB页面的子页面数据,并且高速缓存所接收的数据。此外,当对应于第一页面数据的CSB页面的子页面数据的写入操作完成时,即使在对应于第一页面数据的MSB页面的子页面数据的写入操作完成之前,高速缓存缓冲器530也可以从数据缓冲器510接收对应于第二页面数据的CSB页面的子页面数据,并且高速缓存所接收的数据。
在步骤S850中,确定对第一页面数据的写入操作可以完成。特别地,非易失性存储器装置100可以重复步骤S830和S840,直到对第一页面数据的所有子页面数据(例如,N个子页面数据)的写入操作完成。换句话说,在步骤S850中,确定第一页面数据的当前第M子页面数据与第一页面数据的第N子页面数据是否相同。当确定第M子页面数据与第N子页面数据相同时,可以执行步骤S860。否则,可以对增加的子页面数据,即第(M+1)子页面数据执行步骤S830。
在步骤S860中,可以执行对第二页面数据的写入操作。当对构成第一页面数据的第N子页面数据的写入操作完成时,非易失性存储器装置100可以对高速缓存在高速缓存缓冲器530中的第二页面数据的第一子页面数据执行写入操作。
也就是说,每当构成对应于操作目标的页面数据的N个子页面数据中的任意一个被存储在存储器单元阵列550中时,可以执行对构成待被存储的下一页面数据的子页面数据进行高速缓存的操作。因此,当将第N子页面数据存储在存储器单元阵列550中的操作完成时,可以将除了第N子页面数据之外的、构成待被存储的下一页面数据的子页面数据高速缓存在高速缓存缓冲器530中。因此,当从控制器200仅接收构成待被存储的下一页面数据的第N子页面数据并高速缓存所接收的数据时,非易失性存储器装置可以开始存储待被存储在存储器单元阵列550中的下一页面数据的写入操作。因此,尽管在某种程度上发生了延迟,但是可以减少数据存储装置10的性能下降。
图9和图10是示出根据实施例的数据存储装置的操作、图8所示的数据存储装置10的操作的时序图。
在以下描述中,当存储器单元以三层单元(TLC)实现时,顺序编程操作可以指示将第一页面数据T0_LSB、T0_CSB和T0_MSB,第二页面数据T1_LSB、T1_CSB和T1_MSB以及第三页面数据T2_LSB、T2_CSB和T2_MSB顺序存储在非易失性存储器装置100中的操作。T0_LSB、T0_CSB和T0_MSB可以是第一页面数据的子页面数据(即,LSB子页面、CSB子页面和MSB子页面)。T1_LSB、T1_CSB和T1_MSB可以是第二页面数据的子页面数据。T2_LSB、T2_CSB和T2_MSB可以是第三页面数据的子页面数据。
图9是示出根据本实施例的例如图8的顺序编程操作的顺序编程操作的时序图。每当对第一页面数据的每个子页面数据的写入操作完成时,非易失性存储器装置100可以从数据缓冲器510接收第二页面数据的相应子页面数据,并高速缓存所接收的数据。因此,可以在不同时间高速缓存第二页面数据的子页面数据(例如,LSB、CSB和MSB子页面的数据)。然而,在对第一页面数据的MSB页面的数据的写入操作完成之前,非易失性存储器装置100可以完全地高速缓存第二页面数据的LSB和CSB子页面的数据。因此,虽然在从数据缓冲器510接收数据和高速缓存所接收的数据的进程期间发生延迟,但是可以使对第二页面数据的写入操作的延迟最小化。
图10是示出根据另一实施例的例如图8的顺序编程操作的顺序编程操作的时序图。参照图10,每当完成对第一页面数据的每个子页面数据的写入操作时,非易失性存储器装置100可以从数据缓冲器510接收第二页面数据的相应子页面数据,并高速缓存所接收的数据。
图9和图10的时序图仅是高速缓存第二页面数据的子页面数据的操作的示例。因此,可以在不延迟第二页面数据的编程操作的范围内以各种方式修改时序图。
图11示出根据实施例的包括固态驱动器(SSD)2200的数据处理系统。参照图11,数据处理系统2000可以包括主机装置2100和固态驱动器SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。此外,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以在控制器2210的控制下被传送到主机装置2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn与控制器2210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供到SSD2200中。电源2240可包括辅助电源2241。当发生突然断电时,辅助电源2241可以供应电力以正常关闭SSD2200。辅助电源2241可以包括能够存储电力PWR的大电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口方法,信号连接器2250可以被配置为各种类型的连接器。
图12示出图11的控制器2210。参照图12,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机装置2100的协议将主机装置2100和SSD 2200接口连接。例如,主机接口单元2211可以通过以下的任意一个协议与主机装置2100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪存(UFS)。主机接口单元2211可以执行磁盘仿真功能,其支持主机装置2100将SSD 2200识别为通用数据存储装置,例如硬盘驱动器(HDD)。
控制单元2212可以分析并处理从主机装置2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。RAM 2213可以用作用于驱动该固件或软件的工作存储器。
ECC单元2214可以生成待被传送到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据和数据可以存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当所检测到的错误落在可校正范围内时,则ECC单元2214可以校正检测到的错误。
存储器接口单元2215可以在控制单元2212的控制下向非易失性存储器装置2231至223n提供诸如命令和地址的控制信号。存储器接口单元2215可以在控制单元2212的控制下与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供给非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供给缓冲存储器装置2220。
图13示出根据实施例的包括数据存储装置的数据处理系统3000。参照图13,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置为诸如PCB的板。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储装置3200可以安装在连接端子3110上。
数据存储装置3200可以被配置为诸如PCB的板。数据存储装置3200可以称为存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的全部操作。控制器3210可以与图12所示的控制器2210相同的方式配置
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以在控制器3210的控制下被传送到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231至3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到数据存储装置3200中。PMIC 3240可以在控制器3210的控制下管理数据存储装置3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和数据存储装置3200之间传送信号和电力,该信号包括命令、地址、数据等。根据主机装置3100和数据存储装置3200之间的接口连接方法,连接端子3250可以以各种方式配置。连接端子3250可以设置在数据存储装置3200的任意一侧。
图14示出根据实施例的包括数据存储装置的数据处理系统4000。参照图14,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以被配置为诸如PCB的板。尽管未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置4200可以配置为表面安装封装。数据存储装置4200可以通过焊球4250安装在主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以与图12所示的控制器2210相同的方式配置
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被传送到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图15示出包括根据本发明的实施例的数据存储装置的网络系统5000。参照图15,网络系统5000可以包括通过网络5500连接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应于多个客户端系统5410、5420和5430的请求来提供数据。例如,服务器系统5300可以存储从多个客户端系统5410、5420和5430提供的数据。又例如,服务器系统5300可以向多个客户端系统5410、5420和5430提供数据。
服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以被配置为图1的数据存储装置10、图11的SSD 2200、图13的数据存储装置3200或图14的数据存储装置4200。
图16是示出根据实施例的数据存储装置中的非易失性存储器装置100的框图。参照图16,非易失性存储器装置100可包括存储器单元阵列110、行解码器120、列解码器130、数据读取和写入(读取/写入)块140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm与位线BL1至BLn之间的各个交叉点处的存储器单元MC。
行解码器120可以通过字线WL1至WLm联接至存储器单元阵列110。列解码器120可以在控制逻辑160的控制下操作。行解码器120可以解码从外部装置(未示出)提供的地址。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压生成器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块140可以通过位线BL1到BLn联接到存储器单元阵列110。数据读取/写入块140可以包括对应于相应位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块140可以在控制逻辑160的控制下操作。数据读取/写入块140可以根据操作模式作为写入驱动器或读出放大器而操作。例如,在写入操作期间,数据读取/写入块140可以作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器而操作。又例如,在读取操作期间,数据读取/写入块140可以作为从存储器单元阵列110读取数据的读出放大器而操作。
列解码器130可以在控制逻辑160的控制下操作。列解码器130可以解码从外部装置提供的地址。列解码器130可以根据解码结果将数据读取/写入块140的、分别与位线BL1至BLn对应的读取/写入电路RW1至RWn联接至数据输入/输出线(或数据输入/输出缓冲器)。
电压生成器150可以生成用于非易失性存储器装置100的内部操作的电压。由电压生成器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作期间生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作期间生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作期间生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作或擦除操作。
根据本实施例,可以提高存储器系统的顺序编程性能。
虽然以上描述了各种实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,不应基于所描述的实施例来限制本文描述的数据存储装置和操作方法。应当理解,本文描述的基本发明构思的许多变化和修改仍将落入如所附权利要求中所限定的本公开的精神和范围内。
Claims (17)
1.一种数据存储装置,包括:
存储器单元阵列,包括多个页面,每个所述页面包括K个存储器单元,每个所述存储器单元中存储N个位,其中N和K是大于或等于2的正数,其中每个所述页面存储由N个子页面数据构成的一个页面数据,每个所述子页面数据具有K个位;
高速缓存缓冲器,从控制器接收并高速缓存第一页面数据的N个子页面数据;以及
页面缓冲器,顺序地缓冲所述第一页面数据的各个高速缓存的N个子页面数据,并将所述第一页面数据的各个缓冲的N个子页面数据存储在所述存储器单元阵列中,
其中当对所述第一页面数据的第M子页面数据的写入操作完成时,所述高速缓存缓冲器从所述控制器接收并高速缓存第二页面数据的第M子页面数据,其中M是小于N的正数。
2.根据权利要求1所述的数据存储装置,其中在完成将所述第一页面数据存储在所述存储器单元阵列中之前,所述高速缓存缓冲器完成从所述控制器接收并高速缓存所述第二页面数据的所述第M子页面数据。
3.根据权利要求1所述的数据存储装置,其中在完成对所述第一页面数据的高速缓存的第(M+1)子页面数据的写入操作之前,所述高速缓存缓冲器完成从所述控制器接收并高速缓存所述第二页面数据的所述第M子页面数据。
4.根据权利要求1所述的数据存储装置,其中N是2,所述存储器单元阵列包括多层单元,即MLC,并且所述N个子页面数据包括:最低有效位页面数据,即LSB页面数据;以及最高有效位页面数据,即MSB页面数据,
其中在执行将所述LSB页面数据存储在所述存储器单元阵列中的写入操作之后,所述页面缓冲器执行将所述MSB页面数据存储在所述存储器单元阵列中的写入操作。
5.根据权利要求4所述的数据存储装置,其中当完成将所述第一页面数据的所述LSB页面数据存储在所述存储器单元阵列中的写入操作时,所述高速缓存缓冲器从所述控制器接收并高速缓存所述第二页面数据的所述LSB页面数据。
6.根据权利要求1所述的数据存储装置,其中N为3,所述存储器单元阵列包括三层单元,即TLC,所述N个子页面数据包括:最低有效位页面数据,即LSB页面数据;中间有效位页面数据,即CSB页面数据;以及最高位页面数据,即MSB页面数据,
其中所述页面缓冲器执行将所述LSB页面数据存储在所述存储器单元阵列中的写入操作,并且当完成对所述LSB页面数据的写入操作时,执行将所述CSB页面数据存储在所述存储器单元阵列中的写入操作,并且当完成对所述CSB页面数据的写入操作时,执行将所述MSB页面数据存储在所述存储器单元阵列中的写入操作。
7.根据权利要求6所述的数据存储装置,其中当完成将所述第一页面数据的所述LSB页面数据存储在所述存储器单元阵列中的写入操作时,所述高速缓存缓冲器从所述控制器接收并高速缓存所述第二页面数据的所述LSB页面数据。
8.根据权利要求7所述的数据存储装置,其中当完成将所述第一页面数据的所述CSB页面数据存储在所述存储器单元阵列中的写入操作时,所述高速缓存缓冲器从所述控制器接收所述第二页面数据的所述CSB页面数据并高速缓存所接收的数据。
9.一种存储器装置的操作方法,所述存储器装置包括存储器单元阵列,所述存储器单元阵列包括多个页面,每个所述页面包括K个存储器单元,每个所述存储器单元存储N个位,其中N和K是大于或等于2的正数,其中每个所述页面存储由N个子页面数据构成的一个页面数据,每个所述子页面数据具有K个位,所述操作方法包括:
由高速缓存缓冲器从控制器接收并高速缓存第一页面数据的N个子页面数据;
由页面缓冲器顺序地缓冲所述第一页面数据的各个高速缓存的N个子页面数据,并将所述第一页面数据的各个缓冲的N个子页面数据存储在所述存储器单元阵列中;以及
当完成对所述第一页面数据的第M子页面数据的写入操作时,由所述高速缓存缓冲器接收并高速缓存来自所述控制器的第二页面数据的第M子页面数据,其中M是小于N的正数。
10.根据权利要求9所述的操作方法,其中接收并高速缓存所述第二页面数据的所述第M子页面数据包括:在完成将所述第一页面数据存储在所述存储器单元阵列中之前,从所述控制器接收并高速缓存所述第二页面数据的所述第M子页面数据。
11.根据权利要求9所述的操作方法,其中在完成对所述第一页面数据的高速缓存的第(M+1)子页面数据的写入操作之前,完成从所述控制器接收并高速缓存所述第二页面数据的所述第M子页面数据。
12.根据权利要求9所述的操作方法,其中N是2,所述存储器单元阵列是多层单元,即MLC,并且所述N个子页面数据包括:最低有效位页面数据,即LSB页面数据;以及最高有效位页面数据,即MSB页面数据,
其中,在执行将所述LSB页面数据存储在存储器单元阵列中之后,执行将所述MSB页面数据存储在所述存储器单元阵列中。
13.根据权利要求12所述的操作方法,其中当完成将所述第一页面数据的所述LSB页面数据存储在所述存储器单元阵列中时,执行从所述控制器接收并高速缓存所述第二页面数据的所述LSB页面数据。
14.根据权利要求9所述的操作方法,其中N为3,所述存储器单元阵列是三层单元,即TLC,所述N个子页面数据包括:最低有效位页面数据,即LSB页面数据;中间有效位页面数据,即CSB页面数据;以及最高位页面数据,即MSB页面数据,
其中将所述第一页面数据的所述各个高速缓存的N个子页面数据顺序地存储在所述存储器单元阵列中包括:将所述LSB页面数据存储在所述存储器单元阵列中,并且当完成所述LSB页面数据的存储时将所述CSB页面数据存储在所述存储器单元阵列中,并且当完成所述CSB页面数据的存储时将所述MSB页面数据存储在所述存储器单元阵列中。
15.根据权利要求14所述的操作方法,其中接收并高速缓存所述第二页面数据的所述第M子页面数据包括:当完成将所述第一页面数据的所述LSB页面数据存储在所述存储器单元阵列中时,从所述控制器接收并高速缓存所述第二页面数据的所述LSB页面数据。
16.根据权利要求14所述的操作方法,其中接收并高速缓存所述第二页面数据的所述第M子页面数据包括:当完成将所述第一页面数据的所述CSB页面数据存储在所述存储器单元阵列中时,从所述控制器接收并高速缓存所述第二页面数据的所述CSB页面数据。
17.一种数据存储装置,包括:
存储器装置,包括多个存储器单元;以及
控制器,顺序地向所述存储器装置提供第一数据和第二数据,所述第一数据和所述第二数据中的每一个包括对应于所述存储器单元的逻辑页面的多个子数据,
其中,所述存储器装置包括:
高速缓存缓冲器,联接到所述控制器,顺序地接收并高速缓存所述第一数据和所述第二数据。
页面缓冲器,联接在所述高速缓存缓冲器和所述存储器单元之间;以及
存储器控制器,控制所述高速缓存缓冲器和所述页面缓冲器,使得当在所述页面缓冲器中缓冲的所述第一数据的子数据被存储在所述存储器单元中时,待被存储在所述存储器单元中的所述第二数据的子数据被高速缓存在所述高速缓存缓冲器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0113943 | 2018-09-21 | ||
KR1020180113943A KR20200034312A (ko) | 2018-09-21 | 2018-09-21 | 데이터 저장 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941566A true CN110941566A (zh) | 2020-03-31 |
CN110941566B CN110941566B (zh) | 2023-03-28 |
Family
ID=69883405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910886505.5A Active CN110941566B (zh) | 2018-09-21 | 2019-09-19 | 数据存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11133060B2 (zh) |
KR (1) | KR20200034312A (zh) |
CN (1) | CN110941566B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210066631A (ko) * | 2019-11-28 | 2021-06-07 | 삼성전자주식회사 | 메모리에 데이터를 기입하기 위한 장치 및 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438353A (zh) * | 2006-05-05 | 2009-05-20 | 桑迪士克股份有限公司 | 在读取操作期间具有后台数据锁存器高速缓存的非易失性存储器及其方法 |
US20100005270A1 (en) * | 2008-03-07 | 2010-01-07 | Via Technologies, Inc. | Storage unit management methods and systems |
US20100274951A1 (en) * | 2009-04-24 | 2010-10-28 | A-Data Technology (Suzhou) Co., Ltd. | Electronic storage device with improved storage method |
CN101876947A (zh) * | 2009-04-30 | 2010-11-03 | 国际商业机器公司 | 用于存储数据的方法及其系统 |
CN102314925A (zh) * | 2010-07-09 | 2012-01-11 | 海力士半导体有限公司 | 半导体存储器件及其操作方法 |
US20150213895A1 (en) * | 2014-01-28 | 2015-07-30 | Donghun Kwak | Memory system including nonvolatile memory and memory controller and programming method for programming data into nonvolatile memory |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120051B2 (en) * | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7206230B2 (en) * | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7813170B2 (en) * | 2005-11-11 | 2010-10-12 | Kabushiki Kaisha Toshiba | Semiconductor memory device capable of memorizing multivalued data |
US7734861B2 (en) * | 2006-09-08 | 2010-06-08 | Sandisk Corporation | Pseudo random and command driven bit compensation for the cycling effects in flash memory |
KR100902008B1 (ko) * | 2007-02-09 | 2009-06-12 | 삼성전자주식회사 | 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템 |
US8355280B2 (en) * | 2010-03-09 | 2013-01-15 | Samsung Electronics Co., Ltd. | Data storage system having multi-bit memory device and operating method thereof |
US10014070B2 (en) * | 2013-01-14 | 2018-07-03 | Micron Technology, Inc. | Data path integrity verification in memory devices |
KR20140142759A (ko) | 2013-05-31 | 2014-12-15 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그의 동작방법과 비휘발성 메모리 장치를 포함하는 시스템 |
KR102293169B1 (ko) * | 2014-06-25 | 2021-08-26 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
KR20170110408A (ko) | 2016-03-23 | 2017-10-11 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
US10120604B1 (en) * | 2017-06-13 | 2018-11-06 | Micron Technology, Inc. | Data programming |
-
2018
- 2018-09-21 KR KR1020180113943A patent/KR20200034312A/ko not_active Application Discontinuation
-
2019
- 2019-07-26 US US16/523,301 patent/US11133060B2/en active Active
- 2019-09-19 CN CN201910886505.5A patent/CN110941566B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438353A (zh) * | 2006-05-05 | 2009-05-20 | 桑迪士克股份有限公司 | 在读取操作期间具有后台数据锁存器高速缓存的非易失性存储器及其方法 |
US20100005270A1 (en) * | 2008-03-07 | 2010-01-07 | Via Technologies, Inc. | Storage unit management methods and systems |
US20100274951A1 (en) * | 2009-04-24 | 2010-10-28 | A-Data Technology (Suzhou) Co., Ltd. | Electronic storage device with improved storage method |
CN101876947A (zh) * | 2009-04-30 | 2010-11-03 | 国际商业机器公司 | 用于存储数据的方法及其系统 |
CN102314925A (zh) * | 2010-07-09 | 2012-01-11 | 海力士半导体有限公司 | 半导体存储器件及其操作方法 |
US20150213895A1 (en) * | 2014-01-28 | 2015-07-30 | Donghun Kwak | Memory system including nonvolatile memory and memory controller and programming method for programming data into nonvolatile memory |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Non-Patent Citations (2)
Title |
---|
BRIAN DIPERT: "闪速存储器中的数据存储" * |
RAJESHWARI BANAKAR等: "Scratchpad memory: design alternative for cache on-chip memory in embedded systems" * |
Also Published As
Publication number | Publication date |
---|---|
KR20200034312A (ko) | 2020-03-31 |
US20200097408A1 (en) | 2020-03-26 |
US11133060B2 (en) | 2021-09-28 |
CN110941566B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936485B2 (en) | Data storage device for dynamic garbage collection triggering and operating method thereof | |
CN111124273B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10902924B2 (en) | Memory system varying pass voltage based on erase count of target memory block and operating method thereof | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
US10545689B2 (en) | Data storage device and operating method thereof | |
US11966603B2 (en) | Memory system for updating firmware when SPO occurs and operating method thereof | |
KR20200129863A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
KR20200121645A (ko) | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11422752B2 (en) | Controller, memory system, and operating methods thereof | |
US11231882B2 (en) | Data storage device with improved read performance and operating method thereof | |
CN112286443A (zh) | 控制器、存储器系统及其操作方法 | |
CN110941566B (zh) | 数据存储装置及其操作方法 | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof | |
CN111324297B (zh) | 控制器、数据存储装置及数据存储装置的操作方法 | |
US11232023B2 (en) | Controller and memory system including the same | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
KR20200142698A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11144246B2 (en) | Memory system using available bad block based on data storage reliability and operating method thereof | |
US20200117390A1 (en) | Data storage device and operating method thereof | |
US20190212946A1 (en) | Data storage device 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |