CN112181283A - 存储器系统、存储器控制器及操作方法 - Google Patents
存储器系统、存储器控制器及操作方法 Download PDFInfo
- Publication number
- CN112181283A CN112181283A CN202010114372.2A CN202010114372A CN112181283A CN 112181283 A CN112181283 A CN 112181283A CN 202010114372 A CN202010114372 A CN 202010114372A CN 112181283 A CN112181283 A CN 112181283A
- Authority
- CN
- China
- Prior art keywords
- write
- memory
- information
- write command
- time
- 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/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
- 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
- G06F13/1689—Synchronisation and timing concerns
-
- 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
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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/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/0656—Data buffering 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/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
- 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/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请公开了一种存储器系统、存储器控制器及操作方法。通过基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间,可以最小化处理从主机传输的命令由于垃圾收集而被延迟的时间,并且确保稳定的写入性能。
Description
相关申请的交叉引用
本申请要求于2019年7月5日提交的申请号为10-2019-0081025的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例涉及存储器系统、存储器控制器及操作方法。
背景技术
对应于存储装置的存储器系统是基于来自主机的请求存储数据的装置,该主机诸如计算机、诸如智能手机和平板电脑的移动终端或各种电子装置。存储器系统不仅可包括将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,而且还包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置以及嵌入式MMC(eMMC)装置的非易失性存储器中的装置。
存储器系统可进一步包括用于控制存储器装置的存储器控制器。存储器控制器可从主机接收命令,并且可基于所接收的命令,在存储器系统中包括的易失性存储器或非易失性存储器上执行或控制用于读取数据、写入数据或擦除数据的操作。
在常规存储器装置中的数据写入操作中,可执行垃圾收集以获得空闲存储块并确保存储器装置的写入性能,可以不重写数据的位或字节。当在执行垃圾收集的同时从主机输入命令时,可能延迟响应于该命令的操作。因此,主机可确定存储器系统的全部性能劣化。
发明内容
各个实施例涉及能够最小化处理从主机传输的命令由于垃圾收集而被延迟的时间的存储器系统、存储器控制器及操作方法。
而且,各个实施例涉及能够确保稳定写入性能的存储器系统、存储器控制器及操作方法。
进一步地,各个实施例涉及能够在空闲存储块的数量变得不足之前预先获得空闲存储块的存储器系统、存储器控制器及操作方法。
本公开的实施例可提供一种存储器系统,包括:存储器装置,包括多个存储块;以及存储器控制器,被配置成控制存储器装置。
存储器控制器可基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间。
对于写入命令组中包括的每个写入命令,写入命令组的信息可包括传输时间信息和写入大小信息,其中传输时间信息指示主机传输写入命令的时间点,并且写入大小信息指示写入命令的写入数据大小。
写入命令组可包括最近由主机传输的N个写入命令,其中N是自然数。
传输时间信息可以是由主机生成的绝对时间信息。
写入命令组的信息可存储在包括多个条目的条目缓冲器中。条目缓冲器中存储的多个条目中的每一个可包括写入命令组中包括的相应写入命令的传输时间信息和写入大小信息。
用于垃圾收集的时间可基于写入数据速度来确定,该写入数据速度是基于写入命令组的全部或部分信息来计算的。
本公开的另一实施例可提供一种存储器控制器,包括:存储器接口,被配置成与包括多个存储块的存储器装置通信;以及控制电路,被配置成控制存储器装置。
控制电路可基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间。
对于写入命令组中包括的每个写入命令,写入命令组的信息可包括传输时间信息和写入大小信息,其中传输时间信息指示主机传输写入命令的时间点,并且写入大小信息指示写入命令的写入数据大小。
写入命令组可包括由主机传输的多个写入命令中最近传输的N个写入命令,其中N是自然数。
传输时间信息可以是由主机生成的绝对时间信息。
写入命令组的信息可存储在包括多个条目的条目缓冲器中。条目缓冲器中存储的多个条目中的每一个可包括写入命令组中包括的相应写入命令的传输时间信息和写入大小信息。
用于垃圾收集的时间可基于写入数据速度来确定,该写入数据速度是基于写入命令组的全部或部分信息来计算的。
本公开的另一实施例可提供一种用于操作适于控制存储器装置的存储器系统的方法。
用于操作存储器系统的方法可包括从主机接收多个写入命令。
用于操作存储器系统的方法可包括基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间。
对于写入命令组中包括的每个写入命令,写入命令组的信息可包括传输时间信息和写入大小信息,其中传输时间信息指示主机传输写入命令的时间点,并且写入大小信息指示写入命令的写入数据大小。
写入命令组可包括由主机传输的多个写入命令中最近传输的N个写入命令,其中N是自然数。
传输时间信息可以是由主机生成的绝对时间信息。
写入命令组的信息可存储在包括多个条目的条目缓冲器中。条目缓冲器中存储的多个条目中的每一个可包括写入命令组中包括的相应写入命令的传输时间信息和写入大小信息。
本公开的另一实施例可提供一种存储器系统,包括:存储器装置和存储器控制器,该存储器装置包括多个存储块。
存储器控制器可被配置成基于命令的输入时间和与该命令相关联的数据的大小来估计对应于从外部装置输入的多个命令的工作负载。
存储器控制器可被配置成基于所估计的工作负载来确定垃圾收集操作的可用时间。
存储器控制器可被配置成在可用时间内执行垃圾收集操作,以在多个存储块之中获得至少一个空闲块。
根据本公开的实施例,可以最小化处理从主机传输的命令由于垃圾收集而被延迟的时间。
而且,根据本公开的实施例,可以确保稳定的写入性能。
进一步地,根据本公开的实施例,可以在空闲存储块的数量变得不足之前预先获得空闲存储块。
附图说明
图1是示出根据本公开的实施例的存储器系统的示例的配置图。
图2是示出根据本公开的实施例的存储器装置的示例的框图。
图3是示意性地示出根据本公开的实施例的存储器装置的每个存储块的示例的示图。
图4是示出根据本公开的实施例的存储器装置的字线和位线的结构的示例的示图。
图5是示出根据本公开的实施例的用于确定存储器系统中垃圾收集的运行时间的示意性结构的示例的示图。
图6描述了根据本公开的实施例的选择存储器系统中的写入命令组的方法。
图7描述了根据本公开的实施例的确定存储器系统中每个写入命令的传输时间信息的方法。
图8示出根据本公开的实施例的确定存储器系统中每个写入命令的传输时间信息的方法。
图9是示出根据本公开的实施例的在存储器系统中存储写入命令组的信息的条目缓冲器的示例的示图。
图10和图11是示出根据本公开的实施例的存储器系统中的每个存储写入命令组的信息的条目缓冲器的示例的示图。
图12是描述根据本公开的实施例的基于写入命令组的信息来计算写入数据速度的方法的示图。
图13是描述根据本公开的实施例的存储器系统中的写入数据速度和垃圾收集的运行时间之间的关系的曲线图。
图14和图15是描述根据本公开的实施例的计算存储器系统中的写入数据速度的方法的示图。
图16是描述根据本公开的实施例的用于操作存储器控制器的方法的流程图。
图17是示出根据本公开的实施例的计算系统的示例的配置图。
具体实施方式
在下文中,将通过本公开的实施例的各个示例,参照附图详细描述存储器系统、存储器控制器和操作方法。
图1是示出根据本公开的实施例的存储器系统100的示例的配置图。
参照图1,根据本公开的实施例的存储器系统100可包括存储数据的存储器装置110和控制存储器装置110的存储器控制器120。
存储器装置110包括多个存储块,并且响应于存储器控制器120的控制而操作。存储器装置110的操作可包括例如读取操作、编程操作(也称为写入操作)及擦除操作。
存储器装置110可包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元(也被简称为“单元”)。这种存储器单元阵列可存在于存储块中。
例如,存储器装置110可以是诸如以下的各种类型存储器装置中的至少一种:DDRSDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)SDRAM、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)和/或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可以是三维阵列结构。本公开的实施例不仅可应用于其中电荷存储层包括导电浮栅的闪速存储器装置,还可应用于其中电荷存储层包括介电层的电荷撷取闪存(CTF)存储器装置。
存储器装置110被配置成接收从存储器控制器120传输的命令、地址等。存储器装置110被配置成访问存储器单元阵列中由地址选择的区域。换言之,存储器装置110可对由地址选择的区域执行对应于命令的操作。
例如,存储器装置110可执行编程操作、读取操作和擦除操作。在编程操作中,存储器装置110可将数据编程到由地址选择的区域。在读取操作中,存储器装置110可从由地址选择的区域读取数据。在擦除操作中,存储器装置110可擦除由地址选择的区域中存储的数据。
存储器控制器120可控制对存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。例如,后台操作可包括垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等中的至少一种。
存储器控制器120可根据从主机输入的请求来控制在存储器装置110内执行的操作。进一步地,存储器控制器120可独立地控制在存储器装置110内执行的后台操作,而不考虑从主机输入的请求。
此外,存储器控制器120和主机可彼此分离,或者存储器控制器120和主机可集成到一个装置中。在下文中,存储器控制器120和主机将被描述为彼此分离。
参照图1,存储器控制器120可包括存储器接口122、控制电路123等。存储器控制器120可进一步包括主机接口121等。
主机接口121可提供用于支持与主机的数据通信的接口。
控制电路123可通过主机接口121或者直接从主机接收命令,然后可执行处理所接收的命令的操作。
存储器接口122与存储器装置110联接,从而提供用于支持与存储器装置110的数据通信的接口。也就是说,存储器接口122响应于控制电路123的控制,使存储器装置110和存储器控制器120之间能够通信。
控制电路123控制由存储器装置110中的存储器控制器120执行的操作。例如,控制电路123可包括处理器124和工作存储器125中的至少一个。根据实施例,控制电路123可进一步包括错误检测和校正电路(ECC电路)126。
处理器124可运行或控制存储器控制器120的操作,并且可执行逻辑运算。处理器124可通过主机接口121与主机通信。处理器124可通过存储器接口122与存储器装置110通信。
处理器124可执行闪存转换层(FTL)的功能。处理器124可通过闪存转换层(FTL)将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。闪存转换层(FTL)可接收逻辑块地址(LBA),并且基于映射表来将所接收的逻辑块地址(LBA)转换成物理块地址(PBA)。
根据映射单元,存在闪存转换层的各种地址映射方法。代表性的地址映射方法可包括页面映射方法、块映射方法和混合映射方法。
处理器124被配置成使从主机接收的数据随机化。例如,处理器124可通过使用随机化种子来使从主机接收的数据随机化。经随机化的数据可存储在存储器装置110中。
处理器124被配置成在读取操作中使从存储器装置110接收的数据去随机化。例如,处理器124可通过使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化的数据可被输出到主机。
处理器124可运行固件以控制存储器控制器120的操作。为了控制存储器控制器120的操作并执行逻辑运算,处理器124可在启动过程期间运行(驱动)加载到工作存储器125的固件。
固件是待在存储器系统100中运行的程序,并且可包括各种功能层。
例如,固件可包括闪存转换层(FTL)、主机接口层(HIL)、闪存接口层(FIL)等中的至少一个。闪存转换层(FTL)执行从主机输入的逻辑地址与存储器装置110中使用的物理地址之间的转换功能。主机接口层(HIL)用于分析从主机输入的命令,以识别对作为存储装置的存储器系统100的请求,并将该命令传送到闪存转换层(FTL)。闪存接口层(FIL)将从闪存转换层(FTL)传递的命令传送到存储器装置110。
例如,这种固件可存储在存储器装置110中,然后被加载到工作存储器125。
工作存储器125可存储驱动存储器控制器120所必需的固件、程序代码、命令和数据。例如,作为易失性存储器,工作存储器125可包括SRAM(静态RAM)、DRAM(动态RAM)和SDRAM(同步DRAM)之中的至少一种。
错误检测和校正电路126可被配置成检测目标数据中的错误位,并通过使用错误校正码来校正检测到的错误位。目标数据可以是例如工作存储器125中存储的数据、从存储器装置110读取的数据等。
错误检测和校正电路126可通过使用错误校正码来解码数据。错误检测和校正电路126可利用各种代码解码器中的至少一种来实施。例如,解码器可执行非系统代码解码或系统代码解码。
例如,错误检测和校正电路126可以扇区为单位来检测每个读取数据的错误位。每个读取数据可由多个扇区构成。扇区可表示小于作为闪速存储器的读取单位的页面的数据单位。扇区可与地址相关联。
错误检测和校正电路126可以扇区为单位计算位错误率(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的上述组件121、122、124、125和126之外,还可添加至少一个其它的组件。
在下文中,将参照图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中包括的多个存储器单元中的每一个可存储至少1位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。再例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。又例如,存储器单元阵列210可包括多个存储器单元,多个存储器单元中的每一个存储5位或更多位数据。
参照图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。读取和写入电路230可在对存储器单元阵列210执行的读取操作期间作为读取电路来操作,并且可在对存储器单元阵列210执行的写入操作中作为写入电路来操作。
上述读取和写入电路230也可被称为包括多个页面缓冲器PB的页面缓冲器电路或数据寄存器电路。读取和写入电路230可包括在数据处理功能中使用的数据缓冲器。根据实施例,读取和写入电路230可进一步包括高速缓存缓冲器。
多个页面缓冲器PB可通过多个位线BL联接到存储器单元阵列210。多个页面缓冲器PB可在读取操作或编程验证操作中连续地向与存储器单元联接的位线BL供应感测电流,以感测存储器单元的阈值电压(Vth)。多个页面缓冲器PB可基于根据存储器单元的编程状态而改变的电流量来感测感测节点处的数据。多个页面缓冲器PB可锁存所感测的数据。
读取和写入电路230可响应于从控制逻辑240输出的页面缓冲器控制信号进行操作。
在读取操作中,读取和写入电路230感测存储器单元中存储的数据,并临时存储读取数据。读取和写入电路230将数据DATA输出到存储器装置110的输入/输出缓冲器。读取和写入电路230可包括列选择电路等,以及页面缓冲器PB或页面寄存器。
控制逻辑240可与地址解码器220、读取和写入电路230以及电压生成电路250联接。控制逻辑240可通过存储器装置110的输入/输出缓冲器接收命令CMD和控制信号CTRL。
控制逻辑240可被配置成响应于控制信号CTRL来控制存储器装置110的一般操作。例如,控制逻辑240可传送控制信号,用于调整与多个页面缓冲器PB联接的感测节点处的预充电电位电平。
控制逻辑240可控制读取和写入电路230,以执行对存储器单元阵列210的读取操作。电压生成电路250可响应于从控制逻辑240输出的电压生成电路控制信号,生成为读取操作而供应的读取电压Vread和通过电压Vpass。
图3是示意性地示出根据本公开的实施例的存储器装置110的每个存储块BLK的示例的示图。
参照图3,存储器装置110中包括的存储块BLK可被配置成例如在彼此相交的方向上设置的多个页面PG和多个串STR。
多个页面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和控制栅极CG,其中浮栅FG由电介质包围,并且栅极电压从字线WL施加到控制栅极CG。
在多个存储块BLK1至BLKz中的每一个中,可在两个最外字线之间更靠近读取和写入电路230的第一最外字线的外部另外设置第一选择线,也称为源极选择线或漏极选择线,并且可在两个最外字线之间的第二最外字线的外部另外设置第二选择线,也称为漏极选择线或源极选择线。
可在第一最外字线与第一选择线之间另外设置至少一个虚设字线。也可在第二最外字线与第二选择线之间另外设置至少一个虚设字线。
当存储器装置110具有如图3所示的存储块结构时,可基于页面来执行读取操作和编程操作(写入操作),并且可基于存储块来执行擦除操作。
图4是示出根据本公开的实施例的存储器装置110的字线WL和位线BL的结构的示例的示图。
参照图4,在存储器装置110中,存在聚集存储器单元MC的内核区域,以及对应于除内核区域之外的剩余区域并且支持存储器单元阵列210的操作的辅助区域。
内核区域可由页面PG和串STR来配置。在内核区域中,将多个字线WL1至WL9和多个位线BL设置成彼此相交。
多个字线WL1至WL9可与行解码器410联接,并且多个位线BL可与列解码器420联接。对应于读取和写入电路230的数据寄存器430可存在于多个位线BL和列解码器420之间。
多个字线WL1至WL9对应于多个页面PG。
例如,如图4所示,多个字线WL1至WL9中的每一个可对应于一个页面PG。在多个字线WL1至WL9中的每一个的大小较大的情况下,多个字线WL1至WL9中的每一个可对应于至少两个(例如,两个或四个)页面PG。页面PG可以是用于执行编程操作和读取操作的最小单位。在编程操作和读取操作中,可一起读取或编程相同页面PG中的所有存储器单元MC。
多个位线BL可与列解码器420联接,同时被识别为奇数编号的位线BL和偶数编号的位线BL。
为了访问存储器单元MC,首先,地址可经由输入/输出端子通过行解码器410和列解码器420输入到内核区域中,并且可指定目标存储器单元。指定目标存储器单元意为访问位于与行解码器410联接的字线WL1至WL9和与列解码器420联接的位线BL彼此相交的位置处的存储器单元MC,以将数据编程到存储器单元MC或从存储器单元MC读出所编程的数据。
被认为是第一方向(例如,X轴方向)上的页面PG的多个存储器单元通过被称为字线WL的公共线捆绑(联接)。在第二方向(例如,Y轴方向)上构成串STR的多个存储器单元通过被称为位线BL的公共线被捆绑(联接)。被共同捆绑意为相应的存储器单元MC通过相同的材料或相同的结构元件在结构上彼此联接,并且相同的电压通过相同的材料或相同的结构元件被同时施加到该存储器单元MC。因为串联联接的存储器单元MC,位于中间位置或最后位置的特定存储器单元可能受到由相同结构元件或在前存储器单元MC的电阻引起的电压降的影响,使得施加到第一存储器单元MC和最后存储器单元MC的电压的电平可能彼此略有不同。
在存储器装置110的数据输入/输出(I/O)操作期间,经由数据寄存器430对数据进行编程和读取。当延迟处理数据寄存器430中的数据时,在数据寄存器430传送数据之前,其它组件可能必须等待。当数据寄存器430的性能劣化时,存储器装置110的全部性能可能劣化。
参照图4的图示,一个串STR可包括多个晶体管TR1至TR9,它们独立地与不同的字线、即多个字线WL1至WL9联接。多个晶体管TR1至TR9中的每一个可对应于存储器单元MC中的每一个。如上所述,多个晶体管TR1至TR9可单独地包括控制栅极CG和浮动栅极FG。
多个字线WL1至WL9可包括两个最外字线WL1和WL9。第一选择线DSL可另外设置在第一最外字线WL1的外部,就两个最外字线WL1和WL9之间的信号路径而言,第一最外字线WL1最靠近数据寄存器430。第二选择线SSL可另外设置在两个最外字线WL1和WL9之间的第二最外字线WL9的外部。
由第一选择线DSL导通或关断的第一选择晶体管D-TR具有与第一选择线DSL联接的栅电极。第一选择晶体管D-TR不包括浮栅FG。由第二选择线SSL导通或关断的第二选择晶体管S-TR具有与第二选择线SSL联接的栅电极。第二选择晶体管S-TR不包括浮栅FG。
第一选择晶体管D-TR用作导通或关断相应的串STR和数据寄存器430之间的联接的开关。第二选择晶体管S-TR用作导通或关断相应的串STR和源极线SL之间的联接的开关。位于相应串STR的两端的第一选择晶体管D-TR和第二选择晶体管S-TR可用作联接和取消联接信号的网守。
为了在编程操作中在经由位线BL联接的目标存储器单元MC中捕获电子,存储器系统100可向第一选择晶体管D-TR的栅电极供应预定的导通电压Vcc以导通第一选择晶体管D-TR,并且向第二选择晶体管S-TR的栅电极供应预定的关断电压(例如,0V)以关断第二选择晶体管S-TR。
在读取操作或验证操作中,存储器系统100导通第一选择晶体管D-TR和第二选择晶体管S-TR两者。电流可通过相应的串STR流入对应于地的源极线SL,从而可测量位线BL的电压电平。在读取操作中,第一选择晶体管D-TR和第二选择晶体管S-TR的导通/关断定时之间可能存在差异。
在擦除操作中,存储器系统100可通过源极线SL向衬底供应预定电压(例如,+20V)。在擦除操作中,存储器系统100浮置第一选择晶体管D-TR和第二选择晶体管S-TR两者,从而提供无限的电阻。因此,第一选择晶体管D-TR和第二选择晶体管S-TR不工作。电子可根据浮栅FG和衬底之间的电位差移动。
图5示出了根据本公开的实施例的如何确定存储器系统100中垃圾收集的运行时间的示例。
存储器系统100中包括的存储器控制器120可基于包括从主机接收的至少一个写入命令的写入命令组WR_CMD_GRP的信息,确定用于执行垃圾收集的时间GC_TIME。
对于写入命令组WR_CMD_GRP中包括的每个写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、……、WR_CMD_N(其中N是自然数),写入命令组WR_CMD_GRP的信息可包括传输时间信息TR_TIME和写入大小信息WR_SIZE,其中传输时间信息TR_TIME指示主机传输写入命令的时间点,并且写入大小信息WR_SIZE指示写入命令的写入数据大小。
在下面的实施例中,传输时间信息TR_TIME可由A、B、C、……表示,并且每个传输时间信息TR_TIME的值可对应于特定的时间值。例如,传输时间信息TR_TIME B可对应于2019/05/07 13:11:12,传输时间信息TR_TIME C可对应于2019/05/07 13:11:14。
进一步地,在下面的实施例中,写入大小信息WR_SIZE可由特定的数值表示,并且写入大小信息WR_SIZE的单位可变化。例如,写入大小信息WR_SIZE的单位可以是页面(4KB或8KB)。
例如,在写入命令WR_CMD_1的情况下,传输时间信息TR_TIME可以是A,并且写入大小信息WR_SIZE可以是30。在写入命令WR_CMD_2的情况下,传输时间信息TR_TIME可以是B,并且写入大小信息WR_SIZE可以是20。在写入命令WR_CMD_3的情况下,传输时间信息TR_TIME可以是C,并且写入大小信息WR_SIZE可以是15。在写入命令WR_CMD_N的情况下,传输时间信息TR_TIME可以是X,并且写入大小信息WR_SIZE可以是40。
存储器控制器120可基于写入命令组WR_CMD_GRP的上述信息,动态地确定用于执行垃圾收集的时间GC_TIME。存储器控制器120可基于所确定的时间GC_TIME来运行垃圾收集。随着时间GC_TIME变得更长,可增加通过垃圾收集获得的空闲块的数量。
当存储器控制器120基于写入命令组WR_CMD_GRP的信息确定用于执行垃圾收集的时间GC_TIME时,存储器系统100可具有如下优点。
通常,可根据存储器装置110中包括的空闲存储块的数量来确定用于垃圾收集的时间。空闲存储块是一种可针对下一编程操作分配的存储块。
例如,当空闲存储块的数量等于或小于预设阈值时,存储器控制器120可运行垃圾收集以获得空闲存储块。在这种情况下,用于执行垃圾收集的时间可根据空闲存储块的数量而改变。
然而,当存储器控制器120仅基于空闲存储块的数量确定用于垃圾收集的时间时,当主机请求具有大量数据的写入操作时,可能会导致性能问题。
具体地,当主机在短时间内连续传输具有大量数据的多个写入命令时,因为空闲存储块的数量迅速减少,所以可运行垃圾收集。
通常,当存储器系统100处于空闲状态时,存储器控制器120运行垃圾收集以避免恶化性能,其中在空闲状态下,不处理从主机接收的命令。然而,如果如上所述从主机传输大量的写入命令,则存储器控制器120可能不会进入空闲状态,因为存储器控制器120需要处理相应的写入命令。因此,存储器控制器120在处理从主机接收的命令的同时运行垃圾收集。
当由于垃圾收集而在存储器装置110中运行内部写入操作时,用于处理从主机接收的写入命令的时间可能被延迟。然而,因为垃圾收集是在存储器系统100内独立执行的,所以位于存储器系统100外部的主机不能确定垃圾收集是否正在运行。因此,主机很可能确定写入命令的处理不是因为垃圾收集而是因为存储器系统100的写入性能劣化而被延迟。
因此,为了避免这种问题并尽可能稳定地保持写入性能,可根据从主机输入的写入命令所导致的工作负载来动态地改变用于垃圾收集的时间。
例如,当在预定时间内从主机输入的写入命令的数量小于预设值时,也就是当工作负载较轻时,存储器控制器120可增加用于执行垃圾收集的时间GC_TIME,因为延迟可能不是关键的,并且主机很可能不会经历由于垃圾收集而导致的写入性能劣化。通过这一点,存储器控制器120可预先获得空闲存储块,同时减少写入性能的劣化。
另一方面,当在预定时间内从主机输入的写入命令的数量大于或等于预设值时,也就是当工作负载较重时,存储器控制器120可减少用于执行垃圾收集的时间GC_TIME,因为延迟可能是关键的,并且主机很可能由于垃圾收集而经历写入性能的劣化。通过这一点,存储器控制器120可最小化主机所识别的写入性能的劣化。
当根据工作负载动态地确定用于垃圾收集的时间时,必须准确地估计或预测工作负载,以确保尽可能稳定地保持写入性能。因此,对于存储器控制器120而言,重要的是准确地估计或预测工作负载。
为了尽可能准确地估计或预测工作负载,存储器控制器120可分析和利用对应于多个写入命令的工作负载以供工作负载预测,而非分析单个写入命令。
当分析仅对应于单个写入命令的工作负载时,存储器控制器120可仅确定在特定时间点或特定情况/环境下的工作负载,因此存储器控制器120不能准确地确定用于预测工作负载的改变的历史信息。
例如,当主机临时传输请求写入大量数据的写入命令并且此后不再传输写入命令时,如果存储器控制器120仅使用相应的写入命令来预测工作负载,则工作负载可被预测为比实际工作负载更重。此外,如果存储器控制器120试图确定其中主机在预定时间内传输写入命令并且在该预定时间内仅接收到单个命令的模式,则因为存储器控制器将预测主机将不再传输另一写入命令,存储器控制器可估计或预测工作负载会更轻。
因此,在本公开的实施例中,存储器控制器120可基于包括多个写入命令的写入命令组WR_CMD_GRP的信息,有利地确定用于垃圾收集的时间GC_TIME。
可以不同地确定用于确定用于垃圾收集的时间GC_TIME的写入命令组WR_CMD_GRP。在下文中,将参照图6描述确定写入命令组WR_CMD_GRP的方法的示例。
图6是根据本公开的实施例的用于选择存储器系统100中的写入命令组WR_CMD_GRP的方法的示例。
参照图6,写入命令组WR_CMD_GRP可包括最近由主机传输的N个写入命令WR_CMD,其中N是自然数。
存储器控制器120可包括在写入命令组WR_CMD_GRP中由主机传输的N个写入命令,该N个写入命令在写入命令的传输时间信息TR_TIME和当前时间之间具有最小差值。
存储器控制器120在写入命令组WR_CMD_GRP中仅包括最近传输的写入命令的原因在于,从主机输入的命令越早,那些命令反映当前工作负载改变的可能性越小。
为了使存储器控制器120准确地确定最近由主机传输的N个写入命令WR_CMD(其中N是自然数),需要准确地确定每个写入命令的传输时间信息TR_TIME。
图7示出了根据本公开的实施例的用于确定存储器系统100中的每个写入命令的传输时间信息TR_TIME的方法的示例。
参照图7,写入命令组WR_CMD_GRP中包括的写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、……、WR_CMD_N中的每一个的传输时间信息TR_TIME可以是由主机生成的绝对时间信息。
例如,当主机向存储器控制器120传输写入命令WR_CMD_1时,主机可通过在写入命令WR_CMD_1中包括通过主机中包括的实时时钟(RTC)计算的绝对时间A(例如,2019/05/0419:12:15)来传输写入命令WR_CMD_1。
RTC是提供绝对时间信息的模块,并且可计算绝对时间信息,而无需来自外部的单独处理器的干预。RTC可包括对日期和小时/分钟/秒进行计数的电路和用于生成电路中使用的时钟的振荡器。
即使在不向主机供电的状态下,RTC电路也可计算时间信息。RTC电路可包括单独的电池,用于向对时间进行计数的电路供电。
当存储器控制器120从主机接收写入命令WR_CMD_1时,存储器控制器120可在写入命令组WR_CMD_GRP中包括写入命令WR_CMD_1。这种操作方法可类似地应用于其它写入命令WR_CMD_2、WR_CMD_3、……、WR_CMD_N。
写入命令组WR_CMD_GRP中包括的写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、……、WR_CMD_N中的每一个的传输时间信息TR_TIME不是由相对时间信息组成而是由绝对时间信息组成的原因如下。
在发生掉电(电源中断)或在预定时间内未从主机输入命令的情况下,可停用存储器系统100以减少功耗(例如,休眠)。
因此,在存储器系统100使用内部管理的相对时间信息的情况下,如果存储器系统100如上所述被停用,则存储器系统100不能反映停用时间。
换言之,当存储器系统100使用内部管理的相对时间信息时,存储器系统100可能不反映已经过了上述停用时间的时间。然而,需要在工作负载的计算中反映上述停用时间,作为未从主机传输写入命令期间的时间。
因此,当存储器系统100使用内部管理的相对时间信息时,对于写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、……、WR_CMD_N中的每一个,可能会降低传输时间信息TR_TIME的准确性。
因此,当主机能够准确地测量绝对时间并基于该绝对时间生成传输时间信息TR_TIME时,对于写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、……、WR_CMD_N中的每一个,可提高传输时间信息的准确性。
图8描述了根据本公开的实施例的确定存储器系统中每个写入命令的传输时间信息的方法的另一示例。
参照图8,可基于通过使相对时间信息REL_TIME与参考绝对时间信息REF_ABS_TIME同步而获得的结果值来生成传输时间信息TR_TIME,而非在主机中直接生成。
参考绝对时间信息REF_ABS_TIME可由主机生成。例如,参考绝对时间信息REF_ABS_TIME可由主机中包括的RTC电路生成。
存储器控制器120可接收由主机生成的参考绝对时间信息REF_ABS_TIME。
可以不同地确定存储器控制器120从主机接收参考绝对时间信息REF_ABS_TIME的时间点。例如,存储器控制器120可在每个预定时段接收该参考绝对时间信息REF_ABS_TIME。作为另一示例,当从睡眠模式唤醒时,存储器控制器120可接收参考绝对时间信息REF_ABS_TIME。
如上所述,存储器控制器120可使相对时间信息REL_TIME与参考绝对时间信息REF_ABS_TIME同步。
相对时间信息REL_TIME可在存储器控制器120中或者在存储器控制器120外部的单独模块(例如,振荡器)中生成。
当存储器控制器120掉电或进入睡眠模式时,可初始化该相对时间信息REL_TIME。
相对时间信息REL_TIME的格式可以各种方式来确定。例如,相对时间信息REL_TIME可以是每预定时间间隔(例如,1ms)增加的计数值。
在下文中,将描述存储器控制器120通过使相对时间信息REL_TIME与参考绝对时间信息REF_ABS_TIME同步来确定每个写入命令的传输时间信息TR_TIME的示例。
存储器控制器120可在启动之后从主机接收参考绝对时间信息REF_ABS_TIME2019/05/04 19:00:13。进一步地,在图8中,当存储器控制器120接收参考绝对时间信息REF_ABS_TIME时,相对时间信息REL_TIME的值为100,并且相对时间信息REL_TIME是每0.1秒增加1的计数值。
在这种情况下,存储器控制器120使参考绝对时间信息REF_ABS_TIME的值2019/05/04 19:00:13与相对时间信息REL_TIME的值100同步。
在图8中,在随后从主机传输写入命令WR_CMD_1时的时间点的相对时间信息REL_TIME为330。在这种情况下,存储器控制器120可确定在从作为参考绝对时间信息REF_ABS_TIME的值的2019/05/04 19:00:13起已经过(330-100)*0.1=23秒的时间点、也就是在2019/05/04 19:00:36传输写入命令WR_CMD_1。
随后,存储器控制器120进入睡眠模式,再次唤醒,然后从主机接收新的参考绝对时间信息REF_ABS_TIME 2019/05/04 19:02:31。进一步地,当存储器控制器120接收参考绝对时间信息REF_ABS_TIME时,相对时间信息REL_TIME的值为40。
在这种情况下,存储器控制器120使新的参考绝对时间信息REF_ABS_TIME的值2019/05/04 19:02:31与相对时间信息REL_TIME的值40同步。
在图8中,在随后从主机传输写入命令WR_CMD_2时的时间点的相对时间信息REL_TIME为190。在这种情况下,存储器控制器120可确定在从作为新的参考绝对时间信息REF_ABS_TIME的值的2019/05/04 19:02:31起已经过(190-40)*0.1=15秒的时间点,也就是在2019/05/04 19:02:46传输写入命令WR_CMD_2。
通过以上参照图8描述的方法,即使在主机未针对所有写入命令计算绝对时间的情况下,存储器控制器120也可针对由主机传输的每个写入命令来计算传输时间信息TR_TIME。
已经参考上述附图描述了生成写入命令组WR_CMD_GRP的信息的方法的实施例。
在下文中,将详细描述存储器控制器120存储上述写入命令组WR_CMD_GRP的信息的数据结构。
图9示出了根据本公开的实施例的存储器系统100中存储写入命令组WR_CMD_GRP的信息的条目缓冲器ENTRY_BUF的示例。
参照图9,写入命令组WR_CMD_GRP的信息可存储在包括多个条目的条目缓冲器ENTRY_BUF中。条目缓冲器ENTRY_BUF可存储在各个位置。例如,条目缓冲器ENTRY_BUF可存储在存储器控制器120中的工作存储器125中。
条目缓冲器ENTRY_BUF中包括的多个条目中的每一个可包括写入命令组WR_CMD_GRP中包括的写入命令中相应的一个的传输时间信息TR_TIME和写入大小信息WR_SIZE。
例如,在图9中,条目缓冲器ENTRY_BUF中存储的多个条目之中的条目ENTRY_1包括关于写入命令WR_CMD_1的传输时间信息TR_TIME A和写入大小信息WR_SIZE 30。条目ENTRY_2包括关于写入命令WR_CMD_2的传输时间信息TR_TIME B和写入大小信息WR_SIZE20。条目ENTRY_3包括关于写入命令WR_CMD_3的传输时间信息TR_TIME C和写入大小信息WR_SIZE 15。条目ENTRY_N包括关于写入命令WR_CMD_N的传输时间信息TR_TIME X和写入大小信息WR_SIZE 40。
上述条目缓冲器ENTRY_BUF可以各种方式来实现。
图10和图11详细示出了条目缓冲器ENTRY_BUF利用循环缓冲器实施的示例。
图10和图11是示出根据本公开的实施例的存储器系统100中的每个存储写入命令组的信息的条目缓冲器ENTRY_BUF的示例的示图。
参照图10,条目缓冲器ENTRY_BUF可包括循环缓冲器。
在条目缓冲器ENTRY_BUF中包括的条目之中,从由开始索引START_IDX指示的条目到由结束索引END_IDX指示的条目的条目中的每一个包括写入命令组WR_CMD_GRP中包括的相应写入命令的传输时间信息TR_TIME和写入大小信息WR_SIZE。剩余条目为空。
在新写入命令被添加到写入命令组WR_CMD_GRP的情况下,新写入命令的传输时间信息TR_TIME和写入大小信息WR_SIZE可存储在由紧接着结束索引END_IDX的索引指示的条目中。新结束索引END_IDX的值可以是紧接着当前结束索引END_IDX的索引。
在从写入命令组WR_CMD_GRP中擦除最早的写入命令的情况下,可擦除由开始索引START_IDX指示的条目的传输时间信息TR_TIME和写入大小信息WR_SIZE。新开始索引START_IDX的值可以是紧接着当前开始索引START_IDX的索引。
以这种方式,当新写入命令的传输时间信息TR_TIME和写入大小信息WR_SIZE被添加到条目缓冲器ENTRY_BUF,并且最早的写入命令的传输时间信息TR_TIME和写入大小信息WR_SIZE被从条目缓冲器ENTRY_BUF中擦除时,条目缓冲器ENTRY_BUF可存储关于最近由主机传输的N个写入命令的信息。
图11示出了上面参照图10描述的循环缓冲器利用线性缓冲器实施的示例。
在图11中,条目缓冲器ENTRY_BUF是由五个条目构成的循环缓冲器,并且各个条目的索引为0、1、2、3和4。为了实现循环缓冲器,在当前索引的值为4的情况下,确定下一索引的值不是4+1=5而是0。在这种情况下,开始索引START_IDX的值可大于结束索引END_IDX的值。
参照图11,开始索引START_IDX的值为2,并且结束索引END_IDX的值为1。此时,写入命令组WR_CMD_GRP的信息以条目索引2、3、4、0和1的顺序存储在条目缓冲器ENTRY_BUF中。
即,整个写入命令组WR_CMD_GRP的传输时间信息TR_TIME和写入数据大小WR_SIZE的值为{(C,15),(D,17),(E,41),(F,13),(G,3)}。
在实施例中,已经描述了写入命令组WR_CMD_GRP的配置和存储写入命令组WR_CMD_GRP的信息的方法。
在下文中,将描述基于上述写入命令组WR_CMD_GRP的信息来确定运行垃圾收集期间的时间GC_TIME的方法。
图12描述了根据本公开的实施例的基于存储器系统100中的写入命令组WR_CMD_GRP的信息来计算写入数据速度WR_SPEED的方法。
参照图12,可基于写入数据速度WR_SPEED来确定用于垃圾收集的时间GC_TIME,该写入数据速度WR_SPEED是基于写入命令组WR_CMD_GRP的全部或部分信息来计算的。
如果确定了当前的写入数据速度WR_SPEED,则存储器控制器120可预测未来的工作负载。
例如,如果当前的写入数据速度WR_SPEED较快,则因为主机很可能继续传输写入命令,存储器控制器120可确定工作负载在未来将变得较重。
相反,如果当前的写入数据速度WR_SPEED较慢,则因为主机不太可能随后传输写入命令,存储器控制器120可确定工作负载在未来将变得较轻。
此外,当存储器控制器120基于写入数据速度WR_SPEED确定运行垃圾收集期间的时间GC_TIME时,不仅可考虑写入数据速度WR_SPEED的大小,还可考虑写入数据速度WR_SPEED随时间的变化。
例如,当前计算的写入数据速度WR_SPEED为10。如果先前计算的写入数据速度WR_SPEED为8,则存储器控制器120可确定写入数据速度WR_SPEED趋于增加,因此工作负载在未来将变得更重。另一方面,如果先前计算的写入数据速度WR_SPEED为12,则存储器控制器120可确定写入数据速度WR_SPEED趋于降低,因此工作负载将来将变得更轻。
图13是描述根据本公开的实施例的存储器系统100中的写入数据速度WR_SPEED和用于垃圾收集的运行时间GC_TIME之间的关系的曲线图。
参照图13,随着写入数据速度WR_SPEED变得更快,用于垃圾收集的运行时间GC_TIME降低。这是因为,如上文参照图6所述,因为快速的写入数据速度WR_SPEED表示工作负载较重,所以必须减少垃圾收集的运行时间GC_TIME。另一方面,因为较慢的写入数据速度WR_SPEED表示工作负载较轻,所以必须增加垃圾收集的运行时间GC_TIME。
垃圾收集的运行时间GC_TIME和写入数据速度WR_SPEED之间的上述关系可由下面的等式1表示。
[等式1]
GC_TIME=PC*(1/(WR_SPEED))(PC:比例常数值)
在垃圾收集的运行时间GC_TIME由上述等式1确定的情况下,如果写入数据速度WR_SPEED接近0,则垃圾收集的运行时间GC_TIME可无限增加。
因此,存储器控制器120可随着写入数据速度WR_SPEED变得更快,减少垃圾收集的运行时间GC_TIME,并且可将垃圾收集的运行时间GC_TIME设置为小于或等于预设阈值垃圾收集时间TH_GC_TIME。
在这种情况下,垃圾收集的运行时间GC_TIME和写入数据速度WR_SPEED之间的关系可由下面的等式2表示。
[等式2]
GC_TIME=MIN(TH_GC_TIME,PC*(1/(WR_SPEED)))(PC:比例常数值)
在下文中,将参照图14和图15详细描述上述计算写入数据速度WR_SPEED的方法。
图14和图15是用于描述根据本公开的实施例的计算存储器系统100中的写入数据速度WR_SPEED的方法的示图。
参照图14和图15,可基于写入命令组WR_CMD_GRP的全部或部分信息中包括的传输时间信息TR_TIME的最大值和最小值之间的差以及写入命令组WR_CMD_GRP的全部或部分信息中包括的写入数据大小WR_SIZE的和来计算写入数据速度WR_SPEED。
在图14中,基于写入命令组WR_CMD_GRP中包括的四个写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、WR_CMD_4的信息来计算写入数据速度WR_SPEED。进一步地,四个写入命令WR_CMD_1、WR_CMD_2、WR_CMD_3、WR_CMD_4的信息存储在包括五个条目的条目缓冲器中。
在图14中,在时间T1,写入命令WR_CMD_1的传输时间信息TR_TIME A和写入数据大小WR_SIZE 10存储在条目缓冲器中。
在时间T2,写入命令WR_CMD_2的传输时间信息TR_TIME B和写入数据大小25存储在条目缓冲器中。
在时间T3,写入命令WR_CMD_3的传输时间信息TR_TIME C和写入数据大小WR_SIZE15存储在条目缓冲器中。
最后,在时间T4,写入命令WR_CMD_4的传输时间信息TR_TIME D和写入数据大小WR_SIZE 7存储在条目缓冲器中。
基于上述传输时间信息TR_TIME中的最大值D和最小值A之间的差D-A,以及上述写入数据大小WR_SIZE的和(10+25+15+7),写入数据速度WR_SPEED可如下确定。
WR_SPEED=(10+25+15+7)/(D-A)
在图15中,将基于作为循环缓冲器的条目缓冲器进行描述。
参照图15,在时间T1’,写入命令WR_CMD_1’的传输时间信息TR_TIME D和写入数据大小WR_SIZE 7存储在条目缓冲器中。传输时间信息TR_TIME和写入数据大小WR_SIZE存储在由条目缓冲器的索引3指示的条目中。
在时间T2’,写入命令WR_CMD_2’的传输时间信息TR_TIME E和写入数据大小33存储在条目缓冲器中。传输时间信息TR_TIME和写入数据大小WR_SIZE存储在由条目缓冲器的索引4指示的条目中。条目缓冲器的结束索引END_IDX从3改变为4。
在时间T3’,写入命令WR_CMD_3’的传输时间信息TR_TIME F和写入数据大小6存储在条目缓冲器中。此时,因为条目缓冲器已满,所以擦除条目缓冲器中由作为开始索引START_IDX的0所指示的条目中存储的传输时间信息TR_TIME A和写入数据大小WR_SIZE10。条目缓冲器的结束索引END_IDX从4改变为0,并且开始索引START_IDX从0改变为1。
最后,在时间T4’,写入命令WR_CMD_4’的传输时间信息TR_TIME G和写入数据大小WR_SIZE 19存储在条目缓冲器中。此时,因为条目缓冲器已满,所以擦除条目缓冲器中由作为开始索引START_IDX的1所指示的条目中存储的传输时间信息TR_TIME B和写入数据大小WR_SIZE 25。条目缓冲器的结束索引END_IDX从0改变为1,并且开始索引START_IDX从1改变为2。
基于上述传输时间信息TR_TIME中的最大值G和最小值C之间的差G-C,以及上述写入数据大小WR_SIZE的和(15+7+33+6+19),写入数据速度WR_SPEED可如下确定。
WR_SPEED=(15+7+33+6+19)/(G-C)
图16是根据本公开的实施例的用于操作存储器控制器120的方法的流程图。
用于操作存储器控制器120的方法可包括从主机接收至少一个写入命令(S1610)。
用于操作存储器控制器120的方法可包括基于包括从主机接收的至少一个写入命令的写入命令组WR_CMD_GRP的信息来确定运行垃圾收集期间的时间(S1620)。
如上参照图5所述,针对写入命令组WR_CMD_GRP中包括的每个写入命令,写入命令组WR_CMD_GRP的信息可包括指示主机传输写入命令的时间点的传输时间信息TR_TIME,以及指示写入命令的写入数据大小的写入大小信息WR_SIZE。上述传输时间信息TR_TIME可以是由主机生成的绝对时间信息。
进一步地,如上参照图6所述,写入命令组WR_CMD_GRP可包括最近由主机传输的N个写入命令,其中N是自然数。
如上参照图9所述,写入命令组WR_CMD_GRP的信息可存储在包括多个条目的条目缓冲器ENTRY_BUF中。条目缓冲器ENTRY_BUF中存储的多个条目中的每一个可包括写入命令组WR_CMD_GRP中包括的相应写入命令的传输时间信息TR_TIME和写入大小信息WR_SIZE。
此外,存储器控制器120的上述操作可由控制电路123控制,并且可以处理器124运行(驱动)其中编程有存储器控制器120的所有操作的固件的方式来执行。
图17示出了根据本公开的实施例的计算系统1700的示例。
参照图17,根据本公开的实施例的计算系统1700可包括电联接到系统总线1760的存储器系统100、用于控制计算系统1700的一般操作的中央处理单元(CPU)1710、用于存储与计算系统1700的操作相关的数据和信息的RAM 1720、用于向用户提供使用环境的UI/UX(用户接口/用户体验)模块1730、用于以有线和/或无线方式与外部装置通信的通信模块1740以及用于管理计算系统1700所使用的电力的电源管理模块1750。
计算系统1700可包括PC(个人计算机)、诸如智能手机和平板电脑的移动终端或者各种电子装置。
计算系统1700可进一步包括用于供应操作电压的电池,并且可进一步包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM等。对本领域技术人员将显而易见的是,计算系统1700可包括其它组件。
存储器系统100不仅可包括将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,而且还包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置以及嵌入式MMC(eMMC)装置的非易失性存储器中的装置。非易失性存储器可包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。另外,存储器系统100可被实现为各种类型的存储装置,并且可被安装在各种电子装置中。
从以上描述显而易见的是,根据本公开的实施例,可以最小化处理从主机传输的命令由于垃圾收集而被延迟的时间。
而且,根据本公开的实施例,可以确保稳定的写入性能。
进一步地,根据本公开的实施例,可以在空闲存储块的数量变得不足之前预先获得空闲存储块。
虽然已经出于说明的目的描述了本公开的示例性实施例,但本领域的技术人员将理解的是,在不脱离本公开的范围和精神的情况下,可进行各种修改、添加和替换。因此,上面和附图中公开的实施例应当仅在描述性意义上考虑,而不是用于限制技术范围。本公开的技术范围不受实施例和附图的限制。本公开的精神和范围应当由所附权利要求来解释,并且涵盖落入所附权利要求范围内的所有等同方案。
Claims (20)
1.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
存储器控制器,控制所述存储器装置,
其中所述存储器控制器基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间,并且
其中对于所述写入命令组中包括的每个写入命令,所述写入命令组的所述信息包括传输时间信息和写入大小信息,其中所述传输时间信息指示所述主机传输所述写入命令的时间点,并且所述写入大小信息指示所述写入命令的写入数据大小。
2.根据权利要求1所述的存储器系统,其中所述写入命令组包括最近由所述主机传输的N个写入命令,其中N是自然数。
3.根据权利要求1所述的存储器系统,其中所述传输时间信息是由所述主机生成的绝对时间信息。
4.根据权利要求1所述的存储器系统,其中所述传输时间信息是基于通过使相对时间信息与由所述主机生成的参考绝对时间信息同步而获得的结果值来生成的。
5.根据权利要求1所述的存储器系统,
其中所述写入命令组的所述信息存储在包括多个条目的条目缓冲器中,并且
其中所述多个条目中的每一个包括所述写入命令组中包括的相应写入命令的传输时间信息和写入大小信息。
6.根据权利要求5所述的存储器系统,其中所述条目缓冲器是循环缓冲器。
7.根据权利要求1所述的存储器系统,其中所述用于垃圾收集的时间是基于写入数据速度来确定的,所述写入数据速度是基于所述写入命令组的全部或部分信息来计算的。
8.根据权利要求7所述的存储器系统,其中所述写入数据速度越快,所述用于垃圾收集的时间减少得越多。
9.根据权利要求7所述的存储器系统,其中基于所述写入命令组的全部或部分信息中包括的传输时间信息的最大值和最小值之间的差以及所述写入命令组的全部或部分信息中包括的写入数据大小的和来计算所述写入数据速度。
10.一种存储器控制器,包括:
存储器接口,与包括多个存储块的存储器装置通信;以及
控制电路,控制所述存储器装置,
其中所述控制电路基于包括从主机输入的多个写入命令的写入命令组的信息来确定用于垃圾收集的时间,并且
其中对于所述写入命令组中包括的每个写入命令,所述写入命令组的所述信息包括传输时间信息和写入大小信息,其中所述传输时间信息指示所述主机传输所述写入命令的时间点,并且所述写入大小信息指示所述写入命令的写入数据大小。
11.根据权利要求10所述的存储器控制器,其中所述写入命令组包括最近由所述主机传输的N个写入命令,其中N是自然数。
12.根据权利要求10所述的存储器控制器,其中所述传输时间信息是由所述主机生成的绝对时间信息。
13.根据权利要求10所述的存储器控制器,其中所述传输时间信息是基于通过使相对时间信息与由所述主机生成的参考绝对时间信息同步而获得的结果值来生成的。
14.根据权利要求10所述的存储器控制器,
其中所述写入命令组的所述信息存储在包括多个条目的条目缓冲器中,并且
其中所述多个条目中的每一个包括所述写入命令组中包括的相应写入命令的传输时间信息和写入大小信息。
15.根据权利要求14所述的存储器控制器,其中所述条目缓冲器是循环缓冲器。
16.根据权利要求10所述的存储器控制器,其中所述用于垃圾收集的时间是基于写入数据速度来确定的,所述写入数据速度是基于所述写入命令组的全部或部分信息来计算的。
17.根据权利要求16所述的存储器控制器,其中所述写入数据速度越快,所述用于垃圾收集的时间减少得越多。
18.根据权利要求16所述的存储器控制器,其中基于所述写入命令组的全部或部分信息中包括的传输时间信息的最大值和最小值之间的差以及所述写入命令组的全部或部分信息中包括的写入数据大小的和来计算所述写入数据速度。
19.一种用于操作存储器控制器的方法,所述存储器控制器控制存储器装置,所述方法包括:
接收从主机输入的多个写入命令;并且
基于包括从所述主机输入的多个写入命令的写入命令组的信息,确定用于垃圾收集的时间,
其中对于所述写入命令组中包括的每个写入命令,所述写入命令组的所述信息包括传输时间信息和写入大小信息,其中所述传输时间信息指示所述主机传输所述写入命令的时间点,并且所述写入大小信息指示所述写入命令的写入数据大小。
20.根据权利要求19所述的方法,其中所述写入命令组包括最近由所述主机传输的N个写入命令,其中N是自然数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190081025A KR102653659B1 (ko) | 2019-07-05 | 2019-07-05 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR10-2019-0081025 | 2019-07-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181283A true CN112181283A (zh) | 2021-01-05 |
Family
ID=73919507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010114372.2A Withdrawn CN112181283A (zh) | 2019-07-05 | 2020-02-25 | 存储器系统、存储器控制器及操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11061815B2 (zh) |
KR (1) | KR102653659B1 (zh) |
CN (1) | CN112181283A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201113A (zh) * | 2021-12-13 | 2022-03-18 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022007191A (ja) * | 2020-06-25 | 2022-01-13 | キオクシア株式会社 | ストレージデバイス、ストレージシステム及び制御方法 |
US20230418494A1 (en) * | 2022-06-28 | 2023-12-28 | Micron Technology, Inc. | Scalability of data cursors in memory subsystems while reducing resource requirements |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060161724A1 (en) * | 2005-01-20 | 2006-07-20 | Bennett Alan D | Scheduling of housekeeping operations in flash memory systems |
US8364918B1 (en) * | 2007-04-06 | 2013-01-29 | Marvell International Ltd. | Sensed opportunistic garbage collection in memory components |
KR101826140B1 (ko) * | 2011-08-04 | 2018-03-22 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템 |
KR101412885B1 (ko) * | 2012-03-26 | 2014-06-26 | 서울대학교산학협력단 | 모드 설정 및 구분자를 이용하여 저장 매체에서의 영속화를 제어하는 방법 및 그 스토리지 시스템 |
KR102330391B1 (ko) * | 2014-09-11 | 2021-11-24 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 가비지 컬렉션 방법 |
JP2016122227A (ja) * | 2014-12-24 | 2016-07-07 | 株式会社東芝 | メモリシステムおよび情報処理システム |
KR20160078611A (ko) * | 2014-12-24 | 2016-07-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
KR101718888B1 (ko) | 2015-09-22 | 2017-04-04 | 서울대학교산학협력단 | 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
KR20180062247A (ko) | 2016-11-30 | 2018-06-08 | 삼성전자주식회사 | 효율적인 버퍼 할당을 수행하는 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR102009469B1 (ko) * | 2017-07-24 | 2019-08-09 | 주식회사 제이투씨 | 데이터 처리 장치 및 방법 |
US11030094B2 (en) * | 2018-07-31 | 2021-06-08 | SK Hynix Inc. | Apparatus and method for performing garbage collection by predicting required time |
US11288185B2 (en) * | 2019-01-03 | 2022-03-29 | Silicon Motion, Inc. | Method and computer program product for performing data writes into a flash memory |
-
2019
- 2019-07-05 KR KR1020190081025A patent/KR102653659B1/ko active IP Right Grant
-
2020
- 2020-01-28 US US16/774,287 patent/US11061815B2/en active Active
- 2020-02-25 CN CN202010114372.2A patent/CN112181283A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201113A (zh) * | 2021-12-13 | 2022-03-18 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
CN114201113B (zh) * | 2021-12-13 | 2023-06-02 | 建信金融科技有限责任公司 | 多对象存储桶的选择方法、装置及处理器 |
Also Published As
Publication number | Publication date |
---|---|
US20210004324A1 (en) | 2021-01-07 |
KR20210004503A (ko) | 2021-01-13 |
KR102653659B1 (ko) | 2024-04-03 |
US11061815B2 (en) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061815B2 (en) | Memory system, memory controller and operating method | |
CN114863962A (zh) | 存储器系统及其操作方法 | |
KR20210079549A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US20220114054A1 (en) | Memory system and operating method thereof | |
US11960888B2 (en) | Memory system, memory controller, and method for operating memory system | |
KR20210143387A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR20210041233A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
CN115952115A (zh) | 基于融合链表控制同步操作的存储器控制器及其操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器系统及其操作方法 | |
KR20210071314A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US11755248B2 (en) | Memory system and operating method of memory system | |
US11954349B2 (en) | Memory system for executing a target operation based on a program state of a super memory block and operating method thereof | |
US11237767B2 (en) | Memory system, memory controller and method for operating memory controller | |
US11803322B2 (en) | Memory system and operating method supporting fast boot using host memory buffer and default enabled information | |
US11404137B1 (en) | Memory system and operating method of memory system | |
CN112083874B (zh) | 存储器系统、存储器控制器和操作存储器控制器的方法 | |
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 | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
US20220058125A1 (en) | Memory system, memory controller and method for operating memory system | |
KR20220163661A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20230094588A (ko) | 복수의 존들에 대응하는 데이터를 관리하는 메모리 시스템 및 그 방법 | |
KR20230011595A (ko) | 시스템 및 시스템의 동작 방법 | |
KR20220046221A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
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: 20210105 |
|
WW01 | Invention patent application withdrawn after publication |