CN104981785B - 用于具有受限的写入承受能力的存储器的集合内耗损均衡的方法和设备 - Google Patents

用于具有受限的写入承受能力的存储器的集合内耗损均衡的方法和设备 Download PDF

Info

Publication number
CN104981785B
CN104981785B CN201480007156.0A CN201480007156A CN104981785B CN 104981785 B CN104981785 B CN 104981785B CN 201480007156 A CN201480007156 A CN 201480007156A CN 104981785 B CN104981785 B CN 104981785B
Authority
CN
China
Prior art keywords
cache memory
row
counter
write
threshold value
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
CN201480007156.0A
Other languages
English (en)
Other versions
CN104981785A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104981785A publication Critical patent/CN104981785A/zh
Application granted granted Critical
Publication of CN104981785B publication Critical patent/CN104981785B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明描述用于延长具有受限的写入承受能力的存储器的可用寿命的有效技术。用于耗损均衡高速缓冲存储器的技术解决致使大量写入高速缓冲存储行比所述高速缓冲存储器中的其它行较快失效的高速缓冲存储行上的不平衡写入业务量。针对到高速缓冲存储器阵列的每一写入操作,递增计数器。从所述高速缓冲存储器收回由致使所述计数器满足阈值的当前写入操作所影响的行而非将数据写入到所述受影响行。可取决于操作程序作出对所述阈值的动态调整。归因于所述计数器满足所述阈值,停止对当前替代策略指标的更新。

Description

用于具有受限的写入承受能力的存储器的集合内耗损均衡的 方法和设备
技术领域
本发明大体上涉及处理系统方面,且尤其涉及用以延长具有受限的写入承受能力的存储器的可用寿命的方法和设备。
背景技术
许多便携式产品(例如,蜂窝电话、膝上型计算机、个人数据助理(PDA)和其类似者)利用执行程序(例如,通信和多媒体程序)的处理系统。用于此类产品的处理系统可包含多个处理器、包含用于存储指令和数据的多层级高速缓冲存储器和存储器的复合存储器系统、控制器、例如通信接口的外围装置和配置(例如)于单芯片上的固定功能逻辑块。同时,便携式产品具有呈电池形式的受限的能量来源,所述电池常常要求支持由处理系统进行的高性能操作和随着功能性增加而越来越大存储器容量。为改善电池寿命,期望尽可能有效地执行这些操作。然而,常用存储器平台(例如,静态随机存取存储器(SRAM)和嵌入式动态随机存取存储器(eDRAM))的按比例调整越来越受到泄漏功率和单元密度约束。此类问题扩展到也开发有有效设计以通过减少的总能量消耗进行操作的个人计算机产品。
数个存储器技术(例如,快闪存储器、磁阻式随机存取存储器(MRAM)、相变存储器(PCM)、电阻性RAM(ReRAM)和其它)对可执行于装置的写入操作数目具有各种限制,之后存储器单元开始磨损且失效。基于空间和时间局部性原理且以高数据速率操作的例如高速缓冲存储器的存储器在程序之间展示高速缓冲存储行存取的广泛变化且可具有经历极高速率的写入存取的单元。举例来说,具有多个数据集合(每一集合划分于多个可选高速缓冲存储通路中且集合中的每一通路保存高速缓冲存储行)的集合关联高速缓冲存储器取决于在执行程序在每一集合内经历不同写入存取模式。而且,集合中的行之间的写入存取变化可极大且可在系统操作期间动态地变化。
举例来说,8通路集合关联64千字节高速缓冲存储器可建构有每集合八个32字节高速缓冲存储行的256个集合且每一通路存取一个高速缓冲存储行。此高速缓冲存储器可用于便携式装置(例如,蜂窝电话、平板计算机、膝上型计算机和其类似者)中的1级数据高速缓冲存储器中。在用于程序X的八个通路集合关联高速缓冲存储器中,相比对不同高速缓冲存储通路(例如,通路7)中的数据行的写入存取,对通路2中的数据行的写入存取可较频繁多个数量级地发生。因此,相比通路7中的存储器行和高速缓冲存储器中具有低于通路2的写入存取速率的写入存取速率的大部分其它行,高速缓冲存储器内部的通路2的存储器行可较早失效。存储器耗损承受能力影响每一层级的存储器层次(例如,1级、2级和3级高速缓冲存储器、快闪存储器和系统存储器),但在每一层级和每一装置中影响不同程度。在处理器以吉兆赫(GHz)频率执行的情况下,高速缓冲存储器经历可特定于高速缓冲存储器中的行的大量写入存取,且因此此局部性存取可致使系统过快地接近高速缓冲存储器的写入极限。由于任何高速缓冲存储行可取决于在执行程序经历高写入操作且并不提前知道此高速缓冲存储行热点,因此用于监视每一高速缓冲存储行以确定高速缓冲存储器集合中的哪个高速缓冲存储行受到影响且应重定位以减少耗损的成本可过高。
发明内容
在本发明的若干方面当中,本发明认识到提供用于集合内耗损均衡的更有效方法和设备延长具有受限的写入承受能力的存储器的可用寿命。为此,本发明的实施例提出一种用于耗损均衡高速缓冲存储器的方法。针对到所述高速缓冲存储器的每一写入操作,递增计数器。从所述高速缓冲存储器收回由致使所述计数器满足阈值的当前写入操作所影响的行。归因于所述计数器满足所述阈值,停止到由所述当前写入操作所影响的所述行的所述当前写入。
另一实施例提出一种用于耗损均衡高速缓冲存储器的设备。具有多个通路的高速缓冲存储器耦合到将数据写入到所述高速缓冲存储器的处理器复合体。写入阈值电路和计数器电路经配置以计数到所述高速缓冲存储器的写入操作且基于所述写入阈值电路中的比较,当所述计数器电路已达到阈值时产生指示。行清空电路经配置以响应于所述指示而从所述高速缓冲存储器收回由所述当前写入操作所影响的行。替代策略电路经配置以响应于所述指示而停止用以改变当前行替代策略指标的更新。
另一实施例提出一种经编码有计算机可读程序数据和代码的计算机可读非暂时性媒体。针对到高速缓冲存储器的每一写入操作,递增计数器。从所述高速缓冲存储器收回由致使所述计数器满足阈值的当前写入操作所影响的行。归因于所述计数器满足所述阈值,停止到由所述当前写入操作所影响的所述行的所述当前写入。
又一实施例提出一种用于耗损均衡高速缓冲存储器的设备。利用用于将数据写入到耦合到处理器复合体的具有多个通路的高速缓冲存储器的装置。利用用于计数到所述高速缓冲存储器的写入操作且当所述计数器已达到阈值时产生指示的装置。利用用于响应于所述指示而从所述高速缓冲存储器收回由所述当前写入操作所影响的行的装置。利用用于响应于所述指示而停止用以改变当前行替代策略指标的更新的装置。
应理解,所属领域的技术人员从以下详细描述将容易地显而易见本发明的其它实施例,其中作为说明来展示和描述本发明的各种实施例。如将认识到,本发明能够具有其它和不同实施例且其若干细节能够在各种其它方面加以修改,以上所有均不脱离本发明的精神和范围。因此,附图和具体实施方式应被视为本质上是说明性的而不是限制性的。
附图说明
在随附图式中作为实例而非限制说明本发明的各种方面,其中:
图1说明本发明的实施例可有利地利用的示范性高速缓冲存储器系统;
图2说明用于耗损均衡的有利过程;和
图3说明具有经配置以延长便携式装置存储器系统中的耗损承受能力的处理器复合体的便携式装置的特定实施例。
具体实施方式
希望下文结合随附图式所阐述的详细描述作为对本发明的各种示范性实施例的描述,且不希望表示可实践本发明的仅有实施例。详细描述包含为提供对本发明的全面理解目的的特定细节。然而,所属领域的技术人员将显而易见,可在没有这些特定细节的情况下实践本发明。在一些情况下,为了避免混淆本发明的概念,以框图形式来展示众所周知的结构和组件。
图1说明本发明的实施例可有利地利用的示范性存储器系统100。存储器系统100包含高速缓冲存储器102(例如,数据高速缓冲存储器)、下一层级高速缓冲存储器103、系统存储器105和处理器复合体106。系统存储器105提供对高速缓冲存储器102或下一层级高速缓冲存储器103中未发现的指令和数据的存取。应注意,高速缓冲存储器102和下一层级高速缓冲存储器103可与处理器复合体106集成在一起。系统存储器105也可与处理器复合体106集成在一起或单独耦合到处理器复合体106。处理器复合体106可包含一或多个处理器(例如,双或四处理器系统)。高速缓冲存储器102说明为表示1级数据高速缓冲存储器的N通路集合关联高速缓冲存储器,且在此状况下,下一层级高速缓冲存储器103将为2级(L2)高速缓冲存储器。应注意,取决于每一层级的存储器层次处所使用的存储器类型,本文中所描述的耗损均衡技术也适用于L2高速缓冲存储器和3级(L3)高速缓冲存储器。系统存储器105大体上经历不同于高速缓冲存储器中所经历的耗损均衡形式的耗损均衡形式。高速缓冲存储器102包括具有高速缓冲存储器写入计数器110、写入阈值电路111、地址标签选择器电路114、行清空电路115和替代策略电路116的高速缓冲存储器控制电路108以用于在高速缓冲存储器102中实施耗损均衡。高速缓冲存储器102还包括通路1 1181、通路2 1182……通路N118N。每一通路经配置有包括通路1 1181中的标签122和行123的例如集合i 120的集合且每一通路1182……118N经类似配置。
用于耗损均衡高速缓冲存储器的技术解决致使大量写入高速缓冲存储行比高速缓冲存储器中的其它行较快失效的高速缓冲存储行上的不平衡写入业务量。也应注意,到大容量存储器(例如,具有受限的写入承受能力的系统存储器105)中的存储块的写入业务量也可不平衡,并致使大量写入存储块比大容量存储器中的其它存储块更早失效。为解决具有受限的写入承受能力的高速缓冲存储器中的此耗损均衡问题,提供用以计数到高速缓冲存储器的写入操作且当已达到写入阈值时产生指示的装置。举例来说,高速缓冲存储器写入计数器110经配置以在高速缓冲存储器控制电路108的控制下针对每一高速缓冲存储器写入操作递增计数。在达到或超出写入计数阈值(也被称作行清空阈值(FT))之后,(例如)由用以从高速缓冲存储器清空行的装置(例如,由行清空电路115所提供)收回当前写入操作下的高速缓冲存储行。通常,当指示行为最近最少使用(LRU)行且因此可用以重写时,从高速缓冲存储器清空行。在达到FT的状况下,提供用以停止更新此当前写入操作的高速缓冲存储行替换操作的装置。接着复位高速缓冲存储器写入计数器110以初始化计数器以准备用于下一高速缓冲存储器写入监视周期。将所收回高速缓冲存储行写入到下一层级高速缓冲存储器且每当再次存取所述高速缓冲存储行时,基于指示不同于所收回行的高速缓冲存储行的替代策略将其重新加载于高速缓冲存储器中的行中。
具体来说,当从较低层级高速缓冲存储器收回高速缓冲存储行时,所述高速缓冲存储行标记为无效,从而指示可用新内容填充所述无效行。可通过在与高速缓冲存储行相关联的标签中将有效位设定为无效状态而将高速缓冲存储行标记为无效。以标准操作收回的高速缓冲存储行大体上由替代策略(例如,最近最少使用(LRU)策略)识别为可用以重写。在无效之后,频繁使用的高速缓冲存储行有可能在后续未中同一高速缓冲存储行后重写所述频繁使用高速缓冲存储行。为避免所收回高速缓冲存储行的此重写问题,当高速缓冲存储器写入计数器已达到或超出计数阈值时,阻止对当前行替代策略指标的更新且并不更新指标。由于并未更新替代策略指标,因此当前LRU指标(例如)指向不同于所收回行的行。因此,所收回高速缓冲存储行保持为空直到所述行实际上变得最近最少使用为止。
举例来说,在图1中,在高速缓冲存储器102经配置以用于写入操作的情况下,处理器复合体106将地址130发布到高速缓冲存储器102。响应于写入操作,产生地址标签131并在标签比较电路124中将其相比于每一通路中的标签(例如,通路1 1181中的标签122)。如果标签比较匹配,那么标签比较电路124致使高速缓冲存储行选择电路125选择到通路(例如,与通路1 1181中的行123相关联)的路径并将数据132写入到所选择行123。也可将已使用位写入到标签122从而指示已修改行123中的数据。对于每一写入操作,递增高速缓冲存储器写入计数器110。可确定写入操作且可由当数据待写入到高速缓冲存储器中的特定通路和行时所产生的高速缓冲存储器控制电路108内部的写入信号递增高速缓冲存储器写入计数器。替代性地,高速缓冲存储器控制电路108可使用内部命令解码操作以设定指示所命令操作将带来写入操作或读取操作的位或内部信号状态。
将来自高速缓冲存储器写入计数器110的计数值相比于预设阈值(例如,写入阈值电路111中的FT)。在达到或超出阈值之后,通知行清空电路115且清空用于当前写入操作的高速缓冲存储行而非将数据写入到所选择行。将所收回行(例如,通路1 1181中的行123)写入到下一层级高速缓冲存储器103(例如,如果高速缓冲存储器102为1级数据高速缓冲存储器,那么为L2高速缓冲存储器)。在替代性实施例中,如果高速缓冲存储器102为L2高速缓冲存储器且处理器复合体106包含1级数据高速缓冲存储器,那么将所收回行写入到L3高速缓冲存储器。还通知替代策略电路116且并不更新例如最近最少使用(LRU)的替代策略。在将所收回高速缓冲存储行123重写到高速缓冲存储器102的稍后时间处,高速缓冲存储器控制电路108确保所收回高速缓冲存储行123写入到集合i 120中的不同位置(例如,通路2 1182到通路N 118N的其它通路中的一者中的行)。
程序越频繁地写入到高速缓冲存储行,当高速缓冲存储器写入计数器通过达到或超出预设阈值而饱和时将越可能选择所述高速缓冲存储行。历时操作周期,此耗损均衡技术为概率性的、收回热点高速缓冲存储行且将这些行重定位到不同高速缓冲存储器位置从而横跨高速缓冲存储器阵列提供很大程度的耗损均衡。因此,通过使用高速缓冲存储器写入存取的全局计数器,能在并不要求昂贵监视每一高速缓冲存储行的情况下以低成本达成很大程度的耗损均衡。而且,通过允许可设置写入计数阈值,可取决于操作程序作出阈值的动态调整。较小写入计数阈值带来较高频率的行无效,因此可动态地调谐阈值以提供可适于特定程序或程序集合的较平衡集合内写入分布。举例来说,当执行相比于先前操作程序在高速缓冲存储器中具有增加数目个热点的新程序时,减少用于所述高速缓冲存储器的写入计数器阈值以改善将写入操作减少到热点的几率且借此改善所述高速缓冲存储器的耗损承受能力。
在替代性实施例中,可将指示此高速缓冲存储行为概率性无效行且应延迟所收回行的再用的额外位添加到每一高速缓冲存储行的标签,而非将所收回高速缓冲存储行标记为无效且归因于所收回行而阻止替代策略更新。如果所选择LRU行具有此位集合,那么替代策略(例如,LRU)将选择不同行以用于收回。举例来说,可在到所述高速缓冲存储器集合的预定数目个成功高速缓冲存储行写入操作之后复位概率性无效行位或可在计时器控制下于预定时间周期之后复位所述概率性无效行位。
作为独立高速缓冲存储器芯片或固定经集成模块,高速缓冲存储器单元102可接收控制134以将阈值加载到写入阈值电路111。控制134可包含用于在初始化后或由操作于处理器复合体106上的程序确定的时间处加载阈值的串行输入路径。阈值可最初为硬编码于芯片或固定经集成模块上的默认阈值。接着,可根据在操作程序调整如加载于写入阈值电路111中的默认阈值。在替代性实施例中,以高速缓冲存储器102外部的硬件或操作于处理器复合体106上的程序中所译码的软件实施例如性能下降监视器或耗损效果监视器的监视器。内部高速缓冲存储器控制电路108接着从一或多个此类监视器接收指示应增加、降低或允许写入阈值电路111中的阈值与先前集合保持相同的信号。
图2说明用于耗损均衡的有利过程200。在框202处,监视高速缓冲存储器操作以用于发现写入操作。在决策框204处,作出是否已检测到高速缓冲存储器写入的确定。可在(例如)图1的高速缓冲存储器控制电路108中确定高速缓冲存储器写入操作。如果尚未识别高速缓冲存储器写入操作,那么过程200返回到框202。如果已识别出高速缓冲存储器写入操作,那么过程200前进到框206。在框206处,递增高速缓冲存储器写入计数器。在框208处,作出高速缓冲存储器写入计数器中的计数值是否等于或在替代性实施例中为已超出预设阈值(FT)的确定。如果确定计数值不等于或尚未超出预设阈值FT,那么过程200返回到框202。如果计数值等于或已超出预设阈值FT,那么过程200前进到框210。在框210处,复位高速缓冲存储器写入计数器、将已写入到所监视高速缓冲存储器的行替代地写入到下一层级高速缓冲存储器、使所监视高速缓冲存储器中的行无效且阻止对此写入的替代策略更新。过程200返回到框202。
图3说明具有经配置以延长装置300的存储器系统中具有受限的耗损承受能力的存储器的可用寿命的高速缓冲存储器控制器电路328的装置300的特定实施例。装置300可为无线电子便携式装置且包含耦合到具有软件指令318的系统存储器312的处理器复合体310。系统存储器312可包含图1的系统存储器105。处理器复合体310可包含处理器311、具有1级数据高速缓冲存储器(L1 Dcache)322、1级指令高速缓冲存储器(L1 Icache)324和高速缓冲存储器控制器电路328的集成式存储器子系统314。处理器复合体310可包含图1的处理器复合体106。集成式存储器子系统314还可包含2级(L2)通用高速缓冲存储器326。L1Dcache 322可包含图1的高速缓冲存储器102且L2通用高速缓冲存储器326可包含图1的下一层级高速缓冲存储器103,其中的每一者可具有受限的耗损承受能力。
集成式存储器子系统314可包含于处理器复合体310中或可实施为处理器复合体310外部的一或多个单独装置或电路系统(未展示)。在说明性实例中,处理器复合体310根据软件指令318且根据图1和2中所说明或与所述图式相关联的实施例中的任一者进行操作。举例来说,如图3中所展示,可在处理器复合体310内存取L1 Icache 326、L1 Dcache322和高速缓冲存储器控制器电路328,且处理器311经配置以存取存储于集成式存储器子系统314的存储器中或系统存储器312中的数据或程序指令。
照相机接口334耦合到处理器复合体310且还耦合到照相机(例如,摄像机336)。显示器控制器340耦合到处理器复合体310和显示装置342。编解码器(CODEC)344也可耦合到处理器复合体310。扬声器346和麦克风348可耦合到CODEC 344。无线接口350可耦合到处理器复合体310和无线天线352,使得可将经由天线352和无线接口350所接收的无线数据提供到双处理器311。
处理器311可经配置以执行从系统存储器312所存取且存储于非暂时性计算机可读媒体中的软件指令318,所述软件指令可执行以致使例如处理器311的计算机执行例如图2的过程200的程序。软件指令318进一步可执行以致使处理器311处理读取并写入存取集成式存储器子系统314的存储器和系统存储器312的指令。
在特定实施例中,处理器复合体310、显示器控制器340、系统存储器312、CODEC344、无线接口350和照相机接口334包含于系统级封装或芯片上系统装置304中。在特定实施例中,输入装置356和电力供应器358耦合到芯片上系统装置304。此外,在特定实施例中,如图3中所说明,显示装置342、输入装置356、扬声器346、麦克风348、无线天线352、摄像机336和电力供应器358处于芯片上系统装置304外部。然而,显示装置342、输入装置356、扬声器346、麦克风348、无线天线352、摄像机336和电力供应器358中的每一者可耦合到芯片上系统装置304的组件(例如,相关联接口或控制器)。
根据本文中所描述实施例的装置300可并入于多种电子装置中,例如机顶盒、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、平板计算机、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、视频播放器、数字视频播放器、数字视频光盘(DVD)播放器、便携式数字视频播放器、存储或检索数据或计算机指令的任何其它装置或其任何组合。
可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述功能的任一组合来实施或执行结合本文中所揭示实施例所描述的各种说明性逻辑块、模块、电路、元件或组件。处理器311可为通用处理器或在替代方案中,处理器311可为常规处理器、数字信号处理器、微控制器或状态机的组合。还可将处理器311实施为计算组件的组合,例如DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心的联合,或适合于所要应用的任何其它此类配置。
结合本文中所揭示实施例所描述的方法可直接体现于硬件中、由处理器执行的软件模块中或上述两者的组合中。软件模块可驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM,或本领域中已知的任何其它形式的非暂时性存储媒体中。非暂时性存储媒体可耦合到处理器,使得处理器可从非暂时性存储媒体读取信息并将信息写入到非暂时性存储媒体。在替代方案中,非暂时性存储媒体可集成到处理器。
图1的处理器复合体106或图3的处理器311(例如)可经配置以执行指令,所述指令包含从存储于直接本地相关联于处理器311(例如,可通过指令高速缓冲存储器可用)抑或可通过输入装置356或通过无线接口350存取的计算机可读非暂时性存储媒体上的耗损均衡程序所选择的指令。输入装置356或无线接口350还可存取驻留于直接本地相关联于处理器(例如,L1 Icache 324、L1 Dcache 322、L2高速缓冲存储器326)抑或可从另一处理器存储器存取的存储器装置中的数据。计算机可读非暂时性存储媒体可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、快闪存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘(CD)、数字视频磁盘(DVD)、其它类型的可装卸磁盘或任何其它合适的非暂时性存储媒体。
虽然在用于处理器系统的说明性实施例的上下文中揭示本发明,但将认识到可由所属领域的一般技术人员利用符合上文论述和下文接着的权利要求书的广泛多种实施方案。举例来说,固定功能实施方案也可利用本发明的各种实施例。

Claims (19)

1.一种用于耗损均衡高速缓冲存储器的方法,所述方法包括:
针对到所述高速缓冲存储器的每一写入操作,递增计数器;
从所述高速缓冲存储器收回由致使所述计数器满足阈值的当前写入操作所影响的行;和
响应于所述计数器满足所述阈值,复位所述计数器并停止对当前替代策略指标的更新。
2.根据权利要求1所述的方法,其中所述阈值为相比于当计数值匹配所述阈值时提供指示的所述计数器的计数值输出的程序可设置值。
3.根据权利要求1所述的方法,其中将下一个存取的所述行写入到不同于先前从其所收回的所述高速缓冲存储行的高速缓冲存储行。
4.根据权利要求1所述的方法,其中所述所收回行是从所述高速缓冲存储器中的所定址通路集合中的通路所选择,且将下一个存取的所述行写入到所述所定址通路集合中的不同行。
5.根据权利要求1所述的方法,其进一步包括:
复位所述计数器以初始化所述计数器以准备用于随后高速缓冲存储器写入监视周期。
6.根据权利要求1所述的方法,其进一步包括:
将所述所收回行写入到下一层级高速缓冲存储器,其中所述高速缓冲存储器为1级高速缓冲存储器且所述下一层级高速缓冲存储器为2级高速缓冲存储器。
7.根据权利要求1所述的方法,其进一步包括:
将所述所收回行写入到下一层级高速缓冲存储器,其中所述高速缓冲存储器为2级高速缓冲存储器且所述下一层级高速缓冲存储器为3级高速缓冲存储器。
8.根据权利要求1所述的方法,其进一步包括:
将由致使所述计数器满足所述阈值的所述当前写入操作所影响的所述行标记为无效,其中所述无效标记致使从所述高速缓冲存储器收回所述行。
9.一种用于耗损均衡高速缓冲存储器的设备,所述设备包括:
高速缓冲存储器,其具有多个通路,耦合到控制写入操作以将数据写入到所述高速缓冲存储器的处理器复合体;
写入阈值电路和计数器电路,其经配置以计数到所述高速缓冲存储器的所述写入操作且当基于所述计数器电路的计数输出与阈值的比较,所述计数器电路已达到阈值时产生指示;
行清空电路,其经配置以响应于所述指示而从所述高速缓冲存储器收回由当前写入操作所影响的行;和
替代策略电路,其经配置以响应于所述指示而停止用以改变当前行替代策略指标的更新。
10.根据权利要求9所述的设备,其中所述阈值为相比于当所述计数值匹配所述阈值时提供所述指示的所述计数器电路的计数值输出的程序可设置值。
11.根据权利要求9所述的设备,其中所述阈值为存储于所述写入阈值电路中且在操作中根据程序调整的默认值。
12.根据权利要求9所述的设备,其中将下一个存取的所述行写入到不同于先前从其所收回的所述高速缓冲存储行的高速缓冲存储行。
13.根据权利要求9所述的设备,其中所述所收回行是从所述高速缓冲存储器中的所定址通路集合中的通路所选择,且将下一个存取的所述行写入到所述所定址通路集合中的不同行。
14.根据权利要求9所述的设备,其中复位所述计数器电路以初始化所述计数器电路以准备用于随后高速缓冲存储器写入监视周期。
15.根据权利要求9所述的设备,其进一步包括:
1级高速缓冲存储器,其经配置为所述高速缓冲存储器;和
2级高速缓冲存储器,其经配置为下一层级高速缓冲存储器,其中将所述所收回行写入到所述2级高速缓冲存储器。
16.根据权利要求9所述的设备,其进一步包括:
2级高速缓冲存储器,其经配置为所述高速缓冲存储器;和
3级高速缓冲存储器,其经配置为下一层级高速缓冲存储器,其中将所述所收回行写入到所述3级高速缓冲存储器。
17.根据权利要求9所述的设备,其中每一高速缓冲存储行的标签中包含无效行位以指示此高速缓冲存储行为概率性无效行且应延迟所述所收回行的再用。
18.一种经编码有计算机可读程序数据和代码的计算机可读非暂时性媒体,所述程序数据和代码在被执行时可操作以:
针对到高速缓冲存储器的每一写入操作,递增计数器;
从所述高速缓冲存储器收回由致使所述计数器满足阈值的当前写入操作所影响的行;和
响应于所述计数器满足所述阈值,复位所述计数器并停止对当前替代策略指标的更新。
19.一种用于耗损均衡高速缓冲存储器的设备,所述设备包括:
用于将数据写入到耦合到处理器复合体的具有多个通路的高速缓冲存储器的装置;
用于计数到所述高速缓冲存储器的写入操作且在已达到写入阈值时产生指示的装置;
用于响应于所述指示而从所述高速缓冲存储器收回由当前写入操作所影响的行的装置;和
用于响应于所述指示而停止用以改变当前行替代策略指标的更新的装置。
CN201480007156.0A 2013-02-19 2014-02-18 用于具有受限的写入承受能力的存储器的集合内耗损均衡的方法和设备 Expired - Fee Related CN104981785B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/769,965 2013-02-19
US13/769,965 US9292451B2 (en) 2013-02-19 2013-02-19 Methods and apparatus for intra-set wear-leveling for memories with limited write endurance
PCT/US2014/016993 WO2014130483A1 (en) 2013-02-19 2014-02-18 Methods and apparatus for intra-set wear-leveling for memories with limited write endurance

Publications (2)

Publication Number Publication Date
CN104981785A CN104981785A (zh) 2015-10-14
CN104981785B true CN104981785B (zh) 2018-01-23

Family

ID=50277311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480007156.0A Expired - Fee Related CN104981785B (zh) 2013-02-19 2014-02-18 用于具有受限的写入承受能力的存储器的集合内耗损均衡的方法和设备

Country Status (6)

Country Link
US (1) US9292451B2 (zh)
EP (1) EP2959391B1 (zh)
JP (1) JP6046277B2 (zh)
KR (1) KR101668054B1 (zh)
CN (1) CN104981785B (zh)
WO (1) WO2014130483A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150010717A (ko) * 2012-04-27 2015-01-28 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 메모리 디바이스의 보호
US9348743B2 (en) 2013-02-21 2016-05-24 Qualcomm Incorporated Inter-set wear-leveling for caches with limited write endurance
US9176856B2 (en) * 2013-07-08 2015-11-03 Arm Limited Data store and method of allocating data to the data store
US10331537B2 (en) * 2016-12-23 2019-06-25 Advanced Micro Devices, Inc. Waterfall counters and an application to architectural vulnerability factor estimation
JP2018160060A (ja) 2017-03-22 2018-10-11 東芝メモリ株式会社 メモリシステム
US11074018B2 (en) * 2017-04-06 2021-07-27 International Business Machines Corporation Network asset management
US10572286B2 (en) 2017-04-26 2020-02-25 International Business Machines Corporation Memory access optimization in a processor complex
US10592451B2 (en) 2017-04-26 2020-03-17 International Business Machines Corporation Memory access optimization for an I/O adapter in a processor complex

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1294489A (en) 1970-05-12 1972-10-25 Solartron Electronic Group Linearizing circuit
US3772595A (en) 1971-03-19 1973-11-13 Teradyne Inc Method and apparatus for testing a digital logic fet by monitoring currents the device develops in response to input signals
US7035967B2 (en) 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7046174B1 (en) 2003-06-03 2006-05-16 Altera Corporation Byte alignment for serial data receiver
US8112574B2 (en) 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
US7237067B2 (en) * 2004-04-22 2007-06-26 Hewlett-Packard Development Company, L.P. Managing a multi-way associative cache
US7568068B2 (en) * 2006-11-13 2009-07-28 Hitachi Global Storage Technologies Netherlands B. V. Disk drive with cache having volatile and nonvolatile memory
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
JP4470186B2 (ja) 2006-12-12 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
US20100115175A9 (en) 2006-12-18 2010-05-06 Zhiqing Zhuang Method of managing a large array of non-volatile memories
US8543742B2 (en) 2007-02-22 2013-09-24 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
FR2913785B1 (fr) 2007-03-13 2009-06-12 St Microelectronics Sa Gestion de memoire tampon circulaire
KR100857761B1 (ko) 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
US8762620B2 (en) 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US8275945B2 (en) 2008-02-05 2012-09-25 Spansion Llc Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer
US8095724B2 (en) 2008-02-05 2012-01-10 Skymedi Corporation Method of wear leveling for non-volatile memory and apparatus using via shifting windows
US20100185816A1 (en) 2009-01-21 2010-07-22 Sauber William F Multiple Cache Line Size
US8255613B2 (en) 2009-04-30 2012-08-28 International Business Machines Corporation Wear-leveling and bad block management of limited lifetime memory devices
JP2012013733A (ja) 2010-06-29 2012-01-19 Renesas Electronics Corp 表示装置の駆動回路
US8356153B2 (en) 2010-11-19 2013-01-15 International Business Machines Corporation Adaptive wear leveling via monitoring the properties of memory reference stream
US20120311228A1 (en) * 2011-06-03 2012-12-06 Advanced Micro Devices, Inc. Method and apparatus for performing memory wear-leveling using passive variable resistive memory write counters
JP2014530422A (ja) * 2011-10-27 2014-11-17 ▲ホア▼▲ウェイ▼技術有限公司 バッファマッピングを制御するための方法およびバッファシステム
EP2662774A4 (en) * 2011-10-27 2014-01-08 Huawei Tech Co Ltd METHOD FOR CONTROLLING BUFFER MAPPING AND BUFFER SYSTEM
US9665233B2 (en) * 2012-02-16 2017-05-30 The University Utah Research Foundation Visualization of software memory usage
US9348743B2 (en) 2013-02-21 2016-05-24 Qualcomm Incorporated Inter-set wear-leveling for caches with limited write endurance

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Enhancing Lifetime and Security of PCM-Based;Moinuddin K. Qureshi等;《international symposium on microarchitecture》;20091209;全文 *

Also Published As

Publication number Publication date
JP6046277B2 (ja) 2016-12-14
EP2959391B1 (en) 2017-05-17
EP2959391A1 (en) 2015-12-30
KR20150121046A (ko) 2015-10-28
JP2016510475A (ja) 2016-04-07
US9292451B2 (en) 2016-03-22
US20140237191A1 (en) 2014-08-21
CN104981785A (zh) 2015-10-14
KR101668054B1 (ko) 2016-10-20
WO2014130483A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
CN104981785B (zh) 用于具有受限的写入承受能力的存储器的集合内耗损均衡的方法和设备
US10521003B2 (en) Method and apparatus to shutdown a memory channel
CN103988183B (zh) 2级存储器分级结构中的存储器侧高速缓存的动态部分断电
US9069657B2 (en) LBA bitmap usage
US7814276B2 (en) Data cache architecture and cache algorithm used therein
US10789160B2 (en) Utilizing different data storage policies in response to different characteristics of data
CN104216665B (zh) 多层单元固态硬盘的存储管理方法
CN102495806B (zh) 相变内存周期性磨损均衡方法及其内存管理方法
CN106326134A (zh) Ftl地址映射的方法及装置
CN105339910B (zh) 在混合驱动器中的虚拟nand容量扩展
US11194737B2 (en) Storage device, controller and method for operating the controller for pattern determination
CN104572478A (zh) 数据存取方法和数据存取装置
TW201232260A (en) Semiconductor storage device
CN107003810B (zh) 存储器耗损平均
US20140019674A1 (en) Memory system including nonvolatile and volatile memory and operating method thereof
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
CN106557428A (zh) 数据存储设备的映射系统选择
CN102419734B (zh) 一种数据存储的方法及装置
US20190317694A1 (en) Memory management method, memory storage device and memory control circuit unit
CN103488585A (zh) 用于实现可重构系统中配置信息缓存更新的控制器
CN106980471A (zh) 一种提高智能设备的硬盘写入性能的方法及装置
Lin et al. History-aware page replacement algorithm for NAND flash-based consumer electronics
CN105138294B (zh) 一种硬盘设备及信息处理方法
CN105608014B (zh) 一种使用mram的存储设备
CN105653468B (zh) 一种使用mram的存储设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20180123

Termination date: 20190218