CN102841852B - 磨损均衡方法、存储装置及信息系统 - Google Patents
磨损均衡方法、存储装置及信息系统 Download PDFInfo
- Publication number
- CN102841852B CN102841852B CN201110172809.9A CN201110172809A CN102841852B CN 102841852 B CN102841852 B CN 102841852B CN 201110172809 A CN201110172809 A CN 201110172809A CN 102841852 B CN102841852 B CN 102841852B
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 238000013519 translation Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 2
- 108010001267 Protein Subunits Proteins 0.000 claims 1
- 230000002035 prolonged effect Effects 0.000 abstract description 7
- 238000013021 overheating Methods 0.000 abstract description 4
- 238000009825 accumulation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 101150101654 PSR1 gene Proteins 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 101150020450 lsr2 gene Proteins 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear 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等。
本发明实施例的磨损均衡方法的地址重映射算法如下伪代码所示:
其中UPDATE算法描述如下:
本发明实施例的磨损均衡方法的地址翻译算法描述如下所示:
图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 (19)
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.根据权利要求1-4中任一项的所述方法,其特征在于,还包括:
当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成新的重映射键;
当所述新的重映射键与上一重映射轮的重映射键不相同时,判断本重映射轮中所述存储子空间的重映射物理地址是否与所述存储子空间的伙伴存储子空间的重映射物理地址相同;
如果相同,则根据所述存储子空间的重映射键更新所述伙伴存储子空间的重映射键,得到更新后的所述伙伴存储子空间的重映射键;
根据所述更新后的所述伙伴存储子空间的重映射键,确定所述伙伴存储子空间的重映射物理地址。
8.根据权利要求1-4任一项所述的方法,其特征在于,在对所述存储子空间进行地址重映射之后,还包括:
确定访问操作地址所属的存储子空间逻辑地址;
将所述存储子空间逻辑地址翻译成物理块地址。
9.根据权利要求8所述的方法,其特征在于,所述将存储子空间逻辑地址翻译成物理块地址包括:
确定该存储子空间逻辑地址在上一重映射轮中映射到的物理地址;
确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址;
当该存储子空间或者该存储子空间的伙伴存储子空间已经在当前重映射轮完成了地址重映射时,翻译后的物理块地址为当前重映射轮映射到的物理地址;否则,翻译后的物理块地址为上一重映射轮中映射到的物理地址。
10.一种存储装置,其特征在于,包括:
存储空间,所述存储空间包括多个大小相同的存储子空间,所述每个存储子空间包括多个大小相同的存储块,所述每个存储块对应一个逻辑地址和一个物理地址,所述逻辑地址和物理地址具有唯一映射的关系;
记录单元,用于记录所述每个存储子空间的累积写操作次数;
重映射单元,用于当所述多个存储子空间中的任意一个存储子空间的累积写操作次数达到预定的重映射率时,将所述存储子空间的逻辑地址映射到重映射物理地址;
归零单元,用于将所述存储子空间的累积写操作次数归零,指示所述存储子空间进入下一个重映射轮。
11.根据权利要求10所述的存储装置,其特征在于,所述重映射单元包括:
生成单元,用于对所述存储子空间生成重映射键;
运算单元,用于将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到所述存储子空间的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
12.根据权利要求11所述的存储装置,其特征在于,所述存储子空间的存储块逻辑地址包括存储子空间键和存储块键,所述存储子空间键用于标识所述存储子空间,所述存储块键用于标识所述存储子空间的存储块;
所述生成单元包括:
第一生成子单元,用于对所述存储子空间生成重映射键,所述重映射键的位数与所述存储子空间的存储块逻辑地址的位数相同;
所述运算单元包括:
运算子单元,用于将所述存储子空间的每一存储块逻辑地址与所述重映射键进行异或操作,得到所述每一存储块的重映射物理地址,从而实现将所述存储子空间的逻辑地址映射到重映射物理地址。
13.根据权利要求12所述的存储装置,其特征在于,所述存储子空间中的存储块逻辑地址以长度为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表示异或操作。
14.根据权利要求10-13中任一项的所述存储装置,其特征在于,所述记录单元包括:
确定单元,用于根据每一次写操作对应的存储块地址确定所述存储块所属的存储子空间;
计数单元,用于记录该存储子空间的累积写操作次数。
15.根据权利要求10-13中任一项的所述存储装置,其特征在于,
所述重映射单元还用于当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成本重映射轮新的重映射键,当所述新的重映射键与上一个重映射轮的重映射键相同时,将所述存储子空间的逻辑地址与所述重映射键进行异或操作,得到本重映射轮中所述存储子空间的重映射物理地址。
16.根据权利要求10-13中任一项的所述存储装置,其特征在于,所述重映射单元还用于当所述存储子空间进入下一个重映射轮后,对所述存储子空间生成新的重映射键;当所述新的重映射键与上一重映射轮的重映射键不相同时,判断本重映射轮中所述存储子空间的重映射物理地址是否与所述存储子空间的伙伴存储子空间的重映射物理地址相同;如果相同,则根据所述存储子空间的重映射键更新所述伙伴存储子空间的重映射键,得到更新后的所述伙伴存储子空间的重映射键;根据所述更新后的所述伙伴存储子空间的重映射键,确定所述伙伴存储子空间的重映射物理地址。
17.根据权利要求10-13任一项所述的存储装置,其特征在于,还包括:
逻辑地址确定单元,用于确定访问操作地址所属的存储子空间逻辑地址;
翻译单元,用于将所述存储子空间逻辑地址翻译成物理块地址。
18.根据权利要求17所述的存储装置,其特征在于,所述翻译单元包括:
第一物理地址确定单元,用于确定该存储子空间逻辑地址在上一重映射轮中映射到的物理地址;
第二物理地址确定单元,用于确定该存储子空间逻辑地址在当前重映射轮映射到的物理地址;
翻译子单元,用于当该存储子空间或者该存储子空间的伙伴存储子空间已经在当前重映射轮完成了地址重映射时,确定翻译后的物理块地址为当前重映射轮映射到的物理地址;否则确定翻译后的物理块地址为上一重映射轮中映射到的物理地址。
19.一种信息系统,其特征在于,包括中央处理器以及至少一个如权利要求10-18所述的存储装置;其中,
所述中央处理器用于对存储装置进行控制;所述存储装置用于根据中央处理器的指令对信息进行存储或访问。
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 CN102841852A (zh) | 2012-12-26 |
CN102841852B true 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) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102042859B1 (ko) * | 2013-10-14 | 2019-11-08 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
JP5751354B1 (ja) * | 2014-01-28 | 2015-07-22 | 日本電気株式会社 | メモリ制御装置、情報処理装置、メモリ制御方法、および、コンピュータ・プログラム |
CN104932833B (zh) * | 2014-03-21 | 2018-07-31 | 华为技术有限公司 | 磨损均衡方法、装置及存储设备 |
US20150301930A1 (en) * | 2014-04-18 | 2015-10-22 | HGST Netherlands B.V. | File storage via physical block addresses |
CN105446894B (zh) * | 2014-08-20 | 2019-02-05 | 华为技术有限公司 | 一种写均衡的处理方法和装置 |
US9600409B2 (en) * | 2014-08-29 | 2017-03-21 | EMC IP Holding Company LLC | Method and system for garbage collection in a storage system based on longevity of stored data |
CN105786724B (zh) * | 2014-12-24 | 2018-12-25 | 华为技术有限公司 | 空间管理方法及装置 |
CN104731713B (zh) * | 2015-03-18 | 2018-02-09 | 清华大学 | 基于随机映射的相变内存磨损均衡方法及系统 |
CN104714894B (zh) * | 2015-03-18 | 2017-08-11 | 清华大学 | 一种分层的基于随机映射的相变内存磨损均衡方法及系统 |
CN104794061B (zh) * | 2015-04-24 | 2018-11-02 | 杭州电子科技大学 | 一种相变存储系统损耗均衡方法 |
CN104899152A (zh) * | 2015-06-05 | 2015-09-09 | 宁波三星智能电气有限公司 | 存储器存储方法 |
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 |
US9942324B2 (en) | 2015-08-05 | 2018-04-10 | Futurewei Technologies, Inc. | Rebalancing and elastic storage scheme with elastic named distributed circular buffers |
TWI601059B (zh) * | 2015-11-19 | 2017-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
KR20180014975A (ko) * | 2016-08-02 | 2018-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN108205423B (zh) * | 2016-12-20 | 2020-06-02 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
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 |
KR20200110859A (ko) * | 2019-03-18 | 2020-09-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이를 포함하는 컴퓨팅 장치와 그 동작 방법 |
JP6727365B1 (ja) * | 2019-03-27 | 2020-07-22 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
CN110175385B (zh) * | 2019-05-20 | 2021-01-15 | 山东大学 | 一种基于性能磨损均衡的非易失fpga布局优化方法和系统 |
US11500788B2 (en) * | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
CN113655966B (zh) * | 2021-08-23 | 2022-03-25 | 海飞科(南京)信息技术有限公司 | 供并行计算用的交叉存储器伪随机映射方法 |
US11556482B1 (en) * | 2021-09-30 | 2023-01-17 | International Business Machines Corporation | Security for address translation services |
Citations (3)
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)
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 |
-
2011
- 2011-06-24 CN CN201110172809.9A patent/CN102841852B/zh active Active
-
2012
- 2012-06-25 EP EP12802379.3A patent/EP2626792A4/en not_active Ceased
- 2012-06-25 WO PCT/CN2012/077403 patent/WO2012175048A1/zh active Application Filing
-
2013
- 2013-05-28 US US13/903,774 patent/US9189420B2/en active Active
Patent Citations (3)
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)
Title |
---|
MOINUDDIN K QURESHI ET AL.Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling.《MICROARCHITECTURE, 2009. MICRO-42. 42ND ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 12》.2009,第2009年卷第16-20页. * |
SECURITY REFRESH:PROTECTING PHASE-CHANGE MEMORY AGAINST MALICIOUS WEAR OUT AS DYNAMIC RAM SCALING APPROACHES ITS PHYSICAL LIMIT, PHASE-CHANGE;Nak Hee Seong ET AL;《IEEE Computer Society》;20110201;第2001年卷;第121-125页 * |
Security refresh;NAK HEE SEONG ET AL;《ISCA》;20100101;第2010年卷;第387-392页 * |
Also Published As
Publication number | Publication date |
---|---|
EP2626792A4 (en) | 2013-11-27 |
US9189420B2 (en) | 2015-11-17 |
CN102841852A (zh) | 2012-12-26 |
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 | |
US8516219B2 (en) | Index cache tree | |
US10475518B2 (en) | Memory system, memory system control method, and program | |
TWI484330B (zh) | 用以儲存記憶體重新對應資訊之非揮發性記憶體及系統以及其方法 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
KR20070068796A (ko) | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 | |
US11989452B2 (en) | Read-disturb-based logical storage read temperature information identification system | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN113076218B (zh) | Nvm芯片读数据错误快速处理方法及其控制器 | |
US11922067B2 (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 | |
EP2381354A2 (en) | Data recording device | |
US11922020B2 (en) | Read-disturb-based read temperature information persistence system | |
CN109871355B (zh) | 一种快照元数据存储方法、装置及设备、介质 | |
CN113515466B (zh) | 用于多内核之间动态逻辑块地址分布的系统和方法 | |
CN105224254A (zh) | 一种数据处理方法及电子设备 | |
US11907063B2 (en) | Read-disturb-based physical storage read temperature information identification system | |
CN118034610B (zh) | 应用于存储器的密钥数据处理方法、存储器、装置及设备 | |
CN107832234B (zh) | 一种用于nand flash的日志块快速命中方法 | |
US20230409203A1 (en) | Memory system and read method | |
Ayele et al. | Efficient FTL-aware data categorization and identification scheme for flash memory |
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 |