CN104123243A - 数据缓存系统及方法 - Google Patents

数据缓存系统及方法 Download PDF

Info

Publication number
CN104123243A
CN104123243A CN201310144049.XA CN201310144049A CN104123243A CN 104123243 A CN104123243 A CN 104123243A CN 201310144049 A CN201310144049 A CN 201310144049A CN 104123243 A CN104123243 A CN 104123243A
Authority
CN
China
Prior art keywords
data
state
weighted value
buffer memory
read
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
Application number
CN201310144049.XA
Other languages
English (en)
Other versions
CN104123243B (zh
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.)
Fulian Precision Electronics Tianjin Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision 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 Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN201310144049.XA priority Critical patent/CN104123243B/zh
Publication of CN104123243A publication Critical patent/CN104123243A/zh
Application granted granted Critical
Publication of CN104123243B publication Critical patent/CN104123243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种数据缓存系统及方法。该系统与一缓存存储器连接及一中央处理单元CPU连接,该缓存存储器内数据利用一权重值进行标记,用于表示该数据在缓存存储器中被读取的次数。该系统包含:一接收模块,用于接收CPU发送的读取数据请求;一读取模块,用于根据读取数据请求读取对应的数据;一权重值计算模块,用于快取命中时将缓存存储器内读取的数据的权重值加1,在缓存存储器的空间满时,处于权重值为零的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。本发明的数据缓存系统及方法,快取缓存存储器内最经常使用内容而不是最近使用的内容,从而确定缓存存储器中需替换的内容更加迅速有效。

Description

数据缓存系统及方法
技术领域
本发明涉及一种数据缓存系统及方法,尤其涉及一种读取缓存存储器内最经常使用内容的数据缓存系统及方法。
背景技术
当接收到数据读取请求时,缓存存储器读取速度较快,因此首先去缓存存储器中读取数据。若所需读取内容已经在缓存存储器内,则叫“缓存命中”(cache hit)。若所需读取内容不在缓存存储器内,则叫“缓存错失”(cache miss)。当发生缓存错失时,需从主存储器内读取内容,并将读取到的内容存储至缓存存储器内以提高下次读取的速度。由于缓存存储器(cache)存储器通常比它们耦合到的主存储器小,因此若缓存存储器空间满时,需要及时替换其中的部分内容,这时,需要使用替换算法用于确定应该替换缓存存储器中的哪些内容。
应用到NAND存储器(如SSD)上的常用的缓存存储器替换算法为先进先出(FIFO)算法及最近最少使用(least recently used,LRU)算法。但是,由于这些算法是快取最近使用的内容,而不是最经常使用的内容,因此这些算法存在不足之处。
发明内容
本发明提供一种快取缓存存储器内最经常使用内容的数据缓存系统及方法。
一种数据缓存系统,运行于一处理器上,与一缓存存储器连接及一中央处理单元CPU连接,该缓存存储器内数据利用一权重值进行标记,用于表示该数据在缓存存储器中被读取的次数,该系统包含:一接收模块,用于接收CPU发送的读取数据请求;一读取模块,用于根据读取数据请求读取对应的数据;一权重值计算模块,用于快取命中时将缓存存储器内读取的数据的权重值加1,在缓存存储器的空间满时,处于权重值为零的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
一种数据缓存方法,包含步骤:接收CPU发送的读取数据请求;根据读取数据请求读取对应的数据;及在快取命中时将缓存存储器内读取的数据的权重值加1,在缓存存储器的空间满时,处于权重值为零的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
本发明的数据缓存系统及方法,快取缓存存储器内最经常使用内容而不是最近使用的内容,从而确定缓存存储器中需替换的内容更加迅速有效。
附图说明
图1为本发明优选实施方式下的缓存存储器管理系统的系统架构图。
图2为图1中的缓存存储器管理系统执行数据缓存存储器的方法流程图。
主要元件符号说明
缓存存储器管理系统 10
CPU 20
缓存存储器 30
主存储器 40
接收模块 101
读取模块 102
空间判断模块 103
权重值计算模块 104
状态确定模块 105
记录模块 106
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
请参阅图1,为本发明优选实施方式下的缓存存储器管理系统的系统架构图。该缓存存储器管理系统10为一可编程系统,运行于一处理器上。该处理器与一缓存存储器30连接及一中央处理单元CPU20连接。缓存存储器30将缓存存储器管理系统10耦合至一主存储器40。
缓存存储器管理系统10接收CPU20的读取指令,在缓存命中时从缓存存储器30读取数据,而在缓存错失时,从主存储器40中读取数据,并将读取数据存储至缓存存储器30。
缓存存储器管理系统10内的数据均用一权重值进行标记,该权重值用于表示该数据在缓存存储器30中被读取的次数。缓存存储器30内的数据具有5种状态如下:权重值大于2的数据被认为处于热状态;权重值等于1且未写入主存储器40的数据被认为处于第一冷状态;权重值等于1且已写入硬盘的数据被认为处于第二冷状态;权重值等于零的数据被认为处于可用/可选状态;被替换出该缓存存储器30的数据被存放在主存储器40中,其寻址方式被保存在缓存存储器30中,该寻址方式的数据对应的权重值为1,被认为该寻址方式的数据处于暂时状态。系统初始化时,所有缓存存储器30内存储的数据的权重值设置为零,即均处于可用/可选状态。在缓存存储器30的空间满时,处于可用/可选状态的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
缓存存储器管理系统10包括一接收模块101、一读取模块102、一空间判断模块103、一权重值计算模块104、一状态确定模块105、一替换模块106及一记录模块107。各模块的功能将结合图2进行说明。
图2为图1中的缓存存储器管理系统执行数据缓存存储器的方法流程图。
步骤S201中,接收模块101接收CPU20发送的读取数据请求。
步骤S202中,读取模块102确定该数据请求是否存在缓存命中。如果在步骤S202中发生了缓存命中,则控制流程至步骤203。如果在步骤S202中发生了缓存错失,则控制流程至步骤205。
步骤S203中,权重值计算模块104将缓存存储器30内读取的数据的权重值加1。
步骤S204中,状态确定模块105确定该读取的数据对应的状态。具体的,若读取的数据之前处于热状态,则权重值加1后仍然大于2,确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值加1后等于2,确定该数据处于热状态;若读取的数据之前处于第二冷状态,则权重值加1等于2后,确定该数据处于热状态;若读取的数据之前处于可用/可选状态,则权重值加1后若未写入硬盘,则确定该数据处于第一冷状态,权重值加1后若已写入硬盘,则确定该数据处于第二冷状态;在读取的数据未在缓存存储器30中,而该读取的数据对应的寻址方式保存在缓存存储器30中且处于暂时状态时,如果缓存存储器30内具有处于可用/可选状态的数据,则随机从处于可用/可选状态的数据中选择若干数据用于替换该读取的数据,并将该读取的数据的权重值设置为2,处于热状态;及在读取的数据未在缓存存储器30中,而该读取的数据对应的寻址方式保存在缓存存储器30中且处于暂时状态时,如果缓存存储器30内不具有处于可用/可选状态的数据,则启动一次权重值压缩,并根据压缩后的权重值按照上面的方式重新确定缓存存储器30内的全部数据的状态。权重值压缩指将缓存存储器30内的全部数据的权重值除以2后进行取整操作。
步骤S205中,空间判断模块103判断缓存存储器30内存储空间是否已满,若否,流程至步骤S206;若是,流程至步骤S207。
步骤S206中,读取模块102从主存储器40读取该内容至缓存存储器30,流程转至步骤S204。
步骤S207中,状态确定模块105启动一次权重值压缩,重新确定缓存存储器30内存储的全部数据对应的状态。具体的,若读取的数据之前处于热状态,权重值压缩后权重值仍大于2,则确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值压缩后为零,则确定需先将该数据保存至硬盘,且确定该数据处于可用/可选状态;若读取的数据之前处于第二冷状态,则权重值压缩后为零,确定该数据处于可用/可选状态;若读取的数据之前处于暂时状态,则权重值压缩后为0,若该数据未写入硬盘,则将该数据写入硬盘后确定该数据处于可用/可选状态,若该数据已写入硬盘,则确定该数据处于可用/可选状态。
步骤S208中,读取模块102从可用/可选状态的数据中随机选择若干替换为主存储器40读取的数据。
步骤S209中,记录模块106将被选择替换的数据的寻址方式记录在缓存存储器30内,表示该寻址方式的数据的权重值等于1,处于暂时状态。
该数据缓存系统及方法,快取缓存存储器30内最经常使用内容而不是最近使用的内容,从而确定缓存存储器30中需替换的内容更加迅速有效。

Claims (10)

1.一种数据缓存系统,运行于一处理器上,与一缓存存储器连接及一中央处理单元CPU连接,其特征在于,该缓存存储器内数据利用一权重值进行标记,用于表示该数据在缓存存储器中被读取的次数,该系统包含:
一接收模块,用于接收CPU发送的读取数据请求;
一读取模块,用于根据读取数据请求读取对应的数据;
一权重值计算模块,用于快取命中时将缓存存储器内读取的数据的权重值加1,在缓存存储器的空间满时,处于权重值为零的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
2.如权利要求1所述的数据缓存系统,其特征在于,所述系统还包括一状态确定模块,用于确定该读取的数据对应的状态,具体的,该缓存存储器内包括5种状态的数据:权重值大于2的数据被认为处于热状态;权重值等于1且未写入主存储器的数据被认为处于第一冷状态;权重值等于1且已写入硬盘的数据被认为处于第二冷状态;权重值等于零的数据被认为处于可用/可选状态;权重值等于1的寻址方式数据被认为处于暂时状态,系统初始化时,所有缓存存储器内存储的数据的权重值设置为零,即均处于可用/可选状态,在缓存存储器的空间满时,处于可用/可选状态的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
3.如权利要求2所述的数据缓存系统,其特征在于,所述权重值计算模块将缓存存储器内读取的数据的权重值加1后,状态确定模块确定该读取的数据对应的状态的具体方法为:若读取的数据之前处于热状态,则权重值加1后仍然大于2,确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值加1后等于2,确定该数据处于热状态;若读取的数据之前处于第二冷状态,则权重值加1等于2后,确定该数据处于热状态;若读取的数据之前处于可用/可选状态,则权重值加1后若未写入硬盘,则确定该数据处于第一冷状态,权重值加1后若已写入硬盘,则确定该数据处于第二冷状态;在读取的数据未在缓存存储器中,而该读取的数据对应的寻址方式保存在缓存存储器中且处于暂时状态时,如果缓存存储器内具有处于可用/可选状态的数据,则随机从处于可用/可选状态的数据中选择若干数据用于替换该读取的数据,并将该读取的数据的权重值设置为2,处于热状态;及在读取的数据未在缓存存储器中,而该读取的数据对应的寻址方式保存在缓存存储器中且处于暂时状态时,如果缓存存储器内不具有处于可用/可选状态的数据,则启动一次权重值压缩,并根据压缩后的权重值按照上面的方式重新确定缓存存储器内的全部数据的状态,权重值压缩指将缓存存储器内的全部数据的权重值除以2后进行取整操作。
4.如权利要求3所述的数据缓存系统,其特征在于,所述状态确定模块在启动权重值压缩后重新确定状态的具体方法为:若读取的数据之前处于热状态,权重值压缩后权重值仍大于2,则确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值压缩后为零,则确定需先将该数据保存至硬盘,且确定该数据处于可用/可选状态;若读取的数据之前处于第二冷状态,则权重值压缩后为零,确定该数据处于可用/可选状态;若读取的数据之前处于暂时状态,则权重值压缩后为0,若该数据未写入硬盘,则将该数据写入硬盘后确定该数据处于可用/可选状态,若该数据已写入硬盘,则确定该数据处于可用/可选状态。
5.如权利要求1所述的数据缓存系统,其特征在于,在快取错失时且缓存存储器空间足够时,所述读取模块还用于从主存储器读取该内容至缓存存储器,在快取错失时且缓存存储器空间不足时,所述读取模块还用于从可用/可选状态的数据中随机选择若干替换为主存储器读取的数据。
6.如权利要求4所述的数据缓存系统,其特征在于,所述系统还包括一记录模块,用以将被选择替换的数据的寻址方式记录在缓存存储器内,表示该寻址方式的数据的权重值等于1,处于暂时状态。
7.一种数据缓存方法,包含步骤:
接收CPU发送的读取数据请求;
根据读取数据请求读取对应的数据;及
在快取命中时将缓存存储器内读取的数据的权重值加1,在缓存存储器的空间满时,处于权重值为零的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
8.如权利要求7所述的数据缓存方法,其特征在于,所述方法还包括步骤根据一状态确定规则确定该读取的数据对应的状态,具体的,该缓存存储器内包括5种状态的数据:权重值大于2的数据被认为处于热状态;权重值等于1且未写入主存储器的数据被认为处于第一冷状态;权重值等于1且已写入硬盘的数据被认为处于第二冷状态;权重值等于零的数据被认为处于可用/可选状态;权重值等于1的寻址方式数据被认为处于暂时状态,系统初始化时,所有缓存存储器内存储的数据的权重值设置为零,即均处于可用/可选状态,在缓存存储器的空间满时,处于可用/可选状态的数据在下次需进行缓存存储器替换时被随机选择若干进行替换。
9.如权利要求8所述的数据缓存方法,其特征在于,所述将缓存存储器内读取的数据的权重值加1后,确定该读取的数据对应的状态的具体方法为:若读取的数据之前处于热状态,则权重值加1后仍然大于2,确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值加1后等于2,确定该数据处于热状态;若读取的数据之前处于第二冷状态,则权重值加1等于2后,确定该数据处于热状态;若读取的数据之前处于可用/可选状态,则权重值加1后若未写入硬盘,则确定该数据处于第一冷状态,权重值加1后若已写入硬盘,则确定该数据处于第二冷状态;在读取的数据未在缓存存储器中,而该读取的数据对应的寻址方式保存在缓存存储器中且处于暂时状态时,如果缓存存储器内具有处于可用/可选状态的数据,则随机从处于可用/可选状态的数据中选择若干数据用于替换该读取的数据,并将该读取的数据的权重值设置为2,处于热状态;及在读取的数据未在缓存存储器中,而该读取的数据对应的寻址方式保存在缓存存储器中且处于暂时状态时,如果缓存存储器内不具有处于可用/可选状态的数据,则启动一次权重值压缩,并根据压缩后的权重值按照上面的方式重新确定缓存存储器内的全部数据的状态,权重值压缩指将缓存存储器内的全部数据的权重值除以2后进行取整操作。
10.如权利要求9所述的数据缓存方法,其特征在于,所述在启动权重值压缩后重新确定状态的具体方法为:若读取的数据之前处于热状态,权重值压缩后权重值仍大于2,则确定该数据仍处于热状态;若读取的数据之前处于第一冷状态,则权重值压缩后为零,则确定需先将该数据保存至硬盘,且确定该数据处于可用/可选状态;若读取的数据之前处于第二冷状态,则权重值压缩后为零,确定该数据处于可用/可选状态;若读取的数据之前处于暂时状态,则权重值压缩后为0,若该数据未写入硬盘,则将该数据写入硬盘后确定该数据处于可用/可选状态,若该数据已写入硬盘,则确定该数据处于可用/可选状态。
CN201310144049.XA 2013-04-24 2013-04-24 数据缓存系统及方法 Active CN104123243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310144049.XA CN104123243B (zh) 2013-04-24 2013-04-24 数据缓存系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310144049.XA CN104123243B (zh) 2013-04-24 2013-04-24 数据缓存系统及方法

Publications (2)

Publication Number Publication Date
CN104123243A true CN104123243A (zh) 2014-10-29
CN104123243B CN104123243B (zh) 2018-08-03

Family

ID=51768660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310144049.XA Active CN104123243B (zh) 2013-04-24 2013-04-24 数据缓存系统及方法

Country Status (1)

Country Link
CN (1) CN104123243B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372156A (zh) * 2016-08-30 2017-02-01 福建天晴数码有限公司 数据缓存方法及系统
WO2017117734A1 (zh) * 2016-01-06 2017-07-13 华为技术有限公司 一种缓存管理方法、缓存控制器以及计算机系统
CN110941569A (zh) * 2019-11-18 2020-03-31 新华三半导体技术有限公司 数据处理方法、装置及处理器芯片
CN118656034A (zh) * 2024-08-20 2024-09-17 山东云海国创云计算装备产业创新中心有限公司 数据存储方法及存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232464A (zh) * 2008-02-28 2008-07-30 清华大学 基于时间权参数的p2p实时流媒体缓存替换方法
US20110145506A1 (en) * 2009-12-16 2011-06-16 Naveen Cherukuri Replacing Cache Lines In A Cache Memory
CN102110058A (zh) * 2009-12-25 2011-06-29 上海芯豪微电子有限公司 一种低缺失率、低缺失惩罚的缓存方法和装置
CN102207909A (zh) * 2011-05-31 2011-10-05 孟小峰 一种基于代价的闪存数据库缓冲区置换方法
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232464A (zh) * 2008-02-28 2008-07-30 清华大学 基于时间权参数的p2p实时流媒体缓存替换方法
US20110145506A1 (en) * 2009-12-16 2011-06-16 Naveen Cherukuri Replacing Cache Lines In A Cache Memory
CN102103547A (zh) * 2009-12-16 2011-06-22 英特尔公司 替换高速缓冲存储器中的高速缓存行
CN102110058A (zh) * 2009-12-25 2011-06-29 上海芯豪微电子有限公司 一种低缺失率、低缺失惩罚的缓存方法和装置
CN102207909A (zh) * 2011-05-31 2011-10-05 孟小峰 一种基于代价的闪存数据库缓冲区置换方法
CN102511043A (zh) * 2011-11-26 2012-06-20 华为技术有限公司 缓存文件替换方法、装置及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017117734A1 (zh) * 2016-01-06 2017-07-13 华为技术有限公司 一种缓存管理方法、缓存控制器以及计算机系统
US10831677B2 (en) 2016-01-06 2020-11-10 Huawei Technologies Co., Ltd. Cache management method, cache controller, and computer system
CN106372156A (zh) * 2016-08-30 2017-02-01 福建天晴数码有限公司 数据缓存方法及系统
CN110941569A (zh) * 2019-11-18 2020-03-31 新华三半导体技术有限公司 数据处理方法、装置及处理器芯片
CN118656034A (zh) * 2024-08-20 2024-09-17 山东云海国创云计算装备产业创新中心有限公司 数据存储方法及存储系统

Also Published As

Publication number Publication date
CN104123243B (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
KR102584018B1 (ko) 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
CN104115134B (zh) 用于管理对复合数据存储设备进行访问的方法和系统
US20110231598A1 (en) Memory system and controller
CN103329111B (zh) 一种基于块存储的数据处理方法、装置及系统
US10203899B2 (en) Method for writing data into flash memory apparatus, flash memory apparatus, and storage system
CN107870732B (zh) 从固态存储设备冲刷页面的方法和设备
CN107430554B (zh) 通过使用数据的可压缩性作为高速缓存插入的标准来提高存储高速缓存性能
TW201314452A (zh) 緩衝資料的系統及方法
CN105917303B (zh) 一种控制器、识别数据块稳定性的方法和存储系统
CN104092670A (zh) 网络缓存服务器处理文件的方法及处理缓存文件的设备
JP7030942B2 (ja) メモリ装置及びその制御方法
CN105095104B (zh) 数据缓存处理方法及装置
CN104123243A (zh) 数据缓存系统及方法
CN112799595A (zh) 数据处理方法、设备及存储介质
TW201342063A (zh) 用於動態調適快取的系統
CN104932830A (zh) 信息处理方法及电子设备
US9846647B2 (en) Cache device and control method threreof
CN104252423A (zh) 基于多内核处理器的一致性处理方法和装置
WO2021055675A1 (en) Managing data dependencies in a transfer pipeline of a hybrid dimm
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones
CN103279562B (zh) 一种用于数据库二级缓存的方法、装置及数据库存储系统
TW201441817A (zh) 資料緩存系統及方法
CN106155583B (zh) 缓存固态设备读取请求结果的系统和方法
US11449428B2 (en) Enhanced read-ahead capability for storage devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180205

Address after: Haiyun street, Tianjin economic and Technological Development Zone No. 80

Applicant after: Hongfujin Precision Electronics (Tianjin) Co., Ltd.

Address before: 518109 Guangdong city of Shenzhen province Baoan District Longhua Town Industrial Zone tabulaeformis tenth East Ring Road No. 2 two

Applicant before: Hongfujin Precise Industry (Shenzhen) Co., Ltd.

Applicant before: Hon Hai Precision Industry Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin

Patentee after: Fulian precision electronics (Tianjin) Co.,Ltd.

Address before: No. 80 Haiyun Street, Tianjin Economic and Technological Development Zone, 300457

Patentee before: HONGFUJIN PRECISION ELECTRONICS (TIANJIN) Co.,Ltd.