CN104932833B - 磨损均衡方法、装置及存储设备 - Google Patents
磨损均衡方法、装置及存储设备 Download PDFInfo
- Publication number
- CN104932833B CN104932833B CN201410109531.4A CN201410109531A CN104932833B CN 104932833 B CN104932833 B CN 104932833B CN 201410109531 A CN201410109531 A CN 201410109531A CN 104932833 B CN104932833 B CN 104932833B
- Authority
- CN
- China
- Prior art keywords
- storage unit
- address
- physical address
- physical
- module
- 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 57
- 238000005299 abrasion Methods 0.000 title claims abstract description 45
- 238000013507 mapping Methods 0.000 claims description 26
- 238000000082 states acquisition Methods 0.000 claims 1
- 230000009467 reduction Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供一种磨损均衡方法、装置及存储设备,该方法包括:判断存储单元是否发生永久失效,在确定出存储单元发生永久失效后,将该存储单元的第一物理地址写入该存储单元的设备地址中,使得后续访问过程中,OS能够识别出该永久失效的存储单元,读取出记录在设备地址上的第一物理地址,重新根据第一物理地址确定设备地址并进行访问,降低了存储空间减少的速度,提高了存储设备的可靠性。
Description
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种磨损均衡方法、装置及存储设备。
背景技术
目前,绝大多数组抗性存储设备,如相变存储器(Phase Change Memory,PCM)、磁性随机存储器(Magnetic Random Access Memory,MRAM)、自旋转移力矩随机存取存储器(Spin Torque Transfer Random Access Memory,STT-RAM)等,都存在写寿命的问题。以PCM为例,PCM包括若干个存储单元,每一存储单元的写次数108,超过该写次数后存储单元发生锁定错误(Stuck-at Fault))从而永久失效,导致存储空间减少。当存储空间减少到一定程度后,PCM将不能正常工作。
现有技术中,采用磨损均衡算法减缓存储空间下降的比例。具体的,在PCM的内存控制器中,不考虑设备地址所在的存储单元是否有效,根据地址映射函数对逻辑地址与设备地址进行一一映射。该过程中,若地址映射函数发生变化,则逻辑地址对应的设备地址也会发生变化。
然而,当某些存储单元发生失效时,该些存储单元的设备地址对应的逻辑地址不能存储数据或者丢失已存在的数据,使得磨损均衡算法出现错误,导致可用的存储空间迅速减少,严重降低了存储设备的可靠性。
发明内容
本发明实施例提供一种磨损均衡方法、装置及存储设备,通过提出一种存储单元发生永久失效时仍能够准确有效运行的磨损均衡方法,实现降低存储空间减少速度的目的。
第一个方面,本发明实施例提供一种磨损均衡方法,包括:
判断存储单元是否发生永久失效,所述存储单元具有一个设备地址,所述设备地址对应一个物理地址,所述物理地址为第一物理地址;
若所述存储单元发生永久失效,则将所述第一物理地址写入所述设备地址中;
再次访问所述存储单元时,从所述设备地址中获取所述第一物理地址;
重新确定所述第一物理地址对应的设备地址。
在第一个方面的第一种可能的实现方式中,所述重新确定所述第一物理地址对应的设备地址之后,还包括:
若重新确定的设备地址所在的存储单元也为永久失效的存储单元,则获取所述重新确定的设备地址中写入的物理地址,所述物理地址为第二物理地址;
查找第一逆向指针与第二逆向指针,所述第一逆向指针为所述第一物理地址的逆向指针,所述第一逆向指针中存储有再次访问所述存储单元时所述第一物理地址对应的设备地址;所述第二逆向指针为所述第二物理地址的逆向指针,所述第二逆向指针中存储有再次访问所述存储单元时所述第二物理地址对应的设备地址;
将所述第一物理地址映射的设备地址修改为所述第二逆向指针中存储的设备地址,将所述第二物理地址映射的设备地址修改为所述第一逆向指针中存储的设备地址。
结合第一个方面的第一种可能的实现方式,在第一个方面的第二种可能的实现方式中,该方法还包括:
根据修改后的映射关系更新所述第一逆向指针与所述第二逆向指针。
结合第一个方面的第一种或第二种可能的实现方式,在第一个方面的第三种可能的实现方式中,所述查找第一逆向指针与第二逆向指针,包括:
查找所述第一物理地址所在的物理页中预留的写反向指针的物理块以查找所述第一逆向指针,查找所述第二物理地址所在的物理页中的预留写反向指针的物理块以查找所述第二逆向指针。
结合第一个方面、第一个方面的第一种至第三种中任一种可能的实现方式,在第一个方面的第四种可能的实现方式中,所述判断所述存储单元是否发生永久失效之前,还包括:
判断已发生永久失效的存储单元的数量是否达到预设数量;
若已发生永久失效的存储单元的数量达到预设数量,则将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
结合第一个方面、第一个方面的第一种至第三种中任一种可能的实现方式,在第一个方面的第五种可能的实现方式中,所述判断所述存储单元是否发生永久失效之前,还包括:
将第一个发生永久失效的存储单元的物理地址所在的物理页作为所述虚拟预留空间。
结合第一个方面的第四种或第五种可能的实现方式,在第一个方面的第六种可能的实现方式中,该方法还包括:
若所述存储单元发生永久失效,则为所述存储单元分配虚拟预留块,所述虚拟预留块为所述虚拟预留空间中的物理块。
第二个方面,本发明实施例提供一种磨损均衡装置,包括:
判断模块,用于判断存储单元是否发生永久失效,所述存储单元具有一个设备地址,所述设备地址对应一个物理地址,所述物理地址为第一物理地址;
写入模块,用于若所述判断模块判断出所述存储单元发生永久失效,则将所述第一物理地址写入所述设备地址中;
获取模块,用于再次访问所述存储单元时,从所述设备地址中获取所述写入模块写入的所述第一物理地址;
确定模块,用于重新确定所述获取模块获取到的所述第一物理地址对应的设备地址。
在第二个方面的第一种可能的实现方式中,所述装置还包括:查找模块,修改模块;
若所述确定模块重新确定的设备地址所在的存储单元也为永久失效的存储单元,则所述获取模块还用于获取所述重新确定的设备地址中写入的物理地址,所述物理地址为第二物理地址;
所述查找模块,用于查找第一逆向指针与第二逆向指针,所述第一逆向指针为所述第一物理地址的逆向指针,所述第一逆向指针中存储有再次访问所述存储单元时所述第一物理地址对应的设备地址;所述第二逆向指针为所述第二物理地址的逆向指针,所述第二逆向指针中存储有再次访问所述存储单元时所述第二物理地址对应的设备地址;
所述修改模块,用于将所述第一物理地址映射的设备地址修改为所述查找模块查找到的所述第二逆向指针中存储的设备地址,将所述第二物理地址映射的设备地址修改为所述查找模块查找到的所述第一逆向指针中存储的设备地址。
结合第二个方面的第一种可能的实现方式,在第二个方面的第二种可能的实现方式中,所述装置还包括:
更新模块,用于根据所述修改模块修改后的映射关系更新所述第一逆向指针与所述第二逆向指针。
结合第二个方面的第一种或第二种可能的实现方式,在第二个方面的第三种可能的实现方式中,所述查找模块,具体用于查找所述第一物理地址所在的物理页中预留的写反向指针的物理块以查找所述第一逆向指针,查找所述第二物理地址所在的物理页中的预留写反向指针的物理块以查找所述第二逆向指针。
结合第二个方面、第二个方面的第一种至第三种中任一种可能的实现方式,在第二个方面的第四种可能的实现方式中,该装置还包括:预留模块;
所述判断模块,还用于判断已发生永久失效的存储单元的数量是否达到预设数量;
所述预留摸,用于若所述判断模块判断出已发生永久失效的存储单元的数量达到预设数量,则将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
结合第二个方面、第二个方面的第一种至第三种中任一种可能的实现方式,在第二个方面的第五种可能的实现方式中,该装置还包括:
预留模块,用于将第一个发生永久失效的存储单元的物理地址所在的物理页作为所述虚拟预留空间。
结合第二个方面的第四种或第五种可能的实现方式,在第二个方面的第六种可能的实现方式中,该装置还包括:
分配模块,用于若所述判断模块判断出所述存储单元发生永久失效,则为所述存储单元分配虚拟预留块,所述虚拟预留块为所述虚拟预留空间中的物理块。
第三个方面,本发明实施例提供一种存储设备,包括如上第二个方面、第二个方面的第一种至第第六种中任一种磨损均衡装置。
本发明实施例提供的磨损均衡方法、装置及存储设备,在确定出存储单元发生永久失效后,将该存储单元的第一物理地址写入该存储单元的设备地址中,使得后续访问过程中,OS能够识别出该永久失效的存储单元,读取出记录在设备地址上的第一物理地址,重新根据第一物理地址确定设备地址并进行访问,降低了存储空间减少的速度,提高了存储设备的可靠性。
附图说明
图1为本发明磨损均衡方法实施例一的流程图;
图2A为本发明磨损均衡过程中一个时刻的PA与DA的映射关系示意图;
图2B为本分发明磨损均衡过程中另一个时刻的PA与DA的映射关系示意图;
图2C为本分发明磨损均衡过程中又一个时刻的PA与DA的映射关系示意图;
图2D为图2C中修改映射关系后的PA与DA的映射关系示意图;
图3为本发明磨损均衡过程中访问存储单元的过程示意图;
图4为本发明磨损均衡装置实施例一的结构示意图;
图5为本发明磨损均衡装置实施例二的结构示意图;
图6为本发明磨损均衡装置实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般来说,存储设备的存储空间被划分为多个存储块,每个存储块具有一个物理地址(Physical Address,PA)与一个设备地址(Device Address,DA)。现有技术中的磨损均衡方法,通过简单的数学逻辑进行PA与DA之间的地址映射。该过程中,不区分DA是否损坏,PA与DA保持一一对应关系,并且这种关系随时间的变化而变化,一般具有“循环移动”映射的特点。例如,在某一时刻T0,对应关系为PA0与DA0、PA1与DA1、PA2与DA2、PA3与DA3;那么,在下一时刻T1,对应关系则变化为PA0与DA1、PA1与DA2、PA2与DA3、PA3与DA0;再一时刻T2,对应关系则变化为PA0与DA2、PA1与DA3、PA2与DA0、PA3与DA1……。当某一存储单元损坏,即发生永久失效时,该磨损均衡方法将无法正常工作,严重降低了存储设备,如非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)等的可靠性。
有鉴于此,本发明实施例提供一种磨损均衡方法法,以解决现有技术中存储单元发生永久失效时现有的磨损均衡方法无法准确有效运行的问题。具体的,可参见图1。
图1为本发明磨损均衡方法实施例一的流程图。该方法应用于存储设备,比如变相存储器、闪存Flash等。具体的,本实施例包括如下步骤:
101、判断存储单元是否发生永久失效,存储单元具有一个设备地址,设备地址对应一个物理地址,物理地址为第一物理地址。
具体的,存储设备的存储空间被分割成多个存储块,每个存储块对应一个PA(为描述清楚起见,将该PA称之为第一物理地址)与一个DA,多个PA可分成若干个物理页,每个物理页包括至少一个PA。其中,PA与DA对应关系随时间的变化而变化。本步骤中,每次一个存储单元,首次访问该存储单元时,先判断该存储单元是否发生永久失效,即判断该存储单元的写次数是否超过最大写次数,若该存储单元发生永久失效,且第一次发生永久失效,则执行步骤102;否则,对该存储单元进行访问。
102、若存储单元发生永久失效,则将第一物理地址写入设备地址中。
该步骤中,对于发生永久失效的存储单元,将该存储单元的第一物理地址写入设备地址中。假设该时刻下,例如T0时刻下,该存储单元的第一物理地址为PA2,设备地址为DA3,则将PA2写入DA3中。具体的,可参见图2A,图2A为本发明磨损均衡过程中一个时刻的PA与DA的映射关系示意图。
可选的,该步骤中,需要尽可能多的将第一物理地址写入设备地址中,并确保写入成功。例如,尽可能多次的将PA2写入DA3中。
可选的,该步骤中,可以将PA2所在的物理页的写入异常,上报给操作系统(Operating System,OS)。例如,若该存储单元为第一个发生永久失效的存储单元,该存储单元所在的物理页为page500,则可以将page500上报给OS,后续访问过程中,OS将不再访问page500包括的各个PA,而是将PA2所在的物理页,即page500作为虚拟预留空间。再如,若该存储单元发生永久失效时,存储设备中没有虚拟预留空间,则可以将该存储单元所在的物理页的写入异常上报给OS,使得后续访问过程中,OS将该物理页作为虚拟预留空间。又如,若该存储单元发生永久失效时,存储设备判断出已发生永久失效的存储单元的数量已达到预设数量;则可以将该存储单元所在的物理页的写入异常上报给OS,使得后续访问过程中,OS将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
103、再次访问存储单元时,从设备地址中获取第一物理地址。
如前文:PA与DA保持一一对应关系,并且这种关系随时间的变化而变化,一般具有“循环移动”映射的特点。当写入次数达到一定量时,PA与DA的映射关系发生改变,具体的,请参见图2B,图2B为本分发明磨损均衡过程中另一个时刻的PA与DA的映射关系示意图。
请参照图2B,另一个时刻,例如T1时刻下,再次访问该存储单元时,该存储单元的PA为PA0,DA为DA3。此时,存储设备从DA3中获取到写入DA3的第一物理地址PA2。
104、重新确定第一物理地址对应的设备地址。
在获取到写入设备地址DA3中的第一物理地址PA2后,存储设备对PA2重做磨损均衡,确定出T1时刻下PA2对应的设备地址,即DA5。然后,对DA5进行访问,即将PA0的数据记录在DA5上。该过程中,访问顺序依次为PA0→DA3→PA2→DA5,由此可知,存储设备仅经过1个长度的访问时长就可以找到最终的DA5。其中,1个长度的访问时长指访问过程中不考虑PA到DA的数据迁移,而仅需要执行一次DA到PA的数据迁移(如图中虚线箭头所示)。
本发明实施例提供的磨损均衡方法,在确定出存储单元发生永久失效后,将该存储单元的第一物理地址写入该存储单元的设备地址中,使得后续访问过程中,OS能够识别出该永久失效的存储单元,读取出记录在设备地址上的第一物理地址,重新根据第一物理地址确定设备地址并进行访问,降低了存储空间减少的速度,提高了存储设备的可靠性。
另外,磨损均衡算法运行过程中可能出现将一个已发生永久失效的存储单元的数据迁移到另一个已发生永久失效的存储单元的情况,这样就会导致访问数据需要多次跳转,影响访问速率。具体的,可参见图2C。图2C为本分发明磨损均衡过程中又一个时刻的PA与DA的映射关系示意图。
请参照图2C,又一个时刻,例如T2时刻下,又一次次访问该存储单元时,该存储单元的PA为PA0,DA为DA3,DA3与DA5均为发生永久失效,假设T2时刻下DA3中写入的第一物理地址PA2,DA5中写入的第二物理地址为PA4。此时,存储设备从DA3中获取到写入DA3的第一物理地址PA2,对PA2重做磨损均衡,确定出T2时刻下PA2对应的设备地址DA5。然后,由于DA5也发生永久失效,则从DA5中读取物理地址PA4,以下为描述清楚起见,将重新确定的设备地址所在的存储单元也为永久失效的存储单元时读取到的物理地址称之为第二物理地址。然后,对PA4重做磨损均衡,确定出T2时刻下PA4对应的设备地址DA7。最终对DA7进行访问,即将PA0的数据记录在DA7上。该过程中,访问顺序依次为PA0→DA3→PA2→DA5→PA4→DA7,由此可知,存储设备需要经过2个长度的访问时长才可以找到最终的设备地址DA7,即需要执行两次DA到PA的数据迁移(如图中虚线箭头所示)。
再请参照图2C,为防止需要多次跳转才能进行数据访问的弊端,可选的,上述实施例一中,可查找物理地址的逆向指针,根据逆向指针中存储的设备地址对PA与DA的映射关系进行修改,然后根据修改后的映射关系进行数据访问以提高访问速率。下面,首先对虚拟预留空间、虚拟预留块及逆向指针进行一个详细说明。
本发明实施例中,在将一个发生永久失效的存储单元所在的物理页作为虚拟预留空间时,假设该物理页包括0~63,即64个物理块,可将该些物理块分为两部分,第一部分为0~59号物理块,第二部分为60~63号物理块。其中,第一部分物理块可用作虚拟预留块。现有技术中,当存储单元发生永久失效时,存储设备的OS会将该存储单元对应的物理地址丢弃不用,而本实施例中,虽然物理地址依旧仅仅是地址,不包含真正的存储空间,但是存储设备的内存控制器可将OS丢弃的物理地址作为虚拟预留块从而给磨损均衡算法营造出没有方式永久失效的存储单元的假象,从而满足磨损均衡算法运行的条件,确保磨损均衡算法在有永久失效的存储单元的情况下正常运行。具体的,在存储单元发生永久失效时,可为该存储单元分配一个虚拟预留块,用该虚拟预留块来存储映射到该存储单元的设备。由于一个物理页包含多个物理地址,因此,虚拟预留空间可维护一个计数器和一个起始指针。每次分配一个虚拟预留块后,计数器加1。当该物理页用尽时,将另一个物理页作为虚拟预留空间,更新起始指针,将计数器清0。
第二部分的物理块,可作为逆向指针的预留空间,60~63号物理块作为逆向指针的预留空间时,可提供64个32比特的指针。其中,每个逆向指针中存储有映射到虚拟预留块的设备地址。请参照图2C,DA3发生永久失效时,PA0所在的物理页中,PA0的逆向指针中存储的设备地址为DA3;DA5发生永久失效时,PA2所在的物理页中,PA2的逆向指针中存储的设备地址为DA5。
为防止需要多次跳转才能进行数据访问的弊端,可选的,上述实施例一中,若重新确定的设备地址DA5所在的存储单元也为永久失效的存储单元时,存储设备读取该重新确定的设备地址DA5中写入的物理地址,即第二物理地址PA4。然后,查找第一逆向指针与第二逆向指针,其中,第一逆向指针为第一物理地址PA2的逆向指针,第一逆向指针中存储有再次访问所述存储单元时第一物理地址PA2对应的设备地址DA5;第二逆向指针为第二物理地址PA4的逆向指针,第二逆向指针中存储有再次访问存储单元时第二物理地址PA4对应的设备地址DA7。在查找到第一逆向指针与第二逆向指针后,存储设备将第一物理地址PA2映射的设备地址(即DA5)修改为第二逆向指针中存储的设备地址(即DA7),将第二物理地址PA4映射的设备地址(即DA7)修改为第一逆向指针中存储的设备地址(即DA5),修改过程如图2C中粗黑的双点划线箭头指向所示。如此一来,T2时刻下的访问顺序依次为PA0→DA3→PA2→DA7。然后,对DA7进行访问,即将PA0的数据记录在DA7上。由此可知,存储设备仅经过1个长度的访问时长就可以找到最终的DA7。具体的,可参见图2D,图2D为图2C中修改映射关系后的PA与DA的映射关系示意图。
在根据修改后的映射关系进行数据访问后,可根据修改后的映射关系对第一逆向指针与所述第二逆向指针进行更新。具体的,再请参照图2D,完成数据访问后,PA2所在的物理页中,需要讲PA2的逆向指针中存储的设备地址DA5更新为DA7;PA2所在的物理页中,需要讲PA4的逆向指针中存储的设备地址DA7更新为DA5。
在根据修改后的映射关系进行数据访问的过程中,具体可查找第一物理地址PA2所在的物理页中预留的写反向指针的物理块以查找第一逆向指针,查找第二物理地址PA4所在的物理页中的预留写反向指针的物理块以查找第二逆向指针。
图3为本发明磨损均衡过程中访问存储单元的过程示意图。具体的,其包括如下步骤:
201、访问存储单元;
202、判断该存储单元是否发生永久失效,若该存储单元未发生永久失效,则执行步骤203;否则,若该存储单元发生永久失效,则执行步骤204。
203、完成对该存储单元的访问。
204、判断是否为该存储单元分配虚拟预留块,若为该存储单元分配了虚拟预留块,则返回执行步骤201;否则,若未为该存储单元分配虚拟预留块,则执行步骤205。
205、判断是否存在虚拟预留空间。若不存在虚拟预留空间,则执行步骤206;否则,若存在虚拟预留空间,则执行步骤207。
206、向OS上报该存储单元所在的物理页的写入异常。
该步骤中,存储设备向OS上报存储单元所在的物理页的写入异常,然后,OS将该物理页作为虚拟预留空间并执行步骤207。
207、为该存储单元分配一个虚拟预留块,并返回步骤201。
图4为本发明磨损均衡装置实施例一的结构示意图。本实施例提供的磨损均衡装置是与本发明图1实施例对应的装置实施例,具体实现过程在此不再赘述。具体的,本实施例提供的磨损均衡装置100具体包括:
判断模块11,用于判断存储单元是否发生永久失效,存储单元具有一个设备地址,设备地址对应一个物理地址,物理地址为第一物理地址;
写入模块12,用于若判断模块11判断出存储单元发生永久失效,则将第一物理地址写入设备地址中;
获取模块13,用于再次访问存储单元时,从设备地址中获取写入模块12写入的第一物理地址;
确定模块14,用于重新确定获取模块13获取到的第一物理地址对应的设备地址。
本发明实施例提供的磨损均衡装置,在确定出存储单元发生永久失效后,将该存储单元的第一物理地址写入该存储单元的设备地址中,使得后续访问过程中,OS能够识别出该永久失效的存储单元,读取出记录在设备地址上的第一物理地址,重新根据第一物理地址确定设备地址并进行访问,降低了存储空间减少的速度,提高了存储设备的可靠性。
图5为本发明磨损均衡装置实施例二的结构示意图。如图5所示,本实施例的磨损均衡装置100在图3装置结构的基础上,可选的,还包括:查找模块15,修改模块16;若确定模块14重新确定的设备地址所在的存储单元也为永久失效的存储单元,则获取模块13还用于获取重新确定的设备地址中写入的物理地址,物理地址为第二物理地址;查找模块15,用于查找第一逆向指针与第二逆向指针,第一逆向指针为第一物理地址的逆向指针,第一逆向指针中存储有再次访问存储单元时第一物理地址对应的设备地址;第二逆向指针为第二物理地址的逆向指针,第二逆向指针中存储有再次访问存储单元时第二物理地址对应的设备地址;修改模块16,用于将第一物理地址映射的设备地址修改为查找模块15查找到的第二逆向指针中存储的设备地址,将第二物理地址映射的设备地址修改为查找模块15查找到的第一逆向指针中存储的设备地址。
可选的,再请参照图5,该磨损均衡装置100还包括:
更新模块17,用于根据修改模块16修改后的映射关系更新第一逆向指针与第二逆向指针。
可选的,在本发明一实施例中,查找模块15,具体用于查找第一物理地址所在的物理页中预留的写反向指针的物理块以查找第一逆向指针,查找第二物理地址所在的物理页中的预留写反向指针的物理块以查找第二逆向指针。
可选的,再请参照图5,该磨损均衡装置100还包括:预留模块18;判断模块11,还用于判断已发生永久失效的存储单元的数量是否达到预设数量;预留模块18,用于若判断模块11判断出已发生永久失效的存储单元的数量达到预设数量,则将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
可选的,预留模块18,用于将第一个发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
可选的,再请参照图5,该磨损均衡装置100还包括:分配模块19,用于若判断模块11判断出存储单元发生永久失效,则为存储单元分配虚拟预留块,虚拟预留块为虚拟预留空间中的物理块。
图6为本发明磨损均衡装置实施例三的结构示意图。如图6所示,本实施例提供的磨损均衡装置200,包括:处理器21和存储器22。磨损均衡装置200还可以包括发射器23、接收器24。发射器23和接收器24可以和处理器21相连。其中,发射器23用于发送数据或信息,接收器24用于接收数据或信息,存储器22存储执行指令,当磨损均衡装置200运行时,处理器21与存储器22之间通信,处理器21调用存储器22中的执行指令,用于执行图1所示方法实施例,其实现原理和技术效果类似,此处不再赘述。
另外,在上述方法与装置实施例的基础上,本发明实施例还提供一种存储设备,其包括如图4~图6任一所述的磨损均衡装置,具体实现原理及有益效果此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种磨损均衡方法,其特征在于,包括:
访问存储单元时判断存储单元是否发生永久失效,所述存储单元具有一个设备地址,所述设备地址对应一个物理地址,所述物理地址为第一物理地址;
若所述存储单元发生永久失效,则将所述第一物理地址写入所述设备地址中;
再次访问所述存储单元时,从所述设备地址中获取所述第一物理地址;
重新确定所述第一物理地址对应的设备地址。
2.根据权利要求1所述的方法,其特征在于,所述重新确定所述第一物理地址对应的设备地址之后,还包括:
若重新确定的设备地址所在的存储单元也为永久失效的存储单元,则获取所述重新确定的设备地址中写入的物理地址,所述物理地址为第二物理地址;
查找第一逆向指针与第二逆向指针,所述第一逆向指针为所述第一物理地址的逆向指针,所述第一逆向指针中存储有再次访问所述存储单元时所述第一物理地址对应的设备地址;所述第二逆向指针为所述第二物理地址的逆向指针,所述第二逆向指针中存储有再次访问所述存储单元时所述第二物理地址对应的设备地址;
将所述第一物理地址映射的设备地址修改为所述第二逆向指针中存储的设备地址,将所述第二物理地址映射的设备地址修改为所述第一逆向指针中存储的设备地址。
3.根据权利要求2所述的方法,其特征在于,还包括:
根据修改后的映射关系更新所述第一逆向指针与所述第二逆向指针。
4.根据权利要求2或3所述的方法,其特征在于,所述查找第一逆向指针与第二逆向指针,包括:
查找所述第一物理地址所在的物理页中预留的写反向指针的物理块以查找所述第一逆向指针,查找所述第二物理地址所在的物理页中的预留写反向指针的物理块以查找所述第二逆向指针。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述判断所述存储单元是否发生永久失效之前,还包括:
判断已发生永久失效的存储单元的数量是否达到预设数量;
若已发生永久失效的存储单元的数量达到预设数量,则将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
6.根据权利要求1~4任一项所述的方法,其特征在于,所述判断所述存储单元是否发生永久失效之前,还包括:
将第一个发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
7.根据权利要求5或6所述的方法,其特征在于,还包括:
若所述存储单元发生永久失效,则为所述存储单元分配虚拟预留块,所述虚拟预留块为所述虚拟预留空间中的物理块。
8.一种磨损均衡装置,其特征在于,包括:
判断模块,用于访问存储单元时判断存储单元是否发生永久失效,所述存储单元具有一个设备地址,所述设备地址对应一个物理地址,所述物理地址为第一物理地址;
写入模块,用于若所述判断模块判断出所述存储单元发生永久失效,则将所述第一物理地址写入所述设备地址中;
获取模块,用于再次访问所述存储单元时,从所述设备地址中获取所述写入模块写入的所述第一物理地址;
确定模块,用于重新确定所述获取模块获取到的所述第一物理地址对应的设备地址。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:查找模块,修改模块;
若所述确定模块重新确定的设备地址所在的存储单元也为永久失效的存储单元,则所述获取模块还用于获取所述重新确定的设备地址中写入的物理地址,所述物理地址为第二物理地址;
所述查找模块,用于查找第一逆向指针与第二逆向指针,所述第一逆向指针为所述第一物理地址的逆向指针,所述第一逆向指针中存储有再次访问所述存储单元时所述第一物理地址对应的设备地址;所述第二逆向指针为所述第二物理地址的逆向指针,所述第二逆向指针中存储有再次访问所述存储单元时所述第二物理地址对应的设备地址;
所述修改模块,用于将所述第一物理地址映射的设备地址修改为所述查找模块查找到的所述第二逆向指针中存储的设备地址,将所述第二物理地址映射的设备地址修改为所述查找模块查找到的所述第一逆向指针中存储的设备地址。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
更新模块,用于根据所述修改模块修改后的映射关系更新所述第一逆向指针与所述第二逆向指针。
11.根据权利要求9或10所述的装置,其特征在于,
所述查找模块,具体用于查找所述第一物理地址所在的物理页中预留的写反向指针的物理块以查找所述第一逆向指针,查找所述第二物理地址所在的物理页中的预留写反向指针的物理块以查找所述第二逆向指针。
12.根据权利要求8~11任一项所述的装置,其特征在于,还包括:预留模块;
所述判断模块,还用于判断已发生永久失效的存储单元的数量是否达到预设数量;
所述预留模块,用于若所述判断模块判断出已发生永久失效的存储单元的数量达到预设数量,则将至少一个已发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
13.根据权利要求8~11任一项所述的装置,其特征在于,还包括:
预留模块,用于将第一个发生永久失效的存储单元的物理地址所在的物理页作为虚拟预留空间。
14.根据权利要求12或13所述的装置,其特征在于,还包括:
分配模块,用于若所述判断模块判断出所述存储单元发生永久失效,则为所述存储单元分配虚拟预留块,所述虚拟预留块为所述虚拟预留空间中的物理块。
15.一种存储设备,其特征在于,包括如权利要求8~14任一项所述的磨损均衡装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410109531.4A CN104932833B (zh) | 2014-03-21 | 2014-03-21 | 磨损均衡方法、装置及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410109531.4A CN104932833B (zh) | 2014-03-21 | 2014-03-21 | 磨损均衡方法、装置及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104932833A CN104932833A (zh) | 2015-09-23 |
CN104932833B true CN104932833B (zh) | 2018-07-31 |
Family
ID=54120014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410109531.4A Active CN104932833B (zh) | 2014-03-21 | 2014-03-21 | 磨损均衡方法、装置及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104932833B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841852A (zh) * | 2011-06-24 | 2012-12-26 | 华为技术有限公司 | 磨损均衡方法、存储装置及信息系统 |
CN103365786A (zh) * | 2012-04-01 | 2013-10-23 | 国民技术股份有限公司 | 数据存储方法、装置和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012234482A (ja) * | 2011-05-09 | 2012-11-29 | Canon Inc | 記憶制御装置及びその制御方法、並びにプログラム |
CN103946819B (zh) * | 2011-09-30 | 2017-05-17 | 英特尔公司 | 用于非易失性系统存储器的统计耗损均衡 |
CN103959258B (zh) * | 2011-12-05 | 2017-03-29 | 英特尔公司 | 背景重排序——具有有限开销的预防性的磨损控制机制 |
WO2013095641A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Sub-block based wear leveling |
US9262336B2 (en) * | 2011-12-23 | 2016-02-16 | Intel Corporation | Page miss handler including wear leveling logic |
-
2014
- 2014-03-21 CN CN201410109531.4A patent/CN104932833B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841852A (zh) * | 2011-06-24 | 2012-12-26 | 华为技术有限公司 | 磨损均衡方法、存储装置及信息系统 |
CN103365786A (zh) * | 2012-04-01 | 2013-10-23 | 国民技术股份有限公司 | 数据存储方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104932833A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9189420B2 (en) | Wear-leveling method, storage device, and information system | |
EP2920700B1 (en) | Memory segment remapping to address fragmentation | |
KR101283289B1 (ko) | 고체 상태 드라이브에서의 웨어 레벨링을 위한 방법 및 시스템 | |
CN104246721B (zh) | 存储系统、存储控制器及存储控制方法 | |
CN105094685B (zh) | 进行存储控制的方法和设备 | |
CN104662518A (zh) | 数据迁移方法、数据迁移装置和存储设备 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN105808163B (zh) | 一种访问叠瓦式磁记录smr硬盘的方法及服务器 | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
CN102156738A (zh) | 数据块处理方法、数据块存储设备及系统 | |
CN104050097A (zh) | 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 | |
CN105786401A (zh) | 服务器集群系统中的数据管理方法及装置 | |
JP2015508924A (ja) | 複合不揮発性記憶装置のためのデータ移行 | |
US11144224B2 (en) | Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications | |
CN102063386B (zh) | 一种单载体多目标的缓存系统的缓存管理方法 | |
US11164650B2 (en) | Scrub management in storage class memory | |
WO2018199794A1 (en) | Re-placing data within a mapped-raid environment | |
US11675707B2 (en) | Logical to virtual and virtual to physical translation in storage class memory | |
CN103902473A (zh) | 一种数据处理方法及数据缓存系统 | |
CN103019956B (zh) | 一种对缓存数据的操作方法和装置 | |
US20150052327A1 (en) | Dynamic memory relocation | |
CN104035886B (zh) | 磁盘重映射方法、装置及电子设备 | |
CN102521161B (zh) | 一种数据的缓存方法、装置和服务器 | |
US20150347303A1 (en) | Adjusting allocation of storage devices | |
CN108733307A (zh) | 存储管理方法、设备以及计算机可读介质 |
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 |