CN113900584A - 存储器***、存储器控制器以及操作存储器***的方法 - Google Patents
存储器***、存储器控制器以及操作存储器***的方法 Download PDFInfo
- Publication number
- CN113900584A CN113900584A CN202110269956.1A CN202110269956A CN113900584A CN 113900584 A CN113900584 A CN 113900584A CN 202110269956 A CN202110269956 A CN 202110269956A CN 113900584 A CN113900584 A CN 113900584A
- Authority
- CN
- China
- Prior art keywords
- log
- memory
- cache
- log information
- data
- 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
- 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/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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/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
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Memory System Of A Hierarchy Structure (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种存储器***、存储器控制器以及操作存储器***的方法。存储器***可以通过向待写入的每个数据分配区中最近写入的地址之后的地址,控制存储器装置将数据存储到存储器装置中的存储块的区中;将日志信息存储在日志高速缓存中,该日志信息包括逻辑地址与一个或多个区中的一个的物理地址之间的映射信息;当一个或多个区之中的目标区的映射信息被更新时,搜索与目标为写入数据的目标区相对应的日志信息;并且用包括更新后的映射信息的日志信息来替换与目标区相对应的日志信息。
Description
相关申请的交叉引用
本专利文件要求于2020年7月6日提交的、申请号为10-2020-0082517的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的实施例涉及一种存储器***、存储器控制器以及操作存储器***的方法。
背景技术
存储器***包括数据存储装置,该数据存储装置基于来自诸如计算机、服务器、智能电话、平板PC或其它电子装置的主机的请求来存储数据。存储器***的示例涵盖从传统的基于磁盘的硬盘驱动器(HDD)到基于半导体的数据存储装置,诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收的命令运行命令或控制对存储器***中的存储器装置的读取/写入/擦除操作。存储器控制器可以用于运行固件操作,该固件操作用于执行用于控制这种操作的逻辑运算。
存储器***存储与从主机接收的逻辑地址和该逻辑地址所映射到的存储器装置的实际物理地址之间的映射信息的变化相关联的信息。这种信息可以在读取、写入或消除数据的进程中通过日志信息生成,以在存储器***突然断电(SPO)的情况下保护这种映射信息。当所存储的日志信息的量增加并达到预定阈值水平时,存储器***可以将所存储的日志信息写入存储器装置以反映存储器装置中的映射信息的变化,并且在将日志信息写入存储器装置的同时,主机所请求的写入操作被挂起。因此,对存储器装置进行日志信息的频繁写入操作可能导致***性能的下降。
发明内容
本专利文件中公开的技术可以在所公开技术的各个实施例中实施,以提供一种能够降低将日志信息写入存储器装置的频率的存储器***、存储器控制器以及操作存储器***的方法。
进一步地,所公开技术的实施例可以提供一种能够提高主机所请求的写入操作的性能的存储器***、存储器控制器以及操作存储器***的方法。
在所公开技术的一方面,可以提供一种存储器***,包括:存储器装置,包括用于存储数据的存储器单元,并且可操作以对一个或多个存储器单元执行操作,该操作包括用于读取一个或多个存储器单元中存储的数据的读取操作、用于将新数据写入一个或多个存储器单元中的编程操作或用于删除一个或多个存储器单元中所存储数据的擦除操作;以及存储器控制器,与存储器装置通信并被配置为控制存储器装置执行操作。
存储器控制器可以通过向待写入的每个数据分配区中最近写入的地址之后的地址,控制存储器装置将数据存储到存储器装置中的存储块的区中,其中存储块的区拆分自存储器装置中的命名空间。
存储器控制器可以将日志信息存储在日志高速缓存中,该日志信息包括逻辑地址与一个或多个区中的一个的物理地址之间的映射信息。
当一个或多个区之中的目标区的映射信息被更新时,存储器控制器可以在日志高速缓存中搜索与目标为写入数据的目标区相对应的日志信息。
存储器控制器可以用包括更新后的映射信息的日志信息来替换与目标区相对应的日志信息。
与目标区相对应的日志信息可以包括指示用于将数据写入目标区的地址的写入指针。
存储器控制器可以以写入指针的值增加的顺序(sequence)来更新写入指针。
当在日志高速缓存中搜索与目标区相对应的日志信息时,存储器控制器可以以数据存储事件的时间倒序搜索高速缓存在日志高速缓存中的一条或多条日志信息。
当待另外存储在日志高速缓存中的信息的条数小于或等于第一阈值时,存储器控制器可以从日志高速缓存中逐出高速缓存在日志高速缓存中的所有日志信息条。
存储器控制器可以将从日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器,并且当待另外存储在日志缓冲器中的日志信息的条数小于或等于第二阈值时,将日志缓冲器中存储的所有日志信息条写入存储器装置。
日志高速缓存的大小可以与一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
根据所公开技术的另一方面,可以提供一种存储器控制器,该存储器控制器包括与存储器装置通信的存储器接口,以及通过存储器接口与存储器装置通信的处理器。
处理器可以通过向待写入的每个数据分配区中最近写入的地址之后的地址,控制存储器装置将数据存储到存储器装置中的存储块的区中,其中存储块的区拆分自存储器装置中的命名空间。
处理器可以将日志信息存储在日志高速缓存中,该日志信息包括逻辑地址与一个或多个区中的一个的物理地址之间的映射信息。
当一个或多个区之中的目标区的映射信息被更新时,处理器可以在日志高速缓存中搜索与目标为写入数据的目标区相对应的日志信息。
处理器可以用包括更新后的映射信息的日志信息来替换与目标区相对应的日志信息。
与目标区相对应的日志信息可以包括指示用于将数据写入目标区的地址的写入指针。
处理器可以以写入指针的值增加的顺序来更新写入指针。
当搜索与目标区相对应的日志信息时,处理器可以以时间倒序搜索高速缓存在日志高速缓存中的一条或多条日志信息。
当可以另外存储在日志高速缓存中的日志信息的条数小于或等于第一阈值时,处理器可以从日志高速缓存中逐出高速缓存在日志高速缓存中的所有日志信息条。
处理器可以将从日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器,并且当待另外存储在日志缓冲器中的日志信息的条数小于或等于第二阈值时,将日志缓冲器中存储的所有日志信息条写入存储器装置。
日志高速缓存的大小可以与一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
根据所公开技术的另一方面,可以提供一种操作包括存储器装置的存储器***的方法。
该方法可以包括:通过向待写入的每个数据分配区中最近写入的地址之后的地址,控制存储器装置将数据存储到存储器装置中的存储块的区中,其中存储块的区拆分自存储器装置中的命名空间。
该方法可以包括:将日志信息存储在日志高速缓存中,该日志信息包括逻辑地址与一个或多个区中的一个的物理地址之间的映射信息。
该方法可以包括:当一个或多个区之中的目标区的映射信息被更新时,在日志高速缓存中搜索与目标为写入数据的目标区相对应的日志信息。搜索与目标区相对应的日志信息可以包括:以数据存储事件的时间倒序搜索高速缓存在日志高速缓存中的一条或多条日志信息。
该方法可以包括:用包括更新后的映射信息的日志信息来替换与目标区相对应的日志信息。
与目标区相对应的日志信息可以包括指示用于将数据写入目标区的地址的写入指针。可以以写入指针的值增加的顺序来更新写入指针。
该方法可以进一步包括:当待另外存储在日志高速缓存中的信息的条数小于或等于第一阈值时,从日志高速缓存中逐出高速缓存在日志高速缓存中的所有日志信息条。
该方法可以进一步包括:将从日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器,并且当待另外存储在日志缓冲器中的日志信息的条数小于或等于第二阈值时,将日志缓冲器中存储的所有日志信息条写入存储器装置。
日志高速缓存的大小可以与一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
基于所公开技术的实施例,可以降低将日志信息写入存储器装置的频率。
进一步地,基于所公开技术的实施例,可以提高主机所请求的写入操作的性能。
附图说明
图1是示出基于所公开技术的实施例的存储器***的配置的示意图。
图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
图3是示出基于所公开技术的实施例的存储器装置的字线和位线的结构的示图。
图4是示意性地示出基于所公开技术的一些实施例的存储器***的示图。
图5是示出基于所公开技术的一些实施例的存储器***在日志高速缓存中搜索日志信息的操作的示图。
图6是示出基于所公开技术的一些实施例的存储器***用日志高速缓存中的新日志信息替换现有日志信息的操作的示图。
图7是示出基于所公开技术的一些实施例的日志信息的示例的示图。
图8是示出基于所公开技术的实施例的存储器***更新写入指针的操作的示图。
图9是示出基于所公开技术的一些实施例的存储器***在日志高速缓存中搜索日志信息的次序的示例的示图。
图10是示出基于所公开技术的一些实施例的存储器***逐出高速缓存在日志高速缓存中的所有日志信息的操作的示图。
图11是示出根据所公开技术的一些实施例的存储器***将从日志高速缓存中逐出的日志信息存储在日志缓冲器中的操作的示图。
图12是示出基于所公开技术的一些实施例的存储器***将日志缓冲器中存储的日志信息写入存储器装置的操作的示图。
图13是示出基于所公开技术的一些实施例的开放区的数量的最大值与日志高速缓存的大小之间的关系的示图。
图14是示出基于所公开技术的一些实施例的操作存储器***的方法的流程图。
图15是示出基于所公开技术的一些实施例的计算***的配置的示图。
具体实施方式
在下文中,将参照附图详细描述所公开技术的实施例。
图1是示出基于所公开技术的实施例的存储器***100的示意性配置的示图。
在一些实施方案中,存储器***100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块,每个存储块包括存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括,例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110中的存储器单元用于存储数据,并且可以布置在存储器单元阵列中。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在NAND闪速存储器装置的典型实施方案中,存储器单元的页面是可以被编程或写入的最小存储单位,并且存储器单元中存储的数据可以以块级(block level)进行擦除。
在一些实施方案中,存储器装置110可以被实施为诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率***(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移扭矩随机存取存储器(STT-RAM)。
存储器装置110可以以三维阵列结构来实施。所公开技术的一些实施例可应用于具有电荷存储层的任何类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮栅。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(CTF)。
存储器装置110可以被配置为从存储器控制器120接收命令和地址,以访问存储器单元阵列的使用该地址选择的区域。即,存储器装置110可以对存储器装置的存储器区域执行与所接收的命令相对应的操作,该存储器区域具有与所接收的来自存储器控制器120的地址相对应的物理地址。
在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
存储器控制器120可以控制对存储器装置110执行的写入操作(编程操作)、读取操作、擦除操作和后台操作。例如,后台操作可以包括诸如以下的被实施为优化存储器装置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可以被配置为向存储器装置110和存储器控制器120提供接口,以使存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
控制电路123可以被配置为通过存储器控制器120来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以用于执行与闪存转换层(FTL)相关联的操作,以有效地管理对存储器***100的存储器操作。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA,并且通过使用映射表将LBA转换为PBA。
基于映射单位,FTL可以采用各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置为对从主机接收的数据进行随机化,以将经随机化的数据写入存储器单元阵列。例如,处理器124可以通过使用随机化种子来对从主机接收的数据进行随机化。经随机化的数据被提供到存储器装置110并被写入存储器单元阵列。
处理器124可以被配置为在读取操作期间对从存储器装置110接收的数据进行去随机化。例如,处理器124可以通过使用去随机化种子来对从存储器装置110接收的数据进行去随机化。经去随机化的数据可以被输出到主机HOST。
处理器124可以运行固件(FW)以控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑运算,可以在启动期间运行(驱动)被加载到工作存储器125中的固件。
固件是指存储在某个非易失性存储器上的程序或软件,并且在存储器***100内部运行。
在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括以下中的至少一个:闪存转换层(FTL),被配置为将主机HOST请求中的逻辑地址转换为存储器装置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可以基于扇区来检测一个或多个错误位。即,每条读取数据可以包括多个扇区。在本专利文件中,扇区可以指小于闪速存储器的读取单位(即,页面)的数据单位。构成每条读取数据的扇区可以基于地址进行映射。
在一些实施方案中,错误检测/校正电路126可以逐个扇区地计算误码率(BER),并且确定数据中的错误位的数量是否在错误校正能力之内。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应扇区中的错误位是不可校正的,并且将相应扇区标记为“失败”。如果BER小于或等于参考值,则错误检测/校正电路126可以确定相应的扇区是可校正的,或者可以将相应的扇区标记为“通过”。
错误检测/校正电路126可以对所有的读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以前进到下一个扇区,以检查对下一个扇区是否需要错误校正操作。在以这种方式完成对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中的哪个扇区被认为不可校正的信息。错误检测/校正电路126可以将这种信息(例如,不可校正位的地址)提供到处理器124。
存储器***100还可以包括总线127,以在存储器控制器120的组成元件121、122、124、125和126(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)之间提供通道。总线127可以包括,例如用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
作为示例,图1示出存储器控制器120的上述组成元件121、122、124、125和126。注意的是,可以省略附图所示的那些元件中的一些,或者可以将存储器控制器120的上述组成元件121、122、124、125和126中的一些集成到单个元件中。另外,在一些实施方案中,可以对存储器控制器120的上述组成元件添加一个或多个其它组成元件。
图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
在一些实施方案中,基于所公开技术的实施例的存储器装置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中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列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感测存储器单元的电压值,并且读出该电压值作为数据。读取/写入电路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,该晶体管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可以连接到行解码器310。位线BL可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多个位线BL和列解码器320之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,多个字线WL1至WL9中的每一个可以对应于如图3所示的一个页面PG。当多个字线WL1至WL9中的每一个具有较大的大小时,多个字线WL1至WL9中的每一个可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是编程操作和读取操作中的最小单位,并且当进行编程操作和读取操作时,相同页面PG内的所有存储器单元MC可以同时执行操作。
多个位线BL可以连接到列解码器320。在一些实施方案中,可以将多个位线BL划分为奇数位线BL和偶数位线BL,使得一对奇数位线和偶数位线共同联接到列解码器320。
在访问存储器单元MC时,可以使用行解码器310和列解码器320基于地址来定位期望的存储器单元。
在一些实施方案中,因为由存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器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相比,该第一最外字线WL1更靠近数据寄存器330并具有更短的信号路径。第二选择线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向第一选择晶体管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两者浮置。因此,所施加的擦除电压可以将电荷从所选择的存储器单元的浮栅FG中移除。
图4是示意性地示出基于所公开技术的一些实施例的存储器***100的示图。
参照图4,存储器***100的存储器控制器120可以将存储器装置110中包括的命名空间(NS)拆分为一个或多个区。
当包括存储器装置110的存储块的数据存储空间被拆分为多个诸如逻辑块的逻辑存储器空间时,命名空间(NS)指每个逻辑空间。存储器装置110可以包括一个或多个命名空间,并且每个命名空间可以支持各种大小和保护类型。
主机可以配置每个命名空间的大小或保护类型。主机可以识别各个命名空间作为不同的逻辑区域(或分区)。主机可以指示存储器***100分别格式化不同的命名空间。
在图4中,存储器控制器120可以将命名空间(NS)拆分为n个区Z1、Z2、Z3、…Zn(n是自然数)。每个区可以包括存储器装置110中包括的存储块中的一个或多个。
当将数据写入每个区时,存储器控制器120可以控制存储器装置110顺序地写入数据。即,可以将数据写入该区中最近写入的地址之后的地址。例如,当区的起始地址为0,结束地址为200,并且最近的数据被写入地址100时,下一个数据被写入地址101,而不是被写入另一地址。
存储器控制器120可以将包括n个区中的一个的映射信息(MAP_INFO)的日志信息高速缓存在日志高速缓存(JNL_CACHE)中。映射信息(MAP_INFO)用于将主机的逻辑地址映射到区的物理地址(PA)。例如,映射信息(MAP_INFO)可以包括映射表以指示每个逻辑地址映射到物理地址中的哪一个。
参照图4,存储器控制器120可以将包括第一区(Z1)的映射信息(MAP_INFO)的日志信息1(J1)高速缓存在日志高速缓存(JNL_CACHE)中。存储器控制器120可以将包括第二区(Z2)的映射信息(MAP_INFO)的第二日志信息(J2)高速缓存在日志高速缓存(JNL_CACHE)中。存储器控制器120可以将包括第三区(Z3)的映射信息(MAP_INFO)的第三日志信息(J3)高速缓存在日志高速缓存(JNL_CACHE)中。
另一方面,当一个区的映射信息没有变化时,或者当所有变化被写入存储器装置110时,存储器控制器120可以不将相应区的日志信息高速缓存在日志高速缓存(JNL_CACHE)中。例如,当第n区(Zn)的映射信息(MAP_INFO)没有变化时,存储器控制器120可以不将第n区(Zn)的日志信息高速缓存在日志高速缓存(JNL_CACHE)中。
在一些实施方案中,日志高速缓存(JNL_CACHE)可以位于存储器控制器120中包括的工作存储器125中,或者位于存储器控制器120中包括的单独的易失性存储器中。例如,日志高速缓存(JNL_CACHE)可以位于工作存储器125的SRAM中,或者位于单独的DTCM中。
图5是示出基于所公开技术的一些实施例的存储器***100在日志高速缓存(JNL_CACHE)中搜索日志信息的操作的示图。
参照图5,当n个区之中的一个目标区的映射信息(MAP_INFO)被更新时,存储器***100的存储器控制器120可以在高速缓存反映更新后的映射信息(MAP_INFO)的日志信息之前,在日志高速缓存(JNL_CACHE)中搜索与目标区相对应的日志信息。在此,术语“目标区”可以指示目标为用于执行某些操作的区(例如,目标为更新映射信息的区、目标为被搜索的区、目标为执行存储器操作的区)。
在下文给出的示例中,假设目标区是n个区中的第一区(Z1)。
在图5中,假设将数据写入第一区(Z1)时,更新映射信息(MAP_INFO)以指示逻辑地址(LA')被映射到最近写入的数据的物理地址(PA')。在这种情况下,存储器控制器120可以将指示逻辑地址(LA')被映射到物理地址(PA')的映射信息存储在日志信息中。
在图5中,存储器控制器120可以在日志高速缓存(JNL_CACHE)中搜索日志信息1(J1),该日志信息1(J1)是与第一区(Z1)相对应的日志信息。存储器控制器120可以在日志高速缓存(JNL_CACHE)中搜索与第一区(Z1)相对应的日志信息,如将在下文进行讨论的。
例如,存储器控制器120可以从日志高速缓存(JNL_CACHE)的起始地址或结束地址起顺序地搜索与第一区(Z1)相对应的日志信息。在另一示例中,存储器控制器120可以基于与第一区(Z1)相对应的日志信息被高速缓存在日志高速缓存(JNL_CACHE)中的时间来搜索该日志信息。
图6是示出基于所公开技术的一些实施例的存储器***100用日志高速缓存(JNL_CACHE)中的新日志信息替换现有日志信息的操作的示图。
参照图6,当在日志高速缓存(JNL_CACHE)中对日志信息1(J1)(与第一区(Z1)相对应的日志信息)的搜索操作成功时,存储器控制器120可以用日志信息1'(J1')来替换上述搜索操作中找到的日志信息1(J1)。日志信息1'(J1')中包括的映射信息(MAP_INFO)可以指示参照图5描述的逻辑地址(LA')被映射到物理地址(PA')。
当存储器控制器120将与第一区(Z1)相对应的日志信息从日志信息1(J1)更改为日志信息1'(J1')时,高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的条数没有变化。因此,因为即使在重复更新映射信息(MAP_INFO)的情况下,高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的条数也不会迅速增加,所以将高速缓存在日志高速缓存(JNL_CACHE)中的日志信息写入存储器装置110的频率降低。因此,因为由于将日志信息写入存储器装置110的操作而导致阻止写入从主机接收的数据的请求的频率降低,所以存储器***100可以提高主机所请求的写入操作的性能。
另一方面,当在日志高速缓存(JNL_CACHE)中对日志信息1(J1)(与第一区(Z1)相对应的日志信息)的搜索失败时,存储器控制器120可以在日志高速缓存(JNL_CACHE)中添加与第一区(Z1)相对应的新日志信息。在这种情况下,高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的条数增加1,但是此后当与第一区(Z1)相对应的映射信息被连续更新时,高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的条数没有变化。因此,高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的条数不会迅速增加。
图7是示出基于所公开技术的实施例的日志信息的示例的示图。
参照图7,当目标区是第一区(Z1)并且数据被写入第一区(Z1)时,日志信息1(J1)(与第一区(Z1)相对应的日志信息)可以包括写入指针(WR_PTR),该写入指针(WR_PTR)指示写入第一区(Z1)的数据的地址。
如参照图4所述,当将数据写入第一区(Z1)时,可以顺序地写入数据。因此,日志信息1(J1)中包括的写入指针(WR_PTR)可以指示一个地址。另外,如图7所示,写入指针(WR_PTR)可以被包括在的映射信息(MAP_INFO)中。
写入指针(WR_PTR)可以指示第一区(Z1)的起始地址和结束地址之间的地址。从第一区(Z1)的起始地址到写入指针(WR_PTR)所指示的地址的区域是已经顺序地写入了数据并且其中无法写入新数据的区域。另一方面,从写入指针(WR_PTR)指示的地址到第一区(Z1)的结束地址的区域是没有写入数据的空闲区域,因此可以在该空闲区域中写入新数据。
图8是示出基于所公开技术的一些实施例的存储器***100更新写入指针(WR_PTR)的操作的示图。
参照图8,存储器***100的存储器控制器120可以以写入指针(WR_PTR)的值增加的顺序来更新写入指针(WR_PTR)。即,存储器控制器120可以仅以写入数据时的特定顺序来更新写入指针(WR_PTR)的值。如参照图7所述,这是因为:随着数据被连续地写入第一区(Z1),由于已经被写入第一区(Z1)的数据不会被覆盖,所以写入指针(WR_PTR)的值连续增加。
在图8中,假设在时间T1由写入指针(WR_PTR)指示的地址值为A,在时间T2(T2在T1之后)由写入指针(WR_PTR)指示的地址值为B,并且在时间T3(T3在T2之后)由写入指针(WR_PTR)指示的地址值为C。
因为存储器控制器120可以以写入指针(WR_PTR)的值增加的顺序来更新写入指针(WR_PTR),所以B大于或等于A并且C大于或等于B。
图9是示出基于所公开技术的一些实施例的存储器***100在日志高速缓存(JNL_CACHE)中搜索日志信息的次序的示例的示图。
参照图9,目标区是第一区(Z1),当在日志高速缓存(JNL_CACHE)中搜索与第一区(Z1)相对应的日志信息时,存储器***100的存储器控制器120可以以时间倒序搜索高速缓存在日志高速缓存(JNL_CACHE)中的一条或多条日志信息。
例如,假设日志信息2(J2)在时间T1'高速缓存在日志高速缓存(JNL_CACHE)中,日志信息3(J3)在时间T2'高速缓存在日志高速缓存(JNL_CACHE)中,日志信息1(J1)在时间T3'高速缓存在日志高速缓存(JNL_CACHE)中。在这种情况下,当在日志高速缓存(JNL_CACHE)中搜索与第一区(Z1)相对应的日志信息时,存储器控制器120可以以存储的时间倒序(即,以日志信息1(J1)、日志信息3(J3)和日志信息2(J2)的次序)搜索日志信息。即,首先找到最近高速缓存在日志高速缓存(JNL_CACHE)中的日志信息。
如上所述,存储器控制器120以时间倒序搜索高速缓存在日志高速缓存(JNL_CACHE)中的日志信息的原因在于被写入相同区的数据很有可能是被密集地写入。
例如,很有可能在第一时间间隔期间密集生成将数据写入第一区(Z1)的操作,在第二时间间隔期间密集生成将数据写入第二区(Z2)的操作,以及在第三时间间隔期间密集生成将数据写入第三区(Z3)的操作,而不是随机生成将数据写入第一区(Z1)的操作、将数据写入第二区(Z2)的操作以及将数据写入第三区(Z3)的操作。
因此,当将数据当前写入第一区(Z1)时,接下来写入的数据也很有可能被写入第一区(Z1),因此很有可能更新最近更新的日志信息。因此,为了使搜索日志信息所花费的时间最小化,存储器控制器120可以以时间倒序搜索高速缓存在日志高速缓存(JNL_CACHE)中的一条或多条日志信息。
图10是示出基于所公开技术的一些实施例的存储器***100逐出高速缓存在日志高速缓存(JNL_CACHE)中的所有日志信息条的操作的示图。
参照图10,当可以另外存储在日志高速缓存(JNL_CACHE)中的日志信息的条数等于或小于第一阈值(THR_1)时,存储器***100的存储器控制器120可以从日志高速缓存(JNL_CACHE)中“逐出”高速缓存在日志高速缓存(JNL_CACHE)中的所有日志信息条。在本专利文件中,术语“逐出”可以用于指示“高速缓存逐出”过程,通过该进程可以从高速缓存中丢弃旧的、相对未使用的或过于庞大的数据,从而允许高速缓存保持在内存预算内。
第一阈值(THR_1)可以大于或等于零(0)。例如,当第一阈值(THR_1)为零(0)时,当日志高速缓存(JNL_CACHE)变满时,存储器控制器120可以从日志高速缓存(JNL_CACHE)中删除高速缓存在日志高速缓存(JNL_CACHE)中的所有日志信息条。
例如,假设n条日志信息(J1、J2、J3、…、Jn)被高速缓存在日志高速缓存(JNL_CACHE)中,并且可以另外存储在日志高速缓存(JNL_CACHE)中的日志信息的条数等于或小于第一阈值(THR_1)。存储器控制器120可以从日志高速缓存(JNL_CACHE)中逐出(移除)全部n条日志信息(J1、J2、J3、…、Jn)。在这种情况下,日志高速缓存(JNL_CACHE)处于没有存储日志信息的空状态。
在下文中,图11至图12示出存储器***100处理从日志高速缓存(JNL_CACHE)中逐出的日志信息的操作。
图11是示出基于所公开技术的实施例的存储器***100将从日志高速缓存(JNL_CACHE)中逐出的日志信息存储在日志缓冲器(JNL_BUF)中的操作的示图。
参照图11,存储器控制器120可以将从日志高速缓存(JNL_CACHE)中逐出/移除的全部n条日志信息(J1、J2、J3、...、Jn)迁移到日志缓冲器(JNL_CACHE)。
日志缓冲器(JNL_BUF)是用于临时存储待写入存储器装置110的日志信息的缓冲器,并且可以位于存储器控制器120的工作存储器125中。日志缓冲器(JNL_BUF)所位于的存储器可以以低于日志高速缓存(JNL_CACHE)所位于的存储器的速度操作,但可以具有更大的存储容量。例如,日志缓冲器(JNL_BUF)可以位于工作存储器125中包括的DRAM中。
在一些实施方案中,日志缓冲器(JNL_BUF)可以另外存储其它日志信息以及从日志高速缓存(JNL_CACHE)中删除的n条日志信息(J1、J2、J3、…、Jn)。例如,日志缓冲器(JNL_BUF)可以存储在n条日志信息(J1、J2、J3、…、Jn)被高速缓存在日志高速缓存(JNL_CACHE)中之前就被高速缓存在日志高速缓存(JNL_CACHE)中的其他日志信息。
图12是示出基于所公开技术的实施例的存储器***100将日志缓冲器(JNL_BUF)中存储的日志信息写入存储器装置110的操作的示图。
参照图12,当可以另外存储在日志缓冲器(JNL_BUF)中的日志信息的条数小于或等于第二阈值(THR_2)时,存储器***100的存储器控制器120可以将日志缓冲器(JNL_BUF)中存储的所有日志信息条写入存储器装置110。
第二阈值(THR_2)可以大于或等于零(0)。例如,当第二阈值(THR_2)为零(0)时,当日志缓冲器(JNL_BUF)已满时,存储器控制器120可以将日志缓冲器(JNL_BUF)中存储的所有日志信息条写入存储器装置110。可以将日志缓冲器(JNL_BUF)中存储的所有日志信息条存储在存储器装置110存储元数据信息以及奇偶校验、FTL的上下文信息(contextinformation)和元数据切片(slice)的区域中。
当存储器控制器120将日志缓冲器(JNL_BUF)中存储的所有日志信息条写入存储器装置110时,日志缓冲器(JNL_BUF)中存储的所有日志信息条反映在存储器装置110中,因此,不再需要在日志缓冲器(JNL_BUF)中维护相应的日志信息。因此,存储器控制器120可以使日志缓冲器(JNL_BUF)处于空状态。
图13是示出基于所公开技术的实施例的开放区的数量的最大值与日志高速缓存的大小之间的关系的示图。
参照图13,日志高速缓存(JNL_CACHE)的大小可以与上述命名空间(NS)中包括的n个区(Z1、Z2、Z3、…、Zn)之中的开放区的数量的最大值成比例。
开放区包括可以写入数据的空闲区域,即,可用于写入数据的区。存储器控制器120可以仅在开放区中写入数据。
当日志高速缓存(JNL_CACHE)的大小较小时,可以删除具有高命中可能性的日志信息以确保日志高速缓存(JNL_CACHE)的空闲区域,使得命中率可以降低。另外,因为日志高速缓存(JNL_CACHE)的可分配资源有限,所以无法无限地增加日志高速缓存(JNL_CACHE)的大小。因此,需要配置在对资源的限制下可以使命中率最大化的日志高速缓存(JNL_CACHE)的大小。
如上所述,可以仅在开放区中写入数据,从而可以仅针对开放区更新映射信息,并且因此可以仅生成与开放区相对应的日志信息。因此,当日志高速缓存(JNL_CACHE)的大小与开放区的数量的最大值成比例地配置时,除了在写入数据的进程中初始生成日志信息的情况之外,可以始终保证日志高速缓存(JNL_CACHE)中的日志信息的命中。
另一方面,当与图13不同,由于对可以分配给日志高速缓存(JNL_CACHE)的资源的限制而无法与开放区的数量的最大值成比例地配置日志高速缓存(JNL_CACHE)的大小时,存储器控制器120可以将日志高速缓存(JNL_CACHE)的大小确定为预设值,但是如果缺少用于新日志信息的空间,则可以基于预设的高速缓存交换策略(例如,LRU或LRFU)从高速缓存在日志高速缓存(JNL_CACHE)中的日志信息中选择牺牲日志信息,并且可以从日志高速缓存(JNL_CACHE)中逐出/移除牺牲日志信息。
图14是示出基于所公开技术的实施例的操作存储器***100的方法的流程图。
首先,操作存储器***100的方法可以包括:在S1410处,将存储器装置110中包括的命名空间(NS)拆分为可以顺序写入数据的一个或多个区。
操作存储器***100的方法可以包括:在S1420处,将日志信息存储(高速缓存)在日志高速缓存(JNL_CACHE)中,该日志信息包括逻辑地址与在步骤S1410中拆分的一个或多个区中的一个的物理地址之间的映射信息。
操作存储器***100的方法可以包括:在S1430处,当上述一个或多个区之中的目标区的映射信息(MAP_INFO)被更新时,在日志高速缓存(JNL_CACHE)中搜索与目标区相对应的日志信息。存储器***100可以,例如以时间倒序搜索与目标区相对应的日志信息。
操作存储器***100的方法可以包括:在S1440处,用包括更新后的映射信息(MAP_INFO)的日志信息来替换与目标区相对应的日志信息。
在一些实施方案中,与目标区相对应的日志信息可以包括写入指针(WR_PTR)。当数据被写入目标区时,写入指针(WR_PTR)可以指示写入数据的地址。可以在写入指针(WR_PTR)的值增加的方向上更新写入指针(WR_PTR)。
操作存储器***100的方法可以进一步包括:当可以另外存储在日志高速缓存(JNL_CACHE)中的日志信息的条数小于或等于第一阈值(THR_1)时,从日志高速缓存(JNL_CACHE)中逐出高速缓存在日志高速缓存(JNL_CACHE)中的所有日志信息条。
操作存储器***100的方法可以进一步包括:将从日志高速缓存(JNL_CACHE)中逐出的所有日志信息条迁移到日志缓冲器(JNL_BUF)以及步骤:当可以另外存储在日志缓冲器(JNL_BUF)中的日志信息的条数小于或等于第二阈值(THR_2)时,将日志缓冲器(JNL_BUF)中存储的所有日志信息条写入存储器装置110。
在一些实施方案中,日志高速缓存(JNL_CACHE)的大小可以与一个或多个区之中与可以进行写入的区相对应的开放区的数量的最大值成比例。
在一些实施方案中,上述存储器控制器120的操作可以由控制电路123控制,并且可以通过处理器124运行(驱动)固件的方法来执行,该固件中编程了存储器控制器120的各种操作。
图15是示出基于所公开技术的实施例的计算***1500的配置的示图。
参照图15,基于所公开技术的实施例的计算***1500可以包括:存储器***100,电连接到***总线1560;CPU 1510,被配置为控制计算***1500的全部操作;RAM 1520,被配置为存储与计算***1500的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1530,被配置为向用户提供用户环境;通信模块1540,被配置为作为有线和/或无线类型与外部装置通信;以及电源管理模块1550,被配置为管理计算***1500所使用的电力。
计算***1500可以是个人计算机(PC),或者可以包括诸如智能电话、平板电脑或各种其他电子装置的移动终端。
计算***1500可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其它元件对于本领域技术人员而言将是显而易见的。
存储器***100不仅可以包括被配置为将数据存储在磁盘中的装置,诸如硬盘驱动器(HDD),还可以包括被配置为将数据存储在非易失性存储器中的装置,诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储装置并安装在各种电子装置内部。
基于上述所公开技术的实施例,可以有利地减少或最小化存储器***的操作延迟时间。另外,基于所公开技术的实施例,可以有利地减少或最小化在调用特定功能的进程中发生的开销。尽管已经出于说明的目的通过特定的细节和变化的细节描述了所公开技术的各个实施例,但是本领域技术人员将理解,可以基于本专利文件中公开或示出的内容进行各种修改、添加和替换。
Claims (21)
1.一种存储器***,包括:
存储器装置,包括存储数据的存储器单元,并且可操作以对一个或多个存储器单元执行操作,所述操作包括读取所述一个或多个存储器单元中存储的数据的读取操作、将新数据写入所述一个或多个存储器单元中的编程操作或删除所述一个或多个存储器单元中的所存储数据的擦除操作;以及
存储器控制器,与所述存储器装置通信并控制所述存储器装置执行操作,
其中所述存储器控制器进一步:
通过向待写入的每个数据分配区中的最近写入的地址之后的地址,控制所述存储器装置将数据存储到所述存储器装置中的存储块的区中,其中所述存储块的区拆分自所述存储器装置中的命名空间;
将日志信息存储在日志高速缓存中,所述日志信息包括逻辑地址与一个或多个区中的一个区的物理地址之间的映射信息;
当所述一个或多个区之中的目标区的映射信息被更新时,在所述日志高速缓存中搜索与目标为写入数据的所述目标区相对应的所述日志信息;并且
用包括更新后的映射信息的日志信息来替换与所述目标区相对应的所述日志信息。
2.根据权利要求1所述的存储器***,其中与所述目标区相对应的所述日志信息包括指示将数据写入所述目标区的地址的写入指针。
3.根据权利要求2所述的存储器***,其中所述存储器控制器以所述写入指针的值增加的顺序来更新所述写入指针。
4.根据权利要求1所述的存储器***,其中当在所述日志高速缓存中搜索与所述目标区相对应的所述日志信息时,所述存储器控制器以数据存储事件的时间倒序搜索高速缓存在所述日志高速缓存中的一条或多条日志信息。
5.根据权利要求1所述的存储器***,其中当待另外存储在所述日志高速缓存中的信息的条数小于或等于第一阈值时,所述存储器控制器从所述日志高速缓存中逐出高速缓存在所述日志高速缓存中的所有日志信息条。
6.根据权利要求5所述的存储器***,其中所述存储器控制器将从所述日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器,并且当待另外存储在所述日志缓冲器中的日志信息的条数小于或等于第二阈值时,将所述日志缓冲器中存储的所有日志信息条写入所述存储器装置。
7.根据权利要求1所述的存储器***,其中所述日志高速缓存的大小与所述一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
8.一种用于存储器装置的存储器控制器,包括:
存储器接口,与所述存储器装置通信;以及
处理器,通过所述存储器接口与所述存储器装置通信,并且:
通过向待写入的每个数据分配区中的最近写入的地址之后的地址,控制所述存储器装置将数据存储到所述存储器装置中的存储块的区中,其中所述存储块的区拆分自所述存储器装置中的命名空间;
将日志信息存储在日志高速缓存中,所述日志信息包括逻辑地址与一个或多个区中的一个区的物理地址之间的映射信息;
当所述一个或多个区之中的目标区的映射信息被更新时,在所述日志高速缓存中搜索与目标为写入数据的所述目标区相对应的所述日志信息;并且
用包括更新后的映射信息的日志信息来替换与所述目标区相对应的所述日志信息。
9.根据权利要求8所述的存储器控制器,其中与所述目标区相对应的所述日志信息包括指示将数据写入所述目标区的地址的写入指针。
10.根据权利要求9所述的存储器控制器,其中所述处理器以所述写入指针的值增加的顺序来更新所述写入指针。
11.根据权利要求8所述的存储器控制器,其中当搜索与所述目标区相对应的所述日志信息时,所述处理器以时间倒序搜索高速缓存在所述日志高速缓存中的一条或多条日志信息。
12.根据权利要求8所述的存储控制器,其中当另外存储在所述日志高速缓存中的日志信息的条数小于或等于第一阈值时,所述处理器从所述日志高速缓存中逐出高速缓存在所述日志高速缓存中的所有日志信息条。
13.根据权利要求12所述的存储器控制器,其中所述处理器将从所述日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器,并且当待另外存储在所述日志缓冲器中的日志信息的条数小于或等于第二阈值时,将所述日志缓冲器中存储的所有日志信息条写入所述存储器装置。
14.根据权利要求8所述的存储器控制器,其中所述日志高速缓存的大小与所述一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
15.一种操作存储器***的方法,所述存储器***包括存储器装置,所述方法包括:
通过向待写入的每个数据分配区中的最近写入的地址之后的地址,控制所述存储器装置将数据存储到所述存储器装置中的存储块的区中,其中所述存储块的区拆分自所述存储器装置中的命名空间;
将日志信息存储在日志高速缓存中,所述日志信息包括逻辑地址与一个或多个区中的一个区的物理地址之间的映射信息;
当所述一个或多个区之中的目标区的映射信息被更新时,在所述日志高速缓存中搜索与目标为写入数据的所述目标区相对应的所述日志信息;并且
用包括更新后的映射信息的日志信息来替换与所述目标区相对应的所述日志信息。
16.根据权利要求15所述的方法,其中与所述目标区相对应的所述日志信息包括指示将数据写入所述目标区的地址的写入指针。
17.根据权利要求16所述的方法,其中所述写入指针以所述写入指针的值增加的顺序进行更新。
18.根据权利要求15所述的方法,其中在所述日志高速缓存中搜索与所述目标区相对应的所述日志信息包括:以数据存储事件的时间倒序搜索高速缓存在所述日志高速缓存中的一条或多条日志信息。
19.根据权利要求15所述的方法,进一步包括:当待另外存储在所述日志高速缓存中的信息的条数小于或等于第一阈值时,从所述日志高速缓存中逐出高速缓存在所述日志高速缓存中的所有日志信息条。
20.根据权利要求19所述的方法,进一步包括:
将从所述日志高速缓存中逐出的所有日志信息条迁移到日志缓冲器;并且
当待另外存储在所述日志缓冲器中的日志信息的条数小于或等于第二阈值时,将所述日志缓冲器中存储的所有日志信息条写入所述存储器装置。
21.根据权利要求15所述的方法,其中所述日志高速缓存的大小与所述一个或多个区之中可用于写入数据的开放区的数量的最大值成比例。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200082517A KR20220005111A (ko) | 2020-07-06 | 2020-07-06 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
KR10-2020-0082517 | 2020-07-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900584A true CN113900584A (zh) | 2022-01-07 |
Family
ID=79167494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110269956.1A Withdrawn CN113900584A (zh) | 2020-07-06 | 2021-03-12 | 存储器***、存储器控制器以及操作存储器***的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11386005B2 (zh) |
KR (1) | KR20220005111A (zh) |
CN (1) | CN113900584A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177897A1 (en) * | 2021-12-08 | 2023-06-08 | SK Hynix Inc. | Storage device and method of operating the same |
WO2023173369A1 (en) * | 2022-03-17 | 2023-09-21 | Micron Technology, Inc. | Sorted change log for physical page table compression |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022050016A (ja) * | 2020-09-17 | 2022-03-30 | キオクシア株式会社 | メモリシステム |
KR20220058224A (ko) * | 2020-10-30 | 2022-05-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법 |
CN114741367B (zh) * | 2022-06-13 | 2023-02-24 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、电子设备、存储介质和程序产品 |
CN114840449B (zh) * | 2022-06-30 | 2022-10-18 | 广州万协通信息技术有限公司 | 基于MCU片内flash的数据存储方法、装置、设备及存储介质 |
CN116027988B (zh) * | 2023-03-22 | 2023-06-23 | 电子科技大学 | 用于存储器的损耗均衡方法及其芯片控制器的控制方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361229B2 (en) * | 2008-08-25 | 2016-06-07 | International Business Machines Corporation | Distributed shared caching for clustered file systems |
US8402205B2 (en) * | 2010-03-18 | 2013-03-19 | Seagate Technology Llc | Multi-tiered metadata scheme for a data storage array |
KR101802521B1 (ko) | 2011-05-30 | 2017-11-30 | 삼성전자주식회사 | 휴대단말기에서 데이터의 암호화 및 복호화 수행 장치 및 방법 |
KR101584760B1 (ko) | 2014-06-30 | 2016-01-22 | 성균관대학교산학협력단 | 순서 모드 저널링 파일 시스템을 위한 블록 그룹 단위 저널링 방법 및 장치 |
US10884630B2 (en) * | 2017-04-13 | 2021-01-05 | Hitachi, Ltd. | Storage system |
US10997065B2 (en) * | 2017-11-13 | 2021-05-04 | SK Hynix Inc. | Memory system and operating method thereof |
US10990526B1 (en) * | 2020-04-30 | 2021-04-27 | Micron Technology, Inc. | Handling asynchronous power loss in a memory sub-system that programs sequentially |
US11550727B2 (en) * | 2020-06-18 | 2023-01-10 | Micron Technology, Inc. | Zone-aware memory management in memory subsystems |
-
2020
- 2020-07-06 KR KR1020200082517A patent/KR20220005111A/ko unknown
-
2021
- 2021-01-22 US US17/156,308 patent/US11386005B2/en active Active
- 2021-03-12 CN CN202110269956.1A patent/CN113900584A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177897A1 (en) * | 2021-12-08 | 2023-06-08 | SK Hynix Inc. | Storage device and method of operating the same |
WO2023173369A1 (en) * | 2022-03-17 | 2023-09-21 | Micron Technology, Inc. | Sorted change log for physical page table compression |
Also Published As
Publication number | Publication date |
---|---|
KR20220005111A (ko) | 2022-01-13 |
US20220004496A1 (en) | 2022-01-06 |
US11386005B2 (en) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9507711B1 (en) | Hierarchical FTL mapping optimized for workload | |
US11386005B2 (en) | Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache | |
CN114067870A (zh) | 存储器***、存储器装置以及用于操作存储器装置的方法 | |
US11449421B2 (en) | Memory system, memory controller and method for minimizing data loss using recovery operations in sudden power loss events | |
CN113204312A (zh) | 存储器***、存储器控制器及存储器***的操作方法 | |
US11726878B2 (en) | Memory system and operating method thereof | |
CN113703662A (zh) | 存储器***、存储器控制器及其操作方法 | |
CN113535598A (zh) | 存储器***、存储器控制器以及存储器***的操作方法 | |
CN112306387A (zh) | 存储器***、存储器控制器以及操作存储器***的方法 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器***及其操作方法 | |
CN114520013A (zh) | 存储器***及其操作方法 | |
CN114530173A (zh) | 存储器***及其操作方法 | |
CN114090473A (zh) | 存储器***、存储器控制器及操作存储器***的方法 | |
US11995352B2 (en) | Memory controller and operating method thereof | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US11416401B2 (en) | Memory system and operating method thereof | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
CN113535607A (zh) | 存储器***、存储器控制器以及存储器***的操作方法 | |
CN115116517A (zh) | 存储器***及其操作方法 | |
CN116301569A (zh) | 存储器***及其操作方法 | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
CN114512175A (zh) | 存储器***及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220107 |