书签 分享 收藏 举报 版权申诉 / 11

应用于固态硬盘阻变存储器缓存的损耗均衡方法.pdf

  • 上传人:00****42
  • 文档编号:6381731
  • 上传时间:2019-06-05
  • 格式:PDF
  • 页数:11
  • 大小:654.38KB
  • 摘要
    申请专利号:

    CN201510381641.0

    申请日:

    2015.07.02

    公开号:

    CN104991743A

    公开日:

    2015.10.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20150702|||公开

    IPC分类号:

    G06F3/06

    主分类号:

    G06F3/06

    申请人:

    西安交通大学

    发明人:

    孙宏滨; 代亮亮; 王建校; 郑南宁

    地址:

    710049陕西省西安市咸宁西路28号

    优先权:

    专利代理机构:

    西安通大专利代理有限责任公司61200

    代理人:

    陆万寿

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种应用于固态硬盘阻变存储器缓存的损耗均衡方法,包括以下步骤:由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。本发明能够有效降低物理地址的耗费,同时冷热逻辑地址的鉴别精度高。

    权利要求书

    权利要求书
    1.  一种应用于固态硬盘阻变存储器缓存的损耗均衡方法,其特征在于,包括以下步骤:
    由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。

    2.  根据权利要求1所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法,其特征在于,根据一个时间周期内的所有热逻辑地址构建热数据链的具体操作为:在每个时间周期结束后,将该时间周期内的所有热逻辑地址构成一个热数据链,再将热数据链链接到循环队列尾指针指向的结点后,并将尾指针指向下一个结点,同时按照循环队列的原理管理每个时间周期产生的热数据链,然后除去循环队列中的冗余热逻辑地址。

    3.  根据权利要求2所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法,其特征在于,除去循环队列中的冗余热逻辑地址的具体操作为:一个时间周期后遍历查询循环队列中所有热逻辑地址,判断该时间周期产生的热逻辑地址是否已经存在,若存在,则删除热数据链中查询的热逻辑地址,否则,则将该时间周期产生的热逻辑地址作为热数据链中的一员链接到循环队列尾指针指向的结点后,当循环队列已满时,则在每个时间周期后删除循环队列首指针指向的结点的热数据链,再去除该时间周期产生热数据链中的冗余热逻辑地址,然后再将该时间周期产生的热数据链加入到循环队列尾指针指向的结点后面,最后循环队列尾指针指向下一个结点。

    4.  根据权利要求1所述的应用于固态硬盘阻变存储器缓存的损耗均衡 方法,其特征在于,利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点的具体操作为:
    查询ReRAM缓存判断写请求是否命中,若未命中,则按照缓存管理策略分配一个ReRAM缓存结点给当前写请求对应的逻辑地址,再将写请求对应的逻辑地址存入到该ReRAM缓存内的结点中;若命中,则查询热数据链,当写请求对应的逻辑地址在热数据链中未命中时,则查询写请求对应的逻辑地址在ReRAM缓存中的结点位置,然后在查找到的ReRAM缓存中的结点位置更新写请求对应的逻辑地址;当写请求对应的逻辑地址在热数据链中命中时,则通过快速定位查找方法定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,再采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,然后将本次写请求对应的逻辑地址更新到分配的ReRAM缓存中的结点处,并设置本次写请求对应的逻辑地址在ReRAM缓存中对应的原结点无效,完成数据交换操作。

    5.  根据权利要求1所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法,其特征在于,通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置的具体操作为:
    采用哈希查找方法定位写请求在ReRAM缓存中的位置,并通过链地址法处理哈希冲突,哈希表由一个指针数组和指针数组中的每个元素后链接的链表构成,链表结点的数据域包含写请求对应的逻辑地址和存储该写请求对应的逻辑地址对应缓存物理地址的指针*rppn,链表结点的指针域包含指向下一个结点的指针*next,写请求的逻辑地址在热数据链中命中时,查询哈希表定位写请求对应的逻辑地址在ReRAM缓存中的位置,然后更新写请求对应的逻辑地址在ReRAM缓存中的物理地址,完成数据交 换操作,最后将写请求对应的逻辑地址对应的新的物理地址更新到哈希表中;若写请求对应的逻辑地址从热数据链中删除时,需要同时删除哈希表中写请求对应的逻辑地址所在的结点;若新的写请求对应的逻辑地址插入到热数据链中时,需要将写请求对应的逻辑地址和其在ReRAM缓存中对应的物理地址作为一个新的结点增添到哈希表中。

    说明书

    说明书应用于固态硬盘阻变存储器缓存的损耗均衡方法
    技术领域
    本发明属于非易失性数据存储技术领域,涉及一种应用于固态硬盘阻变存储器缓存的损耗均衡方法。
    背景技术
    固态硬盘SSD系统中的DRAM主要用于数据缓存和固件程序运行,然而DRAM的漏电流大,需要不断地刷新保证数据的正确性,产生的功耗大,并且突然掉电后导致数据丢失,由于非易失性存储器(Non-Volatile Memory,NVM)功耗低,掉电后数据不丢失等优势,现在越来越倾向于使用NVM取代SSD系统中的DRAM。
    阻变存储器(Resistive Random Access Memory,ReRAM)可扩展性好、读写速度快、存储单元结构简单、功耗低,ReRAM操作电流小,可以使用交叉阵列结构提高其存储密度,而且与CMOS半导体技术相兼容,依据现有的芯片生产流程和制作工艺,可以很容易生产ReRAM,因此,ReRAM被认为是最具潜力的非易失性存储器,并能取代固态硬盘SSD系统中的DRAM。
    目前,ReRAM的寿命还不能达到日常使用需求,若在ReRAM同一个物理地址上频繁更新数据会致使其磨损程度升高,从而发生数据存储错误。损耗均衡是解决ReRAM中存在的这一问题而被广泛采用的方法。然而,ReRAM缓存的操作以页为单位,传统上应用于闪存的损耗均衡方法在应用于ReRAM缓存时,需要记录ReRAM缓存每个数据页的写 次数,导致空间损耗大,查询ReRAM缓存数据页写次数信息时,导致时间开销大。针对以上问题,科研学者提出了很多针对新型非易失性存储器的损耗均衡方法,但仍存在如下问题:第一,没有针对性的移动数据,一个周期后移动的数据其物理地址损耗可能并不大,这样会带来额外的耗费;第二,在数据移动过程中,可能将数据从一个损耗很大的物理地址中移动到另外一个损耗很大的物理地址中;第三,冷热逻辑地址的鉴别准确度不高。
    发明内容
    本发明的目的在于克服上述现有技术的缺点,提供了一种应用于固态硬盘阻变存储器缓存的损耗均衡方法,方法能够有效降低物理地址的耗费,同时冷热逻辑地址的鉴别精度高。
    为达到上述目的,本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法包括以下步骤:
    由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。
    根据一个时间周期内的所有热逻辑地址构建热数据链的具体操作为:在每个时间周期结束后,将该时间周期内的所有热逻辑地址构成一个热数据链,再将热数据链链接到循环队列尾指针指向的结点后,并将尾指针指向下一个结点,同时按照循环队列的原理管理每个时间周期产 生的热数据链,然后除去循环队列中的冗余热逻辑地址。
    除去循环队列中的冗余热逻辑地址的具体操作为:一个时间周期后遍历查询循环队列中所有热逻辑地址,判断该时间周期产生的热逻辑地址是否已经存在,若存在,则删除热数据链中查询的热逻辑地址,否则,则将该时间周期产生的热逻辑地址作为热数据链中的一员链接到循环队列尾指针指向的结点后,当循环队列已满时,则在每个时间周期后删除循环队列首指针指向的结点的热数据链,再去除该时间周期产生热数据链中的冗余热逻辑地址,然后再将该时间周期产生的热数据链加入到循环队列尾指针指向的结点后面,最后循环队列尾指针指向下一个结点。
    利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点的具体操作为:
    查询ReRAM缓存判断写请求是否命中,若未命中,则按照缓存管理策略分配一个ReRAM缓存结点给当前写请求对应的逻辑地址,再将写请求对应的逻辑地址存入到该ReRAM缓存内的结点中;若命中,则查询热数据链,当写请求对应的逻辑地址在热数据链中未命中时,则查询写请求对应的逻辑地址在ReRAM缓存中的结点位置,然后在查找到的ReRAM缓存中的结点位置更新写请求对应的逻辑地址;当写请求对应的逻辑地址在热数据链中命中时,则通过快速定位查找方法定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,再采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,然后将本次写请求对应的逻辑地址更新到分配的ReRAM缓存中的结点处,并设置本次写请求对应的逻辑地址在ReRAM缓存中对应的原结点 无效,完成数据交换操作。
    通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置的具体操作为:
    采用哈希查找方法定位写请求在ReRAM缓存中的位置,并通过链地址法处理哈希冲突,哈希表由一个指针数组和指针数组中的每个元素后链接的链表构成,链表结点的数据域包含写请求对应的逻辑地址和存储该写请求对应的逻辑地址对应缓存物理地址的指针*rppn,链表结点的指针域包含指向下一个结点的指针*next,写请求的逻辑地址在热数据链中命中时,查询哈希表定位写请求对应的逻辑地址在ReRAM缓存中的位置,然后更新写请求对应的逻辑地址在ReRAM缓存中的物理地址,完成数据交换操作,最后将写请求对应的逻辑地址对应的新的物理地址更新到哈希表中;若写请求对应的逻辑地址从热数据链中删除时,需要同时删除哈希表中写请求对应的逻辑地址所在的结点;若新的写请求对应的逻辑地址插入到热数据链中时,需要将写请求对应的逻辑地址和其在ReRAM缓存中对应的物理地址作为一个新的结点增添到哈希表中。
    本发明具有以下有益效果:
    本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法在操作时,通过利用缓存管理策略根据数据交换决策机制判断写请求在ReRAM缓存中采用的更新策略,减少数据交换过程中对ReRAM缓存的写操作次数,有效的降低物理地址的耗费,并且提高ReRAM缓存的使用寿命。同时采用高效的冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,提高冷热逻辑地址的鉴别精度,同时通过快速定位查 找方法查询写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置,避免遍历整个ReRAM缓存而引起的时间开销。
    进一步,在冷热逻辑地址的鉴别过程中,充分考虑了写请求的频率信息和最近使用信息,提高了冷热逻辑地址鉴别的效率和准确度,将每个时间周期产生的热逻辑地址组织形成热数据链,采用循环队列的方式管理热数据链,并且有针对性的将热数据链中存在的逻辑地址在ReRAM缓存中使用异地方式更新,不存在热数据链中的逻辑地址使用本地方式更新,有效降低计算的复杂度和计算量,达到很好的损耗均衡效果。
    进一步,采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,使ReRAM缓存中的各结点损耗均衡,进而有效的提高ReRAM缓存的使用寿命。
    附图说明
    图1为本发明的结构框图;
    图2为本发明中冷热数据鉴别机制的原理图;
    图3为本发明中冷热数据鉴别机制的应用示意图;
    图4为本发明中数据交换决策机制的示意图;
    图5为本发明中快速定位查找方法的结构示意图。
    具体实施方式
    下面结合附图对本发明做进一步详细描述:
    参考图1,本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法包括以下步骤:
    由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址, 并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。
    参考图3,根据一个时间周期内的所有热逻辑地址构建热数据链的具体操作为:在每个时间周期结束后,将该时间周期内的所有热逻辑地址构成一个热数据链,再将热数据链链接到循环队列尾指针指向的结点后,并将尾指针指向下一个结点,同时按照循环队列的原理管理每个时间周期产生的热数据链,然后除去循环队列中的冗余热逻辑地址。
    除去循环队列中的冗余热逻辑地址的具体操作为:一个时间周期后遍历查询循环队列中所有热逻辑地址,判断该时间周期产生的热逻辑地址是否已经存在,若存在,则删除热数据链中查询的热逻辑地址,否则,则将该时间周期产生的热逻辑地址作为热数据链中的一员链接到循环队列尾指针指向的结点后,当循环队列已满时,则在每个时间周期后删除循环队列首指针指向的结点的热数据链,再去除该时间周期产生热数据链中的冗余热逻辑地址,然后再将该时间周期产生的热数据链加入到循环队列尾指针指向的结点后面,最后循环队列尾指针指向下一个结点。
    参考图4,利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点的具体操作为:
    查询ReRAM缓存判断写请求是否命中,若未命中,则按照缓存管理策略分配一个ReRAM缓存结点给当前写请求对应的逻辑地址,再将写请求对应的逻辑地址存入到该ReRAM缓存内的结点中;若命中,则 查询热数据链,当写请求对应的逻辑地址在热数据链中未命中时,则通过快速定位查找方法迅速定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,然后在查找到的ReRAM缓存中的结点位置更新写请求对应的逻辑地址;当写请求对应的逻辑地址在热数据链中命中时,则通过快速定位查找方法定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,再采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,然后将本次写请求对应的逻辑地址更新到分配的ReRAM缓存中的结点处,并设置本次写请求对应的逻辑地址在ReRAM缓存中对应的原结点无效,完成数据交换操作。
    参考图5,通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置的具体操作为:
    采用哈希查找方法定位写请求在ReRAM缓存中的位置,并通过链地址法处理哈希冲突,哈希表由一个指针数组和指针数组中的每个元素后链接的链表构成,链表结点的数据域包含写请求对应的逻辑地址和存储该写请求对应的逻辑地址对应缓存物理地址的指针*rppn,链表结点的指针域包含指向下一个结点的指针*next,写请求的逻辑地址在热数据链中命中时,查询哈希表定位写请求对应的逻辑地址在ReRAM缓存中的位置,然后更新写请求对应的逻辑地址在ReRAM缓存中的物理地址,完成数据交换操作,最后将写请求对应的逻辑地址对应的新的物理地址更新到哈希表中;若写请求对应的逻辑地址从热数据链中删除时,需要同时删除哈希表中写请求对应的逻辑地址所在的结点;若新的写请求对应的逻辑地址插入到热数据链中时,需要将写请求对应的逻辑地址和其 在ReRAM缓存中对应的物理地址作为一个新的结点增添到哈希表中。
    参考图2,冷热数据鉴别机制结构采用V组独立的布隆过滤器(Bloom Filter,BF)和K个哈希函数获取每次写请求对应的逻辑地址的频率和最近使用信息,BF是一个M位的二进制向量数据结构,记录K个哈希函数的值,写请求对应的逻辑地址(Logic Page Number,LPN)在存入ReRAM缓存之前需要记录在BF中。写请求对应的逻辑地址经哈希函数计算后的输出值在1到M之间,每个哈希函数的输出值都与BF中的一位对应,然后将哈希函数的输出值与BF对应的单个比特位置为1,于是BF中记录了写请求对应的逻辑地址的信息。当下一次写请求到来时,冷热数据鉴别机制采用轮流循环的方式选择下一个BF作为记录写请求对应的逻辑地址的BF,并且在冷热数据鉴别机制中以每个时间片为周期区分数据的冷热程度,时间片为以写请求的数目为一个时间周期。本发明使用了4组BF,每组BF大小为2048位,2个哈希函数,时间周期大小为512。
    每个时间周期后,需要对其中一个BF清零,防止BF中记录写请求对应的逻辑地址信息溢出,造成冷热数据鉴别错误,每个时间周期后选择记录历史信息最多的BF作为需要清零的BF,将需要清零的BF中的所有数据位置为0,第一个时间周期后,随机选择一个BF作为清零BF,并将其recency值设置最小,清零后,BF的recency值设置最大,然后按照逆时针或者顺时针方向,采用轮流循环的方式,每个时间周期后对下一个BF清零,并且recency权值的赋值与BF清零采取的方向一致,即总是将选择清零的BF赋最小的recency权值,清零后的BF赋最大的 recency权值。
    每个时间周期后,将记录写请求对应的逻辑地址历史信息最多的BF清零之后,需要重新对所有BF赋recency权值,清零的BFV记录最后一个时间周期内的写请求对应的逻辑地址信息,BFV-1记录最后两个时间周期内的写请求对应的逻辑地址信息,同理BF1记录了V个时间周期内的写请求对应的逻辑地址信息,因此BF1记录的写请求对应的逻辑地址信息最多,选择BF1作为需要清零的BF,并将BF1赋最大的recency权值2,然后按照2/V的权值偏差逐次对下一个BF赋recency权值。例如,使用4组BF,即V=4,则权值偏差为2/4=0.5,对BF1赋最大的权值2之后,紧接着对BF4赋权值1.5,BF3赋权值1.0,BF2赋权值0.5,按照这样的方式,一个时间周期后对所有的BF重新赋最新的recency权值。
    每个时间周期中,在BF上的recency权值赋值完成之后,需要判定此次时间周期中的写请求对应的逻辑地址的冷热程度,通过写请求对应的逻辑地址经哈希函数计算后的输出值查询BF,若2个哈希函数的输出值查询结果都为1,则记录当前被查询BF的recency权值,然后查询下一个BF,直到4个BF全部查询完成之后,将记录的所有recency权值相加得Hot Index,如果Hot Index的值大于等于预设阈值HT,则判定写请求对应的逻辑地址为热逻辑地址,否则为冷逻辑地址,区分一个时间周期中剩余LPN冷热程度,亦然,其中,优选的,设置阈值HT为5。

    关 键  词:
    应用于 固态 硬盘 存储器 缓存 损耗 均衡 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:应用于固态硬盘阻变存储器缓存的损耗均衡方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6381731.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1