缓存目录的实现方法及装置制造方法及图纸

技术编号:8593896 阅读:172 留言:0更新日期:2013-04-18 07:03
本发明专利技术公开了一种缓存目录的实现方法及装置,涉及通信领域,用于解决现有技术中缓存目录的访问速度慢且存储使用率较低的问题。本发明专利技术提供的方法包括:创建缓存目录,所述缓存目录包括公有数据目录和私有数据目录,所述公有数据目录用于记录公有数据的数据块信息,所述私有数据目录用于记录私有数据的数据块信息;当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,所述数据类型包括私有数据、或公有数据;根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息。本发明专利技术适用于通信领域,用于记录多处理器系统中数据的数据块信息。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种缓存目录的实现方法及装置
技术介绍
处理器(CPU)是终端设备和服务器设备中必不可少的重要部件。随着终端设备和服务器设备性能的不断提高,多核处理器系统逐渐成为主流,例如常见的UMA(UniformMemory Access,统一内存访问)系统和 NUMA(Non-Uniform Memory Access,非统一内存访问)系统等,均包括多个处理器模块。在多核处理器系统中,由于读写速度的差异,当CPU进行存储器访问时,会优先从本地cache查找并获取目标数据;若该CPU的本地高速缓冲存储器(cache)中没有存储目标数据,则从其他CPU的cache中查找并获取目标数据;若其他CPU的本地cache中没有存储目标数据,则从内存中查找并获取目标数据。根据上述CPU查找及获取目标用户的方法,需要对cache和内存中的数据进行缓存一致性处理,以对处理器系统中存储的数据进行统计。一种实现方法是通过建立缓存目录、以目录的方式记录多CPU系统中的缓存数据和共享数据的位置和状态。一种较为常见的缓存目录是全映射目录,该目录完整的存储了处理器系统中所有地址空间(包括内存和cache)的数据信息,包括所有的共享数据在各处理器cache中的缓存信息。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题由于处理器系统中的地址空间较大、处理器数量较多,所以全映射目录所占的存储空间较大,使得全映射目录的访问速度慢且存储使用率较低。
技术实现思路
本专利技术的实施例提供一种缓存目录的实现方法及装置,能够解决现有技术中缓存目录的访问速度慢且存储使用率较低的问题。为达到上述目的,本专利技术的实施例采用如下技术方案第一方面,本专利技术实施例提供了一种缓存目录的实现方法,所述方法包括创建缓存目录,所述缓存目录包括公有数据目录和私有数据目录,所述公有数据目录用于记录公有数据的数据块信息,所述私有数据目录用于记录私有数据的数据块信当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,所述数据类型包括私有数据、或公有数据;根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息。在一种可能的实现方式中,所述方法还包括接收第一处理器发送的读写请求,所述读写请求包括目标数据的物理地址;所述当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,包括根据所述读写请求确定目标数据的物理地址,检测所述缓存目录中是否记录有所述目标数据的物理地址。在一种可能的情况下如果所述缓存目录中没有记录所述目标数据的物理地址,则确定所述目标数据的数据类型为私有数据;则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括在所述私有数据目录中记录所述目标数据的数据块信息,包括所述目标数据的物理地址以及对所述目标数据块进行读写操作的处理器标识,即第一处理器的标识。在另一种可能的情况下如果所述缓存目录中记录有所述目标数据的物理地址,所述确定该读写请求对应的目标数据的数据类型,包括(I)当所述目标数据的物理地址记录于所述缓存目录中的私有数据目录中时,检测所述私有数据目录中该物理地址对应的处理器标识与第一处理器的标识是否相同;若是,则确定所述目标数据的数据类型为私有数据;若否,则确定所述目标数据的数据类型为公有数据;则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括如果确定所述目标数据的数据类型为私有数据,则根据所述读写请求在所述私有数据目录中更新所述目标数据的数据块信息,所述数据块信息包括所述目标数据的读写次数、读写时间;如果确定所述目标数据的数据类型为公有数据,则将所述目标数据的数据块信息记录于所述公有数据目录中,将所述目标数据在所述私有数据目录中的目录项置为无效。(2)当所述目标数据的物理地址记录于所述缓存目录中的公有数据目录中时,所述确定该读写请求对应的目标数据的数据类型,包括确定所述目标数据的数据类型为公有数据;则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括在所述缓存目录中的公有数据目录中对所述目标数据的位向量标识进行修改,在所述位向量标识中增加第一处理器的信息。第二方面,本专利技术实施例还提供了一种缓存目录的实现装置,所述装置包括建立单元,用于创建缓存目录,所述缓存目录包括公有数据目录和私有数据目录,所述公有数据目录用于记录公有数据的数据块信息,所述私有数据目录用于记录私有数据的数据块信息;确定单元,用于当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,所述数据类型包括私有数据、或公有数据;记录单元,用于根据所述确定单元确定的数据类型,在所述建立单元创建的缓存目录中记录所述目标数据的数据块信息。在一种可能的实现方式中,所述装置还包括接收单元,用于接收第一处理器发送的读写请求,所述读写请求包括目标数据的物理地址。所述确定单元包括检测模块,用于根据所述读写请求确定目标数据的物理地址,检测所述缓存目录中是否记录有所述目标数据的物理地址;在一种可能的情况下所述确定单元用于当所述检测模块检测缓存目录中没有记录所述目标数据的物理地址时,确定所述目标数据的数据类型为私有数据;所述记录单元具体用于在所述私有数据目录中记录所述目标数据的数据块信息,包括所述目标数据的物理地址以及对所述目标数据块进行读写操作的处理器标识,即第一处理器的标识。在另一种可能的情况下当所述检测模块确定所述缓存目录中记录有所述目标数据的物理地址时,所述检测模块还用于进一步确定所述目标数据的在所述缓存目录中的具体位置,所述具体位置包括私有数据目录和公有数据目录;(I)所述检测模块还用于当确定所述目标数据的物理地址记录于所述缓存目录中的私有数据目录时,检测所述私有数据目录中该物理地址对应的处理器标识与第一处理器的标识是否相同;若是,则所述确定单元确定所述目标数据的数据类型为私有数据;若否,则所述确定单元确定所述目标数据的数据类型为公有数据;所述记录单元具体用于当确定所述目标数据的数据类型为私有数据时,根据所述读写请求在所述私有数据目录中更新所述目标数据的数据块信息,所述数据块信息包括所述目标数据的读写次数、读写时间;以及所述记录单元具体用于当确定所述目标数据的数据类型为公有数据时,将所述目标数据的数据块信息记录于所述公有数据目录中,将所述目标数据在所述私有数据目录中的目录项置为无效。(2)所述确定单元用于当所述检测模块确定所述目标数据的物理地址记录于所述公有数据目录中时,确定所述目标数据的数据类型为公有数据;所述记录单元用于在所述缓存目录中的公有数据目录中对所述目标数据的位向量标识进行修改,在所述位向量标识中增加第一处理器的信息。本专利技术实施例提供的缓存目录的实现方法及装置,建立缓存目录、并将缓存目录划分为私有数据目录和公有数据目录,通过私有数据目录记录处理器系统中各处理器的私有数据的数据块信息,通过公有数据目录记录处理器系统中多个处理器共享数据的数据块信息。一方面,由于处理器系统的cache容量有限,所以能够节省所述缓存目录占用的存储空间;另一方面,由于私有数据仅被唯一的处理器访问,无需记录其他处理器的访问信息,能够有效的提升缓存目录的使用效率本文档来自技高网...

【技术保护点】
一种缓存目录的实现方法,其特征在于,包括:创建缓存目录,所述缓存目录包括公有数据目录和私有数据目录,所述公有数据目录用于记录公有数据的数据块信息,所述私有数据目录用于记录私有数据的数据块信息;当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,所述数据类型包括私有数据、或公有数据;根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息。

【技术特征摘要】
1.一种缓存目录的实现方法,其特征在于,包括 创建缓存目录,所述缓存目录包括公有数据目录和私有数据目录,所述公有数据目录用于记录公有数据的数据块信息,所述私有数据目录用于记录私有数据的数据块信息;当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,所述数据类型包括私有数据、或公有数据; 根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息。2.根据权利要求1所述的方法,其特征在于,所述缓存目录用于记录处理器系统中缓存数据的数据块信息; 其中,所述公有数据的数据块信息包括缓存数据的物理地址与位向量标识的对应关系,所述位向量标识包括N个指针,用于表征所述公有数据对应的处理器,所述N是处理器的个数;所述私有数据的数据信息包括缓存数据的物理地址以及该缓存数据对应的处理器标识。3.根据权利要求1或2所述的方法,其特征在于,所述当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型之前,包括 接收第一处理器发送的读写请求,所述读写请求包括目标数据的物理地址。4.根据权利要求3所述的方法,其特征在于,所述当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型,包括 根据所述读写请求确定目标数据的物理地址,检测所述缓存目录中是否记录有所述目标数据的物理地址; 如果所述缓存目录中没有记录所述目标数据的物理地址,则确定所述目标数据的数据类型为私有数据; 则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括 在所述私有数据目录中记录所述目标数据的数据块信息,包括所述目标数据的物理地址以及对所述目标数据块进行读写操作的处理器标识,即第一处理器的标识。5.根据权利要求4所述的方法,其特征在于,如果所述缓存目录中记录有所述目标数据的物理地址,所述确定该读写请求对应的目标数据的数据类型,包括 当所述目标数据的物理地址记录于所述缓存目录中的私有数据目录中时,检测所述私有数据目录中该物理地址对应的处理器标识与第一处理器的标识是否相同;若是,则确定所述目标数据的数据类型为私有数据;若否,则确定所述目标数据的数据类型为公有数据; 则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括 如果确定所述目标数据的数据类型为私有数据,则根据所述读写请求在所述私有数据目录中更新所述目标数据的数据块信息,所述数据块信息包括所述目标数据的读写次数、读写时间; 如果确定所述目标数据的数据类型为公有数据,则将所述目标数据的数据块信息记录于所述公有数据目录中,将所述目标数据在所述私有数据目录中的目录项置为无效。6.根据权利要求5所述的方法,其特征在于,当所述目标数据的物理地址记录于所述缓存目录中的公有数据目录中时,所述确定该读写请求对应的目标数据的数据类型,包括 确定所述目标数据的数据类型为公有数据; 则所述根据所述数据类型,在所述缓存目录中记录所述目标数据的数据块信息,包括 在所述缓存目录中的公有数据目录中对所述目标数据的位向量标识进行修改,在所述位向量标识中增加第一处理器的信息。7.根据权利要求1-6中任一项所述的方法,其特征在于,当所述公有数据目录和私有数据目录中没有空闲目录项时,所述当接收到第一处理器发送的读写请求时,确定该读写请求对应的目标数据的数据类型之后,还包括 在所述公有数据目录和私有数据目录中确定指定目录项作为可替换目录项,对该指定目录项进行替换,以记录所述目标数据的数据块信息。8.根据权利要求7所述的方法,其特征在于,所述在所述公有数据目录和私有数据目录中确定指定目录项作为可替换目录项,包括 为所述公有数据目录和私有数据目录分别设定时间阈值,将超过预设时间阈值还没有被访问的目录项确定为可替换目录项。9.根据权利要求8所述的方法,其特征在于,当所述超过预设时间阈值还没有被访问的目录项为零时,所述在所述公有数据目录和私有数据目录中确定指定目录项作为可替换目录项,还包括 在所述公有数据目...

【专利技术属性】
技术研发人员:张悠慧李艳华郑伟
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1