• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 26
    • 下载费用:30 金币  

    重庆时时彩后1定位法: 非易失性存储器及磨损均衡方法.pdf

    关 键 词:
    非易失性存储器 磨损 均衡 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201410411569.7

    申请日:

    2014.08.19

    公开号:

    CN105354152A

    公开日:

    2016.02.24

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 12/08申请日:20140819|||公开
    IPC分类号: G06F12/08 主分类号: G06F12/08
    申请人: 华为技术有限公司
    发明人: 沙行勉; 诸葛晴凤; 朱冠宇; 王元钢; 石亮
    地址: 518129广东省深圳市龙岗区坂田华为总部办公楼
    优先权:
    专利代理机构: 代理人:
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201410411569.7

    授权公告号:

    ||||||

    法律状态公告日:

    2018.06.26|||2016.03.23|||2016.02.24

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明实施例提供了一种非易失性存储器及磨损均衡方法。该非易失性存储器包括存储介质和NVM控制器。该NVM控制器接收到待写入的第一物理页的第一数据后,可以先确定在本次写操作过程中,与所述第一物理页对应的第一写回页中每一行的改写状态。在根据获得的所述第一写回页中的每一行的改写状态以及记录的所述第一物理页的磨损状态确定本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况下,NVM控制器将述第一数据写入所述第一物理页,并将所述第一物理页的磨损次数保持不变。本发明实施例提供的非易失性存储器能够在维持较低的空间开销的基础上,能够提高磨损次数的计算精确度,延长非易失性存储器的使用寿命。

    权利要求书

    1.一种非易失性存储器NVM,其特征在于,所述NVM包括:
    存储介质,用于存储数据,其中,所述存储介质包括多个物理页,每一个物理页page
    包括多行line,每一行包括多个字节Byte;
    NVM控制器,用于接收第一写请求,所述第一写请求中携带有待写入所述NVM中的第
    一物理页的第一数据;
    确定所述第一物理页的磨损次数未超过预设阈值;
    根据与所述第一物理页对应的第一写回页中的数据以及所述第一数据获得所述第
    一写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所述第一物理
    页中的数据;
    根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一行的改写状态
    判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行改写;
    在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况
    下,保持所述第一物理页的磨损次数不变,并将所述第一数据写入所述第一物理页。
    2.根据权利要求1所述的NVM,其特征在于,所述NVM控制器还用于:
    在将所述第一数据写入所述第一物理页中后,将所述第一物理页中未被改写的行的
    磨损状态保持不变,并且,将在本次写操作中进行了改写的行的磨损状态设置为磨损。
    3.根据权利要求1或2所述的NVM,其特征在于,所述NVM控制器还用于:
    在判断本次写操作需要对所述第一物理页中标识为磨损的行进行改写的情况下,将
    所述第一物理页的磨损次数增加一个预设值;
    将所述第一数据写入所述第一物理页中;
    将所述第一物理页中标识为磨损且在本次写操作中进行了改写的行的磨损状态保
    持为磨损,并将其他行的磨损状态更新为未磨损。
    4.根据权利要求1-3任意一项所述的NVM,其特征在于,所述NVM控制器还用于:
    接收第二写请求,所述第二写请求中携带有待写入所述第一物理页的第二数据;
    确定所述第一物理页的磨损次数大于预设阈值;
    将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不大于所述
    预设阈值。
    5.根据权利要求4所述的NVM,其特征在于:所述第二物理页为所述存储介质中磨
    损次数最少的物理页。
    6.根据权利要求1-5任意一项所述的NVM,其特征在于,还包括:
    内存,用于存储记录的所述第一物理页的磨损状态。
    7.根据权利要求1-6任意一项所述的NVM,其特征在于,所述NVM包括:相变存储器
    PCM、阻变存储器RRAM、磁性存储器MRAM或铁电式存储器FRAM。
    8.一种磨损均衡方法,所述方法应用于非易失性存储器NVM中,其特征在于,所述
    方法包括:
    接收第一写请求,所述第一写请求中携带有待写入所述NVM中的第一物理页的第一
    数据,其中,所述NVM包括多个物理页,每一个物理页page包括多行line,每一行包括
    多个字节Byte;
    确定所述第一物理页的磨损次数未超过预设阈值;
    根据所述第一物理页对应的第一写回页中的数据以及所述第一数据获得所述第一
    写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所述第一物理页
    中的数据;
    根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一行的改写状态
    判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行改写;
    在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况
    下,保持所述第一物理页的磨损次数不变,并将所述数据写入所述第一物理页。
    9.根据权利要求8所述的方法,其特征在于,在根据所述物理地址将所述数据写入
    所述第一物理页中后,还包括:
    将所述第一物理页中未被改写的行的磨损状态保持不变,并且,将在本次操作中进
    行了改写的行的磨损状态设置为磨损。
    10.根据权利要求8或9所述的方法,其特征在于,还包括:
    在判断本次写操作需要对所述第一物理页中标识为磨损的行进行改写的情况下,将
    所述第一物理页的磨损次数增加一个预设值;
    将所述第一数据写入所述第一物理页中;
    将所述第一物理页中标识为磨损且在本次写操作中进行了改写的行的磨损状态保
    持为磨损,并将其他行的磨损状态更新为未磨损。
    11.根据权利要求8-10任意一项所述的方法,其特征在于,还包括:
    接收第二写请求,所述第二写请求中携带待写入所述第一物理页的第二数据;
    确定所述第一物理页的磨损次数大于预设阈值;
    将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不大于所述
    预设阈值。
    12.根据权利要求11所述的方法,其特征在于:所述第二物理页为所述存储介质中
    磨损次数最少的物理页。
    13.根据权利要求8-12任意一项所述的方法,其特征在于:所述记录的所述第一物
    理页的磨损状态存储于所述NVM的内存中。
    14.根据权利要求8-13任意一项所述的方法,其特征在于:所述NVM包括相变存储
    器PCM、阻变存储器RRAM、磁性存储器MRAM或铁电式存储器FRAM。
    15.一种磨损均衡装置,其特征在于,包括:
    接收???,用于接收第一写请求,所述第一写请求中携带有待写入非易失性存储器
    NVM中的第一物理页的第一数据,其中,所述NVM包括多个物理页,每一个物理页page包
    括多行line,每一行包括多个字节Byte;
    确定???,用于确定所述第一物理页的磨损次数未超过预设阈值;
    获取???,用于根据所述第一物理页对应的第一写回页中的数据以及所述第一数据
    获得所述第一写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所
    述第一物理页中的数据;
    判断???,用于根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一
    行的改写状态判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行
    改写;
    处理???,用于在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进
    行改写的情况下,保持所述第一物理页的磨损次数不变,并将所述数据写入所述第一物
    理页。
    16.根据权利要求15所述的装置,其特征在于,还包括:
    记录???,用于在所述处理??楦菟鑫锢淼刂方鍪菪慈胨龅谝晃锢硪?br />中后,将所述第一物理页中未被改写的行的磨损状态保持不变,并且,将在本次操作中
    进行了改写的行的磨损状态设置为磨损。
    17.根据权利要求15或16所述的装置,其特征在于:
    所述处理???,还用于在所述判断??榕卸媳敬涡床僮餍枰运龅谝晃锢硪持斜?br />识为磨损的行进行改写的情况下,将所述第一物理页的磨损次数增加一个预设值,并将
    所述第一数据写入所述第一物理页中;
    所述记录???,还用于将所述第一物理页中标识为磨损且在本次写操作中进行了改
    写的行的磨损状态保持为磨损,并将其他行的磨损状态更新为未磨损。
    18.根据权利要求15-17任意一项所述的装置,其特征在于:
    所述接收???,还用于接收第二写请求,所述第二写请求中携带待写入所述第一物
    理页的第二数据;
    所述确定???,还用于确定所述第一物理页的磨损次数大于预设阈值;
    所述处理???,还用于在所述确定??槿范ㄋ龅谝晃锢硪车哪ニ鸫问笥谠ど桡?br />值的情况下,将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不
    大于所述预设阈值。
    19.根据权利要求18所述的装置,其特征在于:所述第二物理页为所述存储介质中
    磨损次数最少的物理页。
    20.根据权利要求15-19任意一项所述的装置,其特征在于:所述NVM包括相变存储
    器PCM、阻变存储器RRAM、磁性存储器MRAM或铁电式存储器FRAM。
    21.一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序
    代码包括的指令用于执行如权利要求8-14任意一项所述的方法。

    说明书

    非易失性存储器及磨损均衡方法

    技术领域

    本发明涉及存储技术领域,尤其涉及一种非易失性存储器及磨损均衡方法。

    背景技术

    由于闪存(Flash)、相变存储器(PhaseChangeMemory,PCM)、阻变存储器
    (ResistiveRandomAccessMemory,RRAM)、磁性随机存储器(MagneticRandomAccess
    Memory,MRAM)和铁电式随机存储器(FerroelectricRandomAccessMemory,FRAM)为代
    表的新型非易失性存储器(Non-VolatileMemory,NVM)具有访问速度快、低能耗和非易失
    性的存储优点,因此,采用NVM代替磁盘作为外存将降低外存访问的等待时间(latency)
    和能量,提高访问效率并增加外存的带宽(bandwidth)。然而,与磁盘(DISK)相比,大部
    分NVM(例如Flash、PCM、RRAM以及FRAM)具有写入次数有限的缺点。NVM的使用寿命通常
    由NVM最大的写入次数来确定,因此,大部分NVM都具有有限的使用寿命。例如,Flash通
    常能够写104次,PCM通常能够写108次,RRAM能够写105次等。为了延长NVM预期的使用寿
    命,现有技术中通常采用磨损均衡(wearleveling)技术对各存储单元进行管理。磨损均
    衡的基本思想是在每次对存储设备执行写操作时将新数据写入到最少被使用的物理存储单
    元中,以使存储设备中的各存储介质得到均衡使用。

    现有技术中,实现磨损均衡时通常需要记录存储设备中各存储页的磨损情况。
    现有技术中的一种方式是采用为每个存储页(page)设置计数器,若对该页有写操作,则将
    该页的计数器加1。根据这种记录页的磨损次数的方式来确定该页的使用情况。然而这种方
    式不能真实反映该页中各字节(Byte)的写操作情况,不能区分是对该页中一个字节(Byte)
    的多次写操作还是对该页中各个字节(Byte)的均衡写操作,从而不能真实的反映该页的写
    操作情况。现有技术中的另一种方式是对存储页中的每个字节(Byte)均设置计数器,来记
    录字节的写操作情况。然而这种方式虽然精确度高,但是空间开销过大。

    发明内容

    本发明实施例中提供的一种非易失性存储器及磨损均衡方法,能够更客观真实
    的反应非易失性存储器的磨损情况,延长非易失性存储器的使用寿命。

    第一方面,本发明实施例提供一种非易失性存储器NVM,所述NVM包括:

    存储介质,用于存储数据,其中,所述存储介质包括多个物理页,每一个物理页page
    包括多行line,每一行包括多个字节Byte;

    NVM控制器,用于接收第一写请求,所述第一写请求中携带有待写入所述NVM中的第
    一物理页的第一数据;

    确定所述第一物理页的磨损次数未超过预设阈值;

    根据与所述第一物理页对应的第一写回页中的数据以及所述第一数据获得所述第
    一写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所述第一物理
    页中的数据;

    根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一行的改写状态
    判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行改写;

    在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况
    下,保持所述第一物理页的磨损次数不变,并将所述第一数据写入所述第一物理页。

    在第一方面的第一种可能的实现方式中,该NVM控制器还用于:在将所述第一数据写
    入所述第一物理页中后,将所述第一物理页中未被改写的行的磨损状态保持不变,并且,将
    在本次写操作中进行了改写的行的磨损状态设置为磨损。

    结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能
    的实施方式中,该NVM控制器还用于:

    在判断本次写操作需要对所述第一物理页中标识为磨损的行进行改写的情况下,将
    所述第一物理页的磨损次数增加一个预设值;

    将所述第一数据写入所述第一物理页中;

    将所述第一物理页中标识为磨损且在本次写操作中进行了改写的行的磨损状态保
    持为磨损,并将其他行的磨损状态更新为未磨损。

    结合第一方面、第一方面的第一种或第二种可能的实施方式,在第一方面的第
    三种可能的实施方式中,该NVM控制器还用于:

    接收第二写请求,所述第二写请求中携带有待写入所述第一物理页的第二数据;

    确定所述第一物理页的磨损次数大于预设阈值;

    将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不大于所述
    预设阈值。

    第二方面,本发明实施例提供一种磨损均衡方法,该方法应用于非易失性存储器NVM
    中,该方法包括:

    接收第一写请求,所述第一写请求中携带有待写入所述NVM中的第一物理页的第一
    数据,其中,所述NVM包括多个物理页,每一个物理页page包括多行line,每一行包括
    多个字节Byte;

    确定所述第一物理页的磨损次数未超过预设阈值;

    根据所述第一物理页对应的第一写回页中的数据以及所述第一数据获得所述第一
    写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所述第一物理页
    中的数据;

    根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一行的改写状态
    判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行改写;

    在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况
    下,保持所述第一物理页的磨损次数不变,并将所述数据写入所述第一物理页。

    在第二方面的第一种实施方式中,在根据所述物理地址将所述数据写入所述第一物
    理页中后,该方法还包括:将所述第一物理页中未被改写的行的磨损状态保持不变,并且,
    将在本次操作中进行了改写的行的磨损状态设置为磨损。

    结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实
    施方式中,该方法还包括:

    在判断本次写操作需要对所述第一物理页中标识为磨损的行进行改写的情况下,将
    所述第一物理页的磨损次数增加一个预设值;

    将所述第一数据写入所述第一物理页中;

    将所述第一物理页中标识为磨损且在本次写操作中进行了改写的行的磨损状态保
    持为磨损,并将其他行的磨损状态更新为未磨损。

    结合第二方面、第二方面的第一种或第二种可能的实施方式,在第二方面的第三种
    可能的实施方式中,该方法还包括:

    接收第二写请求,所述第二写请求中携带待写入所述第一物理页的第二数据;

    确定所述第一物理页的磨损次数大于预设阈值;

    将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不大于所述
    预设阈值。

    第三方面,本本发明实施例提供了一种磨损均衡装置,包括:

    接收???,用于接收第一写请求,所述第一写请求中携带有待写入非易失性存储器
    NVM中的第一物理页的第一数据,其中,所述NVM包括多个物理页,每一个物理页page包
    括多行line,每一行包括多个字节Byte;

    确定???,用于确定所述第一物理页的磨损次数未超过预设阈值;

    获取???,用于根据所述第一物理页对应的第一写回页中的数据以及所述第一数据
    获得所述第一写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所
    述第一物理页中的数据,每一个物理页page包括多行line,每一行包括多个字节Byte;

    判断???,用于根据记录的所述第一物理页的磨损状态以及所述第一写回页中每一
    行的改写状态判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行
    改写;

    处理???,用于在判断本次写操作只需要对所述第一物理页中标识为未磨损的行进
    行改写的情况下,保持所述第一物理页的磨损次数不变,并将所述数据写入所述第一物
    理页。

    在第三方面的第一种实施方式中,该磨损均衡装置还包括:

    记录???,用于在所述处理??楦菟鑫锢淼刂方鍪菪慈胨龅谝晃锢硪?br />中后,将所述第一物理页中未被改写的行的磨损状态保持不变,并且,将在本次操作中
    进行了改写的行的磨损状态设置为磨损。

    结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第二种可能的实
    施方式中,所述处理???,还用于在所述判断??榕卸媳敬涡床僮餍枰运龅谝晃锢硪持?br />标识为磨损的行进行改写的情况下,将所述第一物理页的磨损次数增加一个预设值,并将所
    述第一数据写入所述第一物理页中;

    所述记录???,还用于将所述第一物理页中标识为磨损且在本次写操作中进行了改
    写的行的磨损状态保持为磨损,并将其他行的磨损状态更新为未磨损。

    结合第三方面、第三方面的第一种或第二种可能的实施方式,在第三方面的第三种
    可能的实施方式中,所述接收???,还用于接收第二写请求,所述第二写请求中携带待写入
    所述第一物理页的第二数据;

    所述确定???,还用于确定所述第一物理页的磨损次数大于预设阈值;

    所述处理???,还用于在所述确定??槿范ㄋ龅谝晃锢硪车哪ニ鸫问笥谠ど桡?br />值的情况下,将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不
    大于所述预设阈值。

    第四方面,本发明实施例提供了一种计算机程序产品,包括存储了程序代码的计算
    机可读存储介质,所述程序代码包括的指令用于执行前述第二方面中所述的方法。

    在本发明实施例中提供的非易失性存储器NVM包括存储介质和NVM控制器。所述NVM
    控制器在执行写操作过程中,接收到待写入的第一物理页的第一数据后,可以先确定在本次
    写操作过程中,与所述第一物理页对应的第一写回页中每一行的改写状态。进一步的,NVM
    控制器可以根据获得的所述第一写回页中的每一行的改写状态以及记录的所述第一物理页
    的磨损状态判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行改写。在
    NVM控制器确定本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写的情况
    下,NVM控制器将述第一数据写入所述第一物理页,并将所述第一物理页的磨损次数保持不
    变。本发明实施例提供的NVM控制器能够以物理页(page)中的行(line)为粒度来判断是
    否增加物理页的磨损次数,与现有技术中只要对物理页执行了写操作即增加该物理页的磨损
    次数的方式相比,在维持较低的空间开销的基础上,能够更真实的反映第一物理页中每一行
    (line)的磨损情况,提高磨损次数的计算精确度,并能够进一步的延长非易失性存储器的
    使用寿命。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中
    所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施
    例。

    图1为本发明实施例提供的一种非易失性存储器的应用场景示意图;

    图2为本发明实施例提供的又一种非易失性存储器的应用场景示意图;

    图3为本发明实施例提供的一种非易失性存储器的结构示意图;

    图4为本发明实施例提供的一种磨损均衡方法的流程图;

    图5a为本发明实施例提供的改写状态示意图;

    图5b-图5e为本发明实施例提供的磨损状态示意图;

    图6为本发明实施例提供的又一种磨损均衡方法的流程图;

    图7为本发明实施例提供的一种磨损均衡装置的结构示意图。

    具体实施方式

    为了使本领域的技术人员更好地理解本发明方案,下面将结合本发明实施例中的附
    图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本
    发明一部分的实施例,而不是全部的实施例。

    图1为本发明实施例提供的一种新型非易失存储器(NVM)的应用场景图。在图1所
    述的一种应用场景中,NVM200作为内存使用。如图1所示,随机存储器(RandomAccess
    Memory,RAM)300通过内存总线与中央处理器(CPU)100连接。RAM300具有访问速度快
    的优点,CPU100能够高速访问RAM300,对RAM300中的任一存储单元进行读或写操作,且
    读写时间相等,因此通常RAM作为内存使用。然而,RAM300是易失性的,当计算机关闭电
    源后,RAM300中的信息将不再保存。通常RAM用来存放操作系统,各种正在运行的软件、输
    入和输出数据以及与外存交换的信息等。

    磁盘400可以作为外存,用于存储数据。当然,可以理解的是,作为外存的存储器
    除了可以是磁盘400外,还可以是固态硬盘(SSD)等非易失性存储器。通常,作为外存的
    存储介质需要具有非易失性的特点,当计算机关闭电源后,存储于外存的数据仍然会被保存。
    并且,外存的存储容量较大。

    非易失性存储器(NVM)200可以同RAM300一样,直接挂在内存总线上。CPU100
    可以通过内存管理单元(MMU)访问NVM200,向NVM200中快速的存储数据或从NVM200中
    读取数据??梢岳斫獾氖?,当NVM200直接挂在内存总线上使用时,能够与RAM一样,降低
    数据访问的等待时间(latency)。并且,与RAM300相比,由于NVM200具有非易失性,从
    而能够更好的保存数据。

    需要说明的是,本发明实施例中所描述的能够挂在内存总线上的非易失性存储器可
    以包括:相变存储器(PhaseChangeMemory,PCM)、阻变存储器(ResistiveRandomAccess
    Memory,RRAM)、磁性存储器(MagneticRandomAccessMemory,MRAM)或铁电式存储器
    (FerroelectricRandomAccessMemory,FRAM)等新型非易失性存储器。这些新型NVM都
    具有访问速度快且具有非易失性的特点,并且,这些新型NVM能够按字节(Byte)寻址,将
    数据以位(bit)为单位写入非易失性存储介质中。

    处理器100,可以包括中央处理器(CPU),还可以是特定集成电路ASIC(Application
    SpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
    在处理器202中安装有操作系统和其他软件程序,从而能够实现对RAM300、磁盘400以及
    NVM200的访问。

    可以理解的是,图1仅仅是对新型NVM的功能的一种示意,从图1可以看出,新型
    NVM不仅可以作为内存使用,其功能也可以延伸到现有的外存上。根据这种方式,在一种情
    况下,新型RAM也可以只作为内存,不作为外存使用。在另一种情况下,可以既作为内存使
    用也作为外存使用。

    图2为本发明实施例提供的另一种新型非易失存储器(NVM)的应用场景图。在图2
    所述的一种应用场景中,NVM200作为存储阵列中的存储器来使用?;灰恢直泶锓绞?,在图
    2所示的应用场景中,NVM200作为外存来使用。如图2所示,在该应用场景中,可以包括应
    用服务器110、连接设备105以及存储系统120。

    应用服务器110可以包括当前技术已知的任何计算设备,如服务器、台式计算机、
    主机等等,在应用服务器110中安装有操作系统以及其他应用程序,应用服务器110可以有
    多个。

    连接设备105可以包括当前技术已知的存储系统120和应用服务器110之间的任何
    接口,如光纤交换机,或者其他现有的交换机。

    存储系统120可以包括系统控制器108以及非易失存储器200。其中,系统控制器
    108是存储系统120的“大脑”,用于对非易失存储器200进行存储管理,实现对非易失性存
    储器200的访问。例如,系统控制器108用于将数据存储于非易失存储器200中或从非易失
    存储器200中读取数据。需要说明的是,在本发明实施例中,存储系统120中的系统控制器
    108可以是一个,也可以是多个??梢岳斫獾氖?,当存储系统120中包括至少两个系统控制
    器108时,可以提高存储系统120的稳定性。需要说明的是,本发明实施例中为了将存储系
    统120的控制器与非易失性存储器200的控制器相区别,将存储系统120的控制器称为系统
    控制器108。

    非易失性存储器(NVM)200用于提供存储空间。NVM200与系统控制器108之间可
    以通过小型计算机系统接口(SmallComputerSystemInterface,SCSI)协议等通信协议
    进行通信连接,在此不进行限定。实际应用中,NVM200也可以只有一个,也可以有多个(如
    图2所示)。并且,多个NVM200可以组成存储阵列,例如,可以在多个NVM200中建立独
    立磁盘冗余阵列(RedundantArraysofIndependentDisks,RAID),以提高数据存储的安
    全性。

    本发明实施例中,NVM200可以包括当前技术中已知的能够按字节(Byte)寻址的
    新型NVM。例如,NVM200可以包括相变存储器(PhaseChangeMemory,PCM)、阻变存储器
    (ResistiveRAM,RRAM)、磁性存储器(MagnetoresistiveRAM,MRAM)或铁电式存储器
    (FerroelectricRAM,FRAM)等能够按字节(Byte)寻址的新型NVM。

    在图2所示的应用场景中,应用服务器110可以通过连接设备105访问存储系统120。
    例如,应用服务器110可以通过连接设备105向存储系统120下发输入输出I/O请求,以将
    数据写入存储系统120,或者从存储系统120中读取数据。

    图1和图2对新型NVM200的应用场景做了一个简单的介绍??梢岳斫獾氖?,由于
    新型NVM200存在有限的写入次数,因此,为了延长NVM200的使用寿命,无论是将NVM200
    作为内存使用(如图1所示)还是将NVM200作为外存使用(如图2所示),均可以采用磨损
    均衡技术对NVM200进行管理。本发明实施例基于新型NVM200的按字节(Byte)寻址的特点
    提出一种新的实现磨损均衡的方法,可以进一步提高新型NVM200的使用寿命??梢岳斫獾?br />是,当NVM200作为内存使用时,对NVM200写入次数的要求更高,因此更需要采用磨损均衡
    技术对NVM200进行管理。需要说明的是,由于SSD是按照页(page)为单位将数据写入存
    储介质。SSD不能按字节(Byte)寻址,不能将数据按位(bit)写入存储介质中。因此,在
    本发明实施例中描述的新型NVM不包括SSD。

    图3为本发明实施例提供的一种非易失性存储器200的结构示意图。如图3所示,
    非易失性存储器200可以包括NVM控制器202、内存204、主机接口206以及存储介质208。

    主机接口206用于连接主机,与主机进行通信。例如,用于接收主机下发的I/O请
    求,或将从存储介质208中读出的数据返回给主机。其中,主机接口206可以包括串行高级
    技术附件(SerialAdvancedTechnologyAttachment,SATA)接口、通用串行总线(Universal
    SerialBus,USB)接口、光纤通道技术(FibreChannel,FC)接口或快捷外设互联标准
    (PeripheralComponentInterconnectExpress,PCI-E)接口等??梢岳斫獾氖?,主机接
    口206仅仅是通信接口的一种示例,在NVM200中,除了与主机进行通信的主机接口206外,
    还可以包括与后端存储介质208进行通信的后端通信接口。

    内存204,用于存放处理器2022当前正在使用的(即执行中)的数据和程序209。
    例如,当主机向NVM写入数据时,内存204可以用于缓存主机要写入的数据。当主机从NVM
    中读取数据时,内存204可以用于缓存从存储介质208中读取的待向主机返回的数据。内存
    204可以是高速RAM存储器或者非易失性存储器等各种可以存储程序代码的非短暂性的
    (non-transitory)机器可读介质。

    程序209可以包括程序代码,所述程序代码包括计算机操作指令。

    存储介质208,用于存储数据。存储介质208可以由多个存储单元组成。在本发明
    实施例中,存储介质208中的存储单元是指用于存储数据的最小存储介质单元。例如,存储
    单元可以包括相变存储单元、磁性存储单元、阻变存储单元等非易失性存储单元。

    NVM控制器202主要包括处理器(processor)2022、缓存(cache)2024以及后端通
    信接口(CommunicationInterface)2026。处理器2022、缓存2024、以及后端通信接口2026
    通过通信总线完成相互间的通信。

    其中,缓存2024是位于处理器2022与内存204之间的临时存储器,它的容量比内
    存204小但是交换速度却比内存204要快?;捍?024用于缓存处理器2022待写入存储介质
    208的数据或者用于缓存内存204传输的从存储介质208读取的数据?;捍?024可以是RAM、
    ROM、闪存(Flashmemory)等各种可以存储数据的机器可读介质?;捍?024可以包括多级,
    例如可以包括一级缓存、二级缓存及三级缓存。

    后端通信接口2026,用于与存储介质208进行通信。例如,可以用于管理对处理器
    2022下发的对存储介质208的访问命令以及进行数据传输??梢岳斫獾氖?,后端通信接口
    2026中可以包括多个通信通道,用于连接存储介质208中不同的存储单元。

    处理器2022可以是一个中央处理器CPU,或者是特定集成电路(Application
    SpecificIntegratedCircuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集
    成电路。在处理器2022中安装有操作系统和其他软件程序,不同的软件程序可以视作一个
    处理???,具有不同的功能。例如,处理器2022可以实现对存储介质208的访问请求,或
    者对存储介质208中的数据进行管理等等。例如,处理器2022可以通过通信总线接收主机
    接口206转发的输入输出I/O请求,并根据主机下发的I/O请求通过后端通信接口2026访
    问存储介质208,向存储介质208中写入数据或者从存储介质208中读取数据。

    在本发明实施例中,处理器2022在向存储介质208写入数据时,可以执行程序209,
    具体可以执行下述方法实施例中的相关步骤,以实现磨损均衡。下面将对本发明实施例中
    NVM200具体如何实现磨损均衡的方法进行详细介绍。

    图4是本发明实施例提供的一种磨损均衡方法的流程图。该方法可以应用于图3所
    示的NVM200中。该方法具体可以由图3中所示的NVM控制器202中的处理器2022来执行。
    下面将结合图3对图4中的方法进行描述。

    在步骤405中,NVM控制器202接收第一写请求,所述第一写请求中携带有待写入所述
    NVM的第一物理页中的第一数据。所述第一写请求用于将第一数据存储于NVM200中。在一种
    情形下,若将NVM作为内存使用(如图1所示),则NVM控制器202可以接收中央处理器CPU100
    下发的写请求。在另一种情形下,若将NVM作为外存使用(如图2所示),则NVM控制器202可
    以接收存储系统120中的系统控制器108发送的写请求??梢岳斫獾氖?,NVM控制器202接收的
    写请求可以包括应用服务器110向存储系统120发送的写I/O。所述第一写请求中可以携带第
    一数据以及第一逻辑地址。需要说明的是,本发明实施例中的第一数据并不只代表一位(bit)
    数据,而是用于表示第一写请求中携带的要写入的所有数据,例如,可以包括多位(bit)
    数据。在NVM控制器202接收到第一写请求后,可以根据第一逻辑地址以及预设的逻辑地址与
    物理地址的对应关系确定与第一逻辑地址对应的第一物理地址。从而可以根据第一物理地址
    确定待写入的所述第一数据的第一物理页,其中第一物理页对应的地址范围包括第一物理地
    址。

    需要说明的是,在本发明实施例中,可以以“页”(page)为单位管理NVM的物理空
    间。一个物理页的大小可以设置为4k、8k或16k等等,在此不做限定。一个物理页(page)
    中包含多个行(line),每一行包括多个字节(Byte)。NVM控制器202向存储介质208中写入
    数据时,可以按位(bit)写入?;灰恢直泶锓绞?,NVM控制器202可以以一个位(bit)为单
    位向存储介质208中写入数据??梢岳斫獾氖?,本发明实施例中描述的第一物理页和第二物
    理页可以是NVM200中的任意一个物理页。

    在步骤410中,NVM控制器202确定所述第一物理页的磨损次数未超过预设阈值。
    在本发明实施例中,在需要向NVM中写入数据时,为了延长NVM的使用寿命,可以采用磨损
    均衡技术对NVM中的各个存储单元进行管理,以使NVM中的各个存储单元中的存储介质能够
    得到均衡使用。具体的,可以以一个页(page)为单位对NVM200做磨损均衡的管理。实际
    应用中,可以通过设置计数器来记录NVM200中的每一个物理页的磨损次数。NVM控制器202
    在接收到第一写请求后,可以根据为所属的所述第一物理页设置的计数器显示的磨损次数来
    判断是否可以将所述第一数据写入所述第一物理页。具体的,若第一物理页的磨损次数超过
    预设阈值,则将所述第一数据写到其他物理页中,以减少第一物理页的磨损。若第一物理页
    的磨损次数未超过预设阈值,则进入步骤415。

    在步骤415中,NVM控制器202根据所述第一物理页对应的第一写回页中的数据以
    及所述第一数据获得所述第一写回页中每一行的改写状态。其中,所述第一写回页中的数据
    为缓存的所述第一物理页中的数据。实际应用中,为了提高处理器2022的访问速度,可以
    预先将存储介质208中的物理页中的数据预先缓存在缓存2024中。例如,可以将存储介质
    208中的第一物理页预先读取到缓存2024中。本发明实施例中,为了描述清楚、方便,将缓
    存2024中缓存的第一物理页称为第一写回页?;灰恢直泶锓绞?,第一写回页中的数据为缓
    存的第一物理页中的数据。当需要向第一物理页中写入数据时,可以先将数据写入第一写回
    页,在NVM控制器202空闲时,再将第一写回页中的数据写入存储介质208的第一物理页中。
    当需要从第一物理页读取数据时,可以从缓存2024中缓存的与第一物理页对应的第一写回
    页中读取。通过这种方式,能够提高NVM控制器202的访问速度。

    本领域人员可以知道,在实际应用中,可以根据对第一物理页的访问情况提前将第
    一物理页中的数据从存储介质208中读取出来并缓存在缓存2024中。当然,也可以在接收
    到访问第一物理页的第一写请求后,再将第一物理页缓存在缓存2024中,在此不做限定。
    在缓存2024中可以包括与第一物理页对应的第一写回页,也可以包括与第二物理页对应的
    第二写回页。在步骤415中,NVM控制器202可以根据接收的第一数据以及缓存2024中缓存
    的与第一物理页对应的第一写回页来确定第一写回页中每一行的改写状态。具体的,可以将
    接收的第一数据写入第一写回页的相应位置,从而可以获知在本次写操作中所述第一写回页
    中每一行的改写状态。若本次写操作中需要对某一行(line)中的至少一位(Bit)进行改
    写,则确认该行的改写状态为“改写”。若本次写操作中不会对某一行(line)中的任意一
    位(Bit)进行改写,则确定该行的改写状态为“未改写”。需要说明的是,本发明实施例中,
    改写操作可以包括在一次操作过程中,将某一位数据由“0”修改为“1”或由“1”修改为
    “0”的过程。实际应用中,一种情形下,可以采用“0”来标识改写状态为“未改写”,用
    “1”来标识改写状态为“改写”。在另一种情形下,还可以采用“1”来标识改写状态为“未
    改写”,用“0”来标识改写状态为“改写”。在又一种情形下,可以只在位图中用“1”来标
    识改写状态为“改写”,对未改写的行不进行标识。此外,还可以用其他标识位表示是否需
    要对该行进行改写,在此不对标识位的具体形式做限定。本发明实施例中以“0”来标识改
    写状态为“未改写”,用“1”来标识改写状态为“改写”为例进行描述。

    实际应用中,可以采用位图或向量等方式来记录第一写回页中各行的改写状态,在
    此不做限定。在本发明实施例中以采用位图的形式来记录第一写回页在本次写操作中的改写
    状态为例进行描述。如图5a为本发明实施例提供的一种改写状态的示意图。如图5a所示,
    用位图来记录写回页在本次写操作中的改写状态。其中,位图中的一列可以对应一个写回页
    中的数据所占的物理空间。本发明实施例以第一写回页为例进行描述,其中,第一写回页是
    存储介质208中的任意一个写回页。位图中的一个格子可以对应一个写回页中的一行(line)
    数据所占的物理空间。通常,位图中的一个格子可以占用1位(bit)的地址空间。例如,
    一行可以包括8个字节(Byte)。需要说明的是,本发明实施例中不对一行的地址空间大小
    进行限定,一行的大小可以根据页的大小进行设置,只要一页包括多个行,并且一行(line)
    包括多个字节(Byte)即可。实际应用中,也可以用位图中的一行对应一个写回页中的数据
    所占的物理空间,在此不做限定。在本发明实施例中,以位图中的一列对应一个写回页(page)
    中的数据所占的物理空间,且一个写回页(page)中包括四行(line)为例进行描述。根据
    图5a可知,在本次写操作中,NVM控制器202会根据第一数据对第一写回页的第二行和第
    三行进行改写。本领域人员可以知道,在一次写操作中,若需要对写回页进行改写,则将数
    据写入NVM介质208时,会对与该写回页对应的物理页中的相应位置存储的数据进行改写。

    在步骤420中,NVM控制器202根据记录的所述第一物理页的磨损状态以及所述第
    一写回页中每一行的改写状态判断本次写操作是否只需要对所述第一物理页中标识为未磨
    损的行进行改写。如果本次写操作只需要对所述第一物理页中标识为未磨损的行(line)进
    行改写,进入步骤425,否则,进入步骤435。在本发明实施例中,可以记录前一次写操作
    后第一物理页(page)中每一行(line)的磨损状态。根据记录的第一物理页的磨损状态可
    以获知第一物理页中每一行的当前磨损状态??梢岳斫獾氖?,在初始状态下,由于第一物理
    页为未被改写过的页,可以将第一物理页中每一行的磨损状态记录为“未磨损”。若对第一
    物理页进行过改写操作,则在操作完成后可以根据该改写操作过程中对第一物理页中各行的
    改写情况对第一物理页的磨损状态进行更新。

    实际应用中,可以采用位图或向量等方式来记录第一物理页的磨损状态,在此不做
    限定。在本发明实施例中,以用位图的形式来标识第一物理页当前的磨损状态为例进行描述。
    其中,位图中的一列可以对应一个物理页中的数据所占的物理空间,位图中的一个格子可以
    对应一个物理页中的一行(line)数据所占的物理空间。例如,一行(line)可以包括8个
    字节(Byte)。需要说明的是,本发明实施例中不对一行(line)的地址空间大小进行限定,
    一行(line)的大小可以根据一页(page)的大小进行设置,只要一页(page)里面包括多
    个行(line),并且一行(line)包括多个字节(Byte)即可。实际应用中,也可以以位图
    中的一行(line)对应一个物理页(page)中的数据所占的物理空间。在本发明实施例中,
    以位图中的一列对应一个物理页中的数据所占的物理空间为例进行描述。

    实际应用中,一种情形下,可以用“0”来表示磨损状态为“未磨损”,用“1”来表
    示磨损状态为“磨损”。在另一种情形下,可以用“1”来表示磨损状态为“未磨损”,用“0”
    来表示磨损状态为“磨损”。此外,还可以用其他标识位表示行(line)的磨损状态,在此
    不对标识位的具体形式做限定。本发明实施例中“0”来表示磨损状态为“未磨损”,用“1”
    来表示磨损状态为“磨损”为例进行描述。图5b为本发明实施例提供的一种磨损状态示意
    图。图5c为本发明实施例提供的又一种磨损状态示意图。例如,在一种情形下,如图5b所
    示,第一物理页的磨损状态为:第一行和第四行的磨损状态为“已磨损”,第二行和第三行
    的磨损状态为“未磨损”。在又一种情形下,如图5c所示,第一物理页的磨损状态为:第一
    行、第二行和第四行的磨损状态为“已磨损”,第三行的磨损状态为“未磨损”。

    在步骤420中,NVM控制器202可以根据记录的所述第一物理页的磨损状态以及所
    述第一写回页中每一行的改写状态来判断本次写操作是否只需要对所述第一物理页中标识
    为未磨损的行进行改写。如果本次写操作只需要对所述第一物理页中标识为未磨损的行进行
    改写,进入步骤425,否则,进入步骤435。例如,在一种情形下,根据图5a和图5b记录
    的信息可以知道,本次写操作需要对第一物理页中的第二行和第三行进行改写。其中,第二
    行和第三行的磨损状态均为“未磨损”,则可以确定在本次写操作中,NVM控制器202只需要
    对第一物理页中标识为“未磨损”的行进行改写,该方法进入步骤425。在另一种情形下,
    根据图5a和图5c记录的信息可以知道,NVM控制器202需要对第一物理页中的第二行和第
    三行进行改写。其中,第二行的磨损状态为“磨损”,第三行的磨损状态位“未磨损”,则可
    以确定本次写操作需要对第一物理页中标识为“磨损”的行(如图5c中的第一列第二行的
    位置)进行改写,该方法进入步骤435。

    在步骤425中,NVM控制器202将所述第一物理页的磨损次数保持不变,并将所述
    第一数据写入所述第一物理页。具体的,若NVM控制器202根据记录的所述第一物理页的磨
    损状态以及所述第一写回页中每一行的改写状态判断本次写操作只需要对所述第一物理页
    中标识为未磨损的行进行改写,则NVM控制器202可以将所述第一数据写入所述第一物理页,
    且不会增加第一物理页的磨损次数。具体的,NVM控制器202可以根据第一物理地址将第一
    数据写入第一物理页中的相应位置。例如,第一写回页在本次写操作中的改写状态的位图如
    图5a所示,若第一物理页的当前磨损状态如图5b所示,NVM控制器202可以根据第一物理
    地址将第一数据写入第一物理页中的第二行和第三行中。在这种情形下,考虑到在本次写操
    作中将第一数据写入第一物理页中的第二行和第三行前,第一物理页中的第二行和第三行当
    前的磨损状态为“未磨损”(如图5b所示),NVM控制器202在将第一数据写入第一物理页中
    的第二行和第三行后,可以确定第一物理页内部各行之间的磨损是均衡的,因此,NVM控制
    器202并不会增加第一物理页的磨损次数。

    在步骤430中,NVM控制器202将所述第一物理页中未被改写的行的磨损状态保持
    不变,并且,将在本次写操作中所述第一物理页中进行改写的行的磨损状态设置为磨损。本
    发明实施例中,NVM控制器202将第一数据写入第一物理页后,在步骤430中,NVM控制器
    202可以根据本次写操作的写入情况对第一物理页的磨损状态进行更新。具体的,NVM控制
    器202将所述第一物理页中在本次写操作中未被改写的行的磨损状态保持不变,并且将在本
    次写操作中被改写的行的磨损状态设置为磨损。例如,第一写回页在本次写操作中的改写状
    态的位图如图5a所示,若第一物理页的当前磨损状态如图5b所示,则NVM控制器202对第
    一物理页执行写操作后,更新后的第一物理页的磨损状态的位图可以如图5d所示。图5d为
    本发明实施例提供的一种更新后的第一物理页的磨损状态示意图。根据图5d可以知道,在
    执行本次写操作后,NVM控制器202可以将第一行和第四行的磨损状态保持不变,并将第二
    行和第三行的磨损状态更新为“磨损”。第一物理页的磨损状态经过更新后,第一物理页中
    的第一行、第二行、第三行和第四行的磨损状态均为“磨损”。

    可以理解的是,第一物理页更新后的磨损状态可以作为下一次对第一物理页执行磨
    损均衡操作的依据。具体的,在对第一物理页执行下一次写操作时,可以根据更新后的磨损
    状态判断是否需要增加第一物理页的磨损次数。

    在步骤435中,NVM控制器202将所述第一物理页的磨损次数加1。本发明实施例
    中,在根据步骤420判断需要对第一物理页中标识为“磨损”的行进行改写的情况下,在步
    骤435中,NVM控制器202可以对第一物理页的磨损次数进行更新,将所述第一物理页的磨
    损次数加1,并进入步骤440??梢岳斫獾氖?,实际应用中,可以将第一物理页的磨损次数
    增加一个预设值。其中,预设值可以自行设定。例如,可以将一个预设值设置为1、2或3
    等等数值,只要能够用于记录第一物理页的磨损次数即可,在此不做限定??梢岳斫獾氖?,
    预设值是用于记录磨损次数递增的单位值,如果预设值设置的比1大,则磨损次数的预设阈
    值也应该相应增大,从而可以正确的反应NVM200的磨损次数和使用寿命。

    在步骤440中,NVM控制器202根据所述第一物理地址将所述第一数据写入所述第
    一物理页中。实际应用中,在一种情形下,可以先将第一数据写入第一写回页,在NVM控制
    器空闲后,再将第一写回页中的数据写入第一物理页中。另一种情形下,也可以直接根据第
    一物理地址将所述第一数据写入所述第一物理页中。在此不做限定。本领域人员可以知道,
    采用第一种写数据的方式,NVM控制器202将第一数据写入第一写回页中后,即可向主机返
    回成功响应,从而可以提高NVM控制器202的响应速度。

    在步骤445中,NVM控制器202将所述第一物理页中标识为磨损且在本次写操作中
    进行了改写的行的磨损状态保持为磨损,并将其他行的磨损状态更新为未磨损。在将第一数
    据写入第一物理页后,NVM控制器202可以对第一物理页的磨损状态进行更新。具体的,NVM
    控制器202可以将第一物理页中标识为磨损且在本次写操作中进行了改写的行的磨损状态保
    持为磨损,并将其他行的磨损状态更新为未磨损。例如,第一写回页在本次写操作中的改写
    状态的位图如图5a所示,若第一物理页的当前磨损状态如图5c所示,则在对第一物理页执
    行写操作后,更新后的第一物理页的磨损状态的位图可以如图5e所示。图5e为本发明实施
    例提供的又一种更新后的磨损状态示意图。根据图5e可以知道,在执行本次写操作后,NVM
    控制器202将第一物理页中的第三行的磨损状态保持为“磨损”,并将第一行、第二行和第
    四行的磨损状态更新为“未磨损”。

    根据步骤445可知,在本发明实施例中,若本次写操作需要对第一物理页中标识为
    “磨损”的行进行改写,则在将第一数据写入第一物理页后,在更新第一物理页的磨损状态
    时,只需要将第一物理页中磨损次数最多的行(line)的磨损状态保持为“磨损”,其他行
    的磨损状态可以更新为“未磨损”。

    可以理解的是,本发明实施例中,记录第一写回页中每一行改写状态的位图,以及
    记录第一物理页的磨损状态的位图均可以保存在NVM200的内存204中,也可以缓存在NVM
    控制器202的缓存2024中,还可以存储在存储介质208中,在此不做限定??梢岳斫獾?,
    若将记录第一写回页中每一行改写状态的位图以及记录第一物理页的磨损状态的位图缓存
    在缓存2024中,则在断电后再次启动时,可以将记录第一物理页的磨损状态的位图设置为
    初始状态。其中,磨损状态的初始状态可以为“未磨损”。并且,在实际应用中,还可以根
    据实际情况,可以不保存存储介质208中所有物理页更新的磨损状态,而只保存访问较多的
    物理页的更新后的磨损状态。当需要对访问频率较低的物理页进行写操作时,可以为该频率
    较低的物理页临时建立一个初始的磨损状态位图或磨损状态向量,将该物理页的当前磨损状
    态初始化为“未磨损”。

    需要说明的是,在本发明实施例中,不对步骤425和步骤430的执行顺序进行限定。
    也不对步骤435、步骤440和步骤445的执行顺序进行限定。

    在本发明实施例中,在执行一次写操作的过程中,NVM控制器202不会对一个物理
    页执行了写操作就增加该物理页的磨损次数。在确定是否增加物理页的磨损次数时,NVM控
    制器202会综合考虑该物理页中各行的磨损状态以及本次写操作对各行的改写情况进行判
    断。在一种情形下,若本次写操作只需要对第一物理页中标识为“未磨损”的行(line)进
    行改写,则NVM控制器202在将第一数据写入第一物理页后,并不需要增加第一物理页的磨
    损次数。只是在更新第一物理页的磨损状态时,NVM控制器202需要将本次写入的行的磨损
    状态更新为“磨损”。本发明实施例提供的磨损均衡方法,能够以行(line)为粒度来判断
    是否增加物理页的磨损次数,与现有技术中只要对物理页执行了写操作即增加该物理页的磨
    损次数的方式相比,在维持较低的空间开销的基础上,能够更真实的反映第一物理页中每一
    行(line)的磨损情况,提高磨损次数的计算精确度,并能够进一步的延长非易失性存储器
    的使用寿命。

    进一步的,在本发明实施例中,在另一种情形下,若本次写操作会对第一物理页中
    标识为“磨损”的行进行改写,NVM控制器202才会增加第一物理页的磨损次数。并且,在
    更新第一物理页的磨损状态时,NVM控制器202只会将第一物理页中磨损最严重的行的磨损
    状态保持为“磨损”,其他行的磨损状态被更新为“未磨损”。根据这种方式,能够更准确的
    反映第一物理页中各行(line)的磨损情况对第一物理页的磨损造成的影响,从而为下一次
    写操作提供更加真实的判断依据。

    在另一种情形下,图6为本发明实施例提供的又一种磨损均衡方法流程图。如图6
    所示。该方法可以应用于图3所示的NVM中。该方法具体可以由图3中所示的NVM控制器202
    中的处理器2022来执行。图6所示的方法与图4所示的方法类似,下面将结合图3、图4
    和图5对图6进行简要介绍。

    在步骤600中,NVM控制器202接收第二写请求,所述第二写请求中携带有待写入
    所述NVM的第二数据及第二逻辑地址。在图6所示的实施例将以写入第二数据为例进行说明。
    NVM控制器202接收的第二写请求可以包括中央处理器CPU100下发的写请求,也可以包括应
    用服务器110向存储系统120发送的写请求。所述第二写请求中可以携带有待写入的第二数
    据以及第二逻辑地址。

    在步骤605中,NVM控制器202根据第二逻辑地址确定所述第二数据待写入的第二
    物理地址。本领域人员可以知道,在NVM200中,可以预先设置逻辑地址与NVM介质208中
    的物理地址的对应关系。具体的,NVM控制器202可以根据第二逻辑地址以及预设的逻辑地
    址与物理地址的对应关系确定与第二逻辑地址对应的第二物理地址。

    在步骤610中,NVM控制器202判断所述第二物理地址所属的第一物理页的磨损次
    数是否超过预设阈值,如果第一物理页的磨损次数超过预设阈值,则所述方法进入步骤618,
    否则,进入步骤615。在本发明实施例中仍然以第一物理页对应的地址范围包括第二物理地
    址为例进行描述?;灰恢直泶锓绞?,NVM控制器202根据第二物理地址可以将第二数据写入
    第一物理页中。为了使NVM介质208中的各个存储单元实现磨损均衡,以延长NVM200的使
    用寿命,在写操作过程中,可以预先判断待写入第二数据的第一物理页的磨损次数是否超过
    预设阈值。实际应用中,可以通过为第一物理页设置的计数器的值来判断第一物理页的磨损
    次数是否超过预设阈值。若第一物理页的磨损次数未超过预设阈值,该方法进入步骤615。
    若第一物理页的磨损次数超过预设阈值,该方法进入步骤618。

    在步骤615中,NVM控制器202根据所述第一物理页对应的第一写回页中的数据以
    及所述第二数据获得所述第一写回页中每一行的改写状态。若在步骤610中,NVM控制器202
    判断第一物理页的磨损次数没有超过预设阈值,则NVM控制器202可以进入步骤615以获得
    所述第一写回页中每一行的改写状态。该方法进入步骤620。步骤615与步骤415类似,具
    体可以参见步骤415的描述,在此不再赘述。

    在步骤618中,NVM控制器202将所述第二数据写入第二物理页中。其中,所述第
    二物理页的磨损次数不大于所述预设阈值。在本次写操作过程中,若在步骤610中,NVM控
    制器202判断第一物理页的磨损次数超过预设阈值,则NVM控制器202可以重新为分配一个
    物理页,例如第二物理页,并将第二数据写入第二物理页中。其中,第二物理页的磨损次数
    不大于所述预设阈值。通常情况下,第二物理页可以是最少被使用的物理页?;蛘?,换一种
    表达方式,第二物理页可以是磨损次数最少的物理页。实际应用中,NVM控制器202可以通
    过交换第一物理页和第二物理页的内容,然后将第二逻辑地址对应的地址空间修改为指向第
    二物理页对应的地址空间来实现。具体在将第二数据写入第二物理页时,可以参照图4所示
    的方法将数据写入第二物理页,并对第二物理页的磨损次数和磨损状态进行更新??梢岳斫?br />的是,实际应用中,选择第二物理页的方式可以根据具体的磨损均衡的算法来确定,在此不
    做限定。

    具体的,NVM控制器202可以根据第二数据以及与第二物理页对应的第二写回页中
    的数据获得第二写回页中每一行的改写状态。例如,第二写回页中每一行(line)的改写状
    态如图5a所示中所示,第二写请求需要对第二写回页中的第一行、第二行以及第三行进行
    改写。若第二物理页当前的磨损状态如图5b所示,其中,第一行和第三行的磨损状态为“未
    磨损”,第二行和第四行的磨损状态为“磨损”。根据图5a所示的第二写回页的改写状态以
    及图5b所示的第二物理页当前的磨损状态可知,本次写操作需要对标识为“磨损”的行(第
    二写回页中的第二行)进行改写。因此,NVM控制器202根据第二物理地址将第二数据写入
    第二物理页后,需要增加第二物理页的磨损次数,并且需要对第二物理页的磨损状态进行更
    新。更新后的第二物理页的磨损状态可以如图5d所示,更新后的第二物理页的磨损状态为:
    第一行、第三行和第四行的磨损状态为“未磨损”,第二行的磨损状态为“磨损”。

    在步骤620中,NVM控制器202判断本次写操作是否只需要对所述第一物理页中标
    识为未磨损的行进行改写,如果本次写操作只需要对所述第一物理页中标识为未磨损的行进
    行改写,则进入步骤625,否则进入步骤635。

    在步骤625中,NVM控制器202将所述第一物理页的磨损次数保持不变,并根据所
    述第二物理地址将所述第二数据写入所述第一物理页中。

    在步骤630中,NVM控制器202将所述第一物理页中在本次写操作中未被改写的行
    的磨损状态保持不变,并且,将本次写操作中进行改写的行的磨损状态设置为磨损。

    在步骤635中,NVM控制器202将所述第一物理页的磨损次数加1。

    在步骤640中,NVM控制器202根据所述第二物理地址将所述第二数据写入所述第
    一物理页中。

    在步骤645中,NVM控制器202将所述第一物理页中标识为磨损且在本次写操作中
    进行了改写的行的磨损状态保持为磨损,并将其他行的磨损状态更新为未磨损。

    由于图6所示的实施例中NVM控制器202将第二数据写入第一物理页的处理过程与
    图4所示的实施例中NVM控制器202将第一数据写入第一物理页的处理过程类似,因此,步
    骤615-步骤645可以分别参见步骤415-步骤445的相应描述,在此不再赘述。

    图6所述的实施例在图4所示的实施例的基础上,为了实现存储介质208内部各存
    储单元的磨损均衡,当写入第二数据时,若确定待写入第二数据的第一物理页的磨损次数超
    过预设阈值,则可以将所述第二数据写入磨损次数未超过预设阈值的第二物理页中。从而在
    各物理页之间实现了磨损均衡。

    本发明实施例提供的磨损均衡方法,能够以行(line)为粒度来判断是否增加物理
    页的磨损次数,与现有技术中只要对物理页执行了写操作即增加该物理页的磨损次数的方式
    相比,在维持较低的空间开销的基础上,能够提高磨损次数的计算精确度,更真实的反映第
    一物理页中每一行(line)的磨损情况,从而能够进一步的延长非易失性存储器的使用寿命。

    图7为本发明实施例提供的一种磨损均衡装置的结构示意图。磨损均衡装置70可以
    用于执行上述如图4和图6所示的方法。如图7所示,该磨损均衡装置70可以包括:

    接收???00,用于接收第一写请求,所述第一写请求中携带有待写入非易失性存
    储器NVM中的第一物理页的第一数据,其中,所述NVM包括多个物理页,每一个物理页page
    包括多行line,每一行包括多个字节Byte。需要说明的是,本发明实施例中的第一数据并
    不只代表一位(bit)数据,而是用于表示第一写请求中携带的要写入的所有数据,例如,
    可以包括多位(bit)数据。

    在本发明实施例中,可以以“页”(page)为单位管理NVM的物理空间。一个物理页
    的大小可以设置为4k、8k或16k等等,在此不做限定。一个物理页(page)中包含多个行
    (line),每一行包括多个字节(Byte)。NVM控制器202向存储介质208中写入数据时,可
    以按位(bit)写入?;灰恢直泶锓绞?,NVM控制器202可以以一个位(bit)为单位向存储
    介质208中写入数据??梢岳斫獾氖?,本发明实施例中描述的第一物理页和第二物理页可以
    是NVM200中的任意一个物理页。

    确定???05,用于确定所述第一物理页的磨损次数未超过预设阈值。在本发明实
    施例中,可以以一个页(page)为单位对NVM200做磨损均衡的管理。实际应用中,可以通
    过设置计数器来记录NVM200中的每一个物理页的磨损次数。NVM控制器202在接收到第一
    写请求后,可以根据为所属的所述第一物理页设置的计数器显示的磨损次数来判断是否可以
    将所述第一数据写入所述第一物理页。具体的,若第一物理页的磨损次数超过预设阈值,则
    将所述第一数据写到其他物理页中,以减少第一物理页的磨损。若第一物理页的磨损次数未
    超过预设阈值,则触发获取???10。

    获取???10,用于根据所述第一物理页对应的第一写回页中的数据以及所述第一
    数据获得所述第一写回页中每一行的改写状态,其中,所述第一写回页中的数据为缓存的所
    述第一物理页中的数据。

    判断???15,用于根据记录的所述第一物理页的磨损状态以及所述第一写回页中
    每一行的改写状态判断本次写操作是否只需要对所述第一物理页中标识为未磨损的行进行
    改写。本发明实施例中,第一写回页中的数据为缓存的第一物理页中的数据。实际应用中,
    判断???15可以根据接收的第一数据以及缓存的与第一物理页对应的第一写回页来确定第
    一写回页中每一行的改写状态。具体的,可以将接收的第一数据写入第一写回页的相应位置,
    从而可以获知在本次写操作中所述第一写回页中每一行的改写状态。若本次写操作中需要对
    某一行(line)中的至少一位(Bit)进行改写,则确认该行的改写状态为“改写”。若本次
    写操作中不会对某一行(line)中的任意一位(Bit)进行改写,则确定该行的改写状态为
    “未改写”。需要说明的是,本发明实施例中,改写操作可以包括在一次操作过程中,将某
    一位数据由“0”修改为“1”或由“1”修改为“0”的过程。在本发明实施例中,可以采用
    “0”来标识改写状态为“未改写”,用“1”来标识改写状态为“改写”,在此不对标识位的
    具体形式做限定。实际应用中,判断???15可以根据记录的所述第一物理页的磨损状态以
    及所述第一写回页中每一行的改写状态来判断本次写操作是否只需要对所述第一物理页中
    标识为未磨损的行进行改写。

    处理???20,用于在判断本次写操作只需要对所述第一物理页中标识为未磨损的
    行进行改写的情况下,保持所述第一物理页的磨损次数不变,并将所述数据写入所述第一物
    理页。具体的,若判断???15据记录的所述第一物理页的磨损状态以及所述第一写回页中
    每一行的改写状态判断本次写操作只需要对所述第一物理页中标识为未磨损的行进行改写,
    则处理???20可以将所述第一数据写入所述第一物理页,且不会增加第一物理页的磨损次
    数。具体的,NVM控制器202可以根据第一物理地址将第一数据写入第一物理页中的相应位
    置。

    实际应用中,磨损均衡装置70还可以包括:记录???25,用于在所述处理???20
    根据所述物理地址将所述数据写入所述第一物理页中后,将所述第一物理页中未被改写的行
    的磨损状态保持不变,并且,将在本次操作中进行了改写的行的磨损状态设置为磨损。

    在又一种情形下,若判断???15判断本次写操作需要对所述第一物理页中标识为
    磨损的行进行改写,则处理???20,还用于将所述第一物理页的磨损次数增加一个预设值,
    并将所述第一数据写入所述第一物理页中。记录???25,还用于将所述第一物理页中标识
    为磨损且在本次写操作中进行了改写的行的磨损状态保持为磨损,并将其他行的磨损状态更
    新为未磨损。

    在又一种情形下,接收???00还用于接收第二写请求,所述第二写请求中携
    带待写入所述第一物理页的第二数据。确定???05还用于确定所述第一物理页的磨损次数
    大于预设阈值。处理???20还用于在确定???05确定所述第一物理页的磨损次数大于预
    设阈值的情况下,将所述第二数据写入第二物理页中,其中,所述第二物理页的磨损次数不
    大于所述预设阈值。实际应用中,第二物理页可以为所述存储介质中磨损次数最少的物理页。

    本发明实施例所提供的磨损均衡装置70可以执行图4和图6所述实施例所描述
    的磨损均衡方法,各个单元功能的详细描述可参见方法实施例中的描述,在此不再赘述。

    可以理解的是,图7所示的实施例仅仅是示意性的。例如,所述??榈幕?,
    仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个??榛蜃榧梢越?br />合或者可以集成到另一个设备中,或一些特征可以忽略,或不执行。另一点,图7所显示或
    讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,??榈募浣玉詈匣?br />通信连接,可以是电性,机械或其它的形式。

    作为分离部件说明的??榭梢允腔蛘咭部梢圆皇俏锢砩戏挚?。作为??橄允?br />的部件可以是或者也可以不是物理单元。各??榛虿考梢晕挥谝桓龅胤?,或者也可以分布
    到多个网络单元上??梢愿菔导实男枰≡衿渲械牟糠只蛘呷磕?槔词迪直臼凳├桨?br />的目的。

    本发明实施例还提供一种数据处理的计算机程序产品,包括存储了程序代码的
    计算机可读存储介质,所述程序代码包括的指令用于执行前述任意一个方法实施例所述的方
    法流程。本领域普通技术人员可以理解,前述的存储介质包括:U盘、移动硬盘、磁碟、光
    盘、随机存储器(Random-AccessMemory,RAM)、固态硬盘(SolidStateDisk,SSD)或
    者非易失性存储器(non-volatilememory)等各种可以存储程序代码的非短暂性的
    (non-transitory)机器可读介质。

    需要说明的是,本申请所提供的实施例仅仅是示意性的。例如,上述实施例中
    各部件的划分,实际实现时还可以有另外的划分方式。例如多个??榛蜃榧梢越岷匣蛘呖?br />以集成到另一个设备中,或一些特征可以忽略,或不执行。另外,所显示或讨论的部件相互
    之间的耦合或直接耦合或通信连接可以是通过一些通信接口、??榈募浣玉詈匣蛲ㄐ帕?,
    可以包括电性连接、机械连接或其它的连接形式。

    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,在上述实施
    例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施
    例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合
    存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行,反之亦然。在此不做
    限定。

    关于本文
    本文标题:非易失性存储器及磨损均衡方法.pdf
    链接地址://www.4mum.com.cn/p-6301970.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 福建十一选五中奖助手 ·红球大小分布图 广西11选5中奖规则 2012年上证指数走势图 湖北十一选五遗漏走势图 澳洲幸运5开奖查询 福利彩票五分彩怎么玩 888棋牌游戏官网手机版 排列五走势图数字连线 杰克棋牌安卓版下载 腾讯分分彩开奖号码计算 沈阳棋牌官方下载 快乐飞艇网上快彩骗局揭秘 晓游棋牌上海斗地主 腾讯分分彩计划精准版 辉煌棋牌