CN105302493A - 一种混合存储阵列中ssd缓存的换入换出控制方法及系统 - Google Patents
一种混合存储阵列中ssd缓存的换入换出控制方法及系统 Download PDFInfo
- Publication number
- CN105302493A CN105302493A CN201510801644.5A CN201510801644A CN105302493A CN 105302493 A CN105302493 A CN 105302493A CN 201510801644 A CN201510801644 A CN 201510801644A CN 105302493 A CN105302493 A CN 105302493A
- Authority
- CN
- China
- Prior art keywords
- queue
- data block
- access
- data
- visitor logs
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种混合存储阵列中SSD缓存的换入换出控制方法及系统,该方法包括:根据数据块的访问情况,建立针对SSD缓存的缓存队列,当缓存队列满员且数据块访问未命中SSD缓存时,建立基于后端机械盘的历史访问队列;针对每一数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于预设扫描周期;如果是,则确定该数据块标识对应的数据块为非热点数据并将与非热点数据对应的访问记录从缓存队列或者历史访问队列中删除。本发明上述技术方案能动态地识别出非热点数据,然后将其从队列中删除,以便将当下的热点数据列入各队列中,以此能够有效利用SSD磁盘有限的存储空间,有效地提升了存储阵列的运行性能。
Description
技术领域
本发明涉及计算机存储系统技术领域,特别是涉及一种混合存储阵列中SSD缓存的换入换出控制方法及系统。
背景技术
目前,随着信息化时代的发展,人们对存储设备响应速度的要求越来越高,通过增加普通缓存资源,即增加RAM(RandomAccessMemory)缓存的方法,虽然能够满足需求,但是普通缓存的价格十分昂贵,并且容量较小。SSD盘(SolidStateDisk)相对传统磁盘而言,具有响应时间短、IOPS较高的特性,使用SSD磁盘作为底层存储设备能到大大提升系统访问带宽,并且降低系统IO延迟。目前,SSD在存储系统中有三种应用方式:其一,构成纯SSD阵列,这种方案性能高,但是价格昂贵;其二,把SSD磁盘和普通机械盘共同构成存储系统的后端存储阵列,使用数据分级存储的解决方案提升系统性能。其三,把SSD磁盘作为缓存来使用,SSD磁盘相对普通缓存而言容量较大,价格较低。
对于在混合存储阵列中被用作缓存(Cache)的SSD磁盘来说,SSDCache适用于具有热点数据的应用场景,热点数据以副本的形式缓存在SSD磁盘中,对这部分热点数据的访问只需要访问SSD磁盘中的副本,不需要访问存放在传统机械盘中的相应数据实体,由于SSD磁盘比传统机械盘响应时间短,因此能够有效的提升存储系统的整体性能。
在现有技术中,SSD磁盘作为缓存,其存储空间小于底层机械盘的存储阵列,在数据访问过程中势必存在数据的换入换出控制,在SSD磁盘空间一定的情况下,把最频繁访问的热点数据缓存在SSD磁盘中,使数据访问在SSDCache中的命中率尽可能的高,才能最有效的提升存储系统的整体性能。要想实现上述目的,就需要有一个有效的缓存换入换出控制方法,比较常用的换入换出算法有LRU(LeastRecentlyUsed)和LFU(LeastFrequentlyUsed),但是它们存在以下几点缺陷:
(1)偶发性的、周期性的批量操作会导致热点数据到非热点数据的切换,进而导致LRU命中率急剧下降,缓存污染情况比较严重。
(2)LUF存在历史数据影响将来数据的缓存污染问题。例如,一数据块在过去一段时间内被经常访问,因此其访问计数非常大,而现在该数据块几乎不被访问,但是,由于其过去的积累的访问计数比较大,所以即使它现在为非热点数据,也不容易被置换出去,造成缓存污染。
基于此,亟需一种新的混合存储阵列中SSD缓存的换入换出控制方法,以克服上述热点数据的变化造成缓存污染进而导致存储阵列运行性能低的问题。
发明内容
有鉴于此,本发明提供了一种混合存储阵列中SSD缓存的换入换出控制方法及系统,以克服现有技术中热点数据的变化造成缓存污染进而导致存储阵列运行性能低的问题。
为解决上述技术问题,本发明提供一种混合存储阵列中SSD缓存的换入换出控制方法,包括:
根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
上述方法中,优选的,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
该方法还包括:
当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
上述方法中,优选的,所述访问记录还包括进入队列时间,所述判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据,包括:
当当前时间减去所述缓存队列中最小的所述访问计数对应的数据块的所述进入队列时间的结果大于预设时间阈值时,认为所述缓存队列中最小的所述访问计数对应的数据块为长期热点数据。
上述方法中,优选的,在所述将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换之后,还包括:
将所述历史访问队列中最大的所述访问计数对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中所述查找的非长期热点数据。
上述方法中,优选的,在所述将与所述非热点数据对应的所述访问记录从所述缓存队列中删除之后,还包括:
将所述历史访问队列中所述访问计数最大的所述访问记录补充至所述缓存队列,并将补充的所述访问记录中所述数据块标识对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中删除的所述非热点数据。
本发明还提供了一种混合存储阵列中SSD缓存的换入换出控制系统,包括:
队列建立单元,用于根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
非热点数据判断单元,用于按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
删除单元,用于如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
上述系统中,优选的,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
该系统还包括:
长期热点数据判断单元,用于当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
置换单元,用于如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
上述系统中,优选的,所述长期热点数据判断单元具体用于当当前时间减去所述缓存队列中最小的所述访问计数对应的数据块的所述进入队列时间的结果大于预设时间阈值时,认为所述缓存队列中最小的所述访问计数对应的数据块为长期热点数据。
上述系统中,优选的,还包括:
第一替换单元,用于在所述将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换之后,将所述历史访问队列中最大的所述访问计数对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中所述查找的非长期热点数据。
上述系统中,优选的,还包括:
第二替换单元,用于在所述将与所述非热点数据对应的所述访问记录从所述缓存队列中删除之后,将所述历史访问队列中所述访问计数最大的所述访问记录补充至所述缓存队列,并将补充的所述访问记录中所述数据块标识对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中删除的所述非热点数据。
以上本发明提供的一种混合存储阵列中SSD缓存的换入换出控制方法及系统中,先根据数据块的访问情况,建立针对SSD缓存的缓存队列,之后当缓存队列满员且数据块访问未命中SSD缓存时,建立基于后端机械盘的历史访问队列;然后,按照预设扫描周期,扫描缓存队列和历史访问队列,针对两队列中每一数据块标识对应的数据块,如果当前时间减去其最近访问时间的结果大于上述扫描周期,则确定该数据块标识对应的数据块为非热点数据,并将与该非热点数据对应的访问记录从缓存队列或者历史访问队列中删除,以便后续将热点数据列入各队列中。
尽管实际应用中随着时间推移热点数据可能变为非热点数据,非热点数据变为热点数据,以此造成的缓存污染会导致存储阵列运行性能低,但是本发明上述技术方案能动态地识别出非热点数据,然后将其从队列中删除,以便将当下的热点数据列入各队列中,以此能够有效利用SSD磁盘有限的存储空间,有效地提升了存储阵列的运行性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种混合存储阵列中SSD缓存的换入换出控制方法的流程图;
图2为本发明实施例提供的一种缓存队列和历史访问队列的示意图;
图3为本发明实施例提供的基于图1的一种流程图;
图4为本发明实施例提供的一种混合存储阵列中SSD缓存的换入换出控制系统的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种混合存储阵列中SSD缓存的换入换出控制方法及系统,以克服现有技术中热点数据的变化造成缓存污染进而导致存储阵列运行性能低的问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参考图1,图1示出了本发明实施例提供的一种混合存储阵列中SSD缓存的换入换出控制方法的流程图,该方法具体可以包括如下步骤:
步骤S100、根据数据块的访问情况,建立针对SSD缓存的缓存队列,当缓存队列满员且数据块访问未命中SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,缓存队列和历史访问队列均包括数据块的访问记录,访问记录包括数据块标识和数据块标识对应的数据块的最近访问时间T_access;进一步地,缓存队列和历史访问队列中的访问记录还可以包括访问计数,基于此,每条访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列。
举个例子,参考图2示出的一种缓存队列和历史访问队列的示意图,在实际应用中,本发明的换入换出控制系统同时维护两个队列,其中一个为历史访问队列,另一个为缓存队列,两个队列中的数据块(实际上为数据块标识,此处可简单称为数据块)都有一个访问计数,两个队列中数据块的访问记录都按照访问计数进行排序,访问次数最多的放在队列尾部,访问次数最少的放在队列头部。如果访问次数相同的,按照数据块的最近访问时间T_access进行排序,访问时间最近的排在靠近队尾的位置。
刚开始的时候,两个队列都为空队列,当数据访问时,因为缓存未命中,首先把被访问的数据块从后端机械盘(也称底层磁盘阵列)中拷贝到SSD磁盘中缓存起来,并把该数据块的访问记录放入缓存队列中进行管理控制。随着数据访问的进行,如果SSDcache被命中,这时缓存队列中对应的数据块访问计数加1,访问计数大的向队尾移动,访问计数小的向队首移动。当SSDCache的空间被缓存的数据块占满时,对应的缓存队列也是满员的,即缓存队列被访问记录占满。
接下来的数据访问,如果被访问的数据块在SSDCache中命中,那么修改缓存队列中相关数据块的访问计数,并进行排序;如果被访问的数据块未命中,则把该数据块的访问记录信息加入到历史访问队列中,访问计数加1,历史访问队列也是按照访问计数大小进行排序,访问计数大的向队尾移动,访问计数小的向队首移动。
由于历史访问队列是基于后端机械盘的,所以该历史访问队列中的访问记录中数据块标识所对应的数据块是存储在后端机械盘中,基于此,当通过历史访问队列中的访问记录访问数据块时,是从后端机械盘中相应位置提取数据块。
当历史访问队列中队尾数据块的访问计数大于缓存队列中队首数据块的访问计数时,对两个队列中的数据块访问记录进行对换,同时把SSDcache中缓存的相应数据块进行置换,具体地,将历史访问队列中队尾对应的数据块从后端机械盘拷贝至SSDcache以替换缓存队列队首对应的数据块。
步骤S101、按照预设扫描周期T_interval,扫描缓存队列和历史访问队列,针对每一数据块标识对应的数据块,判断当前时间T_now减去其最近访问时间T_access的结果是否大于预设扫描周期T_interval,即判断T_now-T_access>T_interval?如果是,则认为该数据块标识对应的数据块为非热点数据,进入步骤S102;否则,认为该数据块标识对应的数据块为热点数据,进入步骤S103。
为防止历史数据影响将来数据的缓存污染问题,周期性对历史访问队列和缓存队列进行扫描,这个扫描周期记为T_interval,T_interval可以根据业务特点可灵活配置。如果在一个周期内两个队列中存在数据块未被访问的情况,则把对应的数据块从缓存队列中删除。
步骤S102、确定该数据块标识对应的数据块为非热点数据并将与非热点数据对应的访问记录从缓存队列或者历史访问队列中删除。
步骤S103、确定该数据块标识对应的数据块为热点数据。
在步骤S102中将与非热点数据对应的访问记录从缓存队列中删除之后,还需要将历史访问队列中访问计数最大的访问记录补充至缓存队列,并将补充的访问记录中数据块标识对应的数据块从后端机械盘拷贝至SSD缓存中,以替换SSD缓存中删除的非热点数据。
在实际应用中,可以参照以下方案实现上述内容:
(1)一个周期T_interval到来时,首先扫描历史访问队列,对于满足T_now-T_access>T_interval的数据块,将其从历史访问队列中删掉,并重新排序。
(2)在完成对历史访问队列的扫描之后,进行缓存队列的扫描,同样对于满足T_now-T_access>T_interval的数据块,将其从缓存队列中删掉,同时把对应的数据块从SSDCache中迁出,之后对缓存队列重新排序。
(3)在完成对缓存队列的扫描后,如果缓存队列由于删掉数据块(的访问记录)后未满,则从历史访问队列的尾部把相应数据的数据块换入缓存队列,同时把对应的数据块迁入SSDCache中。
尽管实际应用中随着时间推移热点数据可能变为非热点数据,非热点数据变为热点数据,以此造成的缓存污染会导致存储阵列运行性能低,但是本发明上述技术方案能动态地识别出非热点数据,然后将其从队列中删除,以便将当下的热点数据列入各队列中,以此能够有效利用SSD磁盘有限的存储空间,有效地提升了存储阵列的运行性能。
在现有技术中,LRU和LFU都无法识别长期的热点数据,因此,当存在短期的突发频繁访问时,突发热点数据会把缓存中的长期的热点数据替换出来,而后续又需要把长期热点数据从后端机械盘中重新缓存到SSDCache中,导致存储阵列整体运行性能的下降。
为了解决上述技术问题,在本发明上述实施例(当历史访问队列中队尾数据块的访问计数大于缓存队列中队首数据块的访问计数时,直接对两个队列中的数据块访问记录进行对换,同时把SSDcache中缓存的相应数据块进行置换。)的基础上,本发明另一实施例提供了解决方案,参考图3,具体包括如下步骤:
步骤S300、当历史访问队列中最大的访问计数大于缓存队列中最小的访问计数时,判断缓存队列中最小的访问计数对应的数据块是否为长期热点数据;如果是,则进入步骤S301;否则,直接进入步骤S302;
具体地,两队列中的访问记录还包括进入队列时间T_enter,判断数据块是否为长期热点数据的具体过程如下:
为了识别长期热点数据,定义了一个界定热点数据的时间T_longTerm,当数据块在缓存中缓存的时间超过T_longTerm时,则认为其是长期热点数据。其中,T_longTerm可根据业务特点灵活配置。同时,缓存队列中的数据块需要维护数据块进入缓存队列的时间T_enter,如果按照访问计数,缓存队列中的数据块需要置换时,还需要判断要被置换的数据块是否为长期热点数据,具体地,当当前时间T_now减去缓存队列中最小的访问计数对应的数据块的进入队列时间T_enter的结果大于预设时间阈值T_longTerm时,即T_now-T_enter>T_longTerm时,认为缓存队列中最小的访问计数对应的数据块为长期热点数据,否则,即为非长期热点数据。
步骤S301、往缓存队列的队尾方向查找非长期热点数据,找到非长期热点数后进入步骤S302。
如果缓存队列中最小的访问计数对应的数据块为长期热点数据,则需要执行步骤S301从缓存队列中寻找其它可置换的非长期热点数据进行置换,如果没有其它可置换的数据块,则放弃本次置换。这样可以防止短期的突发频繁访问的数据把长期热点数据替换出SSDCache。
步骤S302、将非长期热点数据对应的访问记录与历史访问队列中最大的访问计数对应的访问记录进行置换。
在步骤S302中将非长期热点数据对应的访问记录与历史访问队列中最大的访问计数对应的访问记录进行置换之后,还需要将历史访问队列中最大的访问计数对应的数据块从后端机械盘拷贝至SSD缓存中,以替换SSD缓存中查找的非长期热点数据。
在实际应用中,基于本发明上一实施例所公开的技术方案,可以参照以下方案实现本实施例上述内容:
(1)如果访问的数据块命中SSDCache,则缓存队列中相应的数据块引用计数加1,并进行队列排序调整,更新最近访问时间T_access;如果未命中转(2)。
(2)在数据块访问为命中SSDCache的情况下,如果历史访问队列中有该数据块的访问记录,则增加对应数据块的访问计数加1,并进行队列排序调整,更新最近访问时间T_access,如果历史访问队列中队尾数据块的访问计数大于缓存队列中队首数据块的访问计数,转(3)进行缓存置换操作;如果历史访问队列中没有该数据块的访问信息,把该数据块的信息加入历史访问队列的队首,并置访问计数为1,设置最近访问时间T_access。
(3)当历史访问队列中队尾数据块的访问计数大于缓存队列中队首数据块的访问计数时,首先检查缓存队列中队首的数据块加入缓存队列的时间T_enter,如果满足T_now-T_enter>T_longTerm,说明该数据块为长期热点数据,不应该被置换出去,继续往队尾方向查找可进行置换的非长期热点数据,如果没有满足条件的数据块,则放弃本次置换操作;如果找到满足条件的数据块,那么把历史访问队列中队尾数据块与该数据块进行互换,对应的把SSDCache中对应的数据块进行置换。
基于上述本发明实施例提供的混合存储阵列中SSD缓存的换入换出控制方法,本发明实施例还提供了一种混合存储阵列中SSD缓存的换入换出控制系统,参考图4,该系统400可以包括如下内容:
队列建立单元401,用于根据数据块的访问情况,建立针对SSD缓存的缓存队列,当缓存队列满员且数据块访问未命中SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,缓存队列和历史访问队列均包括数据块的访问记录,访问记录包括数据块标识和数据块标识对应的数据块的最近访问时间;
非热点数据判断单元402,用于按照预设扫描周期,扫描缓存队列和历史访问队列,针对每一数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于预设扫描周期;
删除单元403,用于如果是,则确定数据块标识对应的数据块为非热点数据并将与非热点数据对应的访问记录从缓存队列或者历史访问队列中删除。
本发明中,访问记录还包括访问计数,缓存队列和历史访问队列中的访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
该系统400还可以包括以下内容:
长期热点数据判断单元,用于当历史访问队列中最大的访问计数大于缓存队列中最小的访问计数时,判断缓存队列中最小的访问计数对应的数据块是否为长期热点数据;
置换单元,用于如果是,则往缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与历史访问队列中最大的所述访问计数对应的访问记录进行置换。
本发明中,上述长期热点数据判断单元具体可以用于当当前时间减去所述缓存队列中最小的访问计数对应的数据块的进入队列时间的结果大于预设时间阈值时,认为缓存队列中最小的访问计数对应的数据块为长期热点数据。
本发明中,系统400还可以包括第一替换单元,用于在将查找的非长期热点数据对应的访问记录与历史访问队列中最大的访问计数对应的访问记录进行置换之后,将历史访问队列中最大的访问计数对应的数据块从后端机械盘拷贝至SSD缓存中,以替换SSD缓存中查找的非长期热点数据。
本发明中,系统400还可以包括第二替换单元,用于在将与非热点数据对应的访问记录从缓存队列中删除之后,将历史访问队列中访问计数最大的访问记录补充至缓存队列,并将补充的访问记录中数据块标识对应的数据块从后端机械盘拷贝至SSD缓存中,以替换SSD缓存中删除的非热点数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种混合存储阵列中SSD缓存的换入换出控制方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种混合存储阵列中SSD缓存的换入换出控制方法,其特征在于,包括:
根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
2.如权利要求1所述的方法,其特征在于,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
该方法还包括:
当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
3.如权利要求2所述的方法,其特征在于,所述访问记录还包括进入队列时间,所述判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据,包括:
当当前时间减去所述缓存队列中最小的所述访问计数对应的数据块的所述进入队列时间的结果大于预设时间阈值时,认为所述缓存队列中最小的所述访问计数对应的数据块为长期热点数据。
4.如权利要求2或3所述的方法,其特征在于,在所述将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换之后,还包括:
将所述历史访问队列中最大的所述访问计数对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中所述查找的非长期热点数据。
5.如权利要求2所述的方法,其特征在于,在所述将与所述非热点数据对应的所述访问记录从所述缓存队列中删除之后,还包括:
将所述历史访问队列中所述访问计数最大的所述访问记录补充至所述缓存队列,并将补充的所述访问记录中所述数据块标识对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中删除的所述非热点数据。
6.一种混合存储阵列中SSD缓存的换入换出控制系统,其特征在于,包括:
队列建立单元,用于根据数据块的访问情况,建立针对SSD缓存的缓存队列,当所述缓存队列满员且数据块访问未命中所述SSD缓存时,建立基于后端机械盘的历史访问队列;
其中,所述缓存队列和所述历史访问队列均包括数据块的访问记录,所述访问记录包括数据块标识和所述数据块标识对应的数据块的最近访问时间;
非热点数据判断单元,用于按照预设扫描周期,扫描所述缓存队列和所述历史访问队列,针对每一所述数据块标识对应的数据块,判断当前时间减去其最近访问时间的结果是否大于所述预设扫描周期;
删除单元,用于如果是,则确定所述数据块标识对应的数据块为非热点数据并将与所述非热点数据对应的所述访问记录从所述缓存队列或者所述历史访问队列中删除。
7.如权利要求6所述的方法,其特征在于,所述访问记录还包括访问计数,所述缓存队列和所述历史访问队列中的所述访问记录均按照各自的访问计数的大小从队尾至队首、由大到小排列;
该系统还包括:
长期热点数据判断单元,用于当所述历史访问队列中最大的所述访问计数大于所述缓存队列中最小的所述访问计数时,判断所述缓存队列中最小的所述访问计数对应的数据块是否为长期热点数据;
置换单元,用于如果是,则往所述缓存队列的队尾方向查找非长期热点数据,并将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换。
8.如权利要求7所述的方法,其特征在于,所述长期热点数据判断单元具体用于当当前时间减去所述缓存队列中最小的所述访问计数对应的数据块的所述进入队列时间的结果大于预设时间阈值时,认为所述缓存队列中最小的所述访问计数对应的数据块为长期热点数据。
9.如权利要求7或8所述的方法,其特征在于,还包括:
第一替换单元,用于在所述将查找的非长期热点数据对应的访问记录与所述历史访问队列中最大的所述访问计数对应的访问记录进行置换之后,将所述历史访问队列中最大的所述访问计数对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中所述查找的非长期热点数据。
10.如权利要求7所述的方法,其特征在于,还包括:
第二替换单元,用于在所述将与所述非热点数据对应的所述访问记录从所述缓存队列中删除之后,将所述历史访问队列中所述访问计数最大的所述访问记录补充至所述缓存队列,并将补充的所述访问记录中所述数据块标识对应的数据块从所述后端机械盘拷贝至所述SSD缓存中,以替换所述SSD缓存中删除的所述非热点数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510801644.5A CN105302493B (zh) | 2015-11-19 | 2015-11-19 | 一种混合存储阵列中ssd缓存的换入换出控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510801644.5A CN105302493B (zh) | 2015-11-19 | 2015-11-19 | 一种混合存储阵列中ssd缓存的换入换出控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105302493A true CN105302493A (zh) | 2016-02-03 |
CN105302493B CN105302493B (zh) | 2018-04-17 |
Family
ID=55199806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510801644.5A Active CN105302493B (zh) | 2015-11-19 | 2015-11-19 | 一种混合存储阵列中ssd缓存的换入换出控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302493B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021445A (zh) * | 2016-05-16 | 2016-10-12 | 努比亚技术有限公司 | 一种加载缓存数据的方法及装置 |
CN106527988A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种固态硬盘数据迁移的方法及装置 |
CN107291635A (zh) * | 2017-06-16 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种缓存替换方法和装置 |
CN107463514A (zh) * | 2017-08-16 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN113111014A (zh) * | 2021-04-07 | 2021-07-13 | 山东英信计算机技术有限公司 | 缓存中非热点数据的清理方法、装置、设备及存储介质 |
CN113448999A (zh) * | 2021-06-29 | 2021-09-28 | 未鲲(上海)科技服务有限公司 | 数据获取方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
CN103744623A (zh) * | 2014-01-10 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统ssd缓存的数据智能降级的方法 |
CN104239435A (zh) * | 2014-08-29 | 2014-12-24 | 四川长虹电器股份有限公司 | 一种基于图片缩略处理的分布式图片缓存方法 |
CN104572491A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种基于固态硬盘的读缓存管理方法及装置 |
-
2015
- 2015-11-19 CN CN201510801644.5A patent/CN105302493B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440207A (zh) * | 2013-07-31 | 2013-12-11 | 北京智谷睿拓技术服务有限公司 | 缓存方法及装置 |
CN103744623A (zh) * | 2014-01-10 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统ssd缓存的数据智能降级的方法 |
CN104239435A (zh) * | 2014-08-29 | 2014-12-24 | 四川长虹电器股份有限公司 | 一种基于图片缩略处理的分布式图片缓存方法 |
CN104572491A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种基于固态硬盘的读缓存管理方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021445A (zh) * | 2016-05-16 | 2016-10-12 | 努比亚技术有限公司 | 一种加载缓存数据的方法及装置 |
CN106021445B (zh) * | 2016-05-16 | 2019-10-15 | 努比亚技术有限公司 | 一种加载缓存数据的方法及装置 |
CN106527988A (zh) * | 2016-11-04 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种固态硬盘数据迁移的方法及装置 |
CN106527988B (zh) * | 2016-11-04 | 2019-07-26 | 郑州云海信息技术有限公司 | 一种固态硬盘数据迁移的方法及装置 |
CN107291635A (zh) * | 2017-06-16 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种缓存替换方法和装置 |
CN107463514A (zh) * | 2017-08-16 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种数据存储方法及装置 |
CN113111014A (zh) * | 2021-04-07 | 2021-07-13 | 山东英信计算机技术有限公司 | 缓存中非热点数据的清理方法、装置、设备及存储介质 |
CN113448999A (zh) * | 2021-06-29 | 2021-09-28 | 未鲲(上海)科技服务有限公司 | 数据获取方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105302493B (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302493A (zh) | 一种混合存储阵列中ssd缓存的换入换出控制方法及系统 | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
CN104090847B (zh) | 一种固态存储设备的地址分配方法 | |
CN111159066A (zh) | 一种动态调整的缓存数据管理及淘汰方法 | |
US9128847B2 (en) | Cache control apparatus and cache control method | |
CN100481028C (zh) | 一种利用缓存实现数据存储的方法和装置 | |
CN107391398B (zh) | 一种闪存缓存区的管理方法及系统 | |
CN102821113A (zh) | 缓存方法及系统 | |
CN107943719B (zh) | 一种基于请求分类的闪存转换层控制方法 | |
US9635123B2 (en) | Computer system, and arrangement of data control method | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN103136121A (zh) | 一种固态盘的缓存管理方法 | |
US11093410B2 (en) | Cache management method, storage system and computer program product | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
CN108845957B (zh) | 一种置换和回写自适应的缓冲区管理方法 | |
CN103678169A (zh) | 一种高效利用固态盘缓存的方法和系统 | |
CN104657286A (zh) | 一种分级存储方法及装置 | |
CN103049393B (zh) | 内存空间管理方法和装置 | |
CN102253901B (zh) | 一种基于相变内存的读写区分数据存储替换方法 | |
CN103455443A (zh) | 一种缓存管理方法和装置 | |
CN104077242A (zh) | 一种缓存管理方法和装置 | |
CN103399824A (zh) | 一种计算机处理器中高速缓存中缓存不命中的状态保持方法与装置 | |
CN103236989A (zh) | 一种内容分发网络中的缓存控制方法、设备及系统 | |
CN105376269B (zh) | 虚拟机存储系统及其实现方法和装置 | |
CN103019956B (zh) | 一种对缓存数据的操作方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |