CN101689147B - 数据预取调节 - Google Patents
数据预取调节 Download PDFInfo
- Publication number
- CN101689147B CN101689147B CN2008800240012A CN200880024001A CN101689147B CN 101689147 B CN101689147 B CN 101689147B CN 2008800240012 A CN2008800240012 A CN 2008800240012A CN 200880024001 A CN200880024001 A CN 200880024001A CN 101689147 B CN101689147 B CN 101689147B
- Authority
- CN
- China
- Prior art keywords
- data
- prefetch
- hit
- trail
- caching
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本文中所教导的一种系统和方法通过追踪对数据高速缓冲存储器的预取命中和总体命中来控制对所述数据高速缓冲存储器的数据预取。基于对预取命中的所述追踪来停用对所述数据高速缓冲存储器的数据预取,且基于对总体命中的所述追踪来启用对所述数据高速缓冲存储器的数据预取。举例来说,在一个或一个以上实施例中,高速缓冲存储器控制器经配置以追踪预取命中率且在所述预取命中率落在界定阈值以下时停用数据预取,所述预取命中率反映涉及经预取数据线的对所述数据高速缓冲存储器的命中的百分数。所述高速缓冲存储器控制器还追踪总体命中率且在所述总体命中率落在界定阈值以下时启用数据预取,所述总体命中率反映数据高速缓冲存储器命中(对未命中)的总体百分数。
Description
技术领域
本发明大体上涉及处理器的领域,且尤其涉及用于控制处理器中的数据预取的系统和方法。
背景技术
处理器使用高速缓存来减轻与存储器相关联的处理瓶颈。举例来说,通过使用较快存取存储器来保持存储于较慢存储器(例如,主存储器或较高级的高速缓存存储器)中的较大程序指令集的选定部分,指令高速缓存起作用。
因此,存取存在于高速缓冲存储器中的指令具有的延迟比存取较慢存储器所需的延迟低,且处理器通常使用某形式的基于硬件的指令预取来保持指令高速缓冲存储器填充有来自较慢存储器的所需指令线。预取在需要来自较慢存储器的指令线内的指令之前将那些指令线置于指令高速缓冲存储器中。
基于硬件的预取也可应用于数据。然而,成功地预取数据可能比成功地预取指令难。举例来说,数据值在存储器中可能比程序指令更分散或散开,使基于预测的预取更有挑战性。因而,数据预取可或可不改善性能,且数据预取的性能在处理器操作期间可显著改变。
因此,已知(例如)要“过滤”预取操作。预取过滤表示“污染”避免机制,其中数据高速缓冲存储器在含有从未使用的经预取数据线(即,经预取但最终在曾经被存取(命中)之前被替换的数据线)时被认为受到污染。因而,预取过滤暗示持续不断地进行数据预取,但选择性地跳过在缺少此类过滤的情况下将会进行的某些数据预取。
更详细地,可或可不依赖于所应用的过滤准则来执行个别数据预取。过滤标准可反映(例如)在某范围的程序执行内所形成的预取性能历史。然而,适当过滤的确定可要求非所要的硬件复杂性或资源消耗,确切地说以产生优于在无过滤的情况下进行数据预取的重大性能改善。
发明内容
根据一个或一个以上实施例,一种控制对数据高速缓冲存储器的数据预取的方法包含追踪数据高速缓冲存储器的预取命中和基于对预取命中的追踪停用对数据高速缓冲存储器的数据预取。所述方法进一步包括追踪对数据高速缓冲存储器的总体命中和基于对总体命中的追踪启用对数据高速缓冲存储器的数据预取。在这种情形下,停用数据预取包含停用对数据高速缓冲存储器的所有数据预取,但在需要时(例如,在数据高速缓冲存取器未命中时)仍将数据线获取到数据高速缓冲存储器中,这与是否启用数据预取无关。
在本文所教导的至少一个实施例中,一种处理器包括数据高速缓冲存储器,所述数据高速缓冲存储器包含高速缓存存储器和高速缓冲存储器控制器。高速缓冲存储器控制器基于追踪对数据高速缓冲存储器的预取命中来停用对数据高速缓冲存储器的数据预取和基于追踪对数据高速缓冲存储器的总体命中来启用对数据高速缓冲存储器的数据预取。在至少一个此类实施例中,高速缓冲存储器控制器通过追踪预取命中率来追踪预取命中和通过追踪总体命中率(或等效地,总体未命中率)来追踪总体命中。
谨记上述实例,如本文中所教导的数据预取控制在有条件的基础上提供数据预取的性能和功率优点(和其它优点),而在同时提供简单且有效的硬件实施。
附图说明
图1为处理器的一个实施例的功能框图。
图2为数据预取控制的实施例的状态图。
图3为可用于控制数据预取的计数和控制电路的一个实施例的功能框图。
图4为数据高速缓存存储器的一个实施例的功能框图,其包括用以表示经预取数据线的指示符。
图5为用以表示数据高速缓冲存储器中的经预取数据线的指示符的另一实施例的功能框图。
图6和图7为用于控制数据预取的处理逻辑的一个实施例的逻辑流程图。
具体实施方式
作为非限制性实例,图1说明处理器100的一个实施例,其包括指令执行管线120、状态/控制寄存器104,和数据高速缓冲存储器106,数据高速缓冲存储器106包括高速缓冲存储器控制器108和相关联的高速缓存存储器110。在操作中,数据高速缓冲存储器106高速缓存来自存储器112的一个或一个以上较高级的数据线,存储器112可包括较高级高速缓冲存储器和/或主(系统)存储器。在至少一个实施例中,数据高速缓冲存储器106包含1级(“L1”)数据高速缓冲存储器。
有利地,(数据)高速缓冲存储器控制器108经配置以根据以低硬件复杂性实施于数据高速缓冲存储器106中的逻辑控制机制动态地启用和停用数据高速缓冲存储器预取。图2为说明这种有利预取控制的一个实施例的状态图。
如图2所示,状态200表示数据高速缓冲存储器106的启用数据预取的操作状态,而状态202表示数据高速缓冲存储器106的停用预取的操作状态。并非筛分或否则过滤个别预取,高速缓冲存储器控制器108在状态202中操作时有利地终止所有预取。因此,图2中具体化的预取控制像用于数据预取的开/关开关般操作。
在一个或一个以上实施例中,高速缓冲存储器控制器108依据追踪“预取命中”而从状态200(预取启用)转变到状态202(预取停用)。另外,高速缓冲存储器控制器108依据追踪“总体命中”而从状态202转变回到状态200。在这种情形下,“预取命中”为对保持于数据高速缓冲存储器106的高速缓存存储器110中的经预取数据线的命中,而“总体命中”为对保持于数据高速缓冲存储器106的高速缓存存储器110中的任何数据线(不管是否经预取)的命中。在这种意义上,预取命中反映涉及经预取数据线的数据高速缓冲存储器命中的百分数,且总体命中反映高速缓冲存储器命中的总体百分数。等效地,高速缓冲存储器控制器108追踪高速缓冲存储器未命中。举例来说,如果对数据高速缓冲存储器106的总体命中率为百分之九十,那么总体未命中率为百分之十。
更详细地,在程序执行期间,处理器100首先在数据高速缓冲存储器106中寻找所需数据。数据高速缓冲存储器命中表示所需数据驻于数据高速缓冲存储器106中的情况。相反,数据高速缓冲存储器未命中表示所需数据不驻于数据高速缓冲存储器106中的情况。高速缓冲存储器控制器108响应于数据高速缓冲存储器未命中而执行数据获取,其通常被称作“强制性获取”。另一方面,假定启用预取,则高速缓冲存储器控制器108根据一个或一个以上预取对策(“策略”)将来自较高级存储器112的数据线预取到数据高速缓冲存储器106的高速缓存存储器110中。作为非限制性实例,高速缓冲存储器控制器108可使用基于顺序和/或基于指针的预取策略。
在任何情况下,所属领域的技术人员将了解,高速缓存存储器110含有经预取和已获取(非预取)数据线的混合,假定数据高速缓冲存储器106是在启用预取的情况下(状态200)操作的。因此,对数据高速缓冲存储器106的个别命中涉及经预取数据线或非预取数据线,且追踪预取命中向高速缓冲存储器控制器108提供关于预取性能的了解。简单来说,涉及经预取数据线的较少数目个数据高速缓冲存储器命中表明数据预取未有助于当前程序执行条件。
在这些条件下停用预取为有利的,因为其消除预取额外开销(存储器总线存取和控制)。停止预取-从状态200转变到状态202-因此减少处理器操作功率且减少资源负载。针对此类条件使预取关闭提供防止用多半不会使用的数据线污染数据高速缓冲存储器106的另一优点。
另一方面,程序执行条件经受改变,使得预取再次变成所要的。为此,高速缓冲存储器控制器108在状态202下操作时追踪针对数据高速缓冲存储器106的总体命中,且(例如)在针对数据高速缓冲存储器106的总体命中变成过低时启用预取。(等效地,总体未命中变成过高。)换句话说,如果针对数据高速缓冲存储器106的总体命中率开始遭受关闭的数据预取,那么高速缓冲存储器控制器108通过转变回到状态200来使预取重新开启。
举例来说,高速缓冲存储器控制器108追踪预取命中作为预取命中率且追踪总体命中作为总体命中率。以此方式,可将用于预取停用决策的界定停用阈值确定于默认值或动态计算出的值。同样,可将用于预取启用决策的界定启用阈值确定于默认值或动态计算出的值。作为非限制性实例,高速缓冲存储器控制器108可经配置以在预取命中率落在百分之二以下时使预取关闭,且可经配置以在总体命中率落在百分之九十九以下时使预取开启。当然,这些仅为实例值,且可根据特定处理器特性和数据高速缓冲存储器大小且根据其它考虑因素(例如,预取额外开销、未命中惩罚等等)来调整或以其它方式调谐阈值。
不管所使用的特定决策阈值,图3说明可由高速缓冲存储器控制器108用以追踪预取命中和总体命中的追踪机制的一个实施例。更明确地说,图3说明计数器控制电路300、第一计数器302和第二计数器304。这些电路可包括于高速缓冲存储器控制器108中或与之相关联。
在一个或一个以上实施例中,计数器控制电路300响应于高速缓冲存储器控制器108检测到对高速缓存存储器110中的经预取数据线的命中而使第一计数器302增加一,且响应于高速缓冲存储器控制器108检测到未对高速缓存存储器110中的经预取数据线的命中而使第一计数器302减小一。以此方式,第一计数器302的值反映数据高速缓冲存储器106上对经预取数据线的命中的百分数。因而,计数器控制电路300或高速缓冲存储器控制器108内的另一电路元件可将第一计数器302的值与界定停用阈值进行比较,作为用于确定是否转变到状态202的依据。
另外,计数器控制电路300响应于对数据高速缓冲存储器106的命中(任何命中)而使第二计数器304增加一,且响应于数据高速缓冲存储器未命中而使第二计数器304减小一。以此方式,第二计数器304的值反映对数据高速缓冲存储器的命中的总体百分数。更明确地说,通过对数据高速缓冲存储器命中使计数增加且对数据高速缓冲存储器未命中使计数减小,第二计数器304的值反映对数据高速缓冲存储器106的命中/未命中百分数。因而,计数器控制电路300或高速缓冲存储器控制器108内的另一电路元件可将第二计数器304的值与界定启用阈值进行比较,作为用于确定是否转变到状态200的依据。
上述处理涉及检测个别数据高速缓冲存储器命中是否是对高速缓存存储器110中的经预取数据线。图4和图5说明提供用于所述检测的不同实施例。在这两个图中,可看出高速缓冲存储器控制器108存储或以其它方式维持表示高速缓存存储器110中的哪些数据线经预取的指示符。
具体而言,图4说明一实施例,其中对于高速缓存存储器110中保持的每一数据线而言,高速缓存存储器110包含:标签存储器400,用于保持存储器地址信息;数据存储器402,用于保持经高速缓存数据的线;和预取标记404,用以将数据线的状态指示为经预取(例如,“1”)或未经预取(例如,“0”)。
相反,图5说明替代实施例,其中所存储的(预取)指示符被实施为寄存器组500,包括用于高速缓存存储器110中的每一经预取数据线的线识别符(ID)条目502。举例来说,可针对预取到高速缓存存储器110中的每一数据线将条目添加到寄存器组500,使得寄存器组500中仅表示经预取数据线。或者,寄存器组500可包括用于高速缓存存储器110中所有数据线的条目,每一条目指示高速缓存存储器110中的相应数据线是否被预取。
图6和图7共同说明利用所存储指示符(404或502)的用途来检测预取命中的处理逻辑的一个实施例。作为非限制性实例,可由高速缓冲存储器控制器108通过数字处理逻辑(例如,在状态机中)实施所说明的处理。另外,应注意,所说明处理步骤中的一个或一个以上可以不同于所说明顺序的顺序来执行,或可与其它步骤同时执行,和/或可作为其它处理任务的部分来执行。
与所说明的处理广泛一致地,高速缓冲存储器控制器108使用第一计数(例如,第一计数器302的值)来追踪对数据高速缓冲存储器106的预取命中且使用第二计数(例如,第二计数器304的值)来追踪对数据高速缓冲存储器106的总体命中。第一计数器302和第二计数器304可包含饱和计数器,使得相应的第一计数值和第二计数值在相应最大值时饱和。不管所述细节,高速缓冲存储器控制器108的一个或一个以上实施例依据第一计数值和第二计数值使数据高速缓冲存储器106在预取启用条件与预取停用条件之间转变。可作为开始操作的部分来初始化这些计数。
更详细地,所说明的处理开始于启用对数据高速缓冲存储器106的数据预取(方框600)。在至少一个实施例中,高速缓冲存储器控制器108经配置以在默认启用数据预取的情况下开始操作,使得处理器100的启动或重新启动使数据预取开启。
在启用预取的情况下,数据高速缓冲存储器控制器108在需要时将数据线获取到数据高速缓冲存储器106中,且根据现用预取策略将数据线预取到高速缓冲存储器中(方框602)。处理在循环或以其它方式持续进行的基础上继续,其中高速缓冲存储器控制器108确定数据高速缓冲存储器命中是否发生(方框604)。如果数据高速缓冲存储器命中发生(从方框604分出的“是”),那么高速缓冲存储器控制器108检测所述命中是否为预取命中(方框606),例如,其使用所存储(预取)指示符(404或502)来确定高速缓冲存储器命中所涉及的特定数据线是不是经预取数据线。
如果所述命中为预取命中(从方框606分出的“是”),那么数据高速缓冲存储器控制器108使第一计数增加一(方框608)。如果所述命中并非预取命中(从方框606分出的“否”),那么数据高速缓冲存储器控制器108使第一计数减小一(方框610)。可通过经由计数器控制电路300对第一计数器302进行操作来以此方式维持第一计数。
操作继续,其中评估第一计数(方框612)以确定第一计数的值是否高于用于预取的界定停用阈值。在所述布置的情况下,可将停用阈值设定为对应于预取被视为非所要的点的百分数值。在任一种情况下,对于二进制计数值来说,可通过将计数值与对应于所要阈值的二进制模式进行比较来作出所述确定。在至少一个实施例中,根据用于追踪预取命中的所要计数分辨率来对第一计数器302定大小。还请注意,可对每一高速缓冲存储器命中执行对第一计数的评估,或可根据另一调度或触发条件执行对第一计数的评估。
在任一种情况下,如果第一计数的值指示预取命中率过低(从方框614分出的“是”),那么高速缓冲存储器控制器108停用预取(方框616)。从此,处理任选地继续,其中使第一计数复位和/或使第二计数复位(方框618)。即,可结合进行从预取启用到预取停用的转变,以加强所述状态改变的方式来设定一个或两个计数。
在至少一个此类实施例中,作为改变到预取停用状态的部分使第二计数复位到最大值,且作为改变到预取启用状态的部分使第一计数复位到最大值。这样做会防止快速状态反转(有时被称作“乒乓”)。更明确地说,实例计数器复位表示本文中所预期的一种形式的控制滞后。在本文中的一个或一个以上实施例中,广泛地预期(例如)通过以下各者来实施启用/停用控制滞后:使用于追踪预取命中和总体命中的追踪机制(计数器或其它)复位、调整控制阈值、在进行状态改变后暂时中止状态改变处理等等。
通过跟随连接符“B”到图7而返回到所说明的处理,看到处理继续,其中预取被关闭。在停用预取的同时,高速缓冲存储器控制器108继续监视数据高速缓冲存储器存取(方框700)。如果存在数据高速缓冲存储器存取(从方框700分出的“是”),那么高速缓冲存储器控制器108检测所述存取是否导致高速缓冲存储器命中(方框702)。如果所述存取导致命中(从方框702分出的“是”),那么处理继续,其中高速缓冲存储器控制器108使第二计数增加一(方框704)。相反,如果高速缓冲存储器存取导致高速缓冲存储器未命中(从方框702分出的“否”),那么处理继续,其中高速缓冲存储器控制器108使第二计数减小一(方框706)且在需要时将数据线获取到高速缓存存储器110中(方框708)。
处理接着继续,其中评估第二计数(方框710)。可将高速缓冲存储器存取和/或计数器更新用作计数评估的触发器,或可使用另一调度或触发器。在任一种情况下,所述评估可包含将第二计数的值与界定启用阈值进行比较。在至少一个此类实施例中,所述界定启用阈值表示数据高速缓冲存储器命中的较低百分数值。在所述布置的情况下,如果由第二计数追踪的高速缓冲存储器命中的百分数处于或低于所述较低百分数,那么将总体命中率视为低。
如果总体命中率不低(从方框712分出的“否”),那么处理循环回到方框700。另一方面,如果总体命中率为低(从方框712分出的“是”),那么处理通过返回到图6的方框600的连接符“A”而继续以进行预取启用。(注意,可作为转变回到预取启用条件的部分而使第一计数和/或第二计数复位(方框714))。
在替代实施例中,高速缓冲存储器控制器108经配置以基于计数或以其它方式确定高速缓存存储器110中的经预取数据线的数目(如与高速缓存存储器110中的数据线的总体数目相比)来追踪预取命中。高速缓冲存储器控制器108可使用第一计数器302对经预取数据线进行计数,或其可配置有用于追踪所述信息的其它计数器和/或寄存器。在任一种情况下,经预取数据线的计数与数据线的总体计数的比较仍在以下意义上反映出预取命中率:如果预取命中相对不频繁,那么高速缓存存储器110中的经预取数据线的数目将由于数据高速缓冲存储器替换策略而随时间减小。
谨记上述实施例和其它变化,如本文中所教导的数据高速缓冲存储器预取控制广泛地包含追踪预取命中和追踪总体命中,使得从预取启用条件的转变是基于预取命中,且从预取停用条件的转变是基于总体命中。在至少一个实施例中,如果预取命中率落在界定停用阈值以下,那么停用预取,且如果总体命中率落在界定启用阈值以下,那么启用预取。所存储的指示符可用以表示哪些数据线被预取,且各种计数器或其它寄存器可用以预取命中和总体命中追踪。
因此,尽管已在本文中相对于本发明的特定特征、方面和实施例来描述本发明,但应明了,在本发明的广泛范围内众多变化、修改和其它实施例是可能的,且因此,所有变化、修改和实施例将被认为是在本发明的范围内。本发明实施例因此在所有方面应被理解为是说明性的而非限制性的,且希望在所附权利要求书的有意义和等效范围内的所有改变包含于其中。
Claims (26)
1.一种控制对数据高速缓冲存储器的数据预取的方法,其包含:
当启用了数据预取时,追踪对所述数据高速缓冲存储器的预取命中,且基于对预取命中的所述追踪来选择性地停用对所述数据高速缓冲存储器的数据预取;以及
当停用了数据预取时,追踪对所述数据高速缓冲存储器的总体命中,且基于对总体命中的所述追踪来选择性地启用对所述数据高速缓冲存储器的数据预取;
结合停用对所述数据高速缓冲存储器的数据预取,通过将用于追踪所述数据高速缓冲存储器的所述总体命中的第一追踪机制复位来实施第一控制滞后。
2.根据权利要求1所述的方法,其进一步包含结合启用对所述数据高速缓冲存储器的数据预取,通过将用于追踪所述预取命中的第二追踪机制复位来实施第二控制滞后。
3.根据权利要求1所述的方法,其中追踪对所述数据高速缓冲存储器的预取命中包含追踪预取命中率,所述预取命中率反映涉及经预取数据线的对所述数据高速缓冲存储器的命中的百分数,且其中追踪对所述数据高速缓冲存储器的总体命中包含追踪对所述数据高速缓冲存储器的总体命中率。
4.根据权利要求3所述的方法,其中追踪所述预取命中率包含追踪所述数据高速缓冲存储器中的经预取数据线的数目与所述数据高速缓冲存储器中的数据线的总体数目的关系。
5.根据权利要求3所述的方法,其进一步包含存储指示所述数据高速缓冲存储器中的哪些数据线为经预取数据线的指示符,且使用所述所存储指示符来检测对所述数据高速缓冲存储器的预取命中以追踪所述预取命中率。
6.根据权利要求3所述的方法,其中追踪所述预取命中率包含响应于检测到对经预取数据线的数据高速缓冲存储器命中而使第一计数增加一,和响应于检测到未对经预取数据线的数据高速缓冲存储器命中而使所述第一计数减小一,且其中追踪所述总体命中率包含响应于数据高速缓冲存储器命中而使第二计数增加一和响应于数据高速缓冲存储器未命中而使所述第二计数减小一。
7.根据权利要求6所述的方法,其中基于对预取命中的所述追踪来停用对所述数据高速缓冲存储器的数据预取包含在如所述第一计数的值所指示所述预取命中率落到界定停用阈值时停用对所述数据高速缓冲存储器的数据预取。
8.根据权利要求6所述的方法,其中基于对总体命中的所述追踪来启用对所述数据高速缓冲存储器的数据预取包含在如所述第二计数的值所指示所述总体命中率落到界定启用阈值时启用对所述数据高速缓冲存储器的数据预取。
9.根据权利要求6所述的方法,其进一步包含结合启用数据高速缓冲存储器预取,通过将所述第一计数复位来实施用于控制数据高速缓冲存储器预取的启用滞后。
10.根据权利要求6所述的方法,其进一步包含在经配置以在相应第一最大计数值和第二最大计数值处饱和的第一饱和计数器和第二饱和计数器中维持所述第一计数和所述第二计数。
11.根据权利要求1所述的方法,其中追踪所述预取命中包含追踪第一计数器中的预取命中率,所述预取命中率反映对所述数据高速缓冲存储器中的经预取数据线的数据高速缓冲存储器命中的百分数,且其中追踪所述总体命中包含追踪第二计数器中的总体命中率,所述总体命中率反映数据高速缓冲存储器命中对数据高速缓冲存储器未命中的总体百分数。
12.根据权利要求1所述的方法,其进一步包含初始化所述数据高速缓冲存储器以在数据高速缓冲存储器预取被启用的情况下开始操作。
13.根据权利要求1所述的方法,其进一步包含只有在启用数据预取时才根据一个或一个以上界定预取策略将数据线预取到所述数据高速缓冲存储器中,和不管是否启用数据预取都响应于数据高速缓冲存储器未命中将数据线获取到所述数据高速缓冲存储器中。
14.一种控制对数据高速缓冲存储器的数据预取的设备,其包含:
用于当启用了数据预取时,追踪对所述数据高速缓冲存储器的预取命中,且基于对预取命中的所述追踪来选择性地停用对所述数据高速缓冲存储器的数据预取的装置;
用于当停用了数据预取时,追踪对数据高速缓冲存储器的总体命中,且基于对总体命中的所述追踪来选择性地启用对所述数据高速缓冲存储器的数据预取的装置;及
用于结合停用对所述数据高速缓冲存储器的数据预取,复位用于追踪所述数据高速缓冲存储器的所述总体命中的第一追踪机制的装置。
15.根据权利要求14所述的设备,其进一步包含用于结合对所述数据高速缓冲存储器的数据预取,来复位用于追踪所述预取命中的第二追踪机制的装置。
16.根据权利要求14所述的设备,其中用于追踪对所述数据高速缓冲存储器的预取命中的装置包含用于追踪预取命中率的装置,所述预取命中率反映涉及经预取数据线的对所述数据高速缓冲存储器的命中的百分数;且用于追踪对所述数据高速缓冲存储器的总体命中的装置包含用于追踪对所述数据高速缓冲存储器的总体命中率的装置。
17.根据权利要求16所述的设备,其中用于追踪预取命中率的装置包含用于追踪所述数据高速缓冲存储器中的经预取数据线的数目与所述数据高速缓冲存储器中的数据线的总体数目的关系的装置。
18.根据权利要求16所述的设备,其进一步包含用于维持指示所述数据高速缓冲存储器中的哪些数据线为经预取数据线的指示符的装置,和用于使用所述指示符来检测对所述数据高速缓冲存储器的预取命中以追踪所述预取命中率的装置。
19.根据权利要求16所述的设备,其中用于追踪预取命中率的装置通过以下方式来追踪所述预取命中率:响应于检测到对经预取数据线的数据高速缓冲存储器命中而使第一计数器增加一,和响应于检测到未对经预取数据线的数据高速缓冲存储器命中而使所述第一计数器减小一;且通过以下方式来追踪所述总体命中率:响应于数据高速缓冲存储器命中而使第二计数器增加一,和响应于数据高速缓冲存储器未命中而使所述第二计数器减小一。
20.根据权利要求19所述的设备,其进一步包含用于在如所述第一计数器的值所指示所述预取命中率落到界定停用阈值时停用对所述数据高速缓冲存储器的数据预取的装置。
21.根据权利要求19所述的设备,其进一步包含用于在如所述第二计数器的值所指示所述总体命中率落到界定启用阈值时启用对所述数据高速缓冲存储器的数据预取的装置。
22.根据权利要求19所述的设备,其进一步包含用于结合启用数据高速缓冲存储器预取,通过将所述第一计数器复位来实施用于控制数据高速缓冲存储器预取的启用滞后的装置。
23.根据权利要求19所述的设备,其中所述第一计数器和所述第二计数器包含分别在第一最大计数值和第二最大计数值处饱和的第一饱和计数器和第二饱和计数器。
24.根据权利要求14所述的设备,其中用于追踪对所述数据高速缓冲存储器的预取命中的装置包含用于追踪第一计数器中的预取命中率的装置,所述预取命中率反映对所述数据高速缓冲存储器中的经预取数据线的数据高速缓冲存储器命中的百分数;且用于追踪对所述数据高速缓冲存储器的总体命中的装置包含用于追踪第二计数器中的总体命中率的装置,所述总体命中率反映数据高速缓冲存储器命中对数据高速缓冲存储器未命中的总体百分数。
25.根据权利要求14所述的设备,其进一步包含用于初始化所述数据高速缓冲存储器的装置,以在数据高速缓冲存储器预取被启用的情况下开始操作。
26.根据权利要求14所述的设备,其进一步包含用于只有在启用数据预取时才根据一个或一个以上界定预取策略将数据线预取到所述数据高速缓冲存储器中的装置,和用于不管是否启用数据预取都响应于数据高速缓冲存储器未命中将数据线获取到所述数据高速缓冲存储器中的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/775,320 US7917702B2 (en) | 2007-07-10 | 2007-07-10 | Data prefetch throttle |
US11/775,320 | 2007-07-10 | ||
PCT/US2008/069710 WO2009009704A1 (en) | 2007-07-10 | 2008-07-10 | Data prefetch throttle |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101689147A CN101689147A (zh) | 2010-03-31 |
CN101689147B true CN101689147B (zh) | 2013-05-15 |
Family
ID=39494443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800240012A Expired - Fee Related CN101689147B (zh) | 2007-07-10 | 2008-07-10 | 数据预取调节 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7917702B2 (zh) |
EP (1) | EP2015189B1 (zh) |
JP (1) | JP5095820B2 (zh) |
KR (1) | KR101095217B1 (zh) |
CN (1) | CN101689147B (zh) |
WO (1) | WO2009009704A1 (zh) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
KR100421538B1 (ko) * | 2001-01-29 | 2004-03-18 | 대한민국 | 생약재의 휘발성 추출물을 유효성분으로 하는 문화재 보존용 살생물제 조성물 및 그를 이용한 문화재 보존방법 |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
CN100539439C (zh) | 2002-10-05 | 2009-09-09 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码系统和方法 |
EP1665539B1 (en) * | 2003-10-06 | 2013-04-10 | Digital Fountain, Inc. | Soft-Decision Decoding of Multi-Stage Chain Reaction Codes |
CN101019326B (zh) | 2004-05-07 | 2013-02-27 | 数字方敦股份有限公司 | 文件下载和流系统 |
WO2006020826A2 (en) * | 2004-08-11 | 2006-02-23 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
US9136983B2 (en) | 2006-02-13 | 2015-09-15 | Digital Fountain, Inc. | Streaming and buffering using variable FEC overhead and protection periods |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9386064B2 (en) * | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US20100211690A1 (en) * | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
EP2203836A4 (en) | 2007-09-12 | 2014-11-05 | Digital Fountain Inc | GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS |
EP2329385A4 (en) | 2008-08-06 | 2016-09-14 | Movik Networks | CALLING CONTENT IN THE RADIO ACCESS NETWORK (RAN) |
EP2391953A4 (en) * | 2009-01-30 | 2012-08-08 | Movik Networks | APPLICATION, USE AND WIRELESS CONNECTING TRANSPORT NETWORK PLANNER |
US8364901B2 (en) * | 2009-02-13 | 2013-01-29 | Micron Technology, Inc. | Memory prefetch systems and methods |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US8443151B2 (en) * | 2009-11-09 | 2013-05-14 | Intel Corporation | Prefetch optimization in shared resource multi-core systems |
US8291171B2 (en) | 2009-11-30 | 2012-10-16 | Hewlett-Packard Development Company, L.P. | Altering prefetch depth based on ready data |
WO2011100518A2 (en) * | 2010-02-12 | 2011-08-18 | Movik Networks, Inc. | Charging-invariant and origin-server-friendly transit caching in mobile networks |
US8882378B2 (en) | 2010-02-15 | 2014-11-11 | Access Business Group International Llc | Heating and dispenser system |
WO2011115965A1 (en) * | 2010-03-15 | 2011-09-22 | Movik Networks | Adaptive chunked and content-aware pacing of multi-media delivery over http transport and network controlled bit rate selection |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
WO2012012334A2 (en) * | 2010-07-19 | 2012-01-26 | Movik Networks | Content pre-fetching and cdn assist methods in a wireless mobile network |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
WO2012040608A2 (en) | 2010-09-24 | 2012-03-29 | Movik Networks | Destination learning and mobility detection in transit network device in lte & umts radio access networks |
US8683129B2 (en) * | 2010-10-21 | 2014-03-25 | Oracle International Corporation | Using speculative cache requests to reduce cache miss delays |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9471321B2 (en) | 2011-03-30 | 2016-10-18 | Freescale Semiconductor, Inc. | Method and apparatus for controlling fetch-ahead in a VLES processor architecture |
US20130013867A1 (en) * | 2011-07-06 | 2013-01-10 | Advanced Micro Devices, Inc. | Data prefetcher mechanism with intelligent disabling and enabling of a prefetching function |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US20130262826A1 (en) * | 2011-10-06 | 2013-10-03 | Alexander Gendler | Apparatus and method for dynamically managing memory access bandwidth in multi-core processor |
CN102521158B (zh) * | 2011-12-13 | 2014-09-24 | 北京北大众志微系统科技有限责任公司 | 一种实现数据预取的方法及装置 |
US9043579B2 (en) | 2012-01-10 | 2015-05-26 | International Business Machines Corporation | Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest |
US8635406B2 (en) * | 2012-03-08 | 2014-01-21 | Arm Limited | Data processing apparatus and method for providing target address information for branch instructions |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
CN102662713B (zh) * | 2012-04-12 | 2014-04-16 | 腾讯科技(深圳)有限公司 | 提高应用程序运行速度的方法、装置及终端 |
US9390018B2 (en) | 2012-08-17 | 2016-07-12 | Advanced Micro Devices, Inc. | Data cache prefetch hints |
US9201796B2 (en) * | 2012-09-27 | 2015-12-01 | Apple Inc. | System cache with speculative read engine |
US9348753B2 (en) * | 2012-10-10 | 2016-05-24 | Advanced Micro Devices, Inc. | Controlling prefetch aggressiveness based on thrash events |
US20140108740A1 (en) * | 2012-10-17 | 2014-04-17 | Advanced Micro Devices, Inc. | Prefetch throttling |
US9367468B2 (en) | 2013-01-15 | 2016-06-14 | Qualcomm Incorporated | Data cache way prediction |
US9298634B2 (en) * | 2013-03-06 | 2016-03-29 | Gregory RECUPERO | Client spatial locality through the use of virtual request trackers |
US9223710B2 (en) * | 2013-03-16 | 2015-12-29 | Intel Corporation | Read-write partitioning of cache memory |
JP6191240B2 (ja) * | 2013-05-28 | 2017-09-06 | 富士通株式会社 | 変数更新装置、変数更新システム、変数更新方法、変数更新プログラム、変換プログラム、及びプログラム変更検証システム |
US9471510B2 (en) * | 2013-12-20 | 2016-10-18 | Netapp, Inc. | System and method for cache monitoring in storage systems |
US9292447B2 (en) | 2014-02-20 | 2016-03-22 | Freescale Semiconductor, Inc. | Data cache prefetch controller |
US20150286571A1 (en) * | 2014-04-04 | 2015-10-08 | Qualcomm Incorporated | Adaptive cache prefetching based on competing dedicated prefetch policies in dedicated cache sets to reduce cache pollution |
US9280476B2 (en) | 2014-06-04 | 2016-03-08 | Oracle International Corporation | Hardware stream prefetcher with dynamically adjustable stride |
US9256541B2 (en) | 2014-06-04 | 2016-02-09 | Oracle International Corporation | Dynamically adjusting the hardware stream prefetcher prefetch ahead distance |
US20160011790A1 (en) * | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
US10824335B2 (en) | 2014-07-14 | 2020-11-03 | Western Digital Technologies, Inc. | Device and method to store predicted data at a host memory |
US9507596B2 (en) * | 2014-08-28 | 2016-11-29 | Intel Corporation | Instruction and logic for prefetcher throttling based on counts of memory accesses to data sources |
TWI512609B (zh) * | 2014-09-05 | 2015-12-11 | Silicon Motion Inc | 讀取命令排程方法以及使用該方法的裝置 |
DE102015115582A1 (de) * | 2014-10-22 | 2016-04-28 | Imagination Technologies Limited | Vorrichtung und Verfahren zum Drosseln des Hardwarevorauslesens |
US9798900B2 (en) * | 2015-03-26 | 2017-10-24 | Intel Corporation | Flexible counter system for memory protection |
US9864661B2 (en) * | 2016-02-12 | 2018-01-09 | Hewlett Packard Enterprise Development Lp | Cache-accelerated replication of snapshots between storage devices |
JP6627629B2 (ja) * | 2016-04-14 | 2020-01-08 | 富士通株式会社 | 演算処理装置、および演算処理装置の制御方法 |
US10740260B2 (en) * | 2016-05-12 | 2020-08-11 | Lg Electronics Inc. | Cache self-clean engine |
US10379862B2 (en) | 2016-06-28 | 2019-08-13 | International Business Machines Corporation | Effectiveness and prioritization of prefeteches |
US9928176B2 (en) * | 2016-07-20 | 2018-03-27 | Advanced Micro Devices, Inc. | Selecting cache transfer policy for prefetched data based on cache test regions |
CN107783911B (zh) * | 2016-08-31 | 2021-06-08 | 华为技术有限公司 | 一种数据过滤方法及终端设备 |
US10474578B2 (en) * | 2017-08-30 | 2019-11-12 | Oracle International Corporation | Utilization-based throttling of hardware prefetchers |
US10303379B2 (en) | 2017-09-25 | 2019-05-28 | International Business Machines Corporation | Efficient adaptive read-ahead in log structured storage |
US11294810B2 (en) * | 2017-12-12 | 2022-04-05 | Advanced Micro Devices, Inc. | Memory request throttling to constrain memory bandwidth utilization |
US10613983B2 (en) * | 2018-03-20 | 2020-04-07 | Advanced Micro Devices, Inc. | Prefetcher based speculative dynamic random-access memory read request technique |
US11675591B2 (en) * | 2018-10-31 | 2023-06-13 | Advanced Micro Devices, Inc. | Selectively enabled result lookaside buffer based on a hit rate |
US11294595B2 (en) * | 2018-12-18 | 2022-04-05 | Western Digital Technologies, Inc. | Adaptive-feedback-based read-look-ahead management system and method |
US11327891B2 (en) * | 2019-09-20 | 2022-05-10 | Samsung Electronics Co., Ltd. | Prefetching operations in storage devices |
US11720364B2 (en) | 2020-03-27 | 2023-08-08 | Intel Corporation | Methods and apparatus to dynamically enable and/or disable prefetchers |
US11442864B2 (en) | 2020-06-29 | 2022-09-13 | Marvell Asia Pte, Ltd. | Managing prefetch requests based on stream information for previously recognized streams |
KR20220117747A (ko) | 2021-02-17 | 2022-08-24 | 삼성전자주식회사 | 데이터 프리페치 제어 기능을 갖는 스토리지 컨트롤러, 스토리지 컨트롤러의 동작 방법, 및 스토리지 장치의 동작 방법 |
KR20220120016A (ko) * | 2021-02-22 | 2022-08-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11853220B2 (en) * | 2021-10-14 | 2023-12-26 | Arm Limited | Prefetcher training |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570887A (zh) * | 2003-10-07 | 2005-01-26 | 威盛电子股份有限公司 | 预取数据控制器及其方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367656A (en) * | 1992-03-13 | 1994-11-22 | Bull Hn Information Systems Inc. | Controlling cache predictive prefetching based on cache hit ratio trend |
JPH07105092A (ja) * | 1993-09-30 | 1995-04-21 | Sharp Corp | 記憶装置 |
US5983324A (en) * | 1996-03-28 | 1999-11-09 | Hitachi, Ltd. | Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof |
US6247107B1 (en) * | 1998-04-06 | 2001-06-12 | Advanced Micro Devices, Inc. | Chipset configured to perform data-directed prefetching |
US20020073406A1 (en) * | 2000-12-12 | 2002-06-13 | Darryl Gove | Using performance counter profiling to drive compiler optimization |
US6983356B2 (en) * | 2002-12-19 | 2006-01-03 | Intel Corporation | High performance memory device-state aware chipset prefetcher |
US6978349B1 (en) * | 2003-01-09 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Adaptive cache memory management |
US7237068B2 (en) * | 2003-01-28 | 2007-06-26 | Sun Microsystems, Inc. | Computer system employing bundled prefetching and null-data packet transmission |
US7055016B2 (en) * | 2003-04-30 | 2006-05-30 | Sun Microsystems, Inc. | Computer system including a memory controller configured to perform pre-fetch operations |
WO2005076181A1 (en) | 2004-02-05 | 2005-08-18 | Dal-Hyun Cho | Information buying and selling system |
US7162567B2 (en) * | 2004-05-14 | 2007-01-09 | Micron Technology, Inc. | Memory hub and method for memory sequencing |
US7313654B2 (en) * | 2004-10-27 | 2007-12-25 | Xiv Ltd | Method for differential discarding of cached data in distributed storage systems |
US20060174228A1 (en) * | 2005-01-28 | 2006-08-03 | Dell Products L.P. | Adaptive pre-fetch policy |
US20070239940A1 (en) * | 2006-03-31 | 2007-10-11 | Doshi Kshitij A | Adaptive prefetching |
-
2007
- 2007-07-10 US US11/775,320 patent/US7917702B2/en not_active Expired - Fee Related
-
2008
- 2008-03-25 EP EP08005493.5A patent/EP2015189B1/en not_active Not-in-force
- 2008-07-10 JP JP2010516253A patent/JP5095820B2/ja not_active Expired - Fee Related
- 2008-07-10 WO PCT/US2008/069710 patent/WO2009009704A1/en active Application Filing
- 2008-07-10 CN CN2008800240012A patent/CN101689147B/zh not_active Expired - Fee Related
- 2008-07-10 KR KR1020107000480A patent/KR101095217B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570887A (zh) * | 2003-10-07 | 2005-01-26 | 威盛电子股份有限公司 | 预取数据控制器及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101689147A (zh) | 2010-03-31 |
EP2015189B1 (en) | 2015-07-29 |
JP2010532904A (ja) | 2010-10-14 |
US20090019229A1 (en) | 2009-01-15 |
KR20100022518A (ko) | 2010-03-02 |
KR101095217B1 (ko) | 2011-12-20 |
US7917702B2 (en) | 2011-03-29 |
WO2009009704A1 (en) | 2009-01-15 |
JP5095820B2 (ja) | 2012-12-12 |
EP2015189A1 (en) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101689147B (zh) | 数据预取调节 | |
JP6855642B1 (ja) | プリフェッチャベースの投機的ダイナミックランダムアクセスメモリ読み出し要求技術 | |
US7865669B2 (en) | System and method for dynamically selecting the fetch path of data for improving processor performance | |
US6983356B2 (en) | High performance memory device-state aware chipset prefetcher | |
US9256541B2 (en) | Dynamically adjusting the hardware stream prefetcher prefetch ahead distance | |
US20090006813A1 (en) | Data forwarding from system memory-side prefetcher | |
US20130013867A1 (en) | Data prefetcher mechanism with intelligent disabling and enabling of a prefetching function | |
EP3676713B1 (en) | Utilization-based throttling of hardware prefetchers | |
US20080320228A1 (en) | Method and apparatus for efficient replacement algorithm for pre-fetcher oriented data cache | |
Khan et al. | Improving cache performance using read-write partitioning | |
US20070239940A1 (en) | Adaptive prefetching | |
Khan et al. | Improving cache performance by exploiting read-write disparity | |
GB2544474A (en) | Event triggered programmable prefetcher | |
US8667221B2 (en) | Detection of streaming data in cache | |
DE102013202995A1 (de) | Energieeinsparung in Verzweigungsvorhersagen | |
US20140229682A1 (en) | Conditional prefetching | |
DE102013202992A1 (de) | Energieeinsparung bei Verzweigungsvorhersage | |
US9280476B2 (en) | Hardware stream prefetcher with dynamically adjustable stride | |
US10073785B2 (en) | Up/down prefetcher | |
US20060179240A1 (en) | System and method for algorithmic cache-bypass | |
Swain et al. | Analysis and predictability of page replacement techniques towards optimized performance | |
Olson et al. | Probabilistic Directed Writebacks for Exclusive Caches | |
Dafre et al. | Pattern based cache management policies | |
US8244980B2 (en) | Shared cache performance | |
OnurMutlu et al. | DRAM-Aware Last-Level Cache Replacement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130515 Termination date: 20180710 |
|
CF01 | Termination of patent right due to non-payment of annual fee |