CN103345368B - 一种在缓冲存储器中缓存数据的方法 - Google Patents

一种在缓冲存储器中缓存数据的方法 Download PDF

Info

Publication number
CN103345368B
CN103345368B CN201310300872.5A CN201310300872A CN103345368B CN 103345368 B CN103345368 B CN 103345368B CN 201310300872 A CN201310300872 A CN 201310300872A CN 103345368 B CN103345368 B CN 103345368B
Authority
CN
China
Prior art keywords
data
data cached
weight
memory buffer
storage space
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.)
Expired - Fee Related
Application number
CN201310300872.5A
Other languages
English (en)
Other versions
CN103345368A (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.)
Inner Mongolia University of Science and Technology
Original Assignee
Inner Mongolia University of Science and Technology
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 Inner Mongolia University of Science and Technology filed Critical Inner Mongolia University of Science and Technology
Priority to CN201310300872.5A priority Critical patent/CN103345368B/zh
Publication of CN103345368A publication Critical patent/CN103345368A/zh
Application granted granted Critical
Publication of CN103345368B publication Critical patent/CN103345368B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:接收待缓存数据;比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量小于待缓存数据的数据量,清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间;如果缓冲存储器中的空闲存储空间的总量还小于待缓存数据的数据量,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间;向缓冲存储器的空闲存储空间写入待缓存数据。通过本发明的方法提高了缓冲存储器的整体性能。

Description

一种在缓冲存储器中缓存数据的方法
技术领域
本发明涉及数据存储领域,特别涉及一种在缓冲存储器中缓存数据的方法,用于在系统运行过程中进行数据缓存,通过对缓冲存储器中的缓存数据进行替换处理以提高缓存的性能和效率。
背景技术
为了补偿主存的访问速度,采用高速缓存的高速缓存系统进入实用化。所谓高速缓存是指设置在处理器和主存之间的高速记录介质。该高速缓存中放置使用频度高的数据。处理器不访问主存,而访问该高速缓存,由此取出数据,故而可以高速执行处理。
高速缓存设备为用于使数据更迅速地存取在系统中的存储设备。高速缓冲存储器可通过减少将所述数据用于高速缓冲存储器中的操作的输入/输出时间来显著地提高系统性能。一般来讲,高速缓冲存储器在相比于高速缓存设备具有更大存储容量、但具有更慢输入/输出时间的另一个存储设备之前实施。可充分理解高速缓冲存储器的有益效果,并且已在范围从处理器中的高速缓冲存储器到存储区域网络中的高速缓冲存储器的各种环境和规模下有利地实施了高速缓冲存储器。
目前,采用了在主机处理器与主存之间设置缓存的做法。为了提高数据读写的效率,设置工作频率介于主机处理器和主存之间的缓存控制器和缓存。这样,将外部数据写入主存的过程包括:主机处理器将外部发来的数据写入指令发送给缓存控制器;缓存控制器检查缓存中是否有空闲的存储空间,如果有,则直接将数据写入指令中携带的数据写入存中空闲的存储空间,如果没有,则根据缓冲存储器中的缓存数据块的使用频率计算得到使用频率最低的缓存数据块,清除该使用频率最低的缓存数据块并释放该使用频率最低的缓存数据块所占用的存储空间,然后将数据写入指令中携带的数据写入释放后的存储空间中;缓存控制器,确定有新写入的数据后,从缓存中读取该新写入的数据并写入主存,从而完成了外部数据写入主存的过程。
外部从主存中读取数据的过程包括:主机处理器将外部发来的数据读取请求发送给缓存控制器;缓存控制器检查缓存中是否存储有外部所请求的数据,如果有,则直接将缓存中存储的对应的数据发送给主机处理器,如果没有,则向主存发送该数据读取请求,主存将当前请求的数据发送给缓存控制器,缓存控制器将其存储在缓存中,主机处理器从缓存中读取出当前请求的数据后发送到外部。
虽然缓存的速度更快,然而由于成本和工艺等问题,相对于主存来讲,缓存的存储空间是有限的。这就要求对缓存中存储的缓存数据进行高效的替换,包括向缓冲存储器中写入待存储数据,从缓冲存储器中清除待存储数据。然而现有的替换方法要求利用替换算法,例如查找使用频率最低的数据块、查找未使用的时长最长的数据块,然后继续比较存储空间是否满足要求,总之现有的替换算法需要进行计算,尤其需要非常复杂的计算和查询,延长了写入和访问的时间。
发明内容
而在很多情况下,当前需要缓存的数据是权重最高的数据,因为需要最近的写入和访问。因此,发明提供一种在缓冲存储器中缓存数据的方法。一方面对待存储数据设置权重,因此在缓冲存储器中至少包括两类缓存数据,权重低的缓存数据和权重高的缓存数据,必要时可进一步细分权重,如权重低的缓存数据、权重中的缓存数据和权重高的缓存数据。另一方面,针对不同权重的缓存数据采用不同的替换策略,从而简化现有技术中复杂的替换算法,例如当缓冲存储器中的空闲存储空间的总量小于待缓存数据的数据量时,首先选择清除缓冲存储器中权重低的缓存数据并释放所清除的缓存数据所占用的存储空间,如果缓冲存储器中的空闲存储空间的总量仍然小于待缓存数据的数据量时,则将权重高的缓存数据转存至主存、清除转存至主存的缓存数据并释放转存至主存的缓存数据所占用的存储空间,从而实现向缓冲存储器的空闲存储空间写入待缓存数据。必要时,可针对进一步细分权重,在清除缓冲存储器中权重低的缓存数据并释放所清除的缓存数据所占用的存储空间之后,缓冲存储器中的空闲存储空间的总量仍然小于待缓存数据的数据量时,先不执行将权重高的缓存数据转存至主存、清除转存至主存的缓存数据并释放转存至主存的缓存数据所占用的存储空间的操作,而是清除缓冲存储器中权重中的缓存数据并释放所清除的缓存数据所占用的存储空间,如果缓冲存储器中的空闲存储空间的总量仍然小于待缓存数据的数据量时,再将权重高的缓存数据转存至主存、清除转存至主存的缓存数据并释放转存至主存的缓存数据所占用的存储空间,从而实现向缓冲存储器的空闲存储空间写入待缓存数据。
具体地,本发明公开了一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:
S10)接收待缓存数据;
S20)比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;
S30)如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则转到步骤S60;
S40)如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则判断缓冲存储器中是否存在低权重的缓存数据;
S50)如果缓冲存储器中存在低权重的缓存数据,则清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S20;
S60)向缓冲存储器的空闲存储空间写入待缓存数据。
优选地,其中在步骤S50和步骤S60之间还包括以下步骤:
S51)如果缓冲存储器中不存在低权重的缓存数据,则判断缓冲存储器中是否存在高权重的缓存数据;
S52)如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回步骤S20。
优选地,其中待缓存数据的总量不大于缓冲存储器的存储空间的数据量。
优选地,其中在步骤S60中还包括发送确认信息。
优选地,其中S10)接收待缓存数据还包括:接收待缓存数据的权重。
优选地,其中S60)向缓冲存储器的空闲存储空间写入待缓存数据还包括:写入所述待缓存数据的权重。
优选地,其中所述权重是低权重或高权重。
优选地,其中所述权重是低权重、中权重或高权重。
本发明同时公开了一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:
S110)接收待缓存数据,同时接收待缓存数据的权重信息;
S120)判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量;
S130)如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据存储量,则向缓冲存储器的空闲存储空间写入待缓存数据及所述待缓存数据的权重信息,转到步骤S160;
S140)如果冲存储器中的空闲存储空间的总量小于待缓存数据存储量,则判断缓冲存储器中是否存在低权重的缓存数据;
S150)如果缓冲存储器中存在低权重的缓存数据,则将缓冲存储器中低权重的缓存数据清除,同时释放缓冲存储器中低权重的缓存数据所占用的存储空间,转到步骤S120;
S151)如果缓冲存储器中不存在低权重的缓存数据,则判断缓冲存储器中是否存在高权重的缓存数据;
S152)如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存,并且释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回到步骤S120;
S153)如果缓冲存储器中不存在高权重的缓存数据,则直接将待缓存数据写入到主存中;
S160)发送确认信息。
本发明另外公开了一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:
S210)接收待缓存数据和待缓存数据的权重信息;
如果所述待缓存数据的权重信息指示所述待缓存数据的权重为低权重,则执行以下步骤:S220)比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,转到步骤S260;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S221判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤222清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S220;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S223直接将待缓存数据写入主存,转到步骤S260;
如果所述待缓存数据的权重信息指示所述待缓存数据的权重为高权重,则执行以下步骤:在步骤S230,比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,转到步骤S260;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S231判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤232清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S230;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S233判断缓冲存储器中是否存在高权重的缓存数据;如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回步骤S230;如果缓冲存储器中不存在高权重的缓存数据,则在步骤S234直接将待缓存数据写入到主存中;
S260)发送确认信息。
由于所述在缓冲存储器中缓存数据的方法。本发明的效果在于:省去了复杂的计算和查询算法,能够针对不同缓存数据的权重进行缓存,能够针对不同缓存数据的权重进行替换处理。通过设置权重和替换处理提高了处理器从缓存中读取数据的命中率,提高了系统的访问效率,提高了系统的吞吐量。
附图说明
所包括的附图用于进一步理解本发明,其作为说明书的一个组成部分并与说明书一起解释本发明的原理,在附图中:
图1是本发明中处理器的结构框图;
图2是根据本发明一实施例的在缓冲存储器中缓存数据的方法;
图3是根据本发明另一实施例的在缓冲存储器中缓存数据的方法;
具体实施方式
下面参照附图进一步描述本发明的优选实施例。
在本发明中,“低权重”与“权重低”指代同一内容,即具有较低的权重。同理,“高权重”与“权重高”指代同一内容,即具有较高的权重。同理,“中权重”与“权重中”指代同一内容,即具有中间级的权重。显而易见的高权重、中权重、低权重的权重依次降低。其中具有高权重的待缓存数据是系统数据、核心数据、关键数据,或者是最近需要访问和写入的数据,或者是访问和写入频率较高的数据等,具有低权重的待缓存数据是特定用户数据、特定应用数据、长时间未访问的数据,或者是访问和写入频率较低的数据等,具有中权重的代缓存数据是权重介于高权重待缓存数据和低权重待缓存数据之间的待缓存数据,例如多应用共享数据、多用户共享数据等。在本发明中,更具体地,缓冲存储器中的空闲存储空间的总量指代缓冲存储器中的缓存单元的空闲存储空间的总量,缓冲存储器中的存储空间的总量指代缓冲存储器中的缓存单元的空闲存储空间的总量。在本发明中,接收待缓存数据同样指代接收待缓存数据。在本发明中,缓冲数据与缓存数据指代同一内容。在本发明中,权重信息、权重属性、权重属性信息均指代同一内容。
下面参照附图1,本发明中,所述处理器包括处理器核心和缓冲存储器,还包括主存接口,并通过该主存接口与主存耦合。其中缓冲存储器包括缓存控制器和缓存单元。其中缓存控制器控制对缓存单元的写入和读取,替换和清除。
下面参照附图2,详细描述本发明的一实施例。在步骤S10中,处理器响应于外部单元的写入或读取指令,接收待缓存数据,同时接收待缓存数据的权重信息,待缓存数据的权重信息可以是独立数据也可以加载于待缓存数据的头部,待缓存数据的权重信息可以是以上描述的指示待缓存数据的权重的低权重信息、高权重信息或中权重信息。
在步骤S11中,缓存控制器判断待缓存数据的数据量是否大于缓冲存储器的存储空间的总量,如果是则放弃缓冲并提示待缓存数据信息过大,例如当外部单元的指令是写入指令时,处理器响应于该写入指令,接收待缓存数据,接着处理器向缓冲存储器中的缓存控制器发送替换指令,缓存控制器接收到来自处理器的替换指令后,首先判断待缓存数据的数据量是否大于缓冲存储器的存储空间的总量,如果是则放弃缓冲,同时将待缓存数据直接写入到主存中;如果否则进行以下步骤。
在步骤S20中,如果待缓存数据的数据量不大于缓冲存储器的存储空间的总量,因此在步骤S40缓存控制器进一步判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量。如果否则说明缓冲存储器中有足够的空闲存储空间存储待缓存数据,因此在步骤S60将待缓存数据写入到缓冲存储器的空闲存储空间中,否则说明缓冲存储器中没有足够的空闲存储空间存储待缓存数据,因此继续判断缓冲存储器中是否存在低权重的缓存数据。如果是则说明缓冲存储器中存在低权重的缓存数据,此时由于待缓存数据是当前需要写入或读取的数据,其权重高最高,因此在步骤S50首先选择将缓冲存储器中低权重的缓存数据清除,同时释放缓冲存储器中低权重的缓存数据所占用的存储空间,因此在缓冲存储器中获得了更多的空闲存储空间,接着返回步骤S20,继续判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量。
在步骤S40中,如果缓冲存储器中不存在低权重的缓存数据,则继续在步骤S51判断缓冲存储器中是否存在高权重的缓存数据,如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存,意即同时清除缓冲存储器中的高权重的缓存数据,并且释放缓冲存储器中高权重的缓存数据所占用的存储空间,如此继续返回到步骤S20重新判断是否缓冲存储器中的空闲存储空间的总量是否小于待缓存数据的数据量。应当注意的是,由于在步骤S11中已经判断待缓存数据的数据量是否大于缓冲存储器的存储空间总量,并且步骤S51是在待缓存数据的数据量不大于缓冲存储器的存储空间总量的情形下进行的,因此在步骤S51中不存在缓冲存储器中不存在高权重的缓存数据的情形,因为在待缓存数据的数据量不大于缓冲存储器的存储空间总量说明缓冲存储器能够满足待缓存数据的存储需求,既然缓冲存储器中的空闲存储空间的总量小于待缓存数据的数据量并且缓冲存储器中不存在低权重的缓存数据,那么缓冲存储器中一定存在高权重的缓存数据。
下面参照附图3,详细描述本发明的另一实施例。在步骤S110中,处理器响应于外部单元的写入或读取指令,接收待缓存数据,同时接收待缓存数据的权重信息,待缓存数据的权重信息可以是独立数据也可以加载于待缓存数据的头部,待缓存数据的权重信息可以是以上描述的指示待缓存数据的权重的低权重信息、高权重信息,还可以包括中权重信息。
在步骤S120中,缓存控制器判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量。如果否则说明缓冲存储器中有足够的空闲存储空间存储待缓存数据,因此在步骤S130将待缓存数据写入到缓冲存储器的空闲存储空间中,并在步骤S160发送确认信息,流程结束,其中确认信息可以包括确认缓存结束的信息,也可以包括缓存过程中的处理信息,例如指示待缓存数据写入到缓冲存储器的信息。否则说明缓冲存储器中没有足够的空闲存储空间存储待缓存数据,因此继续在步骤S140判断缓冲存储器中是否存在低权重的缓存数据。如果是则说明缓冲存储器中存在低权重的缓存数据,此时由于待缓存数据是当前需要写入或读取的数据,其权重高最高,因此在步骤S150首先选择将缓冲存储器中低权重的缓存数据清除,同时释放缓冲存储器中低权重的缓存数据所占用的存储空间,因此在缓冲存储器中获得了更多的空闲存储空间,接着返回步骤S120,继续判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量。
在步骤S140中,如果缓冲存储器中不存在低权重的缓存数据,则继续在步骤S151判断缓冲存储器中是否存在高权重的缓存数据,如果缓冲存储器中存在高权重的缓存数据,则在步骤S152将缓冲存储器中高权重的缓存数据转存至主存,意即同时清除缓冲存储器中的高权重的缓存数据,并且释放缓冲存储器中高权重的缓存数据所占用的存储空间,如此继续返回到步骤S120重新判断是否缓冲存储器中的空闲存储空间的总量是否小于待缓存数据的数据量。
在步骤S151中,如果缓冲存储器中不存在高权重的缓存数据,则说明实质上待缓存数据的数据量大于缓冲存储器的存储空间的总量,即缓冲存储器不具有能够存储待存储数据的能力,因此,在步骤S153中直接将待缓存数据写入到主存中,并在步骤S160发送确认信息,流程结束,其中确认信息可以包括确认缓存结束的信息,也可以包括缓存过程中的处理信息,例如指示待缓存数据写入到主存的信息。
附图1-2以流程图的方式示出了本发明的第一实施例和第二实施例。根据本发明的精神,以下描述第三实施例和第四实施例。在第三实施例中,针对待缓存数据的低权重属性和高权重属性分别进行区别替换。具体地,在步骤S210,接收待缓存数据和待缓存数据的权重信息,其中所述待缓存数据的权重信息指示待缓存数据的权重为低权重或高权重;如果所述待缓存数据的权重信息指示所述待缓存数据的权重为低权重,则执行以下步骤:在步骤S220,比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,流程结束,此时还可以在步骤S260发送确认信息;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S221判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤222清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S220;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S223直接将待缓存数据写入主存,流程结束,此时还可以在步骤S260发送确认信息;如果所述待缓存数据的权重信息指示所述待缓存数据的权重为高权重,则执行以下步骤:在步骤S230,比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,流程结束,此时还可以在步骤S260发送确认信息;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S231判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤232清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S230;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S233判断缓冲存储器中是否存在高权重的缓存数据;如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回步骤S230;如果缓冲存储器中不存在高权重的缓存数据,则在步骤S234直接将待缓存数据写入到主存中,流程结束,此时还可以在步骤S260发送确认信息。
在第四实施例中,同样针对待缓存数据的低权重属性和高权重属性分别进行区别替换。具体地,在步骤S310,接收待缓存数据和待缓存数据的权重信息,其中所述待缓存数据的权重信息指示待缓存数据的权重为低权重或高权重;在步骤S311,判断待缓存数据的数据量是否大于缓冲存储器的存储空间总量;如果待缓存数据的数据量大于缓冲存储器的存储空间总量,则在步骤S312将待缓存数据直接写入到主存中,流程结束,此时还可以在步骤S360发送确认信息;如果待缓存数据的数据量不大于缓冲存储器的存储空间总量并且所述待缓存数据的权重信息指示所述待缓存数据的权重为低权重,则执行以下步骤:在步骤S320,比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,流程结束,此时还可以在步骤S360发送确认信息;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S321判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤322清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S320;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S323直接将待缓存数据写入主存,流程结束,此时还可以在步骤S360发送确认信息;如果待缓存数据的数据量不大于缓冲存储器的存储空间总量并且所述待缓存数据的权重信息指示所述待缓存数据的权重为高权重,则执行以下步骤:在步骤S330,比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则向缓冲存储器的空闲存储空间写入待缓存数据,流程结束,此时还可以在步骤S360发送确认信息;如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则在步骤S331判断缓冲存储器中是否存在低权重的缓存数据;如果缓冲存储器中存在低权重的缓存数据,则在步骤332清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S330;如果缓冲存储器中不存在低权重的缓存数据,则在步骤S333判断缓冲存储器中是否存在高权重的缓存数据;如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回步骤S330。
在本发明的各个实施例中,其中在流程结束后还包括发送确认信息,其中确认信息可以包括确认缓存结束的信息,也可以包括缓存过程中的处理信息,例如指示待缓存数据写入到缓冲存储器的信息、指示待缓存数据写入到主存的信息。其中所述待缓存数据的总量可限定为不大于缓冲存储器的存储空间的数据量。其中接收待缓存数据还可以包括:接收待缓存数据的权重。其中向缓冲存储器的空闲存储空间写入待缓存数据还包括:写入所述待缓存数据的权重。其中所述权重是低权重或高权重;或者其中所述权重是低权重、中权重或高权重。
本发明提供的在缓冲存储器中缓存数据的方法,由于有效利用了待缓存数据的权重信息,从而根据待缓存数据的不同权重进行不同的替换处理,例如针对权重低的缓存数据在必要时进行直接清除处理,针对权重高的缓存数据在必要时转存至主存中,从而避免了复杂的计算和查询操作,得以实现高效缓存当前数据的效果。通过本发明提高了处理器从缓存中读取数据的命中率,提高了系统的访问效率,提高了系统的吞吐量。
应该理解,上述实施例是针对特定实施例进行的详细描述,但是本发明并不局限于该实施例,在不脱离本发明精神和范围的情况下,可以对本发明做出各种各样的改进和变型,例如当权重信息指示待缓存数据的权重为低权重、中权重和高权重时,在不脱离本发明精神和范围的情况下,可进一步改进本发明的在缓冲存储器中缓存数据的方法。

Claims (2)

1.一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:
S10)接收待缓存数据,接收待缓存数据的权重信息;
S20)比较缓冲存储器中的空闲存储空间的总量与待缓存数据的数据量;
S30)如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据的数据量,则转到步骤S60;
S40)如果缓冲存储器中的空闲存储空间总量小于待缓存数据的数据量,则判断缓冲存储器中是否存在低权重的缓存数据;
S50)如果缓冲存储器中存在低权重的缓存数据,则清除缓冲存储器中低权重的缓存数据并释放缓冲存储器中低权重的缓存数据所占用的存储空间,返回步骤S20;
S51)如果缓冲存储器中不存在低权重的缓存数据,则判断缓冲存储器中是否存在高权重的缓存数据;
S52)如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存中并释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回步骤S20;
S60)向缓冲存储器的空闲存储空间写入待缓存数据,写入所述待缓存数据的权重信息,发送确认信息;
其中待缓存数据的数据量不大于缓冲存储器的存储空间的总量,所述权重信息表示低权重或高权重;所述高权重的缓存数据包括系统数据、核心数据、关键数据,或最近访问和写入的数据,所述低权重的缓存数据包括特定用户数据、特定应用数据、或最近未访问的数据。
2.一种在缓冲存储器中缓存数据的方法,所述方法包括以下步骤:
S110)接收待缓存数据,同时接收待缓存数据的权重信息,所述权重信息表示低权重或高权重;
S120)判断缓冲存储器中的空闲存储空间的总量是否小于待缓存数据存储量;
S130)如果缓冲存储器中的空闲存储空间的总量不小于待缓存数据存储量,则向缓冲存储器的空闲存储空间写入待缓存数据及所述待缓存数据的权重信息,转到步骤S160;
S140)如果缓冲存储器中的空闲存储空间的总量小于待缓存数据存储量,则判断缓冲存储器中是否存在低权重的缓存数据;
S150)如果缓冲存储器中存在低权重的缓存数据,则将缓冲存储器中低权重的缓存数据清除,同时释放缓冲存储器中低权重的缓存数据所占用的存储空间,转到步骤S120;
S151)如果缓冲存储器中不存在低权重的缓存数据,则判断缓冲存储器中是否存在高权重的缓存数据;
S152)如果缓冲存储器中存在高权重的缓存数据,则将缓冲存储器中高权重的缓存数据转存至主存,并且释放缓冲存储器中高权重的缓存数据所占用的存储空间,返回到步骤S120;
S153)如果缓冲存储器中不存在高权重的缓存数据,则直接将待缓存数据写入到主存中;
S160)发送确认信息;
其中,所述高权重的缓存数据包括系统数据、核心数据、关键数据,或最近访问和写入的数据,所述低权重的缓存数据包括特定用户数据、特定应用数据、或最近未访问的数据。
CN201310300872.5A 2013-07-18 2013-07-18 一种在缓冲存储器中缓存数据的方法 Expired - Fee Related CN103345368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310300872.5A CN103345368B (zh) 2013-07-18 2013-07-18 一种在缓冲存储器中缓存数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310300872.5A CN103345368B (zh) 2013-07-18 2013-07-18 一种在缓冲存储器中缓存数据的方法

Publications (2)

Publication Number Publication Date
CN103345368A CN103345368A (zh) 2013-10-09
CN103345368B true CN103345368B (zh) 2015-05-06

Family

ID=49280168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310300872.5A Expired - Fee Related CN103345368B (zh) 2013-07-18 2013-07-18 一种在缓冲存储器中缓存数据的方法

Country Status (1)

Country Link
CN (1) CN103345368B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678149B (zh) * 2013-12-19 2017-01-18 华为技术有限公司 数据处理的方法及设备
CN105631035B (zh) * 2016-01-04 2018-04-17 北京百度网讯科技有限公司 数据存储方法和装置
CN106227471A (zh) * 2016-08-19 2016-12-14 深圳大普微电子科技有限公司 固态硬盘和应用于固态硬盘的数据存取方法
CN112559390B (zh) * 2016-09-23 2023-06-06 成都华为技术有限公司 一种数据写入控制方法及存储设备
CN107302505B (zh) * 2017-06-22 2019-10-29 迈普通信技术股份有限公司 管理缓存的方法及装置
CN108763315B (zh) * 2018-04-26 2021-07-30 北京易代储科技有限公司 数据统计管理方法及装置
CN110969247B (zh) * 2018-09-30 2024-04-09 北京地平线信息技术有限公司 基于神经网络的张量处理方法、装置和电子设备
CN109767003A (zh) * 2019-01-31 2019-05-17 深兰科技(上海)有限公司 神经网络加速器的存储控制方法、装置、电子设备及介质
CN113076281B (zh) * 2021-03-30 2022-11-04 山东英信计算机技术有限公司 一种Ceph内核客户端进行通信的方法、系统、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521057A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 资源调度方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521057A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 资源调度方法和装置

Also Published As

Publication number Publication date
CN103345368A (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN103345368B (zh) 一种在缓冲存储器中缓存数据的方法
US8214595B2 (en) Storage system which utilizes two kinds of memory devices as its cache memory and method of controlling the storage system
US7257693B2 (en) Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system
US8615634B2 (en) Coordinated writeback of dirty cachelines
US20140006687A1 (en) Data Cache Apparatus, Data Storage System and Method
US8645627B2 (en) Memory bus write prioritization
US11093410B2 (en) Cache management method, storage system and computer program product
CN102866957B (zh) 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置
CN104834607A (zh) 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法
CN103608782A (zh) Lsb页面和msb页面中的选择性数据存储
CN102117248A (zh) 一种缓存系统和在缓存系统中缓存数据的方法
CN102831088A (zh) 基于混合存储器的数据迁移方法和装置
US8856442B2 (en) Method for volume management
CN101340569A (zh) 高速缓存及其数据处理方法
CN110413211B (zh) 存储管理方法、电子设备以及计算机可读介质
US20170004087A1 (en) Adaptive cache management method according to access characteristics of user application in distributed environment
CN105138473A (zh) 管理高速缓冲存储器的系统和方法
EP2998867B1 (en) Data writing method and memory system
US20160283387A1 (en) Dynamic caching method and system for data storage system
CN111639037B (zh) 一种缓存的动态分配方法、装置及DRAM-Less固态硬盘
CN101853218B (zh) 用于磁盘阵列的读取方法和系统
CN103345452B (zh) 一种在多个缓冲存储器中根据权重信息缓存数据方法
CN117632043B (zh) Cxl内存模组、控制芯片、数据处理方法、介质和系统
KR20130117266A (ko) 비휘발성 메인 메모리 기반을 위한 이중 버퍼 구조 및 데이터 운영 방식
CN105573920B (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
ASS Succession or assignment of patent right

Owner name: UNIVERSITY OF SCIENCE AND TECHNOLOGY OF INNER MONG

Free format text: FORMER OWNER: SICHUAN JIUCHENG INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20150403

CB03 Change of inventor or designer information

Inventor after: Liu Yonghua

Inventor after: Han Yan

Inventor after: Lu Feng

Inventor after: Yue Jun

Inventor before: Mao Li

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 610041 CHENGDU, SICHUAN PROVINCE TO: 014010 BAOTOU, INNER MONGOLIA AUTONOMOUS REGION

Free format text: CORRECT: INVENTOR; FROM: MAO LI TO: LIU YONGHUA HAN YAN LU FENG YUE JUN

TA01 Transfer of patent application right

Effective date of registration: 20150403

Address after: 014010 the Inner Mongolia Autonomous Region Baotou Kunqu Arden Street No. seven

Applicant after: University of Science and Technology of Inner Mongolia

Address before: 610041 A, building, No. two, Science Park, high tech Zone, Sichuan, Chengdu, China 103B

Applicant before: Sichuan Jiucheng Information Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150506

Termination date: 20180718