CN108228475B - 用于存储器损耗均衡的方法和装置 - Google Patents

用于存储器损耗均衡的方法和装置 Download PDF

Info

Publication number
CN108228475B
CN108228475B CN201711216621.3A CN201711216621A CN108228475B CN 108228475 B CN108228475 B CN 108228475B CN 201711216621 A CN201711216621 A CN 201711216621A CN 108228475 B CN108228475 B CN 108228475B
Authority
CN
China
Prior art keywords
address
power
logical
memory
physical
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.)
Active
Application number
CN201711216621.3A
Other languages
English (en)
Other versions
CN108228475A (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.)
ARM Ltd
Original Assignee
ARM Ltd
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 ARM Ltd filed Critical ARM Ltd
Publication of CN108228475A publication Critical patent/CN108228475A/zh
Application granted granted Critical
Publication of CN108228475B publication Critical patent/CN108228475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0059Security or protection circuits or methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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
    • G06F2212/1036Life time enhancement
    • 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/1056Simplification
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Engineering (AREA)

Abstract

提供了一种用于存储器损耗均衡的方法和装置。通过将每个逻辑存储器地址映射到相应的物理存储器地址来实现损耗均衡。映射信息在电源周期的通电时段是一致的,但是从一个电源周期到另一个电源周期是变化的。映射信息(例如,键值)可以存储在非易失性存储器(例如,相关电子随机开关(CES)存储元件)中。映射可以通过操纵逻辑地址的位来获得物理地址被获得。

Description

用于存储器损耗均衡的方法和装置
技术领域
本公开涉及存储器或其他存储介质的损耗均衡。
背景技术
存储单元通常具有有限的擦除/写入能力。损耗均衡的过程旨在通过防止存储器的任何一个区域比任何其他区域更频繁地使用来降低存储器阵列中过早失效的可能性。
此外,存储器单元,甚至那些被认为是易失性的存储器单元,已经显示出具有一些非易失性“剩磁(remanence)”特性。即使在断电周期之后,剩磁特性也会导致从先前存储的值中获得一些剩余信息。因此,通过探测存储器单元,可以部分地恢复长时间存储但已经经历断电周期的秘密键的位。存储器单元的复杂直接探测可能会导致安全漏洞。如果攻击者知道正在搜索的键或任何其他相关数据的物理位置,则攻击变得更容易。
发明内容
本申请的一个实施例提供了一种用于存储介质的损耗均衡的装置,其中装置在多个电源周期的通电时段期间被供应电力,并且装置包括:存储元件,存储元件在多个电源周期中的电源周期的断电时段或休眠时段期间存储键值;地址转换逻辑,被配置为将逻辑地址映射到存储介质中的物理地址,其中映射取决于键值;以及键更新逻辑,被配置为更新存储在存储元件中的键值;其中键值在多个电源周期中的一个或多个电源周期被更新,并且从逻辑地址到物理地址的映射在一个或多个电源周期中的一个电源周期到另一个电源周期是变化的。
本申请的另一实施例提供了一种控制电动设备的存储介质的使用的方法,方法包括:接收逻辑存储器地址;将逻辑存储器地址映射到存储介质中的物理存储器地址,其中映射取决于键值;在物理存储器地址处访问存储介质;以及在电动设备的一个或多个电源周期处更新键值。
附图说明
图1是根据本公开的一些实施例的用于存储介质的损耗均衡的方法的流程图。
图2是根据本公开的一些实施例的用于存储介质的损耗均衡的另一方法的流程图。
图3是根据本公开的一些实施例的用于存储介质的损耗均衡的又一方法的流程图。
图4是根据本公开的一些实施例的从逻辑存储器地址到物理存储器地址的映射的图示。
图5是根据本公开的一些实施例的从逻辑存储器地址到物理存储器地址的进一步映射的图示。
图6是根据本公开的一些实施例的用于存储介质的损耗均衡的装置的框图。
图7是根据本公开的另一实施例的用于存储介质的损耗均衡的装置的框图。
图8是根据本公开的又一实施例的用于存储介质的损耗均衡的装置的框图。
图9是根据本公开的又一实施例的用于存储介质的损耗均衡的装置的框图。
图10是根据本公开的实施例的多路复用器阵列的图示。
图11是根据本公开的某些实施例的地址转换逻辑的框图。
图12是根据本公开的某些实施例的相关电子开关(CES)存储元件的简化框图。
具体实施方式
虽然本发明容许有许多不同形式的实施例,但是在附图中示出并将在此详细描述具体实施例,应理解的是,本公开将被视为本发明的原理的示例而并非意在将本发明限制于所示出和描述的具体实施例。在下面的描述中,相似的附图标记可以用于描述附图的多个视图中的相同、相似或对应的部分。
在本文件中,诸如第一和第二,顶部和底部等的关系术语可以仅用于将一个实体或动作与另一个实体或动作区分开,而并不一定要求或暗示这些实体或动作之间的实际关系或顺序。术语“包括”、“包含”、“具有”或其任何其他变型旨在涵盖非排他性包含,使得包括一系列元件的过程、方法、物品或者设备不仅包括那些元件,而且可以包括没有明确列出或者这样的过程、方法、物品或者设备固有的其他元件。如果没有更多的限制,在“包括......一个”后面的元件不排除在包括该元件的过程、方法、物品或装置中存在另外的相同元件。
贯穿本文中所称的“一个实施例”、“某些实施例”、“实施例”、“实现方式”、“方面”或类似术语是指结合实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。因此,贯穿本说明书的这些短语的出现或者其各个位置不一定都指的是相同的实施例。此外,特定的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合,而没有限制。
如本文所使用的术语“或”应被解释为包含性的或意指任何一个或任何组合。因此,“A、B或C”是指“以下中的任何一种:A;B;C;A和B;A和C;B和C;A、B和C”。只有当元件、功能、步骤或行为的组合以某种方式本质地相互排斥的时候,才会出现这个定义的例外。此外,除非另外说明或从上下文中清楚,否则语法连词旨在表达连接的从句、句子、单词等的任意和所有的转折和连接组合。因此,术语“或”通常应该被理解为表示“和/或”等等。
在此提及的所有文献都通过引用整体并入本文。单数形式的所称术语应理解为包括复数形式的术语,反之亦然,除非另有明确说明或从正文中清楚。
除非另外指明,否则本文中的数值范围的叙述不旨在是限制性的,而是单独地指代落入该范围内的任何和所有的值,并且在这样的范围内的每个单独值被并入到说明书中,就如其在本文单独叙述。当伴随数值时,“大约”、“近似”、“基本上”等词被解释为表示偏离,如本领域普通技术人员应理解的,其对于预期目的可以令人满意地操作。值和/或数值的范围在本文中仅作为示例提供,并不构成对所描述的实施例的范围的限制。本文提供的任何和所有示例或示例性语言(“例如”,“诸如”等)的使用仅意在更好地阐述实施例,而不是对实施例的范围构成限制。说明书中的任何语言都不应被解释为指示任何对于实现实施例所必需的未要求保护的元件。
如本文所使用的,术语“耦合”、“连接”和/或类似的术语被一般地使用。应该理解,这些术语不旨在作为同义词。相反,“连接”通常用于指示例如两个或更多个部件处于直接物理接触,包括电接触;而“耦合”通常用于表示两个或更多个部件可能处于直接物理接触,包括电接触;然而,“耦合”一般还用于意指两个或更多个部件不一定直接接触,但是仍然能够合作和/或相互作用。术语“耦合”也通常例如在适当的上下文中理解为是指间接连接。
为了简单和清楚的说明,标号可以在附图中重复以指示对应或类似的元件。阐述了许多细节以供对本文描述的实施例的理解。实施例可以在没有这些细节的情况下实施。在其他情况下,公知的方法、过程和组件没有被详细描述以避免模糊所描述的实施例。该描述不被认为受限于这里所描述的实施例的范围。
在以下描述中,应该理解,诸如“第一”、“第二”、“顶部”、“底部”、“上”、“下”、“在...之上”、“在...下面”等是为方便起见的词语,不能被解释为限制性的词语。而且,术语“设备和装置”在本文中可以互换使用。
存储器单元通常具有有限的擦除/写入能力。损耗均衡的过程旨在通过防止存储器的任何一个区域比任何其他区域更频繁地使用来降低存储器阵列中过早失效的可能性。例如,存储器控制器可以维护查找表以将由主机系统使用的每个存储器逻辑块地址转换成存储器中的物理块地址。控制器的损耗均衡算法决定使用哪个物理块。查找表可以根据哪个存储块已被最少使用来更新。
本公开的特定特征涉及一种用于存储介质的损耗均衡的装置。本公开的其他特征涉及一种通过改变从逻辑存储器地址到物理存储器地址的映射来提供存储介质的损耗均衡的方法。映射信息可以本地存储在诸如相关电子开关(CES)存储器单元之类的非易失性存储器中。
在操作期间,电子装置或设备设置有电源。通常情况下,电源不连续,可能会关断。例如,电源可能会关断以节省能源。当初始提供电源时,该装置可以执行通电操作。类似地,当电源要被关断时,装置可以执行断电操作。另外,在“睡眠”操作期间,提供给装置的电力可以降低到低于正常操作所需的电力。电源周期包括电源接通操作和断电或休眠操作,也分别被称为断电时段或休眠时段。在通电操作之后,向装置供应电力,并且在电源周期的通电时段连续供电。电力供应在断电操作时中断,并且直到下一次通电操作才恢复。在休眠操作中,电力供应降低到低于操作水平,并且直到下一次通电操作才恢复正常操作。
在下文中,提到断电或掉电时段或操作的描述也应用于休眠时段或操作。
电子装置可以包括易失性存储器。易失性存储器可用于在电源周期的通电时段期间存储数据。但是,在断电操作之后,易失性存储器中的任何数据都将丢失。
通常,在装置的硬件处理器上执行的代码以类似的方式在电源周期的每个通电时段中使用诸如易失性存储器的存储介质。例如,可以按顺序分配存储器,使得在较低地址处的存储器比在较高地址处的存储器使用得多得多。结果,易失性存储器的一些区域比其他区域更频繁地使用。一些存储元件可能会在有限次数的擦除/写入周期之后耗尽并失效。因此,如果存储器的一部分比其他部分更频繁地使用,那么存储器可能会比所有部分被使用相似次数的情况更早失效。
损耗均衡的过程试图通过安排数据来解决这个限制,以使存储器访问在存储介质上均匀分布。这样不会由于高度集中的擦除/写入周期造成介质的单个部分过早地失效。
除了改善的使用寿命之外,易失性存储器的损耗均衡可被期望改进安全性。
根据本公开的各种实施例,损耗均衡通过将逻辑存储器地址映射到物理存储器地址来实现。映射信息在电源周期的通电时段内是一致的,但其从一个电源周期到另一个电源周期是变化的。诸如键值之类的映射信息被存储在诸如例如相关电子开关(CES)存储器单元的非易失性存储器中。对于易失性存储器,断电操作后所有数据都将丢失,因此映射更改时不需要移动数据。映射可以是例如从逻辑存储器地址到物理存储器地址的1对1双射映射(排他和一对一)。映射可以通过操纵逻辑地址的位以获得物理地址来获得。这避免了需要存储大的查找表。例如,可以翻转地址的一些位,或者修改位的顺序,或者其组合。
根据本公开的一些实施例,提供了一种用于控制电动设备的易失性存储器或其他存储介质的使用的方法。在该方法中,逻辑存储器地址被接收并被映射到易失性存储器或其他存储介质中的物理存储器地址。该映射取决于存储在非易失性存储器中的键值。然后在物理存储器地址访问易失性存储器或其他存储介质。存储在非易失性存储器中的键值可以在电动设备的每个电源周期或者在多个电源周期之后(例如,每第n个电源周期)被更新。
图1是用于易失性存储器或其他存储介质的损耗均衡的方法100的流程图。如果在判定框102处检测到新的电源周期,则在框104处更新键值并在框106处将其保存到非易失性存储器。非易失性存储器可以是在电源断开时保留所存储值的任何存储器。例如,包括闪速存储器、CES存储器、电池支持的存储器等。如果接收到在特定逻辑存储器地址访问易失性存储器的请求,如来自判定框108的肯定分支所示,则在块110将逻辑存储器地址映射到物理存储器地址。映射取决于所存储的键值。在框112,在物理存储器地址访问易失性存储器。对于随后的存储器访问请求重复该过程,并且在每个电源周期或者多个电源周期之后更新键值。更新可以在加电、掉电、休眠操作时或者在电源周期的通电时段期间每隔一段时间执行。由于易失性存储器的内容在掉电时丢失,因此键值更改时不需要重新组织存储器。该方法也可以用于非易失性存储器;然而,在每次更改映射时,要在电源周期之间保留的值必须重新组织。
可以使用各种方法来更新键值。例如,在第一种方法中,当前电源周期中的物理地址可以被移位以从在前一个电源周期中使用的最后一个物理地址开始。例如,如果主要使用前几个存储器块,这可能是有用的。使用的最后地址(最近使用的(MRU)地址)存储在诸如CES存储元件的非易失性存储器中。非易失性存储器保留来自前一加电操作的MRU地址。在操作中,将MRU地址与逻辑地址相加以获得新的物理地址。当前加电操作的MRU地址可以在每个地址操作中、在每N个周期(以节省写入功率)之后或周期性地连续更新。在一个实施例中,地址加法器可以在整个地址的一部分,例如在最高有效位(MSB))上操作,以降低复杂度并使加法器延迟开销最小化。因此,键值可以包括在电源周期的通电时段结束时访问的物理存储器地址的一个或多个位。
在该实施例中,键值包括地址偏移值,并且通过将逻辑地址与地址偏移值相加来将逻辑存储器地址映射到物理存储器地址。存储在非易失性存储器中的键值在电动设备的每个电源周期被更新,包括通过在电源周期的通电时段结束时将最近访问的物理存储器地址存储在非易失性存储器中。
图2是用于易失性存储器或其他存储介质的损耗均衡的方法200的流程图。在该实施例中,如上所述,键值等于或来自前一个电源周期中最近使用的物理地址。当在判定框202检测到掉电操作时,在框204处将键值更新为最近使用的地址或从其导出的值。在框206将键值或从其导出的值保存到非易失性存储器。如果接收到在特定逻辑存储器地址处访问易失性存储器的请求,如来自判定框208的肯定分支所描绘的,则在块210将逻辑存储器地址映射到物理存储器地址。通过将最近使用的地址(所存储的键值)与逻辑地址相加以提供物理地址来实现映射。加法操作通过地址空间大小按模执行,以确保生成的物理地址在地址空间内。在框212,在物理存储器地址处访问易失性存储器。对于随后的存储器访问请求重复该过程,并且在每个电源周期,或者多个电源周期之后更新键值。更新可以在掉电或睡眠时执行。最近使用的地址可以在电源周期的通电时段期间每隔一段时间进行保存。最近保存的地址或其最高有效位可以直接使用。或者,可以将偏移量与最近保存的地址相加。
在第二种方法中,通过对逻辑存储器地址进行加扰来获得物理存储器地址。例如,加扰可以通过双射函数来执行。在这种方法中,键值生成总线“加扰器”。加扰器可以是诸如计数器、线性反馈移位寄存器(LFSR)、散列函数、密码原语或物理不可克隆函数(PUF)等的双射函数。“加扰器”在每次加电之后(或者在多次加电操作之后)以及任何存储器访问开始之前被评估一次或多次。装置加电时,加扰器的值保持不变。一旦加扰器被更新,在一个或多个周期后,键值被更新以将值保存在加扰器中。在另一个实施例中,键值是加扰器状态的函数。物理地址可以通过逻辑存储器地址的位和加扰器的位之间的XOR(或XNOR)操作来创建。为了额外的安全性,可以使用更复杂的函数,例如密码原语,来使映射成为键值的函数。用于这种安全转换的键可以使用所存储的键值位来生成。
图3示出了用于易失性存储器或其他存储介质的损耗均衡的方法300的流程图。如果在判定框302检测到新的电源周期,则在框304更新加扰器。该键值与加扰器的状态相关并且在框306被保存到非易失性存储器。加扰器可以是例如伪随机数发生器。非易失性存储器可以是当电源断开时保留所存储值的任何存储介质。示例包括快闪存储器、CES存储器、电池支持的存储器等。如果接收到在特定逻辑存储器地址处访问易失性存储器的请求,如来自判定框308的肯定分支所示,则在框310逻辑存储器地址映射到物理存储器地址。该映射可以例如通过在加扰器的输出和逻辑地址之间执行按位XOR运算来实现。因此,映射取决于所存储的键值。在框312,在物理存储器地址访问易失性存储器。对于随后的存储器访问请求,重复该过程,并且在每个电源周期或在多个周期之后更新键值。加扰器更新可以在加电或掉电时执行。由于易失性存储器的内容在掉电时丢失,因此不需要重新组织存储器。这种方法可以用于非易失性存储器,然而,每次更改映射时,必须重新组织电源周期之间要保留的值。
在该实施例中,将逻辑存储器地址映射到物理存储器地址包括在加扰器中对逻辑存储器地址进行加扰,并且该键值包括加扰器的状态。在电源周期更新存储在非易失性存储器中的键值包括从当前状态产生加扰器的下一个状态。
地址加扰器可以是例如计数器、线性反馈移位寄存器(LFSR)、散列函数,密码源语或物理不可克隆函数(PUF)。
在第三种方法中,逻辑地址的位被重新排序以创建物理地址。例如,逻辑存储器地址到物理存储器地址的映射可以使用多路复用器阵列来实现。对于多路复用器阵列的每个多路复用器,逻辑存储器地址被输入到多路复用器,并且多路复用器根据键值被控制以选择逻辑存储器地址的一个位。所选择的逻辑存储器地址的一位被输出作为物理存储器地址的一位。多路复用器阵列可以配置成在逻辑存储器地址和物理存储器地址之间产生双射映射。
映射可以是双射映射并且是键值位的函数。键值位为下一次加电期间更新,可以在掉电前或加电后立即更新。可以经由一个或多个查找表或者通过操纵逻辑地址的一些或全部的位来执行映射。得到的物理地址可以是逻辑地址的置换。
在图4中示出了用于3位地址的映射的第一示例。图4示出了逻辑地址空间402和物理地址空间404。该映射是双射的,因为每个逻辑地址(LA)被映射到单个物理地址(PA),并且每个PA自单个LA进行映射。在这个例子中,映射406是通过在逻辑地址上加两个偏移以获得物理地址来实现的。因此,例如LA2被映射到PA4。加法通过模8运算来执行,例如,由于(7+2)模8=1,因此LA7被映射到PA1。
图5中示出了用于3位地址的映射的第二示例。图5再次示出了逻辑地址空间402和物理地址空间404。每个逻辑地址(LA)被映射到物理地址(PA)。在这个例子中,映射502是通过对逻辑地址进行加扰来实现的。通过在逻辑地址和加扰器值5(101二进制)之间执行按位XOR操作来获得加扰,以获得物理地址。因此,LA地址{0,1,2,3,4,5,6,7}分别被映射到物理地址{5,4,7,6,1,0,3,2}。XOR操作翻转逻辑地址的第一位和最后一位以获得物理地址。
图6是用于存储器或其他存储介质的损耗均衡的装置600的框图。在给定逻辑地址访问存储器的请求602被输入到地址转换逻辑604。地址转换逻辑604将逻辑地址映射到用于访问存储器或其他存储介质608的物理地址606。在一些实施例中,第一存储元件610在电源周期的断电时段期间存储键值612。地址转换逻辑604配置为根据键值612将逻辑地址602映射到存储器608中的物理地址606。键更新逻辑614配置为更新存储在第一存储元件610中的键值612。键值612在电源周期被更新,使得从逻辑存储器地址到物理存储器地址的映射从一个电源周期到另一个电源周期被改变。因此,键更新逻辑,例如响应于电源周期信号616,诸如通电复位或断电信号。
第一存储元件610可以包括非易失性存储器,诸如CES存储器。
图7是其中键值是地址偏移值的装置700的实施例的框图。在该实施例中,装置700的地址转换逻辑702包括具有作为输入的逻辑地址602和地址偏移值704的加法器。键更新逻辑706配置为在电源周期的通电时段结束时的掉电操作期间将最近使用的(MRU)物理地址708存储在第一存储元件610中。最近访问的物理地址708可以周期性地或者在掉电操作期间被更新。
可选地,地址偏移值704可以包括在电源周期的通电时段结束时访问的物理地址的一个或多个位。例如,可以使用一个或多个最高有效位(MSB)。
图8示出了该装置的另一个实施例800。该装置800包含地址加扰器。地址转换逻辑802在逻辑地址602和存储的键值612之间执行按位XOR操作以产生物理地址606。存储的键值612可以是加扰器804的当前状态。加扰器包括键更新逻辑,其自加扰器的当前状态产生下一个状态。
键更新逻辑可以是例如计数器、线性反馈移位寄存器(LFSR)、散列函数、密码源语或物理不可克隆函数(PUF)。地址转换逻辑可以配置为在逻辑地址602和键值612之间执行按位XOR或XNOR操作以提供物理地址606。
图9是该装置的另一个实施例900的框图。在该实施例中,地址转换逻辑包括多路复用器阵列902。多路复用器阵列902的每个多路复用器接收逻辑地址602作为输入,并且选择要输出的逻辑地址的一个位作为物理地址606的一个位。对要输出的逻辑地址的一个位的选择取决于所存储的键值612。多路复用器阵列902可以被配置为在逻辑地址602和物理地址606之间产生双射映射。在该实施例中,地址转换逻辑902配置为对逻辑地址602的位的位置进行加扰或重新排序以产生物理地址606。
例如,键值612可以在加电、睡眠或掉电操作期间进行更新。
在上述任何实施例中,第一存储元件、地址转换逻辑和键更新逻辑可以被嵌入集成电路中或者在单独的电路中实施。
图10是根据本公开的实施例的多路复用器阵列902的图示。多路复用器阵列902包括多个,即N个多路复用器1002,其中N是被重新排序的地址位的数量。每个多路复用器1002接收逻辑地址602(或逻辑地址的位的子集,诸如多个最高有效位)。每个多路复用器由键值612控制以选择逻辑地址LA的一个位作为输出。所选位提供物理地址606的一个位。在该图中,LA<0:N>1表示要重新排序的逻辑地址的N个位,并且PA<n>表示物理地址的第n位。
图11是根据本公开的某些实施例的地址转换逻辑604的框图。逻辑存储器地址602包含多个最高有效位(MSB’s)602’和多个最低有效位(LSB’s)602”。MSB’s被传递到MSB转换逻辑1102,MSB转换逻辑1102配置为依赖于键值612映射逻辑地址的MSB’s 602’到物理地址的MSB’s 606’。物理地址的MSB’s 606’在组合器1104中与逻辑地址的LSB’s602”组合以提供物理存储器地址606。如上所述,MSB转换逻辑1102可以配置为执行双射映射。该映射可以通过诸如查找表、多路复用器阵列、位的重定位、加扰、增加偏移量等或其组合之类的各种方式来实现。只映射MSB’s或只映射一个位的子集而不是全部的地址降低了转换逻辑的复杂性。
在不脱离本公开的情况下可以使用其他映射。
键值可以被存储在诸如CES存储元件的非易失性存储器中。
此外,受保护存储器单元可以是配置为形成相关电子随机存取存储器(CeRAM)的CES存储元件。CeRAM使用相关电子开关的阵列。
在这种情况下,CES可以表现出从导电/低电容状态到绝缘/高电容状态的突然转变,该转变由电子相关而不是固态结构相变(例如相变存储器(PCM)器件中的结晶/非晶态或如上所述的电阻式RAM器件中的丝状物形成和导电)引起。在一个方面,与熔化/固化或丝状物形成相比,CES中的突然导体/绝缘体转变可以响应于量子力学现象。在CES存储器件中的导电状态和绝缘状态之间的这种量子力学转变可以在若干方面中的任何一个中被理解。
从高电阻/电容到低电阻/电容的转变可以由装置的单一阻抗来表示。可变阻抗器件可以包括可变阻抗和可变电容两者的特性。例如,用于可变阻抗器件的等效电路在一个实施例中可以包括与可变电容器并联的可变电阻器。当然,可变阻抗器件可以包括基本上同质的CEM,其中CEM包括可变电容和可变电阻的特性。
在本公开的特定实施中,存储元件可以包括:包括CES的可变阻抗存储器单元;写入电路,用于根据提供给所述存储器件的信号将所述可变阻抗存储器单元置于第一阻抗状态或第二阻抗状态,其中CES的阻抗在所述第二阻抗状态下高于在所述第一阻抗状态下的阻抗;以及读取电路,用于感测存储器单元的状态并提供与感测到的存储器单元的状态相对应的电信号。在一个方面,第二存储器单元状态的CES的阻抗的电阻分量可以是第二存储器单元状态的阻抗的电阻分量的100倍以上。
在特定实施例中,CES存储元件可以被组合为相关随机存取存储器(CeRAM)。在此上下文中,CES设备包括材料,该材料可以至少部分地基于至少一部分材料在导电状态和绝缘状态之间的转变来在多个预定可检测的存储器状态之间转变。在这种情况下,“存储器状态”是指存储器装置的可检测状态,其指示值、符号、参数或条件,仅仅提供几个示例。存储元件的存储器状态可以至少部分地基于在读取操作中在存储元件的端子上检测到的信号来检测。此外,可以将存储元件置于特定的存储器状态,以通过在“写入操作”中在元件的端子上施加一个或多个信号来表示或存储特定值、符号或参数。
一些实施例可以用于读取存储在CES设备中的数据值。可以使用多种方法将数据写入CES设备,其例子在共同拥有的名称为“相关电子开关的可编程电压”的美国专利申请14/826,064的和/或共同拥有的名称为“相关电子开关的可编程电流”的美国专利申请14/826,091中有描述,这些专利申请通过引用结合在此。例如,可以通过控制CES设备上的电压和/或电流来写入数据。
如上所述,可以使用相关电子材料(CEM)来形成相关电子开关(CES),所述相关电子开关又可以用于形成存储器单元和/或逻辑器件。在这种情况下,CES可以表现出由电子相关而不是固态结构相变(例如相变存储器(PCM)器件中的晶体/非晶体或电阻式RAM器件中的丝状物形成和导电)引起的基本上突然的高/低阻抗转变。在一个方面,例如,与熔化/固化或丝状物形成相反,CES中的基本突然的导体/绝缘体转变可以响应于量子力学现象。在CES中的导电和绝缘状态之间和/或第一和第二阻抗状态之间的这种量子力学转变可以在若干方面中的任何一个中进行理解。如本文所使用的,术语“导电状态”、“较低阻抗状态”和/或“金属状态”可以互换,和/或有时可以被称为“导电/较低阻抗状态”。类似地,术语“绝缘状态”和“较高阻抗状态”在本文中可以互换使用,和/或有时可以被称为“绝缘/较高阻抗状态”。
在一个方面,绝缘/较高阻抗状态与导电/较低阻抗状态之间的相关电子开关材料的量子力学转变可以按照莫特(Mott)转变理解。在莫特转变中,如果出现莫特转变条件,则材料可以从绝缘/较高阻抗状态切换到导电/较低阻抗状态。莫特标准由(nC)1/3a≈0.26确定,其中nC是电子的浓度,“a”是玻尔(Bohr)半径。当达到临界载流子浓度而满足莫特标准时,莫特转变将发生并且CES的状态将从较高电阻/较高电容状态(即,绝缘/较高阻抗状态)变为较低电阻/较低电容状态(即,导电/较低阻抗状态)。
另一方面,莫特转变通过电子的局部化来控制。当载流子被局部化时,电子之间的强库仑相互作用将CEM的带分裂以产生绝缘体。当电子不再局部化时,弱的库仑相互作用占据主导地位,并且带分裂被去除,导致金属(导电)带。这有时被解释为“拥挤的电梯”现象。虽然电梯里只有几个人,但是人们可以轻松地移动,这类似于导电/较低阻抗状态。另一方面,当电梯达到一定的人群密度时,人们不能再移动,这就类似于绝缘/较高阻抗状态。然而,应该理解的是,为了说明的目的而提供的该经典解释,就像量子现象的所有经典解释一样,仅仅是不完全的类比,并且所要求保护的主题在这方面不受限制。
此外,除了改变电阻之外,从绝缘/较高阻抗状态切换到导电/较低阻抗状态还可能引起电容的变化。例如,CES可以包括可变电阻的属性以及可变电容的属性。也就是说,CES设备的阻抗特性可以包括电阻和电容两者。例如,在金属状态下,CEM可以具有基本为零的电场,并因此具有基本为零的电容。类似地,在绝缘/较高阻抗状态下(其中由于自由电子的密度较低,电子屏蔽可能非常不完美),外部电场可能能够穿透CEM,因此由于CEM的介电函数的物理变化,CEM将具有电容。因此,例如在CES中从绝缘/较高阻抗状态到导电/较低阻抗状态的转变可能导致电阻和电容两者的变化。
CES设备可以响应于CES设备的CEM的大部分体积中的莫特转变来切换阻抗状态。在一个实施例中,CES设备可以包括“大容量开关”。如本文所使用的,术语“大容量开关”指的是CES设备的CEM的至少大部分体积切换阻抗状态,诸如响应于莫特转变。例如,在一个实施例中,CES设备的CEM的基本上全部可以响应于莫特转变从绝缘/较高阻抗状态切换到导电/较低阻抗状态或从导电/较低阻抗状态切换到绝缘/较高阻抗状态。CEM可包含一种或多种过渡金属氧化物、一种或多种稀土氧化物、周期表的一个或多个f区元素的一种或多种氧化物、一种或多种稀土过渡金属氧化物钙钛矿、钇和/或镱,虽然要求保护的主题在这方面的范围不受限制。在一个实施例中,诸如CES设备的装置可以包括CEM,所述CEM包括从包含铝、镉、铬、钴、铜、金、铁、锰、汞、钼、镍、钯、铼,钌、银、锡、钛、钒和锌(其可以与阳离子例如氧或其他类型的配体连接)选出的一种或多种材料或其组合,尽管所要求保护的主题在这方面的范围不受限制。
CES设备可以包括夹在导电端子之间的CEM以形成可变的阻抗器装置。如此处所使用的,术语“相关电子开关”和“可变阻抗器”可以是可互换的。至少部分地通过在端子之间施加临界电压和临界电流,CEM可以在上述导电/较低阻抗状态和绝缘/较高阻抗状态之间转变。如上所述,作为施加的临界电压和施加的临界电流的结果,由于相关电子开关材料的量子力学转变,可变阻抗器设备中的CEM可以在第一阻抗状态和第二阻抗状态之间转变,如下所述更多的细节。而且,如上所述,可变阻抗器设备可以表现出可变电阻和可变电容两者的特性。
在特定实施例中,诸如CES设备的可变阻抗器设备可以包括CEM,该CEM可以至少部分地基于由于相关电子材料的量子力学转变造成的至少大部分的CEM在绝缘/较高阻抗状态和导电/较低阻抗状态之间的转变,来在多个可检测阻抗状态之间进行转变。例如,在一个实施例中,CES设备可以包括大容量开关,因为CES设备的基本上全部的CEM可以响应于莫特转变从绝缘/较高阻抗状态切换到导电/较低阻抗状态,或者从导电/较低阻抗状态转变成绝缘/较高阻抗状态。在这种情况下,“阻抗状态”是指表示值、符号、参数和/或条件的可变阻抗器件的可检测状态,仅提供一些示例。可以至少部分地基于在读取和/或感测操作中在CES设备的端子上检测到的信号来检测CES设备的阻抗状态。在另一个特定实施例中,CES设备可以被置于特定阻抗状态以表示或存储特定值、符号和/或参数,和/或例如通过应用在“写入”和/或“编程”操作中的CES设备的端子的一个或多个信号来实现CES设备的特定电容值。当然,所要求保护的主题不限于本文描述的特定示例实施例的范围。
示例CES/可变阻抗器设备可以包括可变电阻和可变电容二者的特性。尽管可变阻抗器设备可以包括基本上同质的CEM,但是用于可变阻抗器设备的等效电路可以包括与可变电容器并联的可变电阻器。
下面的表1描绘了示例可变阻抗器设备,例如CES设备的示例真值表。
电阻 电容 阻抗
R(V施加) C(V施加) Z(V施加)
R(V施加) C(V施加)~0 Z(V施加)
表1—相关电子开关真值表
可变阻抗器设备的电阻可以在较低电阻状态和较高电阻状态之间转变,其至少部分地是施加在CEM上的电压V施加的函数。较低电阻状态的电阻可以比较高电阻状态的电阻低10到100,000倍,尽管所要求保护的主题不限于这方面的范围。类似地,可变阻抗器设备的电容可以在较低电容状态和较高电容状态之间转变,其至少部分地为施加在CEM上的电压的函数,该较低电容状态对于示例实施例可以包括近似为零或者非常小的电容。而且,如表1所示,可变阻抗器设备从较高电阻/较高电容状态转变到较低电阻/较低电容状态可以表示为从较高阻抗状态到较低阻抗状态的转变。类似地,从较低电阻/较低电容状态到较高电阻/较高电容状态的转变可被表示为从较低阻抗状态到较高阻抗状态的转变。
图12是可编程相关电子开关(CES)设备1200的简化框图。CES设备包括含有CES元件1204(在此示为可变阻抗器,即具有可变电阻和可变电容的装置)和晶体管1206的可变阻抗存储器单元1202。提供给端子VL的电压被耦合到晶体管1206的栅极,并且当在端子VB处提供有偏置电压时,限制接地端子VS和偏置端子VB之间的电流流动。写入电路1208用于根据提供给写入电路的端子D处的存储器件的信号D_in将可变阻抗存储器单元1202置于第一阻抗状态或第二阻抗状态。在第二阻抗状态下的CES的阻抗比在第一阻抗状态下更高。写入电路1208的VB端提供CES两端的电压,而写入电路1208的VL端提供电压以控制流过CES的电流。这些电压根据在端子D处提供的D_in信号来控制。写入电路可以通过提供给写入电路1208的写入使能(WE)端子的信号来启用或禁用。读取电路1210被用于感测存储器单元的状态,并且对应于存储器单元1202的感测到的状态在端子D_out处提供电信号。读取电路1210的端子VL提供电压以打开晶体管1206的栅极,而读取电路1210的端子VB提供导致电流流过CES 1204的电压。所述电流在读取电路1210中被感测并用于选择在读取电路1210的端子D处提供的D_out信号的值。
对于本领域的普通技术人员来说显而易见的是,当装置掉电或进入睡眠模式时,可以使用其他非易失性存储器来存储键值。
尽管已经参考附图在本文中详细描述了说明性实施例,但是应当理解,本发明不限于那些精确的实施例,并且本领域技术人员可以在其中实现各种改变和修改,而不脱离由所附权利要求限定的本发明的范围或本质。
应该意识到,上面描述的装置、系统和方法是通过举例而非限制的方式来阐述的。在没有明确的相反表示的情况下,在不脱离本公开的范围的情况下,可以对所公开的步骤进行修改、补充、省略和/或重新排序。对于本领域的普通技术人员来说,许多变化、添加、省略和其他修改是显而易见的。另外,上面的描述和附图中的方法步骤的顺序或呈现并不旨在要求执行所述步骤的这个顺序,除非明确要求特定的顺序或者从上下文中清楚地得出其他顺序。
这里描述的实施方式的方法步骤旨在包括使得执行这样的方法步骤的任何合适的方法,与下面的权利要求的专利性一致,除非明确地提供了不同的含义或者从上下文中可清楚地得出不同的含义。因此,例如执行X包括用于使诸如远程用户、远程处理资源(例如,服务器或云计算机)或机器的另一方执行X的任何合适的方法。类似地,执行元件X、Y和Z可以包括指导或控制这些其他个人或资源的任何组合来执行元素X、Y和Z以获得这些步骤的益处的任何方法。因此,在此描述的实施方式的方法步骤旨在包括使得一个或多个其他方或实体执行与所附权利要求的专利性一致的步骤的任何合适的方法,除非明确地提供了不同的含义或者从上下文中可清楚地得出不同的含义。此类各方或实体不必受任何其他方或实体的指导或控制,也不必处于特定的管辖范围内。
应该进一步认识到,上面的方法是作为例子提供的。在没有明确的相反指示的情况下,在不脱离本公开的范围的情况下,可以修改、补充、省略和/或重新排序所公开的步骤。
应该意识到,上面描述的方法和系统是通过举例而非限制的方式来阐述的。对于本领域的普通技术人员来说,许多变化、添加、省略和其他修改是显而易见的。另外,上面的描述和附图中的方法步骤的顺序或呈现并不旨在要求执行所述步骤的这个顺序,除非明确要求特定的顺序或者从上下文中清楚地得出其他顺序。因此,尽管已经示出和描述了特定实施例,但是对于本领域技术人员来说显而易见的是,可以在其中进行形式和细节上的各种改变和修改而不脱离本公开的范围,并且旨在形成如以下权利要求所限定的公开内容的一部分,这些权利要求应以法律允许的最宽泛的含义来解释。
在此已经详细描述的各种代表性实施例已经通过示例而不是以限制的方式呈现。本领域的技术人员将会理解,可以对所描述的实施例的形式和细节进行各种改变,从而得到等同实施例,这些等同实施例仍然落在所附权利要求的范围内。
因此,公开的实施例的一些特征在以下编号的项中列出。
1.一种用于存储介质的损耗均衡的装置,其中装置在多个电源周期的通电时段期间被供应电力,并且装置包括:存储元件,存储元件在多个电源周期中的电源周期的断电时段或休眠时段期间存储键值;地址转换逻辑,被配置为将逻辑地址映射到存储介质中的物理地址,其中映射取决于键值;以及键更新逻辑,被配置为更新存储在存储元件中的键值;其中键值在多个电源周期中的一个或多个电源周期被更新,并且从逻辑地址到物理地址的映射在一个或多个电源周期中的一个电源周期到另一个电源周期是变化的。
2.如项1的装置,其中,存储元件包括非易失性存储器。
3.如项2的装置,其中,存储元件包括相关电子开关(CES)存储元件。
4.如项1的装置,其中:键值包括地址偏移值;地址转换逻辑包括具有逻辑地址和地址偏移值作为输入的加法器;并且键更新逻辑被配置为在电源周期的通电时段结束时将最近访问的物理地址存储在存储元件中。
5.如项1的装置,其中:键值包括地址偏移值;地址转换逻辑包括具有逻辑地址和地址偏移值作为输入的加法器;并且地址偏移值包括在电源周期的通电时段期间访问的物理地址的一个或多个位。
6.如项1的装置,其中:地址转换逻辑包括地址加扰器;键值包括加扰器的状态;并且键更新逻辑被配置为根据当前状态生成加扰器的下一个状态。
7.如项6的装置,其中,地址加扰器从以下加扰器组进行选择,包括:计数器;线性反馈移位寄存器(LFSR);散列函数;密码原语;以及物理不可克隆函数。
8.如项1的装置,其中,地址转换逻辑被配置为执行逻辑地址与键值之间的按位XOR或XNOR操作以提供物理地址。
9.如项1的装置,其中:地址转换逻辑包括多路复用器阵列;多路复用器阵列的每个多路复用器接收逻辑地址作为输入,选择逻辑地址的一个位,并且输出选择的位作为物理地址的一个位;并且对要输出的逻辑地址的一个位的选择取决于键值。
10.如项9的装置,其中,多路复用器阵列被配置为产生逻辑地址与物理地址之间的双射映射。
11.如项1的装置,其中,地址转换逻辑被配置为对逻辑地址的位位置进行加扰以产生物理地址。
12.如项1的装置,其中,键值响应于通电、断电或休眠操作而被更新。
13.如项1的装置,还包括存储介质,其中存储介质包括易失性存储器。
14.如项1的装置,其中,存储元件、地址转换逻辑和键更新逻辑被嵌入在单个集成电路中。
15.一种控制电动装置的存储介质的使用的方法,方法包括:接收逻辑存储器地址;将逻辑存储器地址映射到存储介质中的物理存储器地址,其中映射取决于键值;在物理存储器地址处访问存储介质;以及在电动装置的一个或多个电源周期处更新键值。
16.如项15的方法,其中,将逻辑存储器地址映射到物理存储器地址包括,重新排列逻辑存储器地址的位、翻转逻辑存储器地址的位、或其组合。
17.如项15的方法,还包括将更新的键值存储在非易失性存储器中。
18.如项17的方法,其中,将更新的键值存储在非易失性存储器中包括将更新的键值存储在相关电子开关(CES)存储元件中。
19.如项17的方法,其中,键值包括地址偏移值,并且其中:
将逻辑存储器地址映射到物理存储器地址包括,将逻辑存储器地址与地址偏移值相加;并且在电动设备的一个或多个电源周期处更新键值包括,在电源周期的通电时段结束时将最近访问的物理存储器地址存储在非易失性存储器中。
20.如项17的方法,其中,键值包括地址偏移值,并且其中:将逻辑存储器地址映射到物理存储器地址包括,将逻辑地址与地址偏移值相加;并且在电动设备的一个或多个电源周期处更新存储在非易失性存储器中的键值包括,存储在断电或休眠操作之前访问的物理存储器地址的一个或多个位。
21.如项17的方法,其中,键值包括加扰器的状态,并且其中:将逻辑存储器地址映射到物理存储器地址包括,在加扰器中对逻辑存储器地址进行加扰;并且在每个电源周期处更新存储在非易失性存储器中的键值包括,根据当前状态生成加扰器的下一个状态。
22.如项21的方法,其中,加扰器从以下加扰器组进行选择,包括:计数器;线性反馈移位寄存器(LFSR);散列函数;密码原语;以及物理不可克隆函数。
23.如项15的方法,其中,将逻辑存储器地址映射到物理存储器地址包括:针对多路复用器阵列的每个多路复用器:将逻辑存储器地址输入到多路复用器;根据键值来控制多路复用器以选择逻辑存储器地址的一个位;输出选择的逻辑存储器地址的一个位作为物理存储器地址的一个位,其中多路复用器阵列被配置为产生逻辑存储器地址与物理存储器地址之间的双射映射。
24.如项15的方法,其中,键值响应于断电、休眠操作或通电操作而被更新。

Claims (24)

1.一种用于存储介质的损耗均衡的装置,其中所述装置在多个电源周期的通电时段期间被供应电力,并且所述装置包括:
存储元件,所述存储元件在所述多个电源周期中的电源周期的断电时段或休眠时段期间存储键值,其中,所述存储元件是非易失性存储器;
地址转换逻辑,被配置为将逻辑地址映射到所述存储介质中的物理地址,其中所述映射取决于所述键值通过操纵所述逻辑地址来获得,其中,所述键值针对地址空间中的多个逻辑地址是相同的;以及
键更新逻辑,被配置为更新存储在所述存储元件中的所述键值;
其中,所述键值由所述键更新逻辑在所述多个电源周期中的一个或多个电源周期的通电操作、休眠操作或断电操作期间被更新,并且对所述逻辑地址的映射在所述一个或多个电源周期中的一个电源周期到另一个电源周期是变化的,在所述一个或多个电源周期中的第一电源周期之前,所述逻辑地址被映射到第一物理地址,并且在所述第一电源周期之后,所述逻辑地址被映射到与所述第一物理地址不同的第二物理地址,以在所述存储介质上分布存储器访问并降低所述存储介质的存储器单元的失效,其中,所述存储元件、所述地址转换逻辑和所述键更新逻辑被实现为硬件。
2.如权利要求1所述的装置,其中,所述非易失性存储器是相关电子随机存取存储器(CeRAM)。
3.如权利要求2所述的装置,其中,所述存储元件包括相关电子开关(CES)存储元件。
4.如权利要求1所述的装置,其中:
所述键值包括地址偏移值;
所述地址转换逻辑包括具有所述逻辑地址和所述地址偏移值作为输入的加法器;并且
所述键更新逻辑被配置为在电源周期的通电时段结束时将最近访问的物理地址存储在所述存储元件中。
5.如权利要求1所述的装置,其中:
所述键值包括地址偏移值;
所述地址转换逻辑包括具有所述逻辑地址和所述地址偏移值作为输入的加法器;并且
所述地址偏移值包括在电源周期的通电时段期间访问的物理地址的一个或多个位。
6.如权利要求1所述的装置,其中:
所述地址转换逻辑包括地址加扰器;
所述键值包括所述地址加扰器的状态;并且
所述键更新逻辑被配置为根据当前状态生成所述地址加扰器的下一个状态。
7.如权利要求6所述的装置,其中,所述地址加扰器从以下地址加扰器组进行选择,包括:
计数器;
线性反馈移位寄存器(LFSR);
散列函数;
密码原语;以及
物理不可克隆函数。
8.如权利要求1所述的装置,其中,所述地址转换逻辑被配置为执行所述逻辑地址与所述键值之间的按位XOR或XNOR操作以提供所述物理地址。
9.如权利要求1所述的装置,其中:
所述地址转换逻辑包括多路复用器阵列;
所述多路复用器阵列的每个多路复用器接收所述逻辑地址作为输入,选择所述逻辑地址的一个位,并且输出选择的位作为所述物理地址的一个位;并且
对要输出的所述逻辑地址的一个位的选择取决于所述键值。
10.如权利要求9所述的装置,其中,所述多路复用器阵列被配置为产生所述逻辑地址与所述物理地址之间的双射映射。
11.如权利要求1所述的装置,其中,所述地址转换逻辑被配置为对逻辑地址的位位置进行加扰以产生所述物理地址。
12.如权利要求1所述的装置,其中,所述键值响应于通电、断电或休眠操作而被更新。
13.如权利要求1所述的装置,还包括所述存储介质,其中所述存储介质包括易失性存储器。
14.如权利要求1所述的装置,其中,所述存储元件、所述地址转换逻辑和所述键更新逻辑被嵌入在单个集成电路中。
15.一种控制电动装置的存储介质的使用的方法,所述方法包括:
由所述电动装置的地址转换逻辑电路接收逻辑存储器地址;
由所述地址转换逻辑电路将所述逻辑存储器地址映射到所述存储介质中的物理存储器地址,其中所述映射取决于存储在非易失性存储器中的键值通过操纵所述逻辑存储器地址来获得;
由所述电动装置在所述物理存储器地址处访问所述存储介质;以及
由所述电动装置的键更新逻辑电路在所述电动装置的一个或多个电源周期的通电操作、休眠操作或断电操作期间更新所述键值,其中,对所述逻辑存储器地址的映射在所述一个或多个电源周期中的一个电源周期到另一个电源周期是变化的,在所述一个或多个电源周期中的第一电源周期之前,所述逻辑存储器地址被映射到第一物理存储器地址,并且在所述第一电源周期之后,所述逻辑存储器地址被映射到与所述第一物理存储器地址不同的第二物理存储器地址,以在所述存储介质上分布存储器访问并降低所述存储介质的存储器单元的失效。
16.如权利要求15所述的方法,其中,将所述逻辑存储器地址映射到所述物理存储器地址包括,重新排列所述逻辑存储器地址的位、翻转所述逻辑存储器地址的位、或其组合。
17.如权利要求15所述的方法,还包括将更新的键值存储在所述非易失性存储器中。
18.如权利要求17所述的方法,其中,将所述更新的键值存储在所述非易失性存储器中包括将所述更新的键值存储在相关电子随机存取存储器(CeRAM)中。
19.如权利要求17所述的方法,其中,所述键值包括地址偏移值,
其中,所述将所述逻辑存储器地址映射到所述物理存储器地址包括,由所述地址转换逻辑电路将所述逻辑存储器地址与所述地址偏移值相加;并且
其中,所述在所述断电操作期间更新所述键值包括,由所述键更新逻辑电路在电源周期的通电时段结束时将最近访问的物理存储器地址存储在非易失性存储器中。
20.如权利要求17所述的方法,其中,所述键值包括地址偏移值,
其中,所述将所述逻辑存储器地址映射到所述物理存储器地址包括,由所述地址转换逻辑电路将所述逻辑存储器地址与所述地址偏移值相加;并且
其中,所述在所述通电操作期间更新所述键值包括,由所述键更新逻辑电路存储在断电或休眠操作之前访问的物理存储器地址的一个或多个位。
21.如权利要求17所述的方法,其中,所述键值包括加扰器的状态,
其中,所述将所述逻辑存储器地址映射到所述物理存储器地址包括,由所述地址转换逻辑电路在所述加扰器中对所述逻辑存储器地址进行加扰;并且
其中,所述更新存储在所述非易失性存储器中的所述键值包括,由所述键更新逻辑电路根据当前状态生成所述加扰器的下一个状态。
22.如权利要求21所述的方法,其中,所述加扰器从以下加扰器组进行选择,包括:
计数器;
线性反馈移位寄存器(LFSR);
散列函数;
密码原语;以及
物理不可克隆函数。
23.如权利要求15所述的方法,其中,将所述逻辑存储器地址映射到所述物理存储器地址包括:
针对多路复用器阵列的每个多路复用器:
将所述逻辑存储器地址输入到所述多路复用器;
根据所述键值来控制所述多路复用器以选择所述逻辑存储器地址的一个位;以及
输出选择的所述逻辑存储器地址的一个位作为所述物理存储器地址的一个位,
其中所述多路复用器阵列被配置为产生所述逻辑存储器地址与所述物理存储器地址之间的双射映射。
24.如权利要求15所述的方法,其中,所述键值响应于断电、休眠操作或通电操作而被更新。
CN201711216621.3A 2016-11-28 2017-11-28 用于存储器损耗均衡的方法和装置 Active CN108228475B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/361,804 US10761976B2 (en) 2016-11-28 2016-11-28 Method and apparatus for memory wear leveling
US15/361,804 2016-11-28

Publications (2)

Publication Number Publication Date
CN108228475A CN108228475A (zh) 2018-06-29
CN108228475B true CN108228475B (zh) 2023-05-23

Family

ID=62190198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711216621.3A Active CN108228475B (zh) 2016-11-28 2017-11-28 用于存储器损耗均衡的方法和装置

Country Status (3)

Country Link
US (1) US10761976B2 (zh)
KR (1) KR102499521B1 (zh)
CN (1) CN108228475B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017205818A1 (de) * 2017-04-05 2018-10-11 Robert Bosch Gmbh Einstellbare physikalische unklonbare Funktion
US10705970B1 (en) * 2017-05-12 2020-07-07 Seagate Technology Llc Enhanced address compaction
JP7020989B2 (ja) * 2018-04-23 2022-02-16 株式会社メガチップス 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法
US10811112B2 (en) * 2018-09-29 2020-10-20 Western Digital Technologies, Inc. Wear leveling with wear-based attack detection for non-volatile memory
US11042490B2 (en) 2018-11-15 2021-06-22 Micron Technology, Inc. Address obfuscation for memory
US20210051010A1 (en) * 2019-08-16 2021-02-18 PUFsecurity Corporation Memory Device Providing Data Security
KR20210129370A (ko) 2020-04-20 2021-10-28 삼성전자주식회사 메모리 모듈 및 적층형 메모리 장치
KR20220009523A (ko) * 2020-07-15 2022-01-25 삼성전자주식회사 스토리지 컨트롤러, 및 스토리지 컨트롤러의 동작 방법
US20230367721A1 (en) * 2022-05-12 2023-11-16 Micron Technology, Inc. Address scrambling by linear maps in galois fields

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8495423B2 (en) * 2009-08-11 2013-07-23 International Business Machines Corporation Flash-based memory system with robust backup and restart features and removable modules
US8793429B1 (en) * 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
US8954694B2 (en) * 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
US9934143B2 (en) * 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
US9772781B2 (en) * 2013-11-27 2017-09-26 Ngd Systems, Inc. System and method for supporting atomic writes in a flash translation layer
US9851738B2 (en) 2015-08-13 2017-12-26 Arm Ltd. Programmable voltage reference
US9748943B2 (en) * 2015-08-13 2017-08-29 Arm Ltd. Programmable current for correlated electron switch

Also Published As

Publication number Publication date
US10761976B2 (en) 2020-09-01
KR102499521B1 (ko) 2023-02-14
KR20180061032A (ko) 2018-06-07
US20180150389A1 (en) 2018-05-31
CN108228475A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108228475B (zh) 用于存储器损耗均衡的方法和装置
TWI728020B (zh) 用於可組態的阻抗陣列的電路、方法和裝置
TWI694607B (zh) 互相關聯的電子開關
TWI713585B (zh) 用於互補式非揮發性記憶裝置操作的方法、系統及裝置(二)
TWI772269B (zh) 用於相關電子開關的方法及設備
TWI597725B (zh) 用於雙端點記憶體的選擇器裝置
Wang et al. Multilevel resistive switching in Ti/CuxO/Pt memory devices
TW201727630A (zh) 閂鎖裝置及方法
WO2011065957A1 (en) Remapping for memory wear leveling
Gao et al. A novel defect-engineering-based implementation for high-performance multilevel data storage in resistive switching memory
CN108733325B (zh) 一种基于非挥发性存储器的数据自毁方法及系统
CN108369556B (zh) 非易失性存储器中的耗损均衡
Sadaf et al. Highly uniform and reliable resistance switching properties in bilayer WOx/NbOx RRAM devices
CN108369817B (zh) 电阻性交叉点存储阵列
CN104681085B (zh) 一种基于翻转编码电路的阻变存储器及相应数据存储方法
WO2020082820A1 (zh) 一种加密与解密系统及其操作方法
CN106796984A (zh) 1‑选择器n‑电阻器忆阻设备
US20180336947A1 (en) Temperature gradients for controlling memristor switching
Chiu Resistance Switching Characteristics in ZnO‐Based Nonvolatile Memory Devices
Wang et al. Dynamic moderation of an electric field using a SiO2 switching layer in TaOx‐based ReRAM
WO2016153513A1 (en) Code comparators
US11023209B2 (en) On-chip hardware random number generator
TWI772414B (zh) 控制在編程操作期間經過相關電子切換元件的電流
Chakraborty et al. Current optimized coset coding for efficient rram programming
Verma et al. Memristor: A Novel Device for Better Hardware/Software Security

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant