使用动态分配的脏掩码空间的存储器管理的制作方法

文档序号:8491702阅读:298来源:国知局
使用动态分配的脏掩码空间的存储器管理的制作方法
【技术领域】
[0001] 本发明涉及存储器管理,且更确切地说,涉及高速缓冲存储器的管理。
【背景技术】
[0002] 高速缓冲存储器也称为高速缓存,其用于多种数据处理系统中以加速对数据的存 取。字节可写高速缓存允许客户端写入高速缓冲存储器行的一些字节,而使其它字节不受 影响。在写入到字节可写高速缓冲存储器时,维持数据相干性是重要的。多种字节可写高 速缓冲存储器写入方案可用以维持数据相干性。这些写入方案中的一些可能削弱系统性能 或消耗过多存储器空间。

【发明内容】

[0003] 在一实例中,脏缓冲器可包含在到高速缓冲存储器行的写入不是到所述高速缓冲 存储器行的完全写入时分配给相应高速缓冲存储器行的多个脏掩码。在一实例中,脏缓冲 器可为高速缓冲存储器的部分。在其它实例中,其可与所述高速缓冲存储器分离,例如为单 独的存储器装置。所述脏掩码指示高速缓冲存储器行中的数据单元的脏状态。所述高速 缓冲存储器行中的每一者可包含存储分配给所述高速缓冲存储器行的所述脏掩码的识别 (ID)的位置。举例来说,所述ID可通常存储于与例如脏旗标及/或全脏旗标等旗标在相同 高速缓存行中的脏缓冲器索引中,所述脏旗标可指示所述高速缓存行中的至少一个字节是 脏的,所述全脏旗标可指示所述高速缓冲存储器行中的每一字节是脏的。此可允许存取便 利性。然而,在其它实例中,所述ID可存储于与所述高速缓存行中的所述旗标分离的其它 存储器存储位置中。
[0004] 在一个实例中,本发明描述一种高速缓冲存储器系统,其包含:包含多个高速缓冲 存储器行的高速缓冲存储器;包含多个脏掩码的脏缓冲器;以及控制器,其经配置以在到 所述高速缓冲存储器行中的每一者的写入不是到所述高速缓冲存储器行的完全写入时,将 所述脏掩码中的一者分配给所述相应高速缓冲存储器行。所述脏掩码中的每一者指示所述 高速缓冲存储器行中的一者中的数据单元的脏状态。所述控制器存储使所述脏掩码与所述 脏掩码被分配给的所述高速缓冲存储器行相关联的识别(ID)信息。
[0005] 在另一实例中,本发明描述一种操作存储器系统的方法,其包含:将数据写入到包 含多个高速缓冲存储器行的高速缓冲存储器;在到所述高速缓冲存储器行中的每一者的 写入不是到所述高速缓冲存储器行的完全写入时,将多个脏掩码中的一者分配给所述高速 缓冲存储器行,其中所述脏掩码指示所述高速缓冲存储器行中的数据单元的脏状态;以及 存储使所述脏掩码与所述脏掩码被分配给的所述高速缓冲存储器行相关联的识别(ID)信 息。
[0006] 在另一实例中,本发明描述一种存储器系统,其包含:用于将数据写入到包含多个 高速缓冲存储器行的高速缓冲存储器的装置;用于在到所述高速缓冲存储器行中的每一者 的写入不是到所述高速缓冲存储器行的完全写入时将多个脏掩码中的一者分配给所述高 速缓冲存储器行的装置,其中所述脏掩码指示所述高速缓冲存储器行中的数据单元的脏状 态;以及用于存储使所述脏掩码与所述脏掩码被分配给的所述高速缓冲存储器行相关联的 识别(ID)信息的装置。
[0007] 在另一实例中,本发明描述一种系统,其包含:处理器;耦合到所述处理器的主存 储器;耦合到所述处理器的高速缓冲存储器。所述高速缓冲存储器包含:控制器;多个高速 缓冲存储器行;以及脏缓冲器。所述脏缓冲器包含脏掩码。所述控制器在到所述高速缓冲 存储器行中的每一者的写入不是到所述高速缓冲存储器行的完全写入时,将所述脏掩码中 的一者分配给所述高速缓冲存储器行。所述脏掩码指示所述高速缓冲存储器行中的数据单 元的脏状态。所述控制器存储使所述脏掩码与所述脏掩码被分配给的所述高速缓冲存储器 行相关联的识别(ID)信息。
[0008] 在另一实例中,本发明描述一种操作存储器系统的方法,其包含:使用指示到高速 缓冲存储器中的高速缓冲存储器行的写入不是完全写入的脏旗标来跟踪所述高速缓冲存 储器行的状态;在到所述高速缓冲存储器行的写入不是到所述特定高速缓冲存储器行的 完全写入时,将脏掩码分配给所述高速缓冲存储器行;以及跟踪所述所分配脏掩码的识别 (ID)信息附加到所述特定高速缓冲存储器行,使得可存取所述脏掩码。
[0009] 在另一实例中,本发明描述一种高速缓冲存储器系统,其包含:用于使用指示到高 速缓冲存储器中的高速缓冲存储器行的写入不是完全写入的脏旗标来跟踪所述高速缓冲 存储器行的状态的装置;用于在到所述高速缓冲存储器行的写入不是到所述特定高速缓冲 存储器行的完全写入时将脏掩码分配给所述高速缓冲存储器行的装置;以及用于跟踪所述 所分配脏掩码的识别(ID)信息附加到所述特定高速缓冲存储器行使得可存取所述脏掩码 的装置。
[0010] 在另一实例中,本发明描述一种非暂时性计算机可读媒体。所述计算机可读媒体 包含在执行时致使可编程处理器进行以下操作的指令:使用指示到高速缓冲存储器中的高 速缓冲存储器行的写入不是完全写入的脏旗标来跟踪所述高速缓冲存储器行的状态;在到 所述高速缓冲存储器行的写入不是到所述特定高速缓冲存储器行的完全写入时,将脏掩码 分配给所述高速缓冲存储器行;以及跟踪所述所分配脏掩码的识别(ID)信息附加到所述 特定高速缓冲存储器行,使得可存取所述脏掩码。
[0011] 一或多个实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述 及附图以及权利要求书中显而易见。
【附图说明】
[0012] 图1是说明可实施本发明的技术的实例处理系统的框图,所述处理系统包含处理 器、高速缓冲存储器及主存储器。
[0013] 图2是说明可实施本发明的技术的图1的实例高速缓冲存储器的额外细节的框 图。
[0014] 图3是说明可实施本发明的技术的高速缓冲存储器行的实例的框图。
[0015] 图4A及4B是说明使用本发明的技术的在高速缓存中的数据处理的实例的概念 图。
[0016] 图5是说明根据本发明的技术的实例方法的流程图。
[0017] 图6是说明根据本发明的技术的实例方法的另一流程图。
【具体实施方式】
[0018] 用以维持数据相干性的一个方案有时称为"读取-分配-写入"方案。在接收到 写入请求时,处理器可首先从系统存储器读取目标高速缓冲存储器行,且接着所述处理器 可将所选数据单元(例如字节)写入到高速缓冲存储器。未写入的数据单元与系统存储器 具有相同值。在从高速缓存收回高速缓冲存储器行时,将整个高速缓冲存储器行发送到系 统存储器。任何未受影响的数据单元可被写入相同值。利用此方案,到高速缓冲存储器行 的任何写入导致对系统存储器的读取。此导致系统存储器的额外业务及对写入请求的不合 需要的时延。在现代数字系统中,存储器带宽通常可能是系统性能的瓶颈。对于图形处理 单元(GPU)可尤其如此。因此,此方案归因于系统存储器的增大的业务而可能不是优选的。
[0019] 用以维持数据相干性的另一方案涉及存储所谓的"字节脏掩码"。(数据单元通常 可一次一个字节地存取)。字节脏掩码指示高速缓冲存储器行中的是脏的任何字节。在字 节包含不同于较高层级存储器(例如,系统存储器)的数据且尚未被写入到较高层级存储 器,使得在高速缓存与系统存储器中可能存在不一致数据时,所述字节是脏的。举例来说, 字节脏掩码可用以指示是否已发生对高速缓冲存储器行的修改,使得需要将改变写入到系 统存储器。因此,在写回高速缓存时,字节脏掩码中的位可指示有必要将高速缓冲存储器行 写回到存储器系统阶层中的次高存储器层级,例如系统存储器。
[0020]
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1