CN110795359A - 存储器系统及该存储器系统的操作方法 - Google Patents
存储器系统及该存储器系统的操作方法 Download PDFInfo
- Publication number
- CN110795359A CN110795359A CN201811636294.1A CN201811636294A CN110795359A CN 110795359 A CN110795359 A CN 110795359A CN 201811636294 A CN201811636294 A CN 201811636294A CN 110795359 A CN110795359 A CN 110795359A
- Authority
- CN
- China
- Prior art keywords
- block
- memory
- data
- memory device
- size
- 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/5671—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 trapping in an insulator
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/5641—Multilevel memory having cells with different number of storage levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储器系统,该存储器系统包括:多个存储器装置,每个存储器装置包括第一块和第二块;以及控制器,将从主机接收的数据存储在缓冲器中,选择多个存储器装置中的待利用数据编程的存储器装置的第一块,检测数据的大小,当该大小被检测为等于单触发编程大小时控制存储器装置将数据编程至所选择的第一块中,当该大小被检测为小于单触发编程大小时确定包括所选择的第一块的存储器装置的状态,当包括所选择的第一块的存储器装置被确定为处于第一状态时控制存储器装置将数据编程至所选择的第一块中,以及当包括所选择的第一块的存储器装置被确定为处于第二状态时控制存储器装置将数据编程至存储器装置的第二块中。
Description
相关申请的交叉引用
本申请要求2018年8月3日提交的申请号为10-2018-0090824的韩国专利申请的优先权,其整体内容通过引用并入本文。
技术领域
本发明的各个实施例涉及一种半导体装置,并且更特别地,涉及一种存储器系统及操作该存储器系统的方法。
背景技术
近来,计算机环境的范例已经转变为能够随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已快速增加。通常,这种便携式电子装置使用存储器系统,即,数据存储装置,其中存储器系统使用存储器装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于不具有机械驱动部件,因此使用存储器装置的数据存储装置提供了以下优点:稳定性和耐久性优异,信息存取速度高且功耗小。具有这种优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态硬盘(SSD)。
发明内容
本发明的实施例涉及一种存储器系统及操作该存储器系统的方法,其中该存储器系统能够通过基于数据的大小和存储器装置的状态选择块来减少虚拟数据的使用,从而提高写入操作的性能。
根据本发明的实施例,一种存储器系统可以包括:多个存储器装置,每个存储器装置包括第一块和第二块;以及控制器,适于:将从主机接收的数据存储在缓冲器中;选择多个存储器装置中的待利用数据编程的存储器装置的第一块;检测数据的大小;当该大小被检测为等于单触发编程大小时,控制存储器装置将数据编程至所选择的第一块中;当该大小被检测为小于单触发编程大小时,确定包括所选择的第一块的存储器装置的状态;当包括所选择的第一块的存储器装置被确定为处于第一状态时,控制存储器装置将数据编程至所选择的第一块中;以及当包括所选择的第一块的存储器装置被确定为处于第二状态时,控制存储器装置将数据编程至存储器装置的第二块中。
根据本发明的另一实施例,提供了一种用于操作存储器系统的方法,该存储器系统包括多个存储器装置和控制器,每个存储器装置包括第一块和第二块,控制器适于控制存储器装置,该方法可以包括:将从主机接收的数据存储在缓冲器中;选择多个存储器装置中的待利用数据编程的存储器装置的第一块;检测数据的大小;当该大小被检测为等于单触发编程大小时,控制包括所选择的第一块的存储器装置将数据编程至所选择的第一块中;当该大小被检测为小于单触发编程大小时,确定包括所选择的第一块的存储器装置的状态;当包括所选择的第一块的存储器装置处于第一状态时,控制存储器装置将数据编程至所选择的第一块中;以及当包括所选择的第一块的存储器装置处于第二状态时,控制存储器装置将数据编程至第二块中。
根据本发明的另一实施例,一种存储器系统可以包括:存储器装置,包括第一单元和第二单元;以及控制器,适于:当目标数据的大小与单触发编程操作兼容时,控制存储器装置执行将目标数据存储至第一单元中的单触发编程操作;当目标数据的大小与单触发编程操作不兼容并且存储器装置空闲时,控制存储器装置执行将目标数据和虚拟数据存储至第一单元中的单触发编程操作;以及当目标数据的大小与单触发编程操作不兼容并且存储器装置繁忙时,控制存储器装置执行将目标数据存储至第二单元中的正常编程操作,其中每个第一单元的存储容量大于每个第二单元的存储容量,并且每个第二单元比每个第一单元适应更快的存储速度。
附图说明
图1是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统的框图。
图2是示意性地示出根据本发明的实施例的存储器系统中的存储器装置的示图。
图3是示意性地示出根据本发明的实施例的存储器装置中的存储块的存储器单元阵列电路的示图。
图4是示意性地示出根据本发明的实施例的存储器系统中的存储器装置的示图。
图5是示出关于根据本发明的实施例的存储器系统中的存储器装置的数据处理操作的示图。
图6至图8是示出根据本发明的实施例的存储器系统的操作的框图。
图9是描述根据本发明的实施例的操作存储器系统的方法的流程图。
图10至图18是示出根据本发明的实施例的存储器系统的示例的示图。
具体实施方式
下面将参照附图更详细地描述本发明的各个实施例。然而,本发明可以不同形式实施,因此不应被理解为限于本文阐述的实施例。而是,提供这些实施例以便本公开是详尽且完全的,并且将本发明的范围完全传达给本领域技术人员。在整个公开中,在本发明的各个附图和实施例中,相同的附图标记表示相同的部分。并且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种措辞的不同参考不一定针对相同的实施例。
图1是示出包括根据实施例的存储器系统的数据处理系统100的框图。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以通过例如以下的各种电子装置中的任一种实现:诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪的电子装置,即,有线和无线电子装置。
并且,主机102包括至少一个操作系统(OS)。操作系统通常管理并控制主机102的功能和操作,并且提供主机102和使用数据处理系统100或存储器系统110的用户之间的互操作性。操作系统支持与操作系统的目的和用途对应的功能和操作。例如,根据主机102的移动性,操作系统可以是一般操作系统或移动操作系统。根据用户的使用环境,一般操作系统可以是个人操作系统或企业操作系统。例如,配置成支持一般用户的服务提供功能的个人操作系统可以包括Windows和Chrome,配置成确保并支持高性能的企业操作系统可以包括Windowsserver、Linux和Unix。配置成支持用户的移动服务提供功能和系统节电功能的移动操作系统可以包括Android、iOS、Windows mobile等。主机102可以包括多个操作系统,并且对应于用户请求运行操作系统以利用存储器系统110执行操作。主机102将与用户请求对应的多个命令传送至存储器系统110,并且因此,存储器系统110执行与命令对应的操作,即,与用户请求对应的操作。
存储器系统110响应于主机102的请求操作,特别地,存储待由主机102访问的数据。换言之,存储器系统110可以用作主机102的主存储器装置或辅助存储器装置。根据与主机102联接的主机接口协议,存储器系统110可以实施为各种存储装置中的任一种。例如,存储器系统110可以被实施为固态硬盘(SSD)、多媒体卡(例如,MMC、嵌入式MMC(eMMC)、减小尺寸的MMC(RS-MMC)和微型MMC)、安全数字卡(例如,SD、迷你SD和微型SD)、通用串行总线(USB)存储装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡和记忆棒中的任一种。
实施存储器系统110的存储装置可以是诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易失性存储器装置或者诸如以下的非易失性存储器装置:只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁性RAM(MRAM)和/或电阻式RAM(RRAM)。
存储器系统110包括存储待由主机102访问的数据的存储器装置150和控制数据在存储器装置150中的存储的控制器130。
控制器130和存储器装置150可以集成至一个半导体装置中。例如,控制器130和存储器装置150可以集成至一个半导体装置中并且配置固态硬盘(SSD)。在存储器系统110用作SSD的情况下,联接到存储器系统110的主机102的运行速度可以提高。控制器130和存储器装置150可以集成至一个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协议(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC和微型MMC)、安全数字卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)装置。
在另一实施例中,存储器系统110可以设置在计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录仪、数字音频播放器、数字图片记录仪、数字图片播放器、数字视频记录仪、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传送和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、无线射频识别(RFID)装置、或者配置计算系统的各种组成元件中的一种中。
即使不供应电力,存储器装置150也可以保留存储的数据。特别地,存储器装置150通过写入操作存储从主机102提供的数据,并且通过读取操作将存储的数据提供至主机102。存储器装置150包括多个存储块152、154和156,每个存储块包括多个页面。每个页面包括联接到多个字线(WL)的多个存储器单元。并且,存储器装置150包括多个平面,每个平面包括多个存储块,例如块152、154和156。特别地,存储器装置150可以包括多个存储器管芯,每个存储器管芯包括多个平面。存储器装置150可以是非易失性存储器装置,例如,闪存存储器。闪存存储器可以具有三维(3D)堆叠结构。
在下文参照图2至图4给出包括3D堆叠结构的存储器装置150的结构的详细说明。
控制器130响应于来自主机102的请求控制存储器装置150。例如,控制器130将从存储器装置150读取的数据提供至主机102,并且将从主机102提供的数据存储在存储器装置150中。为此,控制器130控制存储器装置150的操作,诸如读取操作、写入操作、编程操作和擦除操作。
控制器130包括主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器144。
主机接口132处理主机102的命令和数据,并且可以配置成通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)以及移动工业处理器接口(MIPI)。主机接口132可以通过被称为主机接口层(HIL)的固件驱动,主机接口层(HIL)为与主机102交换数据的区域。
ECC组件138校正存储器装置150中处理的数据的错误位,并且可以包括ECC编码器和ECC解码器。ECC编码器可以对待编程在存储器装置150中的数据进行编码,并且生成添加有奇偶校验位的数据。添加有奇偶校验位的数据可以存储在存储器装置150中。ECC解码器检测并校正从存储器装置150读取的数据中的错误。也就是说,在对从存储器装置150读取的数据执行错误校正解码之后,ECC组件138可以确定错误校正解码是否已经成功,输出指示确定结果的例如错误校正成功/失败信号的信号,并且通过使用ECC编码进程中生成的奇偶校验位来校正读取数据的错误位。当错误位的数量超过可校正错误位极限时,ECC组件138不能校正错误位,并且可以输出指示不能校正错误位的错误校正失败信号。
ECC组件138可以通过使用以下但不限于以下来执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。ECC组件138可以包括用于合适的错误校正的任一种或所有电路、模块、系统或装置。
PMU 140提供并管理用于控制器130的电力,即,用于控制器130中包括的组成元件的电力。
存储器接口142用作执行控制器130和存储器装置150之间的接口连接的存储器存储接口以允许控制器130响应于来自主机102的请求来控制存储器装置150。在存储器装置150是闪存存储器特别是NAND闪存存储器的情况下,存储器接口142根据作为NAND闪存控制器(NFC)的处理器134的控制生成用于存储器装置150的控制信号并处理数据。存储器接口142可以支持处理控制器130和存储器装置150之间的命令和数据的例如NAND闪存接口的接口的操作,特别是,控制器130和存储器装置150之间的数据输入/输出。存储器接口142可以通过被称为闪存接口层(FIL)的固件驱动,闪存接口层(FIL)为与存储器装置150交换数据的区域。
作为存储器系统110和控制器130的工作存储器的存储器144存储用于驱动存储器系统110和控制器130的数据。例如,当控制器130响应于来自主机102的请求控制存储器装置150时,控制器130可以将从存储器装置150读取的数据提供至主机102,和/或将从主机102提供的数据存储在存储器装置150中。为此,当控制器130控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的操作时,存储器144存储允许存储器系统110,即控制器130和存储器装置150之间执行这些操作所需的数据。
存储器144可以由易失性存储器来实现。例如,存储器144可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实现。此外,存储器144可以被设置在如图1所示的控制器130内。可选地,存储器144可以在控制器130外,在这点上,存储器144可以实现为通过存储器接口与控制器130通信的独立的外部易失性存储器。
如上所述,存储器144存储在主机102和存储器装置150之间执行数据读取操作和写入操作所需的数据以及执行数据读取操作和写入操作时的数据。对于这种数据存储,存储器144包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134控制存储器系统110的全部操作,特别地,响应于来自主机102的写入请求或读取请求控制对存储器装置150的编程操作或读取操作。处理器134驱动被称为闪存转换层(FTL)的固件,以控制存储器系统110的一般操作。处理器134可以由微处理器或中央处理单元(CPU)实现。
例如,控制器130通过处理器134,在存储器装置150中执行主机102请求的操作,即,利用存储器装置150执行与从主机102接收的命令对应的命令操作。控制器130可以执行前台操作,如与从主机102接收的命令对应的命令操作,例如,与写入命令对应的编程操作、与读取命令对应的读取操作、与擦除命令对应的擦除操作、或与作为设置命令的设置参数命令或设置特征命令对应的参数设置操作。
控制器130还可以通过处理器134执行对存储器装置150的后台操作。对存储器装置150的后台操作包括将存储器装置150的存储块152、154和156中的一个存储块中存储的数据复制到另一存储块的操作。这种后台操作可以是:垃圾收集(GC)操作;在存储块152、154和156之间进行交换或交换存储块152、154和156中存储的数据的操作,例如磨损均衡(WL)操作;将控制器130中存储的映射数据存储在存储块152、154和156中的操作,例如映射清除操作;或者对存储器装置150执行坏块管理的操作,例如识别并处理存储器装置150中的存储块152、154和156中的坏块的操作。
用于对存储器装置150执行坏块管理的管理单元(未示出)可以包括在控制器130的处理器134中。管理单元识别存储器装置150中的多个存储块152、154和156中的坏块,然后执行处理坏块并将坏块标记为坏的的坏块管理。在存储器装置150是例如NAND闪存存储器的闪存存储器的情况下,由于NAND闪存存储器的特性,当在执行数据写入,例如数据编程时可能发生编程失败时,使用坏块管理。处理已经发生编程失败的存储块并将该存储块标记为坏块,并且将编程失败的数据写入,即编程在新的存储块中。此外,在存储器装置150具有如上所述的三维堆叠结构的情况下,如果对应的块根据编程失败被处理为坏块,则因为存储器装置150的使用效率和存储器系统110的可靠性可能突然劣化,因此需要可靠地执行坏块管理。下面将参照图2至图4详细描述根据本公开的实施例的存储器系统中的存储器装置。
图2是示出存储器系统中的存储器装置的示图,图3是示出存储器装置中的存储块的存储器单元阵列电路的示图,并且图4是示出三维非易失性存储器装置的结构的示图。
参照图2,存储器装置150可以包括多个存储块,例如第零块(BLOCK0)210、第一块(BLOCK1)220、第二块(BLOCK2)230和第(N-1)块(BLOCKN-1)240。块210、220、230和240中的每一个包括多个页面,例如2M个页面或M个页面。每个页面包括联接到多个字线(WL)的多个存储器单元。
根据一个存储器单元中存储或表达的位的数量,存储器装置150可以包括单层单元(SLC)存储块和/或多层单元(MLC)存储块。SLC存储块包括由每一个存储1位数据的存储器单元实现的多个页面。MLC存储块可以包括由每一个存储多位(例如,两位或更多位)数据的存储器单元实现的多个页面,并且具有比SLC存储块大的数据存储空间,即,能够被高度集成。特别地,存储器装置150可以包括:包括由每一个能够存储两位数据的存储器单元实现的多个页面的MLC存储块,包括由每一个能够存储三位数据的存储器单元实现的多个页面的三层单元(TLC)存储块,包括由每一个能够存储四位数据的存储器单元实现的多个页面的四层单元(QLC)存储块,或者包括由每一个能够存储五位或更多位数据的存储器单元实现的页面的更多层单元存储块,作为MLC存储块。
尽管作为示例描述了存储器装置150由诸如闪存存储器,例如NAND闪存存储器的非易失性存储器实现,但应注意的是,存储器装置150可以作为诸如以下的多种类型的存储器中的任一种实施:相变存储器(即,相变随机存取存储器(PCRAM))、电阻式存储器(即,电阻式随机存取存储器(RRAM或ReRAM))、铁电存储器(即,铁电随机存取存储器(FRAM))和自旋转移力矩磁性存储器(即,自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM))。
存储块210、220、230和240中的每一个通过写入操作存储从图1的主机102提供的数据,并且通过读取操作将存储的数据提供至主机102。
参照图3,存储块330表示存储器系统110的存储器装置150中的多个存储块152、154和156中的任一个。每个存储块330可以包括实现为存储器单元阵列并且分别联接到位线BL0至BLm-1的多个单元串340。每个列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联地联接在选择晶体管SST和DST之间。各存储器单元MC0至MCn-1可以由每一个存储多位数据或信息的多层单元(MLC)构成。单元串340可以分别电联接到相应的位线BL0至BLm-1。
虽然图3作为示例示出每个存储块330由NAND闪存存储器单元构成,但应注意的是,多个存储块152、154和156中的每一个不限于NAND闪存存储器,并且可以由NOR闪存存储器、组合至少两种存储器单元的混合闪存存储器或控制器内置在存储器芯片中的1-NAND闪存存储器实现。存储器装置150不仅可以实现为电荷存储层由导电浮栅构成的闪存存储器装置,而且可以实现为电荷存储层由介电层构成的电荷撷取闪存(CTF)存储器装置。
存储器装置150的电压供给电路310可以根据操作模式提供待供给到各字线的字线电压(例如,编程电压、读取电压和通过电压),以及待供给至由存储器单元形成的体材料(bulk)(例如,阱区)的电压。电压供给电路310的电压生成操作可以通过控制电路(未示出)的控制执行。电压供给电路310可以生成多个可变读取电压以生成多个读取数据,响应于控制电路的控制选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供至所选择的字线和未选择的字线。
存储器装置150的读取/写入电路320由控制电路(未示出)控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待写入到存储器单元阵列中的数据并且可以根据输入的数据来驱动位线。为此,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(PB)322、324和326,并且页面缓冲器322、324和326中的每一个可以包括多个锁存器(未示出)。
存储器装置150可以被实现为2D或3D存储器装置。具体地,如图4所示,存储器装置150可以被实现为具有3D堆叠结构的非易失性存储器装置。在存储器装置150被实现为三维结构的情况下,存储器装置150可以包括多个存储块BLK0至BLKN-1。
图4示出了图1所示的存储器装置150的存储块152、154和156。存储块152、154和156中的每一个可以被实现为三维结构(或垂直结构)。例如,各存储块152、154和156可以被实现为在第一方向至第三方向,例如,x轴方向、y轴方向和z轴方向上延伸的三维结构。
每个存储块330可以包括在第二方向上延伸的多个NAND串NS、以及在第一方向和第三方向上延伸的多个NAND串NS。每个NAND串NS可以联接到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚设字线DWL和共源线CSL,并且可以包括多个晶体管结构TS。
即,每个存储块330可以联接到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚设字线DWL和多个共源线CSL,因此每个存储块330可以包括多个NAND串NS。并且,在每个存储块330中,多个NAND串NS可以联接到一个位线BL,多个晶体管可以实现在一个NAND串NS中。每个NAND串NS的串选择晶体管SST可以联接到对应的位线BL,并且每个NAND串NS的接地选择晶体管GST可以联接到共源线CSL。存储器单元MC可以设置在每个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。即,多个存储器单元可以实现在每个存储块330中。
图5是示出关于根据实施例的存储器系统中的存储器装置的数据处理操作的示图。
参照图5,控制器130执行与从主机102接收的命令对应的命令操作,例如,与编程命令对应的编程操作。控制器130将与编程命令对应的用户数据编程并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中的多个页面中。
控制器130生成并更新用户数据的元数据,并且将元数据编程并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。元数据包括存储在存储块552、554、562、564、572、574、582和584中的用户数据的逻辑到物理(逻辑/物理或L2P)信息和物理到逻辑(物理/逻辑或P2L)信息。并且,元数据可以包括:关于与从主机102接收的命令对应的命令数据的信息、关于与命令对应的命令操作的信息、关于将执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作对应的映射数据的信息。换言之,元数据可以包括与从主机102接收的命令对应的全部信息和除用户数据外的数据。
例如,控制器130将与从主机102接收的编程命令对应的用户数据高速缓存并缓冲在控制器130的第一缓冲器510中。即,控制器130将用户数据的数据段512存储在作为数据缓冲器/高速缓存的第一缓冲器510中。第一缓冲器510可以包括在控制器130的存储器144中。此后,控制器130将存储在第一缓冲器510中的数据段512编程并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中。
当用户数据的数据段512被编程并存储在存储块552、554、562、564、572、574、582和584中的页面中时,控制器130生成L2P段522和P2L段524作为元数据。然后,控制器130将L2P段522和P2L段524存储在控制器130的第二缓冲器520中。第二缓冲器520可以包括在控制器130的存储器144中。L2P段522和P2L段524可以列表的形式存储在第二缓冲器520中。然后,控制器130通过映射清除操作,将L2P段522和P2L段524编程并存储在存储块552、554、562、564、572、574、582和584中的页面中。
控制器130执行与从主机102接收的命令对应的命令操作。例如,控制器130执行与读取命令对应的读取操作。控制器130通过将与读取命令对应的用户数据的L2P段522和P2L段524加载在第二缓冲器520中来检查与读取命令对应的用户数据的L2P段522和P2L段524。然后,控制器130从通过检查已知的存储位置读取用户数据的数据段512。即,控制器130从存储块552、554、562、564、572、574、582和584中的特定存储块的特定页面读取数据段512。然后,控制器130将数据段512存储在第一缓冲器510中,并且将数据段512提供至主机102。
图6至图8是示出根据本发明的实施例的存储器系统,例如存储器系统110的操作的框图。
参照图6,当控制器130从主机102接收多个命令时,控制器130可以对包括在多个存储器装置1501、1502、1503和1504中的多个存储块执行与接收的命令对应的命令操作。例如,控制器130可以在存储器装置1501、1502、1503和1504中的存储块中执行与接收的多个写入命令对应的编程操作。存储器装置1501、1502、1503和1504中的每一个可以对应于参照图1描述的一个存储器装置150。
具体地,当控制器130从主机102接收多个写入命令时,控制器130可以检测与写入命令对应的数据的大小和类型。与写入命令对应的数据可以包括用户数据和元数据。控制器130可以将与写入命令对应的数据的段720存储在控制器130的存储器144中。当段720为用户数据的数据段时,段720可以被存储在存储器144中的第一缓冲器510中。当段720是元数据的元段时,段720可以被存储在存储器144的第二缓冲器520中。为了说明的目的,通过示例的方式,与从主机102接收的写入命令对应的数据的段720为用户数据的数据段。然而,本发明不限于此;而是,本发明甚至可以应用于与从主机102接收的写入命令对应的数据的段720为元数据的元段的情况。
当控制器130执行编程操作时,控制器130可以基于数据大小和数据类型将与写入命令对应的数据存储在存储器装置1501、1502、1503和1504的存储块中。具体地,存储器装置1501、1502、1503和1504中的每一个可以包括第一块和第二块。第一块可以包括多层单元,即,能够在一个存储器单元中存储多位数据的存储器单元,如图3中描述的。例如,存储器装置1501、1502、1503和1504中的每一个的第一块中的多层单元可以是能够在一个存储器单元中存储三位数据的三层单元(TLC)或一个存储器单元中能够存储四位数据的四层单元(QLC)。通过示例的方式,第一块中的多层单元是三层单元(TLC)。当然,根据系统设计,存储器装置1501、1502、1503和1504中的每一个的第一块中的这种多层单元可以在一个存储器单元中存储其他数量的多位,例如两位或四位或更多位。存储器装置1501、1502、1503和1504中的每一个的第二块可以包括单层单元(SLC),即,能够在一个存储器单元中存储一位数据的存储器单元,如图3中描述的。
当数据被编程至存储器装置1501、1502、1503和1504中的每一个的第一块中时,控制器130可以使用单触发编程方法。单触发编程方法可以表示通过执行一次编程操作来将多位数据编程至多层单元中的操作。用于在第一存储器装置1501的第一块中的一个页面中在没有虚拟数据的情况下执行单触发编程操作的数据的大小可以定义为单触发编程大小。在示出的实施例中,单触发编程大小为96KB。然而,在其他实施例中,根据系统设计考虑,单触发编程大小可以大于或小于96KB。存储器装置1501、1502、1503和1504可以以交错方案操作。为此,存储器装置1501、1502、1503和1504可以通过两个通道CH0和CH1以及两个通路WAY0和WAY1彼此联接(参见图7和图8)。作为示例,第一块可以表示为TLC块,第二块可以表示为SLC块。换言之,在存储器装置1501、1502、1503和1504中,第一存储器装置1501可以包括第一TLC块T1和第一SLC块S1,第二存储器装置1502可以包括第二TLC块T2和第二SLC块S2,第三存储器装置1503可以包括第三TLC块T3和第三SLC块S3,并且第四存储器装置1504可以包括第四TLC块T4和第四SLC块S4。
参照图7和图8,这些图示出基于由控制器130接收的数据大小在包括在每个存储器装置中的TLC块和SLC块之间选择一个块并且利用数据对所选择的块编程的方法。
图7示出当从主机102输入的数据具有可以被编程在TLC块T1中的单触发编程大小时控制器130如何执行控制。
参照图7,控制器130可以将从主机102输入的第一数据DATA1存储在第一缓冲器510中。控制器130可以参照单触发编程大小,例如96KB,检测存储第一数据DATA1的第一缓冲器510的使用大小。因此,可以检测到第一缓冲器510的使用大小为单触发编程大小,例如96KB。因此,控制器130可以在第一缓冲器510中没有虚拟数据的情况下控制将存储在第一缓冲器510中的第一数据DATA1存储在存储器装置1501、1502、1503和1504的TLC块中的一个TLC块中的编程操作。最初,存储器装置1501、1502、1503和1504都不执行任何操作。因此,当存储器装置1501、1502、1503和1504中的第一存储器装置1501将基于根据交错方案的操作顺序而操作时,控制器130可以执行将第一数据DATA1编程在第一存储器装置1501的第一TLC块T1中的单触发编程操作。控制器130可以在对第一存储器装置1501执行单触发编程操作的同时删除存储在第一缓冲器510中的第一数据DATA1。
在描述图8之前,假设在第一至第三存储器装置1501至1503中的每一个的TLC块中完成了单触发编程操作,并且在这些存储器装置的每一个的SLC块中完成了编程操作。
图8示出控制器130的如下操作:当从主机102输入至控制器130的数据的大小小于例如96KB的单触发编程大小时,控制是将数据编程在存储器装置1501、1502、1503和1504中的一个存储器装置中的TLC块中还是SLC块中。
参照图8,控制器130可以将从主机102输入的第一数据DATA1存储在第一缓冲器510中。控制器130可以检查存储第一数据DATA1的第一缓冲器510的使用大小是否等于单触发编程大小96KB。因此,可以看到第一缓冲器510的使用大小小于单触发编程大小。在这种情况下,存储第一数据DATA1的第一缓冲器510的使用大小为20KB。当大小小于单触发编程大小的数据通过单触发编程操作被存储在TLC块中时,控制器130必须生成虚拟数据以弥补差额。例如,控制器130可以生成76KB的虚拟数据,并且将生成的虚拟数据存储在TLC单元中,其中76KB为单触发编程大小(96KB)与第一数据DATA1的大小(20KB)之间的差额。当在执行编程操作以将大小较小的数据编程在存储器装置中时需要生成虚拟数据时,可以通过基于待写入数据的存储器装置的状态选择TLC块或SLC块来执行编程操作。换言之,当待写入数据的存储器装置正在执行一个操作时,数据可以当正在执行的操作完成时,在没有虚拟数据的情况下直接被编程至SLC块中。另一方面,当待写入数据的存储器装置处于空闲状态时,可以对TLC块执行单触发编程操作。
具体地,控制器130可以选择待存储第一数据DATA1的TLC块。例如,控制器130可以选择第四存储器装置1504中的第四TLC块T4以写入第一数据DATA1。然后,控制器130可以检测存储第一数据DATA1的第一缓冲器510的使用大小。因此,可以看到第一缓冲器的使用大小为20KB,20KB小于例如96KB的单触发编程大小。因此,当第一数据DATA1被编程到第四TLC块T4中时,必须生成虚拟数据。在对TLC块执行编程操作之前,控制器130可以检查包括第四TLC块T4的第四存储器装置的状态。换言之,控制器130可以检查第四存储器装置1504是否处于空闲状态。如果结果是第四存储器装置1504处于空闲状态,则控制器130可以将第一数据DATA1和虚拟数据写入第四TLC块T4中。另一方面,如果结果是第四存储器装置1504的状态不是空闲状态,则控制器130可以将第四TLC块T4改变至第四SLC块S4并且将第一数据DATA1编程到第四SLC块S4中。换言之,当第四存储器装置1504的状态为繁忙状态时,对第四TLC块T4的单触发编程操作被认为未完成。当对第四存储器装置1504的单触发编程操作完成时,第一数据DATA1可以被编程至第四SLC块T4以快速对第一数据DATA1编程。
图9是描述根据本发明的实施例的操作存储器系统110的方法的流程图。
参照图9,在步骤S901中,控制器130可以从主机102接收写入命令。控制器130可以检测与写入命令对应的数据的数据大小和数据类型。与写入命令对应的数据可以包括用户数据和元数据。控制器130可以将与写入命令对应的数据的段720存储在控制器130的存储器144中。控制器130可以将用户数据存储在第一缓冲器510中,并且将元数据存储在第二缓冲器520中。本发明的所示实施例将基于用户数据来描述,在该描述中用户数据将被称为数据。例如,控制器130可以将从主机102接收的数据DATA存储在第一缓冲器510中。
在步骤S903中,控制器130可以选择待存储数据DATA的存储器装置1501、1502、1503和1504中的一个存储器装置中包括的TLC块。例如,控制器130可以选择待写入数据DATA的第四存储器装置1504中的第四TLC块T4。
在步骤S905和S907中,控制器130可以检查是否基于数据的数据大小生成虚拟数据。换言之,控制器130可以检测存储数据DATA的第一缓冲器510的使用大小,并且检查数据的数据大小是否等于单触发编程大小,单触发编程大小是对TLC块执行单触发编程操作的参考。控制器130在将数据编程到存储器装置1501、1502、1503和1504的TLC块中时可以使用单触发编程方法。单触发编程方法可以表示通过执行一次编程操作将多位数据编程到多层单元中的操作。用于在第一存储器装置1501的第一块中包括的一个页面(未示出)中处理单触发编程操作所需的数据大小可以定义为单触发编程大小。例如,单触发编程大小被设定为96KB。根据系统设计考虑可以使用其他单触发编程大小。例如,控制器130可以基于96KB的单触发编程大小来检查存储数据DATA的第一缓冲器510的使用大小。
如果在步骤S907中确定第一缓冲器510的使用大小,即数据大小等于单触发编程大小(是),则控制器130可以在步骤S909中在没有虚拟数据的情况下执行将数据DATA编程到第四TLC块T4中的单触发编程操作。例如,当第一缓冲器510的使用大小为96KB时,其中96KB为所示实施例中的单触发编程大小,则控制器130可以不需要生成虚拟数据。因此,控制器130可以在没有虚拟数据的情况下执行将数据编程到第四存储器装置1504中的单触发编程操作。
另一方面,如果在步骤S907中确定第一缓冲器510的使用大小,即数据大小小于单触发编程大小(否),则控制器130可以在步骤S911中检查包括在步骤S903中选择的第四TLC块的第四存储器装置1504的状态是否为空闲状态。例如,当第一缓冲器510的使用大小为20KB时,其中20KB小于96KB的单触发编程大小,则当将数据DATA编程到第四TLC块T4中时必须生成虚拟数据。在对第四TLC块T4执行编程操作之前,控制器130可以检查包括第四TLC块的第四存储器装置的状态是否为空闲状态。
如果在步骤S913中确定第四存储器装置1504处于空闲状态(是),则控制器130可以在步骤S909中将数据DATA和虚拟数据编程到第四TLC块T4。
如果在步骤S913中确定第四存储器装置1504不处于空闲状态(否),则控制器130可以在步骤S915中执行从所选择的TLC块到SLC块的变换操作并且在步骤S917中将数据编程到改变的SLC块中。例如,当第四存储器装置1504处于繁忙状态时,对第四存储器装置1504的第四TLC块T4的单触发编程操作未完成。因此,当第四存储器装置1504处于繁忙状态时,可以不对第四TLC块执行编程操作。因此,当对第四存储器装置1504的单触发编程操作完成时,可以通过从第四TLC块T4改变至第四SLC块S4来编程数据以快速写入数据DATA。
参照图10至图18,描述了根据实施例的可以应用包括上述存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图10是示出包括根据实施例的存储器系统的数据处理系统的示图。图10示出应用存储器系统的存储卡系统6100。
参照图10,存储卡系统6100包括连接器6110、存储器控制器6120和存储器装置6130。
存储器控制器6120与实施为非易失性存储器(NVM)的存储器装置6130连接,以访问存储器装置6130。例如,存储器控制器6120控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120提供存储器装置6130和主机(未示出)之间的接口并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可对应于上面参照图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件的组件。
存储器控制器6120可通过连接器6110与例如上面参照图1描述的主机102的外部装置通信。例如,如上面参照图1所述的,存储器控制器6120可被配置为通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi或Wi-Fi以及蓝牙。因此,存储器系统和数据处理系统可应用于有线和/或无线电子设备,特别是移动电子设备。
存储器装置6130可通过诸如以下的非易失性存储器来实施:电可擦除可编程ROM(EPROM)、NAND闪存存储器、NOR闪存存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可集成到一个半导体装置中,以形成固态硬盘(SSD)、或诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)或通用闪存(UFS)。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统6200的示图。
参照图11,数据处理系统6200包括通过至少一个非易失性存储器(NVM)实施的存储器装置6230和控制存储器装置6230的存储器控制器6220。数据处理系统6200可以是诸如存储卡(例如,CF、SD和微型SD)的存储介质。存储器装置6230可对应于上面参照图1描述的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于上面参照图1描述的存储器系统110中的控制器130。
存储器控制器6220可响应于来自主机6210的请求来控制对存储器装置6230的读取操作、写入操作和擦除操作。存储器控制器6220包括至少一个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的一般操作,例如读取、写入、文件系统管理和坏页面管理等。RAM 6222可根据CPU 6221的控制来操作且可以用作工作存储器、缓冲存储器或高速缓存存储器等。在RAM 6222用作工作存储器的情况下,通过CPU 6221处理的数据可被临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM 6222用于缓冲从主机6210传送到存储器装置6230的数据或从存储器装置6230传送到主机6210的数据。在RAM 6222用作高速缓存存储器的情况下,RAM 6222可用来使低速存储器装置6230能够以高速操作。
ECC电路6223对应于上面参照图1描述的控制器130的ECC组件138。如上面参照图1所述,ECC电路6223生成用于校正从存储器装置6230接收的数据中的失效位或错误位的错误校正码(ECC)。并且,ECC电路6223可对将提供至存储器装置6230的数据执行错误校正编码,并生成添加有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。ECC电路6223可通过使用奇偶校验位来校正错误。例如,如上面参照图1所述,ECC电路6223可通过使用诸如LDPC码、BCH码、turbo码、里德-所罗门)码、卷积码、RSC、TCM和BCM的各种编码调制中的任一种来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传送数据以及从主机6210接收数据,并通过NVM接口6225向存储器装置6230传送数据以及从存储器装置6230接收数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口与主机6210连接。此外,由于实施了诸如WiFi或长期演进(LTE)的无线通信功能或移动通信协议,存储器控制器6220可通过与外部装置,例如主机6210或其他外部装置连接来传送和接收数据。具体地,由于存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置进行通信,因此存储器系统和数据处理系统可应用于有线和/或无线电子设备,特别是移动电子设备。
图12是示出包括根据实施例的存储器系统的数据处理系统的示图。图12示出应用存储器系统的固态硬盘(SSD)6300。
参照图12,SSD 6300包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6340可对应于上面参照图1描述的存储器系统110中的存储器装置150。
控制器6320通过多个信道CH1、CH2、CH3、……和CHi与存储器装置6340连接。控制器6320包括至少一个处理器6321、ECC电路6322、主机接口6324、缓冲存储器6325以及例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325临时存储从主机6310接收的数据或从存储器装置6340中包括的多个闪存存储器NVM接收的数据,或者临时存储多个闪存存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如但不限于DRAM、SDRAM、DDR SDRAM、LPDDRSDRAM和GRAM的易失性存储器或诸如但不限于FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实现。尽管图13示出了缓冲存储器6325设置在控制器6320内部,然而缓冲存储器6325可设置在控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340中的数据的错误校正编码值。在读取操作期间,ECC电路6322基于错误校正编码值对从存储器装置6340读取的数据执行错误校正操作。在失效数据的恢复操作期间,ECC电路6322对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326提供与通过多个信道CH1、CH2、CH3、……和CHi连接的存储器装置6340的接口功能。
由于使用了每一个均应用了上面参照图1描述的存储器系统110的多个SSD 6300,因此可实现数据处理系统,例如,独立磁盘冗余阵列(RAID)系统。在RAID系统中,可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令而执行编程操作的情况下,RAID控制器可对应于接收的写入命令的RAID级别信息在多个RAID级别,即多个SSD 6300中选择至少一个存储器系统,即,至少一个SSD 6300,并可将与写入命令对应的数据输出到选择的SSD 6300。并且,在通过从主机6310接收读取命令而执行读取操作的情况下,RAID控制器可对应于接收的读取命令的RAID级别信息在多个RAID级别,即多个SSD 6300中选择至少一个存储器系统,即,至少一个SSD 6300,并可将从选择的SSD6300输出的数据提供给主机6310。
图13是示出包括根据实施例的存储器系统的数据处理系统的示图。图13示出应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图13,eMMC 6400包括控制器6430和通过至少一个NAND闪存存储器实施的存储器装置6440。控制器6430可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6440可对应于上面参照图1描述的存储器系统110中的存储器装置150。
控制器6430通过多个信道与存储器装置6440连接。控制器6430包括至少一个内核6432、主机接口(I/F)6431和存储器接口,即NAND接口(I/F)6433。
内核6432控制eMMC 6400的一般操作。主机接口6431提供控制器6430和主机6410之间的接口功能。NAND接口6433提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以是并行接口,例如上面参照图1所描述的MMC接口,并且主机接口6431可以是串行接口,例如超高速(UHS)-I/UHS-II接口和/或UFS接口。
图14至图17是示出包括根据实施例的存储器系统的数据处理系统的示例的示图。图14至图17中的每一个示出应用存储器系统的通用闪存(UFS)。
参照图14至图17,各UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。各主机6510、6610、6710和6810可以是有线和/或无线电子设备,特别是移动电子设备等的应用处理器。各UFS装置6520、6620、6720和6820可以是嵌入式UFS装置。各UFS卡6530、6630、6730和6830可以是外部嵌入式UFS装置或可移除UFS卡。
在各UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与例如有线和/或无线电子设备,特别是移动电子设备等的外部装置通信。UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可被实施为上面参照图1描述的存储器系统110。例如,在各UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图11至图13描述的数据处理系统6200、SSD6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图10描述的存储卡系统6100的形式来实施。
在各UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过通用闪存(UFS)接口,例如,移动工业处理器接口(MIPI)中的MIPI M-PHY和MIPI统一协议(UniPro)来执行通信。UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议之外的协议,例如,诸如通用存储总线(USB)、闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD的各种卡协议中的任一种来执行通信。
在图14所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510执行交换操作,以便与UFS装置6520和UFS卡6530中的每一个通信。特别地,主机6510通过例如L3交换的UniPro中的链路层交换与UFS装置6520或UFS卡6530来执行通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro中的链路层交换来执行通信。尽管作为示例描述了一个UFS装置6520和一个UFS卡6530联接到主机6510,然而要注意的是,多个UFS装置和多个UFS卡可以并联布置或星型布置联接到主机6510。并且,多个UFS卡可以并联式布置、星型式布置、串联式布置或链型式布置联接到UFS装置6520。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro。主机6610通过执行交换操作的交换模块6640,例如,执行例如L3交换操作的UniPro中的链路层交换的交换模块6640,来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过在交换模块6640的UniPro中的链路层交换来执行通信。尽管作为示例描述了一个UFS装置6620和一个UFS卡6630联接到交换模块6640,然而要注意的是,多个UFS装置和多个UFS卡可以并联式布置或星型式布置联接到交换模块6640。并且,多个UFS卡可以并联式布置、星型式布置、串联式布置或链型式布置联接到UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个中可包括UniPro。主机6710通过执行交换操作的交换模块6740,特别地,执行例如L3交换操作的UniPro中的链路层交换的交换模块6740,来与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740的UniPro中的链路层交换来执行通信。交换模块6740可设置在UFS装置6720内部或外部与UFS装置6720实施为一个模块。尽管作为示例描述了一个UFS装置6720和一个UFS卡6730联接到交换模块6740,然而要注意的是,交换模块6740和UFS装置6720分别被实施在其中的多个模块可以并联式布置或星型式布置联接到主机6710。并且,各模块可以串联式布置或以链型式布置联接,或者多个UFS卡可以并联式布置或星型式布置联接到交换模块6740。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个中存在M-PHY和UniPro。UFS装置6820执行交换操作以便与主机6810和UFS卡6830通信。特别地,UFS装置6820通过用于与主机6810通信的M-PHY和UniPro模块之间的交换和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换,例如目标标识符(ID)交换,来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来执行通信。尽管作为示例描述了一个UFS装置6820联接到主机6810并且一个UFS卡6830联接到UFS装置6820,然而要注意的是,多个UFS装置可以并联式布置或星型式布置联接到主机6810。并且,多个UFS卡可以并联式布置、星型式布置、串联式布置或链型式布置中的任一种联接到UFS装置6820。
图18是示出包括根据实施例的存储器系统的数据处理系统的示图。图18示出应用存储器系统的用户系统6900。
参照图18,用户系统6900包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930驱动用户系统6900中包括的组件和操作系统(OS)。例如,应用处理器6930可以包括控制用户系统6900中包括的组件的控制器、接口和图形引擎等。应用处理器6930可通过片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDARM、LPDDR2SDRAM和/或LPDDR3SDRAM的易失性随机存取存储器,或诸如PRAM、ReRAM、MRAM和/或FRAM的非易失性随机存取存储器。例如,可基于堆叠封装(PoP)封装来安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI)等,因此可与有线和/或无线电子设备,特别是移动电子设备通信。因此,存储器系统和数据处理系统可应用于有线和/或无线电子设备。网络模块6940可包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,并且可将存储在其中的数据传送到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存存储器、NOR闪存存储器和三维NAND闪存存储器的非易失性存储器来实施。并且,存储模块6950可被提供为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。也就是说,存储模块6950可对应于上面参照图1描述的存储器系统110,并且可被实施为上面参照图13至图18描述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的各种用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的各种用户输出接口中的任一种。
在上面参照图1描述的存储器系统110被应用于根据实施例的用户系统6900的移动电子设备的情况下,如上所述,应用处理器6930控制移动电子设备的一般操作,并且作为通信模块的网络模块6940控制与外部装置的有线和/或无线通信。作为移动电子设备的显示和触摸模块的用户接口6910显示应用处理器6930处理的数据,或支持来自触摸面板的数据输入。
根据本发明的实施例,存储器系统可以通过基于数据的大小和存储器装置的状态选择块来减少虚拟数据的生成,并且提高写入操作的性能。
虽然已经参照特定实施例描述并示出了本发明,但是本领域技术人员基于本公开将显而易见的是,在不脱离如权利要求中限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (16)
1.一种存储器系统,包括:
多个存储器装置,每个存储器装置包括第一块和第二块;以及
控制器:
将从主机接收的数据存储在缓冲器中;
选择所述多个存储器装置中的待利用所述数据编程的存储器装置的第一块;
检测所述数据的大小;
当所述大小被检测为等于单触发编程大小时,控制所述存储器装置将所述数据编程至选择的所述第一块中;
当所述大小被检测为小于所述单触发编程大小时,确定包括选择的所述第一块的所述存储器装置的状态;
当包括选择的所述第一块的所述存储器装置被确定为处于第一状态时,控制所述存储器装置将所述数据编程至选择的所述第一块中;以及
当包括选择的所述第一块的所述存储器装置被确定为处于第二状态时,控制所述存储器装置将所述数据编程至所述第二块中。
2.根据权利要求1所述的存储器系统,其中所述第一块包括多层单元即MLC、三层单元即TLC和四层单元即QLC中的一种单元,并且所述第二块包括单层单元即SLC。
3.根据权利要求1所述的存储器系统,其中所述单触发编程大小表示对所述第一块执行单触发编程操作所利用的数据的大小。
4.根据权利要求1所述的存储器系统,其中当所述大小等于所述单触发编程大小时,所述控制器在不生成虚拟数据的情况下对选择的所述第一块执行单触发编程操作。
5.根据权利要求1所述的存储器系统,其中所述存储器装置的第一状态表示所述存储器装置处于空闲状态,并且所述存储器装置的第二状态表示所述存储器装置处于繁忙状态。
6.根据权利要求5所述的存储器系统,其中当包括选择的所述第一块的所述存储器装置处于所述空闲状态时,所述控制器生成虚拟数据并将所述数据和所述虚拟数据编程至选择的所述第一块中。
7.根据权利要求5所述的存储器系统,其中:
当包括选择的所述第一块的所述存储器装置处于所述繁忙状态时,所述控制器将选择的所述第一块改变为包括选择的所述第一块的所述存储器装置中的所述第二块,并且当包括选择的所述第一块的所述存储器装置处于空闲状态时,所述控制器在没有虚拟数据的情况下控制所述存储器装置将所述数据编程至选择的所述第二块。
8.一种操作存储器系统的方法,所述存储器系统包括多个存储器装置和控制器,每个存储器装置包括第一块和第二块,所述控制器控制所述存储器装置,所述方法包括:
将从主机接收的数据存储在缓冲器中;
选择所述多个存储器装置中的待利用所述数据编程的存储器装置的第一块;
检测所述数据的大小;
当所述大小被检测为等于单触发编程大小时,控制包括选择的所述第一块的所述存储器装置将所述数据编程至选择的所述第一块中;
当所述大小被检测为小于所述单触发编程大小时,确定包括选择的所述第一块的所述存储器装置的状态;
当包括选择的所述第一块的所述存储器装置处于第一状态时,控制所述存储器装置将所述数据编程至选择的所述第一块中;以及
当包括选择的所述第一块的所述存储器装置处于第二状态时,控制所述存储器装置将所述数据编程至所述第二块中。
9.根据权利要求8所述的方法,其中在当所述大小被检测为等于单触发编程大小时,控制包括选择的所述第一块的所述存储器装置将所述数据编程至选择的所述第一块中,
在不生成虚拟数据的情况下对所述第一块执行单触发编程操作。
10.根据权利要求8所述的方法,其中所述第一块包括多层单元即MLC、三层单元即TLC和四层单元即QLC中的一种单元,并且所述第二块包括单层单元即SLC。
11.根据权利要求8所述的方法,其中所述单触发编程大小表示对所述第一块执行单触发编程操作所利用的数据的大小。
12.根据权利要求8所述的方法,其中在确定包括所述第一块的所述存储器装置的状态中,确定所述存储器装置是否处于空闲状态。
13.根据权利要求12所述的方法,其中所述存储器装置的第一状态表示所述存储器装置处于空闲状态,并且所述存储器装置的第二状态表示所述存储器装置处于繁忙状态。
14.根据权利要求13所述的方法,其中当包括选择的所述第一块的所述存储器装置处于所述第一状态时,控制包括选择的所述第一块的所述存储器装置将所述数据编程至选择的所述第一块中包括:
生成虚拟数据;以及
将所述数据和所述虚拟数据编程至选择的所述第一块中。
15.根据权利要求13所述的方法,其中当包括选择的所述第一块的所述存储器装置处于所述第二状态时,控制包括选择的所述第一块的所述存储器装置将所述数据编程至所述第二块中包括:
将选择的所述第一块改变为包括选择的所述第一块的所述存储器装置中的所述第二块;以及
在没有虚拟数据的情况下控制包括选择的所述第二块的所述存储器装置将所述数据编程至选择的所述第二块中。
16.一种存储器系统,包括:
存储器装置,包括第一单元和第二单元;以及
控制器:
当目标数据的大小与单触发编程操作兼容时,控制所述存储器装置执行将所述目标数据存储至所述第一单元中的所述单触发编程操作;
当所述目标数据的大小与所述单触发编程操作不兼容并且所述存储器装置空闲时,控制所述存储器装置执行将所述目标数据和虚拟数据存储至所述第一单元中的所述单触发编程操作;以及
当所述目标数据的大小与所述单触发编程操作不兼容并且所述存储器装置繁忙时,控制所述存储器装置执行将所述目标数据存储至所述第二单元中的正常编程操作,
其中每个所述第一单元的存储容量大于每个所述第二单元的存储容量,并且每个所述第二单元比每个所述第一单元适应更快的存储速度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0090824 | 2018-08-03 | ||
KR1020180090824A KR20200015247A (ko) | 2018-08-03 | 2018-08-03 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795359A true CN110795359A (zh) | 2020-02-14 |
CN110795359B CN110795359B (zh) | 2023-03-31 |
Family
ID=69229737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811636294.1A Active CN110795359B (zh) | 2018-08-03 | 2018-12-29 | 存储器系统及该存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10768839B2 (zh) |
KR (1) | KR20200015247A (zh) |
CN (1) | CN110795359B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI752706B (zh) * | 2020-08-26 | 2022-01-11 | 大陸商長江存儲科技有限責任公司 | 在nand快閃記憶體設備中的非破壞性模式快取記憶體程式設計 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102520412B1 (ko) * | 2018-09-19 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US20240061577A1 (en) * | 2020-12-28 | 2024-02-22 | Alibaba Group Holding Limited | Recycle optimization in storage engine |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050146939A1 (en) * | 2002-02-22 | 2005-07-07 | Conley Kevin M. | Pipelined parallel programming operation in a non-volatile memory system |
CN104142895A (zh) * | 2013-05-08 | 2014-11-12 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN105009094A (zh) * | 2013-03-05 | 2015-10-28 | 西部数据技术公司 | 在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统 |
CN106610904A (zh) * | 2015-10-15 | 2017-05-03 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
US20170139638A1 (en) * | 2015-11-13 | 2017-05-18 | SK Hynix Inc. | Memory system and operating method thereof |
CN107766257A (zh) * | 2016-08-19 | 2018-03-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108121674A (zh) * | 2016-11-30 | 2018-06-05 | 三星电子株式会社 | 缓冲器分配的控制器和存储装置及操作存储装置的方法 |
US20180211708A1 (en) * | 2017-01-25 | 2018-07-26 | Toshiba Memory Corporation | Memory system and control method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141528B2 (en) | 2011-05-17 | 2015-09-22 | Sandisk Technologies Inc. | Tracking and handling of super-hot data in non-volatile memory systems |
US8954655B2 (en) | 2013-01-14 | 2015-02-10 | Western Digital Technologies, Inc. | Systems and methods of configuring a mode of operation in a solid-state memory |
CN104346288B (zh) | 2013-08-05 | 2017-07-28 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
US9489263B2 (en) | 2014-01-09 | 2016-11-08 | Sandisk Technologies Llc | Selective ECC refresh for on die buffered non-volatile memory |
TWI606339B (zh) | 2016-02-17 | 2017-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
-
2018
- 2018-08-03 KR KR1020180090824A patent/KR20200015247A/ko not_active Application Discontinuation
- 2018-12-27 US US16/233,661 patent/US10768839B2/en active Active
- 2018-12-29 CN CN201811636294.1A patent/CN110795359B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050146939A1 (en) * | 2002-02-22 | 2005-07-07 | Conley Kevin M. | Pipelined parallel programming operation in a non-volatile memory system |
CN105009094A (zh) * | 2013-03-05 | 2015-10-28 | 西部数据技术公司 | 在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统 |
CN104142895A (zh) * | 2013-05-08 | 2014-11-12 | 群联电子股份有限公司 | 写入方法、存储器控制器与存储器储存装置 |
CN106610904A (zh) * | 2015-10-15 | 2017-05-03 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
US20170139638A1 (en) * | 2015-11-13 | 2017-05-18 | SK Hynix Inc. | Memory system and operating method thereof |
CN107766257A (zh) * | 2016-08-19 | 2018-03-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108121674A (zh) * | 2016-11-30 | 2018-06-05 | 三星电子株式会社 | 缓冲器分配的控制器和存储装置及操作存储装置的方法 |
US20180211708A1 (en) * | 2017-01-25 | 2018-07-26 | Toshiba Memory Corporation | Memory system and control method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI752706B (zh) * | 2020-08-26 | 2022-01-11 | 大陸商長江存儲科技有限責任公司 | 在nand快閃記憶體設備中的非破壞性模式快取記憶體程式設計 |
Also Published As
Publication number | Publication date |
---|---|
CN110795359B (zh) | 2023-03-31 |
US10768839B2 (en) | 2020-09-08 |
US20200042180A1 (en) | 2020-02-06 |
KR20200015247A (ko) | 2020-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399311B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN110765035B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
KR102529696B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
KR102605609B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN110750207B (zh) | 存储器系统及其操作方法 | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN110781095A (zh) | 控制器及其操作方法 | |
KR102583810B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN110727397A (zh) | 存储器系统以及用于操作该存储器系统的方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN111367468A (zh) | 存储器系统及其操作方法 | |
CN109521946B (zh) | 数据处理系统及其操作方法 | |
KR20220086532A (ko) | 메모리 시스템 | |
CN110795359B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN111145818B (zh) | 存储器系统及其操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
KR102579824B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN109254722B (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 |