CN112131143A - 存储器系统、存储器控制器及元信息存储装置 - Google Patents
存储器系统、存储器控制器及元信息存储装置 Download PDFInfo
- Publication number
- CN112131143A CN112131143A CN202010084544.6A CN202010084544A CN112131143A CN 112131143 A CN112131143 A CN 112131143A CN 202010084544 A CN202010084544 A CN 202010084544A CN 112131143 A CN112131143 A CN 112131143A
- Authority
- CN
- China
- Prior art keywords
- requests
- memory
- mapping
- miss
- hit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- 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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- 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
-
- 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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/0877—Cache access modes
- G06F12/0884—Parallel mode, e.g. in parallel with main memory or CPU
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/60—Details of cache memory
- G06F2212/603—Details of cache memory of operating mode, e.g. cache mode or local memory mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
Abstract
本公开的实施例涉及一种存储器系统、存储器控制器及操作方法。实施例接收针对存储器装置的多个请求,对于多个所接收的请求确定命中请求的数量和未命中请求的数量,并且确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作,从而最小化处理多个请求所需的时间。
Description
相关申请的交叉引用
本申请要求于2019年6月24日提交的申请号为10-2019-0074714的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的实施例涉及存储器系统、存储器控制器及操作方法。
背景技术
存储器系统基于诸如计算机、移动终端(例如,智能电话、平板PC等)或各种其它电子装置的任意一种的主机的请求来存储数据。存储器系统可以包括用于将数据存储在诸如固态驱动器(SSD)、通用闪存(UFS)装置、嵌入式MMC(eMMC)装置等的非易失性存储器中的装置,以及将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置。
存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于所接收的命令可以执行或控制从/或到存储器系统中的易失性存储器或非易失性存储器的读取、写入或擦除数据的操作。另外,存储器控制器可以驱动用于执行逻辑运算的固件以运行或控制这些操作。
传统的存储器系统处理许多请求以执行读取、写入或擦除数据的操作。该请求指示对存储器装置的任意一种上述操作的细节。在这种情况下,传统的存储器系统需要很长时间来确定该请求的处理顺序并读取处理请求中的每一个所必需的映射数据。
发明内容
本公开的实施例可以提供一种能够最小化处理多个请求所需的时间的存储器系统、存储器控制器及操作方法。
另外,本公开的实施例可以提供一种能够快速确定命中映射高速缓存的请求的数量以及未命中映射高速缓存的请求的数量的存储器系统、存储器控制器及操作方法。
在一个方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括存储器装置和存储器控制器,存储器装置包括多个平面。
存储器控制器可以接收针对存储器装置的多个请求。
存储器控制器可以在多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在映射高速缓存中的任意映射段的未命中请求的数量。
基于命中请求的数量和未命中请求的数量,存储器控制器可以确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
当未命中请求的数量大于或等于第一阈值计数时,存储器控制器可以并行地执行针对未命中请求的全部或一些映射数据读取操作。
当存储器控制器并行地执行针对未命中请求的全部或一些映射数据读取操作时,存储器控制器可以对存储器装置中的不同平面处理针对未命中请求的全部或一些映射数据读取操作。
在这种情况下,存储针对各个未命中请求的映射数据的页面可以彼此不同。
在这种情况下,存储针对未命中请求中的每一个的映射数据的存储器单元阵列可以由单层单元配置。
当命中请求的数量大于或等于第二阈值计数时,存储器控制器可以并行地执行针对命中请求的全部或一些用户数据读取操作。
存储器控制器可以基于与加载在映射高速缓存中的映射段中的每一个相对应的逻辑地址区域,在多个请求之中确定目标请求是否命中加载在映射高速缓存中的任意映射段。
存储器控制器可以基于与加载在映射高速缓存中的映射段中的每一个相对应的代表信息,在多个请求之中确定目标请求是否命中加载在映射高速缓存中的任意映射段。
在这种情况下,与映射段中的每一个相对应的代表信息可以包括用于映射段中的每一个的逻辑地址区域的开始逻辑地址和结束逻辑地址。
在这种情况下,与映射段中的每一个相对应的代表信息可以包括代码,该代码是通过对映射段的每一个中包括的逻辑地址执行运算而获得的结果值。
在另一方面,本公开的实施例可以提供一种存储器控制器,该存储器控制器包括存储器接口和控制电路,该存储器接口被配置为与包括多个平面的存储器装置进行通信。
控制电路可以接收针对存储器装置的多个请求。
控制电路可以在多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在映射高速缓存中的任意映射段的未命中请求的数量。
基于命中请求的数量和未命中请求的数量,控制电路可以确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
当未命中请求的数量大于或等于第一阈值计数时,控制电路可以并行地执行针对未命中请求的全部或一些映射数据读取操作。
当控制电路并行地执行针对未命中请求的全部或一些映射数据读取操作时,控制电路可以对存储器装置中包括的不同平面处理针对未命中请求的全部或一些映射数据读取操作。
在这种情况下,存储针对各个未命中请求的映射数据的页面可以彼此不同。
在这种情况下,存储针对未命中请求中的每一个的映射数据的存储器单元阵列可以由单层单元配置。
如果命中请求的数量等于或大于第二阈值计数,则控制电路可以并行地执行针对命中请求的全部或一些用户数据读取操作。
控制电路可以基于与加载在映射高速缓存中的映射段中的每一个相对应的逻辑地址区域,在多个请求之中确定目标请求是否命中加载在映射高速缓存中的任意映射段。
控制电路可以基于与加载在映射高速缓存中的映射段中的每一个相对应的代表信息,在多个请求之中确定目标请求是否命中加载在映射高速缓存中的任意映射段。
在这种情况下,与映射段中的每一个相对应的代表信息可以包括映射段中的每一个的逻辑地址区域的开始逻辑地址和结束逻辑地址。
在这种情况下,与映射段中的每一个相对应的代表信息可以包括代码,该代码是通过对映射段的每一个中包括的逻辑地址执行运算而获得的结果值。
在另一方面,本公开的实施例可以提供一种操作存储器系统的方法,该存储器系统包括存储器装置和存储器控制器,存储器装置包括多个平面,存储器控制器被配置为控制该存储器装置。
操作存储器系统的方法可以包括以下步骤:由存储器控制器接收针对存储器装置的多个请求。
操作存储器系统的方法可以包括以下步骤:在多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在映射高速缓存中的任意映射段的未命中请求的数量。
操作存储器系统的方法可以包括以下步骤:基于命中请求的数量和未命中请求的数量,确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
在另一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括存储器装置,该存储器装置被配置为对存储用户数据和映射段集的多个平面之中的不同平面执行并行映射段读取操作。
存储器系统可以包括被配置为高速缓存该集的子集的映射高速缓存。
存储器系统可以包括控制电路,该控制电路被配置为,当在子集内在随请求一起提供的逻辑地址上发生阈值数量或更多的高速缓存命中时,分别响应于特定数量的请求来控制存储器装置执行顺序的映射段读取操作。
根据本公开的实施例,可以最小化处理多个请求所需的时间。
另外,根据本公开的实施例,可以快速地确定命中映射高速缓存的请求的数量和未命中映射高速缓存的请求的数量。
附图说明
通过下面结合附图的详细描述,本公开的上述和其它方面、特征和优点将更显而易见,其中:
图1是示意性地示出根据本公开的实施例的存储器系统的配置的示图;
图2是示意性地示出根据本公开的实施例的存储器装置的框图;
图3是示意地示出根据本公开的实施例的存储器装置的各个存储块的示图;
图4是示出根据本公开的实施例的存储器装置的字线和位线的结构的示图;
图5是示意性地示出根据本公开的实施例的存储器系统的操作的示图;
图6是示出根据本公开的实施例的在存储器系统中并行处理读取操作的示图;
图7是示出参照图5描述的存储器系统的操作的示例的流程图;
图8是示出根据本公开的实施例的针对存储器系统中的不同平面的映射数据读取操作方法的示例的示图;
图9是示出根据本公开的实施例的针对存储器系统中的不同平面的映射数据读取操作方法的另一示例的示图;
图10是示出根据本公开的实施例的针对存储器系统中的不同平面的映射数据读取操作方法的另一示例的示图;
图11是示出根据本公开的实施例的确定目标请求是否命中存储器系统中的映射高速缓存的操作方法的示例的示图;
图12是示出根据本公开的实施例的确定目标请求是否命中存储器系统中的映射高速缓存的操作方法的另一示例的示图;
图13是示出根据本公开的实施例的确定目标请求是否命中存储器系统中的映射高速缓存的操作方法的另一示例的示图;
图14是示出根据本公开的实施例的操作存储器系统的方法的流程图;以及
图15是示出根据本公开的实施例的计算系统的配置的示图。
具体实施方式
下面参照附图详细描述本公开的各个实施例。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。
图1是示意性地示出根据本公开的实施例的存储器系统100的配置的示图。
参照图1,存储器系统100可以包括用于存储数据的存储器装置110、用于控制存储器装置110的存储器控制器120,等等。
存储器装置110包括多个存储块,并且响应于存储器控制器120的控制而操作。在这种情况下,存储器装置110的操作可以包括例如读取操作、编程操作(也称为“写入操作”)、擦除操作等。
存储器装置110可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元(在下文中简称为“单元”)。这样的存储器单元阵列可以存在于存储块内部。
例如,存储器装置110可以被实施为诸如以下的各种类型中的任意一种:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)、rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。
存储器装置110可以被实施为三维阵列结构。本公开的实施例可以应用于电荷存储层由绝缘膜形成的电荷撷取闪存(CTF),以及电荷存储层由导电浮栅形成的闪速存储器装置。
存储器装置110被配置为从存储器控制器120接收命令、地址等,并访问存储器单元阵列中由地址选择的区域。也就是说,存储器装置110可以对由地址选择的区域执行与命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在这方面,在编程操作期间,存储器装置110将数据编程在由地址选择的区域中。在读取操作中,存储器装置110从由地址选择的区域读取数据。在擦除操作中,存储器装置110擦除由地址选择的区域中存储的数据。
存储器控制器120可以控制对存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括例如垃圾收集(GC)、损耗均衡(WL)、坏块管理(BBM)等中的至少一种。
存储器控制器120可以根据主机(HOST)的请求来控制存储器装置110的操作。可选地,存储器控制器120可以控制存储器装置110的操作,而不考虑主机的请求。
存储器控制器120和主机可以是独立的装置。在某些情况下,存储器控制器120和主机可以被集成到一个装置中。在下面的描述中,通过示例的方式,存储器控制器120和主机被考虑彼此分离。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123等,并且可以进一步包括主机接口121等。
主机接口121提供用于与主机通信的接口。
控制电路123可以通过主机接口121从主机接收命令,并且可以处理所接收的命令。
存储器接口122连接到存储器装置110,以便提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而提供存储器装置110与存储器控制器120之间的接口。
控制电路123执行存储器控制器120的全部控制操作,从而控制存储器装置110。为此,例如,控制电路123可以包括处理器124、工作存储器125等中的至少一个。在某些情况下,控制电路123可以进一步包括错误检测和校正电路(ECC电路)126。
处理器124可以控制存储器控制器120的全部操作,并且可以执行逻辑运算。处理器124可以通过主机接口121与主机通信,并且可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过闪存转换层(FTL)将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。闪存转换层(FTL)可以接收逻辑块地址(LBA),并且可以通过映射表将其转换为物理块地址(PBA)。
根据映射单元,存在通过闪存转换层映射地址的几种方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器124被配置为使从主机接收的数据随机化。例如,处理器124可以使用随机化种子来使从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供给存储器装置110,并且被编程在存储器单元阵列中。
处理器124被配置为在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机。
处理器124可以运行固件(FW),以控制存储器控制器120的操作。换言之,处理器124可以在启动时运行(驱动)加载在工作存储器125中的固件,以便控制存储器控制器120的全部操作并执行逻辑运算。
固件是在存储器系统100中运行的程序,并且可以包括各种功能层。
例如,固件可以包括以下至少一个:闪存转换层(FTL),其执行由主机向存储器系统100请求的逻辑地址和存储器装置110的物理地址之间的转换;主机接口层(HIL),其向作为存储装置的存储器系统100解释由主机请求的命令并将该命令传送到闪存转换层(FTL);闪存接口层(FIL),其将由闪存转换层(FTL)指示的命令传送到存储器装置110;等等。
固件例如可以被存储在存储器装置110中,然后可以被加载在工作存储器125中。
工作存储器125可以存储用于驱动存储器控制器120所必需的固件、程序代码、命令或数据。工作存储器125可以包括例如作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等中的至少一种。
错误检测和校正电路126可以被配置为使用错误校正码来检测待检查的数据的错误位,并且对所检测到的错误位进行校正。这里,待检查的数据可以是例如工作存储器125中存储的数据或从存储器装置110读取的数据。
可以实施错误检测和校正电路126,以便利用错误校正码对数据进行解码。错误检测和校正电路126可以被实施为各种码解码器中的任意一种。例如,可以使用执行非系统码解码的解码器或执行系统码解码的解码器。
例如,错误检测和校正电路126可以针对每条读取数据以扇区为单位检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。该扇区可以表示比作为闪速存储器的读取单位的页面更小的数据单位。构成每条读取数据的扇区可以通过地址彼此对应。
错误检测和校正电路126可以生成位错误率(BER),并且可以以扇区为单位确定是否可能校正。如果位错误率(BER)高于参考值,则错误检测和校正电路126可以确定相应的扇区是不可校正的(失败的)。另一方面,如果位错误率(BER)低于参考值,则错误检测和校正电路126可以确定相应的扇区是可校正的(通过的)。
错误检测和校正电路126可以针对所有读取数据顺序地执行错误检测和校正操作。如果读取数据中包括的扇区是可校正的,则错误检测和校正电路126可以针对下一个读取数据省略对相应扇区的错误检测和校正操作。如果如上所述完成了对所有读取数据的错误检测和校正操作,则错误检测和校正电路126可以将被确定为不可校正的扇区检测为最后一个。可以将一个或多个扇区确定为是不可校正的。错误检测和校正电路126可以将关于被确定为不可校正的扇区的信息(例如,地址信息)传送到处理器124。
总线127可以被配置为提供存储器控制器120的组件121、122、124、125和126之间的通道。总线127可以包括例如用于传送各种控制信号、命令等的控制总线,以及用于传送各种数据的数据总线。
存储器控制器120的上述组件121、122、124、125和126代表示例性配置。在一些情况下,可以排除存储器控制器120的这些组件121、122、124、125和126中的一个或多个,或者可以将其集成到一个元件中。在某些情况下,除了存储器控制器120的上述组件之外,可以添加一个或多个其它组件。
参照图2更详细地描述存储器装置110。
图2是示意性地示出根据本公开的实施例的存储器装置110的框图。
参照图2,存储器装置110可以包括存储器单元阵列210、地址解码器220、读取和写入电路230、控制逻辑240以及电压生成电路250。
存储器单元阵列210可以包括多个存储块(BLK1)至(BLKz)(其中,z是2或更大的自然数)。
在多个存储块(BLK1)至(BLKz)中,多个字线(WL)和多个位线(BL)可以以交叉布置来设置,并且多个存储器单元(MC)可以布置在各个交叉点处。
多个存储块(BLK1)至(BLKz)可以通过多个字线(WL)连接到地址解码器220。多个存储块(BLK1)至(BLKz)可以通过多个位线(BL)连接到读取和写入电路230。
多个存储块(BLK1)至(BLKz)中的每一个可以包括多个存储器单元。例如,多个存储器单元可以是具有垂直沟道结构的非易失性存储器单元。
存储器单元阵列210可以被配置为二维结构,或者在某些情况下,可以被配置为三维结构。
存储器单元阵列210中的多个存储器单元中的每一个可以存储至少一位数据。例如,每个这样的存储器单元可以是存储一位数据的单层单元(SLC)、存储两位数据的多层单元(MLC)、存储三位数据的三层单元(TLC)或存储4位数据的四层单元(QLC)。作为另一示例,存储器单元阵列210可以包括多个更高存储容量的存储器单元,该每个存储器单元存储五位或更多位数据。
参照图2,地址解码器220、读取和写入电路230、控制逻辑240以及电压生成电路250可以共同操作为用于驱动存储器单元阵列210的外围电路。
地址解码器220可以通过多个字线(WL)连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的控制而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以根据经解码的块地址选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压(Vread)和通过电压(Vpass)。
在读取操作期间施加读取电压的情况下,地址解码器220可以将读取电压(Vread)施加至所选择存储块中的所选择字线(WL),并且可以将通过电压(Vpass)施加到剩余未选择字线(WL)。
在编程验证操作中,地址解码器220可以将从电压生成电路250生成的验证电压施加到所选择存储块中的所选择字线(WL),并且可以将通过电压(Vpass)施加到剩余未选择字线(WL)。
地址解码器220可以被配置为对所接收地址的列地址进行解码。地址解码器220可以将经解码的列地址传送到读取和写入电路230。
可以以页面为单位执行存储器装置110的读取操作和编程操作。在请求读取操作和编程操作时接收的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以根据块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器220进行解码,以被提供给读取和写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器、地址缓冲器等中的至少一个。
读取和写入电路230可以包括多个页面缓冲器(PB)。读取和写入电路230可以在存储器单元阵列210的读取操作期间作为“读取电路”来操作,并且可以在写入操作期间作为“写入电路”来操作。
上述读取和写入电路230也可以被称为包括多个页面缓冲器(PB)的“页面缓冲器电路”或“数据寄存器电路”。这里,读取和写入电路230可以包括用于数据处理功能的数据缓冲器,并且在某些情况下,可以进一步包括用于高速缓存功能的高速缓存缓冲器。
多个页面缓冲器(PB)可以通过多个位线(BL)连接到存储器单元阵列210。为了在读取操作和编程验证操作期间感测存储器单元的阈值电压(Vth),多个页面缓冲器(PB)可以继续向连接到存储器单元的位线(BL)供应感测电流,并且可以根据相应存储器单元的编程状态检测流过感测节点的电流量的变化,然后被锁存为感测数据。
读取和写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作中,读取和写入电路230感测存储器单元的数据以临时存储读取数据,然后将数据(DATA)输出到存储器装置110的输入/输出缓冲器。在实施例中,读取和写入电路230可以包括列选择电路以及页面缓冲器(PB)或页面寄存器。
控制逻辑240可以连接到地址解码器220、读取和写入电路230、电压生成电路250等。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令(CMD)和控制信号(CTRL)。
控制逻辑240可以被配置为响应于控制信号(CTRL)控制存储器装置110的全部操作。控制逻辑240可以输出用于调整多个页面缓冲器(PB)的感测节点的预充电电势电平的控制信号。
控制逻辑240可以控制读取和写入电路230,以执行存储器单元阵列210的读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号来生成在读取操作中使用的读取电压(Vread)和通过电压(Vpass)。
图3是示意性地示出根据实施例的存储器装置110的每个存储块(BLK)的示图。
参照图3,存储器装置110中包括的存储块(BLK)可以被配置为例如彼此交叉的多个页面(PG)和多个串(STR)。
多个页面(PG)对应于多个字线(WL),并且多个串(STR)对应于多个位线(BL)。
多个字线(WL)和多个位线(BL)可以被布置为在存储块(BLK)中彼此交叉。例如,多个字线(WL)可以沿行方向布置,并且多个位线(BL)可以沿列方向布置。作为另一示例,多个字线(WL)可以沿列方向布置,并且多个位线(BL)可以沿行方向布置。
多个字线(WL)和多个位线(BL)彼此交叉,从而限定了多个存储器单元(MC)。晶体管(TR)可以设置在每个存储器单元(MC)中。
例如,设置在每个存储器单元(MC)中的晶体管(TR)可以包括漏极、源极、栅极等。晶体管(TR)的漏极(或源极)可以直接地或经由另一晶体管(TR)连接到相应的位线BL。晶体管(TR)的源极(或漏极)可以直接地或经由另一晶体管(TR)连接到源极线(可以是接地)。晶体管(TR)的栅极可以包括由绝缘体围绕的浮置栅极(FG)和从字线(WL)施加栅极电压的控制栅极(CG)。
多个存储块(BLK1)至(BLKz)中的每一个可以进一步包括布置在更靠近读写和写入电路230的第一最外侧字线外部的第一选择线(也称为“源极选择线”或“漏极选择线”)以及布置在第二最外侧字线外部的第二选择线(也称为“漏极选择线”或“源极选择线”)。
在某些情况下,可以在第一最外侧字线和第一选择线之间进一步布置一个或多个虚设(dummy)字线。另外,可以在第二最外侧字线和第二选择线之间进一步布置一个或多个虚设字线。
利用如图3所示的存储块结构,可以以页面为单位执行读取操作和编程操作(写入操作),并且可以以存储块为单位执行擦除操作。
图4是示出根据本公开的实施例的存储器装置110的字线(WL)和位线(BL)的结构的示图。
参照图4,存储器装置110包括聚集有存储器单元(MC)的内核区域和与该内核区域以外的区域相对应的辅助区域,用于支持存储器单元阵列210的操作。
内核区域可以包括页面PG和串(STR)。在内核区域中,将多个字线(WL1至WL9)和多个位线(BL)布置成彼此交叉。
多个字线(WL1至WL9)可以连接到行解码器410,并且多个位线(BL)可以连接到列解码器420。可以在多个位线(BL)和列解码器420之间设置对应于读取和写入电路230的数据寄存器430。
多个字线(WL1至WL9)对应于多个页面(PG)。
例如,如图4所示,多个字线(WL1至WL9)中的每一个可以对应于一个页面(PG)。可选地,如果多个字线(WL1至WL9)中的每一个具有大尺寸,则多个字线(WL1至WL9)中的每一个可以对应于两个或更多(例如,两个或四个)页面(PG)。页面(PG)可以是用于执行编程操作和读取操作的最小单位。同一页面(PG)中的所有存储器单元(MC)可以在编程操作和读取操作期间同时执行操作。
多个位线(BL)可以被划分为奇数位线(BL)和偶数位线(BL),它们可以连接到列解码器420。
为了访问存储器单元(MC),地址可以经由输入/输出端子通过行解码器410和列解码器420首先进入内核区域,并且可以指定目标存储器单元。指定目标存储器单元意味着访问连接到行解码器410的字线(WL1至WL9)和连接到列解码器420的位线(BL)彼此交叉的位置处的存储器单元(MC),以便向其编程数据或从其读取经编程的数据。
第一方向(例如,X轴方向)上的页面(PG)通过字线(WL)的公共线来界定,并且第二方向(例如Y轴方向)上的串(STR)通过位线(BL)的公共线来界定(连接)。通过公共线界定的线意味着该线与具有相同结构的材料连接并且将相同的电压同时施加到该线。在这种情况下,由于电压下降,施加到最前面的存储器单元(MC)的电压可能与施加到串联连接的中间位置的存储器单元(MC)或施加到最后面的存储器单元(MC)的电压略有不同。
由于存储器装置110的所有数据处理都是由通过数据寄存器430的编程和读取来执行,因此数据寄存器430起着关键的作用。如果数据寄存器430的数据处理缓慢,则所有其它区域必须等待,直到数据寄存器430完成数据处理为止。另外,如果数据寄存器430的性能劣化,则存储器装置110的整体性能可能降低。
参照图4中的示例,一个串(STR)可以具有连接到多个字线(WL1至WL9)的多个晶体管(TR1至TR9)。设置有多个晶体管(TR1至TR9)的区域与存储器单元(MC)相对应。多个晶体管(TR1至TR9)是如上所述的包括控制栅极(CG)和浮置栅极(FG)的晶体管。
多个字线(WL1至WL9)包括两个最外侧字线(WL1)和(WL9)。就信号路径而言,第一选择线(DSL)可以进一步布置在更靠近数据寄存器430的第一最外侧字线(WL1)的外部,并且第二选择线(SSL)可以进一步布置在两个最外侧字线(WL1)和(WL9)之中的第二最外侧字线(WL9)的外部。
由第一选择线(DSL)导通和关断的第一选择晶体管(D-TR)仅具有连接到第一选择线(DSL)的栅电极,并且不包括浮置栅极(FG)。由第二选择线(SSL)导通和关断的第二选择晶体管(S-TR)仅具有连接到第二选择线(SSL)的栅电极,并且不包括浮置栅极(FG)。第一选择晶体管(D-TR)用作开关,以导通或关断相应的串(STR)和数据寄存器430之间的连接。第二选择晶体管(S-TR)用作开关,以导通或关断相应的串(STR)和源极线(SL)之间的连接。也就是说,第一选择晶体管(D-TR)和第二选择晶体管(S-TR)设置在串(STR)的两端,并且用作用于连接和断开信号的网守(gatekeeper)。
由于存储器系统100在编程操作期间必须将电子填充到待编程的位线(BL)的目标存储器单元(MC)中,所以存储器系统100将设置的导通电压(Vcc)施加到第一选择晶体管(D-TR)的栅电极,从而导通第一选择晶体管(D-TR),并且将设置的关断电压(例如,0V)施加到第二选择晶体管(S-TR)的栅电极,从而关断第二选择晶体管(S-TR)。导通和关断电压可以是预定的。
在读取操作或验证操作期间,存储器系统100导通第一选择晶体管(D-TR)和第二选择晶体管(S-TR)二者。因此,电流可以通过相应的串(STR)到达对应于接地的源极线(SL),从而可以测量位线(BL)的电压电平。然而,在读取操作中,第一选择晶体管(D-TR)和第二选择晶体管(S-TR)之间的通断定时可能有所不同。
在擦除操作期间,存储器系统100可以通过源极线(SL)将设置电压(例如,+20V)供应到衬底。在擦除操作中,存储器系统100使第一选择晶体管(D-TR)和第二选择晶体管(S-TR)都浮置以产生无限电阻。因此,该结构被配置为使得第一选择晶体管(D-TR)和第二选择晶体管(S-TR)的作用被消除,并且使得电子仅通过浮置栅极(FG)与衬底之间的电势差来移动。
图5是示意性地示出根据本公开的实施例的存储器系统100的操作的示图。
参照图5,存储器系统100的存储器控制器120可以接收针对存储器装置100的多个请求。
在这种情况下,可以从主机(HOST)传送多个请求,或者可以在存储器系统100中生成多个请求(例如,在垃圾收集操作期间用于读取有效页面的请求)。
多个请求中的每一个可以指示对存储器装置100的特定操作(例如,数据读取操作)。可以根据设定条件来确定多个请求。例如,可以从主机接收多个请求,或者可以在设定的时间段内在存储器系统100中生成多个请求。
在下文中,假定存在N个请求(N是2或更大的自然数)(REQ_1、REQ_2、REQ_3、……、和REQ_N)。
存储器控制器120可以在多个所接收的请求之中确定命中了映射高速缓存(MAP_CACHE)中加载的任意映射段的命中请求(HIT_REQ)的数量(HIT_CNT)以及未命中映射高速缓存(MAP_CACHE)中加载的任意映射段的未命中请求(MISS_REQ)的数量(MISS_CNT)。
映射高速缓存(MAP_CACHE)可以高速缓存映射信息,使得存储器控制器120可以快速访问逻辑地址和物理地址之间的相应映射信息。
在这种情况下,映射高速缓存(MAP_CACHE)可以位于存储器控制器120内部的工作存储器125中,或者可以位于存储器控制器120外部的独立RAM装置中。
存储器控制器120可以将M个映射段(M是自然数)(SEG_1、SEG_2、SEG_3、……、和SEG_M)加载在映射高速缓存(MAP_CACHE)中。加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)中的每一个可以存储逻辑地址值和物理地址值之间的一条或多条映射信息。
另外,存储器控制器120可以从加载在上述映射高速缓存(MAP_CACHE)中的映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)中搜索处理所接收的请求所需的逻辑地址值和物理地址值之间的映射信息。
在这种情况下,如果相应的映射信息存储在加载在映射高速缓存(MAP_CACHE)中的任意映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)中,则可以认为相应的映射信息命中包含该信息的映射段。
引用相应映射信息的请求也可以被认为是命中加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)中的一个,并且相应的请求可以被表示为“命中请求”。
另一方面,如果映射信息未存储在加载在映射高速缓存(MAP_CACHE)中的任意映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)中,则可以认为相应的映射信息没有命中任何此种映射段或未命中所有映射段。
此外,引用相应映射信息的请求可以被认为没有被加载在映射高速缓存(MAP_CACHE)中的任意映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M)击中,并且相应的请求可以被表示为“未命中请求”。
在图5中,存储器控制器120可以比较存储在映射高速缓存(MAP_CACHE)中的多个请求(REQ_1、REQ_2、REQ_3、……、和REQ_N)和映射段(SEG_1、SEG_2、SEG_3、……、和SEG_M),并且可以将请求分类为命中请求(HIT_REQ)和未命中请求(MISS_REQ)。下面参照图11至图13详细描述将请求分类为命中请求(HIT_REQ)和未命中请求(MISS_REQ)的方法。
例如,请求(REQ_1、REQ_3、……)可以是命中请求(HIT_REQ),而请求(REQ_2、REQ_4、……)可以是未命中请求(MISS_REQ)。
之后,存储器控制器120可以对请求(REQ_1、REQ_3、……)进行计数以确定命中请求(HIT_REQ)的数量(HIT_CNT),并且可以对请求(REQ_2、REQ_4、……)进行计数以确定未命中请求(MISS_REQ)的数量(MISS_CNT)。
存储器控制器120可以基于命中请求(HIT_REQ)的数量(HIT_CNT)和未命中请求(MISS_REQ)的数量(MISS_CNT)来确定是否并行地执行针对各个未命中请求(MISS_REQ)的全部或一些映射数据读取操作,或者可以确定是否并行地执行针对各个命中请求(HIT_REQ)的全部或一些用户数据读取操作。
由于与命中请求(HIT_REQ)相对应的映射信息已经被加载到映射高速缓存(MAP_CACHE)中,因此命中请求(HIT_REQ)不需要单独的映射数据读取操作,从而可以立即执行针对相应请求的用户数据读取操作。
然而,由于在映射高速缓存(MAP_CACHE)中不存在与未命中请求(MISS_REQ)相对应的映射信息,因此需要用于从存储器装置110读取与相应请求相对应的映射信息的映射数据读取操作。
因此,存储器控制器120优先地可以运行针对各个未命中请求(MISS_REQ)的映射数据读取操作。此时,存储器控制器120可以确定是否并行地执行针对各个未命中请求(MISS_REQ)的全部或一些映射数据读取操作。
另外,存储器控制器120可以运行针对命中请求(HIT_REQ)的用户数据读取操作。此时,存储器控制器120可以确定是否并行地执行针对各个命中请求(HIT_REQ)的全部或一些用户数据读取操作。
这里,并行地执行或处理读取操作(并行读取操作)意味着存储器控制器120向存储器装置110请求同时运行多个读取操作。另一方面,并行地执行或处理数据读取操作(并行读取操作)可以被认为是通过对数据读取操作进行配对或交错来执行数据读取操作,并且其含义不受术语的限制。
另一方面,向存储器装置110请求逐一地运行多个读取操作可以被认为是顺序地执行或处理读取操作。
在这种情况下,接收对多个读取操作的请求的存储器装置110可以包括K个平面(K是2或更大的自然数)(PLANE_1、PLANE_2、PLANE_3、……、和PLANE_K)。每个这样的平面可以包括一个或多个存储块。另外,各个平面(PLANE_1、PLANE_2、PLANE_3、……、和PLANE_K)可以彼此独立地操作。
图6是示出根据本公开的实施例的在存储器系统100中并行处理读取操作的示图。
参照图6,描述了存储器系统100的存储器控制器120执行映射数据读取操作(MAP_DATA_RD1)和(MAP_DATA_RD2)以及用户数据读取操作(USR_DATA_RD1)和(USR_DATA_RD2)的情况。
在这种情况下,假定为了运行用户数据读取操作(USR_DATA_RD1)必须运行映射数据读取操作(MAP_DATA_RD1),并且为了运行用户数据读取操作(USR_DATA_RD2)必须运行映射数据读取操作(MAP_DATA_RD2)。
在存储器控制器120顺序地执行读取操作的情况下,存储器控制器120可以在执行映射数据读取操作(MAP_DATA_RD1)之后执行用户数据读取操作(USR_DATA_RD1),然后可以在执行映射数据读取操作(MAP_DATA_RD2)之后执行用户数据读取操作(USR_DATA_RD2)。
另一方面,在存储器控制器120并行地执行读取操作的情况下,存储器控制器120可以同时执行执行用户数据读取操作(USR_DATA_RD1)和(USR_DATA_RD2)所必需的映射数据读取操作(MAP_DATA_RD1)和(MAP_DATA_RD2),然后可以同时执行用户数据读取操作(USR_DATA_RD1)和(USR_DATA_RD2)。
因此,如果存储器控制器120并行地执行读取操作,则可以减少执行所有读取操作所需的时间,并且也可以减少处理与所有读取操作相对应的请求所需的时间。
图7是示出参照图5描述的存储器系统100的操作的示例的流程图。
存储器系统100的存储器控制器120可以接收关于存储器装置100的多个请求(S710)。
如参照图5所描述的,存储器控制器120可以确定所接收的请求之中的命中请求(HIT_REQ)的数量(HIT_CNT)和未命中请求(MISS_REQ)的数量(MISS_CNT)(S720)。
存储器控制器120可以在读取用户数据之前读取未命中请求的映射数据(MISS_REQ),因为映射数据是访问用户数据所必须的。
然后,存储器控制器120确定在操作S720中确定的未命中请求(MISS_REQ)的数量(MISS_CNT)是否大于或等于第一阈值计数(S730)。
如果未命中请求(MISS_REQ)的数量(MISS_CNT)大于或等于第一阈值计数(在S730中为“是”),则存储器控制器120可以并行地执行针对未命中请求(MISS_REQ)的全部或一些映射数据读取操作(S740)。
另一方面,如果未命中请求(MISS_REQ)的数量(MISS_CNT)小于第一阈值计数(在S730中为“否”),则存储器控制器120可以顺序地执行针对未命中请求(MISS_REQ)的全部或一些映射数据读取操作(S750)。
此后,存储器控制器120确定在操作S720中确定的命中请求(HIT_REQ)的数量(HIT_CNT)是否大于或等于第二阈值计数(S760)。在这种情况下,第二阈值计数可以与第一阈值计数不同。
如果命中请求(HIT_REQ)的数量(HIT_CNT)大于或等于第二阈值计数(在S760中为“是”),则存储器控制器120可以并行地执行针对命中请求(HIT_REQ)的全部或一些用户数据读取操作(S770)。
另一方面,如果命中请求(HIT_REQ)的数量(HIT_CNT)小于第二阈值计数(在S760中为“否”),则存储器控制器120可以顺序地执行针对命中请求(HIT_REQ)的全部或一些用户数据读取操作(S780)。
存储器控制器120首先确定未命中请求(MISS_REQ)的数量(MISS_CNT),然后确定未命中请求(MISS_REQ)的数量(MISS_CNT)是否大于或等于第一阈值计数,并且如上所述,基于此确定是否并行地执行针对未命中请求(MISS_REQ)的全部或一些映射数据读取操作的原因如下。
为了使存储器控制器120并行地执行多个操作,需要排队处理,而不是在请求操作中的每一个时立即运行该操作。
如果可以并行地执行少量操作而排队处理花费很长时间,则由存储器控制器120并行地执行多个操作可能会使性能劣化。
例如,假定当存储器控制器120并行地执行两个不同的操作时,执行每个操作所需的时间是10ms。
在这种情况下,如果使两个操作排队所需的时间是30ms,则存储器控制器120并行地执行两个不同得操作所需的时间变为30ms+10ms=40ms。这大于存储器控制器120顺序执行各个操作所需的时间10ms+10ms=20ms。
因此,如果未命中请求(MISS_REQ)的数量小于第一阈值计数,则存储器控制器120可以确定顺序地执行针对各个未命中请求(MISS_REQ)的映射数据读取操作对于性能的改善可能更好,而不是并行地执行映射数据读取操作。
另一方面,如果未命中请求(MISS_REQ)的数量等于或大于第一阈值计数,则存储器控制器120可以确定,即使使映射数据读取操作排队花费时间,并行地执行针对各个未命中请求(MISS_REQ)的映射数据读取操作也可以进一步提高性能。
在下文中,参照图8至图10详细描述并行地执行针对各个未命中请求(MISS_REQ)的全部或一些映射数据读取操作的操作。
图8是示出根据本公开的实施例的针对存储器系统100中的不同平面的映射数据读取操作方法的示例的示图。
参照图8,存储器控制器120可以针对存储器装置110中包括的不同平面,执行针对未命中请求(MISS_REQ)的全部或一些映射数据(MAP_DATA)读取操作。
具体地,关于为未命中请求(MISS_REQ)的请求(REQ_2)、(REQ_4)和(REQ_6),假定存储器控制器120并行地处理针对请求(REQ_2)的映射数据读取操作(MAP_DATA_REQ2)、针对请求(REQ_4)的映射数据读取操作(MAP_DATA_REQ4)和针对请求(REQ_6)的映射数据读取操作(MAP_DATA_REQ6)。
在这种情况下,在针对存储器装置110的PLANE_1的同时执行针对REQ_2的MAP_DATA_REQ2;在针对存储器装置110的PLANE_3的同时执行针对REQ_4的MAP_DATA_REQ4;并且在针对存储器装置110的PLANE_K的同时执行针对REQ_6的MAP_DATA_REQ6。
由于不能同时处理一个平面中的不同页面中存储的数据,因此如上所述,针对未命中请求(MISS_REQ)的映射数据(MAP_DATA)读取操作将针对不同的平面来执行。
也就是说,为了使存储器控制器120并行地执行多个映射数据读取操作,必须将映射数据存储在不同的平面中,因此必须对不同的平面执行针对未命中请求(MISS_REQ)的映射数据读取操作。
图9是示出根据本公开的实施例的针对存储器系统100中的不同平面的映射数据读取操作方法的另一示例的示图。
参照图9,如图8所示,在针对存储器装置110中的不同平面的同时,存储器控制器120可以执行针对未命中请求(MISS_REQ)的全部或一些映射数据读取操作。
在这种情况下,存储用于各个未命中请求(MISS_REQ)的映射数据的页面可以彼此不同。
更具体地,用于映射数据读取操作(MAP_DATA_REQ2)的映射数据可以存储在平面(PLANE_1)的页面索引1中。另一方面,用于映射数据读取操作(MAP_DATA_REQ4)的映射数据可以存储在平面(PLANE_3)的页面索引4中。另外,用于映射数据读取操作(MAP_DATA_REQ6)的映射数据可以存储在平面(PLANE_K)的页面索引3中。
图10是示出根据本公开的实施例的针对存储器系统100中的不同平面的映射数据读取操作方法的另一示例的示图。
参照图10,如图8所示,存储器控制器120可以在针对存储器装置110中包括的不同平面的同时,执行针对未命中请求(MISS_REQ)的全部或一些映射数据读取操作。
在这种情况下,存储用于各个未命中请求(MISS_REQ)的映射数据的存储器单元阵列中的存储器单元的层可以相同。
例如,在图10中,存储用于每个未命中请求(MISS_REQ)的映射数据的存储器单元阵列可以由单层单元配置。也就是说,用于每个未命中请求(MISS_REQ)的映射数据可以被存储在单层存储器单元阵列中的单层单元(SLC)中。
在图10中,用于映射数据读取操作(MAP_DATA_REQ2)的映射数据被存储在PLANE_1中的单层存储器单元阵列中。用于映射数据读取操作(MAP_DATA_REQ4)的映射数据被存储在PLANE_3的单层存储器单元阵列中。另外,用于映射数据读取操作(MAP_DATA_REQ6)的映射数据被存储在PLANE_K中的单层存储器单元阵列中。
另一方面,映射数据未存储在包括多层单元(MLC)或三层单元(TLC)的存储器单元阵列中。
由于需要快速执行读取或写入小尺寸映射数据的操作,因此存储映射数据的存储器单元阵列具有如上所述的单层单元配置。
在上面,已经描述了存储器控制器120并行地执行读取存储在存储器装置110中的不同平面中的映射数据的操作的方法。
在下文中,详细描述在所接收的请求之中确定命中映射高速缓存的请求,以便确定将由存储器控制器120并行地执行的映射数据读取操作的方法。
图11是示出根据本公开的实施例的确定目标请求是否命中存储器系统100中的映射高速缓存的操作方法的示例的示图。
参照图11,存储器系统100的存储器控制器120可以基于与这些映射段中的每一个相对应的逻辑地址区域,确定目标请求(TGT_REQ)是否命中加载在映射高速缓存(MAP_CACHE)中的任意映射段(SEG_1)、(SEG_2)和(SEG_3)。
在图11中,与目标请求(TGT_REQ)相对应的逻辑地址(LA)的值为10。
映射段(SEG_1)包括表明逻辑地址(LA)10和物理地址(PA)20被映射的信息以及表明逻辑地址(LA)11和物理地址(PA)21被映射的信息。
映射段(SEG_2)包括表明逻辑地址(LA)18和物理地址(PA)12被映射的信息以及表明逻辑地址(LA)19和物理地址(PA)37被映射的信息。
映射段(SEG_3)包括表明逻辑地址(LA)24和物理地址(PA)23被映射的信息以及表明逻辑地址(LA)25和物理地址(PA)17被映射的信息。
在这种情况下,由于与目标请求(TGT_REQ)相对应的逻辑地址10被包括在与映射段(SEG_1)相对应的逻辑地址区域10和11中,因此存储器控制器120可以确定目标请求(TGT_REQ)命中映射段(SEG_1)。
另一方面,如果与目标请求(TGT_REQ)相对应的逻辑地址(LA)的值为13,而不是10,则逻辑地址13不包括在与加载在映射高速缓存(MAP_CACHE)中的映射段相对应的任意逻辑地址区域中。因此,存储器控制器120可以确定目标请求(TGT_REQ)没有命中任何映射段。
在图11中,存储器控制器120搜索各个映射段的所有映射信息,以确定与目标请求(TGT_REQ)相对应的逻辑地址是否被包括在与每个映射段相对应的逻辑地址区域中。
在这种情况下,总搜索时间可以根据各个映射段中包括的映射信息的总量而变化。也就是说,随着各个映射段中包括的映射信息的总量增加,确定与目标请求(TGT_REQ)相对应的逻辑地址是否被包括在与每个映射段相对应的逻辑地址区域中所需的时间可能增加。
因此,为了解决该可变的总搜索时间问题,可以使用下面的方法:生成每个映射段的代表信息,然后将与目标请求(TGT_REQ)相对应的逻辑地址与每个映射段的代表信息进行比较。
在下文中,参照图12和图13描述使用上述代表信息的方法。
图12是示出根据本公开的实施例的确定目标请求是否命中存储器系统100中的映射高速缓存的操作方法的另一示例的示图。
参照图12,如果与目标请求(TGT_REQ)相对应的逻辑地址(LA)被包括在与加载在映射高速缓存(MAP_CACHE)中的各个映射段(SEG_1)、(SEG_2)和(SEG_3)相对应的任意逻辑地址区域中,则存储器系统100的存储器控制器120可以确定目标请求(TGT_REQ)命中任意这样的映射段。
在图12中,与目标请求(TGT_REQ)相对应的逻辑地址(LA)的值为13。
在这种情况下,存储器控制器120可以生成逻辑地址区域信息(LAA),该逻辑地址区域信息(LAA)指示相对于加载在映射高速缓存(MAP_CACHE)中的各个映射段的每个映射段的逻辑地址区域,并且可以将所生成的逻辑地址区域信息(LAA)用作与各个映射段相对应的代表信息。
在这种情况下,可以以各种方式中的任意一种来表示各个映射段的逻辑地址区域信息(LAA)。例如,逻辑地址区域信息(LAA)可以被表示为一对开始逻辑地址(START_LA)和结束逻辑地址(END_LA)。
具体地,在图12中,加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1)包括关于逻辑地址(LA)10和逻辑地址(LA)17之间的逻辑地址区域的映射信息。在这种情况下,与映射段(SEG_1)相对应的逻辑地址区域的开始逻辑地址(START_LA)为10,并且其结束逻辑地址(END_LA)为17。因此,关于映射段(SEG_1)的逻辑地址区域信息(LAA)可以表示为(10,17)。
另外,加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_2)包括关于在逻辑地址(LA)18和逻辑地址(LA)19之间的逻辑地址区域的映射信息。在这种情况下,与映射段(SEG_2)相对应的逻辑地址区域的开始逻辑地址(START_LA)为18,并且其结束逻辑地址(END_LA)为19。因此,关于映射段(SEG_2)的逻辑地址区域信息(LAA)可以表示为(18,19)。
另外,加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_3)包括关于在逻辑地址(LA)24和逻辑地址(LA)31之间的逻辑地址区域的映射信息。在这种情况下,与映射段(SEG_3)相对应的逻辑地址区域的开始逻辑地址(START_LA)为24,并且其结束逻辑地址(END_LA)为31。因此,关于映射段(SEG_3)的逻辑地址区域信息(LAA)可以表示为(24,31)。
在这种情况下,存储器控制器120可以基于关于各个映射段的逻辑地址区域信息(LAA),在映射段(SEG_1)、(SEG_2)和(SEG_3)之中确定包括与目标请求(TGT_REQ)相对应的逻辑地址(LA)的映射段的逻辑地址区域。
在图12中,与目标请求(TGT_REQ)相对应的逻辑地址(LA)具有在映射段(SEG_1)的开始逻辑地址(START_LA)10与其结束逻辑地址(END_LA)17之间的值13。因此,存储器控制器120可以确定目标请求(TGT_REQ)命中加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1)、(SEG_2)和(SEG_3)之中的映射段(SEG_1)。
使用该方法,存储器控制器120不需要搜索加载在映射高速缓存(MAP_CACHE)中的各个映射段中的所有映射信息。因此,存储器控制器120能够快速搜索多个请求中的各个请求命中的加载在映射高速缓存(MAP_CACHE)中的映射段中的各个映射段。
然而,在这种情况下,各个映射段中包括的映射信息必须与连续的逻辑地址区域相对应,使得逻辑地址区域信息(LAA)能够表示为一对开始逻辑地址(START_LA)和结束逻辑地址(END_LA)。
图13是示出根据本公开的实施例的确定目标请求是否命中存储器系统100中的映射高速缓存的操作方法的另一示例的示图。
参照图13,如果基于与目标请求(TGT_REQ)相对应的逻辑地址(LA)确定的代码和与加载在映射高速缓存(MAP_CACHE)中的各个映射段(SEG_1)、(SEG_2)和(SEG_3)相对应的任意代码相匹配,则存储器系统100的存储器控制器120可以确定目标请求(TGT_REQ)命中任意这样的映射段。
在这种情况下,可以以各种方式中的任意一种来确定代码(CD)。例如,代码(CD)可以被确定为通过执行在逻辑地址中设置的运算(例如,模运算/商运算)而获得的结果值。
在下文中,假定在图13中代码(CD)由通过将逻辑地址值除以十而获得的商来确定。
在图13中,由于与目标请求(TGT_REQ)相对应的逻辑地址为13,因此与目标请求(TGT_REQ)相对应的代码(CD)值为13/10=1。
在这种情况下,存储器控制器120可以如下计算加载在映射高速缓存(MAP_CACHE)中的各个映射段的代码,并且可以将计算出的代码用作与各个映射段相对应的代表信息。
加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1)包括关于逻辑地址(LA)10和逻辑地址(LA)19之间的逻辑地址的映射信息。在这种情况下,由于通过将逻辑地址值10至19除以10而获得的商均为1,因此与映射段(SEG_1)相对应的代码(CD)的值为1。
加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_2)包括关于逻辑地址(LA)20和逻辑地址(LA)29之间的逻辑地址的映射信息。在这种情况下,由于通过将逻辑地址值20至29除以10而获得的商均为2,因此与映射段(SEG_2)相对应的代码(CD)的值为2。
加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_3)包括关于逻辑地址(LA)30和逻辑地址(LA)39之间的逻辑地址的映射信息。在这种情况下,由于通过将逻辑地址值30至39除以10而获得的商均为3,因此与映射段(SEG_3)相对应的代码(CD)的值为3。
因此,存储器控制器120可以确定目标请求(TGT_REQ)命中加载在映射高速缓存(MAP_CACHE)中的映射段(SEG_1)、(SEG_2)和(SEG_3)之中具有相同代码(CD)值1的映射段(SEG_1)。在这种情况下,存储器控制器120不需要搜索加载在映射高速缓存(MAP_CACHE)中的各个映射段中包括的所有映射信息。
诸如关于图12中描述的各个映射段的逻辑地址区域(LAA)的信息和关于图13中描述的各个映射段的代码(CD)信息的各个映射段的代表信息,可以以区别于映射段的各种数据结构(例如,列表/表格/哈希表)中的任意一种被存储。
另外,存储器控制器120可以使用存储器控制器120中的单独的搜索电路,将关于各个映射段的代表信息(以任意上述数据结构被存储)与目标请求(TGT_REQ)进行比较。搜索电路可以被实施为单独的逻辑电路而不是固件。
图14是示出根据本公开的实施例的操作存储器系统100的方法的流程图。
存储器系统100的操作方法可以包括步骤(S1410):接收针对存储器装置110的多个请求。
存储器系统100的操作方法可以包括步骤(S1420):确定在操作S1410中接收的多个请求之中的命中请求的数量和未命中请求的数量。在这种情况下,如上所述,命中请求意味着命中加载在映射高速缓存中的任意映射段的请求,而未命中请求意味着没有命中加载在映射高速缓存中的任意映射段的请求。
存储器系统100的操作方法可以包括步骤(S1430):确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作,以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
上述存储器控制器120的操作可以由控制电路123控制,并且可以以处理器124运行(驱动)固件的方式来执行,其中存储器控制器120的所有操作被编程在该固件中。
图15是示出根据本公开的实施例的计算系统1500的配置的示图。
参照图15,计算系统1500可以包括:电连接到系统总线1560的存储器系统100;用于控制计算系统1500的全部操作的中央处理单元(CPU)1510;用于存储与计算系统1500的操作有关的数据和信息的RAM 1520;用于为用户提供用户环境的用户接口/用户体验(UI/UX)模块1530;用于通过有线和/或无线通信与外部装置通信的通信模块1540;用于管理计算系统150所使用的电源的电源管理模块1550;等等。
计算系统1500可以是个人计算机(PC),或者可以包括诸如智能电话、平板PC或各种其它电子装置的移动终端。
计算系统1500可以进一步包括用于供应工作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器(CIS)、DRAM等等。如本领域技术人员将理解的,计算系统1500可以包括其它组件。
存储器系统100可以包括用于将数据存储在诸如固态驱动器(SSD)、通用闪存(UFS)装置、嵌入式MMC(eMMC)装置等的非易失性存储器中的装置,以及用于将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器系统100可以被实施为各种类型的存储装置中的任意一种,并且可以被安装到各种电子装置中的任意一种。
根据上述本公开的实施例,能够最小化处理多个请求所需的时间。
另外,根据本公开的实施例,能够快速地确定命中映射高速缓存的请求的数量和未命中,即没有命中任何映射高速缓存的请求的数量。
尽管已经示出和描述了本公开的各个实施例,但是本领域技术人员根据本公开将理解,在不脱离如在所附权利要求中所限定的本发明的范围和精神的情况下,能够进行各种修改、添加和替换。因此,尽管已经描述了本公开的各个实施例,但是本发明的范围涵盖落入包括其等同方案的权利要求的范围内的所有技术配置。
Claims (20)
1.一种存储器系统,包括:
存储器装置,包括多个平面;以及
存储器控制器:
接收针对所述存储器装置的多个请求;
在所述多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在所述映射高速缓存中的任意映射段的未命中请求的数量;并且
基于所述命中请求的数量和所述未命中请求的数量,确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
2.根据权利要求1所述的存储器系统,其中所述存储器控制器:当所述未命中请求的数量大于或等于第一阈值计数时,并行地执行针对所述未命中请求的全部或一些所述映射数据读取操作。
3.根据权利要求2所述的存储器系统,其中所述存储器控制器对所述存储器装置中的不同平面执行针对所述未命中请求的全部或一些所述映射数据读取操作。
4.根据权利要求3所述的存储器系统,其中存储针对所述各个未命中请求的映射数据的页面彼此不同。
5.根据权利要求1所述的存储器系统,其中存储针对所述未命中请求中的每一个的映射数据的存储器单元阵列由单层单元配置。
6.根据权利要求1所述的存储器系统,其中所述存储器控制器:如果所述命中请求的数量大于或等于第二阈值计数,则并行地执行针对所述命中请求的全部或一些所述用户数据读取操作。
7.根据权利要求1所述的存储器系统,其中所述存储器控制器:基于与加载在所述映射高速缓存中的所述映射段中的每一个相对应的逻辑地址区域,在所述多个请求之中确定目标请求是否命中加载在所述映射高速缓存中的任意映射段。
8.根据权利要求1所述的存储器系统,其中所述存储器控制器:基于与加载在所述映射高速缓存中的所述映射段中的每一个相对应的代表信息,在所述多个请求之中确定目标请求是否命中加载在所述映射高速缓存中的任意映射段。
9.根据权利要求8所述的存储器系统,其中与所述映射段中的每一个相对应的所述代表信息包括所述映射段中的每一个的逻辑地址区域的开始逻辑地址和结束逻辑地址。
10.根据权利要求8所述的存储器系统,其中与所述映射段中的每一个相对应的所述代表信息包括代码,所述代码是通过对所述映射段中的每一个中包括的逻辑地址执行运算而获得的结果值。
11.一种存储器控制器,包括:
存储器接口,与包括多个平面的存储器装置通信;以及
控制电路:
接收针对所述存储器装置的多个请求;
在所述多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在所述映射高速缓存中的任意映射段的未命中请求的数量;并且
基于所述命中请求的数量和所述未命中请求的数量,确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
12.根据权利要求11所述的存储器控制器,其中所述控制电路:当所述未命中请求的数量大于或等于第一阈值计数时,并行地执行针对所述未命中请求的全部或一些所述映射数据读取操作。
13.根据权利要求12所述的存储器控制器,其中所述控制电路对所述存储器装置中包括的不同平面执行针对所述未命中请求的全部或一些所述映射数据读取操作。
14.根据权利要求13所述的存储器控制器,其中存储针对所述各个未命中请求的映射数据的页面彼此不同。
15.根据权利要求11所述的存储器控制器,其中存储针对所述未命中请求中的每一个的映射数据的存储器单元阵列由单层单元配置。
16.根据权利要求11所述的存储器控制器,其中所述控制电路:基于与加载在所述映射高速缓存中的所述映射段中的每一个相对应的逻辑地址区域,在所述多个请求之中确定目标请求是否命中加载在所述映射高速缓存中的任意所述映射段。
17.根据权利要求11所述的存储器控制器,其中所述控制电路:基于与加载在所述映射高速缓存中的所述映射段中的每一个相对应的代表信息,在所述多个请求之中确定目标请求是否命中加载在所述映射高速缓存中的任意所述映射段。
18.根据权利要求17所述的存储器控制器,其中与所述映射段中的每一个相对应的所述代表信息包括所述映射段中的每一个的逻辑地址区域的开始逻辑地址和结束逻辑地址。
19.根据权利要求17所述的存储器控制器,其中与所述映射段中的每一个相对应的所述代表信息包括代码,所述代码是通过对所述映射段中的每一个中包括的逻辑地址执行运算而获得的结果值。
20.一种操作存储器系统的方法,所述存储器系统包括:存储器装置,包括多个平面;以及存储器控制器,控制所述存储器装置,所述方法包括:
由所述存储器控制器,接收针对所述存储器装置的多个请求;
在所述多个请求之中确定命中加载在映射高速缓存中的任意映射段的命中请求的数量和没有命中加载在所述映射高速缓存中的所述映射段中的一个的未命中请求的数量;并且
基于所述命中请求的数量和所述未命中请求的数量,确定是否并行地执行针对各个未命中请求的全部或一些映射数据读取操作以及是否并行地执行针对各个命中请求的全部或一些用户数据读取操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190074714A KR20210000010A (ko) | 2019-06-24 | 2019-06-24 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR10-2019-0074714 | 2019-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131143A true CN112131143A (zh) | 2020-12-25 |
Family
ID=73850176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010084544.6A Withdrawn CN112131143A (zh) | 2019-06-24 | 2020-02-10 | 存储器系统、存储器控制器及元信息存储装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11137942B2 (zh) |
KR (1) | KR20210000010A (zh) |
CN (1) | CN112131143A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240078028A1 (en) * | 2022-09-01 | 2024-03-07 | Sandisk Technologies Llc | Bundle multiple timing parameters for fast slc programming |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990017082A (ko) * | 1997-08-21 | 1999-03-15 | 유기범 | 직병렬 선택 캐쉬 장치 |
US6973542B1 (en) * | 2000-07-18 | 2005-12-06 | International Business Machines Corporation | Detecting when to prefetch inodes and then prefetching inodes in parallel |
KR100880425B1 (ko) | 2007-02-13 | 2009-01-29 | 삼성전자주식회사 | 메모리 맵 테이블 서치 타임을 최소화 또는 줄일 수 있는방법 및 그에 따른 반도체 메모리 장치 |
US8458404B1 (en) * | 2008-08-14 | 2013-06-04 | Marvell International Ltd. | Programmable cache access protocol to optimize power consumption and performance |
US8285950B2 (en) * | 2010-06-03 | 2012-10-09 | International Business Machines Corporation | SMT/ECO mode based on cache miss rate |
US9015422B2 (en) | 2013-07-16 | 2015-04-21 | Apple Inc. | Access map-pattern match based prefetch unit for a processor |
US10101931B1 (en) * | 2017-06-04 | 2018-10-16 | International Business Machines Corporation | Mitigating read errors following programming in a multi-level non-volatile memory |
US10417127B2 (en) * | 2017-07-13 | 2019-09-17 | International Business Machines Corporation | Selective downstream cache processing for data access |
KR20190089365A (ko) | 2018-01-22 | 2019-07-31 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
-
2019
- 2019-06-24 KR KR1020190074714A patent/KR20210000010A/ko active Search and Examination
-
2020
- 2020-01-22 US US16/749,530 patent/US11137942B2/en active Active
- 2020-02-10 CN CN202010084544.6A patent/CN112131143A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11137942B2 (en) | 2021-10-05 |
US20200401345A1 (en) | 2020-12-24 |
KR20210000010A (ko) | 2021-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220005111A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
US11513738B2 (en) | Memory system for processing a write request and migrating data in read-intensive state and operating method thereof | |
CN112445733A (zh) | 存储器系统、存储器控制器以及操作方法 | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
US20230221895A1 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
CN113535598A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
US11137942B2 (en) | Memory system, memory controller, and method of operating a memory system for determining a number of hit and miss requests about map segments in a map cache and determining whether or not to perform data read operation in parallel | |
CN115963981A (zh) | 存储器系统及存储器系统的操作方法 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
KR20220068535A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11386000B2 (en) | Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines | |
US11416401B2 (en) | Memory system and operating method thereof | |
US11995352B2 (en) | Memory controller and operating method thereof | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11507509B2 (en) | Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
US11544003B2 (en) | Memory system, memory controller, and method of operating memory system | |
US20230205687A1 (en) | Controller and operating method thereof | |
US20220391139A1 (en) | Memory system and operating method thereof | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
CN113535607A (zh) | 存储器系统、存储器控制器以及存储器系统的操作方法 | |
CN116301569A (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: 20201225 |