CN113535604A - 存储器系统 - Google Patents
存储器系统 Download PDFInfo
- Publication number
- CN113535604A CN113535604A CN202011011679.6A CN202011011679A CN113535604A CN 113535604 A CN113535604 A CN 113535604A CN 202011011679 A CN202011011679 A CN 202011011679A CN 113535604 A CN113535604 A CN 113535604A
- Authority
- CN
- China
- Prior art keywords
- cache
- mode
- memory system
- data
- control unit
- 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.)
- Pending
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- 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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile 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/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/601—Reconfiguration of cache memory
- G06F2212/6012—Reconfiguration of cache memory of operating mode, e.g. cache mode or local memory mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开涉及一种存储器系统,包括:第一高速缓存;第二高速缓存;以及控制单元,被配置为在存储器系统的操作的第一高速缓存模式下将第一高速缓存作为第一级高速缓存进行访问,并在存储器系统的操作的第二高速缓存模式下将第二高速缓存作为第一级高速缓存进行访问。
Description
相关申请的交叉引用
本申请要求于2020年4月16日向韩国知识产权局提交的、申请号为10-2020-0045735的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种存储器系统,并且更特别地,涉及一种包括存储器设备的存储器系统。
背景技术
存储器系统可以被配置为响应于从主机装置接收到的写入请求而存储从主机装置提供的数据。此外,存储器系统可以被配置为响应于从主机装置接收到的读取请求而向主机装置提供所存储的数据。主机装置是能够处理数据的电子装置,并且可以包括计算机、数码相机、蜂窝电话等。存储器系统可以嵌入在主机装置中,或者可以是与主机装置分离的系统并经由与主机装置的电连接而操作。
发明内容
在一些实施例中,本文描述了一种通过最小化多级高速缓存之间的数据移动而具有提高的高速缓存管理效率的存储器系统。
在实施例中,一种存储器系统可以包括:第一高速缓存;第二高速缓存;以及控制单元,被配置为在存储器系统的操作的第一高速缓存模式下将第一高速缓存作为第一级高速缓存进行访问,并在存储器系统的操作的第二高速缓存模式下将第二高速缓存作为第一级高速缓存进行访问。
在实施例中,一种存储器系统可以包括:第一高速缓存;第二高速缓存;以及高速缓存模式管理器,被配置为基于第一高速缓存的命中计数和第二高速缓存的命中计数,选择使用第一高速缓存作为第一级高速缓存的第一高速缓存模式或使用第二高速缓存作为第一级高速缓存的第二高速缓存模式,作为当前高速缓存模式。
在实施例中,一种存储器系统可以包括:第一高速缓存;第二高速缓存;以及控制单元,被配置为当存储器系统在第一高速缓存模式下操作时,根据第一高速缓存逐出策略将数据从第一高速缓存逐出到第二高速缓存;并且当存储器系统在第二高速缓存模式下操作时,根据第二高速缓存逐出策略将数据从第二高速缓存逐出到第一高速缓存。
依照根据实施例的存储器系统,可以通过最小化多级高速缓存之间的数据移动来有效地执行高速缓存管理。
附图说明
图1是示出根据实施例的存储器系统的框图。
图2A和图2B是示出根据实施例的图1的高速缓存模式管理器执行高速缓存模式选择操作的方法的示图。
图3是示出根据实施例的在正常高速缓存模式下访问热高速缓存和暖高速缓存的方法的示图。
图4是示出根据实施例的在正常高速缓存模式下从热高速缓存和暖高速缓存逐出数据的方法的示图。
图5是示出根据实施例的在反转(inversion)高速缓存模式下访问暖高速缓存和热高速缓存的方法的示图。
图6是示出根据实施例的在反转高速缓存模式下从暖高速缓存和热高速缓存逐出数据的方法的示图。
图7是示出根据实施例的图1的高速缓存模式管理器执行高速缓存模式选择操作的方法的流程图。
图8是示出根据实施例的包括固态驱动器(SSD)的数据处理系统的示图。
图9是示出根据实施例的包括存储器系统的数据处理系统的示图。
图10是示出根据实施例的包括存储器系统的数据处理系统的示图。
图11是示出根据实施例的包括存储器系统的网络系统的示图。
图12是示出根据实施例的包括在存储器系统中的非易失性存储器装置的框图。
具体实施方式
在本公开中,在阅读以下结合附图的示例性实施例之后,优点、特征和用于实现它们的方法将变得更加明显。然而,本公开可以以不同的形式实现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了详细地描述本公开,以达到本公开所属领域的技术人员可以容易地实施本公开的技术构思的程度。
本文中要理解的是,本公开的实施例不限于附图所示的细节,附图不一定按比例绘制,并且在某些情况下,比例可能已经被放大,以便更清楚地描绘本公开的某些特征。尽管本文中使用了特定术语,但是要理解的是,本文中使用的术语仅出于描述特定实施例的目的,并不旨在限制本公开的范围。
如本文所使用的,术语“和/或”包括相关联的所列项目中的一个或多个的任意和所有组合。将理解的是,当元件被称为在另一元件“上”、“连接到”或“联接到”另一元件时,该元件可以直接在该另一元件上、连接或联接到该另一元件,或者可以存在中间元件。除非上下文另外明确指出,否则如本文所使用的,单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包括有”时,指定至少一个所陈述特征、步骤、操作和/或元件的存在,但并不排除一个或多个其它特征、步骤、操作和/或其元件的存在或添加。
在下文中,将参照附图详细描述本公开的实施例。
图1是示出根据实施例的存储器系统100的框图。
参照图1,存储器系统100可以被配置为响应于从主机装置接收到的写入请求而存储从外部主机装置提供的数据。此外,存储器系统100可以被配置为响应于接收来自主机装置的读取请求而向主机装置提供所存储的数据。
存储器系统100可以包括个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(诸如,多媒体卡(MMC)、eMMC(嵌入式MMC)、RS-MMC(尺寸减小的MMC)和微型MMC)、安全数字(SD)卡(诸如,SD、迷你SD和微型SD)、通用闪存(UFS)、固态驱动器(SSD)等。
存储器系统100可以包括控制器110和存储介质120。在实施例中,控制器110是管理进出存储介质120的数据流的数字电路。控制器可以独立地形成在芯片上,或者与一个或多个其它电路集成。
控制器110可以控制存储器系统100的全部操作。控制器110可以根据从主机装置接收到的指令而控制存储介质120,以便执行前台操作。前台操作可以包括根据主机装置请求的指令(例如,写入请求和/或读取请求),将数据写入存储介质120和从存储介质120读取数据的操作。
此外,控制器110可以控制存储介质120,以便独立于主机装置请求的任意指令而执行内部所需的后台操作。后台操作可以包括针对存储介质120的损耗均衡操作、垃圾收集操作、擦除操作、读取回收操作和刷新操作中的至少一种。类似于前台操作,后台操作可以包括将数据写入存储介质120和从存储介质120读取数据的操作。
控制器110可以包括控制单元111、高速缓存模式管理器112、第一高速缓存113和第二高速缓存114。
控制单元111可以控制控制器110的全部操作。为了处理主机装置请求的写入请求和/或读取请求,控制单元111可以根据当前高速缓存模式访问第一高速缓存113和第二高速缓存114。根据实施例,为了通过最小化第一高速缓存113和第二高速缓存114之间的数据移动来减少高速缓存管理开销,可以根据高速缓存模式改变第一高速缓存113和第二高速缓存114的第一级高速缓存。
具体地,在第一高速缓存模式下,第一级高速缓存可以是第一高速缓存113,第二级高速缓存可以是第二高速缓存114。因此,在第一高速缓存模式下,控制单元111可以在第二高速缓存114之前访问第一高速缓存113。
另一方面,在第二高速缓存模式下,第一级高速缓存可以是第二高速缓存114,第二级高速缓存可以是第一高速缓存113。因此,在第二高速缓存模式下,控制单元111可以在第一高速缓存113之前访问第二高速缓存114。
高速缓存模式管理器112可以基于第一高速缓存113的命中计数或与第一高速缓存113相关联的命中计数以及第二高速缓存114的命中计数或与第二高速缓存114相关联的命中计数,来选择第一高速缓存模式或第二高速缓存作为当前高速缓存模式。命中计数可以是例如(在特定时间段内)针对高速缓存的高速缓存命中的数量或量,其中当从高速缓存请求数据或文件并且该高速缓存能够提供所请求的数据或文件时,发生高速缓存命中。
当通过从第二高速缓存114的命中计数中减去第一高速缓存113的命中计数所获得的相减值超过计数阈值(例如,高速缓存命中的最小数量)时,高速缓存模式管理器112可以选择第二高速缓存模式,并且当相减值未超过计数阈值时,高速缓存模式管理器112可以选择第一高速缓存模式。高速缓存模式管理器112可以通知控制单元111所选择的当前高速缓存模式。
第一高速缓存113和第二高速缓存114可以高速缓存从存储介质120读取的数据和待存储在存储介质120中的数据。
第一高速缓存113和第二高速缓存114可以以比存储介质120更快的访问速度进行操作。
第一高速缓存113可以以比第二高速缓存114更快的访问速度进行操作。
第二高速缓存114可以具有比第一高速缓存113更大的存储容量。
第一高速缓存113和第二高速缓存114中的每一个可以包括易失性存储器设备。易失性存储器设备可以包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等。
第一高速缓存113和第二高速缓存114中的每一个可以包括非易失性存储器设备。非易失性存储器设备可以包括诸如NAND闪存和NOR闪存的闪速存储器设备、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
在控制器110的控制下,存储介质120可以存储从控制器110传输的数据,读取所存储的数据,并且/或者将所读取的数据传输到控制器110。
存储介质120可以具有比第一高速缓存113和第二高速缓存114更大的存储容量。
存储介质120可以包括诸如NAND闪存和NOR闪存的闪速存储器设备、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
存储介质120可以包括一个或多个平面、一个或多个存储器芯片、一个或多个存储器管芯和/或一个或多个存储器封装。
图2A和图2B是示出根据实施例的图1的高速缓存模式管理器112执行高速缓存模式选择操作的方法的示图。在下文中,图1的第一高速缓存113可以是热高速缓存HOTC,第二高速缓存114可以是暖高速缓存WARMC。此外,第一高速缓存模式可以被称为正常高速缓存模式,第二高速缓存模式可以被称为反转高速缓存模式。
参照图2A,热高速缓存HOTC可以存储数据段DS11至DS1n。暖高速缓存WARMC可以具有比热高速缓存HOTC更大的存储容量,并存储数据段DS21至DS2m。数据段可以是数据存储在热高速缓存HOTC和暖高速缓存WARMC中以及从热高速缓存HOTC和暖高速缓存WARMC逐出的单位。
每当热高速缓存HOTC的数据段DS11至DS1n被高速缓存命中时,高速缓存模式管理器112可以增加热高速缓存HOTC的命中计数HHC。此外,每当暖高速缓存WARMC的数据段DS21至DS2m被高速缓存命中时,高速缓存模式管理器112可以增加暖高速缓存WARMC的命中计数WHC。
参照图2B,在启动时,可以将高速缓存模式设置为正常高速缓存模式。可选地,在启动时,高速缓存模式管理器112可以选择高速缓存模式作为正常高速缓存模式。因此,在启动之后,热高速缓存HOTC可以用作第一级高速缓存,并且暖高速缓存WARMC可以用作第二级高速缓存。
此外,高速缓存模式管理器112可以实时或周期性地执行高速缓存模式选择操作。根据实施例,高速缓存模式管理器112可以基于当前第一级高速缓存的高速缓存未命中的数量、高速缓存未命中率和/或高速缓存命中率,来确定是否执行高速缓存模式选择操作。例如,当当前第一级高速缓存的高速缓存未命中的数量或高速缓存未命中率超过未命中阈值数和/或低于某个阈值率或阈值比率时,高速缓存模式管理器112可以确定执行高速缓存模式选择操作。
高速缓存模式选择操作可以包括将通过从暖高速缓存WARMC的命中计数WHC中减去热高速缓存HOTC的命中计数HHC所获得的值(例如,相减值)与计数阈值TH进行比较的步骤,以及根据或基于比较结果选择或确定当前高速缓存模式的步骤。
具体地,当在正常高速缓存模式下相减值超过计数阈值TH(例如,WHC–HHC>TH)时,高速缓存模式管理器112可以将当前高速缓存模式改变为反转高速缓存模式。当在反转高速缓存模式下相减值超过计数阈值TH时,高速缓存模式管理器112可以继续保持反转高速缓存模式。在反转高速缓存模式下,暖高速缓存WARMC可以用作第一级高速缓存,热高速缓存HOTC可以用作第二级高速缓存。
此外,当在反转高速缓存模式下相减值未超过计数阈值TH(例如,WHC–HHC≤TH)时,高速缓存模式管理器112可以将当前高速缓存模式改变为正常高速缓存模式。当在正常高速缓存模式下相减值未超过计数阈值TH时,高速缓存模式管理器112可以继续保持正常高速缓存模式。
因此,当前高速缓存模式可以具有热高速缓存HOTC或暖高速缓存WARMC作为第一级高速缓存进行操作。因此,可以降低或提高高速缓存未命中率,减少热高速缓存HOTC和暖高速缓存WARMC之间的数据移动,从而提高或增强存储器系统100的操作性能。
图3是示出根据实施例的在正常高速缓存模式下访问热高速缓存HOTC和暖高速缓存WARMC的方法的示图。
参照图3,在正常高速缓存模式下,热高速缓存HOTC可以是第一级高速缓存,暖高速缓存WARMC可以是第二级高速缓存。
在情况S31中,控制单元111可以响应于从主机装置接收到的访问请求,首先确定在热高速缓存HOTC中是否发生高速缓存命中。当在热高速缓存HOTC中发生高速缓存命中时,控制单元111可以访问热高速缓存HOTC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D31从热高速缓存HOTC传输到主机装置。同时,因为针对热高速缓存HOTC发生了高速缓存命中,所以高速缓存模式管理器112可以增加热高速缓存HOTC的命中计数HHC。
在情况S32中,控制单元111可以响应于从主机装置接收到的访问请求,在热高速缓存HOTC中发生高速缓存未命中时确定在暖高速缓存WARMC中发生高速缓存命中。当在暖高速缓存WARMC中发生高速缓存命中时,控制单元111可以将数据D32从暖高速缓存WARMC恢复到热高速缓存HOTC,并访问热高速缓存HOTC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D32从热高速缓存HOTC传输到主机装置。此时,可以删除暖高速缓存WARMC中的数据D32。同时,因为针对暖高速缓存WARMC发生了高速缓存命中,所以高速缓存模式管理器112可以增加暖高速缓存WARMC的命中计数WHC。
在情况S33中,控制单元111可以响应于从主机装置接收到的访问请求,在针对热高速缓存HOTC和暖高速缓存WARMC发生高速缓存未命中时,将数据从存储介质120恢复到热高速缓存HOTC,并访问热高速缓存HOTC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D33从热高速缓存HOTC传输到主机装置。同时,因为热高速缓存HOTC或暖高速缓存WARMC都没有发生高速缓存命中,所以高速缓存模式管理器112可以不增加热高速缓存HOTC的命中计数HHC或暖高速缓存WARMC的命中计数WHC。
类似于响应于读取请求的操作,控制单元111可以从主机装置接收写入请求,并在正常高速缓存模式下响应于写入请求时类似地访问热高速缓存HOTC和暖高速缓存WARMC。然而,当在热高速缓存HOTC中发生高速缓存命中时,控制单元111可以将写入数据存储在已经在热高速缓存HOTC中存储了相应或相关联的数据(例如,数据D31)的位置。此外,控制单元111可以将写入数据存储在已经存储了恢复到热高速缓存HOTC的数据(例如,数据D32或数据D33)的位置。
图4是示出根据实施例的在正常高速缓存模式下从热高速缓存HOTC和暖高速缓存WARMC逐出数据的方法的示图。
参照图4,在情况S41中,当热高速缓存HOTC中没有更多的数据存储空间时,控制单元111可以将数据D41从热高速缓存HOTC逐出到暖高速缓存WARMC。例如,控制单元111可以在从暖高速缓存WARMC或存储介质120恢复的数据存储在热高速缓存HOTC中之前逐出数据D41。此时,控制单元111可以根据或遵循第一高速缓存逐出策略来选择或确定待从热高速缓存HOTC逐出的数据D41。第一高速缓存逐出策略可以是最近最少使用(LRU)策略。例如,控制单元111可以基于LRU策略将最不频繁访问的数据D41确定为待从热高速缓存HOTC逐出的数据。
在情况S42中,当暖高速缓存WARMC中没有更多的数据存储空间时,控制单元111可以将数据D42从暖高速缓存WARMC逐出到存储介质120。例如,控制单元111可以在从热高速缓存HOTC逐出的数据存储在暖高速缓存WARMC中之前逐出数据D42。此时,控制单元111可以根据或遵循第一高速缓存逐出策略来选择或确定待从暖高速缓存WARMC逐出的数据D42。也就是说,控制单元111可以基于LRU策略将最不频繁访问的数据D42确定为待从暖高速缓存WARMC逐出的数据。
图5是示出根据实施例的在反转高速缓存模式下访问热高速缓存HOTC和暖高速缓存WARMC的方法的示图。
参照图5,在反转高速缓存模式下,暖高速缓存WARMC可以是第一级高速缓存,热高速缓存HOTC可以是第二级高速缓存。在反转高速缓存模式下,基于热高速缓存HOTC和暖高速缓存WARMC的特性,可以比在正常高速缓存模式下更有效地执行数据恢复。
具体地,在情况S51中,控制单元111可以响应于从主机装置接收到的访问请求,首先确定在暖高速缓存WARMC中或与暖高速缓存WARMC相关联是否发生高速缓存命中。当在暖高速缓存WARMC中发生高速缓存命中时,控制单元111可以访问暖高速缓存WARMC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D51从暖高速缓存WARMC传输到主机装置。同时,因为暖高速缓存WARMC已经发生了高速缓存命中,所以高速缓存模式管理器112可以增加暖高速缓存WARMC的命中计数WHC。
在情况S52中,控制单元111可以响应于主机装置的访问请求,在暖高速缓存WARMC中发生高速缓存未命中时确定在热高速缓存HOTC中发生高速缓存命中。当在热高速缓存HOTC中发生高速缓存命中时,控制单元111可以访问热高速缓存HOTC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D52从热高速缓存HOTC传输到主机装置。因此,因为热高速缓存HOTC具有比暖高速缓存WARMC更快的访问速度,所以数据D52不从热高速缓存HOTC移动到暖高速缓存WARMC,而是可以从热高速缓存HOTC直接传输到主机装置。同时,因为热高速缓存HOTC已经发生了高速缓存命中,所以高速缓存模式管理器112可以增加热高速缓存HOTC的命中计数HHC。
在情况S53中,控制单元111可以响应于主机装置的访问请求,在暖高速缓存WARMC和热高速缓存HOTC中发生高速缓存未命中时,将数据D53从存储介质120恢复到暖高速缓存WARMC,并访问暖高速缓存WARMC。例如,当主机装置的访问请求是读取请求时,控制单元111可以将数据D53从暖高速缓存WARMC传输到主机装置。同时,因为热高速缓存HOTC或暖高速缓存WARMC都没有发生高速缓存命中,所以高速缓存模式管理器112可以不增加热高速缓存HOTC的命中计数HHC或暖高速缓存WARMC的命中计数WHC。
类似于响应于读取请求的操作,控制单元111可以从主机装置接收写入请求,并在反转高速缓存模式下响应于写入请求时类似地访问热高速缓存HOTC和暖高速缓存WARMC。然而,当在暖高速缓存WARMC中发生高速缓存命中时,控制单元111可以将写入数据存储在已经在暖高速缓存WARMC中存储了相应的数据(例如,数据D51)的位置。此外,当在热高速缓存HOTC中发生高速缓存命中时,控制单元111可以将写入数据存储在已经在热高速缓存HOTC中存储了相应的数据(例如,数据D52)的位置。此外,控制单元111可以将写入数据存储在已经存储了恢复到暖高速缓存WARMC的数据(例如,数据D53)的位置。
图6是示出根据实施例的在反转高速缓存模式下从暖高速缓存WARMC和热高速缓存HOTC逐出数据的方法的示图。
参照图6,在反转高速缓存模式下,基于热高速缓存HOTC和暖高速缓存WARMC的特性,可以比在正常高速缓存模式下更有效地执行数据逐出。
在情况S61中,当暖高速缓存WARMC中没有更多的数据存储空间时,控制单元111可以将数据D61从暖高速缓存WARMC逐出到热高速缓存HOTC。例如,控制单元111可以在从存储介质120恢复的数据存储到暖高速缓存WARMC中之前逐出数据D61。此时,控制单元111可以根据或基于第二高速缓存逐出策略来确定待从暖高速缓存WARMC逐出的数据D61。第二高速缓存逐出策略可以是最近经常使用(LRU)策略。也就是说,控制单元111可以将最频繁访问的数据D61确定为待从暖高速缓存WARMC逐出的数据。
在情况S62中,当热高速缓存HOTC中没有更多的数据存储空间时,控制单元111可以将数据D62从热高速缓存HOTC逐出到存储介质120。例如,控制单元111可以在从暖高速缓存WARMC逐出的数据存储到热高速缓存HOTC中之前逐出数据D62。此时,控制单元111可以根据或基于第一高速缓存逐出策略来确定待从热高速缓存HOTC逐出的数据D62。也就是说,控制单元111可以基于LRU策略将最不频繁访问的数据D62确定为待从热高速缓存HOTC逐出的数据。
根据实施例,存储器系统100可以进一步包括级别比热高速缓存HOTC和暖高速缓存WARMC低的一个或多个附加高速缓存。在这种情况下,对于正常高速缓存模式和反转高速缓存模式,当在第一级高速缓存和第二级高速缓存中发生高速缓存未命中时,可以顺序地确定在附加高速缓存中是否发生高速缓存命中。此外,对于正常高速缓存模式和反转高速缓存模式两者,附加高速缓存中的每一个可以存储从较高高速缓存逐出的数据。
图7是示出根据实施例的图1的高速缓存模式管理器112执行高速缓存模式选择操作的方法的流程图。
参照图7,在步骤S710中,高速缓存模式管理器112可以确定是否执行高速缓存模式选择操作。例如,当当前第一级高速缓存的高速缓存未命中的数量或高速缓存未命中率高于未命中阈值数量或阈值高速缓存未命中率时,高速缓存模式管理器112可以确定执行高速缓存模式选择操作。当高速缓存模式管理器112确定不执行高速缓存模式选择操作时,该方法结束。当高速缓存模式管理器112确定执行高速缓存模式选择操作时,过程可以进行到步骤S720。
在步骤S720中,高速缓存模式管理器112可以确定第一高速缓存113的命中计数和第二高速缓存114的命中计数。
在步骤S730中,高速缓存模式管理器112可以确定通过从第二高速缓存114的命中计数中减去第一高速缓存113的命中计数所获得的相减值是否超过计数阈值。当相减值超过计数阈值时,该方法进行到步骤S740。当相减值未超过计数阈值时,该方法进行到步骤S750。
在步骤S740中,高速缓存模式管理器112可以选择第二高速缓存模式作为当前高速缓存模式。在第二高速缓存模式下,第二高速缓存114可以用作第一级高速缓存,第一高速缓存113可以用作第二级高速缓存。
在步骤S750中,高速缓存模式管理器112可以选择第一高速缓存模式作为当前高速缓存模式。在第一高速缓存模式下,第一高速缓存113可以用作第一级高速缓存,第二高速缓存114可以用作第二级高速缓存。
图8是示出根据实施例的包括固态驱动器(SSD)1200的数据处理系统1000的示图。参照图8,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214、存储器接口单元1215和高速缓存模式管理器1216。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机装置1100的协议接口连接主机装置1100和SSD 1200。例如,主机接口单元1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。
控制单元1212可以分析和处理从主机装置1100接收到的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。控制单元1212可以以与图1所示的控制单元111相同的方式配置。
随机存取存储器1213可以用作用于驱动固件或软件的工作存储器。此外,随机存取存储器1213可以用作SSD 1200的第一高速缓存。随机存取存储器1213可以以与图1所示的第一高速缓存113相同的方式配置。
ECC单元1214可以生成待传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。所生成的奇偶校验数据可以与该数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个读取的数据的错误。如果检测到的错误在可校正范围内,则ECC单元1214可以校正检测到的错误。
存储器接口单元1215可以根据控制单元1212的控制将诸如命令和地址的控制信号提供到非易失性存储器装置1231至123n中的至少一个。此外,存储器接口单元1215可以根据控制单元1212的控制与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口单元1215可以将存储在缓冲存储器装置1220中的数据提供到非易失性存储器装置1231至123n中的至少一个,或者将从非易失性存储器装置1231至123n中的至少一个读取的数据提供到缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n的至少一个中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n中的至少一个读取的数据。根据控制器1210的控制,可以将临时存储在缓冲存储器装置1220中的数据传输到主机装置1100或非易失性存储器装置1231至123n中的至少一个。
同时,缓冲存储器装置1220可以用作SSD 1200的第二高速缓存。缓冲存储器装置1220可以以与图1所示的第二高速缓存114相同的方式配置。
非易失性存储器装置1231至223n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个通道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的电力PWR提供到SSD1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以供应电力以在发生突然断电(SPO)时允许SSD 1200正常终止。辅助电源1241可以包括大容量电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器配置。
根据主机装置1100的供电方案,电源连接器1260可以由各种类型的连接器配置。
图9是示出根据实施例的包括存储器系统2200的数据处理系统2000的示图。参照图9,数据处理系统2000可以包括主机装置2100和存储器系统2200。
主机装置2100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可以安装到连接端子2110。
存储器系统2200可以以诸如印刷电路板的板的形式配置。存储器系统2200可以被称为存储器模块或存储卡。存储器系统2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制存储器系统2200的一般操作。控制器2210可以以与图8所示的控制器1210相同的方式配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读取的数据。根据控制器2210的控制,可以将临时存储在缓冲存储器装置2220中的数据传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作存储器系统2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的电力提供到存储器系统2200的内部。PMIC 2240可以根据控制器2210的控制来管理存储器系统2200的电力。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,可以在主机装置2100和存储器系统2200之间传送诸如命令、地址、数据等的信号以及电力。根据主机装置2100和存储器系统2200之间的接口方案,连接端子2250可以被配置为各种类型。连接端子2250可以布置在存储器系统2200的任意一侧上。
图10是示出根据实施例的包括存储器系统3200的数据处理系统3000的示图。参照图10,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板的板的形式配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
存储器系统3200可以以表面安装型封装的形式配置。存储器系统3200可以通过焊球3250安装到主机装置3100。存储器系统3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图8所示的控制器1210相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读取的数据。根据控制器3210的控制,可以将临时存储在缓冲存储器装置3220中的数据传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作存储器系统3200的存储介质。
图11是示出根据实施例的包括存储器系统4200的网络系统4000的示图。参照图11,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求而服务数据。例如,服务器系统4300可以存储从多个客户端系统4410至4430提供的数据。作为另一示例,服务器系统4300可以向多个客户端系统4410至4430提供数据。
服务器系统4300可以包括主机装置4100和存储器系统4200。存储器系统4200可以由图1所示的存储器系统100、图8所示的SSD 1200、图9所示的存储器系统2200或图10所示的存储器系统3200配置。
图12是示出根据实施例的包括在存储器系统中的非易失性存储器装置300的框图。参照图12,非易失性存储器装置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可以基于解码结果,将数据读取/写入块330中分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。可以将由电压生成器350生成的电压施加到存储器单元阵列310的存储器单元。例如,可以将在编程操作中生成的编程电压施加到待被执行编程操作的存储器单元的字线。又例如,可以将在擦除操作中生成的擦除电压施加到待被执行擦除操作的存储器单元的阱区。再例如,可以将在读取操作中生成的读取电压施加到待被执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
因为本公开所属领域的技术人员可以在不改变本公开的技术思想或本质特征的情况下,以其它特定形式实现本公开,所以应理解的是,上述实施例在所有方面都是示例性的,而不是限制性的。本公开的范围由所附权利要求而不是详细描述来限定,并且应理解的是,权利要求的含义和范围以及从其等同概念衍生的所有修改或修改形式都包括在本公开的范围内。
Claims (29)
1.一种存储器系统,包括:
第一高速缓存;
第二高速缓存;以及
控制单元,在所述存储器系统的操作的第一高速缓存模式下将所述第一高速缓存作为第一级高速缓存进行访问,并在所述存储器系统的操作的第二高速缓存模式下将所述第二高速缓存作为所述第一级高速缓存进行访问。
2.根据权利要求1所述的存储器系统,其中所述控制单元在操作的所述第一高速缓存模式下将所述第二高速缓存作为第二级高速缓存进行访问,并在操作的所述第二高速缓存模式下将所述第一高速缓存作为所述第二级高速缓存进行访问。
3.根据权利要求1所述的存储器系统,进一步包括:
高速缓存模式管理器,执行高速缓存模式选择操作,所述高速缓存模式选择操作基于所述第一高速缓存的命中计数和所述第二高速缓存的命中计数,选择所述第一高速缓存模式或所述第二高速缓存模式作为当前高速缓存模式。
4.根据权利要求3所述的存储器系统,其中当通过从所述第二高速缓存的命中计数中减去所述第一高速缓存的命中计数所获得的相减值超过阈值时,所述高速缓存模式管理器选择所述第二高速缓存模式,并且当所述相减值未超过所述阈值时,所述高速缓存模式管理器选择所述第一高速缓存模式。
5.根据权利要求3所述的存储器系统,其中所述高速缓存模式管理器基于与当前第一级高速缓存相关联的高速缓存未命中的数量来确定是否执行所述高速缓存模式选择操作。
6.根据权利要求1所述的存储器系统,其中所述第一高速缓存以比所述第二高速缓存更快的访问速度操作。
7.根据权利要求6所述的存储器系统,其中所述第二高速缓存具有比所述第一高速缓存更大的存储容量。
8.根据权利要求1所述的存储器系统,其中当在操作的所述第二高速缓存模式期间,在所述第二高速缓存中发生高速缓存未命中并且在所述第一高速缓存中发生高速缓存命中时,所述控制单元访问所述第一高速缓存而不将数据从所述第一高速缓存恢复到所述第二高速缓存。
9.根据权利要求1所述的存储器系统,其中当在所述第二高速缓存模式下操作时,所述控制单元根据最近经常使用策略即MRU策略将数据从所述第二高速缓存逐出到所述第一高速缓存。
10.根据权利要求9所述的存储器系统,进一步包括:
存储介质,
其中当在所述第二高速缓存模式下操作时,所述控制单元根据最近最少使用策略即LRU策略将数据从所述第一高速缓存逐出到所述存储介质。
11.一种存储器系统,包括:
第一高速缓存;
第二高速缓存;以及
高速缓存模式管理器,基于所述第一高速缓存的命中计数和所述第二高速缓存的命中计数,选择使用所述第一高速缓存作为第一级高速缓存的第一高速缓存模式或者使用所述第二高速缓存作为所述第一级高速缓存的第二高速缓存模式,作为当前高速缓存模式。
12.根据权利要求11所述的存储器系统,其中所述高速缓存模式管理器基于通过从所述第二高速缓存的命中计数中减去所述第一高速缓存的命中计数所获得的相减值来选择所述第一高速缓存模式或所述第二高速缓存模式作为所述当前高速缓存模式。
13.根据权利要求12所述的存储器系统,其中当所述相减值超过阈值时,所述高速缓存模式管理器选择所述第二高速缓存模式,并且当所述相减值未超过所述阈值时,所述高速缓存模式管理器选择所述第一高速缓存模式。
14.根据权利要求11所述的存储器系统,其中所述高速缓存模式管理器响应于当前第一级高速缓存的高速缓存未命中的数量超过阈值高速缓存未命中数量,基于所述第一高速缓存的命中计数和所述第二高速缓存的命中计数来选择所述当前高速缓存模式。
15.根据权利要求11所述的存储器系统,其中所述第一高速缓存以比所述第二高速缓存更快的访问速度操作。
16.根据权利要求15所述的存储器系统,其中所述第二高速缓存具有比所述第一高速缓存更大的存储容量。
17.根据权利要求11所述的存储器系统,其中所述第一高速缓存模式使用所述第二高速缓存作为第二级高速缓存,并且所述第二高速缓存模式使用所述第一高速缓存作为所述第二级高速缓存。
18.根据权利要求11所述的存储器系统,进一步包括:
控制单元,当在所述第二高速缓存模式下,在所述第二高速缓存中发生高速缓存未命中并且在所述第一高速缓存中发生高速缓存命中时,访问所述第一高速缓存而不将数据从所述第一高速缓存恢复到所述第二高速缓存。
19.根据权利要求11所述的存储器系统,进一步包括:
控制单元,在所述第二高速缓存模式下,根据最近经常使用策略即MRU策略将数据从所述第二高速缓存逐出到所述第一高速缓存。
20.根据权利要求19所述的存储器系统,进一步包括:
存储介质,
其中在所述第二高速缓存模式下,所述控制单元根据最近最少使用策略即LRU策略将数据从所述第一高速缓存逐出到所述存储介质。
21.一种存储器系统,包括:
第一高速缓存;
第二高速缓存;以及
控制单元,所述控制单元:
当所述存储器系统在第一高速缓存模式下操作时,根据第一高速缓存逐出策略将数据从所述第一高速缓存逐出到所述第二高速缓存;并且
当所述存储器系统在第二高速缓存模式下操作时,根据第二高速缓存逐出策略将数据从所述第二高速缓存逐出到所述第一高速缓存。
22.根据权利要求21所述的存储器系统,其中所述控制单元在所述第一高速缓存模式下将所述第一高速缓存作为第一级高速缓存进行访问,并在所述第二高速缓存模式下将所述第二高速缓存作为所述第一级高速缓存进行访问。
23.根据权利要求22所述的存储器系统,其中所述控制单元在所述第一高速缓存模式下将所述第二高速缓存作为第二级高速缓存进行访问,并在所述第二高速缓存模式下将所述第一高速缓存作为所述第二级高速缓存进行访问。
24.根据权利要求21所述的存储器系统,进一步包括:
高速缓存模式管理器,基于使用所述第一高速缓存的命中计数和所述第二高速缓存的命中计数的高速缓存模式选择操作的结果,选择所述第一高速缓存模式或所述第二高速缓存模式作为当前高速缓存模式。
25.根据权利要求24所述的存储器系统,其中当所述高速缓存模式选择操作确定通过从所述第二高速缓存的命中计数中减去所述第一高速缓存的命中计数所获得的相减值超过阈值时,所述高速缓存模式管理器选择所述第二高速缓存模式,并且当所述相减值未超过所述阈值时,所述高速缓存模式管理器选择所述第一高速缓存模式。
26.根据权利要求24所述的存储器系统,其中所述高速缓存模式管理器基于与当前第一级高速缓存相关联的高速缓存未命中的数量来确定是否执行所述高速缓存模式选择操作。
27.根据权利要求21所述的存储器系统,其中所述第一高速缓存以比所述第二高速缓存更快的访问速度操作。
28.根据权利要求27所述的存储器系统,其中所述第二高速缓存具有比所述第一高速缓存更大的存储容量。
29.根据权利要求21所述的存储器系统,其中当在所述第二高速缓存模式期间,在所述第二高速缓存中发生高速缓存未命中并且在所述第一高速缓存中发生高速缓存命中时,所述控制单元访问所述第一高速缓存而不将数据从所述第一高速缓存恢复到所述第二高速缓存。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200045735A KR20210128073A (ko) | 2020-04-16 | 2020-04-16 | 메모리 시스템 |
KR10-2020-0045735 | 2020-04-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535604A true CN113535604A (zh) | 2021-10-22 |
Family
ID=78080826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011011679.6A Pending CN113535604A (zh) | 2020-04-16 | 2020-09-23 | 存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11281581B2 (zh) |
KR (1) | KR20210128073A (zh) |
CN (1) | CN113535604A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2022202A1 (en) * | 1990-07-30 | 1992-01-31 | Joseph R. Falcone | Sequential reference management for cache memories |
US20020032840A1 (en) * | 2000-01-27 | 2002-03-14 | Campbell Paul W. | Method and apparatus for cache memory management |
US20080022051A1 (en) * | 2006-07-24 | 2008-01-24 | Takeki Osanai | Systems and Methods for Providing Fixed-Latency Data Access in a Memory System Having Multi-Level Caches |
US20110213924A1 (en) * | 2010-02-26 | 2011-09-01 | Red Hat, Inc. | Methods for adapting performance sensitive operations to various levels of machine loads |
US20180336143A1 (en) * | 2017-05-22 | 2018-11-22 | Microsoft Technology Licensing, Llc | Concurrent cache memory access |
US20190354488A1 (en) * | 2018-05-18 | 2019-11-21 | International Business Machines Corporation | Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3724001B2 (ja) * | 1994-12-12 | 2005-12-07 | 富士通株式会社 | 情報処理装置 |
US8341353B2 (en) * | 2010-01-14 | 2012-12-25 | Qualcomm Incorporated | System and method to access a portion of a level two memory and a level one memory |
US9507534B2 (en) * | 2011-12-30 | 2016-11-29 | Intel Corporation | Home agent multi-level NVM memory architecture |
KR101983833B1 (ko) * | 2012-06-26 | 2019-09-04 | 삼성전자주식회사 | 공유된 캐쉬들을 제공하는 방법 및 장치 |
KR101502998B1 (ko) | 2014-01-06 | 2015-03-18 | 세종대학교산학협력단 | 메모리 시스템 및 그 관리 방법 |
KR102516882B1 (ko) | 2015-02-11 | 2023-04-17 | 삼성전자주식회사 | 캐시 관리 방법 및 이를 위한 컴퓨팅 장치 |
JP2016170729A (ja) * | 2015-03-13 | 2016-09-23 | 株式会社東芝 | メモリシステム |
US10073790B2 (en) * | 2015-12-03 | 2018-09-11 | Samsung Electronics Co., Ltd. | Electronic system with memory management mechanism and method of operation thereof |
WO2018211749A1 (ja) * | 2017-05-16 | 2018-11-22 | ソニーセミコンダクタソリューションズ株式会社 | ストレージコントローラ、ストレージシステム、ストレージコントローラの制御方法およびプログラム |
US10705590B2 (en) * | 2017-11-28 | 2020-07-07 | Google Llc | Power-conserving cache memory usage |
TWI697902B (zh) * | 2019-01-24 | 2020-07-01 | 瑞昱半導體股份有限公司 | 電子裝置及電子裝置的管理方法 |
-
2020
- 2020-04-16 KR KR1020200045735A patent/KR20210128073A/ko unknown
- 2020-09-02 US US17/010,551 patent/US11281581B2/en active Active
- 2020-09-23 CN CN202011011679.6A patent/CN113535604A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2022202A1 (en) * | 1990-07-30 | 1992-01-31 | Joseph R. Falcone | Sequential reference management for cache memories |
US20020032840A1 (en) * | 2000-01-27 | 2002-03-14 | Campbell Paul W. | Method and apparatus for cache memory management |
US20080022051A1 (en) * | 2006-07-24 | 2008-01-24 | Takeki Osanai | Systems and Methods for Providing Fixed-Latency Data Access in a Memory System Having Multi-Level Caches |
US20110213924A1 (en) * | 2010-02-26 | 2011-09-01 | Red Hat, Inc. | Methods for adapting performance sensitive operations to various levels of machine loads |
US20180336143A1 (en) * | 2017-05-22 | 2018-11-22 | Microsoft Technology Licensing, Llc | Concurrent cache memory access |
US20190354488A1 (en) * | 2018-05-18 | 2019-11-21 | International Business Machines Corporation | Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module |
Also Published As
Publication number | Publication date |
---|---|
US11281581B2 (en) | 2022-03-22 |
US20210326261A1 (en) | 2021-10-21 |
KR20210128073A (ko) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804023B (zh) | 数据存储装置及其操作方法 | |
US11163696B2 (en) | Controller, memory system and operating method thereof for controlling a non-volatile memory device during a sync-up operation | |
US20220138096A1 (en) | Memory system | |
US11422930B2 (en) | Controller, memory system and data processing system | |
CN113704138A (zh) | 存储装置及其操作方法 | |
US10877853B2 (en) | Data storage device and operation method optimized for recovery performance, and storage system having the same | |
US20210357329A1 (en) | Memory system | |
KR20190006677A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN111752858A (zh) | 控制器、存储器系统及其操作方法 | |
US20210216458A1 (en) | Memory system performing host map management | |
US20210334029A1 (en) | Data storage apparatus and operation method thereof | |
US20210141554A1 (en) | Memory system | |
US20210191626A1 (en) | Data processing system | |
US20190361608A1 (en) | Data storage device and operation method for recovery, and storage system having the same | |
US11513960B2 (en) | Data storage device and operating method thereof | |
KR20190090629A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11281581B2 (en) | Memory system | |
KR20210156061A (ko) | 저장 장치 및 그 동작 방법 | |
CN114546249B (zh) | 数据存储装置及其操作方法 | |
KR20200104601A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US11243718B2 (en) | Data storage apparatus and operation method i'hereof | |
US11775212B2 (en) | Data storage device and operating method thereof | |
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 |