用于非易失性主存储器系统中的自适应高速缓存更换的装置、系统和方法_4

文档序号:8269297阅读:来源:国知局
标签。通过说明而 非限制的方式,标签阵列510可以包括对应于高速缓存行520的行525的标签x 515。在 实施例中,标签x 515存储指定行525是否为高速缓存行520中的最近最少使用的一个的 值LRU。可替换地或附加地,标签x 515可以存储一个或多个状态值,其每一个特定于扇区 S1、S2…SZ中的相应一个。
[0051] 通过说明而非限制的方式,标签x 515可以存储用于扇区S1的值 +s uvalid和S umy,它们分别指定扇区S1的数据是否有效以及扇区S1的数据是否 脏。标签x 515可以类似地存储用于S2的对应值S2 JsVaM^JsDirty,用于扇区SZ的值 SX_IsValkJ、SZ_lsDirty和/或任何各种附加的或可替换的扇区特定状态信息。在实施例中, 根据常规高速缓存一致性和/或其它高速缓存管理技术来存储和/或维护标签x 515的一 些信息。
[0052] 高速缓存更换策略在实施例中可以包括基于标签阵列510中的信息来评估一 些或所有高速缓存行520。例如,高速缓存更换单元140可以响应于策略单元150对 高速缓存更换策略的标识而施行高速缓存行520的一个或多个评估,其中每一个评估 根据相应高速缓存更换标准。通过说明而非限制的方式,这样的评估可以包括基于 +S1JsValid S2JWalid.…SZJsValid的计数来计算被分类为有效的行525中的总数据量。 可替换地或附加地,这样的评估可以包括基于SlJ+sDirty.SZJsDuly?…,SZJsDirt》'的计数 来计算被分类为脏的行525中的总数据量。基于一个或多个这样的计算,高速缓存更换单 元140 (或者其它这样的逻辑)可以确定行X 525是否满足高速缓存更换策略的标准。例 如,这样的计数可以与诸如T_lowl和T_low2中的一个的阈值的值进行比较。
[0053] 图6示出根据一个实施例的用于确定高速缓存更换的说明性计算机平台600的元 件。计算机平台600可以例如包括计算机的硬件平台,诸如服务器、工作站、台式计算机、膝 上型计算机、手持式计算机(例如平板、掌上电脑、手机、媒体播放器等)和/或其它这样的计 算机系统。可替换地,实施例可以在一个或多个嵌入式应用中实现,其中例如嵌入式处理器 实现自适应地实现不同高速缓存更换策略的操作,其中每一个高速缓存更换策略选择用于 收回的高速缓存行。这样的自适应高速缓存更换可以应用于处理器609的高速缓存608和 /或计算机平台600的任何其它高速缓存。
[0054] 在实施例中,计算机平台600包括由说明性总线601表示的用于传送信息的至少 一个互连和用于处理这样的信息的处理器609,例如中央处理单兀。处理器609可以包括复 杂指令集计算机(CISC)型架构、精简指令集计算机(RISC)型架构和/或任何各种处理器架 构类型的功能性。处理器609可以经由总线601与计算机平台600的一个或多个其它组件 耦合。通过说明而非限制的方式,计算机平台600可以包括由耦合到总线601的说明性的 非易失性主存储器604表示的随机存取存储器(RAM)或其它动态存储设备以存储要由处理 器609执行的信息和/或指令。主存储器604还可以用于在处理器609执行指令期间存储 临时变量或其它中间信息。计算机平台600可以附加地或可替换地包括只读存储器(ROM) 606和/或其它静态存储设备以存储用于处理器609的静态信息和/或指令,例如其中ROM 606经由总线601耦合到处理器609。
[0055] 在实施例中,计算机平台600附加地或可替换地包括例如经由总线601耦合到处 理器609的数据存储设备607 (例如,磁盘、光盘和/或其它机器可读媒介)。数据存储设备 607可以例如包括要在处理器609上操作和/或以其它方式由处理器609访问的指令或其 它信息。在实施例中,处理器609可以基于对主存储器604的访问(例如失速写入访问)来 施行高速缓存更换策略评估。
[0056] 计算机平台600可以附加地或可替换地包括用于将信息显示给计算机用户的显 示设备621。显示设备621可以例如包括帧缓冲器、专用图形渲染设备、阴极射线管(CRT)、 平板显示器等。附加地或可替换地,计算机平台600可以包括输入设备622,例如包括字母 数字和/或其它按键以接收用户输入。附加地或可替换地,计算机平台600可以包括光标 控制设备623,诸如鼠标、追踪球、笔、触摸屏或者光标方向键以将位置、选择或其它光标信 息传送给处理器609和/或以控制例如在显不设备621上的光标移动。
[0057] 计算机平台600可以附加地或可替换地具有硬拷贝设备624,诸如将指令、数据或 其它信息打印在诸如纸张、膜或相似类型的媒介之类的介质上的打印机。附加地或可替换 地,计算机平台600可以包括声音录制/回放设备625,诸如接收和/或输出音频信息的麦 克风或扬声器。计算机平台600可以附加地或可替换地包括数字视频设备626,诸如数字化 图像的静止或运动相机。
[0058] 在实施例中,计算机平台600包括或耦合到网络接口 690以用于例如经由一个或 多个天线695将计算机平台600连接到一个或多个网络(未示出)。这样的一个或多个网络 可以例如包括专用存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、虚拟LAN(VLAN)、因特 网和/或任何各种其它类型的网络。通过说明而非限制的方式,网络接口 690可以包括网 络接口卡(NIC)、诸如偶极子天线之类的天线、或者无线收发器中的一个或多个,但是本发 明的范围不受这方面的限制。
[0059] 在一个方面中,装置包括含有评估逻辑的策略单元以确定用于到非易失性存储器 的写入的性能度量的值,其中非易失性存储器和高速缓冲存储器每一个存储用于由一个或 多个处理器访问的相应数据。策略单元还包括策略参数逻辑以基于性能度量的值来确定更 换策略的参数值。策略单元基于参数值来生成指示更换策略的信号,其中高速缓存更换单 元选择用于收回的高速缓冲存储器的行,其中基于所述信号根据更换策略来选择该行。
[0060] 在实施例中,度量描述对非易失性存储器的写入的失速。在实施例中,度量是失速 写入访问的数目。在实施例中,度量是在具有等于时间窗口参数值的长度的时间段内的失 速写入访问的数目。在实施例中,确定参数值的策略参数逻辑包括将访问的数目与访问的 阈值数目比较的策略参数逻辑。在实施例中,参数值是用于优先化高速缓冲存储器的行的 阈值的值。在实施例中,参数是用于脏扇区的数目或有效扇区的数目的阈值的值。在实施 例中,策略参数逻辑生成用于从脏感知更换策略和最近最少使用更换策略转变的信号。
[0061] 在另一方面中,方法包括确定针对到非易失性存储器的写入的性能度量的值,其 中非易失性存储器和高速缓冲存储器每一个存储用于由一个或多个处理器访问的相应数 据。方法还包括基于性能度量的值确定更换策略的参数值,以及基于参数值生成指示更换 策略的信号,其中,基于该信号,根据更换策略选择高速缓冲存储器的行以用于收回。
[0062] 在实施例中,度量描述对非易失性存储器的写入的失速。在实施例中,度量是失速 写入访问的数目。在实施例中,度量是在具有等于时间窗口参数值的长度的时间段内的失 速写入访问的数目。在实施例中,确定参数值包括将访问的数目与访问的阈值数目相比较。 在实施例中,参数值是用于优先化高速缓冲存储器的行的阈值的值。在实施例中,参数是用 于脏扇区的数目或有效扇区的数目的阈值的值。在实施例中,生成信号以用于从脏感知更 换策略和最近最少使用更换策略转变。
[0063] 在另一方面中,计算机系统包括一个或多个处理器核、高速缓冲存储器和非易失 性存储器,其中每一个用于存储由一个或多个处理器访问的相应数据。计算机系统还包括 策略单元,其包含确定针对到非易失性存储器的写入的性能度量的值的评估逻辑以及基于 性能度量的值来确定更换策略的参数值的策略参数逻辑。策略单元基于参数值来生成指 示更换策略的信号。计算机系统还包括稱合到策略单元的高速缓存更换单元,该高速缓存 更换单元选择用于收回的高速缓冲存储器的行,其中基于所述信号根据更换策略来选择该 行。
[0064] 在实施例中,度量描述对非易失性存储器的写入的失速。在实施例中,度量是失速 写入访问的数目。在实施例中,度量是在具有等于时间窗口参数值的长度的时间段内的失 速写入访问的数目。在实施例中,确定参数值的策略参数逻辑包括将访问的数目与访问的 阈值数目比较的策略参数逻辑。在实施例中,参数值是用于优先化高速缓冲存储器的行的 阈值的值。在实施例中,参数是用于脏扇
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1