CN112783432A - 存储装置和其操作方法 - Google Patents
存储装置和其操作方法 Download PDFInfo
- Publication number
- CN112783432A CN112783432A CN202010821138.3A CN202010821138A CN112783432A CN 112783432 A CN112783432 A CN 112783432A CN 202010821138 A CN202010821138 A CN 202010821138A CN 112783432 A CN112783432 A CN 112783432A
- Authority
- CN
- China
- Prior art keywords
- speed write
- write
- memory
- block
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/061—Improving I/O performance
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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/7202—Allocation control and policies
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/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/0658—Controller construction 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种存储装置。该存储装置具有提高的写入响应速度并且包括存储器装置和存储器控制器。该存储器装置包括多个高速写入块和多个普通存储块。并且,该存储器控制器被配置为响应于从主机接收的写入请求,控制该存储器装置以将与写入请求相对应的数据存储在多个高速写入块和多个普通存储块之中的任意一个块中;其中,多个高速写入块分别包括被编程为存储不同数量的数据位的存储器单元。
Description
相关申请的交叉引用
本申请要求于2019年11月7日提交的申请号为10-2019-0141662的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开总体上涉及一种电子装置,且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。该存储装置可以包括用于存储数据的存储器装置和用于控制该存储器装置的存储器控制器。存储器装置分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅在供应电力时才存储数据,而在电力供应中断时所存储的数据就消失的存储器装置。易失性存储器装置可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使在电力供应中断时数据也不会消失的存储器装置。非易失性存储器装置可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEROM)、闪速存储器等。
发明内容
实施例提供一种具有提高的写入响应速度的存储装置及其操作方法。
根据本公开的一方面,提供一种用于控制存储器装置的存储器控制器,该存储器装置包括多个高速写入块和多个普通存储块,该存储器控制器包括高速写入控制器,配置为根据高速写入模式信息和高速写入块信息来生成待存储与从主机接收的写入请求相对应的写入数据的物理地址,高速写入模式信息和高速写入块信息包括在写入请求中;以及存储器操作控制器,配置为控制存储器装置将写入数据存储在与物理地址相对应的存储器单元中;其中高速写入模式信息是指示是否将写入数据存储在多个高速写入中的信息,并且高速写入块信息是指示在多个高速写入块之中的待存储写入数据的高速写入块的信息;其中多个高速写入块中的第一高速写入块包括每个被编程为存储第一数量的数据位的存储器单元,多个高速写入块中的第二高速写入块包括每个被编程为存储第二数量的数据位的存储器单元,并且第二数量的数据位不同于第一数量的数据位。
根据本公开的另一方面,提供一种用于操作存储器控制器以控制存储器装置的方法,该存储器装置包括多个高速写入块和多个普通存储块,该方法包括接收来自主机的写入请求,该写入请求包括高速写入模式信息和高速写入块信息,根据高速写入模式信息和高速写入块信息,生成待存储与写入请求相对应的写入数据的物理地址,并且该方法包括控制存储器装置以将写入数据存储在多个高速写入块和多个普通存储块之中的与物理地址相对应的任意一个块中,其中高速写入模式信息是指示是否将写入数据存储在多个高速写入块中的信息,并且高速写入块信息是指示多个高速写入块之中的待存储写入数据的高速写入块的信息,其中多个高速写入块分别包括被编程为存储不同数量的数据位的存储器单元。
根据本公开的另一方面,提供一种存储装置,包括存储器装置和存储器控制器,该存储器装置包括多个高速写入块和多个普通存储块;以及该存储器控制器配置成响应于从主机接收的写入请求,控制存储器装置以将与写入请求相对应的数据存储在多个高速写入块和多个普通存储块之中的任意一个块中,其中多个高速写入块分别包括被编程为存储不同数量的数据位的存储器单元。
附图说明
现在将参照附图在本文中更充分地描述示例实施例;然而,它们可以以不同的形式体现,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将是透彻且完整的,并且向本领域技术人员充分传达示例实施例的范围。
在附图中,为了图示清楚,可能会放大尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终指代相同的元件。
图1示出根据本公开的实施例的存储装置。
图2示出根据实施例的图1所示的存储器控制器的高速写入操作。
图3示出根据实施例的缩减模式。
图4示出根据实施例的非缩减模式。
图5示出根据本公开的实施例的高速写入功能。
图6示出根据本公开的另一实施例的高速写入功能。
图7示出根据本公开实施例的写入请求。
图8示出根据实施例的高速写入清除操作。
图9示出根据本公开的实施例的高速写入清除操作。
图10示出根据本公开的另一实施例的高速写入清除操作。
图11示出根据本公开的另一实施例的高速写入清除操作。
图12示出根据本公开的实施例的高速写入清除请求。
图13示出图2和图8所示的高速写入地址存储装置的配置。
图14示出根据本公开的实施例的存储器控制器的操作。
图15示出根据本公开的另一实施例的存储器控制器的操作。
图16示出图1所示的存储器装置的结构。
图17示出图16所示的存储块之中的任意一个存储块的结构。
图18示出根据存储器单元中存储的位的数量的阈值电压分布。
图19示出图1中所示的存储器控制器的另一实施例。
图20示出根据本公开的实施例的应用存储装置的存储卡系统。
图21示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统。
图22示出根据本公开的实施例的应用存储装置的用户系统。
具体实施方式
本文所公开的具体结构或功能描述仅是说明性的,目的是描述根据本公开的概念的实施例。根据本公开的概念的实施例可以以各种形式实现,并且不能被解释为限于本文所阐述的实施例。
在下文中,将参照附图详细描述本公开的说明性实施例,以使本领域技术人员能够容易地实现本公开的技术要点。
图1是示出根据本公开的实施例的存储装置50的示图。
存储装置50可以包括存储器装置100和存储器控制器200。存储装置50可以是用于在主机300的控制下存储数据的装置,诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机,游戏机、TV、平板PC或车载信息娱乐系统。
根据与主机300进行通信方案的主机接口,可以将存储装置50制造为各种类型的存储装置中的任意一种。例如,存储装置50可以被实施为各种类型的存储装置中的任意一种,诸如固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC(micro-MMC)、安全数字(SD)卡、迷你SD卡、微型SD卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体卡(SMC)、记忆棒等。
存储装置50可以被制造为各种封装类型中的任意一种。例如,存储装置50可以被制造为各种封装类型中的任意一种,诸如堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100可以在存储器控制器200的控制下而操作。存储器装置100可以包括包含用于存储数据的多个存储器单元的存储器单元阵列。
每个存储器单元可以操作为以下的任意一种:存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)以及存储四个数据位的四层单元(QLC)。
存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。存储块可以是用于擦除存储器装置100中存储的数据的单位。在实施例中,存储块可以包括多个页面。该页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。
在实施例中,存储器装置100中包括的存储块可以包括高速写入块111和普通存储块112。高速(turbo)写入块111可以是当从主机300提供的写入请求中包括的高速写入模式信息处于设置状态时用于存储数据的存储块。普通存储块112可以是当从主机300提供的写入请求中包括的高速写入模式信息处于重置状态时用于存储数据的存储块。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移转矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,假设并描述了存储器装置100是NAND闪速存储器的情况。
存储器装置100可以从存储器控制器200接收命令和地址,并访问由该地址选择的存储器单元阵列的区域。即,存储器装置100可以对由地址选择的区域执行与所接收的命令相对应的操作。例如,存储器装置100可以执行编程操作、读取操作或擦除操作。编程操作可以是将数据存储到存储器装置100中包括的存储器单元中的操作。存储器装置100可以根据从存储器控制器200接收的编程命令,执行将数据存储到由地址选择的区域中的编程操作。读取操作可以是通过使用读取电压来感测存储器单元中存储的数据的操作。存储器装置100可以根据从存储器控制器200接收的读取命令来感测由地址选择的区域中存储的数据。擦除操作可以是擦除存储器单元中存储的数据的操作。存储器装置100可以根据从存储器控制器200接收的擦除命令来擦除由地址选择的区域中存储的数据。在实施例中,擦除存储器单元中存储的数据可以表示将存储器单元的阈值电压降低到属于与擦除状态相对应的阈值电压分布。
高速写入功能可以是响应于写入请求而在高速写入块111中存储数据的功能。
高速写入功能可以包括主机300请求将数据存储到高速写入块111中的高速写入操作和主机300请求将高速写入块111清空的高速写入清除操作。
高速写入块111可以是主机300根据高速写入操作来请求将数据存储在的存储块。高速写入块111可以是由主机300定义的存储块。主机300可以控制存储装置50以将存储装置50的可存储容量的一部分分配用于高速写入功能。主机300可以请求存储装置50指定容量,并且将存储器装置100中包括的存储块之中的一些存储块分配用于高速写入功能。因此,主机300可以确定将待存储的数据存储在高速写入块111中还是存储在普通存储块112中。
高速写入块111中包括的存储器单元所存储的位的数量可以小于普通存储块112中包括的存储器单元所存储的位的数量。例如,高速写入块111中包括的存储器单元可以被配置为SLC,并且普通存储块112中包括的存储器单元可以被配置为MLC。可选地,高速写入块111中包括的存储器单元可以被配置为SLC、MLC或TLC,并且普通存储块112中包括的存储器单元可以被配置为QLC。
因此,将数据存储在高速写入块111中的速度可以比将数据存储在普通存储块112中的速度快。在实施例中,高速写入块111可以是在将数据存储在普通存储块112中之前临时存储该数据的存储块。
可以根据来自主机300的请求来确定是否将数据存储在高速写入块111中。因为主机300可以将高速写入块111用作一种高速缓存缓冲器,所以高速写入块111可以被称为高速写入缓冲器。
在实施例中,存储器控制器200可以执行高速写入清除操作。高速写入清除操作可以是清空高速写入块111的操作。主机300可以向存储器控制器200提供请求执行高速写入清除操作的高速写入清除请求。
响应于高速写入清除请求,可以将存储在高速写入块111中的数据移动到多个高速写入块111之中的另一高速写入块111或移动到普通存储块112。
将数据存储在高速写入块111中的速度可以比在将数据存储在普通存储块112中的速度快。因此,在高速写入清除操作中,将高速写入块111中存储的数据移动到另一高速写入块111的速度可以比将高速写入块111中存储的数据移动到普通存储块112的速度快。
在实施例中,可以以两种模式来实施高速写入功能。例如,可以以缩减模式和非缩减模式中的任意一种来实施高速写入功能。主机300可以通过与存储装置通信来预先确定以两种模式中的一种来使用高速写入功能。下文将参照图3和图4更详细地描述缩减模式和非缩减模式。
在实施例中,可以提供多个高速写入块111。多个高速写入块111可以分别包括每个单元中存储不同数量的数据位的存储器单元。
例如,高速写入块111可以包括第一高速写入块、第二高速写入块和第三高速写入块。在实施例中,可以使用SLC方案来对第一高速写入块进行编程,可以使用MLC方案来对第二高速写入块进行编程,并且可以使用TLC方案来对第三高速写入块进行编程。
根据从主机300提供的写入请求可以确定是将数据存储在高速写入块111中还是将数据存储在普通存储块112中。主机300可以使得在写入请求中包括高速写入块信息,该高速写入块信息指示多个高速写入块111之中的待存储数据的高速写入块111,并且主机300可以将该写入请求提供给存储装置50。
存储器控制器200可以控制存储装置50的整体操作。
当对存储装置50施加电力时,存储器控制器200可以运行预先存储的固件(FW)。
FW可以包括接收来自主机300的请求或向主机输出响应的主机接口层(HIL),管理主机300的接口与存储器装置100的接口之间的操作的闪存转换层(FTL),以及向存储器装置100提供命令或从存储器装置100接收响应的闪存接口层(FIL)。
当从主机300接收到写入请求时,存储器控制器200可以接收来自主机300的待存储的数据和用于识别相应写入数据的逻辑地址(LA)。存储器控制器200可以将所接收的LA转换为物理地址(PA),该物理地址(PA)指示在存储器装置100中包括的存储器单元之中的待存储数据的存储器单元的物理地址。存储器控制器200可以向存储器装置100提供用于存储数据的编程命令、经转换的PA和待存储的数据。
在实施例中,当从主机300接收到擦除请求时,存储器控制器200可以接收来自主机300的用于识别待被擦除的数据的LA。存储器控制器200可以确定与所接收的LA相对应的PA,并且向存储器装置100提供擦除命令和PA。在各种实施例中,在擦除操作中,存储器控制器200可以向存储器装置100提供擦除命令和物理块地址。
在实施例中,存储器控制器200可以控制存储器装置100自主地执行编程操作、读取操作或擦除操作,而不管来自主机300的任何请求。例如,存储器控制器200可以控制存储器装置100执行诸如损耗均衡、垃圾收集和读取回收的后台操作。
在实施例中,存储器控制器200可以包括高速写入控制器210、映射数据存储装置220和存储器操作控制器230。
高速写入控制器210可以根据从主机接收的写入请求,来确定高速写入模式信息和高速写入块信息。具体地,高速写入控制器210可以通过对写入请求进行解码来确定高速写入模式信息和高速写入块信息。
高速写入模式信息可以是指示是否将与写入请求相对应的写入数据存储在高速写入块111中的信息。例如,处于设置状态的高速写入模式信息可以指示将写入数据存储在高速写入块111中。可选地,处于重置状态的高速写入模式信息可以指示将写入数据存储在普通存储块112中。
高速写入块信息可包括指示多个高速写入块111之中的待存储写入数据的高速写入块111的信息。在实施例中,高速写入块信息可包括关于可在待存储写入数据的高速写入块111中包括的存储器单元中存储的数据位的数量的信息。
在实施例中,高速写入控制器210可以根据从主机300接收的高速写入清除请求,来确定储存块信息和目标块信息。具体地,高速写入控制器210可以通过对高速写入清除请求进行解码来确定目标块信息和储存块信息。目标块信息可以包括关于待被清空的高速写入块的信息。在实施例中,目标块信息可以包括关于可以在待执行高速写入清除操作的高速写入块中包括的存储器单元中存储的数据位的数量的信息。
储存块信息可以包括关于根据高速写入清除操作而待存储数据的存储块的信息。在实施例中,储存块信息可以包括关于可以由根据高速写入清除操作而待存储数据的存储块中包括的存储器单元存储的数据位的数量的信息。
在实施例中,主机300可以向高速写入控制器210提供省略了储存块信息的高速写入清除请求。主机300可以向高速写入控制器210提供仅包括目标块信息的高速写入清除请求,其中目标块信息指示待执行高速写入清除操作的高速写入块111。存储器操作控制器230可以根据高速写入清除操作来选择待存储数据的存储块作为高速写入块111或普通存储块112。
映射数据存储装置220可以包括高速写入块111和普通存储块112的地址信息。例如,映射数据存储装置220可以包括关于高速写入块111的PA和普通存储块112的PA的信息。
存储器操作控制器230可以控制存储器装置100的操作。具体地,存储器操作控制器230可以基于由高速写入控制器210确定的高速写入模式信息和高速写入块信息来确定存储数据的PA。
当写入请求中包括的高速写入模式信息是处于设置状态的高速写入模式信息时,存储器操作控制器230可以获取映射数据存储装置220中存储的高速写入块111的PA。在实施例中,存储器操作控制器230可以基于高速写入块信息来获取多个高速写入块111之中的由高速写入块信息指示的高速写入块111的PA。
当写入请求中包括的高速写入模式信息是处于重置状态的高速写入模式信息时,存储器操作控制器230可以获取映射数据存储装置220中存储的普通存储块112的PA。
存储器操作控制器230可以向存储器装置100提供指示存储器装置100以存储数据的编程命令、相应PA和相应写入数据。
在实施例中,基于高速写入清除请求中包括的目标块信息,存储操作控制器230可以确定目标块的地址,该目标块为待执行高速写入清除操作的存储块。基于高速写入清除请求中包括的储存块信息,存储器操作控制器230可以确定储存块的地址,该储存块为目标块中存储的数据待被移动到的存储块。
响应于高速写入清除请求,存储器操作控制器230可以控制存储器装置100以读取目标块中存储的数据并且将所读取的数据存储在储存块中。
主机300可以使用诸如以下的各种通信方式中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI),高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
在实施例中,主机300可以包括高速写入请求生成器310。
当主机300请求存储待存储在高速写入块111中的数据时,主机300可以生成包括处于设置状态的高速写入模式信息的写入请求。当主机300请求存储待存储在普通存储块112中的数据时,主机300可以生成包括处于重置状态的高速写入模式信息的写入请求。
在实施例中,主机300可以请求存储装置50以将数据存储在多个高速写入块111之中的特定高速写入块111中。主机300可以生成包括高速写入块信息的写入请求,其中高速写入块信息指示可由多个高速写入块111之中的待存储数据的高速写入块111中包括的存储器单元存储的数据位的数量。
主机300可以将所生成的写入请求提供给存储器控制器200。
在实施例中,主机300可以生成包括指示目标块的目标块信息的高速写入清除请求,该目标块为根据高速写入清除操作而待被清空的高速写入块111。在实施例中,目标块信息可以指示可以由目标块中包括的存储器单元存储的数据位的数量。目标块可以是多个高速写入块111之中的任意一个高速写入块111。
主机300可以生成包括指示储存块的储存块信息的高速写入清除请求,该储存块为目标块中存储的数据待被移动到的存储块。在实施例中,储存块信息可以是关于可由储存块中包括的存储器单元存储的数据位的数量的信息。储存块可以是多个高速写入块111之中的任意一个高速写入块111或者普通存储块112。
图2是详细示出诸如图1所示的存储器控制器200的高速写入操作的示图。
存储器控制器200可以包括高速写入控制器210、映射数据存储装置220和存储器操作控制器230。
高速写入控制器210可以根据从主机接收的写入请求来确定高速写入模式信息和高速写入块信息。具体地,高速写入控制器210可以通过对写入请求进行解码来确定高速写入模式信息和高速写入块信息。高速写入控制器210可以向存储器操作控制器230提供所确定的高速写入模式信息和所确定的高速写入块信息。
映射数据存储装置220可以包括高速写入地址存储装置221和普通存储块地址存储装置222。高速写入地址存储装置221可以包括指示高速写入块的物理地址的高速写入地址信息。具体地,高速写入地址信息可以包括关于高速写入块之中的空闲块的物理地址的信息。空闲块是存在尚未被编程的页面的块,并且可以是处于可以将数据存储到该块中的状态的块。
普通存储块地址存储装置222可以包括关于普通存储块的物理地址的信息。具体地,普通存储块地址存储装置222可以包括关于普通存储块之中的空闲块的物理地址的信息。
当执行高速写入操作或高速写入清除操作时,可能将数据写入在先前被确定为空闲块的块的所有页面中。在这种情况下,先前被确定为空闲块的块可能不再是空闲块。因此,每当执行高速写入操作或高速写入清除操作时,映射数据存储装置220可更新其中的高速写入地址信息。
当写入请求中包括的高速写入模式信息是处于设置状态的高速写入模式信息时,存储器操作控制器230可以获取高速写入地址存储装置221中存储的高速写入地址信息。在实施例中,存储器操作控制器230可获取多个高速写入块之中的、由高速写入块信息指示的高速写入块的物理地址。
当写入请求中包括的高速写入模式信息是处于重置状态的高速写入模式信息时,存储器操作控制器230可以获取存储在普通存储块地址存储装置222中的普通存储块的物理地址。
存储器操作控制器230可以向存储器装置100提供指示存储器装置100存储数据的编程命令。而且,存储器操作控制器230可以向存储器装置100提供所获取的物理地址和写入数据。
图3是示出缩减模式的示图。
参照图3,可以将存储装置的存储区域划分为普通区域QLC和高速写入区域SLC。普通区域QLC可以是表示参照图1所描述的普通存储块112的存储容量的区域。高速写入区域SLC可以是表示参照图1所描述的高速写入块111的存储容量的区域。
高速写入区域SLC可以是用户不可任意访问的区域。高速写入区域SLC中包括的存储器单元所存储的位的数量可以小于在普通区域QLC中包括的存储器单元所存储的位的数量。例如,普通区域QLC可以配置有能够存储四个数据位的QLC。高速写入区域SLC可以配置有能够存储一个数据位的SLC。然而,这仅是示例性的,并且普通区域QLC和高速写入区域SLC可以分别配置有存储各种数量的数据位的存储器单元。
在实施例中,可以预先确定高速写入区域SLC的最大大小。
主机可以通过与存储装置通信来以缩减模式使用高速写入功能。缩减模式可以是没有预先分配高速写入区域SLC的模式。例如,主机可以请求存储装置以缩减模式来使用高达10千兆字节(GB)的高速写入区域。存储装置无需预先分配10GB的高速写入区域。但是,每当主机请求将数据存储在高速写入区域SLC中时,就从该10GB之中获得相应高速写入区域。
具体地,处于初始(第一)状态(a)的存储区域可以仅配置有普通区域QLC。例如,在初始状态(a)中,存储区域可以仅配置有能够存储100GB数据的普通区域QLC。在高速写入操作中,将普通区域QLC的一部分分配为新的高速写入区域SLC,因此,普通区域QLC的容量可能降低。在缩减模式中,每当将数据存储在高速写入区域SLC中时,普通区域QLC的容量可能逐渐降低。
第二存储状态(b)表示将与5GB相对应的写入数据存储在高速写入区域SLC中的状态。因为高速写入区域SLC中的用于1个位的每个单元先前在普通区域QLC中能够存储4个位,所以使用5GB的、被配置为包括SLC的高速写入区域SLC会导致包括QLC的普通区域QLC的容量减少20GB。第二存储状态(b)可以是将5GB的存储区域分配作为高速写入区域SLC,然后第二存储状态(b)的存储区域包括80GB的普通区域QLC和5GB的高速写入区域SLC的状态。在第二存储状态(b)中,存储装置可能从主机另外接收写入请求,该写入请求用于请求存储装置以将3GB的写入数据存储在高速写入区域SLC中,这导致状态改变为第三存储状态(c)。
第三存储状态(c)表示将对应于3GB的写入数据另外存储在高速写入区域SLC中的状态。使用3GB的、配置有SLC的高速写入区域SLC会导致配置有QLC的普通区域QLC的容量减少12GB。第三存储状态(c)可以是将3GB的存储区域另外分配作为高速写入区域SLC,然后第三存储状态(c)的存储区域包括68GB的普通区域QLC和8GB的高速写入区域SLC的状态。
因为高速写入区域SLC是用户不可访问的区域,所以即使实际存储的数据量为8GB,但是用户可以识别到存储装置的剩余容量从初始状态(a)的100GB顺序地减小到第二存储状态(b)的80GB,然后减小到第三存储状态(c)的68GB。缩减模式的优点在于,当不使用高速写入区域SLC时,用户可以根据可以在存储装置的每个单元中存储的位的最大数量来访问存储装置的总容量。
图4是示出非缩减模式的示图。
参照图4,主机可以通过与存储装置通信来以非缩减模式使用高速写入功能。非缩减模式可以是预先分配高速写入区域SLC的模式。例如,主机可以请求存储装置以非缩减模式来使用10GB的高速写入区域。存储装置可以预先分配10GB的高速写入区域SLC。当主机请求存储装置将数据存储在高速写入区域SLC中时,可以将相应数据存储在与预先分配的10GB相对应的高速写入区域SLC的一部分中。
具体地,初始(第一)状态(a)的存储区域可以配置有60GB的普通区域QLC和10GB的高速写入区域SLC。在高速写入操作中,将数据存储在预先分配的高速写入区域SLC的一部分中,因此,普通区域QLC的容量不会受到影响。即,在非缩减模式中,即使当数据被存储在高速写入区域SLC中时,普通区域QLC的容量也可以保持恒定。
第二存储状态(b)表示将与5GB相对应的写入数据存储在高速写入区域SLC中的状态。第二存储状态(b)可以是将5GB的数据存储在高速写入区域SLC中,然后第二存储状态(b)的存储区域仍然包括60GB的普通区域QLC和10GB的高速写入区域SLC的状态。在第二存储状态(b)中,存储装置可以从主机另外接收写入请求,该写入请求用于请求存储装置以将3GB的写入数据存储在高速写入区域SLC中,这导致状态改变为第三存储状态(c)。
第三存储状态(c)表示将对应于3GB的写入数据另外存储在高速写入区域SLC中的状态。第三存储状态(c)可以是将3GB的数据另外存储在高速写入区域SLC中,然后第三存储状态(c)的存储区域仍然包括60GB的普通区域QLC和10GB的高速写入区域SLC的状态。
当将8GB的数据存储在高速写入区域SLC中时,用户可以识别到存储装置的剩余容量以所存储的数据量而顺序地减小:从初始状态(a)的70GB,到第二存储状态(b)的65GB,并且到第三存储状态(c)的62GB。即,在非缩减模式下,预先分配了高速写入区域以供使用,因此用户可以识别到以存储在高速写入区域中的数据量来减小存储装置的剩余容量。
图5是根据本公开的实施例的高速写入功能的示图。
参照图5,主机300可以向存储器控制器200提供多个写入请求(写入请求1和写入请求2)以及与写入请求1和写入请求2相对应的写入数据DATA1和DATA2。
在实施例中,写入请求(写入请求1和写入请求2)中的每一个可以包括高速写入模式信息。高速写入模式信息可以是指示是否将与写入请求相对应的写入数据存储在高速写入块SLC中的信息。例如,处于设置状态的高速写入模式信息可以指示将写入数据存储在高速写入块SLC中。可选地,处于重置状态的高速写入模式信息可以指示写入数据待被存储在普通存储块QLC中。
在实施例中,主机300可以向存储器控制器200提供高速写入清除请求。根据高速写入清除请求,可以将存储在高速写入块SLC中的数据移动到多个高速写入块SLC之中的另一高速写入块SLC或可以移动到普通存储块QLC。
存储器控制器200可以从主机300接收写入请求1和与写入请求1相对应的第一写入数据DATA1(S1)。存储器控制器200可以根据写入请求1来确定高速写入模式信息处于设置状态。因此,可以将与写入请求1相对应的第一写入数据DATA1存储在存储器装置100的高速写入块SLC中(S2)。随后,存储器控制器200可以从主机300接收针对存储在高速写入块SLC中的第一写入数据DATA1的高速写入清除请求,以清空高速写入块SLC(S3)。响应于高速写入清除请求,存储器控制器200可以使得执行将存储在高速写入块SLC中的第一写入数据DATA1移动到普通存储块QLC中的高速写入清除操作(S4)。在实施例中,然后可以擦除高速写入块SLC。
存储器控制器200可以从主机300接收写入请求2和与写入请求2相对应的第二写入数据DATA2。存储器控制器200可以根据写入请求2来确定高速写入模式信息处于重置状态。因此,可以将与写入请求2相对应的第二写入数据DATA2存储在存储器装置100的普通存储块QLC中。根据主机300的写入请求,可以将第二写入数据DATA2直接存储在普通存储块QLC中,而无需通过任何的高速写入块SLC。因此,可以省略对第二写入数据DATA2的高速写入清除操作。
根据图5中所示的实施例的高速写入块SLC可以仅配置有SLC。因此,根据图5中所示的实施例的写入请求可以不包括高速写入块信息,该高速写入块信息为指示待将数据存储在多个高速写入块之中的哪个高速写入块的信息。
图6是示出根据本公开的另一实施例的高速写入功能的装置示图。
与图5相比,图6中所示的高速写入块可包括多层高速写入块。例如,存储器装置100可以配置有第一至第三高速写入块。第一高速写入块SLC可以配置有每个存储一个数据位的SLC,第二高速写入块MLC可以配置成每个存储两个数据位的MLC,第三高速写入块TLC可以配置有每个存储三个数据位的TLC。
除了高速写入模式信息之外,根据图6所示的实施例的写入请求可以另外包括高速写入块信息。高速写入块信息可以是指示多个高速写入块之中的待存储写入数据的高速写入块的信息。具体地,写入请求可以包括指示在第一高速写入块SLC、第二高速写入块MLC和第三高速写入块TLC之中的待存储写入数据的块的信息。即,在提供多个高速写入块,并且在高速写入块之中在每个单元中各自存储的位的数量不同的实施例中,将数据存储在高速写入块中的写入请求可以包括每个单元的位的数量的指示,并且可以使用所指示的每个单元的位的数量来从高速写入块之中选择用于存储与该写入请求相对应的数据的高速写入块以存储数据。
在实施例中,存储器控制器200可以从主机300接收写入请求1和第一写入数据DATA1(S1)。存储器控制器200可以根据写入请求1来确定高速写入模式信息处于设置状态并且高速写入块信息指定第一高速写入块SLC。可以将第一写入数据DATA1存储在存储器装置100的第一高速写入块SLC中(S2)。随后,存储器控制器200可以从主机接收请求将第一高速写入块SLC中存储的第一写入数据DATA1移动到普通存储块QLC的高速写入清除请求(S3)。响应于高速写入清除请求,存储器控制器200可以使得执行将第一高速写入块SLC中存储的第一写入数据DATA1移动到普通存储块QLC中的高速写入清除操作(S4)。
在实施例中,存储器控制器200可以从主机300接收写入请求2和与写入请求2相对应的第二写入数据DATA2(S5)。存储器控制器200可以根据写入请求2来确定高速写入模式信息处于设置状态并且高速写入块信息指定第二高速写入块MLC。可以将第二写入数据DATA2存储在存储器装置100的第二高速写入块MLC中(S6)。随后,存储器控制器200可以从主机300接收请求将第二高速写入块MLC中存储的第二写入数据DATA2移动到第三高速写入块TCL的高速写入清除请求(S7)。响应于高速写入清除请求,存储器控制器200可以使得执行将第二高速写入块MLC中存储的第二写入数据DATA2移动到第三高速写入块TCL的高速写入清除操作(S8)。
即使在包括存储不同数量的数据位的存储器单元的两个或更多个高速写入块之间,也可以执行图6中所示的高速写入清除操作。在实施例中,可以将数据从第一高速写入块SLC、第二高速写入块MLC和第三高速写入块TLC之中的至少一个高速写入块移动到另一高速写入块。随着可由存储器单元存储的数据位的数量增加,将数据存储在相应存储器单元中所需的时间可能增加。高速写入块中包括的存储器单元可以存储的数据位的数量小于普通存储块QLC中包括的存储器单元可以存储的数据位的数量。因此,在图6所示的第二高速写入清除操作(S8)中,数据被移动到高速写入块TLC而不是普通存储块QLC,从而可以提高高速写入清除操作的速度。
图7是示出根据本公开的实施例的写入请求的示图。
参照图7,写入命令、高速写入模式信息和高速写入块信息可以包括在由主机提供的写入请求中。写入命令可以是主机通过该命令来请求存储器控制器以执行与写入请求相对应的操作的命令。
高速写入模式信息可以是指示是否将与写入请求相对应的写入数据存储在高速写入块中的信息。例如,处于设置状态的高速写入模式信息可以指示写入数据待被存储在高速写入块中。可选地,处于重置状态的高速写入模式信息可以指示写入数据待被存储在普通存储块中。
在实施例中,当高速写入模式信息被设置为“1”时,高速写入模式可以处于设置状态,并且当高速写入模式信息被设置为“0”时,高速写入模式可以处于重置状态。然而,在另一实施例中,当高速写入模式信息被设置为“1”时,高速写入模式可以处于重置状态,并且当高速写入模式信息被设置为“0”时,高速写入模式可以处于设置状态。
高速写入块信息可以是指示多个高速写入块之中的待存储写入数据的高速写入块的信息。高速写入块信息可以包括关于可以由待存储写入数据的高速写入块中包括的存储器单元存储的数据位的数量的信息。
例如,高速写入块信息可以包括在配置有SLC的第一高速写入块、配置有MLC的第二高速写入块和配置有TLC的第三高速写入块之中指定至少一个块的信息。当高速写入块信息指定第一高速写入块时,写入数据可以被存储在第一高速写入块中。当高速写入块信息指定第二高速写入块时,写入数据可以被存储在第二高速写入块中。当高速写入块信息指定第三高速写入块时,写入数据可以被存储在第三高速写入块中。
图8详细示出高速写入清除操作。
参照图8,存储器控制器200可以包括高速写入控制器210,映射数据存储装置220和存储器操作控制器230。
高速写入控制器210可以根据从主机接收的高速写入清除请求来确定目标块信息和储存块信息。具体地,高速写入控制器210可以通过对高速写入清除请求进行解码来确定目标块信息和储存块信息。高速写入控制器210可以向存储器操作控制器230提供所确定的目标块信息和所确定的储存块信息。
映射数据存储装置220可以包括高速写入地址存储装置221和普通存储块地址存储装置222。高速写入地址存储装置221可以包括指示高速写入块的物理地址的高速写入地址信息。具体地,高速写入地址信息可以是关于高速写入块之中的空闲块的物理地址的信息。空闲块是存在尚未被编程的页面的块,并且可以是处于可以将数据存储在该块中的状态的块。
普通存储块地址存储装置222可以包括关于普通存储块的物理地址的信息。具体地,普通存储块地址存储装置222可以包括关于普通存储块之中的空闲块的物理地址的信息。
当执行高速写入操作或高速写入清除操作时,可能将数据写入在先前被确定为空闲块的块的所有页面中。在这种情况下,先前被确定为空闲块的块可以不再是空闲块。因此,每当执行高速写入操作或高速写入清除操作时,映射数据存储装置220可更新其中的高速写入地址信息。
基于高速写入清除请求中包括的目标块信息,存储器操作控制器230可以确定目标块的地址,其中目标块为待执行高速写入清除操作的存储块。基于高速写入清除请求中包括的储存块信息,存储器操作控制器230可以确定储存块的地址,其中储存块为目标块中存储的数据待被移动到的存储块。
响应于高速写入清除请求,存储器操作控制器230可以控制存储器装置100以读取目标块中存储的数据并且将所读取的数据存储在储存块中。
基于高速写入地址信息,存储器操作控制器230可以向存储器装置100提供与目标块信息、储存块信息或两者相对应的块的物理地址。而且,存储器操作控制器230可以向存储器装置200提供高速写入清除操作所必须的命令和数据。该数据可以是先前从目标块读取的数据。
图9示出根据本公开的实施例的高速写入清除操作。
参照图9,可以将多个存储块配置为高速写入块SLC和普通存储块QLC。高速写入块SLC可以配置有每个存储一个数据位的SLC。普通存储块QLC可以配置有每个存储四个数据位的QLC。然而,实施例不限于此,并且在一些实施例中,高速写入块SLC和普通存储块QLC可以配置有存储各种其他数量的数据位的存储器单元。
参照图9,可以响应于从主机接收的高速写入清除请求来执行高速写入清除操作。高速写入清除操作可以是将由斜线表示的数据从高速写入块SLC移动到普通存储块QLC的操作。主机可以识别高速写入块的剩余存储区域。当主机确定在高速写入块中不存在剩余存储区域时,主机可以将针对高速写入块的高速写入清除请求提供给存储装置。存储装置可以响应于高速写入清除请求而将高速写入块SLC中存储的数据移动到普通存储块QLC。可以将存储在配置有SLC的块的四个页面中的数据存储在配置有QLC的块的一个页面中。因此,可以将分别存储在高速写入块SLC的四个页面Tpage1、Tpage2、Tpage3和Tpage4中的数据移动到普通存储块QLC的一个页面Npage3。
在实施例中,因为在高速写入块SLC中不存在剩余存储区域,所以直到高速写入清除操作已经完成之前,不能够执行高速写入操作。因此,对于减少对主机的写入请求的响应的延迟时间,减少执行高速写入清除操作所需的时间可能很重要。随着可以在存储器单元中存储的数据位的数量的增加,将数据存储在该存储器单元中所需的时间可能会增加。因此,将数据存储在配置有QLC的普通存储块QLC中所需的时间可能比将数据存储在配置有MLC或TLC的存储块中所需的时间长。在下文中,将参照图10描述用于降低高速写入清除操作的延迟时间的实施例。
图10是示出根据本公开的另一实施例的高速写入清除操作的示图。
与图9相比,图10中所示的高速写入块可以包括多层高速写入块。可以由各个高速写入块中包括的存储器单元存储的数据位的数量可以彼此不同。例如,高速写入块可以包括配置有SLC的第一高速写入块SLC、配置有MLC的第二高速写入块MLC和配置有TLC的第三高速写入块TLC中的至少一个。然而,在一些实施例中,可以由各个高速写入块中包括的存储器单元存储的数据位的数量不限于此。
参照图10,主机可以向存储器控制器提供高速写入清除请求,以清空第一高速写入块SLC中存储的数据。响应于高速写入清除请求,存储器控制器可以将第一高速写入块SLC中存储的数据移动到另一高速写入块或普通存储块QLC。
目标块信息和储存块信息可以被包括在高速写入清除请求中。目标块信息可以包括关于待被清空的高速写入块的信息。在图10所示的示例中,与目标块信息相对应的块可以是第一高速写入块SLC。
储存块信息可以包括关于待存储根据高速写入清除操作而移动的数据的块的信息。例如,当储存块信息对应于第二高速写入块MLC时,可以执行将第一高速写入块SLC中存储的数据移动到第二高速写入块MLC的高速写入清除A操作。当储存块信息对应于第三高速写入块TLC时,可以执行将第一高速写入块SLC中存储的数据移动到第三高速写入块TLC的高速写入清除B操作。当储存块信息对应于普通存储块QLC时,可以执行将第一高速写入块SLC中存储的数据移动到普通存储块QLC的高速写入清除C操作。
与图9相比,即使在包括各自存储不同数量的数据位的存储器单元的两个或更多个高速写入块之间,也可执行图10所示的高速写入清除操作。在实施例中,可以将数据从第一高速写入块SLC、第二高速写入块MLC和第三高速写入块TLC之中的至少一个高速写入块移动到另一高速写入块。如上所述,随着可以在存储器单元中存储的数据位的数量增加,将数据存储在相应存储器单元中所需的时间可能被延长。因此,与图9所示的实施例相比,可以将数据移动到高速写入块而不是普通存储块QLC,从而可以提高高速写入清除操作的速度。在图10所示的实施例中,最快的高速写入清除操作可以是高速写入清除A操作,下一个最快的高速写入清除操作可以是高速写入清除B操作,而最慢的高速写入清除操作可以是高速写入清除C操作。
图11是示出根据本公开的另一实施例的高速写入清除操作的示图。
参照图11,主机可以向存储器控制器提供高速写入清除请求,以清空第二高速写入块MLC中存储的数据。响应于高速写入清除请求,存储器控制器可以将第二高速写入块MLC中存储的数据移动到另一高速写入块或普通存储块QLC。
目标块信息和储存块信息可以被包括在高速写入清除请求中。目标块信息可以包括关于待被清空的高速写入块的信息。在图11的示例中,与目标块信息相对应的块可以是第二高速写入块MLC。
储存块信息可以包括关于待存储根据高速写入清除操作而移动的数据的块的信息。例如,当储存块信息对应于第一高速写入块SLC时,可以执行将第二高速写入块MLC中存储的数据移动到第一高速写入块SLC的高速写入清除D操作。当储存块信息对应于第三高速写入块TLC时,可以执行将第二高速写入块MLC中存储的数据移动到第三高速写入块TLC的高速写入清除E操作。当储存块信息对应于普通存储块QLC时,可以执行将第二高速写入块MLC中存储的数据移动到普通存储块QLC的高速写入清除F操作。
在实施例中,即使在包括存储不同数量的数据位的存储器单元的两个或更多个高速写入块之间,也可以执行高速写入清除操作。因此,与图9所示的实施例相比,数据被移动到高速写入块而不是普通存储块QLC,从而可以提高高速写入清除操作的速度。在图11的示例中,最快的高速写入清除操作可以是高速写入清除D操作,下一个最快的高速写入清除操作可以是高速写入清除E操作,并且最慢的高速写入清除操作可以是高速写入清除F操作。
图12是示出根据本公开的实施例的高速写入清除请求的示图。
参照图12,高速写入清除请求可以包括高速写入清除命令、目标块信息和储存块信息。高速写入清除命令可以是主机通过该命令而请求存储器控制器执行高速写入清除操作的命令。
目标块信息可以包括关于待被清空的高速写入块的信息。主机可以直接指定目标块。响应于包括目标块信息的高速写入清除请求,可以将由主机指定的目标块中存储的数据移动到另一高速写入块或普通存储块。
目标块信息可以包括关于可以由待通过高速写入清除操作而清空的高速写入块中包括的存储器单元存储的数据位的数量的信息。例如,当目标块信息指定配置有SLC的第一高速写入块时,可以清空第一高速写入块中存储的数据。当目标块信息指定配置有MLC的第二高速写入块时,可以清空第二高速写入块中存储的数据。类似地,当目标块信息指定配置有TLC的第三高速写入块时,可以清空第三高速写入块中存储的数据。
储存块信息可以包括关于待存储通过高速写入清除操作而移动的数据的块的信息。具体地,储存块信息可以包括关于可以由通过高速写入清除操作而待存储数据的块中包括的存储器单元中的每一个存储的数据位的数量的信息。例如,当储存块信息指定配置有SLC的第一高速写入块时,可以将数据移动到第一高速写入块。当储存块信息指定配置有MLC的第二高速写入块时,可以将数据移动到第二高速写入块。类似地,当储存块信息指定配置有TLC的第三高速写入块时,可以将数据移动到第三高速写入块。
图13是示出图2和图8所示的高速写入地址存储装置的配置的示图。
参照图13,高速写入地址存储装置可以包括指示高速写入块的物理地址的高速写入地址信息。具体地,高速写入地址信息可以指示高速写入块之中的空闲块的物理地址。空闲块是存在尚未被编程的页面的块,并且可以是处于可以将数据存储到该块中的状态的块。
在实施例中,存储器控制器可以接收包括处于设置状态的高速写入模式信息的写入请求。基于高速写入地址信息,存储器控制器可以确定与高速写入块信息相对应的高速写入块的物理地址。而且,存储器控制器可以响应于高速写入清除请求、基于高速写入地址信息来确定储存块和目标块的物理地址。
高速写入地址信息可以是分别对应于高速写入块的不同的物理地址的信息。可以存在配置有每个单元具有相同数量的数据位的存储器单元的两个或更多个高速写入块。因此,即使当各个高速写入块中包括的存储器单元能够存储相同数量的数据位时,各个高速写入块也可以对应于不同的物理地址。
参照图13,第一高速写入块TWB1中包括的存储器单元可以被配置为每个存储一个数据位的SLC。第一高速写入块TWB1可以对应于第一物理地址ADDR1。第二高速写入块TWB2中包括的存储器单元可以被配置有每个存储两个数据位的MLC。第二高速写入块TWB2可以对应于第二物理地址ADDR2。第三高速写入块TWB3中包括的存储器单元可以被配置为每个存储三个数据位的TLC。第三高速写入块TWB3可以对应于第三物理地址ADDR3。第四高速写入块TWB4中包括的存储器单元可以配置为每个存储两个数据位的MLC。第四高速写入块TWB4可以对应于第四物理地址ADDR4。第k高速写入块TWBk中包括的存储器单元可以被配置为每个存储三个数据位的TLC。第k高速写入块TWBk可以对应于第k物理地址ADDRk。
图14是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图14,在步骤S1401中,存储器控制器从主机接收写入请求。
在步骤S1403中,存储器控制器可以通过对所接收的写入请求进行解码来确定高速写入模式信息和高速写入块信息。高速写入模式信息可以是指示是否将与写入请求相对应的写入数据存储在多个高速写入块中的信息。
高速写入块信息可以是关于多个高速写入块之中的待存储写入数据的高速写入块的信息。
在步骤S1405中,存储器控制器可以确定高速写入模式信息是否处于设置状态。当高速写入模式信息处于设置状态时,可以将与写入请求相对应的写入数据存储在高速写入块中。当高速写入模式信息处于重置状态时,可以将写入数据存储在普通存储块中。
当高速写入模式处于设置状态时,可以执行步骤S1409。当高速写入模式处于重置状态时,可以执行步骤S1407。
在步骤S1407中,存储器控制器可以控制存储器装置以将数据存储在普通存储块中。当写入请求中包括的高速写入模式信息是处于重置状态的高速写入模式信息时,存储器控制器可以将待存储写入数据的物理地址确定为普通存储块的物理地址。存储器控制器可以向存储器装置提供编程命令,以指示存储器装置将数据存储在普通存储块中。而且,存储器控制器可以向存储器装置提供所确定的物理地址和写入数据。
在步骤S1409中,存储器控制器可以控制存储器装置以将数据存储在与高速写入块信息相对应的高速写入块中。存储器控制器可以基于高速写入块信息,来确定待存储写入数据的高速写入块的物理地址。
存储器控制器可以向存储器装置提供编程命令,以指示存储器装置将数据存储在与高速写入块信息相对应的高速写入块中。而且,存储器控制器可以向存储器装置提供所确定的物理地址和写入数据。
在步骤S1411中,存储器控制器可以完成与从主机接收的写入请求相对应的写入操作,并且向主机提供写入完成通知。
图15是示出根据本公开的另一实施例的存储器控制器的操作的流程图。
参照图15,在步骤S1501中,存储器控制器可以从主机接收高速写入清除请求。
在步骤S1503中,存储器控制器可以通过对高速写入清除请求进行解码来确定目标块信息和储存块信息。
目标块信息可以包括关于可以由待执行高速写入清除操作的高速写入块中包括的存储器单元存储的数据位的数量的信息。储存块信息可以包括关于通过高速写入清除操作而待存储数据的存储块的信息。具体地,储存块信息可以包括关于可以由通过高速写入清除操作而待存储数据的存储块中包括的存储器单元存储的数据位的数量的信息。
在步骤S1505中,存储器控制器可以控制存储器装置以将与目标块信息相对应的块中存储的数据移动到与储存块信息相对应的块。基于高速写入清除请求中包括的目标块信息,存储器控制器可以确定目标块的物理地址,其中目标块为待执行高速写入清除操作的存储块。基于高速写入清除请求中包括的储存块信息,存储器控制器可以确定储存块的物理地址,其中储存块为目标块中存储的数据待被移动到的存储块。
响应于高速写入清除请求,存储器控制器可以控制存储器装置以读取目标块中存储的数据并且将所读取的数据存储在储存块中。
在步骤S1507中,存储器控制器可以完成高速写入清除操作,并且向主机提供高速写入清除完成通知。
图16是示出图1所示的存储器装置100的结构的示图。
存储器装置100可以包括存储器单元阵列100、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接至行解码器121。多个存储块BLK1至BLKz通过位线BL1至BLn联接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。联接到同一字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。
行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。
存储器单元阵列110中包括的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC),或者存储四个数据位的四层单元(QLC)。
外围电路120可以在控制逻辑130的控制下对存储器单元阵列110的选择区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可在控制逻辑130的控制下向行线RL和位线BL1至BLn施加各种操作电压或释放所施加的电压。
外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124和输入/输出电路125。
行解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括至少一条源极选择线、多条字线和至少一条漏极选择线。在实施例中,字线可以包括普通字线和虚拟字线。在实施例中,行线RL可以进一步包括管道选择线。
行解码器121在控制逻辑130的控制下操作。行解码器121从控制逻辑130接收行地址RADD。
行解码器121对行地址RADD进行解码。行解码器121根据经解码的地址在来存储块BLK1至BLKz之中选择至少一个存储块。此外,行解码器121可以根据经解码的地址来选择所选择的存储块的至少一条字线,以将电压生成器122生成的电压施加到至少一条字线WL。
例如,在编程操作中,行解码器121可以将编程电压施加到所选择的字线,并且将具有比该编程电压的电平低的电平的编程通过电压施加到未选择的字线。在编程验证操作中,行解码器121可以将验证电压施加到所选择的字线,并且将具有比验证电压的电平高的电平的验证通过电压施加到未选择的字线。在读取操作中,行解码器121可以将读取电压施加到所选择的字线,并且将具有比读取电压的电平高的电平的读取通过电压施加到未选择的字线。
在实施例中,以存储块为单位来执行存储器装置100的擦除操作。在擦除操作中,行解码器121可以根据经解码的地址来选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到联接到所选择的存储块的字线。
电压生成器122在控制逻辑130的控制下操作。电压生成器122通过使用供应到存储器装置100的外部电源电压来生成多个电压。具体地,电压生成器可以响应于操作信号OPSIG而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成器122可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压生成器122可通过使用外部电源电压或内部电源电压来生成多个电压。
例如,电压生成器122可以包括用于接收内部电源电压的多个泵浦(pumping)电容器,并且在控制逻辑130的控制下通过选择性地启用多个泵浦电容器来生成多个电压。
可以通过行解码器121来将所生成的多个电压供应到存储器单元阵列110。
页面缓冲器组123包括第一至第n页缓冲器PB1至PBn。第一至第n页缓冲器PB1至PBn分别通过第一至第n位线BL1至BLn联接到存储器单元阵列110。第一至第n位线BL1至BLn在控制逻辑130的控制下操作。具体地,第一至第n位线BL1至BLn可响应于页面缓冲器控制信号PBSIGNALS而操作。例如,在读取操作或验证操作中,第一至第n页面缓冲器PB1至PBn可以临时存储通过第一至第n位线BL1至BLn接收的数据,或者感测位线BL1至BLn的电压或电流。
具体地,在编程操作中,当将编程脉冲施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可以通过第一至第n位线BL1至BLn,将通过输入/输出电路125而接收的数据DATA传送到所选择的存储器单元。根据传送的数据DATA,对所选择的页面的存储器单元进行编程。联接到施加有编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。联接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被维持。在编程验证操作中,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的存储器单元读取页面数据。
在读取操作中,在列解码器124的控制下,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn来从所选择的页面的存储器单元中读取数据DATA,并且将所读取的数据DATA输出至输入/输出电路125。
在擦除操作中,第一至第n页面缓冲器PB1至PBn可以使第一至第n位线BL1至BLn浮置。
列解码器124可以响应于列地址CADD来在输入/输出电路125和页面缓冲器组123之间通信数据。例如,列解码器124可以通过数据线EL与第一至第n页面缓冲器PB1至PBn通信数据,或者通过列线CL与输入/输出电路125通信数据。
输入/输出电路125可以将从参照图2所描述的存储器控制器200接收的命令CMD和地址ADDR传送至控制逻辑130,或者与列解码器124交换数据DATA。
在读取操作或验证操作中,感测电路126可以响应于允许位VRYBIT信号而生成参考电流,并且通过将从页面缓冲器组123接收的感测电压VPB和由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
响应于命令CMD和地址ADDR,控制逻辑130可以通过输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRYBIT来控制外围电路120。而且,控制逻辑130可以响应于通过信号PASS或失败信号FAIL来确定验证操作已经通过还是失败。
图17是示出图16所示的存储块BLK1至BLKz之中的任意一个存储块BLK1的结构的示图。
参照图17,在存储块BLK1中,可以在第一选择线和第二选择线之间彼此平行地布置多条字线。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。更具体地,存储块BLK1可以包括联接在位线BL1至BLn与源极线SL之间的多个串ST。图17所示的第一至第n位线BL1至BLn可以是图16所示的第一至第n位线BL1至BLn。位线BL1至BLn可以分别联接到串ST,并且源极线SL可以共同地联接到串ST。串ST可以彼此相同地配置,因此,作为示例,将详细描述联接到第一位线BL1的串ST。
串ST可以包括在源极线SL和第一位线BLl之间彼此串联联接的源极选择晶体管SST、多个存储器单元MC1至MC16和漏极选择晶体管DST。一个串ST中可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST,并且可以在一个串ST中包括数量大于附图中所示出的存储器单元MC1至MC16的数量的存储器单元。
源极选择晶体管SST的源极可以联接至源极线SL,而漏极选择晶体管DST的漏极可以联接至第一位线BL1。存储器单元MC1至MC16可以串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,并且不同串ST中包括的漏极选择晶体管DST的栅极可以联接到漏极选择线DSL。存储器单元MC1至MC16的栅极可以联接到多条字线WL1至WL16。可以将在不同串ST中包括的存储器单元之中的联接至同一字线的一组存储器单元称为物理页面PG。因此,与字线WL1至WL16的数量相对应的物理页面PG可以被包括在存储块BLK1中。在图17中,图16所示的行线RL中可以包括源极线SL、源极选择线SSL、字线WL1至WL16以及漏极选择线DSL。
当一个存储器单元是存储一位数据的单层单元(SLC)时,一个物理页面PG可以存储一个逻辑页面(LPG)的数据。当一个存储器单元可以存储两位或更多位数据时,一个物理页面PG可以存储两个或更多个LPG的数据。
图18是示出根据存储器单元中存储的位的数量的阈值电压分布的示图。
参照图18,每个曲线图的横轴表示阈值电压的大小,并且每个曲线图的纵轴表示存储器单元的数量。
当存储器单元是存储一位数据的SLC时,该存储器单元可以具有对应于第一编程状态Pl和第二编程状态P2中的任意一个的阈值电压。
读取电压Va1可以是将第一编程状态P1和第二编程状态P2彼此区分开的电压。因为具有第一编程状态P1的存储器单元具有低于读取电压Va1的阈值电压,所以该存储器单元可以被读取为导通单元。因为具有第二编程状态P2的存储器单元具有高于读取电压Va1的阈值电压,所以该存储器单元可以被读取为关断单元。
当存储器单元是存储两位数据的MLC时,该存储器单元可以具有对应于第一至第四编程状态P1至P4中的任意一个的阈值电压。
第一至第三读取电压Vb1至Vb3可以是用于将第一至第四编程状态P1至P4彼此区分开的读取电压。第一读取电压Vb1可以是用于将第一编程状态P1和第二编程状态P2彼此区分开的读取电压。第二读取电压Vb2可以是用于将第二编程状态P2和第三编程状态P3彼此区分开的读取电压。第三读取电压Vb3可以是用于将第三编程状态P3和第四编程状态P4彼此区分开的读取电压。
当存储器单元是存储三位数据的TLC时,该存储器单元可以具有对应于第一至第八编程状态P1至P8中的任意一个的阈值电压。
第一至第七读取电压Vc1至Vc7可以是用于将第一至第八编程状态P1至P8彼此区分开的读取电压。第一读取电压Vc1可以是用于将第一编程状态P1和第二编程状态P2彼此区分开的读取电压。第二读取电压Vc2可以是用于将第二编程状态P2和第三编程状态P3彼此区分开的读取电压。以这种方式,第七读取电压Vc7可以是用于将第七编程状态P7和第八编程状态P8彼此区分开的读取电压。
当存储器单元是存储四位数据的QLC时,该存储器单元可具有对应于第一至第十六编程状态Pl至P16中的任意一个的阈值电压。
第一至第十五读取电压Vd1至Vd15可以是用于将第一至第十六编程状态P1至P16彼此区分开的读取电压。第一读取电压Vd1可以是用于将第一编程状态P1和第二编程状态P2彼此区分开的读取电压。第二读取电压Vd2可以是用于将第二编程状态P2和第三编程状态P3彼此区分开的读取电压。以这种方式,第十五读取电压Vd15可以是用于将第十五编程状态P15和第十六编程状态P16彼此区分开的读取电压。
随着由一个存储器单元存储的数据位的数量的增加,编程状态的数量和用于将编程状态彼此区分开的读取电压的数量可能增加。
图19是示出在实施例中可用作图1中所示的存储器控制器200的存储器控制器1000的示图。
存储器控制器1000联接到主机和存储器装置。存储器控制器1000可以响应于从主机接收的请求来访问存储器装置。存储器控制器1000可以提供存储器装置和主机之间的接口。存储器控制器1000可以驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置为在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的整体操作,并且执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。此外,处理器1010可以通过缓冲器控制电路1050与存储缓冲器1020通信。处理器1010可以通过将存储缓冲器1020用作工作存储器、高速缓存存储器、缓冲存储器或其组合来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可以通过FTL将由主机提供的逻辑地址(LA)转换为物理地址(PA)。FTL可以接收LA,以使用映射表来将LA转换成PA。根据映射单元,存在FTL的若干地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010可以使从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来将从主机接收的数据随机化。经随机化数据被设置为待存储到存储器装置以待被编程到存储器单元阵列中的数据。
在读取操作中,处理器1010可以对从存储器装置接收的数据进行去随机化(derandomize)。例如,处理器1010可以使用去随机化种子以将从存储器装置接收的数据去随机化。经去随机化数据可以被输出到主机。
在实施例中,处理器1010可以通过运行软件或固件来执行随机化和去随机化。
存储缓冲器1020可以用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储缓冲器1020可以存储由处理器1010运行的代码和命令。存储缓冲器1020可能包含静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可以执行ECC操作。ECC电路1030可以对通过存储器接口1060而写入到存储器装置的数据执行ECC编码。可以通过存储器接口1060将ECC编码数据传送到存储器装置。ECC电路1030可以对通过存储器接口1060而从存储器装置接收的数据执行ECC解码。在示例中,ECC电路1030可以作为存储器接口1060的组件而包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信。主机接口1040可以使用多种通信方式中的至少一种与主机通信,诸如通用串行总线(USB)、串行高级技术附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM),寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
缓冲器控制电路1050被配置为在处理器1010的控制下控制存储缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
在示例中,存储器控制器1000可以不包括存储缓冲器1020和缓冲器控制电路1050。
在示例中,处理器1010可以通过使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在示例中,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传输数据,并且控制总线可以被配置为在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线彼此分开,并且彼此之间可以不互相干扰或影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储缓冲器1020和存储器接口1060。
图20是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
参照图20,存储卡系统2000包括存储器控制器2100、存储器装置和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。存储器控制器2100可以被等同地实施为参照图2所描述的存储器控制器200。
在示例中,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可根据特定的通信协议与外部装置(例如,主机)通信。在示例中,存储器控制器2100可以通过各种通信协议中的至少一种与外部装置通信,诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
在示例中,可以用各种非易失性存储器装置来实施存储器装置2200,诸如电可擦可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以集成到单个半导体装置中,以构成存储卡。例如,存储器控制器2100和存储器装置2200可以构成存储卡,诸如PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)和通用闪存(UFS)。
图20中所示的存储器控制器2100可以是参照图1所描述的存储器控制器200。此外,存储器装置2200可以对应于参照图1所描述的存储器装置100。
图21是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统的框图。
参照图21,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可以用作参照图1所描述的存储器控制器200。
SSD控制器3210可以响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一种定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI、蓝牙和NVMe。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可以提供SSD 3200的电力。在示例中,辅助电源3230可以位于SSD3200中,或者位于SSD 3200的外部。例如,辅助电源3230可以位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据,或从多个闪速存储器存3221至322n接收的数据,或者临时存储闪速存储器存3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和图形RAM(GRAM)的易失性存储器,或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图22是示出根据本公开的实施例的应用存储装置的用户系统的框图。
参照图22,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动在用户系统4000、操作系统(OS)、用户程序等中包括的组件。在示例中,应用处理器4100可以包括用于控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。在示例中,可以通过基于堆叠封装(PoP)来对应用处理器4100和存储器模块4200进行封装,以将应用处理器4100和存储器模块4200设置为一个半导体封装。
网络模块4300可以与外部装置通信。在示例中,网络模块4300可以支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。在示例中,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将所存储的数据传输到应用处理器4100。在示例中,存储模块4400可以利用非易失性半导体存储器装置来实施,诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可以被设置为可移动驱动器,诸如用户系统4000的存储卡或外部驱动器。
在示例中,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1所描述的存储器装置100相同地操作。存储模块4400可以与参照图1所描述的存储装置50相同地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或命令或向外部装置输出数据的接口。在示例中,用户界面4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开,可以提供一种具有提高的写入响应速度的存储装置及其操作方法。
虽然已经参考本公开的某些说明性实施例示出和描述了本公开,但是本领域技术人员将理解的是,可以在不脱离如通过所附权利要求及其等效方案所定义的本公开的精神和范围的情况下在形式和细节上进行各种改变。因此,本公开的范围不应限于上述的说明性实施例,而应由所附权利要求书以及其等效方案来确定。
在上述实施例中,可以选择性地执行所有步骤,或者可以省略部分步骤。在每个实施例中,不一定按照所描述的顺序来执行步骤,并且可以重新布置步骤。在本说明书和附图中所公开的实施例仅为示例,以促进对本公开的理解,并且本公开不限于此。即,对于本领域技术人员显而易见的是,可以基于本公开的技术范围进行各种修改。
同时,已经在附图和说明书中描述了本公开的说明性实施例。尽管本文中使用了特定的术语,但是这些术语仅是为了解释本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内可以有许多变型。对于本领域技术人员应当显而易见的是,除了本文中所公开的实施例之外,还可以基于本公开的技术范围进行各种修改。
Claims (20)
1.一种存储器控制器,所述存储器控制器控制存储器装置,所述存储器装置包括多个高速写入块和多个普通存储块,所述存储器控制器包括:
高速写入控制器,根据高速写入模式信息和高速写入块信息来生成待存储写入数据的物理地址,所述写入数据与从主机接收的写入请求相对应,所述高速写入模式信息和所述高速写入块信息包括在所述写入请求中;以及
存储器操作控制器,控制所述存储器装置以将所述写入数据存储在与所述物理地址相对应的存储器单元中,
其中所述高速写入模式信息是指示是否将所述写入数据存储在所述多个高速写入块中的信息,并且
所述高速写入块信息是指示所述多个高速写入块之中的待存储所述写入数据的高速写入块的信息,
其中所述多个高速写入块中的第一高速写入块包括每个被编程为存储第一数量的数据位的存储器单元,所述多个高速写入块中的第二高速写入块包括每个被编程为存储第二数量的数据位的存储器单元,并且所述第二数量的数据位不同于所述第一数量的数据位。
2.根据权利要求1所述的存储器控制器,其中所述多个普通存储块被编程为存储第三数量的数据位,所述第三数量的数据位大于所述第一数量的数据位并且大于所述第二数量的数据位。
3.根据权利要求1所述的存储器控制器,其中将所述第一高速写入块中包括的存储器单元编程为单层单元,即SLC,并且将所述多个普通存储块中包括的存储器单元编程为四层单元,即QLC。
4.根据权利要求1所述的存储器控制器,其中将所述第一高速写入块中包括的存储器单元编程为单层单元即SLC、多层单元即MLC和三层单元即QLC中的任意一个。
5.根据权利要求1所述的存储器控制器,其中将在所述多个普通存储块中包括的存储器单元编程为四层单元,即QLC。
6.根据权利要求1所述的存储器控制器,其中所述高速写入块信息包括关于所述多个高速写入块之中的待存储所述写入数据的高速写入块中包括的一个存储器单元中存储的数据位的数量的信息。
7.根据权利要求1所述的存储器控制器,进一步包括映射数据存储装置,所述映射数据存储装置存储关于所述多个普通存储块的物理地址的信息和关于所述多个高速写入块的物理地址的信息。
8.根据权利要求1所述的存储器控制器,其中所述高速写入控制器从所述主机接收高速写入清除请求,并且从所述高速写入清除请求获取指示目标块的目标块信息,所述高速写入清除请求指示所述存储器装置移动在所述多个高速写入块之中的所述目标块中存储的数据。
9.根据权利要求8所述的存储器控制器,其中所述高速写入控制器从所述高速写入清除请求获取指示储存块的储存块信息,所述储存块为所述目标块中存储的数据待被存储到的存储块。
10.根据权利要求9所述的存储器控制器,其中所述存储器操作控制器控制所述存储器装置以将所述目标块中存储的数据移动到所述储存块。
11.根据权利要求9所述的存储器控制器,其中所述存储器操作控制器控制所述存储器装置以读取所述目标块中存储的数据,并且将所读取的数据编程在所述储存块中。
12.根据权利要求9所述的存储器控制器,其中能够在所述目标块中包括的存储器单元中存储的数据位的数量不同于能够在所述储存块中包括的存储器单元中存储的数据位的数量。
13.一种操作存储器控制器的方法,所述存储器控制器控制存储器装置,所述存储器装置包括多个高速写入块和多个普通存储块,所述方法包括:
接收来自主机的写入请求,所述写入请求包括高速写入模式信息和高速写入块信息;
根据所述高速写入模式信息和所述高速写入块信息,生成待存储与所述写入请求相对应的写入数据的物理地址;并且
控制所述存储器装置以将所述写入数据存储在所述多个高速写入块和所述多个普通存储块之中的与所述物理地址相对应的任意一个块中,
其中所述高速写入模式信息是指示是否将所述写入数据存储在所述多个高速写入块中的信息,并且
所述高速写入块信息是指示所述多个高速写入块之中的待存储所述写入数据的高速写入块的信息,
其中所述多个高速写入块分别包括被编程为存储不同数量的数据位的存储器单元。
14.根据权利要求13所述的方法,其中所述高速写入块信息包括关于所述多个高速写入块之中的待存储所述写入数据的高速写入块中包括的一个存储器单元中存储的数据位的数量的信息。
15.根据权利要求13所述的方法,其中控制所述存储器装置以存储所述写入数据包括:
响应于处于设置状态的所述高速写入模式信息,控制所述存储器装置以将所述写入数据存储在所述多个高速写入块之中的任意一个高速写入块中。
16.根据权利要求13所述的方法,其中控制所述存储器装置以存储所述写入数据包括:
响应于处于重置状态的所述高速写入模式信息,控制所述存储器装置以将所述写入数据存储在所述多个普通存储块之中的任意一个普通存储块中。
17.根据权利要求13所述的方法,其中所述多个高速写入块是根据在所述主机的请求中预先指示的容量而分配的存储块。
18.根据权利要求13所述的方法,其中每当接收到包括处于设置状态的所述高速写入模式信息的所述写入请求时,就分配所述多个高速写入块。
19.一种存储装置,包括:
存储器装置,包括多个高速写入块和多个普通存储块;以及
存储器控制器,响应于从主机接收的写入请求,控制所述存储器装置以将与所述写入请求相对应的数据存储在所述多个高速写入块和所述多个普通存储块之中的任意一个块中;
其中所述多个高速写入块分别包括被编程为存储不同数量的数据位的存储器单元。
20.根据权利要求19所述的存储器装置,
其中所述存储器控制器从所述主机接收高速写入清除请求,所述高速写入清除请求指示所述存储器装置移动所述多个高速写入块之中的目标块中存储的数据,所述高速写入清除请求包括目标块信息和储存块信息,并且所述存储器控制器控制所述存储器装置以将在根据所述目标块信息的目标块中存储的数据移动到根据所述储存块信息的储存块中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190141662A KR20210055339A (ko) | 2019-11-07 | 2019-11-07 | 스토리지 장치 및 그 동작 방법 |
KR10-2019-0141662 | 2019-11-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783432A true CN112783432A (zh) | 2021-05-11 |
Family
ID=75750264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010821138.3A Withdrawn CN112783432A (zh) | 2019-11-07 | 2020-08-14 | 存储装置和其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11360886B2 (zh) |
KR (1) | KR20210055339A (zh) |
CN (1) | CN112783432A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7490469B2 (ja) * | 2020-06-25 | 2024-05-27 | キオクシア株式会社 | ストレージデバイス、ストレージシステム及び制御方法 |
KR20220028897A (ko) * | 2020-08-31 | 2022-03-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20220104486A (ko) | 2021-01-18 | 2022-07-26 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 컴퓨팅 시스템 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035989B1 (en) * | 2000-02-16 | 2006-04-25 | Sun Microsystems, Inc. | Adaptive memory allocation |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
US8806090B2 (en) * | 2011-05-31 | 2014-08-12 | Micron Technology, Inc. | Apparatus including buffer allocation management and related methods |
KR102550343B1 (ko) | 2016-07-27 | 2023-07-03 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법 |
KR20210016227A (ko) * | 2019-08-02 | 2021-02-15 | 삼성전자주식회사 | 빠른 쓰기 및 빠른 읽기를 지원하기 위한 복수의 버퍼 영역들을 포함하는 메모리 장치 및 이를 포함하는 스토리지 장치 |
-
2019
- 2019-11-07 KR KR1020190141662A patent/KR20210055339A/ko not_active Application Discontinuation
-
2020
- 2020-07-09 US US16/925,181 patent/US11360886B2/en active Active
- 2020-08-14 CN CN202010821138.3A patent/CN112783432A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11360886B2 (en) | 2022-06-14 |
US20210141722A1 (en) | 2021-05-13 |
KR20210055339A (ko) | 2021-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11543984B2 (en) | Memory controller, storage device and operating method thereof | |
US10846002B2 (en) | Memory controller to adjust the size of write data, operating method therof and storage device including the same | |
US11853202B2 (en) | Memory system performing garbage collection operation by exchanging information related to garbage collection with host and method of operating the memory system | |
CN111177020B (zh) | 存储装置及其操作方法 | |
CN111984186A (zh) | 装置及其操作方法 | |
KR20200088713A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN114625673A (zh) | 存储装置及其操作方法 | |
CN112783433A (zh) | 存储装置及其操作方法 | |
CN112463664A (zh) | 存储装置及其操作方法 | |
KR20210142981A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11360886B2 (en) | Storage device and operating method thereof | |
KR20210062476A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN111752856A (zh) | 存储器控制器及其操作方法 | |
KR20220030090A (ko) | 저장 장치 및 그 동작 방법 | |
KR102501778B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111580744A (zh) | 存储器控制器及其操作方法 | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN111506515B (zh) | 存储器控制器及其操作方法 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
KR20210128780A (ko) | 메모리 컨트롤러 및 이를 포함하는 저장 장치 | |
KR20200136173A (ko) | 메모리 장치 및 그 동작 방법 | |
KR20220052161A (ko) | 메모리 장치 및 그 동작 방법 | |
CN112199037A (zh) | 存储器控制器及其操作方法 | |
CN112447234A (zh) | 存储器控制器及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210511 |
|
WW01 | Invention patent application withdrawn after publication |