CN114077385A - 存储器***、存储器控制器以及操作存储器***的方法 - Google Patents
存储器***、存储器控制器以及操作存储器***的方法 Download PDFInfo
- Publication number
- CN114077385A CN114077385A CN202110231669.1A CN202110231669A CN114077385A CN 114077385 A CN114077385 A CN 114077385A CN 202110231669 A CN202110231669 A CN 202110231669A CN 114077385 A CN114077385 A CN 114077385A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- size
- write
- host
- 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
- 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
- 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
- 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
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/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/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/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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
- 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/0877—Cache access modes
- G06F12/0882—Page mode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种存储器***,该存储器***可以将存储器装置的参考写入大小传送到主机,并且当从主机接收到针对第一数据的写入请求,该第一数据具有对应于参考写入大小的倍数的大小时,可以将第一数据直接写入存储器装置而不将第一数据高速缓存在写入高速缓存中。
Description
相关申请的交叉引用
本申请要求于2020年8月18日提交至韩国知识产权局的申请号为10-2020-0102939的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体上涉及一种存储器***、存储器控制器以及操作存储器***的方法。
背景技术
例如存储装置的存储器***基于来自诸如计算机、移动终端(例如,智能电话或平板电脑)或各种其他电子装置中的任意一种的主机的请求来存储数据。存储器***可以是一种将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,或者是一种将数据存储在诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置的非易失性存储器中的装置。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收的命令来运行或控制在存储器***中包括的易失性存储器或非易失性存储器中读取、写入或擦除数据的操作。存储器控制器可以驱动固件以执行用于控制这种操作的逻辑操作。
通常,当存储器***将数据写入存储器装置时,存储器***将数据高速缓存在写入高速缓存中,然后将在写入高速缓存中高速缓存的数据写入存储器装置。此时,在将数据高速缓存在写入高速缓存中之后,存储器***向主机传送指示数据写入完成的消息。因此,即使在发生SPO(突然断电)的情况下,存储器***也需要确保在写入高速缓存中高速缓存的数据被写入存储器装置中。
发明内容
各个实施例涉及一种能够提高写入数据的操作的性能的存储器***、存储器控制器以及操作该存储器***的方法。
而且,各个实施例涉及一种能够使处理SPO所需的成本最小化的存储器***、存储器控制器以及操作该存储器***的方法。
一方面,本公开的实施例可以提供一种存储器***,该存储器***包括:存储器装置,包括多个存储块;以及存储器控制器,被配置为与存储器装置通信,并且运行固件以控制存储器装置。
存储器控制器可以向主机传送存储器装置的参考写入大小。
当从主机接收到针对具有对应于参考写入大小的倍数的大小的第一数据的写入请求时,存储器控制器可以将第一数据直接写入存储器装置而不将第一数据高速缓存在写入高速缓存中。
可以基于与多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定参考写入大小。第一存储块中包括的存储器单元可以是诸如TLC的多层单元。
当从主机接收到针对不具有对应于参考写入大小的倍数的大小的第二数据的写入请求时,存储器控制器可以将第二数据高速缓存在写入高速缓存中。
存储器控制器可以通过对从主机接收的参数命令的响应消息,将参考写入大小传送到主机。参数命令可以是向存储器***请求至少一个参数的命令。响应消息可以包括指示参考写入大小的单独字段。
在完成将第一数据写入存储器装置的操作之后,存储器控制器可以将写入请求的完成消息传送到主机。
另一方面,本公开的实施例可以提供一种存储器控制器,该存储器控制器包括:存储器接口,被配置为与存储器装置通信;以及处理器,被配置为通过存储器接口与存储器装置通信,并且运行固件以控制存储器装置。
处理器可以将存储器装置的参考写入大小传送到主机。
当从主机接收到针对具有对应于参考写入大小的倍数的大小的第一数据的写入请求时,处理器可以将第一数据直接写入存储器装置而不将第一数据高速缓存在写入高速缓存中。
可以基于与存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定参考写入大小。第一存储块中包括的存储器单元可以是诸如TLC的多层单元。
当从主机接收到针对不具有对应于参考写入大小的倍数的大小的第二数据的写入请求时,处理器可以将第二数据高速缓存在写入高速缓存中。
处理器可以通过对从主机接收的参数命令的响应消息来将参考写入大小传送到主机。参数命令可以是向包括存储器控制器的存储器***请求至少一个参数的命令。响应消息可以包括指示参考写入大小的单独字段。
在完成将第一数据写入存储器装置的操作之后,处理器可以将写入请求的完成消息传送到主机。
另一方面,本公开的实施例可以提供一种操作包括存储器装置的存储器***的方法。
该操作存储器***的方法可以包括将存储器装置的参考写入大小传送到主机。
该操作存储器***的方法可以包括从主机接收到针对第一数据的写入请求,该第一数据具有对应于参考写入大小的倍数的大小。
该操作存储器***的方法可以包括将第一数据直接写入存储器装置,而不将第一数据高速缓存在写入高速缓存中。
可以基于与存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定参考写入大小。
在将参考写入大小传送到主机的过程中,存储器***可以通过对从主机接收的参数命令的响应消息来将参考写入大小传送到主机。
参数命令可以是向存储器***请求至少一个参数的命令。
响应消息可以包括指示参考写入大小的单独字段。
该操作存储器***的方法可以进一步包括:如果第一数据的大小对应于参考写入大小的倍数,则将第一数据直接写入存储器装置而不将第一数据高速缓存在写入高速缓存中。
该方法可以进一步包括:如果第一数据的大小不对应于参考写入大小的倍数,则将第一数据高速缓存在写入高速缓存中。
该方法可以进一步包括:基于与存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定参考写入大小。
根据本公开的实施例,可以提高写入数据的操作的性能。
而且,根据本公开的实施例,可以使处理SPO所需的成本最小化。
附图说明
图1是示出根据本公开的示例性实施例的存储器***的配置的示意图。
图2是示意性地示出根据本公开的示例性实施例的存储器装置的框图。
图3是示出根据本公开的示例性实施例的存储器装置的字线和位线的结构的示图。
图4是示出根据本公开的示例性实施例的存储器***将参考数据大小传送到主机的操作的示图。
图5是示出根据本公开的示例性实施例的存储器***将从主机接收的第一数据直接写入存储器装置的操作的示图。
图6是示出根据本公开的示例性实施例的存储器装置的示例的示图。
图7是示出根据本公开的示例性实施例的存储器***将从主机接收的第二数据写入到写入高速缓存的操作的示图。
图8是示出根据本公开的示例性实施例的存储器***将数据写入存储器装置或写入高速缓存的操作的流程图。
图9是示出根据本公开的示例性实施例的存储器***通过对参数命令的响应消息来将参考数据大小传送到主机的操作的示图。
图10是示出根据本公开的示例性实施例的存储器***将写入请求的完成消息传送到主机的操作的示图。
图11是示出根据本公开的示例性实施例的操作存储器***的方法的流程图。
图12是示出根据本公开的示例性实施例的计算***的配置的示图。
具体实施方式
在下文中,将参照附图详细地描述本公开的实施例。
在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。而且,术语“实施例”在本文中使用时不一定指所有实施例。
图1是示出根据本公开的示例性实施例的存储器***100的示意性配置的示图。
参照图1,存储器***100可以包括存储器装置110和存储器控制器120,其中存储器装置110被配置为存储数据,并且存储器控制器120被配置为控制存储器装置110。
存储器装置110可以包括多个存储块。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。例如,存储器装置110的操作可以包括读取操作、编程操作(也称为“写入操作”)、擦除操作等。
存储器装置110可以包括存储器单元阵列,存储器单元阵列包括被配置为存储数据的多个存储器单元(也简称为“单元”)。存储器单元阵列可以存在于存储块内部。
例如,存储器装置110可以被实施为诸如以下的各种类型中的任意一种:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、***低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移扭矩随机存取存储器(STT-RAM)。
存储器装置110可以以三维阵列结构来实施。本公开的实施例不仅可应用于具有被配置为导电浮栅的电荷存储层的闪速存储器装置,而且还可应用于具有电荷撷取闪存(CTF)的闪速存储器装置,该电荷撷取闪存(CTF)具有被配置为绝缘薄膜的电荷存储层。
存储器装置110可以被配置为从存储器控制器120接收命令和地址并且访问使用该地址选择的存储器单元阵列中的区域。也就是说,存储器装置110可以在具有与从存储器控制器120接收的地址相对应的物理地址的存储器装置的存储区域中执行对应于所接收的命令的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置110可以擦除在由地址选择的区域中存储的数据。
存储器控制器120可以控制针对存储器装置110的写入(编程)操作、读取操作、擦除操作以及后台操作。例如,后台操作可以包括垃圾收集(GC)操作、损耗均衡(WL)操作和/或坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,存储器控制器120可以在没有主机的相应请求的情况下,例如当存储器控制器120执行存储器装置的一个或多个后台操作时,控制存储器装置110的操作。
存储器控制器120和主机可以是单独的装置。在另一实施例中,存储器控制器120和主机可以被集成并且实施为单个装置。在下面的描述中,存储器控制器120和主机是单独的装置。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置为提供与主机(HOST)通信的接口。
当从主机接收命令时,控制电路123可以通过主机接口121接收该命令并且可以执行处理所接收的命令的操作。
存储器接口122可以连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。
控制电路123可以被配置为通过执行操作以对存储器控制器120进行整体控制来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可以接收LBA并且通过使用映射表来将该LBA转换成PBA。
根据映射单位,存在可以由FTL使用的各种地址映射方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置为使从主机接收的数据随机化。例如,处理器124可以通过使用随机化种子来使从主机接收的数据随机化。将经随机化的数据作为待存储的数据而提供给存储器装置110,并且编程在存储器单元阵列中。
处理器124可以被配置为在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收的数据去随机化。可以将经去随机化的数据输出到主机。
处理器124可以运行固件(FW)以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间加载到工作存储器125中的固件。
该固件是指在存储器***100内部运行的程序,并且可以包括各种功能层。
例如,该固件可以包括:闪存转换层(FTL),被配置为在主机请求存储器***100而提供的逻辑地址和存储器装置110的物理地址之间转换;主机接口层(HIL),被配置为解译主机HOST发出给存储器***100(存储装置)的命令并且将该命令传递到FTL;和/或闪存接口层(FIL),被配置为将由FTL发出的命令传递到存储器装置110。
例如,该固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储固件、编程代码、命令或多条数据以驱动存储器控制器120。例如,工作存储器125可以包括作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)之中的至少一个。
错误检测/校正电路126可以被配置为通过使用错误校正码检测目标数据的错误位,并且校正所检测到的错误位。例如,目标数据可以是在工作存储器125中存储的数据、从存储器装置110检索的数据等。
错误检测/校正电路126可以被实施以通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,可以使用执行非***代码解码的解码器或执行***代码解码的解码器。
例如,错误检测/校正电路126可以逐个扇区地针对每一条读取数据检测错误位。也就是说,每一条读取数据可以包括多个扇区。如本文所使用的,扇区可以指小于闪速存储器的读取单位(页面)的数据单位。构成每一条读取数据的扇区可以经由地址而相互对应。
错误检测/校正电路26可以计算位错误率(BER)并且确定是否可以逐个扇区地进行校正。例如,如果BER大于参考值,则错误检测/校正电路126可以确定相应扇区不可校正或“失败”。如果BER小于或等于参考值,则错误检测/校正电路126可以确定相应扇区可校正或“通过”。
错误检测/校正电路126可以针对所有读取数据连续地执行错误检测和校正操作。当读取数据中包括的扇区可校正时,错误检测/校正电路126可以省略与下一条读取数据中的相应扇区有关的错误检测和校正操作。在以这种方式完成针对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以检测最后被认为是不可校正的扇区。可以存在一个或多个被认为是不可校正的扇区。错误检测/校正电路126可以将关于被认为是不可校正的扇区的信息(例如,地址信息)传递到处理器124。
总线127可以被配置为在存储器控制器120的构成元件121、122、124、125和126之间的提供通道。例如,总线127可以包括用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
仅作为示例提供了存储器控制器120的上述构成元件121、122、124、125和126。注意的是,可以省略存储器控制器120中的上述构成元件121、122、124、125和126中的一些,或者可以将存储器控制器120中的上述构成元件121、122、124、125和126中的一些集成到单个元件中。另外,在某些情况下,除了存储器控制器120的上述构成元件,还可以添加一个或多个其他构成元件。
在下文中,参照图2更详细地描述存储器装置110。
图2是示意性地示出根据本公开的示例性实施例的存储器装置110的框图。
参照图2,根据本公开的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz,其中z是等于或大于2的自然数。
在多个存储块BLK1至BLKz中,可以设置多条字线WL和多条位线BL,并且可以布置多个存储器单元MC。
多个存储块BLK1至BLKz可以通过多条字线WL连接到地址解码器220。多个存储块BLK1至BLKz可以通过多条位线BL连接到读取/写入电路230。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元是可以具有垂直沟道结构的非易失性存储器单元。
存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列,并且在某些情况下,可以被配置为具有三维结构的存储器单元阵列。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(SLC)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储两位数据的多层单元(MLC)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储三位数据的三层单元(TLC)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储四位数据的四层单元(QLC)。再如,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置为存储五位或更多位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以共同地作为被配置为驱动存储器单元阵列210的***电路而操作。
地址解码器220可以通过多条字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的控制而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以根据经解码的块地址来选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
地址解码器220可以在读取操作期间施加读取电压时,将读取电压Vread施加到所选择的存储块内部的所选择的字线WL,并且可以将通过电压Vpass施加到剩余的未选择的字线WL。
地址解码器220可以在编程验证操作期间将由电压生成电路250生成的验证电压施加到所选择的存储块内部的所选择的字线WL,并且可以将通过电压Vpass施加到剩余的未选择的字线WL。
地址解码器220可以被配置为对所接收的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传递到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时所接收的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以根据块地址和行地址来选择一个存储块和一条字线。列地址可以由地址解码器220进行解码,并且被提供给读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”而操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”而操作。
上述读取/写入电路230也称为包括多个页面缓冲器PB的页面缓冲器电路,或数据寄存器电路。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在某些情况下,可以进一步包括以高速缓存功能进行操作的高速缓存缓冲器。
多个页面缓冲器PB可以通过多条位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间,感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以连续地将感测电流提供给连接到存储器单元的位线BL,可以通过感测节点来感测根据相应存储器单元的编程状态而流动的电流量的变化,并且可以将电流量的变化锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元中的数据,临时存储所检索到的数据,并且将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL而控制存储器装置110的全部操作。控制逻辑240可以输出用于调整多个页面缓冲器PB的感测节点的预充电电位电平的控制信号。
控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号而生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
存储器装置110中包括的存储块BLK可以由多个页面PG和多个串组成。多个页面PG对应于多条字线WL,并且多个串STR对应于多条位线BL。
在存储块BLK中,可以将多条字线WL和多条位线BL布置为相交。例如,可以沿行方向设置多条字线WL中的每一条,并且可以沿列方向设置多条位线BL中的每一条。再如,可以沿列方向设置多条字线WL中的每一条,并且可以沿行方向设置多条位线BL中的每一条。
多条字线WL和多条位线BL的相交限定了多个存储器单元MC。每个存储器单元MC可以具有布置在其中的晶体管TR。
例如,布置在每个存储器单元MC中的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接到相应位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(其可以是地)。晶体管TR的栅极可以包括由绝缘体包围的浮置栅极(FG)和被从字线WL施加栅极电压的控制栅极(CG)。
在多个存储块BLK1至BLKz中的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以附加地布置在两个最外字线之中的、更靠近读取/写入电路230的第一最外字线的外部,并且第二选择线(也称为漏极选择线或源极选择线)可以附加地布置在另一个第二最外字线的外部。
在某些情况下,至少一条虚拟字线可以附加地布置在第一最外字线和第一选择线之间。另外,至少一条虚拟字线可以附加地布置在第二最外字线和第二选择线之间。
可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
图3是示出根据本公开的示例性实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图3,存储器装置110具有集中了存储器单元MC的内核区域,以及对应于剩余的非内核区域的辅助区域。辅助区域支持存储器单元阵列210的操作。
内核区域可以包括页面PG和串STR。在内核区域中,多条字线WL1至WL9和多条位线BL被布置为相交。
字线WL1至WL9可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多条位线BL和列解码器320之间。
多条字线WL1至WL9可以对应于多个页面PG。
例如,多条字线WL1至WL9中的每一条可以对应于如图3所示的一个页面PG。当多条字线WL1至WL9中的每一条具有较大的大小时,多条字线WL1至WL9中的每一条可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是用于执行编程操作和读取操作的最小单位,并且当执行编程操作和读取操作时,相同页面PG内的所有存储器单元MC可以同时执行操作。
多条位线BL可以以奇数编号的位线BL和偶数编号的位线BL交替的方式而连接到列解码器320。
为了访问存储器单元MC,可以首先通过输入/输出端,然后通过行解码器310和列解码器320将地址输入到内核区域,从而指定相应的目标存储器单元。如本文所使用的,指定目标存储器单元是指访问存储器单元MC中的、在连接到行解码器310的字线WL1至WL9中的一条与连接到列解码器320的位线BL中的一条的相交位置处的存储器单元MC,以将数据编程在该存储器单元MC中或从该存储器单元MC读取所编程的数据。
因为由存储器装置110执行的包括编程操作和读取操作的所有数据处理都是经由数据寄存器330进行的,所以数据寄存器330起着重要作用。如果由数据寄存器330执行的数据处理发生延迟,则所有其他区域都需要等待,直到数据寄存器330完成数据处理。另外,数据寄存器330的性能下降可以使存储器装置110的整体性能下降。
参照图3所示的示例,在一个串STR中,多个晶体管TR1至TR9可以连接到多条字线WL1至WL9。多个晶体管TR1至TR9对应于存储器单元MC。在本示例中,多个晶体管TR1至TR9包括控制栅极CG和浮置栅极FG。
多条字线WL1至WL9包括两条最外字线WL1和WL9。第一选择线DSL可以附加地布置在两条最外字线WL1和WL9之中的、在信号路径方面更靠近数据寄存器330的第一最外字线WL1的外部。第二选择线SSL可以附加地布置在另一个第二最外字线WL9的外部。
由第一选择线DSL控制以导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但是不包括浮置栅极FG。由第二选择线SSL控制以导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮置栅极FG。
第一选择晶体管D-TR用作导通或关断相应串STR与数据寄存器330之间的连接的开关。第二选择晶体管S-TR用作导通或关断相应串STR和源极线SL之间的连接的开关。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR用作位于相应串STR的相对端并且传递/阻断信号的网守。
在编程操作期间,存储器***100利用电子来填充待编程的位线BL的目标存储器单元MC。因此,存储器***100向第一选择晶体管D-TR的栅电极施加导通电压Vcc,从而导通第一选择晶体管D-TR,并且向第二选择晶体管S-TR的栅电极施加关断电压(例如,0V),从而关断第二选择晶体管S-TR。
在读取操作或验证操作期间,存储器***100导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。因此,在读取操作或验证操作期间,电流可以通过相应的串STR和漏极而流向对应于地的源极线,从而可以测量位线BL的电压电平。然而,在读取操作期间,第一选择晶体管D-TR和第二选择晶体管S-TR之间的导通/关断定时可能存在时间差。
在擦除操作期间,存储器***100可以通过源极线SL将电压(例如,+20V)供应给衬底。在擦除操作期间,存储器***100使第一选择晶体管D-TR和第二选择晶体管S-TR两者浮置,从而产生无限电阻。因此,可以消除第一选择晶体管D-TR的影响或作用以及第二选择晶体管S-TR的影响或作用,并且由于电位差,电子可仅在浮置栅极FG和衬底之间操作。
图4是示出根据本公开的示例性实施例的存储器***100将参考数据大小传送到主机的操作的示图。
参照图4,存储器***100的存储器控制器120可以将存储器装置110的参考写入大小RWS传送到主机。
参考写入大小RWS是指当存储器***100写入数据时可以确保最佳写入性能的单位大小。可以将参考写入大小RWS确定为可以写入到存储器装置110的数据的最小单位(例如,页面大小)的倍数。
参考写入大小RWS可以称为最佳写入大小(OWS)或目标写入大小,并且参考写入大小RWS的含义不受其名称的限制。
可以基于存储器***100中包括的存储器装置110的属性来确定参考写入大小RWS。例如,当存储器装置110是3D NAND闪速存储器时,可以基于堆叠的数量(例如,72个堆叠或96个堆叠)来确定参考写入大小RWS。再如,可以基于存储器装置110中包括的存储器单元的属性(例如,SLC、MLC或TLC)来确定参考写入大小RWS。
存储器控制器120可以将参考写入大小RWS传送到主机。当主机将写入请求传送到存储器***100时,为了确保最佳写入性能,主机可以基于参考写入大小RWS来确定待写入存储器***100的数据的大小。
图5是示出根据本公开的示例性实施例的存储器***100将从主机接收的第一数据直接写入存储器装置110的操作的示图。
参照图5,当存储器***100的存储器控制器120从主机接收到第一数据DATA_1的写入请求,其中第一数据DATA_1具有对应于参考写入大小RWS的倍数的大小时,存储器控制器120可以直接将第一数据DATA_1写入存储器装置110而不将第一数据DATA_1高速缓存在写入高速缓存WR_CACHE中。
也就是说,不是将第一数据DATA_1高速缓存在写入高速缓存WR_CACHE中,并且之后将所高速缓存的第一数据DATA_1与在写入高速缓存WR_CACHE中高速缓存的其他数据一起写入存储器装置110,而是存储器控制器120可以立即将第一数据DATA_1写入存储器装置110。
第一数据DATA_1的大小对应于参考写入大小RWS的倍数的事实表示第一数据DATA_1的大小是参考写入大小RWS的N倍(N是自然数)。例如,在参考写入大小RWS是4KB的情况下,第一数据DATA_1的大小可以是4KB、8KB、12KB、16KB、……。在本示例中,N是正整数,诸如1、2、3、4、……、等。
作为位于存储器控制器120中的高速缓存区域的写入高速缓存WR_CACHE用于收集并且同时处理在不同时间从主机接收的写入请求。写入高速缓存WR_CACHE可以位于存储器控制器120中的工作存储器125中或者位于存储器控制器120中的单独的易失性存储器(例如,TCM或SRAM)中。
如上所述,当写入具有对应于参考写入大小RWS的倍数的大小的第一数据DATA_1时,存储器控制器120直接将第一数据DATA_1写入存储器装置110的原因如下。
如上所述,由于参考写入大小RWS是当存储器***100写入数据时能够确保写入性能的单位大小,因此,即使当存储器控制器120为了获得最佳写入性能而仅将第一数据DATA_1写入存储器装置110而无需将第一数据DATA_1和其他数据合并时,也不会发生写入性能下降。
进一步地,当存储器控制器120以这种方式将第一数据DATA_1直接写入存储器装置110时,待高速缓存在写入高速缓存WR_CACHE中的数据量减少。因此,可以减少当发生SPO时将在写入高速缓存WR_CACHE中高速缓存的数据写入存储器装置110所需的成本(例如,当发生SPO时增加用于供应电力的电容器所需的成本)。由于这样的成本与在写入高速缓存WR_CACHE中高速缓存的数据的大小成比例地增加,因此当在写入高速缓存WR_CACHE中高速缓存的数据的大小减小时,成本降低。
另一方面,如果在将第一数据DATA_1高速缓存在写入高速缓存WR_CACHE中之后将第一数据DATA_1写入存储器装置110,则存储器控制器120需要将第一数据DATA_1转换成能够被高速缓存在写入高速缓存WR_CACHE中的类型。而且,存储器控制器120应当定期检查在高速高速缓存WR_CACHE中高速缓存的数据是否可以被写入存储器装置110。另外,在写入高速缓存WR_CACHE的空闲空间的大小小于第一数据DATA_1的大小的情况下,可能引起以下问题:对第一数据DATA_1的写入请求没有完成而处于待命状态。
如果发生这种情况,则由于将由主机请求写入的数据实际写入存储器装置110的时间发生延迟,因此写入数据的操作的性能会下降。因此,存储器***100的存储器控制器120可以通过将具有对应于参考写入大小RWS的倍数的大小的第一数据DATA_1直接写入存储器装置110来提高写入数据的操作的性能。
图6是示出根据本公开的示例性实施例的存储器装置110的示例的示图。
参照图6,存储器装置110可以包括多个存储块BLK,并且对应于各个存储块BLK的页面大小可以彼此不同。例如,如果对应于多个存储块BLK之中的任意一个存储块BLK的页面大小是4KB,则对应于另一存储块BLK的页面大小可以是8KB。以这种方式,即使在各个存储块BLK的页面大小彼此不同的情况下,也将参考写入大小RWS确定为一个值。
在图6中,存储器装置110中包括的多个存储块BLK可以被划分为写入用户数据的存储块BLK和写入其他数据(例如,用户数据的元数据)的存储块BLK。对应于写入用户数据的存储块BLK的页面大小和对应于写入其他数据的存储块BLK的页面大小可以彼此不同。
可以基于对应于多个存储块BLK之中的写入用户数据的第一存储块BLK_1的页面大小来确定参考写入大小RWS。其原因在于,由于由主机请求写入的大部分数据是用户数据,因此仅在基于写入用户数据的第一存储块BLK_1来确定参考写入大小RWS的情况下,被直接写入存储器装置110的数据的百分比才增加。
被包括在第一存储块BLK_1中的存储器单元可以是例如TLC。其原因在于,与大小较小但稳定性和快速读取/写入速度更重要的数据(诸如,元数据)不同,就用户数据而言,大小被认为是重要因素,因此在一个存储器单元中存储的数据的量需要较大。因此,与写入元数据的存储块BLK中包括的SLC不同,第一存储块BLK_1中包括的存储器单元可以是能够比SLC存储更多数据的TLC。
以上已经描述了主机向存储器***100传输写入具有对应于参考写入大小RWS的倍数的大小的数据的请求的情况。然而,主机并不总是向存储器***100传送写入具有对应于参考写入大小RWS的倍数的大小的数据的请求。在下文中,将描述主机向存储器***100传送写入不具有对应于参考写入大小RWS的倍数的大小的数据的请求的情况。
图7是示出根据本公开的示例性实施例的存储器***100将从主机接收的第二数据写入到写入高速缓存的操作的示图。
参照图7,当存储器***100的存储器控制器120从主机接收到第二数据DATA_2的写入请求,其中第二数据DATA_2不具有对应于参考写入大小RWS的倍数的大小时,存储器控制器120可以将第二数据DATA_2高速缓存在写入高速缓存WR_CACHE中。
第二数据DATA_2不具有对应于参考写入大小RWS的倍数的大小的事实表示第二数据DATA_2的大小不是参考写入大小RWS的N倍(N是自然数)。例如,在参考写入大小RWS是4KB的情况下,第二数据DATA_2的大小可以是5KB、9KB、11KB、17KB、……。
以这种方式,当存储器控制器120写入不具有对应于参考写入大小RWS的倍数的大小的第二数据DATA_2时,仅利用第二数据DATA_2不能确保最佳写入性能。
因此,存储器控制器120可以将第二数据DATA_2高速缓存在写入高速缓存WR_CACHE中,以通过将第二数据DATA_2与其他数据一起写入存储器装置110来确保最佳写入性能。
在下文中,将通过流程图描述以上参照图4至图7描述的实施例。
图8是示出根据本公开的示例性实施例的存储器***100将数据写入到存储器装置或写入高速缓存的操作的流程图。
参照图8,当存储器***100的存储器控制器120从主机接收到针对数据的写入请求时,存储器控制器120可以首先检查相应数据的大小(S810)。
存储器控制器120确定相应数据的大小是否为上述参考写入大小RWS的倍数(S820)。
当相应数据的大小是参考写入大小RWS的倍数时(在S820中为“是”),存储器控制器120可以将相应数据直接写入存储器装置110,而不将相应数据高速缓存在写入高速缓存WR_CACHE中(S830)。
另一方面,当相应数据的大小不是参考写入大小RWS的倍数时(在S820中为“否”),存储器控制器120可以将相应数据高速缓存在写入高速缓存WR_CACHE中(S840)。
图9是示出根据本公开的示例性实施例的存储器***100通过对参数命令的响应消息将参考数据大小传送到主机的操作的示图。
参照图9,存储器***100的存储器控制器120可以通过对从主机接收的参数命令PARAM_CMD的响应消息RESP_MSG来将参考写入大小RWS传送到主机。
参数命令PARAM_CMD是由主机传送以向存储器***100请求至少一个参数的命令。存储器***100的参数可以是与存储器***100的操作有关的信息(例如,存储容量、格式或性能)。
可以根据主机与存储器***100之间的通信标准来改变参数命令PARAM_CMD的格式。
例如,在主机和存储器***100通过NVMe标准彼此通信的情况下,参数命令PARAM_CMD可以是以NVMe标准定义的识别命令。
响应消息RESP_MSG可以包括指示参考写入大小RWS的单独字段。换言之,除了指示其他参数PARAM_1、PARAM_2……的字段之外,响应消息RESP_MSG还可以包括指示参考写入大小RWS的字段。存储器控制器120可以通过该字段将参考写入大小RWS的值传送到主机。
图10是示出根据本公开的示例性实施例的存储器***100将写入请求的完成消息传送到主机的操作的示图。
参照图10,在完成将第一数据DATA_1写入到存储器装置110的操作之后,存储器***100的存储器控制器120可以将来自主机的写入请求的完成消息COMP_MSG传送到主机。
将第一数据DATA_1直接写入存储器装置110,而没有高速缓存在写入高速缓存WR_CACHE中。因此,当完成将第一数据DATA_1写入存储器装置110的操作时,存储器控制器120可以立即将完成消息COMP_MSG传送到主机。
图11是示出根据本公开的实施例的操作存储器***100的方法的流程图。
参照图11,操作存储器***100的方法可以包括步骤S1110:将存储器装置100的参考写入大小RWS传送到主机。
可以基于与存储器装置100中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定参考写入大小RWS。
在步骤S1110中,可以通过对从主机接收的参数命令的响应消息,来将参考写入大小RWS传送到主机。参数命令可以是向存储器***100请求至少一个参数的命令。响应消息可以包括指示参考写入大小RWS的单独字段。
操作存储器***100的方法可以包括步骤S1120:从主机接收针对第一数据的写入请求。
操作存储器***100的方法可以包括步骤S1130:根据第一数据的大小是否对应于参考写入大小RWS的倍数,将第一数据直接写入存储器装置110而不将第一数据高速缓存在写入高速缓存中。
同时,存储器控制器120的上述操作可以由控制电路123来控制,并且可以以处理器124运行(驱动)固件的方式来执行,其中存储器控制器120的一般操作被编程到该固件。
图12是示出根据本公开的示例性实施例的计算***1200的配置的示图。
参照图12,根据本公开的实施例的计算***1200可以包括:存储器***100,电连接到***总线1260;CPU 1210,被配置为控制计算***1200的全部操作;RAM 1220,被配置为存储与计算***1200的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1230,被配置为向用户提供用户环境;通信模块1240,被配置为与有线和/或无线类型的外部装置通信;以及电源管理模块1250,被配置为管理计算***1200使用的电源。
计算***1200可以是个人计算机(PC)或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
计算***1200可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器以及DRAM。其他元件对本领域技术人员将是显而易见的。
存储器***100可以不仅包括被配置为在诸如硬盘驱动器(HDD)的磁盘中存储数据的装置,而且包括被配置为在诸如固态驱动器(SSD)、通用闪速存储装置或嵌入式MMC(eMMC)装置的非易失性存储器中存储数据的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储装置并且安装在各种电子装置内部。
根据上述本公开的实施例,可以使存储器***的操作延迟时间最小化。另外,根据本公开的实施例,可以使在调用特定功能的过程中产生的开销最小化。尽管出于说明的目的已经描述了本公开的各个实施例,但本领域技术人员将理解的是,在不脱离如所附权利要求书中公开的本公开的范围和精神的情况下,可以进行各种修改、添加和替换。因此,为了简洁和清楚起见,描述了本公开的实施例。本公开的范围应基于所附权利要求书来解释,以使得等同于权利要求的范围内包括的所有技术构思都属于本公开。
Claims (20)
1.一种存储器***,包括:
存储器装置,包括多个存储块;以及
存储器控制器,与所述存储器装置通信,并且运行固件以控制所述存储器装置,
其中所述存储器控制器将所述存储器装置的参考写入大小传送到主机,并且
其中当从所述主机接收到针对第一数据的写入请求,所述第一数据具有对应于所述参考写入大小的倍数的大小时,所述存储器控制器将所述第一数据直接写入所述存储器装置而不将所述第一数据高速缓存在写入高速缓存中。
2.根据权利要求1所述的存储器***,其中基于与所述多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定所述参考写入大小。
3.根据权利要求2所述的存储器***,其中所述第一存储块中包括的存储器单元是三层单元,即TLC。
4.根据权利要求1所述的存储器***,其中当从所述主机接收到针对第二数据的写入请求,所述第二数据不具有对应于所述参考写入大小的倍数的大小时,所述存储器控制器将所述第二数据高速缓存在所述写入高速缓存中。
5.根据权利要求1所述的存储器***,
其中所述存储器控制器通过对从所述主机接收的参数命令的响应消息来将所述参考写入大小传送到所述主机,并且
其中所述参数命令是向所述存储器***请求至少一个参数的命令。
6.根据权利要求5所述的存储器***,其中所述响应消息包括指示所述参考写入大小的单独字段。
7.根据权利要求1所述的存储器***,其中在完成将所述第一数据写入所述存储器装置的操作之后,所述存储器控制器将所述写入请求的完成消息传送到所述主机。
8.一种存储器控制器,包括:
存储器接口,与存储器装置通信;以及
处理器,通过所述存储器接口与所述存储器装置通信,并且运行固件以控制所述存储器装置,
其中所述处理器将所述存储器装置的参考写入大小传送到主机,并且
其中当从所述主机接收到针对第一数据的写入请求,所述第一数据具有对应于所述参考写入大小的倍数的大小时,所述处理器将所述第一数据直接写入所述存储器装置而不将所述第一数据高速缓存在写入高速缓存中。
9.根据权利要求8所述的存储器控制器,其中基于与所述存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定所述参考写入大小。
10.根据权利要求9所述的存储器控制器,其中所述第一存储块中包括的存储器单元是三层单元,即TLC。
11.根据权利要求8所述的存储器控制器,其中当从所述主机接收到针对第二数据的写入请求,所述第二数据不具有对应于所述参考写入大小的倍数的大小时,所述处理器将所述第二数据高速缓存在所述写入高速缓存中。
12.根据权利要求8所述的存储器控制器,
其中所述处理器通过对从所述主机接收的参数命令的响应消息来将所述参考写入大小传送到所述主机,并且
其中所述参数命令是向包括所述存储器控制器的存储器***请求至少一个参数的命令。
13.根据权利要求12所述的存储器控制器,其中所述响应消息包括指示所述参考写入大小的单独字段。
14.根据权利要求8所述的存储器控制器,其中在完成将所述第一数据写入所述存储器装置的操作之后,所述处理器将所述写入请求的完成消息传送到所述主机。
15.一种操作存储器***的方法,包括:
将存储器装置的参考写入大小传送到主机;
从所述主机接收针对第一数据的写入请求;并且
根据所述第一数据的大小是否对应于所述参考写入大小的倍数,将所述第一数据直接写入所述存储器装置而不将所述第一数据高速缓存在写入高速缓存中。
16.根据权利要求15所述的方法,其中基于与所述存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定所述参考写入大小。
17.根据权利要求15所述的方法,
其中将所述参考写入大小传送到所述主机包括:通过对从所述主机接收的参数命令的响应消息来将所述参考写入大小传送到所述主机,并且
其中所述参数命令是向所述存储器***请求至少一个参数的命令。
18.根据权利要求15所述的方法,进一步包括:如果所述第一数据的大小对应于所述参考写入大小的倍数,则将所述第一数据直接写入所述存储器装置而不将所述第一数据高速缓存在所述写入高速缓存中。
19.根据权利要求18所述的方法,进一步包括:如果所述第一数据的大小不对应于所述参考写入大小的倍数,则将所述第一数据高速缓存在所述写入高速缓存中。
20.根据权利要求19所述的方法,进一步包括:基于与所述存储器装置中包括的多个存储块之中的写入用户数据的第一存储块相对应的页面大小来确定所述参考写入大小。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0102939 | 2020-08-18 | ||
KR1020200102939A KR20220022139A (ko) | 2020-08-18 | 2020-08-18 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077385A true CN114077385A (zh) | 2022-02-22 |
Family
ID=80270766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110231669.1A Withdrawn CN114077385A (zh) | 2020-08-18 | 2021-03-02 | 存储器***、存储器控制器以及操作存储器***的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11507509B2 (zh) |
KR (1) | KR20220022139A (zh) |
CN (1) | CN114077385A (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190617B1 (en) * | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
KR20100082185A (ko) * | 2009-01-08 | 2010-07-16 | 삼성전자주식회사 | 플래시 메모리, 캐시 메모리, 그리고 제어기를 포함하는 사용자 장치 |
TWI428917B (zh) * | 2009-11-25 | 2014-03-01 | Silicon Motion Inc | 快閃記憶裝置、資料儲存系統、以及資料儲存系統之運作方法 |
US20110252187A1 (en) * | 2010-04-07 | 2011-10-13 | Avigdor Segal | System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory |
FI20105743A0 (fi) | 2010-06-29 | 2010-06-29 | Tuxera Inc | Muistista lukeminen tai muistiin kirjoittaminen |
WO2015114829A1 (ja) * | 2014-02-03 | 2015-08-06 | 株式会社日立製作所 | 情報処理装置 |
US9836108B2 (en) * | 2014-09-10 | 2017-12-05 | Toshiba Memory Corporation | Memory system and controller |
KR102295223B1 (ko) * | 2015-01-13 | 2021-09-01 | 삼성전자주식회사 | 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치 |
US11341048B2 (en) * | 2018-10-29 | 2022-05-24 | Micron Technology, Inc. | SLC cache allocation |
US10795586B2 (en) * | 2018-11-19 | 2020-10-06 | Alibaba Group Holding Limited | System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash |
-
2020
- 2020-08-18 KR KR1020200102939A patent/KR20220022139A/ko unknown
-
2021
- 2021-01-21 US US17/154,980 patent/US11507509B2/en active Active
- 2021-03-02 CN CN202110231669.1A patent/CN114077385A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR20220022139A (ko) | 2022-02-25 |
US20220058125A1 (en) | 2022-02-24 |
US11507509B2 (en) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113257324B (zh) | 存储器***、存储器控制器以及操作存储器***的方法 | |
CN114067870A (zh) | 存储器***、存储器装置以及用于操作存储器装置的方法 | |
US20230333932A1 (en) | Memory system and operating method thereof | |
CN114863962A (zh) | 存储器***及其操作方法 | |
CN114489466A (zh) | 存储器***及其操作方法 | |
CN113204312A (zh) | 存储器***、存储器控制器及存储器***的操作方法 | |
CN113703662B (zh) | 存储器***、存储器控制器及其操作方法 | |
CN112349315B (zh) | 存储器***、存储器控制器和操作方法 | |
CN113806254A (zh) | 存储器***、存储器控制器及存储器***的操作方法 | |
CN113903384A (zh) | 存储器***、存储器控制器以及操作存储器***的方法 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器***及其操作方法 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
CN112925476B (zh) | 存储器***、存储器控制器及其操作方法 | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN115113807A (zh) | 存储器***以及存储器***的操作方法 | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US11893255B2 (en) | Memory system for managing data corresponding to a plurality of zones and operating method thereof | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11386000B2 (en) | Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines | |
US11880599B2 (en) | Memory system and operating method of the memory system inputting an additional read enable toggle signal to output status information of memory device | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection |
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: 20220222 |
|
WW01 | Invention patent application withdrawn after publication |