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

文档序号:9274423阅读:499来源:国知局
应用于固态硬盘阻变存储器缓存的损耗均衡方法
【技术领域】
[0001]本发明属于非易失性数据存储技术领域,涉及一种应用于固态硬盘阻变存储器缓存的损耗均衡方法。
【背景技术】
[0002]固态硬盘SSD系统中的DRAM主要用于数据缓存和固件程序运行,然而DRAM的漏电流大,需要不断地刷新保证数据的正确性,产生的功耗大,并且突然掉电后导致数据丢失,由于非易失性存储器(Non-Volatile Memory, NVM)功耗低,掉电后数据不丢失等优势,现在越来越倾向于使用NVM取代SSD系统中的DRAM。
[0003]阻变存储器(Resistive Random Access Memory, Re RAM)可扩展性好、读写速度快、存储单元结构简单、功耗低,ReRAM操作电流小,可以使用交叉阵列结构提高其存储密度,而且与CMOS半导体技术相兼容,依据现有的芯片生产流程和制作工艺,可以很容易生产ReRAM,因此,ReRAM被认为是最具潜力的非易失性存储器,并能取代固态硬盘SSD系统中的 DRAM0
[0004]目前,ReRAM的寿命还不能达到日常使用需求,若在ReRAM同一个物理地址上频繁更新数据会致使其磨损程度升高,从而发生数据存储错误。损耗均衡是解决ReRAM中存在的这一问题而被广泛采用的方法。然而,ReRAM缓存的操作以页为单位,传统上应用于闪存的损耗均衡方法在应用于ReRAM缓存时,需要记录ReRAM缓存每个数据页的写次数,导致空间损耗大,查询ReRAM缓存数据页写次数信息时,导致时间开销大。针对以上问题,科研学者提出了很多针对新型非易失性存储器的损耗均衡方法,但仍存在如下问题:第一,没有针对性的移动数据,一个周期后移动的数据其物理地址损耗可能并不大,这样会带来额外的耗费;第二,在数据移动过程中,可能将数据从一个损耗很大的物理地址中移动到另外一个损耗很大的物理地址中;第三,冷热逻辑地址的鉴别准确度不高。

【发明内容】

[0005]本发明的目的在于克服上述现有技术的缺点,提供了一种应用于固态硬盘阻变存储器缓存的损耗均衡方法,方法能够有效降低物理地址的耗费,同时冷热逻辑地址的鉴别精度高。
[0006]为达到上述目的,本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法包括以下步骤:
[0007]由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。
[0008]根据一个时间周期内的所有热逻辑地址构建热数据链的具体操作为:在每个时间周期结束后,将该时间周期内的所有热逻辑地址构成一个热数据链,再将热数据链链接到循环队列尾指针指向的结点后,并将尾指针指向下一个结点,同时按照循环队列的原理管理每个时间周期产生的热数据链,然后除去循环队列中的冗余热逻辑地址。
[0009]除去循环队列中的冗余热逻辑地址的具体操作为:一个时间周期后遍历查询循环队列中所有热逻辑地址,判断该时间周期产生的热逻辑地址是否已经存在,若存在,则删除热数据链中查询的热逻辑地址,否则,则将该时间周期产生的热逻辑地址作为热数据链中的一员链接到循环队列尾指针指向的结点后,当循环队列已满时,则在每个时间周期后删除循环队列首指针指向的结点的热数据链,再去除该时间周期产生热数据链中的冗余热逻辑地址,然后再将该时间周期产生的热数据链加入到循环队列尾指针指向的结点后面,最后循环队列尾指针指向下一个结点。
[0010]利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点的具体操作为:
[0011]查询ReRAM缓存判断写请求是否命中,若未命中,则按照缓存管理策略分配一个ReRAM缓存结点给当前写请求对应的逻辑地址,再将写请求对应的逻辑地址存入到该ReRAM缓存内的结点中;若命中,则查询热数据链,当写请求对应的逻辑地址在热数据链中未命中时,则查询写请求对应的逻辑地址在ReRAM缓存中的结点位置,然后在查找到的ReRAM缓存中的结点位置更新写请求对应的逻辑地址;当写请求对应的逻辑地址在热数据链中命中时,则通过快速定位查找方法定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,再采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,然后将本次写请求对应的逻辑地址更新到分配的ReRAM缓存中的结点处,并设置本次写请求对应的逻辑地址在ReRAM缓存中对应的原结点无效,完成数据交换操作。
[0012]通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置的具体操作为:
[0013]采用哈希查找方法定位写请求在ReRAM缓存中的位置,并通过链地址法处理哈希冲突,哈希表由一个指针数组和指针数组中的每个元素后链接的链表构成,链表结点的数据域包含写请求对应的逻辑地址和存储该写请求对应的逻辑地址对应缓存物理地址的指针*rppn,链表结点的指针域包含指向下一个结点的指针*next,写请求的逻辑地址在热数据链中命中时,查询哈希表定位写请求对应的逻辑地址在ReRAM缓存中的位置,然后更新写请求对应的逻辑地址在ReRAM缓存中的物理地址,完成数据交换操作,最后将写请求对应的逻辑地址对应的新的物理地址更新到哈希表中;若写请求对应的逻辑地址从热数据链中删除时,需要同时删除哈希表中写请求对应的逻辑地址所在的结点;若新的写请求对应的逻辑地址插入到热数据链中时,需要将写请求对应的逻辑地址和其在ReRAM缓存中对应的物理地址作为一个新的结点增添到哈希表中。
[0014]本发明具有以下有益效果:
[0015]本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法在操作时,通过利用缓存管理策略根据数据交换决策机制判断写请求在ReRAM缓存中采用的更新策略,减少数据交换过程中对ReRAM缓存的写操作次数,有效的降低物理地址的耗费,并且提高ReRAM缓存的使用寿命。同时采用高效的冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,提高冷热逻辑地址的鉴别精度,同时通过快速定位查找方法查询写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置,避免遍历整个ReRAM缓存而引起的时间开销。
[0016]进一步,在冷热逻辑地址的鉴别过程中,充分考虑了写请求的频率信息和最近使用信息,提高了冷热逻辑地址鉴别的效率和准确度,将每个时间周期产生的热逻辑地址组织形成热数据链,采用循环队列的方式管理热数据链,并且有针对性的将热数据链中存在的逻辑地址在ReRAM缓存中使用异地方式更新,不存在热数据链中的逻辑地址使用本地方式更新,有效降低计算的复杂度和计算量,达到很好的损耗均衡效果。
[0017]进一步,采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,使ReRAM缓存中的各结点损耗均衡,进而有效的提高ReRAM缓存的使用寿命。
【附图说明】
[0018]图1为本发明的结构框图;
[0019]图2为本发明中冷热数据鉴别机制的原理图;
[0020]图3为本发明中冷热数据鉴别机制的应用示意图;
[0021]图4为本发明中数据交换决策机制的示意图;
[0022]图5为本发明中快速定位查找方法的结构示意图。
【具体实施方式】
[0023]下面结合附图对本发明做进一步详细描述:
[0024]参考图1,本发明所述的应用于固态硬盘阻变存储器缓存的损耗均衡方法包括以下步骤:
[0025]由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。
[0026]参考图3,根据一个时间周期内的所有热逻辑地址构建热数据链的具体操作为:在每个时间周期结束后,将该时间周期内的所有热逻辑地址构成一个热数据链,再将热数据链链接到循环队列尾指针指向的结点后,并将尾指针指向下一个结点,同时按照循环队列的原理管理每个时间周期产生的热数据链,然后除去循环队列中的冗余热逻辑地址。
[0027]除去循环队列中的冗余热逻辑地址的具体操作为:一个时间周期后遍历查询循环队列中所有热逻辑地址,判断该时间周期产生的热逻辑地址是否已经存在,若存在,则删除热数据链中查询的热逻辑地址,否则,则将该时间周期产生的热逻辑地址作为热数据链中的一员链接到循环队列尾指针指向的结点后,当循环队列已满时,则在每个时间周期后删除循环队列首指针指向的结点的热数据链,再去除该时间周期产生热数据链中的冗余热逻辑地址,然后再将该时间周期产生的热数据链加入到循环队列尾指针指向的结点后面,最后循环队列尾指针指向下一个结点。
[0028]参考图4,利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点的具体操作为:
[0029]查询ReRAM缓存判断写请求是否命中,若未命中,则按照缓存管理策略分配一个ReRAM缓存结点给当前写请求对应的逻辑地址,再将写请求对应的逻辑地址存入到该ReRAM缓存内的结点中;若命中,则查询热数据链,当写请求对应的逻辑地址在热数据链
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1