CN102841852A - 磨损均衡方法、存储装置及信息系统 - Google Patents

磨损均衡方法、存储装置及信息系统 Download PDF

Info

Publication number
CN102841852A
CN102841852A CN2011101728099A CN201110172809A CN102841852A CN 102841852 A CN102841852 A CN 102841852A CN 2011101728099 A CN2011101728099 A CN 2011101728099A CN 201110172809 A CN201110172809 A CN 201110172809A CN 102841852 A CN102841852 A CN 102841852A
Authority
CN
China
Prior art keywords
storage
remapping
subspace
key
address
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.)
Granted
Application number
CN2011101728099A
Other languages
English (en)
Other versions
CN102841852B (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.)
Tsinghua University
Huawei Technologies Co Ltd
Original Assignee
Tsinghua University
Huawei Technologies Co 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 Tsinghua University, Huawei Technologies Co Ltd filed Critical Tsinghua University
Priority to CN201110172809.9A priority Critical patent/CN102841852B/zh
Priority to EP12802379.3A priority patent/EP2626792A4/en
Priority to PCT/CN2012/077403 priority patent/WO2012175048A1/zh
Publication of CN102841852A publication Critical patent/CN102841852A/zh
Priority to US13/903,774 priority patent/US9189420B2/en
Application granted granted Critical
Publication of CN102841852B publication Critical patent/CN102841852B/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/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种磨损均衡方法、存储装置及信息系统,存储空间被分割成多个大小相同的存储子空间,每个存储子空间被分割成多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;该方法包括:记录所述每个存储子空间的累积写操作次数;当所述多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映率时,将所述存储子空间的逻辑地址映射到重映射物理地址。通过本发明实施例的磨损均衡方法、存储装置及信息系统,可以将局部的写操作过多的数据块的逻辑地址均衡映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。

Description

磨损均衡方法、存储装置及信息系统
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种磨损均衡方法、存储装置及信息系统。
背景技术
近年来,一种新型存储技术——相变存储(Phase-Change Memory,PCM)逐渐展露出替代动态随机访问内存的潜力,从而引起了业界的高度重视。相对于动态随机访问内存,相变存储主要有两大优势:一是集成度高和可扩展性强,二是节约能耗。
然而,相变存储的存储单元只能承受一定数目的写操作,一般在105-108次左右。在超过这个数目后存储单元会发生锁定错误(Stuck-atFault),使得新的写请求不能改变原先的写入状态,因而存储单元永久被锁在原写入数据状态。其主要原因是在超过一定数目的写操作之后,由于频繁的膨胀和收缩,加热电阻会发生脱落,从而导致存储单元再也无法改变相态,即写入新数据,而原先写入的数据还可以继续进行读操作。
发明内容
本发明实施例提供一种磨损均衡方法、存储装置及信息系统,可以将局部的写操作过多的数据块的逻辑地址映射到全物理存储空间,从而避免局部数据过热,延长相变存储的使用寿命。
本发明实施例提供一种磨损均衡方法,存储空间被分割成多个大小相同的存储子空间,每个存储子空间被分割成多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;该方法包括:记录每个存储子空间的累积写操作次数;当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址。
本发明实施例提供一种存储装置,包括存储空间,所述存储空间包括多个大小相同的存储子空间,每个存储子空间包括多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,逻辑地址和物理地址具有唯一映射的关系;记录单元,用于记录每个存储子空间的累积写操作次数;重映射单元,用于当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址。
本发明实施例提供一种信息系统,包括中央处理器以及至少一个上述的存储装置;其中,中央处理器用于对存储装置进行控制;存储装置用于根据中央处理器的指令对信息进行存储或访问。
通过本发明实施例的磨损均衡方法、存储装置及信息系统,可以将局部的写操作过多的数据块的逻辑地址映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的磨损均衡方法的流程图;
图2为本发明实施例二提供的磨损均衡方法的流程图;
图3为本发明实施例三提供的磨损均衡方法的流程图;
图4为本发明实施例四提供的磨损均衡方法的流程图;
图5为本发明实施例五提供的存储装置的结构示意图;
图6为本发明实施例六提供的存储装置的结构示意图;
图7为本发明实施例七提供的信息系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提出的磨损均衡方法将存储空间的逻辑地址空间分割成多个相同大小的存储子空间,每个存储子空间包含多个存储块,并且每个存储子空间都能够被重映射到全物理地址空间。多个存储子空间的重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。这种并行的磨损均衡方法使得存储块的重映射能够尽快在最“需要”的部位发生,即写操作最多或者磨损最多的存储块逻辑地址,并且每个存储块逻辑地址可以被映射到的物理地址并不会被限定在任意一个物理子地址空间。
  中文参数   英文对照参数
  存储空间大小   Region Size
  子存储空间大小   Sub-region Size
  子存储空间数目   Sub-region Number
  块大小   Block Size
  每存储空间块数目   Block Number per Region
  每子存储空间块数目   Block Number per Sub-region
表1存储配置参数中英文对照表
图1为本发明实施例一提供的磨损均衡方法的流程图。该方法应用于存储介质,比如相变存储、闪存flash等。存储介质的存储空间被分割成多个大小相同的存储子空间,每个存储子空间被分割成多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;多个大小相同的存储子空间可以是连续的;多个大小相同的存储块可以是连续的。存储空间的分割操作可以是存储介质在生产时完成,同时对存储空间的参数进行初始化,比如:
总存储块数:N
每个逻辑子空间包含的存储块数:n
逻辑子空间:lsr0,lsr1,lsr2,lsr3,……,lsr(N/n-1)
物理子空间:psr0,psr1,psr2,psr3,……,psr(N/n-1)
如图1所示,本实施例的方法包括:
步骤S101.记录每个存储子空间的累积写操作次数WC;
步骤S103.当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,比如100,将该存储子空间的逻辑地址映射到重映射物理地址;
步骤S105.将该存储子空间的累积写操作次数WC归零,该存储子空间进入下一个重映射轮。
具体的,步骤步骤S101可以是:对每个存储子空间分别设置计数器,用于记录每个存储子空间的累积写操作次数;根据每一次写操作对应的存储块地址(逻辑地址或物理地址)确定该存储块所属的存储子空间,对该存储子空间对应的计数器加1,从而记录该存储子空间的累积写操作次数。
具体的,步骤步骤S103可以包括:对存储子空间生成重映射键;将存储子空间的逻辑地址与重映射键进行异或操作,得到存储子空间的重映射物理地址,从而实现将存储子空间的逻辑地址映射到重映射物理地址。
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
本发明实施例通过记录每个存储子空间的累积写操作次数,当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址,可以将局部的写操作过多的数据块的逻辑地址均衡映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。
图2为本发明实施例二提供的磨损均衡方法的流程图。该方法应用于存储介质,比如相变存储、闪存flash等。在本发明实施例中,存储子空间的存储块逻辑地址包括存储子空间键和存储块键,存储子空间键用于标识存储子空间,存储块键用于标识存储子空间的存储块。本实施例的磨损均衡方法包括:
步骤S201.记录每个存储子空间的累积写操作次数;
步骤S203.当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,对存储子空间生成重映射键,该重映射键的位数与存储子空间的存储块逻辑地址的位数相同;
具体的,存储子空间中的存储块逻辑地址以长度为Log2N的二进制数串MA表示,MA中连续的Log2(N/n)位为存储子空间键Region key,MA中连续的Log2n位为存储块键Block key,比如MA中前Log2(N/n)位为存储子空间键Region key,MA中后Log2(N/n)位为存储子空间键Block key,其中N为存储空间的存储块总数,n为每个存储子空间的存储块数量。
具体的,步骤S203包括:对存储子空间生成重映射键Key,重映射键Key的长度KeySize=Log2N;
步骤S205.将存储子空间的每一存储块逻辑地址与重映射键进行异或操作,得到每一存储块的重映射物理地址,从而实现将存储子空间的逻辑地址映射到重映射物理地址。
具体的,步骤S205包括:将存储子空间中的每一存储块逻辑地址MA与重映射键Key进行异或操作,得到每一存储块的重映射物理地址RMA,即RMA=MA XOR Key,其中XOR表示异或操作。
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
本发明实施例通过记录每个存储子空间的累积写操作次数,当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址,可以将局部的写操作过多的数据块的逻辑地址均衡映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。
图3为本发明实施例三提供的磨损均衡方法的流程图。该方法应用于存储介质,比如相变存储、闪存flash等。如图1所示,本实施例的方法包括:
步骤S301.记录每个存储子空间的累积写操作次数;
步骤S303.当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将该存储子空间的逻辑地址映射到重映射物理地址;
完成本重映射轮后,该方法还包括:
步骤S305.将该存储子空间的累积写操作次数归零,该存储子空间进入下一个重映射轮;
步骤S307.当该存储子空间进入下一个重映射轮后,对该存储子空间生成本重映射轮新的重映射键;
步骤S309.判断新的重映射键与上一个重映射轮的重映射键是否相同;当两者相同时,执行步骤S311,当两者不相同时,执行步骤S313;
步骤S311.将存储子空间的逻辑地址与重映射键进行异或操作,得到本重映射轮中存储子空间的重映射物理地址,完成本重映射轮的重映射,进入下一个重映射轮;
步骤S313.判断本重映射轮中存储子空间的重映射物理地址是否与存储子空间的伙伴存储子空间的重映射物理地址相同;如果相同,则执行步骤S315,如果不相同,执行步骤S311;其中,如果两个逻辑子空间通过异或映射后映射到同一块物理地址,则称该两块逻辑子空间互为伙伴存储子空间;
步骤S315.根据存储子空间的重映射键更新伙伴存储子空间的重映射键,得到更新后的伙伴存储子空间的重映射键;根据更新后的所述伙伴存储子空间的重映射键,确定伙伴存储子空间的重映射物理地址。
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
本发明实施例通过记录每个存储子空间的累积写操作次数,当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址,可以将局部的写操作过多的数据块的逻辑地址均衡映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。
图4为本发明实施例四提供的磨损均衡方法的流程图。该方法应用于存储介质,比如相变存储、闪存flash等。如图4所示,本实施例的方法包括:
步骤S401.记录每个存储子空间的累积写操作次数;
步骤S403.当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将该存储子空间的逻辑地址映射到重映射物理地址;
步骤S405.当该存储子空间被访问时,将该存储子空间的逻辑地址翻译成对应的重映射物理地址,具体包括:
确定访问操作地址所属的存储子空间逻辑地址;
将存储子空间逻辑地址翻译成物理块地址。
具体的,步骤S405可以包括:
首先,确定该存储子空间逻辑地址LBA在上一重映射轮中映射到的物理地址lb.pbp
lb.pbp=lb XOR lsr.keys.pr;
其中,lb是逻辑块的逻辑地址,lsr.keys.pr是前一重映射轮的映射键值。
确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址lb.pbc
lb.pbc=lb XOR lsr.keys.cr
所以,如果该存储子空间或者它的伙伴存储子空间已经在当前重映射轮完成了地址重映射,那么翻译后的物理块地址为当前重映射轮映射到的物理地址lb.pbc;否则翻译后的物理块地址为上一重映射轮中映射到的物理地址lb.pbp
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
本发明实施例通过记录每个存储子空间的累积写操作次数,当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址,当该存储子空间被访问时,将该存储子空间的逻辑地址翻译成对应的重映射物理地址,实现对重映射后存储子空间逻辑地址的翻译,完成访问操作。
下面将详细说明本发明实施例的磨损均衡方法的地址重映射算法和地址翻译算法。首先是对数据结构的定义:
存储子空间的逻辑地址:
存储子空间数据结构包括当前重映射轮的轮号cr和上一重映射轮的轮号lr,用于提取当前重映射轮和上一重映射轮的映射键;当前重映射指针crp;存储子空间的累积写操作数wc;该存储子空间的重映射键keys等。
存储子空间的物理地址:
struct psr{
  uint64_t clsr;
};
存储子空间的物理地址的数据结构包括当前逻辑地址号clsr,用于找到该存储子空间的物理地址当前所对应的逻辑地址。
多路磨损均衡全局结构:
多路磨损均衡全局结构包括存储子空间的逻辑地址数组*lsrs、存储子空间的物理地址数组*psrs、写操作总数writes、块交换总数swaps和重映射总数refreshes等。
本发明实施例的磨损均衡方法的地址重映射算法如下伪代码所示:
Figure BDA0000070956690000102
Figure BDA0000070956690000121
其中UPDATE算法描述如下:
Figure BDA0000070956690000122
本发明实施例的磨损均衡方法的地址翻译算法描述如下所示:
Figure BDA0000070956690000123
Figure BDA0000070956690000131
图5为本发明实施例五提供的存储装置的结构示意图。如图5所示,该存储装置500可以包括:
存储空间501,该存储空间包括多个大小相同的存储子空间,每个存储子空间包括多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;该存储空间的存储介质可以是相变存储、闪存flash等;
记录单元503,用于记录每个存储子空间的累积写操作次数;
重映射单元505,用于当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址。
具体的,重映射单元505可以包括:
生成单元5051,用于对存储子空间生成重映射键;
运算单元5053,用于将存储子空间的逻辑地址与重映射键进行异或操作,得到存储子空间的重映射物理地址,从而实现将存储子空间的逻辑地址映射到重映射物理地址。
具体的,存储子空间的存储块逻辑地址可以包括存储子空间键和存储块键,存储子空间键可以用于标识存储子空间,存储块键可以用于标识存储子空间的存储块;
具体的,生成单元5051可以包括:
第一生成子单元50511,用于对存储子空间生成重映射键,重映射键的位数与存储子空间的存储块逻辑地址的位数相同;
运算单元5053可以包括:
运算子单元50531,用于将存储子空间的每一存储块逻辑地址与重映射键进行异或操作,得到每一存储块的重映射物理地址,从而实现将存储子空间的逻辑地址映射到重映射物理地址。
具体的,存储子空间中的存储块逻辑地址可以以长度为Log2N的二进制数串MA表示,二进制数串MA中连续的Log2(N/n)位为存储子空间键Regionkey,二进制数串MA中连续的Log2n位为存储块键Block key,其中N为存储空间的存储块总数,n为每个存储子空间的存储块数量;
第一生成子单元50511可以具体用于对存储子空间生成重映射键Key,重映射键Key的长度KeySize=Log2N;
运算子单元50531可以具体用于将存储子空间中的每一存储块逻辑地址MA与重映射键Key进行异或操作,得到每一存储块的重映射物理地址RMA,即RMA=MA XOR Key,其中XOR表示异或操作。
具体的,记录单元503可以包括:
确定单元5031,用于根据每一次写操作对应的存储块地址确定存储块所属的存储子空间;
计数单元5033,用于记录该存储子空间的累积写操作次数。
具体的,该存储装置500还包括:
归零单元507,用于将存储子空间501的累积写操作次数归零,指示存储子空间501进入下一个重映射轮。
具体的,重映射单元505还可以用于当存储子空间501进入下一个重映射轮后,对存储子空间501生成本重映射轮新的重映射键,当新的重映射键与上一个重映射轮的重映射键相同时,将存储子空间501的逻辑地址与重映射键进行异或操作,得到本重映射轮中存储子空间501的重映射物理地址。
具体的,重映射单元505还可以用于当存储子空间进入下一个重映射轮后,对存储子空间生成新的重映射键;当新的重映射键与上一重映射轮的重映射键不相同时,判断本重映射轮中存储子空间的重映射物理地址是否与存储子空间的伙伴存储子空间的重映射物理地址相同;如果相同,则根据存储子空间的重映射键更新伙伴存储子空间的重映射键,得到更新后的伙伴存储子空间的重映射键;根据更新后的伙伴存储子空间的重映射键,确定伙伴存储子空间的重映射物理地址。
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
通过本发明实施例存储装置,可以将局部的写操作过多的数据块的逻辑地址映射到全物理存储空间,从而避免局部数据过热,延长存储介质的使用寿命。
图6为本发明实施例六提供的存储装置的结构示意图。本发明实施例六的存储装置是基于实施例五的存储装置改进的。如图6所示,该存储装置600除了包括存储空间601、记录单元603和重映射单元605之外,还可以包括:
逻辑地址确定单元607,用于确定访问操作地址所属的存储子空间601的逻辑地址;
翻译单元609,用于将存储子空间601的逻辑地址翻译成物理块地址。
具体的,翻译单元609可以包括:
第一物理地址确定单元6091,用于确定该存储子空间逻辑地址在上一重映射轮中映射到的物理地址;
第二物理地址确定单元6093,用于确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址;
翻译子单元6095,用于当该存储子空间或者该存储子空间的伙伴存储子空间已经在当前重映射轮完成了地址重映射时,确定翻译后的物理块地址为当前重映射轮映射到的物理地址;否则确定翻译后的物理块地址为上一重映射轮中映射到的物理地址。
本发明实施例通过记录每个存储子空间的累积写操作次数,当多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将存储子空间的逻辑地址映射到重映射物理地址,当该存储子空间被访问时,将该存储子空间的逻辑地址翻译成对应的重映射物理地址,实现对重映射后存储子空间逻辑地址的翻译,完成访问操作。
图7为本发明实施例六提供的信息系统的结构示意图。如图6所示,该信息系统700可以包括中央处理器701以及至少一个如实施例五和六所描述的存储装置7031,…,703n;该存储装置的存储介质可以是相变存储、闪存flash等;其中:
中央处理器701用于对存储装置7031,…,703n进行控制;
存储装置7031,…,703n用于根据中央处理器701的指令对信息进行存储或访问。
该信息系统可以集成在服务器、电信系统、网络系统、数据中心,以及计算机、移动终端等消费电子中。
在本发明实施例中,多个存储子空间的地址重映射可以同时进行。如果一个存储子空间其中的所有存储块完成了重映射,那么该存储子空间将立即进入下一个重映射轮继续进行重映射。本发明实施例中,多个存储子空间的地址重映射是多路并行进行的,可以使得磨损均衡速度更快。
通过本发明实施例信息系统中的存储装置,可以将局部的写操作过多的数据块的逻辑地址映射到全物理存储空间,从而避免局部数据过热,延长存储装置的使用寿命。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (21)

1.一种磨损均衡方法,其特征在于,存储空间被分割成多个大小相同的存储子空间,每个存储子空间被分割成多个大小相同的存储块,每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;
所述方法包括:
记录所述每个存储子空间的累积写操作次数;
当所述多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将所述存储子空间的逻辑地址映射到重映射物理地址。
2.根据权利要求1所述的方法,其特征在于,所述将存储子空间的逻辑地址映射到重映射物理地址包括:
对所述存储子空间生成重映射键;
将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到所述存储子空间的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
3.根据权利要求2所述的方法,其特征在于,所述存储子空间的存储块逻辑地址包括存储子空间键和存储块键,所述存储子空间键用于标识所述存储子空间,所述存储块键用于标识所述存储子空间的存储块;
所述对存储子空间生成重映射键包括:
对所述存储子空间生成重映射键,所述重映射键的位数与所述存储子空间的存储块逻辑地址的位数相同;
所述将存储子空间的逻辑地址与所述重映射键进行异或操作,得到所述存储子空间的重映射物理地址包括:
将所述存储子空间的每一存储块逻辑地址与所述重映射键进行异或操作,得到所述每一存储块的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
4.根据权利要求3所述的方法,其特征在于,所述存储子空间中的存储块逻辑地址以长度为Log2N的二进制数串MA表示,所述二进制数串MA中连续的Log2(N/n)位为存储子空间键Region key,所述二进制数串MA中连续的Log2n位为存储块键Block key,其中N为所述存储空间的存储块总数,n为每个存储子空间的存储块数量;
所述对存储子空间生成重映射键包括:
对所述存储子空间生成重映射键Key,所述重映射键Key的长度KeySize=Log2N;
所述将所述存储子空间的每一存储块逻辑地址与所述重映射键进行异或操作,得到所述每一存储块的重映射物理地址包括:
将所述存储子空间中的每一存储块逻辑地址MA与所述重映射键Key进行异或操作,得到所述每一存储块的重映射物理地址RMA,即RMA=MA XOR Key,其中XOR表示异或操作。
5.根据权利要求1-4中任一项的所述方法,其特征在于,所述记录所述每个存储子空间的累积写操作次数包括:
根据每一次写操作对应的存储块地址确定所述存储块所属的存储子空间,记录该存储子空间的累积写操作次数。
6.根据权利要求1-4中任一项的所述方法,其特征在于,在将所述存储子空间的逻辑地址映射到重映射物理地址之后,还包括:
将所述存储子空间的累积写操作次数归零,所述存储子空间进入下一个重映射轮。
7.根据权利要求6的所述方法,其特征在于,还包括:
当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成本重映射轮新的重映射键,当所述新的重映射键与上一个重映射轮的重映射键相同时,将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到本重映射轮中所述存储子空间的重映射物理地址。
8.根据权利要求6的所述方法,其特征在于,还包括:
当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成新的重映射键;
当所述新的重映射键与上一重映射轮的重映射键不相同时,判断本重映射轮中所述存储子空间的重映射物理地址是否与所述存储子空间的伙伴存储子空间的重映射物理地址相同;
如果相同,则根据所述存储子空间的重映射键更新所述伙伴存储子空间的重映射键,得到更新后的所述伙伴存储子空间的重映射键;
根据所述更新后的所述伙伴存储子空间的重映射键,确定所述伙伴存储子空间的重映射物理地址。
9.根据权利要求1-4任一项所述的方法,其特征在于,在对所述存储子空间进行地址重映射之后,还包括:
确定访问操作地址所属的存储子空间逻辑地址;
将所述存储子空间逻辑地址翻译成物理块地址。
10.根据权利要求9所述的方法,其特征在于,所述将存储子空间逻辑地址翻译成物理块地址包括:
确定该存储子空间逻辑地址在上一重映射轮中映射到的物理地址;
确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址;
当该存储子空间或者该存储子空间的伙伴存储子空间已经在当前重映射轮完成了地址重映射时,翻译后的物理块地址为当前重映射轮映射到的物理地址;否则,翻译后的物理块地址为上一重映射轮中映射到的物理地址。
11.一种存储装置,其特征在于,包括:
存储空间,所述存储空间包括多个大小相同的存储子空间,所述每个存储子空间包括多个大小相同的存储块,所述每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;
记录单元,用于记录所述每个存储子空间的累积写操作次数;
重映射单元,用于当所述多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将所述存储子空间的逻辑地址映射到重映射物理地址。
12.根据权利要求11所述的存储装置,其特征在于,所述重映射单元包括:
生成单元,用于对所述存储子空间生成重映射键;
运算单元,用于将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到所述存储子空间的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
13.根据权利要求12所述的存储装置,其特征在于,所述存储子空间的存储块逻辑地址包括存储子空间键和存储块键,所述存储子空间键用于标识所述存储子空间,所述存储块键用于标识所述存储子空间的存储块;
所述生成单元包括:
第一生成子单元,用于对所述存储子空间生成重映射键,所述重映射键的位数与所述存储子空间的存储块逻辑地址的位数相同;
所述运算单元包括:
运算子单元,用于将所述存储子空间的每一存储块逻辑地址与所述重映射键进行异或操作,得到所述每一存储块的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
14.根据权利要求13所述的存储装置,其特征在于,所述存储子空间中的存储块逻辑地址以长度为Log2N的二进制数串MA表示,所述二进制数串MA中连续的Log2(N/n)位为存储子空间键Region key,所述二进制数串MA中连续的Log2n位为存储块键Block key,其中N为所述存储空间的存储块总数,n为每个存储子空间的存储块数量;
所述第一生成子单元具体用于对所述存储子空间生成重映射键Key,所述重映射键Key的长度KeySize=Log2N;
所述运算子单元具体用于将所述存储子空间中的每一存储块逻辑地址MA与所述重映射键Key进行异或操作,得到所述每一存储块的重映射物理地址RMA,即RMA=MA XOR Key,其中XOR表示异或操作。
15.根据权利要求11-14中任一项的所述存储装置,其特征在于,所述记录单元包括:
确定单元,用于根据每一次写操作对应的存储块地址确定所述存储块所属的存储子空间;
计数单元,用于记录该存储子空间的累积写操作次数。
16.根据权利要求11-14中任一项的所述存储装置,其特征在于,还包括:
归零单元,用于将所述存储子空间的累积写操作次数归零,指示所述存储子空间进入下一个重映射轮。
17.根据权利要求16的所述存储装置,其特征在于,
所述重映射单元还用于当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成本重映射轮新的重映射键,当所述新的重映射键与上一个重映射轮的重映射键相同时,将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到本重映射轮中所述存储子空间的重映射物理地址。
18.根据权利要求16的所述存储装置,其特征在于,所述重映射单元还用于当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成新的重映射键;当所述新的重映射键与上一重映射轮的重映射键不相同时,判断本重映射轮中所述存储子空间的重映射物理地址是否与所述存储子空间的伙伴存储子空间的重映射物理地址相同;如果相同,则根据所述存储子空间的重映射键更新所述伙伴存储子空间的重映射键,得到更新后的所述伙伴存储子空间的重映射键;根据所述更新后的所述伙伴存储子空间的重映射键,确定所述伙伴存储子空间的重映射物理地址。
19.根据权利要求11-14所述的存储装置,其特征在于,还包括:
逻辑地址确定单元,用于确定访问操作地址所属的存储子空间逻辑地址;
翻译单元,用于将所述存储子空间逻辑地址翻译成物理块地址。
20.根据权利要求19所述的存储装置,其特征在于,所述翻译单元包括:
第一物理地址确定单元,用于确定该存储子空间逻辑地址在上一重映射轮中映射到的物理地址;
第二物理地址确定单元,用于确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址;
翻译子单元,用于当该存储子空间或者该存储子空间的伙伴存储子空间已经在当前重映射轮完成了地址重映射时,确定翻译后的物理块地址为当前重映射轮映射到的物理地址;否则确定翻译后的物理块地址为上一重映射轮中映射到的物理地址。
21.一种信息系统,其特征在于,包括中央处理器以及至少一个如权利要求11-20所述的存储装置;其中,
所述中央处理器用于对存储装置进行控制;所述存储装置用于根据中央处理器的指令对信息进行存储或访问。
CN201110172809.9A 2011-06-24 2011-06-24 磨损均衡方法、存储装置及信息系统 Active CN102841852B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110172809.9A CN102841852B (zh) 2011-06-24 2011-06-24 磨损均衡方法、存储装置及信息系统
EP12802379.3A EP2626792A4 (en) 2011-06-24 2012-06-25 WEAR LEVELING METHOD, MEMORY DEVICE, AND INFORMATION SYSTEM
PCT/CN2012/077403 WO2012175048A1 (zh) 2011-06-24 2012-06-25 磨损均衡方法、存储装置及信息系统
US13/903,774 US9189420B2 (en) 2011-06-24 2013-05-28 Wear-leveling method, storage device, and information system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110172809.9A CN102841852B (zh) 2011-06-24 2011-06-24 磨损均衡方法、存储装置及信息系统

Publications (2)

Publication Number Publication Date
CN102841852A true CN102841852A (zh) 2012-12-26
CN102841852B CN102841852B (zh) 2015-06-17

Family

ID=47369240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110172809.9A Active CN102841852B (zh) 2011-06-24 2011-06-24 磨损均衡方法、存储装置及信息系统

Country Status (4)

Country Link
US (1) US9189420B2 (zh)
EP (1) EP2626792A4 (zh)
CN (1) CN102841852B (zh)
WO (1) WO2012175048A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572490A (zh) * 2013-10-14 2015-04-29 爱思开海力士有限公司 半导体器件及其操作方法
CN104714894A (zh) * 2015-03-18 2015-06-17 清华大学 一种分层的基于随机映射的相变内存磨损均衡方法及系统
CN104731713A (zh) * 2015-03-18 2015-06-24 清华大学 基于随机映射的相变内存磨损均衡方法及系统
CN104794061A (zh) * 2015-04-24 2015-07-22 杭州电子科技大学 一种相变存储系统损耗均衡方法
CN104899152A (zh) * 2015-06-05 2015-09-09 宁波三星智能电气有限公司 存储器存储方法
CN104932833A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 磨损均衡方法、装置及存储设备
CN105119964A (zh) * 2014-04-18 2015-12-02 Hgst荷兰公司 经由物理块地址的文件存储
CN105389264A (zh) * 2014-08-29 2016-03-09 Emc公司 存储系统中垃圾收集的方法和系统
CN105446894A (zh) * 2014-08-20 2016-03-30 华为技术有限公司 一种写均衡的处理方法和装置
CN105786724A (zh) * 2014-12-24 2016-07-20 华为技术有限公司 空间管理方法及装置
CN106775440A (zh) * 2015-11-19 2017-05-31 慧荣科技股份有限公司 数据储存装置与数据储存方法
CN107678976A (zh) * 2016-08-02 2018-02-09 爱思开海力士有限公司 数据存储装置及其操作方法
CN107924334A (zh) * 2015-08-05 2018-04-17 华为技术有限公司 弹性命名分布式循环缓冲区的重新平衡和弹性存储方案
CN108205423A (zh) * 2016-12-20 2018-06-26 华为技术有限公司 一种物理硬盘磨损均衡方法、装置及系统
CN110175385A (zh) * 2019-05-20 2019-08-27 山东大学 一种基于性能磨损均衡的非易失fpga布局优化方法和系统
CN111708716A (zh) * 2019-03-18 2020-09-25 爱思开海力士有限公司 数据存储设备、具有数据存储设备的计算设备和操作方法
CN113655966A (zh) * 2021-08-23 2021-11-16 海飞科(南京)信息技术有限公司 供并行计算用的交叉存储器伪随机映射方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5751354B1 (ja) * 2014-01-28 2015-07-22 日本電気株式会社 メモリ制御装置、情報処理装置、メモリ制御方法、および、コンピュータ・プログラム
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
CN108536611B (zh) 2017-03-03 2022-05-13 西部数据技术公司 用于损耗均衡的系统和方法
US10656844B2 (en) 2017-10-11 2020-05-19 Western Digital Technologies, Inc. Non-volatile memory with regional and inter-region wear leveling
US10409716B2 (en) 2017-10-11 2019-09-10 Western Digital Technologies, Inc. Non-volatile memory with adaptive wear leveling
US11056206B2 (en) * 2017-10-11 2021-07-06 Western Digital Technologies, Inc. Non-volatile memory with dynamic wear leveling group configuration
JP6727365B1 (ja) * 2019-03-27 2020-07-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US11500788B2 (en) * 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11556482B1 (en) * 2021-09-30 2023-01-17 International Business Machines Corporation Security for address translation services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101569A (zh) * 2007-06-28 2008-01-09 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories
WO2011065957A1 (en) * 2009-11-30 2011-06-03 Hewlett-Packard Development Company, L.P. Remapping for memory wear leveling

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE372578T1 (de) 2002-10-28 2007-09-15 Sandisk Corp Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457909B2 (en) * 2005-01-14 2008-11-25 Angelo Di Sena Controlling operation of flash memories
CN101101569A (zh) * 2007-06-28 2008-01-09 忆正存储技术(深圳)有限公司 基于多通道闪存设备逻辑条带的自适应控制方法
WO2011065957A1 (en) * 2009-11-30 2011-06-03 Hewlett-Packard Development Company, L.P. Remapping for memory wear leveling

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MOINUDDIN K QURESHI ET AL: "《MICROARCHITECTURE, 2009. MICRO-42. 42ND ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 12》", 12 December 2009 *
NAK HEE SEONG ET AL: "Security refresh", 《ISCA》 *
NAK HEE SEONG ET AL: "SECURITY REFRESH:PROTECTING PHASE-CHANGE MEMORY AGAINST MALICIOUS WEAR OUT AS DYNAMIC RAM SCALING APPROACHES ITS PHYSICAL LIMIT, PHASE-CHANGE", 《IEEE COMPUTER SOCIETY》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572490A (zh) * 2013-10-14 2015-04-29 爱思开海力士有限公司 半导体器件及其操作方法
CN104572490B (zh) * 2013-10-14 2019-07-23 爱思开海力士有限公司 半导体器件及其操作方法
CN104932833A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 磨损均衡方法、装置及存储设备
CN104932833B (zh) * 2014-03-21 2018-07-31 华为技术有限公司 磨损均衡方法、装置及存储设备
CN105119964A (zh) * 2014-04-18 2015-12-02 Hgst荷兰公司 经由物理块地址的文件存储
CN105446894B (zh) * 2014-08-20 2019-02-05 华为技术有限公司 一种写均衡的处理方法和装置
CN105446894A (zh) * 2014-08-20 2016-03-30 华为技术有限公司 一种写均衡的处理方法和装置
CN105389264A (zh) * 2014-08-29 2016-03-09 Emc公司 存储系统中垃圾收集的方法和系统
CN105389264B (zh) * 2014-08-29 2018-08-17 Emc公司 存储系统中垃圾收集的方法和系统
CN105786724A (zh) * 2014-12-24 2016-07-20 华为技术有限公司 空间管理方法及装置
CN105786724B (zh) * 2014-12-24 2018-12-25 华为技术有限公司 空间管理方法及装置
CN104731713A (zh) * 2015-03-18 2015-06-24 清华大学 基于随机映射的相变内存磨损均衡方法及系统
CN104714894B (zh) * 2015-03-18 2017-08-11 清华大学 一种分层的基于随机映射的相变内存磨损均衡方法及系统
CN104714894A (zh) * 2015-03-18 2015-06-17 清华大学 一种分层的基于随机映射的相变内存磨损均衡方法及系统
CN104731713B (zh) * 2015-03-18 2018-02-09 清华大学 基于随机映射的相变内存磨损均衡方法及系统
CN104794061B (zh) * 2015-04-24 2018-11-02 杭州电子科技大学 一种相变存储系统损耗均衡方法
CN104794061A (zh) * 2015-04-24 2015-07-22 杭州电子科技大学 一种相变存储系统损耗均衡方法
CN104899152A (zh) * 2015-06-05 2015-09-09 宁波三星智能电气有限公司 存储器存储方法
CN107924334A (zh) * 2015-08-05 2018-04-17 华为技术有限公司 弹性命名分布式循环缓冲区的重新平衡和弹性存储方案
CN106775440A (zh) * 2015-11-19 2017-05-31 慧荣科技股份有限公司 数据储存装置与数据储存方法
CN107678976A (zh) * 2016-08-02 2018-02-09 爱思开海力士有限公司 数据存储装置及其操作方法
CN108205423A (zh) * 2016-12-20 2018-06-26 华为技术有限公司 一种物理硬盘磨损均衡方法、装置及系统
CN108205423B (zh) * 2016-12-20 2020-06-02 华为技术有限公司 一种物理硬盘磨损均衡方法、装置及系统
CN111708716A (zh) * 2019-03-18 2020-09-25 爱思开海力士有限公司 数据存储设备、具有数据存储设备的计算设备和操作方法
CN110175385A (zh) * 2019-05-20 2019-08-27 山东大学 一种基于性能磨损均衡的非易失fpga布局优化方法和系统
CN113655966A (zh) * 2021-08-23 2021-11-16 海飞科(南京)信息技术有限公司 供并行计算用的交叉存储器伪随机映射方法

Also Published As

Publication number Publication date
EP2626792A4 (en) 2013-11-27
US9189420B2 (en) 2015-11-17
CN102841852B (zh) 2015-06-17
WO2012175048A1 (zh) 2012-12-27
EP2626792A1 (en) 2013-08-14
US20130254514A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
CN102841852B (zh) 磨损均衡方法、存储装置及信息系统
US9520992B2 (en) Logical-to-physical address translation for a removable data storage device
US10795586B2 (en) System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US8688954B2 (en) Remapping inoperable memory blocks using pointers
US10475518B2 (en) Memory system, memory system control method, and program
US8516219B2 (en) Index cache tree
JP5658128B2 (ja) Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム
CN105095116A (zh) 缓存替换的方法、缓存控制器和处理器
KR20110001881A (ko) 비트 에러 임계값 및 메모리 장치의 리맵핑
KR20070068796A (ko) 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
CN110021326A (zh) 基于闪存的固态驱动器中的保持感知块映射
US11989452B2 (en) Read-disturb-based logical storage read temperature information identification system
CN113076218B (zh) Nvm芯片读数据错误快速处理方法及其控制器
CN109407985B (zh) 一种数据管理的方法以及相关装置
US20230236760A1 (en) Read-disturb-based logical storage read temperature information maintenance system
US9928136B2 (en) Message storage in memory blocks using codewords
US8972649B2 (en) Writing memory blocks using codewords
CN113515466B (zh) 用于多内核之间动态逻辑块地址分布的系统和方法
CN109871355B (zh) 一种快照元数据存储方法、装置及设备、介质
US11907063B2 (en) Read-disturb-based physical storage read temperature information identification system
US20230409203A1 (en) Memory system and read method
CN107832234B (zh) 一种用于nand flash的日志块快速命中方法
Ayele et al. Efficient FTL-aware data categorization and identification scheme for flash memory
TW202127262A (zh) 自適應損耗平衡方法及演算法
Lim A Light-Weight Redundancy Technique for Limited Embedded Flash Storage Device

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