CN101576856A - 一种基于长短周期访问频度的缓存数据替换方法 - Google Patents

一种基于长短周期访问频度的缓存数据替换方法 Download PDF

Info

Publication number
CN101576856A
CN101576856A CNA2009100163633A CN200910016363A CN101576856A CN 101576856 A CN101576856 A CN 101576856A CN A2009100163633 A CNA2009100163633 A CN A2009100163633A CN 200910016363 A CN200910016363 A CN 200910016363A CN 101576856 A CN101576856 A CN 101576856A
Authority
CN
China
Prior art keywords
buffer
access frequency
data
module
frequency value
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
Application number
CNA2009100163633A
Other languages
English (en)
Inventor
王文方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Langchao Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Langchao Electronic Information Industry Co Ltd filed Critical Langchao Electronic Information Industry Co Ltd
Priority to CNA2009100163633A priority Critical patent/CN101576856A/zh
Publication of CN101576856A publication Critical patent/CN101576856A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于长短周期访问频度的缓存数据替换方法,属于一种磁盘阵列的数据缓存管理技术,利用缓存数据访问频度值,反映缓存数据在长短周期内被访问的情况,并按照缓存数据访问频度值的大小进行排序,查找最久未被使用的缓存数据,将该缓存数据替换出缓存区,并将新数据换入缓存区;结构包括缓存区、缓存替换接口模块、缓存访问频度统计模块、缓存访问频度排序模块、缓存访问频度值记录模块和缓存替换处理模块;本发明的一种基于长短周期访问频度的缓存数据替换方法和现有技术相比,通常用于磁盘阵列的数据缓存管理,优化缓存数据替换,充分利用***缓存资源,优化缓存空间利用率,提高缓存的命中率,进而提高磁盘阵列整体性能。

Description

一种基于长短周期访问频度的缓存数据替换方法
技术领域
本发明涉及一种磁盘阵列的数据缓存管理技术,具体地说是一种基于长短周期访问频度的缓存数据替换方法。
背景技术
通常在磁盘阵列内部,为提高***的访问效率,一般将预留一段内存区域用作数据缓存。数据缓存分为读数据缓存与写数据缓存两种,读数据缓存主要为提高随机读的效率,而写数据缓存则主要为提高连续写的效率。数据缓存是磁盘阵列的重要资源,缓存命中率是影响磁盘阵列性能的重要指标,利用高效的缓存数据替换技术,可极大的优化缓存空间的利用率,提高缓存命中率,提高磁盘阵列的整体性能。
缓存替换技术必须以最大化主机端访问时的缓存命中率为出发点,因而需要考虑主机端的缓存数据访问方式。主机端对缓存数据主要有两种访问方式:长期周期访问和短期频繁访问。长期周期访问是指,缓存数据在间隔较长的时间内被周期性的重复访问,典型的应用包括日志、定时备份等。短期频繁访问是指,缓存数据在较短的时间内被频繁访问。为最大化主机端访问缓存的命中率,缓存中应尽量保存短期频繁被访问的数据,但是如果短期频繁被访问的数据在一段较长的时间内未被访问,那么它们也应该先于长期周期性访问的数据而被替换出缓存。这是因为,就访问方式而言,短期频繁访问的数据,在今后较长的时间内很少会被再次访问,而长期周期访问的数据,在今后较长的时间内将会被周期性的访问。
如何能够提供一种缓存数据替换技术,充分考虑到主机端的访问方式,兼顾长期周期访问和短期频繁访问的情况,是磁盘阵列缓存管理所面临的主要问题之一。
发明内容
本发明的技术任务是提供一种通过兼顾主机端的长短期访问,优化缓存数据替换的一种基于长短周期访问频度的缓存数据替换方法。
本发明的技术任务是按以下方式实现的,利用缓存数据访问频度值,反映缓存数据在长短周期内被访问的情况,并按照缓存数据访问频度值的大小进行排序,查找最久未被使用的缓存数据,将该缓存数据替换出缓存区,并将新数据换入缓存区;结构包括缓存区、缓存替换接口模块、缓存访问频度统计模块、缓存访问频度排序模块、缓存访问频度值记录模块和缓存替换处理模块;缓存区连接缓存替换接口模块和缓存访问频度统计模块,缓存替换接口模块连接缓存替换处理模块,缓存替换处理模块连接缓存访问频度排序模块,缓存访问频度统计模块和缓存访问频度排序模块均与缓存访问频度值记录模块连接。
缓存访问频度值记录模块以记录的形式存储数据访问频度值,提供对缓存数据访问频度值的查找、更新和替换接口;缓存访问频度统计模块主要负责计算缓存区内缓存数据的访问频度值,并且周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;缓存访问频度排序模块可调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;缓存替换处理模块负责对缓存数据进行替换,调用缓存访问频度排序模块查找访问频度值最小的缓存数据,通过缓存替换接口模块将该缓存数据替换出缓存区,并将新数据换入缓存区。
缓存数据替换流程为两条,其中一条的具体流程为:
(1)、缓存访问频度统计模块访问缓存区的缓存数据,并且计算缓存区内缓存数据的访问频度值;
(2)、缓存访问频度统计模块周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;
(3)、当主机端访问缓存区内的缓存数据时,缓存访问频度统计模块重新计算缓存数据的访问频度值;
另一条的具体流程为:
(1)、缓存替换处理模块通过调用缓存替换接口模块提供的接口,向***内部发出缓存数据替换请求;
(2)、缓存访问频度排序模块调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;
(3)、缓存替换处理模块进行缓存数据替换处理,调用缓存访问频度排序模块对访问频度值的排序,查找访问频度值最小的缓存数据;
(4)、缓存替换处理模块通过缓存替换接口模块将访问频度值最小的缓存数据替换出缓存区,并将新数据换入缓存区。
缓存数据的访问频度值的大小为4个字节,由高到低的每个字节,代表了间隔由短到长的周期内缓存数据被访问的情况;用Bn[i]表示由高到低的第n个字节的第i位的取值,若在单位时间内,缓存数据块被访问,则置B0[0]为1,否则置B0[0]为0;每隔8a个单位时间,采用如下规则更新缓存数据访问频度值:
(1)、Ba[i+1]=Ba[i](i=0,1,……,6)
(2)、Ba+1[i+1]=Ba+1[i](i=0,1,……,6)
(3)、Ba+1[0]=Ba[0]||Ba[1]||……||Ba[6]||Ba[7];
上述规则可以保证,若主机端访问方式为长期周期访问,那么低位字节中将有多位连续为1,若访问访问为短期频繁访问,那么高位字节中将有多位连续为1,而低位字节很少会出现多位连续为1的情况。
本发明的一种基于长短周期访问频度的缓存数据替换方法,通常用于磁盘阵列的数据缓存管理,具有以下优点:
(1)、充分考虑了主机端对缓存数据的访问方式,兼顾了长期周期访问和短期频繁访问;可以有效的优化缓存空间的利用率,提高缓存数据的命中率,提高磁盘阵列的整体性能。
(2)、使其应用在磁盘阵列***中,优化缓存数据的替换策略,能够充分利用缓存资源,降低***的运行开销,满足对磁盘阵列性能日益提高的要求。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于长短周期访问频度的缓存数据替换方法的结构框图;
附图2为一种基于长短周期访问频度的缓存数据替换方法的流程图;
附图3为一种基于长短周期访问频度的缓存数据替换方法的缓存数据的访问频度值示例。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于长短周期访问频度的缓存数据替换方法作以下详细地说明。
实施例:
如图1所示,本发明的一种基于长短周期访问频度的缓存数据替换方法,其结构包括利用缓存数据访问频度值,反映缓存数据在长短周期内被访问的情况,并按照缓存数据访问频度值的大小进行排序,查找最久未被使用的缓存数据,将该缓存数据替换出缓存区,并将新数据换入缓存区;结构包括缓存区、缓存替换接口模块、缓存访问频度统计模块、缓存访问频度排序模块、缓存访问频度值记录模块和缓存替换处理模块;缓存区连接缓存替换接口模块和缓存访问频度统计模块,缓存替换接口模块连接缓存替换处理模块,缓存替换处理模块连接缓存访问频度排序模块,缓存访问频度统计模块和缓存访问频度排序模块均与缓存访问频度值记录模块连接。
缓存访问频度值记录模块以记录的形式存储数据访问频度值,提供对缓存数据访问频度值的查找、更新和替换接口;缓存访问频度统计模块主要负责计算缓存区内缓存数据的访问频度值,并且周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;缓存访问频度排序模块可调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;缓存替换处理模块负责对缓存数据进行替换,调用缓存访问频度排序模块查找访问频度值最小的缓存数据,通过缓存替换接口模块将该缓存数据替换出缓存区,并将新数据换入缓存区。
如图2所示,缓存数据替换流程为两条,其中一条的具体流程为:
(1)、缓存访问频度统计模块访问缓存区的缓存数据,并且计算缓存区内缓存数据的访问频度值;
(2)、缓存访问频度统计模块周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;
(3)、当主机端访问缓存区内的缓存数据时,缓存访问频度统计模块重新计算缓存数据的访问频度值;
另一条的具体流程为:
(1)、缓存替换处理模块通过调用缓存替换接口模块提供的接口,向***内部发出缓存数据替换请求;
(2)、缓存访问频度排序模块调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;
(3)、缓存替换处理模块进行缓存数据替换处理,调用缓存访问频度排序模块对访问频度值的排序,查找访问频度值最小的缓存数据;
(4)、缓存替换处理模块通过缓存替换接口模块将访问频度值最小的缓存数据替换出缓存区,并将新数据换入缓存区。
如图3所示,缓存数据的访问频度值的大小为4个字节,由高到低的每个字节,代表了间隔由短到长的周期内缓存数据被访问的情况;用Bn[i]表示由高到低的第n个字节的第i位的取值,若在单位时间内,缓存数据块被访问,则置B0[0]为1,否则置B0[0]为0;每隔8a个单位时间,采用如下规则更新缓存数据访问频度值:
(1)、Ba[i+1]=Ba[i](i=0,1,……,6)
(2)、Ba+1[i+1]=Ba+1[i](i=0,1,……,6)
(3)、Ba+1[0]=Ba[0]||Ba[1]||……||Ba[6]||Ba[7];
上述规则可以保证,若主机端访问方式为长期周期访问,那么低位字节中将有多位连续为1,若访问访问为短期频繁访问,那么高位字节中将有多位连续为1,而低位字节很少会出现多位连续为1的情况。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。

Claims (4)

1、一种基于长短周期访问频度的缓存数据替换方法,其特征在于利用缓存数据访问频度值,反映缓存数据在长短周期内被访问的情况,并按照缓存数据访问频度值的大小进行排序,查找最久未被使用的缓存数据,将该缓存数据替换出缓存区,并将新数据换入缓存区;结构包括缓存区、缓存替换接口模块、缓存访问频度统计模块、缓存访问频度排序模块、缓存访问频度值记录模块和缓存替换处理模块;缓存区连接缓存替换接口模块和缓存访问频度统计模块,缓存替换接口模块连接缓存替换处理模块,缓存替换处理模块连接缓存访问频度排序模块,缓存访问频度统计模块和缓存访问频度排序模块均与缓存访问频度值记录模块连接。
2、根据权利要求1所述的一种基于长短周期访问频度的缓存数据替换方法,其特征在于缓存访问频度值记录模块以记录的形式存储数据访问频度值,提供对缓存数据访问频度值的查找、更新和替换接口;缓存访问频度统计模块主要负责计算缓存区内缓存数据的访问频度值,并且周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;缓存访问频度排序模块可调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;缓存替换处理模块负责对缓存数据进行替换,调用缓存访问频度排序模块查找访问频度值最小的缓存数据,通过缓存替换接口模块将该缓存数据替换出缓存区,并将新数据换入缓存区。
3、根据权利要求1所述的一种基于长短周期访问频度的缓存数据替换方法,其特征在于缓存数据替换流程为两条,其中一条的具体流程为:
(1)、缓存访问频度统计模块访问缓存区的缓存数据,并且计算缓存区内缓存数据的访问频度值;
(2)、缓存访问频度统计模块周期性的更新缓存访问频度值记录模块内的缓存数据的访问频度值;
(3)、当主机端访问缓存区内的缓存数据时,缓存访问频度统计模块重新计算缓存数据的访问频度值;
另一条的具体流程为:
(1)、缓存替换处理模块通过调用缓存替换接口模块提供的接口,向***内部发出缓存数据替换请求;
(2)、缓存访问频度排序模块调用缓存访问频度记录模块内的缓存数据的访问频度值,并按照访问频度值进行排序;
(3)、缓存替换处理模块进行缓存数据替换处理,调用缓存访问频度排序模块对访问频度值的排序,查找访问频度值最小的缓存数据;
(4)、缓存替换处理模块通过缓存替换接口模块将访问频度值最小的缓存数据替换出缓存区,并将新数据换入缓存区。
4、根据权利要求1所述的一种基于长短周期访问频度的缓存数据替换方法,其特征在于缓存数据的访问频度值的大小为4个字节,由高到低的每个字节,代表了间隔由短到长的周期内缓存数据被访问的情况;用Bn[i]表示由高到低的第n个字节的第i位的取值,若在单位时间内,缓存数据块被访问,则置B0[0]为1,否则置B0[0]为0;每隔8a个单位时间,采用如下规则更新缓存数据访问频度值:
(1)、Ba[i+1]=Ba[i](i=0,1,……,6)
(2)、Ba+1[i+1]=Ba+1[i](i=0,1,……,6)
(3)、Ba+1[0]=Ba[0]||Ba[1]||……||Ba[6]||Ba[7];
上述规则可以保证,若主机端访问方式为长期周期访问,那么低位字节中将有多位连续为1,若访问访问为短期频繁访问,那么高位字节中将有多位连续为1,而低位字节很少会出现多位连续为1的情况。
CNA2009100163633A 2009-06-18 2009-06-18 一种基于长短周期访问频度的缓存数据替换方法 Pending CN101576856A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100163633A CN101576856A (zh) 2009-06-18 2009-06-18 一种基于长短周期访问频度的缓存数据替换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100163633A CN101576856A (zh) 2009-06-18 2009-06-18 一种基于长短周期访问频度的缓存数据替换方法

Publications (1)

Publication Number Publication Date
CN101576856A true CN101576856A (zh) 2009-11-11

Family

ID=41271791

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100163633A Pending CN101576856A (zh) 2009-06-18 2009-06-18 一种基于长短周期访问频度的缓存数据替换方法

Country Status (1)

Country Link
CN (1) CN101576856A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999443A (zh) * 2012-11-16 2013-03-27 广州优倍达信息科技有限公司 一种计算机缓存***的管理方法
CN103744800A (zh) * 2013-12-30 2014-04-23 龙芯中科技术有限公司 面向重放机制的缓存操作方法及装置
EP2779170A1 (en) * 2013-03-15 2014-09-17 Seagate Technology LLC Staging sorted data in intermediate storage
CN105095107A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 清理缓存数据的方法及装置
US9384793B2 (en) 2013-03-15 2016-07-05 Seagate Technology Llc Dynamic granule-based intermediate storage
CN106302784A (zh) * 2016-08-27 2017-01-04 浪潮(北京)电子信息产业有限公司 一种提高缓存速度的方法和装置
CN107291635A (zh) * 2017-06-16 2017-10-24 郑州云海信息技术有限公司 一种缓存替换方法和装置
CN110008190A (zh) * 2019-03-21 2019-07-12 武汉理工大学 一种周期性的小文件缓存置换方法
CN111078585A (zh) * 2019-11-29 2020-04-28 智器云南京信息科技有限公司 一种内存缓存管理方法、***、存储介质及电子设备
CN111221749A (zh) * 2019-11-15 2020-06-02 新华三半导体技术有限公司 数据块写入方法、装置、处理器芯片及Cache
WO2022021178A1 (zh) * 2020-07-30 2022-02-03 华为技术有限公司 缓存方法、***和芯片

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999443B (zh) * 2012-11-16 2015-09-09 广州优倍达信息科技有限公司 一种计算机缓存***的管理方法
CN102999443A (zh) * 2012-11-16 2013-03-27 广州优倍达信息科技有限公司 一种计算机缓存***的管理方法
US9588886B2 (en) 2013-03-15 2017-03-07 Seagate Technology Llc Staging sorted data in intermediate storage
EP2779170A1 (en) * 2013-03-15 2014-09-17 Seagate Technology LLC Staging sorted data in intermediate storage
US9384793B2 (en) 2013-03-15 2016-07-05 Seagate Technology Llc Dynamic granule-based intermediate storage
US9740406B2 (en) 2013-03-15 2017-08-22 Seagate Technology Llc Dynamic granule-based intermediate storage
US9588887B2 (en) 2013-03-15 2017-03-07 Seagate Technology Llc Staging sorted data in intermediate storage
CN103744800A (zh) * 2013-12-30 2014-04-23 龙芯中科技术有限公司 面向重放机制的缓存操作方法及装置
CN103744800B (zh) * 2013-12-30 2016-09-14 龙芯中科技术有限公司 面向重放机制的缓存操作方法及装置
CN105095107A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 清理缓存数据的方法及装置
CN105095107B (zh) * 2014-05-04 2019-07-16 腾讯科技(深圳)有限公司 清理缓存数据的方法及装置
CN106302784A (zh) * 2016-08-27 2017-01-04 浪潮(北京)电子信息产业有限公司 一种提高缓存速度的方法和装置
CN107291635A (zh) * 2017-06-16 2017-10-24 郑州云海信息技术有限公司 一种缓存替换方法和装置
CN110008190A (zh) * 2019-03-21 2019-07-12 武汉理工大学 一种周期性的小文件缓存置换方法
CN111221749A (zh) * 2019-11-15 2020-06-02 新华三半导体技术有限公司 数据块写入方法、装置、处理器芯片及Cache
CN111078585A (zh) * 2019-11-29 2020-04-28 智器云南京信息科技有限公司 一种内存缓存管理方法、***、存储介质及电子设备
CN111078585B (zh) * 2019-11-29 2022-03-29 智器云南京信息科技有限公司 一种内存缓存管理方法、***、存储介质及电子设备
WO2022021178A1 (zh) * 2020-07-30 2022-02-03 华为技术有限公司 缓存方法、***和芯片

Similar Documents

Publication Publication Date Title
CN101576856A (zh) 一种基于长短周期访问频度的缓存数据替换方法
CN103345518B (zh) 基于数据块的自适应数据存储管理方法及***
CN107193646B (zh) 一种基于混合主存架构的高效动态页面调度方法
CN104834607B (zh) 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法
CN102364474B (zh) 用于机群文件***的元数据存储***和管理方法
CN103336849B (zh) 一种数据库检索***中提高检索速度的方法及装置
CN102521406B (zh) 海量结构化数据复杂查询任务的分布式查询方法和***
CN102129472B (zh) 面向语义搜索引擎的高效混合存储结构的构建方法
CN101782922B (zh) 一种面向海量数据检索的多级桶哈希索引方法
CN102629269B (zh) 一种嵌入式数据库的检索及存储方法
CN102136005B (zh) 数据查询方法和装置
CN102314397B (zh) 缓存数据块的处理方法
CN1499382A (zh) 廉价冗余磁盘阵列***中高效高速缓存的实现方法
CN102253941A (zh) 一种缓存更新方法和缓存更新装置
CN108762671A (zh) 基于pcm和dram的混合内存***及其管理方法
CN105279240A (zh) 客户端起源信息关联感知的元数据预取方法及***
CN108845957B (zh) 一种置换和回写自适应的缓冲区管理方法
CN109388341A (zh) 一种基于Device Mapper的***存储优化方法
CN104156432A (zh) 一种文件访问方法
CN116257523A (zh) 一种基于非易失存储器的列式存储索引方法及装置
Yao et al. An advanced adaptive least recently used buffer management algorithm for SSD
On et al. Lazy-update B+-tree for flash devices
US9261946B2 (en) Energy optimized cache memory architecture exploiting spatial locality
CN103548005A (zh) 替换缓存对象的方法和装置
CN103020077A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20091111