CN111767235A - 存储器系统、存储器控制器以及存储器控制器的操作方法 - Google Patents
存储器系统、存储器控制器以及存储器控制器的操作方法 Download PDFInfo
- Publication number
- CN111767235A CN111767235A CN201911086527.XA CN201911086527A CN111767235A CN 111767235 A CN111767235 A CN 111767235A CN 201911086527 A CN201911086527 A CN 201911086527A CN 111767235 A CN111767235 A CN 111767235A
- Authority
- CN
- China
- Prior art keywords
- mapping
- entries
- cache
- mapping table
- memory
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/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]
-
- 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
- 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/651—Multi-level translation tables
-
- 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
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)
- Memory System (AREA)
Abstract
本申请提供一种存储器系统、存储器控制器以及存储器控制器的操作方法。该存储器系统、存储器控制器以及存储器控制器的操作方法能够通过以下方法减少与映射表有关的数据的存储容量:在存储器装置中的第一映射表中包括的映射条目之中存在分别与N个连续物理地址区域相对应的N个映射条目的情况下,将指示与N个连续物理地址区域组相对应的映射信息的组映射条目添加到存储器装置中包括的第二映射表。
Description
相关申请的交叉引用
本申请要求于2019年4月1日向韩国知识产权局提交的申请号为10-2019-0038090的韩国专利申请的优先权,该韩国专利申请通过引入整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统、存储器控制器以及存储器控制器的操作方法。
背景技术
与存储装置对应的存储器系统基于诸如计算机、移动装置,例如智能电话、平板电脑或各种电子装置中的任意一种的主机的请求来存储数据。存储器系统不仅可以包括将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,还可以包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置的非易失性存储器中的装置。
存储器系统进一步可以包括用于控制存储器装置的存储器控制器,并且存储器控制器可以驱动在启动时控制该存储器控制器的一般操作并且执行逻辑计算的固件。
存储器系统使用映射表以提供将从主机提供的逻辑地址转换为物理地址的功能。此外,存储器系统将一些映射表高速缓存在映射高速缓存中以快速访问映射表。
随着存储器系统的数据存储容量的增加,映射表的大小和映射高速缓存的大小也增加。因此,用于管理映射表和映射高速缓存的成本不断增加。
发明内容
各个实施例涉及一种能够减少用于存储映射表的存储容量的存储器系统、存储器控制器以及存储器控制器的操作方法。
而且,各个实施例涉及一种能够通过使用待高速缓存在映射高速缓存中的单个映射条目来增加地址区域的覆盖范围的存储器系统、存储器控制器以及存储器控制器的操作方法。
此外,各种实施例涉及一种能够有效地高速缓存逻辑地址和物理地址之间的映射信息以从而提高读取/编程性能的存储器系统、存储器控制器以及存储器控制器的操作方法。
在一方面,本公开的实施例中待描述的存储器系统可以包括存储器装置和存储器控制器,该存储器控制器被配置成控制存储器装置。
存储器装置可以存储多个映射表。多个映射表可以包括第一映射表和第二映射表。
多个映射表中的每一个可以包括多个映射条目,该多个映射条目指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息。
与第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小可以是与第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数。
在第一映射表的映射条目之中存在分别与N个连续物理地址区域相对应的N个映射条目的情况下,存储器控制器可以将指示与N个连续物理地址区域组相对应的映射信息的组映射条目添加到第二映射表。
此后,存储器控制器可以从第一映射表擦除N个映射条目。
存储器控制器可以以第一映射写入段为单位来更新第一映射表中的多个映射条目,并且可以以第二映射写入段为单位来更新第二映射表中的多个映射条目,第二映射写入段与第一映射写入段不同。
存储器控制器可以将包括多个映射表之中的任意一个映射表中的映射条目中的至少一些的映射高速缓存条目加载到映射高速缓存。
存储器控制器可以以第一映射读取段为单位将第一映射表中包括的多个映射条目中的至少一些加载到映射高速缓存中。
存储器控制器可以以第二映射读取段为单位将第二映射表中包括的多个映射条目中的至少一些加载到映射高速缓存中,第二映射读取段与第一映射读取段不同。
当存储器控制器在映射高速缓存中搜索与目标逻辑地址相对应的目标物理地址的映射信息时,存储器控制器基于目标映射表指示信息来确定多个映射表之中与目标逻辑地址相对应的目标映射表,该目标映射表指示信息指示与目标逻辑地址相对应的映射表。存储器控制器可以在映射高速缓存中的映射高速缓存条目之中、包括目标映射表的一些映射条目的映射高速缓存条目中搜索目标物理地址的映射信息。
目标映射表指示信息可以被存储为与目标逻辑地址相对应的位图。
存储器控制器可以基于目标逻辑地址和与目标逻辑地址相对应的映射信息中的起始逻辑地址之间的偏移来确定与目标逻辑地址相对应的目标物理地址。
多个映射表中的每一个可以包括第一层表和一个或多个第二层表,该第一层表包括多个第一层表条目。第二层表中的每一个可以包括多个映射条目中的一些,并且可以对应于多个第一层表条目中的一个。
针对多个映射表中的每一个,存储器控制器可以将第一层表中的所有第一层表条目高速缓存在映射高速缓存中。
在与目标逻辑地址相对应的目标物理地址的映射信息包括在第一映射表中并且与包括该映射信息的第二层表相对应的第一层表条目未被高速缓存的情况下,存储器控制器可以在映射高速缓存中的映射高速缓存条目之中、包括第一映射表的映射条目中的一些的映射高速缓存条目和包括第二映射表的映射条目中的一些的映射高速缓存条目中搜索映射信息。
存储器控制器在映射高速缓存中的映射高速缓存条目之中搜索包括第一映射表的映射条目中的一些的映射高速缓存条目,该包括第一映射表的映射条目中一些的映射高速缓存条目具有比包括第二映射表的映射条目中的一些的映射高速缓存条目更高的优先级。
在另一方面,在本公开的实施例中待描述的存储器控制器可以包括:存储器接口,被配置成与存储器装置通信,存储器装置存储多个映射表,多个映射表中的每一个包括指示一个或多个逻辑地址和一个或多个物理地址之间的映射信息的多个映射条目。此外,存储器控制器可以包括被配置为控制存储器装置的控制电路。
多个映射表可以包括第一映射表和第二映射表。与第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小可以是与第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数。
在第一映射表中的多个映射条目之中存在与N个连续物理地址区域相对应的N个映射条目的情况下,控制电路可以将指示与N个连续物理地址组相对应的映射信息的组映射条目添加到第二映射表。
此后,控制电路可以从第一映射表擦除N个映射条目。
控制电路可以以第一映射写入段为单位来更新第一映射表中包括的多个映射条目,并且可以以第二映射写入段为单位来更新第二映射表中包括的多个映射条目,第二映射写入段与第一映射写入段不同。
控制电路可以包括工作存储器,该工作存储器存储映射高速缓存,该映射高速缓存高速缓存多个映射表之中的任意一个中包括的映射条目中的一些。
控制电路可以将多个映射表之中的任意一个映射表中包括的多个映射条目中的至少一些加载到映射高速缓存。
当控制电路在映射高速缓存中识别与目标逻辑地址相对应的目标物理地址的映射信息时,存储器控制器基于目标映射表指示信息来确定多个映射表之中与目标逻辑地址相对应的目标映射表,该目标映射表指示信息指示与目标逻辑地址相对应的映射表。
控制电路可以在映射高速缓存的映射高速缓存条目之中、包括目标映射表的映射条目中的一些的映射高速缓存条目中搜索目标物理地址的映射信息。
控制电路可以基于目标逻辑地址和与目标逻辑地址相对应的映射信息中的起始逻辑地址之间的偏移来确定与目标逻辑地址相对应的目标物理地址。
多个映射表中的每一个可以包括第一层表和一个或多个第二层表,该第一层表包括多个第一层表条目。第二层表中的每一个可以包括多个映射条目中的一些,并且可以对应于多个第一层表条目中的任意一个。
针对多个映射表中的每一个,控制电路可以将第一层表中包括的所有第一层表条目高速缓存在映射高速缓存中。
在与目标逻辑地址相对应的目标物理地址的映射信息包括在第一映射表中并且与包括该映射信息的第二层表相对应的第一层表条目未被高速缓存在映射高速缓存中的情况下,控制电路可以在映射高速缓存中的映射高速缓存条目之中、包括第一映射表的映射条目中一些的映射高速缓存条目和包括第二映射表的映射条目中的一些的映射高速缓存条目中搜索映射信息。
在另一方面,在本公开的实施例中待描述的控制存储器装置的存储器控制器的操作方法可以包括确定在多个映射表的第一映射表中包括的多个映射条目之中是否存在与连续物理地址区域相对应的N个映射条目,该多个映射表存储在存储器装置中。
存储器装置可以存储多个映射表,多个映射表包括多个映射条目,该多个映射条目指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息。
多个映射表可以包括第一映射表和第二映射表。
与第二映射表中包括的多个映射条目中的每一个相对应的物理地址区域的大小可以是与第一映射表中包括的映射条目中的每一个相对应的物理地址区域的大小的N倍,N是2或更大的自然数。
存储器控制器的操作方法可以包括当存在与连续物理地址区域相对应的N个映射条目时,将指示与N个连续物理地址组相对应的映射信息的组映射条目添加到多个映射表的第二映射表。
在又一方面,在本公开的实施例中待描述的存储器系统可以包括存储器装置和控制器,该存储器装置包括数据存储装置。
控制器可以生成适于存储第一映射条目的第一映射表,每个第一映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示数据存储装置内的第一大小的区域。
控制器可以生成适于存储一个或多个第二映射条目的第二映射表,每个第二映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示数据存储装置内的第二大小的区域,第二大小是第一大小的倍数。
控制器可以将指示连续物理地址的多个第一映射条目转换成单个第二映射条目以存储在第二映射表中。
在又一方面,一种控制访问数据存储装置的控制器的操作方法,可以包括生成适于存储第一映射条目的第一映射表,每个第一映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示数据存储装置内的第一大小的存储区域。
控制器的操作方法可以包括生成适于存储一个或多个第二映射条目的第二映射表,每个第二映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示数据存储装置内的第二大小的存储区域,第二大小是第一大小的倍数。
控制器的操作方法可以包括将第一映射表内、指示连续物理地址的多个第一映射条目转换成单个第二映射条目以存储在第二映射表中。
本公开的实施例可以提供一种能够减少用于存储映射表的存储容量的存储器系统、存储器控制器以及存储器控制器的操作方法。
而且,本公开的实施例可以提供一种能够增加待高速缓存在映射高速缓存中的地址区域的大小的存储器系统、存储器控制器以及存储器控制器的操作方法。
此外,本公开的实施例可以提供一种能够有效地高速缓存逻辑地址和物理地址之间的映射信息以从而提高读取/编程性能的存储器系统、存储器控制器以及存储器控制器的操作方法。
附图说明
图1是示意性地示出根据本公开的实施例的存储器系统的示例的框图。
图2是示意性地示出根据本公开的实施例的存储器装置的示例的框图。
图3是示出根据本公开的实施例的映射表的结构的示例的示图。
图4是示出根据本公开的实施例的在第一映射表中存在与连续物理地址区域相对应的N个映射条目的示例的示图。
图5是示出将指示与图4的N个连续物理地址区域的全部相对应的映射信息的映射条目添加到第二映射表的示例的示图。图6是用于执行诸如参照图4和图5描述的操作的方法的流程图。
图7是示出根据本公开的实施例的将映射条目加载到映射高速缓存的示例的示图。
图8是示出根据本公开的实施例的在映射高速缓存中搜索映射信息的示例的示图。
图9是示出根据本公开的实施例的在映射高速缓存中搜索映射信息的另一示例的示图。
图10是示出根据本公开的实施例的基于在映射高速缓存中搜索的映射信息来确定目标逻辑地址的物理地址的示例的示图。
图11是用于执行诸如参照图7至图10描述的操作的方法的流程图。
图12是示出根据本公开的实施例的映射表的结构的另一示例的示图。
图13是示出在图12的映射表中包括的第一层(L1)表被完全高速缓存的情况下在映射高速缓存中搜索映射信息的示例的示图。
图14是示出在图12的映射表中包括的第一层(L1)表被部分高速缓存的情况下在映射高速缓存中搜索映射信息的示例的示图。
图15是用于执行诸如参照图13和图14描述的操作的方法的流程图。
图16是根据本公开的实施例的存储器控制器的操作方法的流程图。
图17是示意性地示出根据本公开的实施例的计算系统的示例的框图。
具体实施方式
以下参照附图详细地描述本公开的方面。在以下描述中,相同的元件在整个附图中由相同的附图标记来表示。此外,省略对并入本文的公知功能和配置的详细描述,这样做可以使本公开的主题更加清楚。在说明书和权利要求书中使用的诸如“包括有”、“具有”、“包含有”等开放式术语不应解释为限于指定的元件或步骤,除非另有明确说明。在当提及单数名词而使用不定冠词或冠词,例如“一”、“一个”、“该”时,其可以包括多个该名词,除非另外特别说明。
而且,在描述本公开的组件时,可以使用诸如第一、第二、A、B、(a)和/或(b)的术语。这些术语仅用于将一个组件与另一组件区分开的目的,否则它们具有相同或相似名称,但并不表示或暗示该组件的实质、次序、顺序或编号。
在描述组件的位置关系时,当描述至少两个组件“连接”、“联接”或“链接”时,应理解的是,该至少两个组件可以直接“连接”、“联接”或“链接”或可以利用插入在两个组件之间的一个或多个其它组件间接“连接”、“联接”或“链接”。此处,其它组件可以包括在彼此“连接”、“联接”或“链接”的至少两个组件中的至少一个中。
在描述组件时间流关系、操作方法或制造方法中,当例如通过使用“在……之后”、“排在……之后”、“下一”、“在……之前”来描述在时间方面的前后关系或在流方面的前后关系时,此类描述涵盖不连续的情况,除非使用“立即”或“直接”。
在提到组件的数值或其相应信息(例如级别等)的情况下,即使没有单独的明确描述,该数值或其相应信息也可以解释为包括由各种因素(例如,进程变量、内部或外部冲击、噪声等)可能引起的误差范围。
下面通过各个实施例参照附图描述存储器系统、存储器控制器以及存储器控制器的操作方法。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示意性地示出根据本公开的实施例的存储器系统100的示例的框图。
参照图1,存储器系统100可以包括存储数据的存储器装置110以及控制存储器装置110的存储器控制器120。
存储器装置110包括多个存储块,并且响应于存储器控制器120的控制而操作。例如,存储器装置110的操作可以包括读取操作、编程操作(也称为写入操作)和擦除操作。
存储器装置110可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。这种存储器单元阵列可以设置在存储块中。
例如,存储器装置110可以由下列来实现:DDR SDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可以被实现为三维阵列结构。本公开的实施例不仅可以应用于电荷存储层由导电浮栅配置的闪速存储器装置,而且还可以应用于电荷存储层由介电层配置的电荷撷取闪存(CTF)。
存储器装置110被配置成从存储器控制器120接收命令和地址并访问存储器单元阵列中由地址选择的区域。换言之,存储器装置110可以对由地址选择的区域执行与命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作以及擦除操作。在编程操作中,存储器装置110可以将数据编程到由地址选择的区域。在读取操作中,存储器装置110可以从由地址选择的区域读取数据。在擦除操作中,存储器装置110可以擦除由地址选择的区域中存储的数据。
存储器控制器120可以根据主机50的请求或在不存在主机50的请求的情况下控制存储器装置110的操作。
例如,存储器控制器120可以控制存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。例如,后台操作可以是垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
参照图1,存储器控制器120可以包括主机接口121、存储器接口122和控制电路123。
主机接口121提供用于与主机50通信的接口。当从主机50接收到命令时,控制电路123可以通过主机接口121接收命令,然后可以执行处理接收的命令的操作。
存储器接口122与存储器装置110联接,并且由此提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置成响应于控制电路123的控制提供存储器装置110和存储器控制器120的接口。
控制电路123可以执行存储器控制器120的一般控制操作,从而控制存储器装置110的操作。根据实施例,控制电路123可以包括处理器124和工作存储器125中的至少一个,并且在另一实施例中,可以进一步包括错误检测和校正电路(ECC电路)126。
处理器124可以控制存储器控制器120的一般操作,并且执行逻辑操作。处理器124可以通过主机接口121与主机50通信,并且通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过闪存转换层(FTL)将由主机50提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以接收逻辑块地址(LBA),并且通过使用映射表来将LBA转换为物理块地址(PBA)。
根据映射单元,存在多种闪存转换层的地址映射方法。代表性地址映射方法包括页面映射方法、块映射方法以及混合映射方法。
处理器124被配置成使从主机50接收的数据随机化。例如,处理器124可以通过使用随机化种子使从主机50接收的数据随机化。经随机化的数据作为待存储的数据被提供给存储器装置110,并且被编程到存储器单元阵列。
在读取操作中,处理器124被配置成使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化数据可以被输出到主机50。
处理器124可以通过运行固件(FW)控制存储器控制器120的操作。换言之,为了控制存储器控制器120的一般操作并且执行逻辑计算,处理器124可以在启动时运行(驱动)加载到工作存储器125的固件。例如,固件可以存储在存储器装置110中并且被加载到工作存储器125。
例如,作为在存储器系统100中运行的程序的固件可以包括闪存转换层(FTL)、主机接口层(HIL)以及闪存接口层(FIL),该FTL执行从主机50向存储器装置110请求的逻辑地址和存储器装置110的物理地址之间的转换功能,该HIL用于分析由主机50向存储器系统100发出的命令,并且将该命令传送至闪存转换层(FTL),该FIL将由闪存转换层(FTL)指示的命令传送至存储器装置110。
工作存储器125可以存储驱动存储器控制器120所需的固件、程序代码、命令和数据。
例如,作为易失性存储器的工作存储器125可以包括SRAM(静态RAM)、DRAM(动态RAM)和SDRAM(同步DRAM)之中的至少一个。
ECC电路126可以被配置成通过使用错误校正码来检测存储在工作存储器125中的数据(即,从存储器装置110传送的读取数据)的错误位,并且校正检测到的错误位。
ECC电路126可以被配置成通过使用错误校正码来解码数据。ECC电路126可以由各种代码解码器中的任意一种来实现。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
例如,ECC电路126可以以扇区为单位检测每个读取数据的错误位。即,每个读取数据可以由多个扇区构成。扇区可以表示比作为闪速存储器的读取单元的页面更小的数据单元。构成每个读取数据的扇区可以通过地址的介质彼此匹配。
ECC电路126可以以扇区为单位计算位错误率(BER),并且可以确定是否可以校正错误。例如,在位错误率(BER)高于参考值的情况下,ECC电路126可以确定相应扇区不可校正或已经失败。相反,在位错误率(BER)低于参考值的情况下,ECC电路126可以确定相应扇区可校正或已经成功。
ECC电路126可以对所有读取数据顺序地执行错误检测和校正操作。在读取数据中包括的扇区可校正的情况下,ECC电路126可以省略对下一读取数据的相应扇区的错误检测和校正操作。如果以此方式结束对所有读取数据的错误检测和校正操作,则ECC电路126可以检测到最后被确定为不可校正的扇区。可能存在一个或多个被确定为不可校正的扇区。ECC电路126可以将关于被确定为不可校正的扇区的信息(例如,地址信息)传送至处理器124。
总线127可以被配置成提供存储器控制器120的组件121、122、124、125和126通信的通道。例如,总线127可以包括用于传送各种控制信号、命令等的控制总线、用于传送各种数据的数据总线等。
存储器控制器120的上述组件121、122、124、125和126仅是示例。在所有实施例中,并非所有这些存储器装置组件都是必需的。某些组件可以合并。而且,存储器装置120可以包含一个或多个附加组件。
存储器系统100可以是设置在主机50外部的模块,也可以是包括在主机50中的模块。
参照图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可以由二维结构的存储器单元阵列配置,或者在另一实施例中,可以由三维结构的存储器单元阵列配置。
在存储器单元阵列中包括的多个存储器单元中的每一个可以存储至少1位数据。在存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。在存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。在存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。在存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。在又一实施例中,存储器单元阵列210可以包括每个存储5位或更多位数据的多个存储器单元。从上面的描述可以看出,存储器单元阵列中包括的多个存储器单元中的每一个中的存储器单元的数量可以根据设计而变化。
上面参照图1描述的固件可以存储在上述多个存储块中的至少一个中。而且,指示逻辑地址和物理地址之间的映射信息的映射表可以存储在上述多个存储块中的至少一个中。
参照图2,地址解码器220、读取和写入电路230、控制逻辑240和电压生成电路250可以作为驱动存储器单元阵列210的外围电路而操作。
地址解码器220可以通过多个字线WL联接至存储器单元阵列210。地址解码器220可以被配置成响应于控制逻辑240的控制而操作。地址解码器220可以通过存储器装置110中的输入/输出缓冲器接收地址。
地址解码器220可以被配置成对接收的地址中的块地址解码。地址解码器220可以根据经解码的块地址来选择至少一个存储块。在读取操作期间,地址解码器220可以将电压生成电路250中生成的读取电压Vread施加到在读取电压施加操作中选择的存储块中选择的字线,并且可以将通过电压Vpass施加到其余未选择的字线。此外,在编程验证操作中,地址解码器220可以将电压生成电路250中生成的验证电压施加到在选择的存储块中选择的字线,并且可以将通过电压Vpass施加到其余未选择的字线。
地址解码器220可以被配置成对接收的地址中的列地址解码。地址解码器220可以将经解码的列地址传送至读取和写入电路230。
存储器装置110的读取操作和编程操作可以以页面为单位执行。当请求读取操作或编程操作时接收的地址可以包括块地址、行地址和列地址。
地址解码器220可以根据块地址和行地址来选择一个存储块和一个字线。列地址可以由地址解码器220解码,并且可以被提供给读取和写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器之中的至少一个。
读取和写入电路230可以包括多个页面缓冲器PB。读取和写入电路230可以在存储器单元阵列210的读取操作期间作为读取电路而操作,并且在存储器单元阵列210的写入操作期间作为写入电路而操作。
上述的读取和写入电路230可以包括页面缓冲器电路或数据寄存器电路。例如,数据寄存器电路可以包括用于执行数据处理功能的数据缓冲器,并且在另一实施例中,可以进一步包括用于执行高速缓存功能的高速缓存存储器。
多个页面缓冲器PB可以通过多个位线BL联接至存储器单元阵列210。多个页面缓冲器PB可以在读取操作和编程验证操作中将感测电流连续地施加至与存储器单元联接的位线以感测存储器单元的阈值电压(Vth),并且可以通过感测节点感测根据相应存储器单元的编程状态已经改变的电流的量来锁存感测的数据。读取和写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作中,读取和写入电路230通过感测存储器单元的数据来临时存储读取数据,并且然后将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器(或页面寄存器)之外,读取和写入电路230还可以包括列选择电路。
控制逻辑240可以与地址解码器220、读取和写入电路230和电压生成电路250联接。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置成响应于控制信号CTRL控制存储器装置110的一般操作。此外,控制逻辑240可以输出用于调整多个页面缓冲器PB的感测节点的预充电电位电平的控制信号。
控制逻辑240可以控制读取和写入电路230执行存储器单元阵列210的读取操作。
在读取操作中,电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成读取电压Vread和通过电压Vpass。
图3是示出根据本公开的实施例的映射表的结构的示例的示图。
存储器装置110可以存储多个映射表。
多个映射表中的每一个可以包括多个映射条目,该多个映射条目中的每一个指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息。
逻辑地址与物理地址之间的映射信息可以指示关于逻辑地址区域和映射到相应逻辑地址区域的物理地址区域的信息。可以将逻辑地址区域和相应物理地址区域的大小确定为相同。
在映射表中包括的映射条目可以包括关于起始逻辑地址和起始物理地址的信息。针对每个映射条目,与映射条目的映射信息相对应的逻辑地址区域和物理地址区域的大小可以是固定值(例如4KB)。逻辑地址区域和物理地址区域的最小大小可以是页面大小(例如4KB或8KB)。
与映射条目的映射信息相对应的逻辑地址区域可以由起始逻辑地址和逻辑地址区域的大小来确定,其中起始逻辑地址和逻辑地址区域的大小可以由相应映射条目指示。此外,与映射条目的映射信息相对应的物理地址区域可以由起始物理地址和物理地址区域的大小来确定,其中起始物理地址和物理地址区域的大小可以由相应映射条目指示。
例如,假设映射条目指示起始逻辑地址为0,起始物理地址为100,并且与该映射条目的映射信息相对应的逻辑地址区域和物理地址区域的大小为4KB。
在此示例中,相应映射条目指示从逻辑地址0开始且具有4KB大小的逻辑地址区域被映射到从物理地址100开始且具有4KB大小的物理地址区域的信息。
在另一示例中,假设映射条目指示起始逻辑地址为100,起始物理地址为300,并且与该映射条目的映射信息相对应的逻辑地址区域和物理地址区域的大小为4MB。
在此示例中,相应映射条目指示从逻辑地址100开始且具有4MB大小的逻辑地址区域被映射到从物理地址300开始且具有4MB大小的物理地址区域的信息。
参照图3,存储在存储器装置110中的多个映射表可以包括第一映射表和第二映射表。
分别与第一映射表中包括的多个映射条目相对应的物理地址区域的大小和分别与第二映射表中包括的多个映射条目相对应的物理地址区域的大小可以彼此不同。
详细地,与第二映射表中包括的一个映射条目相对应的物理地址区域的大小可以是与第一映射表中包括的一个映射条目相对应的物理地址区域的大小的N倍,其中在此处以及整个说明书中,N是2或更大的自然数。
例如,在图3中,与第一映射表中包括的一个映射条目相对应的物理地址区域的大小可以为4KB,并且与第二映射表中包括的一个映射条目相对应的物理地址区域的大小可以为2MB=512*4KB。
在映射表如图3所示来配置的实施例中,第一映射表中包括的每个映射条目可以对应于具有4KB大小的物理地址区域,并且第二映射表中包括的每个映射条目可以对应于具有2MB大小的物理地址区域。
因此,为了存储与相同物理地址区域相对应的映射信息,第一映射表需要的映射条目的数量是第二映射表中需要的映射条目的数量的512倍。也就是说,第二映射表可以利用比第一映射表更少的映射条目的数量来高效地存储与相同物理地址区域相对应的映射信息。
然而,为了将映射信息存储在第二映射表中,需要满足2MB的连续逻辑地址区域与2MB的连续物理地址区域映射的条件。例如,当主机50向存储器系统100请求顺序写入连续逻辑地址的数据时,可能会发生这种情况。
因此,存储器控制器120可以首先将映射信息存储在第一映射表的映射条目中。此后,当在第一映射表中包括的映射条目之中存在分别与N(N是2或更大的自然数)个连续物理地址区域相对应的N个数量的映射条目时,存储器控制器120可以生成指示映射信息的组映射条目,并且然后可以将组映射条目添加到第二映射表,该映射信息与N个物理地址区域的全部,即N个物理地址区域组相对应。
如果组映射条目被添加到第二映射表,则存储器控制器120可以从第一映射表擦除上述的N个映射条目。
N个连续物理地址区域可以表示,通过组合N个物理地址区域而获得的全部物理地址区域可以以一个起始物理地址和单个长度的形式或以一个起始物理地址和一个结束物理地址的形式来表达。
例如,如果存在四个物理地址区域100-101、101-102、102-103和103-104,则由于四个物理地址区域可以表示为100-104,因此四个物理地址区域彼此连续。
另一方面,如果存在四个物理地址区域100-101、101-103、104-105和105-106,则由于区域103-104不属于四个物理地址区域中的任意一个,因此四个物理地址区域彼此不连续。
在如上所述的存在多个映射表的实施例中,为了搜索与目标逻辑地址相对应的映射信息,首先确定在多个映射表之中指示相应映射信息的目标映射表。
存储器控制器120可以基于目标映射表指示信息来确定作为与目标逻辑地址相对应的映射表的目标映射表,该目标映射表指示信息指示与目标逻辑地址相对应的映射表。
目标映射表指示信息指示与目标逻辑地址相对应的映射表。
例如,目标映射表指示信息可以指示与目标逻辑地址0相对应的映射信息存储在第一映射表中的信息。再如,目标映射表指示信息可以指示与目标逻辑地址1000相对应的映射信息存储在第二映射表中的信息。
目标映射表指示信息可以以各种格式来配置。
例如,目标映射表指示信息可以是与包括目标逻辑地址的逻辑地址组相对应的位图。逻辑地址组(即位图)中的逻辑地址的数量(即位的数量)可以对应于第一映射表中的所有映射条目或第二映射表的单个映射条目中的逻辑地址的数量。存储器控制器120可以在与逻辑地址相对应的位图中搜索与目标逻辑地址相对应的位,并且由此可以基于搜索的位的值来确定目标映射表。在下面的讨论中,假设目标映射表指示信息包括位图信息,该位图信息指示分别与被表示为逻辑地址0-511的逻辑地址区域相对应的512个物理地址区域是否彼此连续(例如,在1的情况下连续,并且在0的情况下不连续)。假设搜索针对逻辑地址130的目标映射表的情况。
如果与逻辑地址130相对应的位图信息的值为1,则该位信息表示与包括逻辑地址130的512个逻辑地址相对应的512个物理地址区域彼此连续,在这种情况下,与全部512个物理地址区域相对应的映射条目可以包括在第二映射表的单个映射条目中。因此,可以将针对逻辑地址130的目标映射表确定为第二映射表。
相反,如果与逻辑地址130相对应的位图信息的值为0,则该位信息可以表示与包括逻辑地址130的512个逻辑地址相对应的512个物理地址区域彼此不连续,在这种情况下,分别与512个物理地址区域相对应的映射条目可以包括在第一映射表的所有映射条目中。因此,可以将针对逻辑地址130的目标映射表确定为第一映射表。
再如,目标映射表指示信息可以是与逻辑地址相对应的哈希表(hash table)或树(tree)。
目标映射表指示信息可以与映射表类似地存储在存储器装置110中。存储器控制器120可以将存储在存储器装置110中的目标映射表指示信息加载到工作存储器125。
下面将参考图4和图5详细描述上述方法。
图4是示出根据本公开的实施例的在第一映射表中存在与连续物理地址区域相对应的512个数量的映射条目的示例的示图。
参照图4,第一映射表包括分别与逻辑地址0、1、2、......、510、511相对应的512个映射条目。512个映射条目对应于均为4KB的各个物理地址区域,这些区域彼此不同。512个物理地址区域彼此连续,并且512个物理地址区域的大小整体为4KB*512=2MB。
由于在第一映射表中存在与逻辑地址0相对应的映射条目,因此针对目标逻辑地址0的目标映射表可以是第一映射表。目标映射表指示信息可以指示与目标逻辑地址0相对应的目标映射表是第一映射表。
在图4中,上述512个映射条目可以配置一个第一映射写入段WSEG。第一映射写入段WSEG可以是当第一映射表中发生改变时更新存储在存储器装置110中的第一映射表的单元。换言之,存储器控制器120可以以第一映射写入段WSEG为单元来更新第一映射表中包括的多个映射条目。
图5是示出将指示与图4的N个连续物理地址区域的全部相对应的映射信息的映射条目添加到第二映射表的示例的示图。
参照图5,可以将与对应于图4中的第一映射表的512个映射条目的512个物理地址区域组相对应的组映射条目新添加到第二映射表。
添加到第二映射表的组映射条目的起始逻辑地址被设置为0。即,添加到第二映射表的组映射条目指示起始逻辑地址为0的2MB大小的逻辑地址区域被映射到2MB大小的物理地址区域的信息。
在这种情况下,可以通过第二映射表来访问映射到图4中的第一映射表的512个映射条目的全部物理地址区域。因此,上述512个映射条目不再需要存储在第一映射表中。此后,存储器控制器120可以从第一映射表擦除上述512个映射条目。
不同于图4的布置,由于与逻辑地址0相对应的映射条目现在存在于第二映射表中,因此针对目标逻辑地址0的目标映射表可以是第二映射表。目标映射表指示信息可以指示与目标逻辑地址0相对应的目标映射表是第二映射表。
如果映射表从图4中所示的映射表改变成图5中所示的映射表,则擦除第一映射表中的512个映射条目,并且将一个组映射条目添加到第二映射表中。
因此,由于整个映射表中包括的映射条目的数量减少(例如,从第一映射表的512个映射条目减少到第二映射表的单个映射条目),因此有利地减少了存储器装置110中用于存储整个映射表的空间。
此外,因为用于指示相同物理地址区域的映射条目的数量减少,所以相同大小的映射高速缓存可以覆盖较大的物理地址区域,从而提高存储器装置110的存储效率。
另外,由于加载到映射高速缓存以访问指示相同物理地址区域的映射信息的映射条目的数量减少,因此存储器系统100的读取性能提高。
特别地,在存储器系统100执行从主机50接收的顺序读取请求的情况下,由于需要被参考以获取关于连续物理地址区域的信息的映射条目的数量显著减少,因此存储器系统100的读取性能可以提高。
与第一映射表类似,也可以以第二映射写入段WSEG'为单位更新第二映射表。换言之,存储器控制器120可以以第二映射写入段WSEG'为单位来更新第二映射表中包括的多个映射条目。
上述的第一映射写入段WSEG和第二映射写入段WSEG'的大小可以彼此相同或彼此不同。
图6是用于执行以上参照图4和图5描述的操作的方法的流程图。
首先,存储器控制器120确定在第一映射表中包括的映射条目之中是否存在与连续物理地址区域相对应的N个映射条目(S610),其中N是2或更大的自然数。
如果在步骤S610中确定存在与连续物理地址区域相对应的N个映射条目(S620-是),则存储器控制器120生成与由N个映射条目指示的N个物理地址区域组相对应的新映射信息,即组映射条目(S630)。换言之,存储器控制器120通过从N个映射条目中选择信息(例如,起始逻辑和物理地址以及长度),并且利用选择的信息形成组映射条目来将N个映射条目转换成组映射条目。
存储器控制器120将在步骤S630中生成的组映射条目添加到第二映射表(S640)。
然后,存储器控制器120从第一映射表擦除上述N个映射条目(S650)。
如果在步骤S610中确定不存在与连续物理地址区域相对应的N个映射条目(S620-N),则存储器控制器120保持第一映射表和第二映射表不变(S660)。
图7是示出根据本公开的实施例的将映射条目加载到映射高速缓存的示例的示图。图3至图6旨在示出在映射更新期间第二映射表如何创建并存储在例如NAND的存储器装置110中,而图7至图15旨在示出在读取操作期间如何将映射表加载到映射高速缓存中。
存储器控制器120可以将包括映射表中的任意一个包括的映射条目的映射高速缓存条目加载到映射高速缓存。存储器控制器120可以将工作存储器125的部分区域用作映射高速缓存。
映射高速缓存可以包括至少一个映射高速缓存条目。每个映射高速缓存条目可以包括至少一个映射条目。
由于在不同映射表中包括的映射条目可以加载到一个映射高速缓存中,因此可以使用传统映射高速缓存结构。
在图7中,在第一映射表中包括的映射条目之中,与起始逻辑地址1024、1026和1027相对应的映射条目被加载到映射高速缓存。
此外,在第二映射表中包括的映射条目之中,与起始逻辑地址0和2048相对应的映射条目被加载到映射高速缓存。
存储器控制器120可以以特定映射读取段为单位将存储在映射表中的一些映射条目加载到映射高速缓存。
例如,存储器控制器120可以以第一映射读取段RSEG为单位将存储在第一映射表中的一些映射条目加载到映射高速缓存。
再例如,存储器控制器120可以以第二映射读取段RSEG'为单位将存储在第二映射表中的一些映射条目加载到映射高速缓存。
上述的第一映射读取段RSEG和第二映射读取段RSEG'的大小可以彼此相同或不同。
以上参照图4描述的第一映射写入段WSEG的大小可以大于第一映射读取段RSEG的大小。此外,以上参照图5描述的第二映射写入段WSEG'的大小可以大于第二映射读取段RSEG'的大小。
如果映射写入段的大小小于映射读取段的大小,则即使分别与N个连续物理地址区域相对应的N个映射条目(配置一个映射写入段)被组合成一个映射条目,除了N个映射条目之外的映射条目也可以被附加地加载到映射高速缓存。因此,将映射条目加载到映射高速缓存的效率可能劣化。
然而,如果映射写入段的大小过度增加,则可能导致的问题在于,存在分别与N个连续物理地址区域相对应的N个映射条目概率降低。因此,可以将映射写入段的大小设置成等于或大于映射读取段的大小的合适值。
在下文中,参照图8至图10描述将以上参照图7描述的映射表的映射条目加载到映射高速缓存的情况。
图8是示出根据本公开的实施例的在映射高速缓存中搜索映射信息的示例的示图。
在图8中,假设在映射高速缓存中搜索与逻辑地址1024相对应的目标物理地址的映射信息的情况。参照图7,与逻辑地址1024相对应的目标物理地址的映射信息存在与第一映射表的映射条目之中。
存储器控制器120可以基于目标映射表指示信息来检查与逻辑地址1024相对应的目标映射表是第一映射表。
因此,存储器控制器120在映射高速缓存中包括的映射高速缓存条目之中、作为第一映射表的一些映射条目的映射高速缓存条目中搜索针对逻辑地址1024的目标物理地址的映射信息。
在图7中,第一映射表的映射条目以第一映射读取段RSEG为单位被加载到映射高速缓存。因此,存储器控制器120可以在加载到映射高速缓存的映射高速缓存条目之中、以第一映射读取段RSEG为单位加载的映射高速缓存条目中搜索针对逻辑地址1024的映射信息。
图9是示出根据本公开的实施例的在映射高速缓存中搜索映射信息的另一示例的示图。
在图9中,假设在映射高速缓存中搜索与逻辑地址2048相对应的映射信息的情况。参照图7,与逻辑地址2048相对应的映射信息存在于第二映射表的映射条目之中。
存储器控制器120可以基于目标映射表指示信息来检查与逻辑地址2048相对应的目标映射表是第二映射表。
因此,存储器控制器120在映射高速缓存中包括的映射高速缓存条目之中、作为第二映射表的一些映射条目的映射高速缓存条目中搜索针对逻辑地址2048的映射信息。
在图7中,第二映射表的映射条目以第二映射读取段RSEG'为单位被加载到映射高速缓存。因此,存储器控制器120在加载到映射高速缓存的映射高速缓存条目之中、以第二映射读取段RSEG'为单位加载的映射高速缓存条目中搜索针对逻辑地址2048的映射信息。
图10是示出根据本公开的实施例的基于在映射高速缓存中搜索的映射信息来确定针对目标逻辑地址的物理地址的示例的示图。
在图10中,假设在映射高速缓存中搜索与逻辑地址2051相对应的映射信息的情况。
存储器控制器120可以基于目标映射表指示信息来检查与逻辑地址2051相对应的目标映射表是第二映射表。
因此,存储器控制器120在作为第二映射表的一些映射条目的映射高速缓存条目中搜索针对逻辑地址2051的映射信息。
在加载到映射高速缓存的映射条目之中,由包括针对逻辑地址2051的映射信息的映射条目指示的起始逻辑地址为2048。相应映射条目指示映射到与从起始逻辑地址2048起对应于512*4KB=2MB的逻辑地址区域的物理地址区域,并且逻辑地址2051包括在该逻辑地址区域。
因此,存储器控制器120可以基于逻辑地址和与逻辑地址2051相对应的映射信息中包括的起始逻辑地址2048之间的偏移来确定与逻辑地址2051相对应的物理地址。
例如,假设与包括针对逻辑地址2051的映射信息的映射条目相对应的物理地址区域的起始物理地址PA'为10000。
在这种情况下,与逻辑地址2051相对应的物理地址PA变为10000+(2051-2048)=10003。
图11是用于执行以上参照图7至图10描述的操作的方法的流程图。
存储器控制器120确定与目标逻辑地址相对应的目标映射表(S1110)。
如果在步骤S1110中确定的目标映射表是第一映射表(S1120-是),则存储器控制器120在映射高速缓存中包括的映射高速缓存条目之中、作为第一映射表的一些映射条目的映射高速缓存条目中搜索映射信息(S1130)。
另一方面,如果在步骤S1110中确定的目标映射表不是第一映射表(S1120-否),则存储器控制器120确定目标映射表是第二映射表(S1140)。
然后,存储器控制器120在映射高速缓存中包括的映射高速缓存条目之中、作为第二映射表的一些映射条目的映射高速缓存条目中搜索映射信息(S1150)。
如上面参照图10所述,存储器控制器120基于目标逻辑地址和起始逻辑地址之间的偏移来确定与目标逻辑地址相对应的物理地址(S1160)。
图12是示出根据本公开的实施例的映射表的结构的另一示例的示图。
在存储器装置110中存储的多个映射表中的每一个可以包括第一层(L1)表和至少一个第二层(L2)表。
第一层(L1)表可以包括多个第一层(L1)表条目。每个第一层(L1)表条目可以对应于逻辑地址区域,并且可以指示与相应逻辑地址区域相对应的第二层(L2)表。
第二层(L2)表可以包括映射表中包括的多个映射条目中的一些。映射表中包括的每个第二层(L2)表可以对应于相应映射表中包括的第一层(L1)表的第一层(L1)表条目之中的任意一个。
在存储器装置110中存储的多个映射表之中,第一映射表和第二映射表中的每一个可以包括第一层(L1)表和至少一个第二层(L2)表。
类似于图3的实施例,与第一映射表中包括的一个映射条目相对应的物理地址区域的大小可以为4KB,并且与第二映射表中包括的一个映射条目相对应的物理地址区域的大小可以为2MB=512*4KB。
将一个映射表划分为第一层(L1)表和第二层(L2)表的原因是为了更快地搜索与目标逻辑地址相对应的映射条目。
通过使用第一层(Ll)表的信息,可以在映射表的所有映射条目中快速搜索可以对应于目标逻辑地址的候选映射条目,从而缩小搜索范围或区间。通过在候选映射条目之中搜索与目标逻辑地址相对应的映射条目,与在映射表的所有映射条目中搜索这种映射条目相比,可以快速搜索这种映射条目。
图13是示出在图12的映射表中包括的第一层(L1)表被完全高速缓存的情况下,在映射高速缓存中搜索映射信息的示例的示图。
第一层(L1)表被完全高速缓存表示在各个映射表中包括的第一层(L1)表的所有第一层(L1)表条目被高速缓存。
例如,各个映射表中包括的第一层(L1)表可以存储在独立于映射高速缓存而存在的第一层(L1)高速缓存中。第一层(L1)高速缓存可以包括在存储器控制器120的工作存储器125中。
参照图13,存储器控制器120通过利用目标映射表指示信息来确定与目标逻辑地址相对应的目标映射表。例如,假设针对目标逻辑地址LA的目标映射表是第一映射表,并且针对目标逻辑地址LA'的目标映射表是第二映射表。
如果确定了目标映射表,则存储器装置110搜索存储在第一层(L1)高速缓存中的目标映射表的第一层(L1)表。由于第一层(L1)表已被完全高速缓存,因此始终在第一层(L1)高速缓存中搜索与目标逻辑地址相对应的第一层(L1)表条目。
存储器控制器120可以通过在映射高速缓存中搜索与目标逻辑地址相对应的映射条目,基于搜索到的第一层(L1)表条目的信息来确定与目标逻辑地址相对应的物理地址。
如果目标映射表是第一映射表,则类似于图8的示例,存储器控制器120可以在作为第一映射表的一些映射条目的映射高速缓存条目之中搜索针对目标逻辑地址的映射信息。
类似于图7的示例,第一映射表的映射条目可以以第一映射读取段RSEG为单位被加载到映射高速缓存。因此,存储器控制器120可以在以第一映射读取段RSEG为单位加载的映射高速缓存条目之中搜索针对目标逻辑地址的映射信息。
如果目标映射表是第二映射表,则类似于图9的示例,存储器控制器120可以在作为第二映射表的一些映射条目的映射高速缓存条目之中搜索针对目标逻辑地址的映射信息。
类似于图7的示例,第二映射表的映射条目可以以第二映射读取段RSEG'为单位被加载到映射高速缓存。因此,存储器控制器120可以在以第二映射读取段RSEG'为单位加载的映射高速缓存条目之中搜索针对目标逻辑地址的映射信息。
图14是示出在图12的映射表中包括的第一层(L1)表被部分高速缓存的情况下,在映射高速缓存中搜索映射信息的示例的示图。
第一层(L1)表被部分高速缓存表示仅在各个映射表中包括的第一层(L1)表的部分被高速缓存。也就是说,与目标逻辑地址LA相对应的第一层(L1)表条目未存在与第一层(L1)高速缓存中。在这种情况下,不会搜索到与目标逻辑地址相对应的第一层(L1)表条目。
在与目标逻辑地址相对应的第一层(L1)表条目未存在与第一层(L1)高速缓存中的情况下,存储器控制器120无法通过利用第一层(L1)表条目的信息来界定可能对应于目标逻辑地址的映射条目。因此,存储器控制器120可以在加载到映射高速缓存的全部映射高速缓存条目之中搜索与目标逻辑地址相对应的映射条目。
换言之,存储器控制器120可以在包括第一映射表的一些映射条目的映射高速缓存条目和包括第二映射表的一些映射条目的映射高速缓存条目中搜索与目标逻辑地址相对应的目标物理地址的映射信息。
存储器控制器120可以搜索具有比第二映射表的映射高速缓存条目更高优先级的第一映射表的映射高速缓存条目。
针对逻辑地址的映射信息首先存储在第一映射表中,并且在满足特定条件的情况下(例如,存在分别与N个连续物理地址区域相对应的N个映射条目),针对相应逻辑地址的映射信息存储在第二映射表中。
因此,因为指示与逻辑地址相对应的映射信息的映射条目更高可能存在与第一映射表中,所以存储器控制器120可以首先搜索包括第一映射表的一些映射条目的映射高速缓存条目。
在从第一层(L1)高速缓存移除第一层(L1)表条目的情况下,对于所有包括第一映射表的一些映射条目的映射高速缓存条目和包括第二映射表的一些映射条目的映射高速缓存条目,存储器控制器120确定是否都移除它。
图15是用于执行以上参照图13和图14描述的操作的方法的流程图。
参照图15,存储器控制器120可以基于目标映射表指示信息来确定与目标逻辑地址相对应的目标映射表(S1510)。
存储器控制器120在第一层(L1)高速缓存中搜索与目标逻辑地址相对应的第一层(L1)表条目(S1520)。
如果在第一层(L1)高速缓存中找到与目标逻辑地址相对应的第一层(L1)表条目(S1530-是),则存储器控制器120确定找到的第一层(L1)表条目是否为第一映射表的第一层(L1)表条目,即找到的第一层(L1)表条目是否为第一映射表的第一层(L1)表中包括的第一层(L1)表条目(S1540)。
如果找到的第一层(L1)表条目是第一映射表的第一层(L1)表条目(S1540-是),则存储器控制器120在作为第一映射表的一些映射条目的映射高速缓存条目中搜索针对目标逻辑地址的映射信息(S1550)。
如果找到的第一层(L1)表条目不是第一映射表的第一层(L1)表条目(S1540-否),则存储器控制器120在作为第二映射表的一些映射条目的映射高速缓存条目中搜索目标逻辑地址的映射信息(S1560)。
如果在第一层(L1)高速缓存中未找到与目标逻辑地址相对应的第一层(L1)表条目(S1530-否),则存储器控制器120在映射高速缓存中包括的映射高速缓存条目之中、包括第一映射表的一些映射条目的映射高速缓存条目和包括第二映射表的一些映射条目的映射高速缓存条目中搜索与目标逻辑地址相对应的映射信息。
如以上参照图14所述,存储器控制器120可以在映射高速缓存中包括的映射高速缓存条目之中搜索具有比第二映射表的映射高速缓存条目更高优先级的第一映射表的映射高速缓存条目。
即,存储器控制器120在作为第一映射表的一些映射条目的映射高速缓存条目中搜索针对目标逻辑地址的映射信息(S1570)。如果针对目标逻辑地址的映射信息的搜索成功(S1580-是),则存储器控制器120可以基于搜索的映射信息来确定与目标逻辑地址相对应的物理地址。
相反,如果针对目标逻辑地址的映射信息的搜索失败(S1580-否),则存储器控制器120在作为第二映射表的一些映射条目的映射高速缓存条目中搜索针对目标逻辑地址的映射信息(S1590)。
图16是根据本公开的实施例的存储器控制器120的操作方法的流程图。
在下文中,描述由如上参照图1至图15描述的存储器控制器120执行的图16的方法的示例。例如,结合图16描述的流程可以是图6的实施例的通用版本或变型。
参照图16,控制存储器装置110的存储器控制器120的操作方法可以包括检查在第一映射表中包括的映射条目之中是否存在与连续物理地址区域相对应的N个映射条目(S1610),其中N是2或更大的自然数。
存储器装置110可以包括多个存储块,并且可以存储包括多个映射条目的多个映射表,该多个映射条目指示逻辑地址和物理地址之间的映射信息。
多个映射表可以包括第一映射表和第二映射表。与第二映射表中包括的一个映射条目相对应的物理地址区域的大小可以是与第一映射表中包括的一个映射条目相对应的物理地址区域的大小的N倍。
存储器控制器120的操作方法可以包括,当在第一映射表中包括的映射条目之中存在与连续物理地址区域相对应的N个映射条目时,将指示映射信息的组映射条目添加到第二映射表(S1620),其中该映射信息与分别对应于N个映射条目的物理地址区域组相对应。
存储器控制器120的操作方法可以进一步包括从第一映射表擦除上述N个映射条目。
以上参照图3至图16描述的存储器控制器120的操作可以由存储器控制器120中包括的控制电路123来执行。
图17是示意性地示出根据本公开的实施例的计算系统的示例的框图。
参照图17,计算系统1700可以包括:存储器系统100,电联接到系统总线1760;中央处理单元(CPU)1710,控制计算系统1700的一般操作;RAM 1720,存储与计算系统1700的操作有关的数据和信息;UI/UX(用户界面/用户体验)模块1730,提供用户环境;通信模块1740,以有线和/或无线方式与外部装置通信;以及电源管理模块1750,管理计算系统1700使用的电力。
计算系统1700可以包括PC(个人计算机)、例如智能手机或平板电脑的移动装置或各种电子装置中的任意一种。
计算系统1700可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM以及如本领域技术人员将了解的其它组件。
存储器系统100不仅可以包括将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,还可以包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置或嵌入式MMC(eMMC)装置的非易失性存储器中的装置。
非易失性存储器可以包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和/或FRAM(铁电RAM)。
另外,存储器系统100可以被实现为或安装在各种类型的存储装置中的任意一种中。例如,存储器系统100可以被安装到需要最小化所使用的存储器量的IoT装置或小型家用电器。
从以上描述显而易见的是,本公开的实施例可以提供一种能够减少用于存储映射表的存储容量的存储器系统、存储器控制器以及存储器控制器的操作方法。
而且,本公开的实施例可以提供一种能够增加待高速缓存在映射高速缓存中的地址区域的大小的存储器系统、存储器控制器以及存储器控制器的操作方法。
此外,本公开的实施例可以提供一种能够有效地高速缓存逻辑地址和物理地址之间的映射信息,从而提高读取/编程性能的存储器系统、存储器控制器以及存储器控制器的操作方法。
虽然已经示出并公开了本公开的各个实施例,但是根据本公开,本领域技术人员将理解的是,在不脱离本公开的范围和精神的情况下,可以进行各种修改、添加和替换。因此,本文所公开的实施例应仅在描述性意义上考虑,而不应限制本发明的范围。本发明由所附权利要求限定,并且包括落入所附权利要求范围内的所有等同方案。
Claims (23)
1.一种存储器系统,包括:
存储器装置,存储多个映射表,每个映射表包括多个映射条目,每个映射条目指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息;以及
存储器控制器,控制所述存储器装置,
其中所述多个映射表包括第一映射表和第二映射表,
其中与所述第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小是与所述第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数,并且
其中在所述第一映射表的所述多个映射条目之中存在分别与N个连续物理地址区域相对应的N个映射条目的情况下,所述存储器控制器将指示与所述N个连续物理地址区域组相对应的映射信息的组映射条目添加到所述第二映射表。
2.根据权利要求1所述的存储器系统,其中当将所述组映射条目添加到所述第二映射表时,所述存储器控制器从所述第一映射表擦除所述N个映射条目。
3.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步:
以第一映射写入段为单位更新所述第一映射表中的所述多个映射条目;并且
以第二映射写入段为单位更新所述第二映射表中的所述多个映射条目,所述第二映射写入段与所述第一映射写入段不同。
4.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步:
将包括所述多个映射表之中的任意一个映射表中包括所述多个映射条目中的至少一些的映射高速缓存条目加载到映射高速缓存,
以第一映射读取段为单位将所述第一映射表中包括的所述多个映射条目中的至少一些加载到所述映射高速缓存;并且
以第二映射读取段为单位将所述第二映射表中包括的所述多个映射条目中的至少一些加载到所述映射高速缓存,所述第二映射读取段与所述第一映射读取段不同。
5.根据权利要求4所述的存储器系统,其中所述存储器控制器进一步通过以下在所述映射高速缓存中识别与目标逻辑地址相对应的目标物理地址的映射信息:
基于目标映射表指示信息来确定所述多个映射表之中与所述目标逻辑地址相对应的目标映射表,所述目标映射表指示信息指示与所述目标逻辑地址相对应的映射表;并且
在所述映射高速缓存中的映射高速缓存条目之中、包括所述目标映射表的一些映射条目的映射高速缓存条目中搜索所述目标物理地址的所述映射信息。
6.根据权利要求5所述的存储器系统,其中所述目标映射表指示信息被存储为与所述目标逻辑地址相对应的位图。
7.根据权利要求5所述的存储器系统,其中所述存储器控制器进一步基于所述目标逻辑地址和与所述目标逻辑地址相对应的所述映射信息中的起始逻辑地址之间的偏移来确定与所述目标逻辑地址相对应的所述目标物理地址。
8.根据权利要求1所述的存储器系统,其中
所述多个映射表中的每一个包括第一层表和一个或多个第二层表,所述第一层表包括多个第一层表条目;并且
所述一个或多个第二层表中的每一个包括所述多个映射条目中的一些,并且对应于所述多个第一层表条目中一个。
9.根据权利要求8所述的存储器系统,其中针对所述多个映射表中的每一个,所述存储器控制器将所述第一层表中的所有第一层表条目高速缓存在第一层高速缓存中。
10.根据权利要求8所述的存储器系统,其中所述存储器控制器进一步:当与目标逻辑地址相对应的目标物理地址的映射信息包括在所述第一映射表中并且与包括所述映射信息的第二层表相对应的第一层表条目未被高速缓存在所述第一层高速缓存中时,
在所述映射高速缓存中的所述映射高速缓存条目之中、包括所述第一映射表的所述映射条目中的一些的映射高速缓存条目和包括所述第二映射表的所述映射条目中的一些的映射高速缓存条目中搜索所述映射信息。
11.根据权利要求10所述的存储器系统,其中所述存储器控制器在所述映射高速缓冲中的所述映射高速缓存条目之中搜索包括所述第一映射表的所述映射条目中的一些的所述映射高速缓存条目,包括所述第一映射表的所述映射条目中的一些的所述映射高速缓存条目具有比包括所述第二映射表的所述映射条目中的一些的所述映射高速缓存条目更高的优先级。
12.一种存储器控制器,包括:
存储器接口,与存储器装置通信,所述存储器装置存储多个映射表,每个映射表包括多个映射条目,每个映射条目指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息;以及
控制电路,控制所述存储器装置,
其中所述多个映射表包括第一映射表和第二映射表,
其中与所述第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小是与所述第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数;并且
其中在所述第一映射表的所述多个映射条目之中存在与N个连续物理地址区域相对应的N个映射条目的情况下,所述控制电路将指示与所述N个连续物理地址区域组相对应的映射信息的组映射条目添加到所述第二映射表。
13.根据权利要求12所述的存储器控制器,其中当将所述组映射条目添加到所述第二映射表时,所述控制电路从所述第一映射表擦除所述N个映射条目。
14.根据权利要求12所述的存储器控制器,其中所述控制电路进一步:
以第一映射写入段为单位更新所述第一映射表中包括的所述多个映射条目;并且
以第二映射写入段为单位更新所述第二映射表中包括的所述多个映射条目,所述第二映射写入段与所述第一映射写入段不同。
15.根据权利要求12所述的存储器控制器,其中:
所述控制电路包括工作存储器,所述工作存储器存储映射高速缓存,所述映射高速缓存高速缓存所述多个映射表之中的任意一个中包括的所述映射条目中的一些;并且
所述控制电路进一步:
将所述多个映射表之中的任意一个映射表中包括的所述多个映射条目中的至少一些加载到所述映射高速缓存;并且
通过以下在所述映射高速缓存中识别与目标逻辑地址相对应的目标物理地址的映射信息:
基于目标映射表指示信息来确定所述多个映射表之中与所述目标逻辑地址相对应的目标映射表,所述目标映射表指示信息指示与所述目标逻辑地址相对应的映射表;并且
在所述映射高速缓存的映射高速缓存条目之中、包括所述目标映射表的一些映射条目的映射高速缓存条目中搜索所述目标物理地址的所述映射信息。
16.根据权利要求15所述的存储器控制器,其中所述控制电路基于所述目标逻辑地址和与所述目标逻辑地址相对应的所述映射信息中的起始逻辑地址之间的偏移来确定与所述目标逻辑地址相对应的所述目标物理地址。
17.根据权利要求12所述的存储器控制器,其中:
所述多个映射表中的每一个包括第一层表和一个或多个第二层表,所述第一层表包括多个第一层表条目;
所述一个或多个第二层表中的每一个包括所述多个映射条目中的部分,并且对应于所述多个第一层表条目中的任意一个。
18.根据权利要求17所述的存储器控制器,其中针对所述多个映射表中的每一个,所述控制电路将所述第一层表中包括的所有第一层表条目高速缓存在第一层高速缓存中。
19.根据权利要求17所述的存储器控制器,其中所述控制电路进一步:当与目标逻辑地址相对应的目标物理地址的映射信息包括在所述第一映射表中并且与包括所述映射信息的第二层表相对应的第一层表条目未被高速缓存在所述第一层高速缓存中时,
在所述映射高速缓存中的所述映射高速缓存条目之中、包括所述第一映射表的所述映射条目中的一些的映射高速缓存条目和包括所述第二映射表的所述映射条目中的一些的映射高速缓存条目中搜索所述映射信息。
20.一种存储器控制器的操作方法,所述存储器控制器控制存储器装置,所述方法包括:
确定在多个映射表的第一映射表中包括的多个映射条目之中是否存在与连续物理地址区域相对应的N个映射条目,所述多个映射表存储在所述存储器装置中;并且
当存在所述N个映射条目时,将指示与N个连续物理地址区域组相对应的映射信息的组映射条目添加到所述多个映射表的第二映射表,
其中与所述第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小是与所述第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数。
21.一种存储器系统,包括:
存储器装置,包括数据存装置;以及
控制器:
生成存储第一映射条目的第一映射表,每个第一映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示所述数据存储装置内的第一大小的区域;
生成存储一个或多个第二映射条目的第二映射表,每个第二映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示所述数据存储装置内的第二大小的区域,所述第二大小是所述第一大小的倍数;并且
将指示连续物理地址的多个第一映射条目转换成单个第二映射条目以存储在所述第二映射表中。
22.一种存储器系统,包括:
存储器装置,存储多个映射表,每个映射表包括多个映射条目,每个映射条目指示一个或多个逻辑地址与一个或多个物理地址之间的映射信息;以及
存储器控制器,控制所述存储器装置,
其中所述多个映射表包括第一映射表和第二映射表,
其中与所述第二映射表中的多个映射条目中的每一个相对应的物理地址区域的大小是与所述第一映射表中的多个映射条目中的每一个相对应的物理地址区域的大小的N倍,其中N是2或更大的自然数;并且
其中当所述第一映射表中的所述多个映射条目之中存在分别与N个连续物理地址区域相对应的N个映射条目时,所述存储器控制器将指示与所述N个连续物理地址区域组相对应的映射信息的组映射条目添加到所述第二映射表。
23.一种控制器的操作方法,所述控制器控制访问数据存储装置,所述操作方法包括:
生成存储第一映射条目的第一映射表,每个第一映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示所述数据存储装置内的第一大小的存储区域;
生成存储一个或多个第二映射条目的第二映射表,每个第二映射条目表示一个或多个逻辑地址与一个或多个物理地址之间的映射关系,该一个或多个物理地址指示所述数据存储装置内的第二大小的存储区域,所述第二大小是所述第一大小的倍数;并且
将所述第一映射表内、指示连续物理地址的多个第一映射条目转换成单个第二映射条目以存储在所述第二映射表中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190038090A KR20200116375A (ko) | 2019-04-01 | 2019-04-01 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
KR10-2019-0038090 | 2019-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767235A true CN111767235A (zh) | 2020-10-13 |
Family
ID=72605934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911086527.XA Withdrawn CN111767235A (zh) | 2019-04-01 | 2019-11-08 | 存储器系统、存储器控制器以及存储器控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11086795B2 (zh) |
KR (1) | KR20200116375A (zh) |
CN (1) | CN111767235A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741343A (zh) * | 2022-02-28 | 2022-07-12 | 惠州华阳通用电子有限公司 | 一种控制器端口扩展装置及方法 |
WO2023028848A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 加载逻辑到物理映射表到存储器控制器的缓存 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11422945B2 (en) * | 2020-03-20 | 2022-08-23 | Micron Technology, Inc. | Generating, maintaining, or utilizing a compressed logical-to-physical table based on sequential writes |
WO2022193143A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Validity mapping techniques |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090098275A (ko) | 2008-03-13 | 2009-09-17 | 주식회사 엠트론스토리지테크놀로지 | 플래시 메모리 시스템 |
US10534718B2 (en) * | 2017-07-31 | 2020-01-14 | Micron Technology, Inc. | Variable-size table for address translation |
US10528480B2 (en) * | 2017-08-24 | 2020-01-07 | Arm Limited | Apparatus and method for efficient utilisation of an address translation cache |
KR20200116372A (ko) | 2019-04-01 | 2020-10-12 | 에스케이하이닉스 주식회사 | 저장 장치, 컨트롤러 및 컨트롤러의 동작 방법 |
KR20200126491A (ko) | 2019-04-30 | 2020-11-09 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
-
2019
- 2019-04-01 KR KR1020190038090A patent/KR20200116375A/ko active Search and Examination
- 2019-10-23 US US16/661,401 patent/US11086795B2/en active Active
- 2019-11-08 CN CN201911086527.XA patent/CN111767235A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023028848A1 (zh) * | 2021-08-31 | 2023-03-09 | 长江存储科技有限责任公司 | 加载逻辑到物理映射表到存储器控制器的缓存 |
CN114741343A (zh) * | 2022-02-28 | 2022-07-12 | 惠州华阳通用电子有限公司 | 一种控制器端口扩展装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200116375A (ko) | 2020-10-12 |
US20200310987A1 (en) | 2020-10-01 |
US11086795B2 (en) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9176808B2 (en) | Storage device and nonvolatile memory device and operating method thereof | |
KR101459861B1 (ko) | 스트라이프 기반 메모리 작동 | |
CN112988614A (zh) | 存储设备以及操作存储设备的方法 | |
US20160147651A1 (en) | Data Integrity Enhancement to Protect Against Returning Old Versions of Data | |
CN111767235A (zh) | 存储器系统、存储器控制器以及存储器控制器的操作方法 | |
CN110442529B (zh) | 可配置的存储器系统及配置和使用该存储器系统的方法 | |
US20160147468A1 (en) | Data Integrity Enhancement to Protect Against Returning Old Versions of Data | |
CN114489466A (zh) | 存储器系统及其操作方法 | |
CN112052116A (zh) | 存储器系统、存储器控制器和元信息存储装置 | |
CN111949204A (zh) | 存储器系统、存储器控制器和存储器装置 | |
CN113703662A (zh) | 存储器系统、存储器控制器及其操作方法 | |
US11237984B2 (en) | Memory system, memory controller and operating method thereof | |
KR102666123B1 (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN113535598A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
CN111831584A (zh) | 存储器系统、存储器控制器及操作存储器控制器的方法 | |
CN112306387A (zh) | 存储器系统、存储器控制器以及操作存储器系统的方法 | |
US20220156144A1 (en) | Memory system and operating method thereof | |
CN114530173A (zh) | 存储器系统及其操作方法 | |
KR20210051644A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
US11995352B2 (en) | Memory controller 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 | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US11126545B2 (en) | Memory system and operating method thereof | |
US11157210B2 (en) | Memory system performing dummy program operation during normal program operation | |
CN115437968A (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: 20201013 |