CN111831583A - 用于传送存储器系统中的映射段的设备和方法 - Google Patents
用于传送存储器系统中的映射段的设备和方法 Download PDFInfo
- Publication number
- CN111831583A CN111831583A CN201911285070.5A CN201911285070A CN111831583A CN 111831583 A CN111831583 A CN 111831583A CN 201911285070 A CN201911285070 A CN 201911285070A CN 111831583 A CN111831583 A CN 111831583A
- Authority
- CN
- China
- Prior art keywords
- memory
- host
- mapping
- segment
- controller
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/0871—Allocation or management of cache space
-
- 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
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种用于传送存储器系统中的映射段的设备和方法以及一种存储器系统,该存储器系统可以包括:存储器装置;以及控制器,包括存储器,适用于响应于命令而生成映射数据,该映射数据用于在存储器装置内的与数据相对应的物理地址与从主机接收的逻辑地址之间进行映射,其中在多个存储器映射段之中选择一个存储器映射段,其中与所选择的存储器映射段相对应的读取计数大于或等于第一阈值,使用总读取计数和映射未命中计数来计算存储器的映射未命中率,并且在映射未命中率大于或等于第二阈值时将所选择的存储器映射段传送给主机。
Description
相关申请的交叉引用
本申请要求于2019年4月17日提交的申请号为10-2019-0044900的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本发明的各个实施例涉及一种存储器系统,并且更具体地,涉及一种用于将数据处理系统中包括的存储器系统中的映射数据传输到主机或计算装置的设备和方法。
背景技术
近来,计算机环境的范例已转换为使得计算机系统可以随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。通常,这样的便携式电子装置使用包括用于管理数据的存储和读取的存储器装置的存储器系统。因此,存储器系统是基于半导体技术的数据存储装置。存储器系统已经被用作便携式电子装置的主存储器或辅助存储器。
发明内容
各个实施例涉及一种使用主机存储器的存储器系统及其操作方法。
而且,各个实施例涉及一种数据处理系统及其操作方法,该数据处理系统能够使复杂度和性能劣化最小化,并且使存储器装置的使用效率最大化以快速且稳定地将数据处理到存储器装置。
进一步地,各个实施例涉及一种包括主机和存储器系统的数据处理系统,该数据处理系统能够通过使用映射未命中率来监控待被上载到主机或计算装置的映射段,并且在将映射数据传送到主机时反映该监控结果,从而高效地管理存储器系统的整体性能。
本公开的技术对象不限于上述技术对象,并且基于以下描述,本公开所属领域的技术人员将清楚地理解本文中未描述的其他技术对象。
在实施例中,一种存储器系统可以包括:存储器装置;以及控制器,包括存储器,适用于响应于命令而生成映射数据,该映射数据在存储器装置内的与数据相对应的物理地址与从主机接收的逻辑地址之间进行映射,其中控制器在多个存储器映射段之中选择一个存储器映射段,其中与所选择的存储器映射段相对应的读取计数大于或等于第一阈值,使用总读取计数和映射未命中计数来计算存储器的映射未命中率,并且在映射未命中率大于或等于第二阈值时将所选择的存储器映射段传送给主机。
在实施例中,提供了一种存储器系统的操作方法,该存储器系统包括存储器装置和包括存储器的控制器,该操作方法包括:改变多个存储器映射段之中的、对应于逻辑地址的映射段的读取计数;选择多个存储器映射段中的一些,其中与所选择的存储器映射段相对应的读取计数大于或等于第一阈值;当存储器的映射未命中率大于或等于第二阈值时,判定是否将所选择的存储器映射段上载到主机;并且响应于判定结果,将所选择的存储器映射段传送到主机。
在实施例中,一种存储器系统可以包括:存储器装置;以及控制器,包括存储与存储器装置相关联的多个映射段的映射高速缓存,该控制器适用于:从主机接收读取命令;针对与读取命令相对应的多个映射段,确定映射高速缓存的映射未命中计数;当映射未命中计数大于或等于阈值时,在多个映射段之中选择至少一个映射段;以及将所选择的映射段传送到主机。
应该注意,以下详细描述的实施例仅是本发明的示例,并且本领域普通技术人员可以基于详细描述的实施例来得出和理解各个其他实施例或变型。
附图说明
图1示出了根据本公开实施例的数据处理系统。
图2示出了包括用作存储元数据的高速缓存装置的主机存储器的主机和存储器系统。
图3示出了主机与存储器系统之间的进程。
图4是示出根据实施例的用于共享映射数据的方法的示图。
图5和图6是示出根据实施例的数据处理系统的操作的示图。
图7是示出根据本实施例的数据处理系统中的主机与存储器系统之间的事务的示图。
图8是示出根据实施例的主机和存储器系统的操作的流程图。
图9是示出根据实施例的用于分类出候选的存储器映射段的方法的流程图。
图10是示出根据本实施例的数据处理系统中的主机与存储器系统之间的操作的示图。
图11是示出根据本实施例的主机和存储器系统的操作的流程图。
具体实施方式
图1示出了根据本公开实施例的数据处理系统。
参照图1,数据处理系统可以包括主机102和存储器系统,该存储器系统包括控制器130和存储器装置150。控制器130与主机102和存储器装置150进行协作。控制器130包括主机接口(I/F)132、存储器接口(I/F)142、存储器144和闪存转换层(FTL)140。
主机接口132可以处理从主机102接收的命令和数据。作为示例而非限制,主机接口132可以包括缓冲管理器52、事件队列54和命令队列56。命令队列56可以顺序地存储命令和数据,并且以存储的顺序将它们输出到缓冲器管理器52。缓冲管理器52可以对从命令队列56传递的命令和数据进行分类、管理或调整。事件队列54可以顺序地发送用于处理从缓冲管理器52接收的命令和数据的事件。
可以从主机102连续地接收相同特性的多个命令和/或数据。可选地,在进行混合或混杂之后,可以从主机102接收不同特性的多个命令和/或数据。例如,主机102可以传送用于读取数据的多个命令(即,读取命令)。又例如,主机102可以可选地传送用于读取数据的命令(即,读取命令)和用于编程/写入数据的命令(即,写入命令)。主机接口132可以顺序地将从主机102接收的命令和数据存储到命令队列56。此后,主机接口132可以根据命令、数据的特性和从主机102接收的其他相关信息,来估计或预测控制器130将执行哪种类型的操作。主机接口132可以至少基于它们的特性来确定命令和数据的处理顺序和优先级。根据命令和数据的特性,缓冲器管理器52被配置为确定缓冲器管理器52是否应该将命令和数据存储在存储器144中,或者缓冲器管理器52是否应该将命令和数据传递给FTL 140。事件队列54接收从缓冲管理器52输入的、待由存储器系统110或控制器130响应于命令和数据而内部执行和处理的事件,以便以接收顺序来将事件传递给FTL 140。
根据实施例,FTL 140可以包括状态管理器(SM)42、映射管理器(MM)44、主机请求管理器(HRM)46和块管理器(BM)48。主机请求管理器46可以管理从事件队列54输入的事件。映射管理器44可以处理或控制映射数据。状态管理器42可以执行垃圾收集(GC)或损耗均衡(WL)。块管理器48可以对存储器装置150中的块执行命令或指令。
作为示例而非限制,主机请求管理器46可以根据读取和编程命令以及从主机接口132传递的事件,来使用映射管理器44和块管理器48来处置或处理请求。主机请求管理器46可以向映射管理器44发送查询请求,以确定与随事件一起输入的逻辑地址对应的物理地址。主机请求管理器46可以将读取请求与物理地址一起发送到存储器接口142,以处理读取请求(或处置事件)。另一方面,主机请求管理器46可以向块管理器48发送编程请求(或写入请求),以将输入的数据编程到存储器装置150中的未记录(无数据)的特定页面。然后,主机请求管理器46可以将与编程请求相对应的映射更新请求发送到映射管理器44,以更新与编程数据有关的项,以用于将逻辑到物理地址彼此映射。
块管理器48可以将从主机请求管理器46、映射数据管理器44和/或状态管理器42传递的编程请求转换为用于存储器装置150的闪存编程请求,以管理存储器装置150中的闪存块。为了最大化或增强存储器系统110的编程或写入性能,块管理器48可以收集编程请求并且将用于多平面和单触发编程操作的闪存编程请求发送到存储器接口142。块管理器48向存储器接口142发送若干闪存编程请求,以增强或最大化多通道和多向闪存控制器(即,存储器接口142)的并行处理是可能的。
块管理器48可以被配置为根据有效页面的数量来管理存储器装置150中的块。进一步地,当需要空闲块时,块管理器48可以选择并擦除不具有有效页面的块,并且当确定了需要垃圾收集时,块管理器48可以选择包括最小数量的有效页面的块。状态管理器42可以执行垃圾收集以将有效数据移动到空块,并擦除包含所移动的有效数据的块,使得块管理器48可以具有足够的空闲块(即,没有数据的空块)。如果块管理器48将关于待擦除的块的信息提供给状态管理器42,则状态管理器42检查待擦除的块中的所有闪存页面以确定每个页面是否有效。例如,为了确定每个页面的有效性,状态管理器42可以识别存储在每个页面的区域(例如,带外(OOB)区域)中的逻辑地址。为了确定每个页面是否有效,状态管理器42可以将页面的物理地址与映射到从查询请求获得的逻辑地址的物理地址进行比较。状态管理器42针对每个有效页面将编程请求发送到块管理器48。当编程操作完成时,可以通过更新映射管理器44来更新映射表。
映射管理器44可以管理逻辑到物理映射表。映射管理器44可以处理由主机请求管理器46或状态管理器42生成的请求,诸如查询和更新。映射管理器44可以将整个映射表存储在存储器装置150(例如,闪速存储器/非易失性存储器)中,并且根据存储器144的存储容量来高速缓存映射条目。当在处理查询或更新请求时发生映射高速缓存未命中时,映射管理器44可以向存储器接口142发送读取请求以加载存储在存储器装置150中的相关映射表。当映射管理器44中的脏高速缓存块的数量超过某个阈值时,可以将编程请求发送到块管理器48,以便形成干净高速缓存块,并且可以将脏映射表存储在存储器装置150中。
当执行垃圾收集时,状态管理器42将有效页面复制到空闲块中,并且主机请求管理器46可以针对相同逻辑地址的页面编程最新版本的数据,并且即时发出更新请求。当状态管理器42在未正常完成有效页面的复制的状态下请求映射更新时,映射管理器44可能没有执行映射表更新。这是因为如果状态管理器42请求映射更新并且稍后完成有效页面复制,则发出了具有旧物理信息的映射请求。只要最新映射表仍然指向旧物理地址,映射管理器44就可以执行映射更新操作以确保准确性。
存储器装置150可以包括多个存储块。根据在块的一个存储器单元中可存储或表示的位的数量,可将多个存储块分类为不同类型的存储块,诸如单层单元(SLC)存储块或多层单元(MLC)存储块。SLC存储块包括由每个存储一位数据的存储器单元实现的多个页面。SLC存储块可以具有较高的数据输入和输出(I/O)操作性能和高耐用性。MLC存储块包括由每个存储多位(例如,两位或更多位)数据的存储器单元实现的多个页面。在相同的空间中,MLC存储块可以具有比SLC存储块更大的存储容量。在存储容量方面,MLC存储块可以被高度集成。在实施例中,存储器装置150可以利用诸如MLC存储块、三层单元(TLC)存储块、四层单元(QLC)存储块及其组合的MLC存储块实现。MLC存储块可以包括由每个能够存储2位数据的存储器单元实现的多个页面。三层单元(TLC)存储块可以包括由每个能够存储3位数据存储器单元实施的多个页面。四层单元(QLC)存储块可以包括由每个能够存储4位数据存储器单元实施的多个页面。在另一实施例中,存储器装置150可以利用包括由每个能够存储5位数据或更多数据的存储器单元实施的多个页面的块来实施。
在实施例中,存储器装置150被实施为例如闪速存储器的非易失性存储器,诸如NAND闪速存储器或NOR闪速存储器。在另一实施例中,存储器装置150可以由相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩磁性存储器(STT-RAM)和自旋转移力矩磁性随机存取存储器(STT-MRAM)中的至少一个来实施。
图2示出了包括主机存储器的主机和存储器系统,该主机存储器用作存储元数据的高速缓存装置。
参照图2,主机102可以包括主机处理器104、主机存储器106和主机控制器接口108。存储器系统110可包括控制器130和存储器装置150。参照图3描述的控制器130和存储器装置150可以类似于参照图1和图2描述的控制器130和存储器装置150。
在下文中,以下描述将集中于可以将参照图2描述的控制器130和存储器装置150与已经参照图1描述的控制器130和存储器装置150技术上区分的内容。特别地,控制器130内的逻辑块160可以对应于参照图1描述的闪存转换层(FTL)140。然而,在实施例中,控制器130内的逻辑块160可以进一步执行未包括在FTL 140中的作用和功能。
与互连到主机102的存储器系统110相比,主机102可以包括具有更高性能的主机处理器104和具有更高容量的主机存储器106。不同于存储器系统110,主机处理器104和主机存储器106在空间上的限制较小,并且如果必要的话可以在硬件上进行升级。因此,存储器系统110可以利用主机102的资源来增加操作效率。
随着可以存储在存储器系统110中的数据量的增加,与存储在存储器系统110中的数据相对应的元数据量也增加。由于存储器144的、控制器130可以将元数据加载在其中的空间是有限的,因此元数据量的增加对控制器130的操作增加了负担。例如,由于存储器144的、可以被分配元数据的内部空间是有限的,所以控制器130可以加载一部分元数据,而不是全部元数据。如果元数据的加载部分中不包括待由主机102访问的位置,则当元数据的加载部分已经更新时,控制器130需要将元数据的加载部分重新存储在存储器装置150中。此外,控制器130从存储器装置150读取元数据。元数据可以对应于待由主机102访问的位置。为了使控制器130执行由主机102请求的读取或写入操作,必须执行这样的操作,但是会降低存储器系统110的操作性能。
在实施例中,主机存储器106的存储空间可以比可由控制器130使用的存储器144的存储空间大几十倍至几千倍。因此,存储器系统110可以将由控制器130使用的元数据166(例如,逻辑到物理(L2P)映射数据)传送到主机存储器106,使得主机存储器106能够用作用于由存储器系统110执行的地址转换处理的高速缓存存储器。在这种情况下,主机102可以不将逻辑地址与命令传送到存储器系统110,而是基于存储在主机存储器106中的元数据166来将逻辑地址转换为物理地址。进一步地,主机102可以将物理地址与命令传送到存储器系统110。存储器系统110可以省略将逻辑地址转换为物理地址的过程,并且基于所传送的物理地址来访问存储器装置150。在这种情况下,由于可以消除在控制器130使用存储器144时发生的上述操作负担,所以可以显著提高存储器系统110的操作效率。
尽管存储器系统110将元数据166传送到主机102,但是存储器系统110可以管理元数据166的源。换言之,存储器系统110可以更新、擦除并且生成元数据166。控制器130可以根据存储器装置150的操作状态来执行诸如垃圾收集或损耗均衡的后台操作,并且判定存储器装置150中的、待存储从主机102传送的数据的物理位置(即,物理地址)。因此,存储器装置150内的与数据相对应的物理地址可能被改变。因此,元数据166的源可以由存储器系统110管理。
也就是说,当存储器系统110确定在管理元数据166的过程期间需要校正和更新传送到主机102的元数据166时,存储器系统110可以请求主机102以更新元数据166。主机102可以响应于存储器系统110的请求来更新存储在主机存储器106中的元数据166。通过更新操作,存储在主机存储器106中的元数据166可以保持在最新状态。尽管主机控制器接口108使用存储在主机存储器106中的元数据166来转换待被传送到存储器系统110的地址,但是操作中可能不出现问题。
存储在主机存储器106中的元数据166可以包括用于检查与逻辑地址相对应的物理地址的第一映射信息。在一些实施例中,用于将逻辑地址与物理地址相关联的元数据166可以包括用于检查与逻辑地址相对应的物理地址的第一映射信息和用于检查与物理地址相对应的逻辑地址的第二映射信息。元数据166可以包括两条信息之中的第一映射信息。第二映射信息可以主要用于存储器系统110的内部操作,并且可以不用于主机102将数据存储在存储器系统110中或从存储器系统110读取与特定逻辑地址相对应的数据的操作。在实施例中,存储器系统110可以不将第二映射信息传送到主机102。
控制器130可以在管理(即,生成、删除或更新)第一映射信息或第二映射信息的同时,将第一映射信息或第二映射信息存储在存储器装置150中。由于主机存储器106是易失性存储器装置,因此当发生特定事件时,例如当对主机102和存储器系统110的电力供应被移除时,存储在主机存储器106中的元数据166可能消失。因此,控制器130不仅可以将存储在主机存储器106中的元数据166保持为最新状态,而且还可以将最新的第一或第二映射信息存储在存储器装置150中。
参照图2和图3,将描述当将元数据166存储在主机存储器106中时主机102读取存储器系统110内的数据的操作。
当向主机102和存储器系统110供应电力时,主机102和存储器系统110可以彼此互连。当主机102和存储器系统110彼此互连时,存储在存储器装置150中的元数据(例如,L2P映射数据)可以被传送到主机存储器106。
当主机处理器104生成读取命令时,该读取命令被传送到主机控制器接口108。在接收到读取命令之后,主机控制器接口108将与读取命令相对应的逻辑地址传送到主机存储器106。基于存储在主机存储器106中的元数据L2P MAP,主机控制器接口108可以识别与逻辑地址相对应的物理地址。
主机控制器接口108将读取命令Read CMD与物理地址一起传送到控制器130。控制器130可以基于所接收到的读取命令和物理地址来访问存储器装置150。可以将存储在存储器装置150内的与该物理地址相对应的位置处的数据传送到主机存储器106。
相比于从作为另一非易失性存储器的主机存储器106读取数据的过程,从包括非易失性存储器的存储器装置150读取数据的过程可能需要更多的时间。在上述读取过程中,可以省略控制器130从主机102接收逻辑地址并且查找与该逻辑地址相对应的物理地址的过程。特别地,可以省略在查找物理地址的过程期间控制器130访问存储器装置150以读取元数据的操作。通过该操作,主机102可以更快地读取存储在存储器系统110中的数据。
图4是示出根据实施例的用于共享映射数据的方法的示图。
在描述图4的方法之前,主机102和存储器系统110可以彼此互连。主机102可以被认为是计算装置,并且被实现为移动装置、计算机或服务器。存储器系统110可以从主机102接收命令,并且响应于所接收的命令来存储或输出数据。
存储器系统110可以具有包括非易失性存储器单元的存储空间。例如,存储器系统110可以以闪速存储器或固态驱动器(SSD)的形式实施。
为了将由主机102请求的数据存储在包括非易失性存储器单元的存储空间中,存储器系统110可以执行由主机102使用的文件系统与包括非易失性存储器单元的存储空间之间的映射。例如,基于由主机102使用的文件系统的数据的地址可以被称为逻辑地址或逻辑块地址,并且包括非易失性存储器单元的存储空间中的数据的地址可以被称为物理地址或物理块地址。当主机102将逻辑地址与读取命令传送到存储器系统110时,存储器系统110可以检索与该逻辑地址相对应的物理地址,然后将存储在检索到的物理地址处的数据输出到主机102。在这样的过程期间,存储器系统110可以执行映射操作以检索与由主机102传送的逻辑地址相对应的物理地址。
如果可以由主机102来执行由存储器系统110执行的映射操作,则可以减少存储器系统110输出与由主机102传送的读取命令相对应的数据所需的时间。对于该操作,存储器系统110可以将可位于映射高速缓存1441中的一个或多个映射段传送到主机102,并且主机102可以将所传送的映射段存储在主机存储器106中。当将读取命令传送到存储器系统110时,主机102可以从存储在主机存储器106中的映射段中检索映射数据。然后,当存在与读取命令相关的映射数据时,主机102可以将读取命令以及逻辑和物理地址传送到存储器系统110。
在每当关于映射段的映射数据被改变时,存储器系统110就将映射段传送到主机102的情况下,可能花费大量金钱并且花费大量时间。为了解决这些问题,存储器系统110使用读取请求计数和映射未命中计数来管理映射段并且将映射段传送到主机102。因此,存储器系统110可以选择性地将包括被频繁引用的逻辑地址的映射段传送到主机102。在这方面,将参照图4简要描述本实施例。图4示出了存储器系统110请求向主机102传送映射数据,并且主机102响应于存储器系统110的请求而接收映射数据的过程。
参照图4,在步骤S111中,可以在存储器144中准备由主机102以高频率访问的一个或多个存储器映射段M_SEGMENT,以提高存储器系统110的读取性能。也就是说,存储器系统110可以基于来自主机102的读取请求中的逻辑地址来增加存储器映射段M_SEGMENT的读取计数RD_CNT。此外,每当从主机102传送读取请求时,存储器系统110就可以增加总读取计数ALL_RD_CNT。存储器系统110可以准备读取计数RD_CNT大于或等于第一阈值TH1的存储器映射段M_SEGMENT。
在步骤S112和步骤S113中,当映射未命中率MISS_RATIO大于或等于第二阈值TH2时,存储器系统110可将所分类出(sorted)的存储器映射段M_SEGMENT发送到主机102。映射未命中率MISS_RATIO可以指示基于总读取计数ALL_RD_CNT和映射未命中计数MISS_CNT而计算的百分比。当存储器系统110无法从映射高速缓存1441中找到与从主机102接收的逻辑地址LBA相对应的映射信息时,可以对映射未命中计数MISS_CNT进行计数。也就是说,映射未命中计数MISS_CNT可以指示接收到不包括有效物理地址的读取请求的次数。
存储器系统110使用映射未命中率来将分类出的存储器映射段M_SEGMENT提供给主机102的原因如下。当由于主机102的访问频率高而将分类出的存储器映射段M_SEGMENT无条件地提供给主机102时,可能连续地增加上载过程,从而引起与主机102和存储器系统110之间的数据传送和接收过程相关的负担。因此,数据处理系统的性能可能下降。
在步骤S114中,主机102可以将从存储器系统110接收的一个或多个存储器映射段M_SEGMENT作为主机映射段H_SEGMENT存储在主机的内部存储空间中(例如,图2的主机存储器106)。
在步骤S115中,主机102可以基于映射信息而将物理地址PBA添加到被传送到存储器系统110的命令中。在映射操作中,主机102可以基于与被传送到存储器系统110中的命令相对应的逻辑地址,来在存储在主机映射段H_SEGMENT中的映射信息中搜索并且查找物理地址PBA。当存在并找到物理地址时,主机102可以将命令与逻辑地址和物理地址传送到存储器系统110中。
在步骤S116中,存储器系统110可以使用命令以及逻辑地址LBA和物理地址PBA来执行相应的操作。
图5和图6是示出根据实施例的数据处理系统的操作的示图。
在描述图5和图6的操作之前,数据处理系统100可以包括主机102和存储器系统110。主机102和存储器系统110可以彼此互连。主机102可以被认为是计算装置,并且以移动装置、计算机或服务器的形式实施。存储器系统110可以从主机102接收命令,并且响应于所接收的命令来存储或输出数据。
存储器系统110可以包括存储器装置150和控制器130,存储器装置150包括具有非易失性存储器单元的存储空间,并且控制器130控制存储器装置。例如,存储器系统110可以以闪速存储器或固态驱动器(SSD)的形式实施。
为了将主机102请求的数据存储在包括非易失性存储器单元的存储空间中,存储器系统110可以执行由主机102使用的文件系统与包括非易失性存储器单元的存储空间之间的映射。例如,基于由主机102使用的文件系统的地址可以被称为逻辑地址,并且包括非易失性存储器单元的存储器装置150中的地址可以被称为物理地址。
例如,控制器130可以将多个映射数据L2P存储在存储器144和存储器装置150中的多个存储块中。多个映射数据L2P可以用于指示逻辑地址和物理地址之间的映射关系。在实施例中,一个逻辑地址可以与一个物理地址(或物理位置)相关联,或与多个物理地址(或物理位置)相关联。映射数据L2P可以与对应于一个逻辑地址的一个或多个物理地址相关联。多个映射数据L2P可以构成一个映射段。
映射段可以被认为是在控制器130和存储器装置150之间传送的映射信息的单位。例如,当控制器130请求与特定逻辑地址相对应的物理地址时,控制器130可以从存储器装置150请求相应逻辑地址的映射数据L2P。在这种情况下,控制器130可不请求一个映射数据L2P,而是可以请求映射段,该映射段为包括相应逻辑地址的预设范围的逻辑地址的多个映射数据L2P。进一步地,存储器装置150可以将相应的映射段传送到控制器130。当特定映射数据L2P被更新时,控制器130可以更新加载到存储器144中的映射段中的映射数据L2P,然后在特定时间点将所更新的映射段编程到存储器装置150。
在实施例中,映射段的大小可以根据用于确定存储器系统110内的物理地址的方法、用于在存储器系统110内编程数据的方法、存储器系统110内的块的大小以及每个页面的大小而不同。
当主机102将逻辑地址与读取请求提供给控制器130时,控制器130可以基于所存储的一个或多个映射段来检索与该逻辑地址相对应的物理地址,然后将存储在检索到的物理地址处的数据输出到主机102。
如果可以由主机102来执行由控制器130执行的物理地址检索操作,则可以缩短控制器130输出与主机102提供的读取请求相对应的数据所需的时间。主机102可以存储映射数据或直接访问映射数据,以便检索物理地址并且将检索到的物理地址提供给控制器130。
参照图5,控制器130可以包括映射管理器(MM)44、主机请求管理器(HRM)46和存储器144。控制器130可以将由MM 44从多个存储器映射段中选择的存储器映射段M_SEGMENT提供给主机102。
每当从主机102接收与每个存储器映射段相关的读取请求时,HRM 46就可以增加总读取计数ALL_RD_CNT。HRM 46通过MM 44来更新映射管理数据1442中的映射未命中信息表MISS TABLE的总读取计数ALL_RD_CNT。总读取计数ALL_RD_CNT可以指示在预设操作间隔期间从外部装置(例如,主机)传送的读取命令的数量。预设操作间隔可以对应于用于计算映射未命中率MISS_RATIO的间隔,并且可以对应于用于判定传送到主机102的映射数据或映射段的间隔。
为了选择性地向主机102提供一个或多个存储器映射段,MM 44可以使用映射管理数据1442来管理多个存储器映射段。MM 44通过映射管理数据1442来管理多个存储器映射段的原因在于,主机102可能难以分配主机存储器106内的整个存储空间来存储由存储器系统110管理的全部映射数据。包含在主机102中或由主机102使用的主机存储器106的存储容量大于由控制器130使用的存储器144的存储容量,但是主机存储器106内的、分配用于存储器系统110的区域可能受到限制。因此,存储器系统110分类出包括由主机102以高频率访问的逻辑地址的存储器映射段。当由于主机102的访问频率较高而将存储器映射段无条件地提供给主机102时,连续地增加了上载过程。因此,性能可能下降。因此,映射管理数据1442可以用于通过考虑到映射未命中率来确定是否上载存储器映射段。
参照图6,映射管理数据1442可以包括映射管理表MM TABLE、映射未命中信息表MISS TABLE和阈值信息表TH TABLE。
映射管理表MM TABLE可以包括指示响应于各个索引的存储器映射段的标识符信息(即,M_SEGMENT LIST)的字段、与被加载到存储器144的每个存储器映射段M_SEGMENT相对应的读取计数RD_CNT的字段、以及候选标志CND_FLAG的字段。
读取计数RD_CNT可以指示通过对针对存储器映射段中的逻辑地址的读取命令进行计数而获得的值。也就是说,MM 44可以基于通过主机I/F 132接收的、主机102的读取请求中的逻辑地址来增加存储器映射段的读取计数。可以将读取计数RD_CNT与存储器装置150内的每个存储块的读取计数区分开,存储器装置150内的每个存储块的读取计数是当对存储块执行读取操作时被增加并且指示存储块的操作状态。
候选标志CND_FLAG指示用于表示通过读取计数RD_CNT而分类出的存储器映射段的信息,以便将该存储器映射段上载到主机102。在该实施例中,候选标志CND_FLAG可以表示为一位数据,即值0或1。例如,候选标志CND_FLAG从“0”变为“1”或从“1”变为“0”。在本实施例中,当候选标志为“1”时,可以指示相应存储器映射段是待上载至主机102的存储器映射段。
映射未命中信息表MISS TABLE可以包括总读取计数ALL_RD_CNT的字段、映射未命中计数MISS_CNT的字段以及映射未命中率(%)MISS_CNT_RATIO的字段。
总读取计数ALL_RD_CNT可以指示通过对从主机102接收的、与各个存储器映射段相关的读取请求进行计数而获得的总读取计数。每当从主机102接收到读取请求时,可以由HRM 46来增加总读取计数ALL_RD_CNT。
当MM 44不能从映射高速缓存1441中找到与从主机102接收的逻辑地址LBA相对应的映射信息时,可以对映射未命中计数MISS_CNT进行计数。
映射未命中率MISS_RATIO是由MM 44使用总读取计数ALL_RD_CNT和映射未命中计数MISS_CNT而计算的百分比。也就是说,映射未命中率MISS_RATIO是为指示映射未命中计数MISS_CNT与总读取计数ALL_RD_CNT的比率而计算的百分比。
阈值信息表TH TABLE可以包括第一阈值和第二阈值。读取计数的第一阈值(即,RD_CNT TH(TH1))可以用作分类出待传送到主机102的存储器映射段的参考值。映射未命中率的第二阈值(即,MISS_CNT TH(TH2))可以用作判定是否上载所分类出的存储器映射段的参考值。
重新参照图5,MM 44可以准备由主机102以较高频率访问的一个或多个存储器映射段M_SEGMENT,以提高存储器系统110的读取性能。也就是说,MM 44可以基于与来自主机102的读取请求相关联的逻辑地址,来计算每个存储器映射段M_SEGMENT的读取计数RD_CNT。MM 44可以在每个随机时段中,通过将读取计数RD_CNT与第一阈值TH1进行比较来准备存储器映射段M_SEGMENT。
例如,如图6所示,当第一阈值TH1为500时,MM 44检查与索引1相对应的存储器映射段11的读取计数RD_CNT是否大于或等于第一阈值TH1。由于检查结果指示存储器映射段11的读取计数RD_CNT为30,因此不能选择存储器映射段11作为待上载到主机102的存储器映射段。
另一方面,当第一阈值TH1为500时,MM 44检查与索引2相对应的存储器映射段03的读取计数RD_CNT是否大于或等于第一阈值TH1。由于检查结果指示存储器映射段03的读取计数RD_CNT为2000,因此可以选择存储器映射段03作为待上载到主机102的存储器映射段。因此,候选标志值从0改变为1。
通过这样的操作,MM 44将存储器映射段03、存储器映射段30和存储器映射段15分类为待上载到主机102的存储器映射段,以便准备存储器映射段。
当针对读取请求的操作完成之后,确定存在待上载到主机102的存储器映射段M_SEGMENT时,MM 44检查映射未命中率(%)MISS_RATIO是否大于或等于第二阈值TH2。当映射未命中率MISS_RATIO大于或等于第二阈值TH2时,MM 44可以将所分类出的存储器映射段M_SEGMENT提供给主机102。通过映射未命中率(%)MISS_RATIO来判定是否上载存储器映射段的原因在于,当由于主机102的访问频率较高而无条件地将存储器映射段提供给主机102时,上载过程被连续增加,从而降低性能。例如,当第二阈值是25%并且当前映射未命中率(%)是30%时,因为当前映射未命中率(%)大于或等于第二阈值TH2,所以映射命中率较低。因此,MM 44可以将一个或多个存储器映射段M_SEGMENT传送到主机102。
当即使MM 44意图传送存储器映射段M_SEGMENT,但是没有提前发送MM 44将向主机102传送存储器映射段M_SEGMENT的通知时,MM 44可以将该通知添加到响应RESPONSE,并且将响应RESPONSE传送给主机102,如图7所示。
当已经发送了MM 44将传送映射数据的通知时,MM 44可以将存储器映射段M_SEGMENT添加到响应RESPONSE。MM 44可以传送包括存储器映射段M_SEGMENT的响应RESPONSE。
然后,MM 44不仅重置总读取计数ALL_RD_CNT和映射未命中计数MISS_CNT,而且重置指示待上载到主机102的候选的存储器映射段M_SEGMENT的候选标志CND_FLAG。
另一方面,当映射未命中率(%)MISS_RATIO小于第二阈值TH2时,MM 44可以传送包括关于与来自主机102的命令相对应的操作是否已经完成(即,成功或失败)的信息的响应RESPONSE。
主机102可以包括主机处理器104、主机存储器106和主机控制器接口108。主机处理器104可以通过主机控制器接口108从存储器系统110接收响应RESPONSE、具有通知的响应RESPONSE WITH NOTICE和具有映射数据的响应RESPONSE WITH MAP INFO的一个或多个。主机处理器104可以检查通知是否包括在所接收的响应中。当通知包括在所接收的响应中时,主机102可以准备接收并存储可稍后传送的存储器映射段M_SEGMENT。然后,主机处理器104可以检查与先前命令相对应的响应。例如,主机处理器104可以检查响应以确定先前命令是成功还是失败。当没有通知包括在所接收的响应中时,主机处理器104可以检查存储器映射段M_SEGMENT是否包括在响应中。当所接收的响应中不包括存储器映射段M_SEGMENT时,主机处理器104可以检查与先前命令相对应的响应。当在所接收的响应中包括存储器映射段M_SEGMENT时,主机处理器104可以将响应中的存储器映射段M_SEGMENT作为主机映射段H_SEGMENT存储在主机存储器106中,或者更新已经存储在主机存储器106中的主机映射段H_SEGMENT。主机处理器104可以检查与先前命令相对应的响应。例如,主机处理器104可以检查响应以确定先前命令是成功还是失败。
图7是示出根据本实施例的数据处理系统中的主机102和存储器系统110之间的事务的示图。
参照图7,存储器系统110可以将存储器映射段M_SEGMENT传送到主机102。存储器系统110可以使用响应RESPONSE来将存储器映射段M_SEGMENT传送到主机102。
用于传送映射数据的响应可以不受特别限制。例如,存储器系统110可以使用与读取请求相对应的响应、与写入命令相对应的响应或与擦除命令相对应的响应,来将存储器映射段M_SEGMENT传送到主机102。
存储器系统110和主机102可以基于根据预设协议而设置的单位格式来交换请求和响应。例如,响应RESPONSE可以包括指示由主机102提供的请求的成功或失败的头部信息,以及指示存储器系统110的状态的附加信息。存储器系统110可以将映射数据包括在响应RESPONSE中,并且将响应RESPONSE传送到主机102。将参照图8和图9详细描述该配置。
图8是示出根据实施例的主机和存储器系统的操作的流程图。步骤S830至S846示出了存储器系统110在完成与来自主机102的请求相对应的操作之后提供存储器映射段M_SEGMENT的情况。步骤S801至S811示出了主机102存储来自存储器系统110的、与响应一起接收的存储器映射段M_SEGMENT的情况。
参照图8,在步骤S830中,控制器130可以检查与来自主机102的命令相对应的操作是否完成。在与命令相对应的操作完成之后,在步骤S832中,在传送与命令相对应的响应RESPONSE之前,控制器130可以检查是否存在待传送到主机102的存储器映射段M_SEGMENT。将参照图9描述分类出待提供给主机102的存储器映射段M_SEGMENT的方法。
当不存在待提供给主机102的存储器映射段M_SEGMENT时(在步骤S832处为“否”),在步骤S834中,控制器130可以传送包括关于与来自主机102的命令相对应的操作是否已经完成(即,成功或失败)的信息的响应RESPONSE。
当存在待提供给主机102的存储器映射段M_SEGMENT时(在步骤S832处为“是”),在步骤S836中,MM 44检查映射未命中率(%)MISS_RATIO是否大于或等于第二阈值TH2。
当映射未命中率(%)MISS_RATIO小于第二阈值TH2时(在步骤S836处为“否”),在步骤S834中,控制器130可以传送包括关于与从主机102传送的命令相对应的操作是否已经完成(即,成功或失败)的信息的响应RESPONSE。
另一方面,当映射未命中率(%)MISS_RATIO大于或等于第二阈值时(在步骤S836处为“是”),在步骤S838中,控制器130可以检查是否发送了控制器130将向主机102传送存储器映射段M_SEGMENT的通知NOTICE。通知NOTICE可以类似于参照图7描述的通知。例如,当映射未命中率(%)MISS_RATIO的第二阈值TH2为25%,并且当前映射未命中率(%)MISS_RATIO为30%时,因为当前映射未命中率(%)MISS_RATIO大于或等于第二阈值TH2,所以映射命中率较低。因此,控制器130可以将一个或多个存储器映射段M_SEGMENT传送到主机102。
当即使控制器130意图传送存储器映射段M_SEGMENT,但是没有提前发送控制器130将向主机102传送存储器映射段M_SEGMENT的通知时(在步骤S838处为“否”)时,在步骤S840中,控制器130可以将通知NOTICE添加到响应RESPONSE,并且将该响应传送到主机102。
当已经发送了控制器130将向主机102传送存储器映射段M_SEGMENT的通知时(在步骤S838处为“是”),在步骤S842中,控制器130可以将存储器映射段M_SEGMENT添加到响应中。在步骤S844中,控制器130可以传送包括存储器映射段M_SEGMENT的响应。
然后,在步骤S846中,控制器130不仅重置总读取计数ALL_RD_CNT和映射未命中计数MISS_CNT,而且还重置指示待上载到主机102的候选的存储器映射段M_SEGMENT的候选标志CND_FLAG。
在步骤S801中,主机102的主机处理器104可以从存储器系统110接收响应RESPONSE、具有通知的响应RESPONSE WITH NOTICE以及具有映射数据的响应RESPOSNEWITH MAP INFO中的一个或多个。
在步骤S803中,主机处理器104可以检查通知是否包括在所接收的响应中。如果通知包括在所接收的响应中(在步骤S803处为“是”),则在步骤S805中,主机102可以准备接收并且存储稍后可传送的存储器映射段M_SEGMENT。
在步骤S811中,主机处理器104可以检查与先前命令相对应的响应。例如,主机处理器140可以检查响应以检查先前的命令是成功还是失败。
当通知未包括在所接收的响应中时(在步骤S803处为“否”),在步骤S807中,主机处理器104可以检查存储器映射段M_SEGMENT是否包括在响应中。
当所接收的响应中不包括存储器映射段M_SEGMENT时(在步骤S807处为“否”),在步骤S811中,主机处理器104可以检查与先前命令相对应的响应。
当所接收的响应中包括存储器映射段M_SEGMENT时(在步骤S803处为“是”),在步骤S809中,主机处理器104可以将响应中的存储器映射段M_SEGMENT作为主机映射段H_SEGMENT存储在主机存储器106中,或者更新已经存储在主机存储器106中的主机映射段H_SEGMENT。例如,如图5所示,主机102可以将从存储器系统接收到的存储器映射段03、存储器映射段30和存储器映射段15分别作为主机映射段03、主机映射段30和主机映射段15进行存储。当在主机存储器中存在与该存储器映射段相对应的主机映射段时,主机102可以更新主机映射段。
然后,在步骤S811中,主机处理器104可以检查与先前命令相对应的响应。例如,主机处理器140可以检查响应以检查先前命令是成功还是失败。
图9是示出根据实施例的用于分类出候选的存储器映射段的方法的流程图。
参照图9,待提供给主机102的存储器映射段M_SEGMENT可以指示每个随机时段中的尚未提供给主机102并且读取计数大于或等于第一阈值TH1的段,或映射信息已经通过命令操作或内部操作被改变并且读取计数大于或等于第一阈值TH1的段。
在步骤S901中,控制器130检查与存储在映射管理表MM TABLE中的每个存储器映射段相对应的读取计数RD_CNT。读取计数RD_CNT可以指示当MM 44从主机102接收针对包括在每个存储器映射段中的逻辑地址的读取请求时计数的信息。
在步骤S903中,MM 44顺序地检查各个存储器映射段的读取计数RD_CNT是否大于或等于第一阈值TH1。也就是说,MM 44检查与索引1相对应的存储器映射段的读取计数是否大于或等于第一阈值TH1。
当检查结果指示与索引1相对应的存储器映射段的读取计数RD_CNT小于第一阈值TH1时(在步骤S903处为“否”),MM 44将存储器映射段的索引信息增加“1”(I++),并且再次执行步骤S901。例如,当第一阈值TH1为500时,MM 44检查与索引1相对应的存储器映射段11的读取计数RD_CNT是否大于或等于第一阈值TH1。由于检查结果指示存储器映射段11的读取计数RD_CNT为30,因此不能将该存储器映射段选择为待上载到主机102的存储器映射段。
另一方面,当与索引1相对应的存储器映射段的读取计数RD_CNT大于或等于第一阈值TH1时(在步骤S903处为“是”),在步骤S905中,MM 44可以改变与存储器映射段相对应的候选标志。例如,候选标志可以被表示为1位数据,并且从“0”改变为“1”或从“1”变为“0”。在本实施例中,当候选标志为“1”时,可以指示相应存储器映射段是待上载至主机102的存储器映射段。例如,当第一阈值TH1为500时,MM 44检查与索引2相对应的存储器映射段03的读取计数RD_CNT是否大于或等于第一阈值TH1。由于检查结果指示存储器映射段03的读取计数RD_CNT为2000,因此可以选择存储器映射段03作为待上载到主机102的存储器映射段。
图10是示出根据本实施例的数据处理系统中的主机102和存储器系统110之间的操作的示图。
参照图10,存储有映射数据的主机102可以将读取命令READ COMMAND与逻辑地址LBA和物理地址PBA传送到存储器系统110。当在主机102中存储的映射数据中存在对应于与读取命令READCOMMAND相关联的逻辑地址LBA的物理地址PBA时,主机102可以将读取命令READ COMMAND与逻辑地址LBA和物理地址PBA传送到存储器系统110。然而,当在主机102中存储的映射数据中不存在对应于与读取命令READ COMMAND相关联的逻辑地址LBA的物理地址PBA时,主机102可以仅将读取命令READ COMMAND与逻辑地址LBA,即不带有物理地址PBA的读取命令READ COMMAND传送给存储器系统110。
在图10中,已经以读取命令READ COMMAND为例进行了说明。然而,在实施例中,也可以应用主机102可以传送到存储器系统110的写入命令或擦除命令。
图11是示出根据本实施例的主机和存储器系统的操作的流程图。
步骤S1101至S1107示出了主机102向存储器系统110提供包括命令以及逻辑地址LBA和物理地址PBA的请求REQUEST的操作。步骤S1110至1124示出了接收请求的存储器系统110的特定操作。
参照图11,在步骤S1101中,主机处理器104可以生成命令和逻辑地址LBA。
在步骤S1103中,主机处理器104可以确定与逻辑地址LBA相对应的物理地址PBA_1是否包括在被高速缓存在主机存储器106中的主机映射段中。
当不存在与逻辑地址LBA相对应的物理地址时(在步骤S1103处为“否”),在步骤S1107中,主机处理器104可以向存储器系统110提供包括命令和逻辑地址LBA的请求。
当存在与逻辑地址相对应的物理地址时(在步骤S1103处为“是”),在步骤S1105中,主机处理器104可以将物理地址PBA_1添加到命令和逻辑地址LBA。在步骤S1107中,主机处理器104可以将命令与逻辑地址LBA/物理地址PBA发送到存储器系统110。也就是说,当基于从存储器系统110接收的存储器映射段M_SEGMENT而存在与逻辑地址LBA相对应的物理地址时,主机处理器104可以向存储器系统110提供包括命令和物理地址PBA_1的请求。
在步骤S1110中,控制器130可以通过主机I/F 132从外部接收请求。从外部接收的请求可以包括命令和逻辑地址LBA或逻辑地址LBA/物理地址PBA_1。
在步骤S1112中,控制器130可以增加总读取计数ALL_RD_CNT和包括该逻辑地址LBA的存储器映射段M_SEGMENT的读取计数RD_CNT。
在步骤S1114中,控制器130可以确定物理地址PBA_1是否包括在所接收的请求中。
当在所接收的请求中不包括物理地址PBA_1时(在步骤S1114处为“否”),在步骤S1120中,控制器130可以检索与包括在所接收的请求中的逻辑地址相对应的物理地址PBA_1。
当在所接收的请求中包括物理地址PBA_1时(在步骤S1114处为“是”),在步骤S1116中,控制器130可以确定物理地址PBA_1是否有效。
控制器130检查物理地址PBA_1是否有效的原因在于,在存储器系统110向主机102提供存储器映射段M_SEGMENT之后,由存储器系统110管理的存储器映射段M_SEGMENT可能被改变和更新。因此,当主机映射段H_SEGMENT与存储器映射段M_SEGMENT不匹配时,不能使用从主机102接收到的物理地址PBA_1。因此,MM 44可以确定所接收的请求REQUEST中的物理地址PBA_1是否有效。
例如,当存储器映射段M_SEGMENT在被提供给主机102之后被改变时,控制器130可以将时间标识信息(未示出)存储在存储器144中,以指示相应存储器映射段M_SEGMENT被改变。时间标识信息可以包括指示存储器映射段M_SEGMENT最近已经被改变的第一时间信息和在第一时间信息之前改变的第二时间信息,或者可以包括指示存储器映射段M_SEGMENT最近已经被改变的时间信息。MM 44可以使用时间标识信息来确定时间顺序,从而确定物理地址是否有效。当从主机102接收到逻辑地址LBA和物理地址PBA_1时,MM 44可以确定包括逻辑地址LBA的存储器映射段M_SEGMENT是否被改变,从而确定物理地址PBA_1是否有效。用于确定从主机102接收的物理地址PBA_1是否有效的方法可以根据存储器系统110的配置而不同地实施。
当所接收的请求中的物理地址PBA_1有效时(在步骤S1116处为“是”),在步骤S1124中,控制器130可以使用物理地址PBA_1来执行与该请求相对应的操作。
当所接收的请求中的物理地址PBA_1无效时(在步骤S1116处为“否”),在步骤S1118中,控制器130可以丢弃物理地址PBA_1。
在步骤S1120中,控制器130可以基于所接收的请求中的逻辑地址LBA,从映射高速缓存1441中检索与逻辑地址LBA相对应的物理地址PBA_2。
当在映射高速缓存1441中存在包括所接收的请求中的逻辑地址LBA的存储器映射段M_SEGMENT(即,映射高速缓存命中)时(在步骤S1120处为“是”),在步骤S1124中,MM 44可以使用物理地址PBA_2来执行与主机102的请求相对应的操作。也就是说,当由于包括逻辑地址LBA的存储器映射段M_SEGMENT存在于映射高速缓存1441中,所以可以使用与逻辑地址LBA相对应的物理地址PBA_2时,控制器130可以确定发生了映射命中MAP HIT。
当包括所接收的请求中的逻辑地址LBA的存储器映射段不存在于映射高速缓存1441中时(即,映射高速缓存未命中)(在步骤S1120处为“否”),在步骤S1122中,控制器130可以从存储器装置150重新加载包括逻辑地址LBA的存储器映射段M_SEGMENT,并且改变映射未命中率(%)MISS_RATIO。也就是说,当从存储器装置150重新加载存储器映射段M_SEGMENT时,MM 44可以确定发生了映射未命中MAP MISS。因此,控制器130可以增加映射未命中计数MISS_CNT。此外,控制器130可以根据映射未命中计数MISS_CNT和读取计数RD_CNT来改变映射未命中率(%)MISS_RATIO。也就是说,每当输入读取命令时,当读取计数RD_CNT增加时映射未命中率(%)MISS_RATIO可降低,并且当由于发生映射未命中而使映射未命中计数增加时,映射未命中率(%)MISS_RATIO可增加。在实施例中,MM 44可以在预定时段中重置映射未命中率(%)。
在步骤S1124中,控制器130可以使用与从存储器装置150重新加载的存储器映射段M_SEGMENT中的逻辑地址LBA相对应的物理地址PBA_3来执行与请求相对应的操作。
根据实施例,数据处理系统及其操作方法可以使用映射未命中率来管理由主机或计算装置和数据处理系统内的存储器系统共享的映射数据,从而减少了数据处理系统中可能发生的负担,并且提高了存储器系统的操作效率。
尽管出于说明性目的描述了各个实施例,但是对于本领域技术人员来说显而易见的是,在不脱离所附权利要求限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (25)
1.一种存储器系统,包括:
存储器装置;以及
控制器,包括存储器,响应于命令而生成在所述存储器装置内的与数据相对应的物理地址与从主机接收的逻辑地址之间映射的映射数据,
其中所述控制器基于与多个存储器映射段之中的每个存储器映射段相关联的每个读取计数来选择一个或多个存储器映射段,使用总读取计数和映射未命中计数来计算所述存储器的映射未命中率,并且基于所述映射未命中率来将所选择的一个或多个存储器映射段传送到所述主机。
2.根据权利要求1所述的存储器系统,其中所述控制器增加与从所述主机接收的读取请求中的逻辑地址相对应的存储器映射段的读取计数。
3.根据权利要求1所述的存储器系统,其中所述映射未命中计数指示当所述控制器无法从映射高速缓存中找到与所述逻辑地址相对应的物理地址时计数的信息。
4.根据权利要求1所述的存储器系统,其中所述总读取计数指示每当所述控制器从所述主机接收读取命令时计数的总读取计数信息。
5.根据权利要求1所述的存储器系统,其中所述映射未命中率由所述控制器使用所述总读取计数和所述映射未命中计数来计算,并且每当所述总读取计数和所述映射未命中计数增加时被改变。
6.根据权利要求1所述的存储器系统,其中所述控制器:
执行与从所述主机输入的命令相对应的操作;
将至少一些映射信息插入到关于所述命令的响应中;以及
将包括所插入的至少一些映射信息的所述响应传送到所述主机。
7.根据权利要求1所述的存储器系统,其中所述控制器:
确定从所述主机输入的命令包括逻辑地址和物理地址;
确定与所述命令一起输入的所述物理地址是否有效;
基于所述物理地址的有效性来确定是否使用所述物理地址;以及
使用所述物理地址来执行与所述命令相对应的操作。
8.根据权利要求7所述的存储器系统,其中当第一物理地址无效时,所述控制器丢弃所述第一物理地址,并且从映射高速缓存中检索与所述逻辑地址相对应的第二物理地址。
9.根据权利要求8所述的存储器系统,其中当在所述映射高速缓存中不存在与所述逻辑地址相对应的所述第二物理地址时,所述控制器重新加载包括与所述逻辑地址相对应的第三物理地址的存储器映射段,执行与所述命令相对应的操作并且增加所述映射未命中计数。
10.根据权利要求1所述的存储器系统,其中每当接收到与所述存储器映射段中的每个相关联的读取命令时,所述控制器增加与所述存储器映射段相对应的所述读取计数和所述总读取计数。
11.根据权利要求1所述的存储器系统,其中所述控制器选择所述多个存储器映射段之中的、与大于或等于第一阈值的读取计数相对应的一个或多个存储器映射段,并且改变指示待被上载到所述主机的存储器映射段的候选标志。
12.根据权利要求1所述的存储器系统,其中所述控制器将所选择的存储器映射段传送到所述主机,然后重置候选标志、所述总读取计数、所述映射未命中计数和所述映射未命中率。
13.一种存储器系统的操作方法,所述存储器系统包括存储器装置和控制器,所述控制器包括存储器,所述操作方法包括:
改变所述多个存储器映射段之中的、对应于逻辑地址的映射段的读取计数;
选择所述多个存储器映射段之中的、读取计数等于或大于第一阈值的一个或多个存储器映射段;
当所述存储器的映射未命中率大于或等于第二阈值时,判定是否将所选择的存储器映射段上载到所述主机;并且
响应于判定结果,将所选择的存储器映射段传送到所述主机。
14.根据权利要求13所述的操作方法,进一步包括:
执行与从所述主机输入的命令相对应的操作;
将至少一些映射信息插入到关于所述命令的响应中;以及
将包括所插入的至少一些映射信息的所述响应传送到所述主机。
15.根据权利要求13所述的操作方法,进一步包括:
确定从所述主机输入的命令包括逻辑地址和物理地址;
确定与所述命令一起输入的所述物理地址是否有效;
基于所述物理地址的有效性确定是否使用所述物理地址;以及
使用所述物理地址来执行与所述命令相对应的操作。
16.根据权利要求15所述的操作方法,进一步包括:
当第一物理地址无效时,由所述控制器丢弃所述第一物理地址;并且
从映射高速缓存中检索与所述逻辑地址相对应的第二物理地址。
17.根据权利要求16所述的操作方法,进一步包括:
当所述映射高速缓存中不存在与所述逻辑地址相对应的所述第二物理地址时,从所述存储器装置重新加载包括与所述逻辑地址相对应的第三物理地址的存储器映射段;并且
使用映射未命中计数和总读取计数来增加所述映射未命中率,并且执行与所述命令相对应的操作。
18.根据权利要求13所述的操作方法,进一步包括:每当接收到与所述存储器映射段中的每个相关联的读取命令时,增加与所述存储器映射段相对应的读取计数和总读取计数。
19.根据权利要求13所述的操作方法,其中选择所述多个存储器映射段中的一些存储器映射段包括:
检查与所述存储器映射段中的每个相对应的读取计数;
在所述多个存储器映射段之中选择至少一个存储器映射段,其中与所选择的存储器映射段相对应的读取计数大于或等于所述第一阈值;并且
改变指示所选择的存储器映射段的候选标志。
20.根据权利要求13所述的操作方法,其中所述控制器增加与从所述主机接收的读取请求中的逻辑地址相对应的存储器映射段的读取计数。
21.根据权利要求17所述的操作方法,其中所述映射未命中计数指示当所述控制器无法从所述映射高速缓存中找到与所述逻辑地址相对应的物理地址时计数的信息。
22.根据权利要求17所述的操作方法,其中所述总读取计数指示每当所述控制器从所述主机接收到读取命令时计数的总读取计数。
23.根据权利要求13所述的操作方法,其中所述映射未命中率由所述控制器使用所述总读取计数和所述映射未命中计数来计算,并且每当所述总读取计数和所述映射未命中计数增加时被改变。
24.根据权利要求13所述的操作方法,进一步包括:在将所述存储器映射段传送到所述主机之后,重置候选标志、总读取计数、映射未命中计数和映射未命中率。
25.一种存储器系统,包括:
存储器装置;以及
控制器,包括存储与所述存储器装置相关联的多个映射段的映射高速缓存,所述控制器:
从主机接收读取命令;
针对与所述读取命令相对应的多个映射段,确定所述映射高速缓存的映射未命中计数;
当与所选择的映射段相对应的映射未命中计数大于或等于阈值时,在所述多个映射段之中选择至少一个映射段;以及
将所选择的映射段传送到主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0044900 | 2019-04-17 | ||
KR1020190044900A KR20200122086A (ko) | 2019-04-17 | 2019-04-17 | 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831583A true CN111831583A (zh) | 2020-10-27 |
Family
ID=72829424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911285070.5A Withdrawn CN111831583A (zh) | 2019-04-17 | 2019-12-13 | 用于传送存储器系统中的映射段的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11256615B2 (zh) |
KR (1) | KR20200122086A (zh) |
CN (1) | CN111831583A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
CN117668319A (zh) * | 2024-02-01 | 2024-03-08 | 荣耀终端有限公司 | 数据查询方法、电子设备及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7030463B2 (ja) * | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
KR20210011201A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 온도 조절 방법 |
KR20200119059A (ko) | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200132047A (ko) * | 2019-05-15 | 2020-11-25 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 데이터를 전송하는 방법 및 장치 |
US11237973B2 (en) | 2019-04-09 | 2022-02-01 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
KR20210011176A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 액세스 동작 방법 및 장치 |
KR20210011216A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 메타 데이터 관리 방법 및 장치 |
KR20210014338A (ko) | 2019-07-30 | 2021-02-09 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 데이터 처리 시스템 및 데이터 저장 장치의 동작 방법 |
KR102681181B1 (ko) * | 2019-10-01 | 2024-07-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20210157537A (ko) | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
KR20230048769A (ko) * | 2021-10-05 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752417B2 (en) * | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
KR100823171B1 (ko) | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
US9720616B2 (en) | 2008-06-18 | 2017-08-01 | Super Talent Technology, Corp. | Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED) |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
US20120110259A1 (en) | 2010-10-27 | 2012-05-03 | Enmotus Inc. | Tiered data storage system with data management and method of operation thereof |
US8984222B2 (en) | 2011-09-09 | 2015-03-17 | Lsi Corporation | Methods and structure for task management in storage controllers of a clustered storage system |
US9311228B2 (en) | 2012-04-04 | 2016-04-12 | International Business Machines Corporation | Power reduction in server memory system |
US8583840B1 (en) | 2012-04-25 | 2013-11-12 | Lsi Corporation | Methods and structure for determining mapping information inconsistencies in I/O requests generated for fast path circuits of a storage controller |
KR101420754B1 (ko) | 2012-11-22 | 2014-07-17 | 주식회사 이에프텍 | 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법 |
KR102049265B1 (ko) | 2012-11-30 | 2019-11-28 | 삼성전자주식회사 | 최대절전 모드를 가지는 시스템 및 그 동작방법 |
KR20150105323A (ko) | 2013-01-08 | 2015-09-16 | 바이올린 메모리 인코포레이티드 | 데이터 스토리지 방법 및 시스템 |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US20150331624A1 (en) | 2014-05-19 | 2015-11-19 | Kabushiki Kaisha Toshiba | Host-controlled flash translation layer snapshot |
WO2016103851A1 (ja) | 2014-12-22 | 2016-06-30 | ソニー株式会社 | メモリコントローラ、情報処理システム、および、メモリ拡張領域管理方法 |
JP6460940B2 (ja) | 2015-08-06 | 2019-01-30 | 東芝メモリ株式会社 | 記憶装置およびデータ退避方法 |
US10331364B2 (en) | 2015-10-16 | 2019-06-25 | Cnex Labs, Inc. | Method and apparatus for providing hybrid mode to access SSD drive |
CN105404597B (zh) | 2015-10-21 | 2018-10-12 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
US10229051B2 (en) | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
US10198198B2 (en) | 2016-01-11 | 2019-02-05 | Toshiba Memory Corporation | Storage device that stores setting values for operation thereof |
US10157004B2 (en) | 2016-04-14 | 2018-12-18 | Sandisk Technologies Llc | Storage system and method for recovering data corrupted in a host memory buffer |
US20170300422A1 (en) | 2016-04-14 | 2017-10-19 | Micron Technology, Inc. | Memory device with direct read access |
KR102651425B1 (ko) | 2016-06-30 | 2024-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102667430B1 (ko) * | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
US10503635B2 (en) | 2016-09-22 | 2019-12-10 | Dell Products, Lp | System and method for adaptive optimization for performance in solid state drives based on segment access frequency |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
US10489313B2 (en) | 2016-10-31 | 2019-11-26 | Alibaba Group Holding Limited | Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture |
US10635584B2 (en) | 2017-06-29 | 2020-04-28 | Western Digital Technologies, Inc. | System and method for host system memory translation |
US10592408B2 (en) | 2017-09-13 | 2020-03-17 | Intel Corporation | Apparatus, computer program product, system, and method for managing multiple regions of a memory device |
JP2019056972A (ja) | 2017-09-19 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよびメモリシステムの制御方法 |
US10970226B2 (en) | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10929285B2 (en) | 2018-02-27 | 2021-02-23 | Western Digital Technologies, Inc. | Storage system and method for generating a reverse map during a background operation and storing it in a host memory buffer |
KR102624911B1 (ko) | 2018-06-13 | 2024-01-12 | 삼성전자주식회사 | 개선된 메타 데이터 관리를 통한 플래시 메모리의 내구성 향상 방법 |
KR20200022179A (ko) | 2018-08-22 | 2020-03-03 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법 |
KR20200088635A (ko) | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10860228B1 (en) | 2019-06-24 | 2020-12-08 | Western Digital Technologies, Inc. | Method to switch between traditional SSD and open-channel SSD without data loss |
US11138108B2 (en) | 2019-08-22 | 2021-10-05 | Micron Technology, Inc. | Logical-to-physical map synchronization in a memory device |
-
2019
- 2019-04-17 KR KR1020190044900A patent/KR20200122086A/ko not_active Application Discontinuation
- 2019-11-12 US US16/681,076 patent/US11256615B2/en active Active
- 2019-12-13 CN CN201911285070.5A patent/CN111831583A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022193126A1 (en) * | 2021-03-16 | 2022-09-22 | Micron Technology, Inc. | Performance benchmark for host performance booster |
CN117668319A (zh) * | 2024-02-01 | 2024-03-08 | 荣耀终端有限公司 | 数据查询方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200122086A (ko) | 2020-10-27 |
US11256615B2 (en) | 2022-02-22 |
US20200334138A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831583A (zh) | 用于传送存储器系统中的映射段的设备和方法 | |
US11030094B2 (en) | Apparatus and method for performing garbage collection by predicting required time | |
CN106874217B (zh) | 存储器系统及控制方法 | |
US11216368B2 (en) | Memory system for garbage collection using page offsets, invalid offset ratio, sequential ratio, and logical address prediction | |
CN106874211B (zh) | 存储器系统及非易失性存储器的控制方法 | |
US11249903B2 (en) | Memory system for garbage collection operation and operating method thereof | |
US10489313B2 (en) | Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture | |
US10817418B2 (en) | Apparatus and method for checking valid data in memory system | |
US10963160B2 (en) | Apparatus and method for checking valid data in block capable of storing large volume data in memory system | |
KR20200068941A (ko) | 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치 | |
US11526438B2 (en) | Memory system capable of increasing storage efficiency and operation method thereof | |
US11392309B2 (en) | Memory system for performing migration operation and operating method thereof | |
US11200178B2 (en) | Apparatus and method for transmitting map data in memory system | |
CN111831578B (zh) | 用于处理存储器系统中的不同类型数据的设备及方法 | |
US11487658B2 (en) | Memory system including plural regions storing data and operating method thereof | |
US11416410B2 (en) | Memory system, method of operating the same and data processing system for supporting address translation using host resource | |
KR20200014175A (ko) | 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치 | |
KR20200132043A (ko) | 네트워크 서버, 데이터 처리 시스템 또는 메모리 시스템에서 데이터의 속성을 공유하는 방법 및 장치 | |
KR102721567B1 (ko) | 마이그레이션 동작을 위한 메모리 시스템 및 메모리 시스템의 동작방법 | |
JP2019160347A (ja) | メモリシステムおよび制御方法 |
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: 20201027 |
|
WW01 | Invention patent application withdrawn after publication |