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

文档序号:9274423阅读:来源:国知局
中未命中时,则通过快速定位查找方法迅速定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,然后在查找到的ReRAM缓存中的结点位置更新写请求对应的逻辑地址;当写请求对应的逻辑地址在热数据链中命中时,则通过快速定位查找方法定位写请求对应的逻辑地址在ReRAM缓存中的结点位置,再采用缓存管理策略为本次写请求对应的逻辑地址更新分配一个ReRAM缓存中的结点,然后将本次写请求对应的逻辑地址更新到分配的ReRAM缓存中的结点处,并设置本次写请求对应的逻辑地址在ReRAM缓存中对应的原结点无效,完成数据交换操作。
[0030]参考图5,通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置的具体操作为:
[0031]采用哈希查找方法定位写请求在ReRAM缓存中的位置,并通过链地址法处理哈希冲突,哈希表由一个指针数组和指针数组中的每个元素后链接的链表构成,链表结点的数据域包含写请求对应的逻辑地址和存储该写请求对应的逻辑地址对应缓存物理地址的指针*rppn,链表结点的指针域包含指向下一个结点的指针*next,写请求的逻辑地址在热数据链中命中时,查询哈希表定位写请求对应的逻辑地址在ReRAM缓存中的位置,然后更新写请求对应的逻辑地址在ReRAM缓存中的物理地址,完成数据交换操作,最后将写请求对应的逻辑地址对应的新的物理地址更新到哈希表中;若写请求对应的逻辑地址从热数据链中删除时,需要同时删除哈希表中写请求对应的逻辑地址所在的结点;若新的写请求对应的逻辑地址插入到热数据链中时,需要将写请求对应的逻辑地址和其在ReRAM缓存中对应的物理地址作为一个新的结点增添到哈希表中。
[0032]参考图2,冷热数据鉴别机制结构采用V组独立的布隆过滤器(Bloom Filter,BF)和K个哈希函数获取每次写请求对应的逻辑地址的频率和最近使用信息,BF是一个M位的二进制向量数据结构,记录K个哈希函数的值,写请求对应的逻辑地址(Logic PageNumber, LPN)在存入ReRAM缓存之前需要记录在BF中。写请求对应的逻辑地址经哈希函数计算后的输出值在I到M之间,每个哈希函数的输出值都与BF中的一位对应,然后将哈希函数的输出值与BF对应的单个比特位置为1,于是BF中记录了写请求对应的逻辑地址的信息。当下一次写请求到来时,冷热数据鉴别机制采用轮流循环的方式选择下一个BF作为记录写请求对应的逻辑地址的BF,并且在冷热数据鉴别机制中以每个时间片为周期区分数据的冷热程度,时间片为以写请求的数目为一个时间周期。本发明使用了 4组BF,每组BF大小为2048位,2个哈希函数,时间周期大小为512。
[0033]每个时间周期后,需要对其中一个BF清零,防止BF中记录写请求对应的逻辑地址信息溢出,造成冷热数据鉴别错误,每个时间周期后选择记录历史信息最多的BF作为需要清零的BF,将需要清零的BF中的所有数据位置为0,第一个时间周期后,随机选择一个BF作为清零BF,并将其recency值设置最小,清零后,BF的recency值设置最大,然后按照逆时针或者顺时针方向,采用轮流循环的方式,每个时间周期后对下一个BF清零,并且recency权值的赋值与BF清零采取的方向一致,即总是将选择清零的BF赋最小的recency权值,清零后的BF赋最大的recency权值。
[0034]每个时间周期后,将记录写请求对应的逻辑地址历史信息最多的BF清零之后,需要重新对所有BF赋recency权值,清零的BFvE录最后一个时间周期内的写请求对应的逻辑地址信息,BFp1记录最后两个时间周期内的写请求对应的逻辑地址信息,同理BF1记录了V个时间周期内的写请求对应的逻辑地址信息,因此BF1记录的写请求对应的逻辑地址信息最多,选择为需要清零的BF,并将BF ^武最大的recency权值2,然后按照2/V的权值偏差逐次对下一个BF赋recency权值。例如,使用4组BF,即V = 4,则权值偏差为2/4 =
0.5,对BF1赋最大的权值2之后,紧接着对BF 4赋权值1.5, BF 3赋权值1.0,BF 2赋权值0.5,按照这样的方式,一个时间周期后对所有的BF重新赋最新的recency权值。
[0035]每个时间周期中,在BF上的recency权值赋值完成之后,需要判定此次时间周期中的写请求对应的逻辑地址的冷热程度,通过写请求对应的逻辑地址经哈希函数计算后的输出值查询BF,若2个哈希函数的输出值查询结果都为I,则记录当前被查询BF的recency权值,然后查询下一个BF,直到4个BF全部查询完成之后,将记录的所有recency权值相加得Hot Index,如果Hot Index的值大于等于预设阈值HT,则判定写请求对应的逻辑地址为热逻辑地址,否则为冷逻辑地址,区分一个时间周期中剩余LPN冷热程度,亦然,其中,优选的,设置阈值HT为5。
【主权项】
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缓存中对应的物理地址作为一个新的结点增添到哈希表中。
【专利摘要】本发明公开了一种应用于固态硬盘阻变存储器缓存的损耗均衡方法,包括以下步骤:由冷热数据鉴别机制鉴别写请求对应的逻辑地址中的热逻辑地址,并根据一个时间周期内的所有热逻辑地址构建热数据链,再利用缓存管理策略为热数据链中命中的写请求对应的逻辑地址分配更新的数据结点,同时通过快速定位查找方法查询热数据链中命中的写请求的逻辑地址在ReRAM缓存中对应的数据结点所在位置。本发明能够有效降低物理地址的耗费,同时冷热逻辑地址的鉴别精度高。
【IPC分类】G06F3/06
【公开号】CN104991743
【申请号】CN201510381641
【发明人】孙宏滨, 代亮亮, 王建校, 郑南宁
【申请人】西安交通大学
【公开日】2015年10月21日
【申请日】2015年7月2日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1