CN112181282A - 存储器系统、存储器控制器及用于操作存储器系统的方法 - Google Patents
存储器系统、存储器控制器及用于操作存储器系统的方法 Download PDFInfo
- Publication number
- CN112181282A CN112181282A CN202010017550.XA CN202010017550A CN112181282A CN 112181282 A CN112181282 A CN 112181282A CN 202010017550 A CN202010017550 A CN 202010017550A CN 112181282 A CN112181282 A CN 112181282A
- Authority
- CN
- China
- Prior art keywords
- memory
- host
- memory controller
- area
- reference parameter
- 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/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
- 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
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/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
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了存储器系统、存储器控制器及用于操作存储器系统的方法。存储器控制器更新用于存储映射信息的至少一部分的存储器区域的参考参数,并且基于参考参数来确定是否启用存储器区域,从而可以提供能够快速处理从主机接收的命令的存储器系统、存储器控制器和用于操作存储器系统的方法。
Description
相关申请的交叉引用
本申请要求于2019年7月5日提交的申请号为10-2019-0081023的韩国专利申请的优先权和权益,其通过引用整体并入本文。
技术领域
各个实施例总体涉及存储器系统、存储器控制器以及用于操作存储器系统的方法。
背景技术
存储器系统包括用于存储和提取数据文件的一个或多个数据存储装置。其可基于诸如计算机、服务器、移动装置(例如,智能手机、平板电脑)或任何类似电子装置的主机的请求,临时或持久地存储数据。存储器系统的示例跨度从常规的硬盘驱动器(HDD)到将数据存储在非易失性存储器中的基于半导体的数据存储装置,诸如固态驱动器(SDD)、通用闪存(UFS)装置以及嵌入式MMC(eMMC)装置。
存储器系统可进一步包括用于控制这种数据存储装置的存储器控制器。存储器控制器可从主机接收命令,以对诸如包括在存储器系统中的存储器装置的数据存储装置执行读取和写入操作。
发明内容
本申请公开的技术可在各个实施例中实施,以提供能够有效运行从主机接收的命令的存储器系统、存储器控制器及方法。
本公开技术的一些实施例涉及使主机能够快速参考必要的映射信息的存储器系统、存储器控制器和用于操作存储器系统的方法。
在一个方面,本公开技术的实施例可提供一种存储器系统,包括:存储器装置,存储逻辑地址与物理地址之间的映射信息;以及存储器控制器,与存储器装置通信以控制存储器装置。
存储器控制器可将映射信息的至少一部分存储在存储器系统外部的存储器区域中。
存储器控制器可更新存储器区域中存储的映射信息的该至少一部分的参考参数。
存储器控制器可基于该参考参数来确定是否启用存储器区域以将映射信息存储在存储器区域中。
存储器控制器可基于与从主机接收的命令相关联的工作负载信息来更新参考参数。
例如,工作负载信息可基于在预定时间段内从主机接收的读取命令或者在预定时间段内从主机接收的写入命令来确定。
再例如,工作负载信息可基于与在预定时间段内从主机接收的一个或多个命令相对应的逻辑地址的模式来确定。
又例如,工作负载信息可基于在预定时间段内响应于从主机接收的命令而参考存储器区域的频率来确定。
当存储器区域处于停用状态时,存储器控制器可基于从主机接收的命令中包括的逻辑地址是否与位于存储器控制器中的虚设存储器区域中存储的映射信息中包括的逻辑地址相匹配来更新参考参数。
在另一方面,本公开技术的实施例可提供一种存储器控制器,包括:存储器接口,用于与被配置成存储逻辑地址与物理地址之间的映射信息的存储器装置通信;以及控制电路,用于控制存储器装置。
控制电路可将映射信息的至少一部分存储在存储器控制器外部的存储器区域中。
控制电路可更新存储器区域中存储的映射信息的至少一部分的参考参数。
控制电路可基于参考参数来确定是否启用存储器区域以将映射信息存储在存储器区域中。
控制电路可基于与从主机接收的命令相关联的工作负载信息来更新参考参数。
例如,工作负载信息可基于在预定时间段内从主机接收的读取命令或者在预定时间段内从主机接收的写入命令来确定。
再例如,工作负载信息可基于与在预定时间段内从主机接收的一个或多个命令相对应的逻辑地址的模式来确定。
又例如,工作负载信息可基于在预定时间段内响应于从主机接收的命令而参考存储器区域的频率来确定。
当存储器区域处于停用状态时,控制电路可基于从主机接收的命令中包括的逻辑地址是否与位于存储器控制器中的虚设存储器区域中存储的映射信息中包括的逻辑地址相匹配来更新参考参数。
在又一方面,本公开技术的实施例可提供一种用于操作存储器系统的方法,包括:由存储器系统中包括的第一装置更新与存储用于在逻辑地址与物理地址之间映射的映射信息的至少一部分的存储器区域相关联的参考参数;并且由第一装置基于参考参数来确定是否启用存储器区域。
第二装置可包括存储器区域,第二装置不同于第一装置。
第一装置可包括存储器系统中包括的存储器控制器,并且第二装置可包括被配置成向存储器控制器传送命令的主机。
由第一装置对参考参数进行的更新可基于关于从主机接收的命令的工作负载信息来更新参考参数。
例如,工作负载信息可基于在预定时间段内从主机接收的读取命令或者在预定时间段内从主机接收的写入命令来确定。
再例如,工作负载信息可基于与在预定时间段内从主机接收的一个或多个命令相对应的逻辑地址的模式来确定。
又例如,工作负载信息可基于在预定时间段内响应于从主机接收的命令而参考存储器区域的频率来确定。
根据本公开技术的实施例,可以提供能够快速处理从主机接收的命令的存储器系统、存储器控制器和用于操作存储器系统的方法。
而且,根据本公开技术的实施例,可以提供能够允许主机快速参考必要的映射信息的存储器系统、存储器控制器和用于操作存储器系统的方法。
附图说明
图1是示意性地示出基于本公开技术的一些实施例的存储器系统的示例的框图。
图2是示意性地示出基于本公开技术的一些实施例的存储器装置的示例的框图。
图3是示意性地示出基于本公开技术的一些实施例的存储器装置的存储块的示例的示图。
图4是示意性地示出基于本公开的一些实施例的存储器控制器的示例操作的示图。
图5是示出在启用本公开的存储器区域的情况下主机和存储器控制器的示例操作的示图。
图6是示出在停用本公开的存储器区域的情况下主机和存储器控制器的操作的示例的示图。
图7是示意性地示出基于本公开的一些实施例来确定是否启用存储器区域的示例操作的示图。
图8是示意性地示出基于本公开的一些实施例来确定是否启用存储器区域的示例操作的示图。
图9是示出确定图8的工作负载的示例进程的示图。
图10是示出执行图9所示的操作的示例进程的流程图。
图11是示出确定图8的工作负载的示例进程的示图。
图12是示出执行图11所示的操作的示例进程的流程图。
图13是示出确定图8的工作负载的示例进程的示图。
图14是示出执行图13所示的操作的示例进程的流程图。
图15是示出基于本公开的一些实施例的基于虚设存储器区域来更新参考参数的示例操作的示图。
图16示出基于本公开的一些实施例的用于操作存储器系统的示例方法。
图17是示意性地示出基于本公开的一些实施例的计算系统的示例的框图。
具体实施方式
在下文中,将通过本公开技术的实施例的各个示例,参照附图详细在下面描述存储器系统、存储器控制器和用于操作存储器系统的方法。
图1是示意性地示出基于本公开技术的一些实施例的存储器系统100的示例的框图。
在实施方案中,本公开技术的存储器系统100可包括存储数据的存储器装置110和控制存储器装置110的存储器控制器120。
存储器装置110包括存储器单元阵列,并且存储器控制器120对存储器单元阵列执行存储器操作。这种存储器操作的示例可包括例如读取操作、编程操作(也称为写入操作)及擦除操作。
存储器单元阵列包括用于存储数据的多个存储器单元。在一些实施方案中,预定数量的存储器单元构成存储块,并且多个存储块构成存储器单元阵列。
在一些实施方案中,存储器装置110可包括DDR SDRAM(双倍数据速率同步动态随机存取存储器)、LPDDR4(低功率双倍数据速率4)SDRAM、GDDR(图形双倍数据速率)SDRAM、LPDDR(低功率DDR)、RDRAM(Rambus动态随机存取存储器)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
存储器装置110可具有三维阵列结构。在实施方案中,存储器装置110可以是使用本公开技术的将导电浮栅作为电荷存储层的闪速存储器。在另一实施方案中,存储器装置110可以是使用介电层作为电荷存储层的电荷撷取闪存(CTF)。
存储器装置110被配置成从存储器控制器120接收命令和地址,并且访问存储器单元阵列中通过地址选择的区域。换言之,存储器装置110可执行由命令请求的操作,并且对由地址选择的区域执行操作。
在实施方案中,存储器装置110可包括诸如闪速存储器装置的非易失性存储器装置,并且可被操作以执行编程操作、读取操作和擦除操作。在编程操作中,存储器装置110可被操作以将数据写入由地址选择的存储器单元阵列的区域中。在读取操作中,存储器装置110可从由地址选择的存储器单元阵列的区域中读取数据。在擦除操作中,存储器装置110可擦除由地址选择的存储器单元阵列的区域中存储的数据。
存储器控制器120可根据主机50的请求来控制存储器装置110的操作,或者不考虑主机50的请求而控制存储器装置110的操作。
例如,存储器控制器120可控制对存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。例如,后台操作可包括垃圾收集(GC)操作、损耗均衡(WL)操作、坏块管理(BBM)操作等。
在一些实施方案中,存储器控制器120可包括主机接口121、存储器接口122及控制电路123。
主机接口121提供用于与主机50通信的接口。控制电路123可通过主机接口121从主机50接收命令,并且控制所接收的命令的运行。
存储器接口122提供用于与存储器装置110的通信的接口。在一些实施方案中,存储器接口122可被配置成在基于控制电路123的内部控制信号执行存储器操作时提供存储器装置110与存储器控制器120之间的接口连接。
控制电路123执行存储器控制器120的一般控制操作,从而控制存储器装置110的操作。在实施方案中,控制电路123可包括处理器124和工作存储器125中的至少一个。在另一实施方案中,控制电路123可进一步包括错误检测和校正电路(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可通过运行固件操作来控制存储器控制器120的操作。为了控制存储器控制器120的一般操作并执行逻辑计算,在启动时将固件加载到工作存储器125,并且处理器124运行固件操作。例如,固件可存储在存储器装置110中,并且被加载到工作存储器125。
在一些实施方案中,固件是安装在存储器上以对存储器系统100提供控制的软件。与存储器系统100相关联的固件的示例包括,闪存转换层(FTL)、主机接口层(HIL)及闪存接口层(FIL),其中闪存转换层(FTL)执行从主机50向存储器系统100请求的逻辑地址与存储器装置110的物理地址之间的转换功能,主机接口层(HIL)被操作以分析从主机50向存储器系统100请求的命令并将该命令传输到闪存转换层(FTL),并且闪存接口层(FIL)将从闪存转换层(FTL)指示的命令传输到存储器装置110。
工作存储器125可存储固件文件、程序代码、命令,并且专用于执行存储器控制器120的操作。
在一些实施方案中,例如,作为易失性存储器,工作存储器125可包括SRAM(静态RAM)、DRAM(动态RAM)或SDRAM(同步DRAM)中的至少一种。
错误检测和校正电路126可被配置成通过使用错误检测码和错误校正码来检测和校正工作存储器125中存储的数据(例如,从存储器装置110传输的读取数据)中的一个或多个错误位。
错误检测和校正电路126可被实现为通过使用错误校正码来解码数据。错误检测和校正电路126可通过各种解码方案来实现。例如,可使用非系统代码解码方案或系统代码解码方案中的至少一种。
在一些实施方案中,错误检测和校正电路126可基于扇区来检测一个或多个错误数据位。在一些实施方案中,基于页面来执行编程(写入)操作和读取操作,并且基于块来执行擦除操作。扇区、页面和块是存储器空间的单位,扇区是与页面相比较小的单位。
在一些实施方案中,错误检测和校正电路126可计算位错误率(BER),并且可基于扇区来确定错误是否可校正。例如,在位错误率(BER)高于预定阈值的情况下,错误检测和校正电路126可确定相应的扇区是否可校正。另一方面,在位错误率(BER)低于参考值的情况下,错误检测和校正电路126可确定相应的扇区是可校正的。
错误检测和校正电路126可对所有读取数据顺序地执行错误检测和校正操作。在读取数据中包括的扇区是可校正的情况下,错误检测和校正电路126可省略对下一读取数据的相应扇区的错误检测和校正操作。如果以这种方式结束了对所有读取数据的错误检测和校正操作,则错误检测和校正电路126可检测不可校正的扇区。错误检测和校正电路126可向处理器124发送与错误数据位的位置以及错误数据位是否可被校正相关联的信息(例如,不可校正扇区的地址)。
总线127可被配置成提供存储器控制器120的组件121、122、124、125和126之间的通道。总线127可包括例如控制总线和数据总线,其中控制总线用于递送诸如命令的控制信号,数据总线用于递送数据。
存储器控制器120的上述组件121、122、124、125和126仅仅是帮助理解本公开技术的示例。组件121、122、124、125和126可被选择性地包括在存储器控制器120中,或者可省略组件121、122、124、125和126中的部分。
图2是示意性地示出基于本公开技术的一些实施例的存储器装置110的示例的框图。
在一些实施方案中,存储器装置110可包括存储器单元阵列210、地址解码器220、读取和写入电路230、控制逻辑240以及电压生成电路250。
存储器单元阵列210可包括多个存储块BLK1至BLKz(z是2或更大的自然数)。
在多个存储块BLK1至BLKz中,多个存储器单元(MC)、多个字线WL和多个位线BL可以行和列来布置。
多个存储块BLK1至BLKz可通过多个字线WL联接到地址解码器220。多个存储块BLK1至BLKz可通过多个位线BL联接到读取和写入电路230。
多个存储块BLK1至BLKz中的每一个可包括多个存储器单元。例如,多个存储器单元可以是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元可具有垂直沟道结构。
存储器单元阵列210可由二维结构的存储器单元阵列来配置,或者,视情况而定,可由三维结构的存储器单元阵列来配置。
存储器单元阵列中包括的多个存储器单元中的每一个可存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是每单元存储一位数据的单层单元(SLC)。存储器单元阵列210中包括的多个存储器单元中的每一个可以是每单元存储两位数据的多层单元(MLC)。存储器单元阵列210中包括的多个存储器单元中的每一个可以是每单元存储三位数据的三层单元(TLC)。存储器单元阵列210中包括的多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。存储器单元阵列210可包括多个存储器单元,多个存储器单元中的每一个存储5位或更多位数据。
地址解码器220、读取和写入电路230、控制逻辑240以及电压生成电路250可作为用于控制存储器单元阵列210的读取、写入和/或擦除操作的外围电路来操作。
地址解码器220可通过多个字线WL联接到存储器单元阵列210。
地址解码器220可基于控制逻辑240的控制信号来操作以基于地址选择一个或多个字线WL。
地址解码器220可通过存储器装置110中的输入/输出缓冲器(未示出)来接收地址。地址解码器220可被配置成对所接收的地址进行解码以获得块地址。地址解码器220可基于经解码的块地址来选择至少一个存储块。
地址解码器220可从电压生成电路250接收读取电压Vread和通过电压Vpass。
地址解码器220可在读取操作期间的读取电压施加操作中将读取电压Vread施加到选择的存储块中的选择的字线WL,并且可将通过电压Vpass施加到剩余的未选择字线WL。
地址解码器220可在编程验证操作中将电压生成电路250中生成的验证电压施加到选择的存储块中的选择的字线WL,并且可将通过电压Vpass施加到剩余的未选择字线WL。
地址解码器220可被配置成对所接收的地址进行解码以获得列地址。地址解码器220可将经解码的列地址提供到读取和写入电路230。
可基于页面来执行存储器装置110的读取操作和编程操作。当请求读取操作或编程操作时,提供地址信号并对其进行解码以获得块地址、行地址和/或列地址。
地址解码器220可基于块地址和行地址来选择一个存储块和一个字线。列地址可从地址解码器220获得,并被提供到读取和写入电路230。
地址解码器220可包括块解码器、行解码器、列解码器或地址缓冲器中的至少一个。
读取和写入电路230可包括多个页面缓冲器PB。读取和写入电路230可在存储器单元阵列210的读取操作中作为读取电路来操作,并且可在存储器单元阵列210的写入操作中作为写入电路来操作。
以上描述的读取和写入电路230可包括页面缓冲器电路或数据寄存器电路。例如,数据寄存器电路可包括用于保持数据的数据缓冲器,并且可进一步包括用于执行高速缓存功能的高速缓存缓冲器。
多个页面缓冲器PB可通过多个位线BL联接到存储器单元阵列210。多个页面缓冲器PB可向联接到存储器单元的位线连续地供应感测电流,以感测用于读取操作和编程验证操作的存储器单元的阈值电压(Vth),并且可借由通过感测节点来感测根据相应存储器单元的编程状态而变化的、流过选择的位线的电流中的改变来锁存感测数据。读取和写入电路230可基于由控制逻辑240提供的页面缓冲器控制信号进行操作。
在读取操作中,读取和写入电路230通过感测存储器单元的阈值电压(Vth)来临时存储读取数据,并且将数据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的多个存储块BLK1至BLKz中的一个的示例的示图。
在存储器装置110是NAND闪速存储器的实施方案中,NAND闪存单元以串和阵列的形式结合在一起,以形成较大的数据存储结构。预定数量的串结合在一起以形成存储器装置110中包括的存储块BLK。字线连接到串中相同位置的所有存储器单元,并且在存储块内定义页面PG。在以行布置多个页面PG的一些实施方案中,以列布置多个串STR。
在一些实施方案中,多个页面PG分别联接到多个字线WL,并且阵列中的多个串STR在一端连接到公共源极线,并且在另一端连接到多个位线BL中的每一个。
在存储块BLK中,可以行和列来布置多个字线WL和多个位线BL。例如,可在行(或列)方向上设置多个字线WL中的每一个,并且可在列(或行)方向上设置多个位线BL中的每一个。
在存储块BLK是NAND闪速存储器的存储块的一些实施方案中,存储器单元串中的存储器单元MC分别联接到多个字线WL,并且存储器单元串在一端联接到多个位线BL中的一个。每个存储器单元MC可包括用于存储数据的晶体管TR。
在一些实施方案中,在每个存储器单元MC中设置的晶体管TR可包括漏极、源极和栅极。晶体管TR的漏极(或源极)可直接或经由另一晶体管TR与相应的位线BL联接,并且晶体管TR的源极(或漏极)可直接或经由另一晶体管TR与源极线(其可以是接地线)联接。晶体管TR的栅极可包括浮栅FG和控制栅极CG,其中浮栅FG由电介质包围,并且栅极电压从字线WL施加到控制栅极CG。
当存储器装置110具有如图3所示的存储块结构时,可基于页面来执行读取操作和编程操作(写入操作),并且可基于存储块来执行擦除操作。
在存储块BLK中,诸如源极选择线(或漏极选择线)的第一选择线(未示出)可联接在串STR的一端与读取和写入电路230之间,并且诸如漏极选择线(或源极选择线)的第二选择线(未示出)可联接在串STR的另一端与读取和写入电路230之间。
在一些实施方案中,可在第一最外字线与第一选择线之间另外设置至少一个虚设字线。也可在第二最外字线与第二选择线之间另外设置至少一个虚设字线。
图4是示意性地示出基于本公开技术的一些实施例的存储器控制器120的示例操作的示图。
在一些实施方案中,存储器控制器120可存储用于在存储器区域EXT_MEM_AREA中的逻辑地址与物理地址之间进行映射的映射信息。在一个示例中,存储器控制器120包括存储器区域EXT_MEM_AREA。在另一示例中,存储器区域EXT_MEM_AREA在存储器控制器120外部。
在一些实施方案中,在从主机50接收到逻辑地址时,存储器系统100将该逻辑地址转换成存储器装置110中存储数据的物理地址。物理地址可包括管芯信息、平面信息、存储块信息或页面信息中的至少一个。逻辑地址与物理地址之间的映射信息可用于将每个逻辑地址映射到物理地址,并且这种逻辑和物理地址可包括逻辑和物理页面地址、逻辑和物理扇区地址以及逻辑和物理块地址。
存储器装置110可存储用于在逻辑地址与物理地址之间进行映射的映射信息。例如,存储器装置110可将该映射信息存储在映射表中。
存储器控制器120可加载映射信息中的全部或一些,并且将映射信息高速缓存在存储器控制器120的工作存储器125中。
以上描述的存储器区域EXT_MEM_AREA可包括映射信息MAP_INFO_1、MAP_INFO_2和MAP_INFO_3。映射信息可包括逻辑地址、与该逻辑地址相关联的物理地址,并且也可被称为映射数据或映射数据段。
存储器区域EXT_MEM_AREA可位于存储器系统100外部。特别地,存储器区域EXT_MEM_AREA可位于存储器控制器120的外部装置EXT_DEVICE中。
外部装置EXT_DEVICE的示例可包括主机50中包括的SRAM、DRAM、SDRAM以及NAND闪速存储器。再例如,外部装置EXT_DEVICE可以是位于主机50外部的独立存储装置。
参照图4,第一映射信息MAP_INFO_1可包括第一逻辑地址LA1和第一物理地址PA1之间的映射信息。第二映射信息MAP_INFO_2可包括第二逻辑地址LA2和第二物理地址PA2之间的映射信息。第三映射信息MAP_INFO_3可包括第三逻辑地址LA3和第三物理地址PA3之间的映射信息。
存储器控制器120可启用存储器区域EXT_MEM_AREA,以使用存储器区域EXT_MEM_AREA作为用于可由外部装置直接访问的映射信息的高速缓存存储器。例如,当存储器控制器120旨在启用存储器区域EXT_MEM_AREA时,存储器控制器120可生成启用信号SIG_ACT,相反,当存储器控制器120旨在停用存储器区域EXT_MEM_AREA时,可生成停用信号SIG_DEACT。例如,启用信号SIG_ACT和停用信号SIG_DEACT中的每一个可以是待传送到主机50的命令信号。存储器区域EXT_MEM_AREA所处于的外部装置EXT_DEVICE可接收启用信号SIG_ACT或停用信号SIG_DEACT,从而可控制用于实际启用/停用相应的存储器区域EXT_MEM_AREA的操作。
如果由存储器控制器120启用存储器区域EXT_MEM_AREA,则诸如主机50的外部装置可直接参考存储器区域EXT_MEM_AREA中存储的映射信息。也就是说,诸如主机50的装置可参考被启用的存储器区域EXT_MEM_AREA中存储的映射信息,并且可在待传送到存储器控制器120的命令信号中包括逻辑地址和对应于该逻辑地址的物理地址的值二者。
另一方面,如果由存储器控制器120停用存储器区域EXT_MEM_AREA,则主机50不参考存储器区域EXT_MEM_AREA中存储的映射信息。
以这种方式,存储器控制器120选择性地启用或停用存储器区域EXT_MEM_AREA。
如果由主机50参考存储器区域EXT_MEM_AREA中存储的映射信息,则在接收从主机50传送的命令时,存储器控制器120可使用相应命令中包括的物理地址,而不需要单独地搜索被映射到相应命令中包括的逻辑地址的物理地址。因此,如果主机50很可能参考存储器区域EXT_MEM_AREA中存储的映射信息,则启用存储器区域EXT_MEM_AREA在性能方面是有利的。
另一方面,在主机50不太可能参考存储器区域EXT_MEM_AREA中存储的映射信息的情况下,将存储器区域EXT_MEM_AREA保持在启用状态可能会在某种程度上增加系统的开销,从而使存储器系统的性能劣化。
例如,当存储器控制器120执行控制待存储在存储器区域EXT_MEM_AREA中的映射信息的操作时,可能增加系统的开销。进一步地,如果启用存储器区域EXT_MEM_AREA,则主机50在向存储器控制器120传送命令之前首先在存储器区域EXT_MEM_AREA中搜索映射信息,并且在该进程中,可能另外增加开销。
在主机50未能在存储器区域EXT_MEM_AREA中搜索到被映射到命令中包括的逻辑地址的物理地址的情况下,如在一般的FTL操作中,存储器控制器120需要在映射表中再次搜索被映射到相应逻辑地址的物理地址,因此,在某种程度上增加了用于搜索映射信息的总时间。
因此,为了使存储器控制器120快速运行由主机50指示的命令,基于本公开技术的一些实施例而实施的存储器控制器120可选择性地启用或停用存储器区域EXT_MEM_AREA。
如果存储器控制器120如上所述启用或停用存储器区域EXT_MEM_AREA,则主机50可基于存储器区域EXT_MEM_AREA是否被启用而不同地生成待传送到存储器控制器120的命令。
如下文将讨论的,主机50基于外部装置EXT_DEVICE中的存储器区域EXT_MEM_AREA是被启用还是停用来生成待传送到存储器控制器120的命令。
图5是示出在启用本公开技术的存储器区域EXT_MEM_AREA的情况下主机50和存储器控制器120的示例操作的示图。
作为示例,图5示出主机50向存储器控制器120传送针对第一逻辑地址LA1执行操作(例如,读取操作/写入操作)的命令CMD的情况。
主机50可在被启用的存储器区域EXT_MEM_AREA中包括的映射信息中搜索对应于第一逻辑地址LA1的映射信息,并且可在对应于第一逻辑地址LA1的第一映射信息MAP_INFO_1中检查对应于第一逻辑地址LA1的第一物理地址PA1。
当向存储器控制器120传送针对第一逻辑地址LA1执行操作的命令CMD时,主机50可在命令CMD中包括第一逻辑地址LA1和存储器区域EXT_MEM_AREA中被检查的第一物理地址PA1。
当存储器控制器120从主机50接收命令CMD时,存储器控制器120可将所接收的命令CMD中包括的第一物理地址PA1的值确定为待执行由相应命令CMD指示的操作的目标物理地址。在这种情况下,存储器控制器120不需要搜索存储器装置110中存储的映射信息或搜索存储器控制器120的工作存储器125中高速缓存的映射信息,以确定目标物理地址,从而在对应于目标物理地址的存储器单元上执行由相应命令CMD指示的操作。因此,存储器控制器120可快速处理从主机50接收的命令CMD。
然而,可能存在从主机50接收的命令CMD中包括的第一物理地址PA1的值与实际映射信息不匹配的情况。例如,在存储器控制器120将关于第一逻辑地址LA1的映射信息加载到存储器区域EXT_MEM_AREA之后,通过后台操作(例如,垃圾收集/损耗均衡)被映射到第一逻辑地址LA1的物理地址可能与第一物理地址PA1具有不同的值。
因此,代替原样使用相应命令CMD中包括的第一物理地址PA1的值,存储器控制器120可检查第一逻辑地址LA1是否被实际映射到第一物理地址PA1,以仅在映射正确时使用相应命令CMD中包括的第一物理地址PA1。如果第一逻辑地址LA1未被映射到第一物理地址PA1,则存储器控制器120可从存储器装置110中存储的映射信息或存储器控制器120的工作存储器125中高速缓存的映射信息中搜索第一逻辑地址LA1被实际映射到的另一物理地址。
在上文中,存储器区域EXT_MEM_AREA中包括关于与由命令CMD指示的操作相对应的第一逻辑地址LA1的映射信息。然而,在一些情况下,关于与由命令CMD指示的操作相对应的逻辑地址的映射信息不在存储器区域EXT_MEM_AREA中。在这种情况下,命令CMD仅包括与由命令CMD指示的操作相对应的逻辑地址的值,而不包括被映射到相应逻辑地址的物理地址的值。
图6是示出在停用存储器区域EXT_MEM_AREA的情况下主机50和存储器控制器120的操作的示例的示图。
在一个示例中,主机50向存储器控制器120传送对第一逻辑地址LA1执行操作(例如,读取操作/写入操作)的命令CMD。
与图5所示的示例不同,因为存储器区域EXT_MEM_AREA处于停用状态,所以主机50不参考存储器区域EXT_MEM_AREA中包括的映射信息。因此,主机50在命令CMD中包括与由命令CMD指示的操作相对应的第一逻辑地址LA1的值,但在命令CMD中不包括被映射到第一逻辑地址LA1的物理地址的值。
当存储器控制器120从主机50接收到命令CMD时,存储器控制器120需要以类似于一般FTL操作方法的方式来搜索被映射到相应命令CMD中包括的第一逻辑地址LA1的物理地址的值。例如,存储器控制器120可从存储器装置110中存储的映射信息或存储器控制器120的工作存储器125中高速缓存的映射信息中搜索被实际映射到第一逻辑地址LA1的物理地址。
如图4至图6所示,主机50和存储器控制器120的操作根据存储器区域EXT_MEM_AREA是否被启用而变化。如将在下面描述的,存储器控制器120可确定是否启用存储器区域EXT_MEM_AREA。
图7和图8是示意性地示出基于本公开技术的实施例确定是否启用存储器区域EXT_MEM_AREA的示例操作的示图。
参照图7,存储器控制器120可更新用于存储器区域EXT_MEM_AREA的参考参数REF_PARAM,并且可基于参考参数REF_PARAM来确定是否启用存储器区域EXT_MEM_AREA。当存储器控制器120旨在启用存储器区域EXT_MEM_AREA时,存储器控制器120可生成启用信号SIG_ACT,相反,当存储器控制器120旨在停用存储器区域EXT_MEM_AREA时,可生成停用信号SIG_DEACT。在一些实施方案中,可基于系统的工作负载来确定参考参数REF_PARAM。在一个示例中,可基于执行需要查找映射信息的读取或写入操作的频率来确定参考参数REF_PARAM。
可以各种方式来实现根据参考参数REF_PARAM确定是否启用存储器区域EXT_MEM_AREA的方法。例如,当参考参数REF_PARAM的值等于或大于预设阈值时,存储器控制器120可启用存储器区域EXT_MEM_AREA,并且当参考参数REF_PARAM的值小于相应阈值时,可停用存储器区域EXT_MEM_AREA。作为另一示例,当等于或大于预设阈值的参考参数REF_PARAM的值被保持预定时间段时,存储器控制器120可启用存储器区域EXT_MEM_AREA,否则,可停用存储器区域EXT_MEM_AREA。
可根据各种方法来更新上面参照图7描述的参考参数REF_PARAM。在下文中,将详细描述基于工作负载WKL更新参考参数REF_PARAM的方法。
参照图8,存储器控制器120可基于关于从主机50接收的命令CMD的工作负载WKL信息来动态地更新参考参数REF_PARAM。
可以各种方式来生成工作负载WKL信息。例如,工作负载WKL信息可包括从主机50接收的命令CMD的类型(例如,读取命令/写入命令)、对应于命令CMD的数据的大小、接收命令CMD的模式以及接收命令CMD的频率。这种工作负载WKL信息可随时间而变化,并且因此,参考参数REF_PARAM也可动态地更新。
在下文中,将参照图9至图14描述工作负载WKL信息的具体示例和存储器控制器120使用工作负载WKL信息来更新参考参数REF_PARAM并基于经更新的参考参数REF_PARAM来确定是否启用存储器区域EXT_MEM_AREA的操作的具体示例。
图9是示出确定图8的工作负载WKL的示例进程的示图。
参照图9,工作负载WKL信息可包括关于在预定时间段内从主机50接收的读取命令READ_CMD的信息,或者关于在预定时间段内从主机50接收的写入命令WRITE_CMD的信息。
可以各种方式确定基于从主机50接收的关于读取命令READ_CMD或写入命令WRITE_CMD的信息来更新参考参数REF_PARAM的方法。
例如,如果存储器区域EXT_MEM_AREA中包括关于读取命令READ_CMD中包括的逻辑地址的映射信息,则存储器控制器120可确定,因为主机50已参考存储器区域EXT_MEM_AREA中存储的映射信息,所以很可能在更晚的时候参考该映射信息。因此,存储器控制器120可更新参考参数REF_PARAM,以增加启用存储器区域EXT_MEM_AREA的可能性。
另一方面,如果存储器区域EXT_MEM_AREA中不包括关于读取命令READ_CMD中包括的逻辑地址的映射信息(或者存储器区域EXT_MEM_AREA中包括映射信息但该映射信息不同于实际的映射信息),则存储器控制器120可确定,因为主机50未参考存储器区域EXT_MEM_AREA中存储的映射信息,所以不太可能在更晚的时候参考该映射信息。因此,存储器控制器120可更新参考参数REF_PARAM,以降低启用存储器区域EXT_MEM_AREA的可能性,或者省略对参考参数REF_PARAM的更新。
作为另一示例,如果关于写入命令WRITE_CMD中包括的逻辑地址的映射信息存储在存储器区域EXT_MEM_AREA中,则存储器控制器120可确定将不再参考存储器区域EXT_MEM_AREA中存储的映射信息。这是因为,如果对逻辑地址执行了写入操作,则对应于该逻辑地址的物理地址的值被改变,并且这表示关于相应逻辑地址的现有映射信息被改变并因此不再被使用。因此,存储器控制器120可更新参考参数REF_PARAM,以降低启用存储器区域EXT_MEM_AREA的可能性。
另一方面,如果关于写入命令WRITE_CMD中包括的逻辑地址的映射信息未存储在存储器区域EXT_MEM_AREA中,则存储器控制器120可省略对参考参数REF_PARAM的更新。
即使在关于写入命令WRITE_CMD中包括的逻辑地址的映射信息存储在存储器区域EXT_MEM_AREA中的情况下,如果存在被先前生成的另一读取命令READ_CMD参考关于相应逻辑地址的映射信息的历史,则存储器控制器120可在很可能启用存储器区域EXT_MEM_AREA的方向上更新参考参数REF_PARAM,或者可省略对参考参数REF_PARAM的更新。这是因为,在主机50参考关于相应逻辑地址的映射信息的情况下,当写入命令WRITE_CMD被完全运行并且新生成了关于相应逻辑地址的映射信息时,主机50稍后很可能参考新生成的映射信息。
图10是示出执行图9所示的操作的示例进程的流程图。
在一些实施方案中,该示例进程可由以上描述的存储器控制器120来执行。进一步地,假设当参考参数REF_PARAM的值等于或大于阈值时,存储器控制器120启用存储器区域EXT_MEM_AREA,并且当参考参数REF_PARAM的值小于阈值时,停用存储器区域EXT_MEM_AREA。
首先,存储器控制器120可从主机50接收命令(S1010)。存储器控制器120首先确定从主机50接收的命令是否是读取命令READ_CMD(S1020)。
如果从主机50接收的命令是读取命令READ_CMD(S1020-是),则存储器控制器120确定所接收的读取命令READ_CMD是否参考存储器区域EXT_MEM_AREA中包括的映射信息(S1021)。
如果在步骤S1021,接收的读取命令READ_CMD参考存储器区域EXT_MEM_AREA中包括的映射信息(S1021-是),则存储器控制器120增大参考参数REF_PARAM(S1022),然后进入步骤S1040。另一方面,如果接收的读取命令READ_CMD不参考存储器区域EXT_MEM_AREA中包括的映射信息(S1021-否),则存储器控制器120立即进入步骤S1040。
如果从主机50接收的命令不是读取命令READ_CMD(S1020-否),则存储器控制器120确定接收的命令是否是写入命令WRITE_CMD(S1030)。
如果从主机50接收的命令是写入命令WRITE_CMD(S1030-是),则存储器控制器120确定接收的写入命令WRITE_CMD中包括的逻辑地址是否对应于存储器区域EXT_MEM_AREA中包括的映射信息(S1031)。
如果在步骤S1031,接收的写入命令WRITE_CMD对应于存储器区域EXT_MEM_AREA中包括的映射信息(S1031-是),则存储器控制器120减小参考参数REF_PARAM(S1032),然后进入步骤S1040。另一方面,如果接收的写入命令WRITE_CMD不对应于存储器区域EXT_MEM_AREA中包括的映射信息(S1031-否),则存储器控制器120立即进入步骤S1040。
存储器控制器120确定参考参数REF_PARAM的值是否等于或大于阈值(S1040)。如果参考参数REF_PARAM的值等于或大于阈值(S1040-是),则存储器控制器120控制存储器区域EXT_MEM_AREA被启用(S1050)。另一方面,如果参考参数REF_PARAM的值小于阈值(S1040-否),则存储器控制器120控制存储器区域EXT_MEM_AREA被停用(S1060)。
图11是示出确定图8的工作负载WKL的示例进程的示图。
参照图11,工作负载WKL信息可包括关于逻辑地址的模式CMD_PATTERN的信息,该逻辑地址对应于在预定时间段内从主机50接收的一个或多个命令CMD。
存储器控制器120可在预定时间段内从主机50接收一个或多个命令CMD,从而可从包括在预定时间段内接收的一个或多个命令CMD的命令列表CMD_LIST确定模式CMD_PATTERN。
例如,存储器控制器120可确定模式CMD_PATTERN是顺序模式还是随机模式。
模式CMD_PATTERN是顺序模式的事实可表示分别对应于命令列表CMD_LIST中包括的命令CMD的逻辑地址具有彼此连续的趋势。例如,在分别对应于命令列表CMD_LIST中包括的命令CMD的逻辑地址连续的情况下,诸如100、101、102、103、……或120、119、118、……,存储器控制器120可确定命令CMD的模式是顺序模式。然而,即使分别对应于命令列表CMD_LIST中包括的命令CMD的逻辑地址并非全部彼此连续,如果彼此连续的命令CMD的百分比等于或大于特定阈值百分比,则存储器控制器120可确定命令CMD的模式是顺序模式。
另一方面,模式CMD_PATTERN是随机模式的事实可表示分别对应于命令列表CMD_LIST中包括的命令CMD的逻辑地址不具有特定趋势。例如,在分别对应于命令列表CMD_LIST中包括的命令CMD的逻辑地址不规则地改变的情况下,诸如100、200、80、145、……或90、93、45、182、……,存储器控制器120可确定命令CMD的模式是随机模式。然而,即使命令列表CMD_LIST中包括的一些命令CMD具有特定趋势(例如,对应于命令的逻辑地址彼此连续),如果具有特定趋势的命令CMD的百分比等于或小于特定阈值百分比,则存储器控制器120可确定命令CMD的模式是随机模式。
如果以这种方式确定了模式CMD_PATTERN,则存储器控制器120可根据逻辑地址的模式CMD_PATTERN来更新参考参数REF_PARAM的值,该逻辑地址对应于在预定时间段内从主机50接收的一个或多个命令CMD。
例如,如果模式CMD_PATTERN是随机模式,则存储器控制器120可更新参考参数REF_PARAM的值,以增加启用存储器区域EXT_MEM_AREA的可能性。这是因为,如果模式CMD_PATTERN是随机模式,则有可能连续参考存储器区域EXT_MEM_AREA中存储的映射信息,并且因为,当参考了一次存储器区域EXT_MEM_AREA中存储的映射信息时,由于位置原因,稍后很可能继续参考该映射信息。
另一方面,如果模式CMD_PATTERN是顺序模式,则存储器控制器120可更新参考参数REF_PARAM的值,以降低启用存储器区域EXT_MEM_AREA的可能性。这是因为,如果模式CMD_PATTERN是顺序模式,则用于搜索映射信息的逻辑地址的值很可能顺序地改变,并且在这种情况下,很可能不会再参考被参考了一次的映射信息。
图12是示出执行图11所示的操作的示例进程的流程图。
在一些实施方案中,图12所示的操作由以上描述的存储器控制器120来执行。进一步地,假设当参考参数REF_PARAM的值等于或大于阈值时,存储器控制器120启用存储器区域EXT_MEM_AREA,并且当参考参数REF_PARAM的值小于阈值时,停用存储器区域EXT_MEM_AREA。
首先,存储器控制器120可在预定时间段内从主机50接收一个或多个命令CMD(S1210)。存储器控制器120可分析与从主机50接收的一个或多个命令CMD相对应的逻辑地址的模式CMD_PATTERN(S1220)。
存储器控制器120可确定模式CMD_PATTERN是否是随机模式(S1230)。如果模式CMD_PATTERN是随机模式(S1230-是),则存储器控制器120可增大参考参数REF_PARAM(S1231),然后可进入步骤S1250。
另一方面,在模式CMD_PATTERN不是随机模式的情况下(S1230-否),存储器控制器120可确定模式CMD_PATTERN是否是顺序模式(S1240)。如果模式CMD_PATTERN是顺序模式(S1240-是),则存储器控制器120可减小参考参数REF_PARAM(S1241),然后可进入步骤S1250。在模式CMD_PATTERN甚至不是顺序模式的情况下,存储器控制器120立即进入步骤S1250。
存储器控制器120确定参考参数REF_PARAM的值是否等于或大于阈值(S1250)。如果参考参数REF_PARAM的值等于或大于阈值(S1250-是),则存储器控制器120控制存储器区域EXT_MEM_AREA被启用(S1260)。另一方面,如果参考参数REF_PARAM的值小于阈值(S1250-否),则存储器控制器120控制存储器区域EXT_MEM_AREA被停用(S1270)。
图13是示出确定图8的工作负载WKL的示例进程的示图。
参照图13,工作负载WKL信息可包括关于参考频率REF_CNT的信息,该参考频率REF_CNT是响应于在预定时间段内从主机50接收的命令而参考存储器区域EXT_MEM_AREA的频率。
参考存储器区域EXT_MEM_AREA的事实可表示从主机50传送到存储器控制器120的命令包括存储器区域EXT_MEM_AREA中包括的映射信息的一部分。
通过确定参考频率REF_CNT,当该参考频率REF_CNT等于或大于阈值频率时,存储器控制器120可更新参考参数REF_PARAM的值以增加启用存储器区域EXT_MEM_AREA的可能性,并且当参考频率REF_CNT小于阈值频率时,可更新参考参数REF_PARAM的值以降低启用存储器区域EXT_MEM_AREA的可能性。
图14是示出执行图13所示的操作的示例进程的流程图。
在一些实施方案中,图14所示的操作由以上描述的存储器控制器120来执行。进一步地,假设当参考参数REF_PARAM的值等于或大于阈值时,存储器控制器120启用存储器区域EXT_MEM_AREA,并且当参考参数REF_PARAM的值小于阈值时,停用存储器区域EXT_MEM_AREA。
首先,存储器控制器120通过对已响应于在预定时间段内从主机50接收的命令而参考存储器区域EXT_MEM_AREA的迭代的数量进行计数来测量参考频率(S1410)。
存储器控制器120确定参考频率是否等于或大于阈值频率(S1420)。如果参考频率等于或大于阈值频率(S1420-是),则存储器控制器120增大参考参数REF_PARAM(S1430),然后进入步骤S1450。另一方面,如果参考频率小于阈值频率(S1420-否),则存储器控制器120减小参考参数REF_PARAM(S1440),然后进入步骤S1450。
存储器控制器120确定参考参数REF_PARAM的值是否等于或大于阈值(S1450)。如果参考参数REF_PARAM的值等于或大于阈值(S1450-是),则存储器控制器120控制存储器区域EXT_MEM_AREA被启用(S1460)。另一方面,如果参考参数REF_PARAM的值小于阈值(S1450-否),则存储器控制器120控制存储器区域EXT_MEM_AREA被停用(S1470)。
图15是示出基于本公开技术的实施例的基于虚设存储器区域来更新参考参数的示例操作的示图。
虚设存储器区域VIR_MEM_AREA可位于存储器控制器120内部,并且可用于在位于外部装置EXT_DEVICE中的存储器区域EXT_MEM_AREA处于停用状态的情况下更新参考参数REF_PARAM。
如果存储器区域EXT_MEM_AREA处于停用状态,则在向存储器控制器120传送命令时,主机50不再参考存储器区域EXT_MEM_AREA。因此,在根据是否参考了存储器区域EXT_MEM_AREA中存储的映射信息来更新参考参数REF_PARAM的情况下,可能出现以下问题:不再更新参考参数REF_PARAM,并且因此存储器区域EXT_MEM_AREA继续保持在停用状态。
因此,存储器控制器120可在存储器控制器120中创建虚设存储器区域VIR_MEM_AREA,并且即使当存储器区域EXT_MEM_AREA处于停用状态时,也可通过使用虚设存储器区域VIR_MEM_AREA来更新参考参数REF_PARAM。
详细地,当存储器区域EXT_MEM_AREA处于停用状态时,存储器控制器120可基于从主机50接收的命令中包括的逻辑地址和虚设存储器区域VIR_MEM_AREA中存储的映射信息中包括的逻辑地址是否彼此对应来更新参考参数REF_PARAM。然而,虚设存储器区域VIR_MEM_AREA中存储的映射信息仅用于更新参考参数REF_PARAM,而不用于确定被实际映射到从主机50接收的命令中包括的逻辑地址的物理地址。即,虚设存储器区域VIR_MEM_AREA中存储的映射信息不同于用于存储器控制器120以确定被映射到从主机50接收的命令中包括的逻辑地址的物理地址的映射信息。
例如,当存储器区域EXT_MEM_AREA处于停用状态时,如果在虚设存储器区域VIR_MEM_AREA中存储的映射信息中搜索到对应于从主机50接收的命令的逻辑地址,则存储器控制器120可增大参考参数REF_PARAM,相反,如果未搜索到,则存储器控制器120可减小参考参数REF_PARAM。
以这种方式通过虚设存储器区域VIR_MEM_AREA来更新参考参数REF_PARAM的操作可仅在存储器区域EXT_MEM_AREA处于停用状态的情况下执行。
也就是说,在存储器区域EXT_MEM_AREA从停用状态转换成启用状态的情况下,存储器控制器120可停用虚设存储器区域VIR_MEM_AREA,从而不使用虚设存储器区域VIR_MEM_AREA。此时,虚设存储器区域VIR_MEM_AREA中存储的映射信息可被加载到存储器区域EXT_MEM_AREA中或者可被擦除。
图16示出基于本公开技术的一些实施例的用于操作存储器系统100的示例方法。
参照图16,首先,用于操作存储器系统100的方法可包括更新用于存储器区域的参考参数(S1610)。逻辑地址与物理地址之间的映射信息中的全部或一些可存储在第一装置中,并且存储器区域可位于不同于第一装置的第二装置中。
第一装置可以是例如存储器系统100中包括的存储器控制器120,并且第二装置可以是例如向存储器控制器120传送命令的主机50。
在第二装置是主机50的情况下,在步骤S1610,存储器系统100中包括的存储器控制器120可基于关于从主机50接收的命令的工作负载信息来动态地更新参考参数。
如上面参照图9至图14所述,工作负载信息可包括:1)关于在预定时间段内从主机50接收的读取命令或在预定时间段内从主机50接收的写入命令的信息,2)关于与在预定时间段内从主机50接收的一个或多个命令相对应的逻辑地址的模式的信息,或3)关于通过对响应于在预定时间段内从主机50接收的命令而参考存储器区域的迭代的数量进行计数而获得的参考频率的信息。
用于操作存储器系统100的方法可包括步骤S1620,在步骤S1620中,第一装置基于参考参数来确定是否启用存储器区域。确定是否启用存储器区域的方法可与上面参照图9至图15描述的方法相同。
在一些实施方案中,存储器控制器120的上述操作可由控制电路123控制,并且可以处理器124运行(驱动)其中编程了存储器控制器120的一般操作的固件的方式来执行。
图17是示意性地示出基于本公开技术的一些实施例的计算系统1700的示例的框图。
参照图17,基于本公开技术的实施例的计算系统1700可包括存储器系统100、用于控制计算系统1700的一般操作的中央处理单元(CPU)1710、用于存储与计算系统1700的操作相关的数据和信息的RAM 1720、用于向用户提供使用环境的UI/UX(用户接口/用户体验)模块1730、用于以有线和/或无线方式与外部装置通信的通信模块1740以及用于管理计算系统1700使用的电力的电源管理模块1750,它们电联接到系统总线1760。
基于本公开技术的实施例的计算系统1700可包括PC(个人计算机)、诸如智能手机和平板电脑的移动终端或者各种电子装置。
基于实施例的计算系统1700可进一步包括用于供应操作电压的电池,并且可进一步包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM等。此外,对本领域技术人员显而易见的是,计算系统1700可包括其它组件。
存储器系统100不仅可包括诸如硬盘驱动器(HDD)的将数据存储在磁盘中的装置,而且可包括将数据存储在诸如固态驱动器(SDD)、通用闪存(UFS)装置以及嵌入式MMC(eMMC)装置的非易失性存储器中的装置。非易失性存储器可包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻式RAM)和FRAM(铁电RAM)。另外,存储器系统100可被实现为各种类型的存储装置,并且可安装在各种电子装置中。
如从以上描述中显而易见的,根据本公开技术的实施例,可提供能够快速处理从主机50接收的命令的存储器系统100、存储器控制器120和用于操作存储器系统100的方法。
而且,根据本公开技术的实施例,可提供能够允许主机50快速参考必要的映射信息的存储器系统100、存储器控制器120和用于操作存储器系统100的方法。
虽然已经出于说明性目的描述了本公开技术的示例性实施例,但本领域技术人员将理解的是,在不脱离本公开技术的范围和精神的情况下,可进行各种修改、添加和替换。因此,上面和附图中公开的实施例应当仅以描述性意义来考虑,而不用于限制技术范围。本公开技术的技术范围不受实施例和附图的限制。本公开技术的精神和范围应当由所附权利要求来解释,并且涵盖落入所附权利要求范围内的所有等同方案。
Claims (20)
1.一种存储器系统,包括存储器装置和存储器控制器,所述存储器装置存储逻辑地址与物理地址之间的映射信息,并且所述存储器控制器与所述存储器装置通信以控制所述存储器装置,
其中所述存储器控制器:
将所述映射信息的至少一部分存储在所述存储器系统外部的存储器区域中;
基于与从主机接收的命令相关联的工作负载信息,更新用于所述存储器区域中存储的所述映射信息的至少一部分的参考参数;并且
基于所述参考参数,确定是否启用所述存储器区域以将所述映射信息存储在所述存储器区域中。
2.根据权利要求1所述的存储器系统,其中基于在预定时间段内从所述主机接收的读取命令或写入命令来确定所述工作负载信息。
3.根据权利要求2所述的存储器系统,
其中在从所述主机接收到参考所述存储器区域中存储的所述映射信息的读取命令时,所述存储器控制器更新所述参考参数的值,以增加所述存储器区域的启用可能性,并且
其中在从所述主机接收到针对与所述存储器区域中存储的所述映射信息相对应的逻辑地址的写入命令时,所述存储器控制器更新所述参考参数的值,以降低所述存储器区域的启用可能性。
4.根据权利要求1所述的存储器系统,其中基于与在预定时间段内从所述主机接收的一个或多个命令相对应的逻辑地址的模式来确定所述工作负载信息。
5.根据权利要求4所述的存储器系统,
其中当所述逻辑地址的模式是随机模式时,所述存储器控制器更新所述参考参数的值,以增加所述存储器区域的启用可能性,并且
其中当所述逻辑地址的模式是顺序模式时,所述存储器控制器更新所述参考参数的值,以降低所述存储器区域的启用可能性。
6.根据权利要求1所述的存储器系统,其中基于响应于在预定时间段内从所述主机接收的命令而参考所述存储器区域的频率来确定所述工作负载信息。
7.根据权利要求6所述的存储器系统,
其中当参考所述存储器区域的频率等于或大于阈值频率时,所述存储器控制器更新所述参考参数的值,以增加所述存储器区域的启用可能性,并且
其中当参考所述存储器区域的频率小于所述阈值频率时,所述存储器控制器更新所述参考参数的值,以降低所述存储器区域的启用可能性。
8.根据权利要求1所述的存储器系统,其中当所述存储器区域处于停用状态时,所述存储器控制器基于从所述主机接收的命令中包括的逻辑地址是否与位于所述存储器控制器中的虚设存储器区域中存储的映射信息中包括的逻辑地址相匹配来更新所述参考参数。
9.根据权利要求8所述的存储器系统,其中当所述存储器区域从所述停用状态转换成启用状态时,所述存储器控制器停用所述虚设存储器区域。
10.一种存储器控制器,包括存储器接口和控制电路,所述存储器接口与存储逻辑地址与物理地址之间的映射信息的存储器装置通信,并且所述控制电路控制所述存储器装置,
其中所述控制电路:
将所述映射信息的至少一部分存储在所述存储器控制器外部的存储器区域中;
基于与从主机接收的命令相关联的工作负载信息,更新用于所述存储器区域中存储的所述映射信息的至少一部分的参考参数;并且
基于所述参考参数,确定是否启用所述存储器区域以将所述映射信息存储在所述存储器区域中。
11.根据权利要求10所述的存储器控制器,其中基于在预定时间段内从所述主机接收的读取命令或写入命令来确定所述工作负载信息。
12.根据权利要求10所述的存储器控制器,其中基于与在预定时间段内从所述主机接收的一个或多个命令相对应的逻辑地址的模式来确定所述工作负载信息。
13.根据权利要求10所述的存储器控制器,其中基于响应于在预定时间段内从所述主机接收的命令而参考所述存储器区域的频率来确定所述工作负载信息。
14.根据权利要求10所述的存储器控制器,其中当所述存储器区域处于停用状态时,所述控制电路基于从所述主机接收的命令中包括的逻辑地址是否与位于所述存储器控制器中的虚设存储器区域中存储的映射信息中包括的逻辑地址相匹配来更新所述参考参数。
15.根据权利要求14所述的存储器控制器,其中当所述存储器区域从所述停用状态转换成启用状态时,所述控制电路停用所述虚设存储器区域。
16.一种操作存储器系统的方法,包括:
基于关于从第二装置接收的命令的工作负载信息,由所述存储器系统中包括的第一装置更新与存储在逻辑地址与物理地址之间进行映射的映射信息的至少一部分的存储器区域相关联的参考参数,所述第二装置不同于所述第一装置;并且
由所述第一装置基于所述参考参数来确定是否启用所述存储器区域,
其中所述第二装置包括所述存储器区域。
17.根据权利要求16所述的方法,其中所述第一装置包括所述存储器系统中包括的存储器控制器,并且所述第二装置包括向所述存储器控制器传送命令的主机。
18.根据权利要求17所述的方法,其中基于在预定时间段内从所述主机接收的读取命令或写入命令来确定所述工作负载信息。
19.根据权利要求17所述的方法,其中基于与在预定时间段内从所述主机接收的一个或多个命令相对应的逻辑地址的模式来确定所述工作负载信息。
20.根据权利要求17所述的方法,其中基于响应于在预定时间段内从所述主机接收的命令而参考所述存储器区域的频率来确定所述工作负载信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190081023A KR102666123B1 (ko) | 2019-07-05 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR10-2019-0081023 | 2019-07-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112181282A true CN112181282A (zh) | 2021-01-05 |
Family
ID=73919549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010017550.XA Withdrawn CN112181282A (zh) | 2019-07-05 | 2020-01-08 | 存储器系统、存储器控制器及用于操作存储器系统的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11416408B2 (zh) |
CN (1) | CN112181282A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961142A (zh) * | 2020-07-20 | 2022-01-21 | 美光科技公司 | 包含各种时延和容量的存储器装置的存储器子系统 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459850A (en) | 1993-02-19 | 1995-10-17 | Conner Peripherals, Inc. | Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks |
JP4297968B2 (ja) | 2006-02-14 | 2009-07-15 | 富士通株式会社 | コヒーレンシ維持装置およびコヒーレンシ維持方法 |
US8078827B2 (en) | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
US8161304B2 (en) * | 2009-01-20 | 2012-04-17 | Microsoft Corporation | Power management for large memory subsystems |
US8819208B2 (en) * | 2010-03-05 | 2014-08-26 | Solidfire, Inc. | Data deletion in a distributed data storage system |
US8417904B2 (en) | 2010-03-17 | 2013-04-09 | Seagate Technology Llc | Garbage collection management in a data storage device |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
KR101366960B1 (ko) | 2011-12-23 | 2014-02-25 | 한양대학교 산학협력단 | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 |
US9146857B2 (en) | 2012-08-18 | 2015-09-29 | Storart Technology Co. Ltd. | Method for mapping management |
US20140089761A1 (en) | 2012-09-24 | 2014-03-27 | Zion Kwok | Method, apparatus and system for providing error correction information |
RU2604648C1 (ru) | 2012-11-30 | 2016-12-10 | Хуавэй Текнолоджиз Ко., Лтд. | Способ миграции и устройство |
US9164888B2 (en) | 2012-12-10 | 2015-10-20 | Google Inc. | Using a logical to physical map for direct user space communication with a data storage device |
WO2014110095A1 (en) | 2013-01-08 | 2014-07-17 | Violin Memory Inc. | Method and system for data storage |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9110592B2 (en) | 2013-02-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Dynamic allocation of heterogenous memory in a computing system |
US20140244897A1 (en) | 2013-02-26 | 2014-08-28 | Seagate Technology Llc | Metadata Update Management In a Multi-Tiered Memory |
US9195396B2 (en) | 2013-03-14 | 2015-11-24 | SanDisk Technologies, Inc. | Estimating access frequency statistics for storage device |
US10268584B2 (en) * | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
KR102349999B1 (ko) * | 2015-03-02 | 2022-01-10 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
US10261725B2 (en) | 2015-04-10 | 2019-04-16 | Toshiba Memory Corporation | Storage system capable of invalidating data stored in a storage device thereof |
US9507711B1 (en) | 2015-05-22 | 2016-11-29 | Sandisk Technologies Llc | Hierarchical FTL mapping optimized for workload |
KR20170002866A (ko) | 2015-06-30 | 2017-01-09 | 전자부품연구원 | 분산 환경에서 사용자 애플리케이션의 액세스 특성에 따른 적응형 캐시 관리 방법 |
KR102403253B1 (ko) | 2015-07-06 | 2022-05-30 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
TWI575374B (zh) | 2015-08-04 | 2017-03-21 | 群聯電子股份有限公司 | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
KR101631039B1 (ko) | 2015-11-30 | 2016-06-24 | (주)클로닉스 | 컴퓨터 시스템의 운영체제 및 데이터 중 불필요한 파일은 제외하는 마이그레이션 시스템 및 방법 |
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 |
TWI599880B (zh) | 2016-03-22 | 2017-09-21 | 威盛電子股份有限公司 | 非揮發性記憶體裝置及其操作方法 |
TWI592799B (zh) | 2016-07-01 | 2017-07-21 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 |
KR101867487B1 (ko) | 2016-12-23 | 2018-07-18 | 경희대학교 산학협력단 | 클라우드 환경에서 퍼지기반의 마이그레이션 시스템 및 방법 |
KR20180091296A (ko) | 2017-02-06 | 2018-08-16 | 삼성전자주식회사 | 손상된 메타 데이터를 처리하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
US10459636B2 (en) * | 2017-03-24 | 2019-10-29 | Sandisk Technologies Llc | System and method for managing data in non-volatile memory systems having multiple mapping layers |
KR20180123265A (ko) | 2017-05-08 | 2018-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6818666B2 (ja) * | 2017-09-20 | 2021-01-20 | キオクシア株式会社 | メモリシステム |
CN109582599B (zh) | 2017-09-29 | 2023-12-22 | 上海宝存信息科技有限公司 | 数据储存装置以及非挥发式存储器操作方法 |
US10558393B2 (en) | 2017-10-20 | 2020-02-11 | Qualcomm Incorporated | Controller hardware automation for host-aware performance booster |
TWI647566B (zh) * | 2018-01-19 | 2019-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10579538B2 (en) | 2018-02-21 | 2020-03-03 | Western Digital Technologies, Inc. | Predicting addresses in non-volatile storage |
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 |
CN110413199B (zh) * | 2018-04-28 | 2023-02-21 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
US10846183B2 (en) * | 2018-06-11 | 2020-11-24 | Dell Products, L.P. | Method and apparatus for ensuring data integrity in a storage cluster with the use of NVDIMM |
US10725941B2 (en) | 2018-06-30 | 2020-07-28 | Western Digital Technologies, Inc. | Multi-device storage system with hosted services on peer storage devices |
US10409511B1 (en) | 2018-06-30 | 2019-09-10 | Western Digital Technologies, Inc. | Multi-device storage system with distributed read/write processing |
US10635599B2 (en) | 2018-07-26 | 2020-04-28 | Sandisk Technologies Llc | Memory controller assisted address mapping |
US10897417B2 (en) * | 2018-09-19 | 2021-01-19 | Amazon Technologies, Inc. | Automated route propagation among networks attached to scalable virtual traffic hubs |
TWI693516B (zh) | 2018-11-13 | 2020-05-11 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 |
US10983918B2 (en) * | 2018-12-31 | 2021-04-20 | Micron Technology, Inc. | Hybrid logical to physical caching scheme |
KR20200116704A (ko) | 2019-04-02 | 2020-10-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11237953B2 (en) | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
US10908834B2 (en) * | 2019-06-28 | 2021-02-02 | Hitachi, Ltd. | Load balancing for scalable storage system |
-
2019
- 2019-12-19 US US16/721,716 patent/US11416408B2/en active Active
-
2020
- 2020-01-08 CN CN202010017550.XA patent/CN112181282A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961142A (zh) * | 2020-07-20 | 2022-01-21 | 美光科技公司 | 包含各种时延和容量的存储器装置的存储器子系统 |
Also Published As
Publication number | Publication date |
---|---|
US11416408B2 (en) | 2022-08-16 |
US20210004330A1 (en) | 2021-01-07 |
KR20210004502A (ko) | 2021-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112445733A (zh) | 存储器系统、存储器控制器以及操作方法 | |
KR20200116375A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
KR20210097353A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR20210079549A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
CN112052116A (zh) | 存储器系统、存储器控制器和元信息存储装置 | |
KR20220049109A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20210143387A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN111797036A (zh) | 存储器系统、存储器控制器及其操作方法 | |
US11625195B2 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
US11416408B2 (en) | Memory system, memory controller and method for operating memory system | |
CN114530173A (zh) | 存储器系统及其操作方法 | |
KR20220068535A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20210152706A (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
KR102666123B1 (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
KR20210025412A (ko) | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 | |
KR20200118989A (ko) | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US11995352B2 (en) | Memory controller and operating method thereof | |
US11803322B2 (en) | Memory system and operating method supporting fast boot using host memory buffer and default enabled information | |
US20240036741A1 (en) | Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state | |
US20230153200A1 (en) | Memory system, memory controller and operating method of memory system | |
KR20220101264A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220150180A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20220067070A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210105 |
|
WW01 | Invention patent application withdrawn after publication |