CN113127381A - 执行主机映射管理的存储器系统 - Google Patents
执行主机映射管理的存储器系统 Download PDFInfo
- Publication number
- CN113127381A CN113127381A CN202010665105.4A CN202010665105A CN113127381A CN 113127381 A CN113127381 A CN 113127381A CN 202010665105 A CN202010665105 A CN 202010665105A CN 113127381 A CN113127381 A CN 113127381A
- Authority
- CN
- China
- Prior art keywords
- host
- map
- cache
- memory system
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 132
- 238000013507 mapping Methods 0.000 title claims description 192
- 230000006870 function Effects 0.000 claims abstract description 72
- 230000004044 response Effects 0.000 claims abstract description 21
- 230000004913 activation Effects 0.000 claims abstract description 14
- 230000009849 deactivation Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 15
- 239000000872 buffer Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 6
- 239000007787 solid Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/1028—Power efficiency
-
- 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/608—Details relating to cache mapping
-
- 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)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种存储器系统。该存储器系统包括:存储介质,被配置成存储映射数据;以及控制器,被配置成执行主机映射高速缓存管理操作,从而响应于主机映射高速缓存管理功能的激活将映射数据存储在主机装置中包括的主机映射高速缓存中,并且被配置成选择性地停用主机映射高速缓存管理功能。
Description
相关申请的交叉引用
本申请要求于2020年1月15日向韩国知识产权局提交的申请号为10-2020-0005357的韩国专利申请的优先权,该韩国专利申请的全文通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统,且更特别地,涉及一种包括非易失性存储器装置的存储器系统。
背景技术
存储器系统可以被配置成响应于来自主机装置的写入请求,存储由主机装置提供的数据。而且,存储器系统可以被配置成响应于来自主机装置的读取请求,将存储在其中的数据提供到主机装置。主机装置可以是能够处理数据的电子装置,并且可以包括计算机、数码相机、移动电话等中的任意一个。存储器系统可以被设置在主机装置内,或者可以被制造为可附接到主机装置并且可从主机装置拆卸的组件。当存储器系统联接到主机装置时,其可以进行操作。
发明内容
本公开的各个实施例提供了一种能够通过选择性地停用主机映射高速缓存管理功能来防止其操作性能劣化的存储器系统及其操作方法。
根据本公开的实施例,存储器系统可以包括存储介质和控制器。存储介质可以存储映射数据。控制器可以执行主机映射高速缓存管理操作,从而响应于主机映射高速缓存管理功能的激活将映射数据存储在主机装置中包括的主机映射高速缓存中,并且可以选择性地停用主机映射高速缓存管理功能。
根据本公开的实施例,存储器系统可以包括存储介质和控制器。存储介质可以存储映射数据。控制器可以响应于主机映射高速缓存管理功能的激活来管理映射数据到主机装置的传输的次数,并且可以基于传输的次数来停用主机映射高速缓存管理功能。
根据本公开的实施例,存储器系统可以包括存储介质和控制器。存储介质可以存储映射数据。控制器可以包括被配置成存储映射数据的映射高速缓存,并且可以激活或停用用于主机映射高速缓存的主机映射高速缓存管理功能,该主机映射高速缓存能够与映射高速缓存独立地存储映射数据。当响应于由主机装置提供的读取请求而在映射高速缓存内发生映射高速缓存未命中时,控制器可以确定是否出现主机映射高速缓存管理功能的激活条件。
附图说明
结合附图描述特征、方面和实施例,其中:
图1是示出根据实施例的数据处理系统的框图;
图2是示出根据实施例的主机映射管理功能的状态转换的状态图;
图3A和图3B是示出根据实施例的图1的存储器系统的操作方法的流程图;
图4是示出根据实施例的当主机映射高速缓存管理功能被激活时控制器执行主机映射高速缓存管理操作的方法的流程图;
图5示出根据实施例的包括固态驱动器(SSD)的数据处理系统;
图6示出根据实施例的包括存储器系统的数据处理系统;
图7示出根据实施例的包括存储器系统的数据处理系统;
图8示出根据实施例的包括存储器系统的网络系统;以及
图9示出根据实施例的存储器系统中包括的非易失性存储器装置。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。然而,本发明可以以不同的形式实现,并且不应被解释为受限于本文阐述的实施例。相反,提供这些实施例以使得本公开将是透彻和完整的,并将把本发明的范围充分传达给本领域技术人员。
附图不一定按比例绘制,并且在某些实例中,比例可能已被夸大以便清楚地示出实施例的特征。本文使用的术语仅用于描述特定实施例的目的,而不旨在限制本发明。
如本文所使用的,术语“和/或”包括相关所列项目中的至少一个。将理解的是,当元件被称为“连接到”、或“联接到”另一元件时,它可以直接在另一元件之上、直接连接或联接到另一元件,或者可以存在一个或多个中间元件。如本文所使用的,除非上下文另外明确指出,否则单数形式旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用术语“包含”、“包含有”、“包括”和“包括有”时,其指定所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。
在下文中,将参照附图描述本公开的示例性实施例。
图1是示出根据实施例的数据处理系统10的框图。
数据处理系统10可以是能够处理数据的电子系统。数据处理系统10可以包括存储器系统100和主机装置200。
主机装置200可以包括个人计算机、膝上型计算机、智能电话、平板电脑、数码相机、游戏控制台、导航装置、虚拟现实装置、可穿戴装置等中的任意一种。
存储器系统100可以被配置成响应于来自主机装置200的写入请求,存储由主机装置200提供的数据。而且,存储器系统100可以被配置成响应于来自主机装置200的读取请求,将存储在其中的数据提供到主机装置200。
存储器系统100可以由个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)中的任意一种、各种安全数字卡(SD、迷你SD和微型SD)中的任意一种、通用闪存(UFS)、固态驱动器(SSD)等来配置。
存储器系统100可以包括控制器110和存储介质120。
控制器110可以控制存储器系统100的一般操作。控制器110可以控制存储介质120以便响应于来自主机装置200的请求来执行前台操作。前台操作可以包括响应于来自主机装置200的请求(例如,写入请求和读取请求)将数据写入存储介质120中的操作和从存储介质120读取数据的操作。
控制器110可以控制存储介质120以便执行内部必需且独立于主机装置200的后台操作。后台操作可以包括对存储介质120执行的损耗均衡操作、垃圾收集操作、擦除操作、读取回收操作、刷新操作等。与前台操作类似,后台操作可以包括将数据写入存储介质120中并从存储介质120读取数据的操作。
控制器110可以管理包括映射数据的映射表121,其中来自主机装置200的逻辑地址被映射到存储介质120的物理地址。逻辑地址可以是主机装置200访问存储介质120的地址。逻辑地址可以是主机装置200分配给待存储在存储介质120中的数据的地址。被映射到逻辑地址的物理地址可以是指示存储介质120的实际存储数据的存储器区域的地址。当将数据存储到存储介质120中时,控制器110可以将数据的逻辑地址映射到指示存储器区域的物理地址。
控制器110可以管理作为映射数据的彼此映射的逻辑地址和物理地址。之后,当接收到来自主机装置200的关于逻辑地址的读取请求时,控制器110可以从映射数据中识别映射到逻辑地址的物理地址,读取存储在与所识别的物理地址相对应的存储器区域中的数据,并将所读取的数据提供到主机装置200。
映射表121可以包括主机装置200使用的所有逻辑地址的映射数据。因此,映射表121的大小很大,因此控制器110可以将映射表121存储在存储介质120中。
控制器110可以包括映射高速缓存111。映射高速缓存111可以包括具有快速操作性能的存储器。在实施例中,映射高速缓存111可以包括静态随机存取存储器(SRAM),但是实施例不限于此。
控制器110可以将从存储介质120中的映射表121中选择的映射数据存储到映射高速缓存111中。当接收到来自主机装置200的读取请求时,控制器110可以在参照存储介质120中的映射表121之前,参照控制器110可以更快速访问的映射高速缓存111。
当与读取请求相对应的映射数据被存储在映射高速缓存111中时,即,在高速缓存命中的情况下,控制器110可以通过参照存储在映射高速缓存111中的映射数据来处理读取请求。然而,当与读取请求相对应的映射数据没有存储在映射高速缓存111中时,即,在高速缓存未命中的情况下,控制器110可以将与来自存储介质120的读取请求相对应的映射数据加载到映射高速缓存111中,并且可以参照加载到映射高速缓存111中的映射数据。
这里,由于映射高速缓存111的容量有限,因此可以从映射高速缓存111中剔除根据预定的替换条件从映射高速缓存111中选择的映射数据。例如,当发生高速缓存未命中并且映射高速缓存111充满映射数据时,可以从映射高速缓存111中剔除最不近存储在映射高速缓存111中的映射数据,即,映射高速缓存111中存储的映射数据之中最早的映射数据,以便将与读取请求相对应的映射数据加载到映射高速缓存111中。然而,根据实施例,用于选择待从映射高速缓存111中剔除的映射数据的预定替换条件将不限于此,而是可以替代地应用各种替换条件。
为了高速缓存更多映射数据,从而提高读取性能,控制器110可以通过执行主机映射高速缓存管理操作来将主机装置200中包括的主机存储器210的至少一部分用作主机映射高速缓存211。
详细地,控制器110可以确定是否存在满足主机映射高速缓存条件的映射数据。满足主机映射高速缓存条件的映射数据可以被存储在主机映射高速缓存211中。在实施例中,满足主机映射高速缓存条件的映射数据可以是具有大于阈值的参考数量的映射数据,该参考数量表示响应于读取请求而参照映射数据的次数。在另一实施例中,满足主机映射高速缓存条件的映射数据可以是最近参照的映射数据。在又一实施例中,满足主机映射高速缓存条件的映射数据可以是与由主机装置200确定的预定范围内的逻辑地址相对应的映射数据。
当存在满足主机映射高速缓存条件的映射数据时,控制器110可以将映射数据提示提供到主机装置200。映射数据提示可以包括指示满足主机映射高速缓存条件的映射数据的信息(例如,映射数据的逻辑地址)。主机装置200可以基于映射数据提示向控制器110提供对待存储在主机映射高速缓存211中的映射数据(例如,满足主机映射高速缓存条件的映射数据)的映射数据请求。控制器110可以响应于映射数据请求而将映射数据提供到主机装置200。主机装置200可以将从控制器110接收的映射数据存储到主机映射高速缓存211中。
主机装置200可以通过参照存储在主机映射高速缓存211中的映射数据来向控制器110提供读取请求。详细地,当与读取请求相对应的映射数据在主机映射高速缓存211中时,即,在主机映射高速缓存命中的情况下,主机装置200可以向控制器110提供包括存储在主机映射高速缓存211中的映射数据的读取请求。主机装置200可以利用主机映射高速缓存命中发生的指示来标记读取请求。在这种情况下,控制器110可以通过参照包括在读取请求中的映射数据来处理读取请求。也就是说,控制器110可以快速处理读取请求,而无需参照映射高速缓存111。
另一方面,当与读取请求相对应的映射数据不在主机映射高速缓存211中时,即,在主机映射高速缓存未命中的情况下,主机装置200可以向控制器110提供不包括映射数据的读取请求。在这种情况下,如上所述,控制器110可以通过参照存储在映射高速缓存111和/或存储介质120中的映射数据来处理读取请求。
存储介质120可以在控制器110的控制下在其中存储从控制器110传送的数据。控制器110可以从存储介质120读取数据,并且可以将所读取的数据提供到主机装置200。
存储介质120可以包括一个或多个非易失性存储器装置。非易失性存储器装置可以包括诸如NAND闪速存储器或NOR闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)等的闪速存储器。
非易失性存储器装置可以包括一个或多个平面、一个或多个存储器芯片、一个或多个存储器管芯或者一个或多个存储器封装。
存储器系统100的操作性能可能由于映射数据从控制器110传输到主机映射高速缓存211而劣化。根据本公开的实施例,控制器110可以选择性停用主机映射高速缓存管理功能,以防止存储器系统100的操作性能劣化。当主机映射高速缓存管理功能被激活时,控制器110可以执行主机映射高速缓存管理操作。当主机映射高速缓存管理功能被停用时,控制器110可以不执行主机映射高速缓存管理操作。也就是说,主机映射高速缓存管理功能的激活可以是执行主机映射高速缓存管理操作的条件。
图2是示出根据实施例的主机映射管理功能的状态转换的状态图。
参照图2,主机映射高速缓存管理功能可以处于停用状态STATE1或激活状态STATE2。
在步骤S21中,当存储器系统100被启动时,主机映射高速缓存管理功能可以被停用。在实施例中,当存储器系统100被启动时,控制器110可以停用主机映射高速缓存管理功能。也就是说,当存储器系统100被启动时,即使不使用主机映射高速缓存211,映射高速缓存111也可以完全是空的,并因此可以具有足够的空间来高速缓存映射数据。因此,当存储器系统100被启动时,主机映射高速缓存管理功能可以被停用。
在步骤S22中,当在主机映射高速缓存管理功能处于停用状态STATE1的同时出现激活条件时,控制器110可以激活主机映射高速缓存管理功能。在实施例中,当发生对存储在映射高速缓存111中的映射数据的替换时,可以出现激活条件。替换存储在映射高速缓存111中的映射数据可以意味着映射高速缓存111中的空余空间不足。因此,当发生映射数据的替换时,主机映射高速缓存管理功能可以被激活。
在另一实施例中,当控制器110由于预定的原因从主机装置200接收映射数据请求时,可以出现激活条件。主机装置200可以向控制器110提供映射数据请求,以便将映射数据存储到主机映射高速缓存211中,从而提高存储器系统100的读取性能。在这种情况下,无论是否发生对映射数据的替换,控制器110都可以激活主机映射高速缓存管理功能。
在步骤S23中,当在主机映射高速缓存管理功能处于激活状态STATE2的同时出现停用条件时,控制器110可以停用主机映射高速缓存管理功能。在实施例中,当映射高速缓存111变为具有用于存储映射数据的空余空间时,可以出现停用条件。例如,当映射高速缓存111由于存储器系统100进入睡眠模式而变为具有空余空间时,或者当对映射高速缓存111执行映射高速缓存清除操作时,控制器110可以停用主机映射高速缓存管理功能。也就是说,当映射高速缓存111即使不利用主机映射高速缓存211也可以充分高速缓存映射数据时,控制器110可以停用主机映射高速缓存管理功能。
在另一实施例中,当映射数据到主机装置200的传输的次数(以下称为映射数据的传输的次数)变得大于阈值时,可以出现停用条件。
在又一实施例中,当在主机映射高速缓存管理功能被激活之后经过预定的时间段时,可以出现停用条件。
图3A和图3B是示出根据实施例的图1的存储器系统100的操作方法的流程图。
参照图3,在步骤S101中,存储器系统100可以被启动。
在步骤S102中,控制器110可以停用主机映射高速缓存管理功能。在实施例中,当存储器系统100被启动时,主机映射高速缓存管理功能可以处于作为停用状态的初始状态。
在步骤S103中,控制器110可以从主机装置200接收读取请求。
在步骤S104中,控制器110可以确定是否发生主机映射高速缓存命中。当未发生主机映射高速缓存命中时,即,当发生主机映射高速缓存未命中时,进程可以进入步骤S106。当发生主机映射高速缓存命中时,进程可以进入步骤S105。
在步骤S105中,控制器110可以通过参照包括在读取请求中的映射数据来处理读取请求。也就是说,通过参照包括在读取请求中的映射数据,控制器110可以从存储介质120读取数据,并且可以将所读取的数据提供到主机装置200。之后,进程可以返回到步骤S103,从而接收后续的读取请求。
在步骤S106中,控制器110可以确定主机映射高速缓存管理功能是否被激活。当主机映射高速缓存管理功能被停用时,进程可以进入图3B所示的步骤S110。当主机映射高速缓存管理功能被激活时,进程可以进入步骤S107。
在步骤S107中,控制器110可以执行主机映射高速缓存管理操作。
在步骤S108中,控制器110可以确定是否出现停用条件。在实施例中,当映射高速缓存111变为具有用于存储映射数据的空余空间时,可以出现停用条件。在另一实施例中,向主机映射高速缓存211传输映射数据的次数变得大于阈值时,可以出现停用条件。在又一实施例中,当在主机映射高速缓存管理功能被激活之后经过预定的时间段时,可以出现停用条件。当不出现停用条件时,进程可以进入图3B所示的步骤S110。当出现停用条件时,进程可以进入步骤S109。
在步骤S109中,控制器110可以停用主机映射高速缓存管理功能。
参照图3B,在步骤S110中,控制器110可以确定是否发生映射高速缓存命中。当发生映射高速缓存命中时,进程可以进入步骤S115。当发生映射高速缓存未命中时,进程可以进入步骤S111。
在步骤S111中,控制器110可以确定映射高速缓存111是否充满映射数据。当映射高速缓存111未充满映射数据时,进程可以进入步骤S114。当映射高速缓存111充满映射数据时,进程可以进入步骤S112。
在步骤S112中,控制器110可以从映射高速缓存111中剔除根据替换条件选择的映射数据。
当在步骤S112、步骤S113中发生映射数据的替换时,控制器110可以激活主机映射高速缓存管理功能。也就是说,当在步骤S112中出现主机映射高速缓存管理功能的激活条件时,即,当映射数据的替换发生在映射高速缓存111中时,主机映射高速缓存管理功能可以被激活。如果在步骤S113之前主机映射高速缓存管理功能处于激活状态,则控制器110可以保持主机映射高速缓存管理功能被激活。
在步骤S114中,控制器110可以从存储介质120读取与读取请求相对应的映射数据,并将所读取的映射数据存储到映射高速缓存111中。
在步骤S115中,控制器110可以通过参照存储在映射高速缓存111中的映射数据来处理读取请求。也就是说,控制器110可以通过参照存储在映射高速缓存111中的映射数据从存储介质120读取数据,并将所读取的数据提供到主机装置200。之后,进程可以返回到步骤S103,使得控制器110从主机装置200接收后续的读取请求。
在实施例中,图3所示的步骤可以根据与图3所示顺序不同的顺序来执行。例如,尽管图3示出在步骤S107之后执行步骤S108,但是在实施例中步骤S108可以独立于步骤S107来执行。例如,控制器110可以在其操作期间实时地或者周期性地确定是否出现主机映射高速缓存管理功能的停用条件。
图4是示出根据实施例的执行主机映射高速缓存管理操作的方法的流程图。图4所示的方法可以是图3的步骤S107的实施例。
参照图4,在步骤201中,控制器110可以确定是否存在满足主机映射高速缓存条件的映射数据。在实施例中,满足主机映射高速缓存条件的映射数据可以是具有大于阈值的参考数量的映射数据,该参考数量表示响应于读取请求而参照映射数据的次数。在另一实施例中,满足主机映射高速缓存条件的映射数据可以是最近参照的映射数据。在又一实施例中,满足主机映射高速缓存条件的映射数据可以是与由主机装置200确定的预定范围内的逻辑地址相对应的映射数据。当不存在满足主机映射高速缓存条件的映射数据时,进程可以结束。当存在满足主机映射高速缓存条件的映射数据时,进程可以进入步骤S202。
在步骤S202中,控制器110可以将映射数据提示提供到主机装置200。映射数据提示可以包括指示满足主机映射高速缓存条件的映射数据的信息。主机装置200可以基于映射数据提示向控制器110提供对待存储在主机映射高速缓存211中的映射数据的映射数据请求。
在步骤S203中,控制器110可以从主机装置200接收映射数据请求。
在步骤S204中,控制器110可以向主机装置200提供与从主机装置200接收的映射数据请求相对应的映射数据。与映射数据请求相对应的映射数据可以包括满足主机映射高速缓存条件的映射数据。主机装置200可以将从控制器110接收的映射数据高速缓存到主机映射高速缓存211中。
在步骤S205中,控制器110可以增加映射数据的传输的次数。
在实施例中,可以执行步骤S205,以使控制器110确定映射数据的传输的次数是否大于阈值,从而确定是否出现主机映射高速缓存管理功能的停用条件。在实施例中,可以省略步骤S205。
图5是示出根据实施例的包括固态驱动器(SSD)1200的数据处理系统1000的示图。参照图5,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置(NVMs)1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以以与图1所示的控制器110相同的方式配置。
控制器1210可以包括主机接口单元1211、控制单元1212、存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等中的一个或多个。根据主机装置1100的接口协议,主机接口单元1211可以接口连接主机装置1100和SSD 1200。例如,主机接口单元1211可以根据诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字(SD)、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)、通用闪存(UFS)等。
控制单元1212可以分析并处理从主机装置1100接收的信号SGL。根据用于驱动SSD1200的固件或软件,控制单元1212可以控制内部功能块的操作。存储器1213可以用作用于驱动这种固件或软件的工作存储器。存储器1213可以包括随机存取存储器。
ECC单元1214可以生成待传输到非易失性存储器装置1231至123n中的至少一个的写入数据的奇偶校验数据。所生成的奇偶校验数据可以与写入数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于与读取数据相对应的奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个读取的数据中的错误。如果检测到的错误在可校正范围内,则ECC单元1214可以校正检测到的错误。
根据控制单元1212的控制,存储器接口单元1215可以将诸如命令和地址的控制信号提供到非易失性存储器装置1231至123n中的至少一个。此外,根据控制单元1212的控制,存储器接口单元1215可以与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可以将存储在缓冲存储器装置1220中的数据提供到非易失性存储器装置1231至123n中的至少一个,或者将从非易失性存储器装置1231至123n中的至少一个读取的数据提供到缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n的至少一个中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。根据控制器1210的控制,临时存储在缓冲存储器装置1220中的数据可以被传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以与相同的信号总线和数据总线联接。
电源1240可以将通过电源连接器1260输入的电力PWR提供到SSD 1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以供应电力,以允许SSD 1200在发生突然断电时正常终止。辅助电源1241可以包括具有大容量的电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器来配置。
根据主机装置1100的电源方案,电源连接器1260可以由各种类型的连接器配置。
在图5中,主机装置1100可以包括与图1所示的主机映射高速缓存211相对应的主机映射高速缓存。控制器1210可以执行以上参照图1至图4描述的主机映射高速缓存管理操作。
图6是示出根据实施例的包括存储器系统2200的数据处理系统2000的示图。参照图6,数据处理系统2000可以包括主机装置2100和存储器系统2200。图6所示的主机装置2100和存储器系统2200可以分别对应于图1所示的主机装置200和存储器系统100。
主机装置2100可以以诸如印刷电路板(PCB)的板的形式来配置。尽管图6中未示出,但是主机装置2100可以包括用于执行主机装置2100的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可以被安装到连接端子2110内。
存储器系统2200可以以诸如印刷电路板的板的形式来配置。存储器系统2200可以被称为存储器模块或存储卡。存储器系统2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置(NVMs)2231和2232、电源管理集成电路(PMIC)2240以及连接端子2250。
控制器2210可以控制存储器系统2200的一般操作。控制器2210可以以与图5所示的控制器1210相同的方式配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。根据控制器2210的控制,临时存储在缓冲存储器装置2220中的数据可以被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以被用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供到存储器系统2200的内部。根据控制器2210的控制,PMIC 2240可以管理存储器系统2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2110和2250,诸如命令、地址、数据等的信号以及电力可以在主机装置2100和存储器系统2200之间传送。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可以被配置成各种类型。连接端子2250可以设置在存储器系统2200的任意一侧上。
图7是示出根据实施例的包括存储器系统3200的数据处理系统3000的示图。参照图7,数据处理系统3000可以包括主机装置3100和存储器系统3200。图7所示的主机装置3100和存储器系统3200可以分别对应于图1所示的主机装置200和存储器系统100。
主机装置3100可以以诸如印刷电路板的板的形式来配置。尽管图7中未示出,但是主机装置3100可以包括用于执行主机装置3100的功能的内部功能块。
存储器系统3200可以以表面安装型封装的形式来配置。存储器系统3200可以通过焊球3250安装到主机装置3100上。存储器系统3200可以包括控制器3210、缓冲存储器装置3220以及非易失性存储器装置(NVM)3230。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图5所示的控制器1210相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可以被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器系统3200的存储介质。
图8是示出根据实施例的包括存储器系统4200的网络系统4000的示图。参照图8,网络系统4000可以包括通过网络4500彼此联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410至4430提供的数据。再例如,服务器系统4300可以将数据提供到多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和存储器系统4200。存储器系统4200可以由图1所示的存储器系统100、图5所示的存储器系统1200、图6所示的存储器系统2200或图7所示的存储器系统3200配置。
图9是示出根据实施例的存储器系统中包括的非易失性存储器装置300的框图。参照图9,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域中的存储器单元MC。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制来操作。行解码器320可以对从外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别与位线BL1到BLn相对应的读取/写入电路RW1到RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式作为写入驱动器或读出放大器而操作。例如,数据读取/写入块330可以在写入操作中作为将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器而操作。再例如,数据读取/写入块330可以在读取操作中作为从存储器单元阵列310读出数据的读出放大器而操作。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以对从外部装置提供的地址进行解码。列解码器340可以基于解码结果,将分别与位线BL1至BLn相对应的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。由电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中,可以将编程电压施加到待对其执行编程操作的存储器单元的字线。再例如,在擦除操作中,可以将擦除电压施加到待对其执行擦除操作的存储器单元的阱区。又例如,在读取操作中,可以将读取电压施加到待对其执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述了特定实施例,但是本领域技术人员将理解的是,描述的实施例仅仅作为示例。因此,存储器系统不应基于所描述的实施例而被限制。相反,当结合以上描述和附图时,仅应根据所附权利要求书来限制本文描述的存储器系统。
Claims (26)
1.一种存储器系统,包括:
存储介质,存储映射数据;以及
控制器,执行主机映射高速缓存管理操作,从而响应于主机映射高速缓存管理功能的激活将所述映射数据存储在主机装置中包括的主机映射高速缓存中,并且选择性地停用所述主机映射高速缓存管理功能。
2.根据权利要求1所述的存储器系统,其中所述控制器包括存储所述映射数据的映射高速缓存,并且当在所述映射高速缓存内生成空余空间时停用所述主机映射高速缓存管理功能。
3.根据权利要求2所述的存储器系统,其中当由于所述存储器系统进入睡眠模式,所述映射高速缓存内生成所述空余空间时,所述控制器停用所述主机映射高速缓存管理功能。
4.根据权利要求2所述的存储器系统,其中当由于对所述映射高速缓存执行映射高速缓存清除操作,所述映射高速缓存内生成所述空余空间时,所述控制器停用所述主机映射高速缓存管理功能。
5.根据权利要求1所述的存储器系统,其中所述控制器响应于所述主机映射高速缓存管理功能的激活来管理所述映射数据到所述主机映射高速缓存的传输的次数,并且当在所述主机映射高速缓存管理操作期间所述传输的次数超过阈值时,停用所述主机映射高速缓存管理功能。
6.根据权利要求1所述的存储器系统,其中当在所述主机映射高速缓存管理功能被激活之后经过预定的时间段时,所述控制器停用所述主机映射高速缓存管理功能。
7.根据权利要求1所述的存储器系统,其中当所述存储器系统被启动时,所述控制器停用所述主机映射高速缓存管理功能。
8.根据权利要求1所述的存储器系统,其中所述控制器包括存储所述映射数据的映射高速缓存,并且当发生对存储在所述映射高速缓存中的所述映射数据的替换时激活所述主机映射高速缓存管理功能。
9.根据权利要求1所述的存储器系统,其中所述控制器响应于从所述主机装置接收的读取请求来执行所述主机映射高速缓存管理操作。
10.根据权利要求9所述的存储器系统,其中所述控制器通过向所述主机装置提供指示满足主机映射高速缓存条件的所述映射数据的映射数据提示、从所述主机装置接收映射数据请求并且向所述主机装置提供与从所述主机装置接收的所述映射数据请求相对应的映射数据,来执行所述主机映射高速缓存管理操作。
11.根据权利要求10所述的存储器系统,其中所述控制器在执行所述主机映射高速缓存管理操作之后,确定是否停用所述主机映射高速缓存管理功能。
12.一种存储器系统,包括:
存储介质,存储映射数据;以及
控制器,响应于主机映射高速缓存管理功能的激活来管理所述映射数据到主机装置的传输的次数,并且基于所述传输的次数来停用所述主机映射高速缓存管理功能。
13.根据权利要求12所述的存储器系统,其中所述控制器包括存储所述映射数据的映射高速缓存,并且当在所述映射高速缓存内生成空余空间时停用所述主机映射高速缓存管理功能。
14.根据权利要求13所述的存储器系统,其中当由于所述存储器系统进入睡眠模式,所述映射高速缓存内生成所述空余空间时,所述控制器停用所述主机映射高速缓存管理功能。
15.根据权利要求13所述的存储器系统,其中当由于对所述映射高速缓存执行映射高速缓存清除操作,所述映射高速缓存内生成所述空余空间时,所述控制器停用所述主机映射高速缓存管理功能。
16.根据权利要求12所述的存储器系统,其中当在所述主机映射高速缓存管理功能被激活之后经过预定的时间段时,所述控制器停用所述主机映射高速缓存管理功能。
17.根据权利要求12所述的存储器系统,其中当所述存储器系统被启动时,所述控制器停用所述主机映射高速缓存管理功能。
18.根据权利要求12所述的存储器系统,其中所述控制器包括存储所述映射数据的映射高速缓存,并且当发生对存储在所述映射高速缓存中的所述映射数据的替换时激活所述主机映射高速缓存管理功能。
19.根据权利要求12所述的存储器系统,其中当所述主机映射高速缓存管理功能被激活时,所述控制器响应于从所述主机装置接收的读取请求,选择性地向所述主机装置提供所述映射数据。
20.一种存储器系统,包括:
存储介质,存储映射数据;以及
控制器,包括存储所述映射数据的映射高速缓存,所述控制器激活或停用用于主机映射高速缓存的主机映射高速缓存管理功能,所述主机映射高速缓存能够与所述映射高速缓存独立地存储所述映射数据,
其中当响应于由主机装置提供的读取请求而在所述映射高速缓存内发生映射高速缓存未命中时,所述控制器确定是否出现所述主机映射高速缓存管理功能的激活条件。
21.根据权利要求20所述的存储器系统,其中所述激活条件包括是否发生对存储在所述映射高速缓存中的所述映射数据的替换。
22.根据权利要求20所述的存储器系统,其中,当响应于所述读取请求而在所述主机映射高速缓存内发生主机映射高速缓存未命中并且所述主机映射高速缓存管理功能被激活时,所述控制器执行主机映射高速缓存管理操作,然后确定是否出现所述主机映射高速缓存管理功能的停用条件。
23.根据权利要求22所述的存储器系统,其中当所述映射高速缓存内生成空余空间时,出现所述停用条件。
24.根据权利要求22所述的存储器系统,其中当所述映射数据到所述主机映射高速缓存的传输的次数超过阈值时,出现所述停用条件。
25.根据权利要求22所述的存储器系统,其中当在所述主机映射高速缓存管理功能被激活之后经过预定的时间段时,出现所述停用条件。
26.根据权利要求22所述的存储器系统,其中所述控制器通过向所述主机装置提供指示满足主机映射高速缓存条件的所述映射数据的映射数据提示、从所述主机装置接收映射数据请求并且向所述主机装置提供满足所述主机映射高速缓存条件的所述映射数据,来执行所述主机映射高速缓存管理操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200005357A KR20210091980A (ko) | 2020-01-15 | 2020-01-15 | 메모리 시스템 |
KR10-2020-0005357 | 2020-01-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113127381A true CN113127381A (zh) | 2021-07-16 |
Family
ID=76763106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010665105.4A Withdrawn CN113127381A (zh) | 2020-01-15 | 2020-07-10 | 执行主机映射管理的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210216458A1 (zh) |
KR (1) | KR20210091980A (zh) |
CN (1) | CN113127381A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614896B2 (en) | 2021-08-06 | 2023-03-28 | Western Digital Technologies, Inc. | UFS out of order hint generation |
KR20230092173A (ko) | 2021-12-17 | 2023-06-26 | 삼성전자주식회사 | 호스트 장치의 동작 방법, 저장 장치의 동작 방법, 및 전자 장치 |
US11829615B2 (en) | 2022-02-16 | 2023-11-28 | Western Digital Technologies, Inc. | Out of order data transfer hint calibration |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10254972B2 (en) * | 2016-09-13 | 2019-04-09 | Toshiba Memory Corporation | Storage device and storage system |
US10884943B2 (en) * | 2018-08-30 | 2021-01-05 | International Business Machines Corporation | Speculative checkin of ERAT cache entries |
-
2020
- 2020-01-15 KR KR1020200005357A patent/KR20210091980A/ko active Pending
- 2020-06-15 US US16/901,888 patent/US20210216458A1/en not_active Abandoned
- 2020-07-10 CN CN202010665105.4A patent/CN113127381A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20210216458A1 (en) | 2021-07-15 |
KR20210091980A (ko) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111180001A (zh) | 存储器系统和测试系统 | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
US20220138096A1 (en) | Memory system | |
KR102381233B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US12026398B2 (en) | Memory system performing flush operation for buffer region | |
CN111177018A (zh) | 存储器系统及其操作方法 | |
CN113127381A (zh) | 执行主机映射管理的存储器系统 | |
CN113741798A (zh) | 数据存储装置及其操作方法 | |
CN109960466B (zh) | 存储器系统及其操作方法 | |
US12333139B2 (en) | Memory system and operating method thereof | |
CN113672525A (zh) | 存储器系统 | |
CN112835514A (zh) | 存储器系统 | |
KR20190032104A (ko) | 비휘발성 메모리 장치, 비휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same | |
CN111078129A (zh) | 存储器系统及其操作方法 | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 | |
CN112783430A (zh) | 存储器系统 | |
US11720276B2 (en) | Memory system and controller for managing write status | |
CN114385070B (zh) | 主机、数据存储装置、数据处理系统以及数据处理方法 | |
CN113010092A (zh) | 数据存储设备及其操作方法 | |
KR20200093363A (ko) | 메모리 시스템 | |
CN113535604B (zh) | 存储器系统 | |
US20210223956A1 (en) | Memory system and data processing system including the same | |
CN116126215A (zh) | 存储器系统及其操作方法和数据处理系统 | |
CN111061424A (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 |
Application publication date: 20210716 |
|
WW01 | Invention patent application withdrawn after publication |