欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2020101328131
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种区分快写和正常写的固态硬盘数据写入方法,其特征在于,包括如下步骤:步骤(1)、判断写入数据类别

底层存储用户数据的介质为NAND闪存,分为快写块与正常写块;快写块用于存储采用快写方式写入的热数据,正常写块用于存储采用正常写方式写入的冷数据;

闪存转换层采用按需的页级地址映射方法,在闪存转换层的RAM中存储经常访问请求的映射项,并将其分为读请求映射队列和写请求映射队列,采用最近最少使用(LRU)策略进行管理;在写请求映射队列的头部区域(即最近访问区域)设置一个热数据识别窗口,用于识别经常更新的热数据;

当有数据需要写入时,通过热数据识别窗口将识别出的经常更新的热数据交给快写流程进行处理,以高于正常步进电压的方式快速写入到快写块中,并将快写次数wf增加1,其他冷数据发送给正常写流程进行处理,以正常步进电压的方式写入到正常写块中;

所述的有数据需要写入包括垃圾回收引起的写和正常的用户数据写;

步骤(2)、快写流程的具体步骤:

S1,检查当前快写块是否有足够空间写入新数据;若没有,执行S2,否则,执行S5;

S2,检查当前快写块数量是否超过快写块数量上限Fnum;若未超过,则执行S3;否则,执行S4;

S3,检查当前空闲块的数量是否小于阈值;若小于阈值,则从正常写块中进行垃圾回收,使得空闲块数大于阈值;再根据磨损均衡原则,选择一个磨损次数最少的空闲块作为当前快写块,然后执行S5;

S4,根据FIFO原则,回收快写队列中最早进入的块,直到空闲块数大于阈值;在回收快写块时,对于此块中的每一个有效数据页,快写块的重写次数wr=wr+1;再根据磨损均衡原则,选择一个磨损次数最少的空闲块作为当前快写块,然后执行S5;

S5,从当前快写块中分配一个空闲页,将用户数据以高于正常步进电压的方式快速写入到此数据页,然后结束本次过程;

步骤(3)、正常写流程的具体步骤:

S1,检查当前正常写块是否有足够空间写入新数据;若没有,执行S2,否则,执行S3;

S2,检查当前空闲块的数量是否小于阈值;若小于阈值,则从正常写块中进行垃圾回收,使得空闲块数大于阈值;然后,根据磨损均衡原则,选择一个磨损次数最少的空闲块作为当前的正常写块,然后执行S3;

S3,从当前正常写块中分配一个空闲页,将用户数据以正常步进电压的方式写入到数据页,然后结束本次过程;

步骤(4)、快写队列的管理;

采用先进先出(FIFO)策略管理快写队列;快写队列存储在RAM中,由RAM空间的限制,快写块的个数限制为Fnum;

快写队列管理采用周期性触发方式,即每隔固定时间间隔Tfast,从快写队列的尾部开始检测每一个快写块的实际存储时间是否超过T/2,若超过,则将此快写块进行垃圾回收,直到找到快写块的实际存储时间是小于T/2的快写块为止;在进行快写块的垃圾回收时,同样对于此块中的每一个有效数据页,快写块的重写次数wr=wr+1;

步骤(5)、热数据识别阈值的动态调整;以固定时间间隔,依据快写策略带来的收益和因数据保留时间到期而重写的开销来动态调整热数据识别阈值;

热数据识别阈值调整采用周期性触发方式,即每隔固定时间间隔Thot,触发一次热数据识别阈值的调整;具体流程如下:S1,根据公式B=wf×(tr-tf)-wr×tr计算本周期内的快写收益,其中wf为快写次数,wr为快写数据的重写次数,tr为正常写所需时间,tf为快写所需时间;

S2,比较当前周期的快写实际Bcur与上一周期的收益Bpre;当Bcur<Bpre时,则通过改变热数据识别的阈值来减少热数据的识别量;当Bcur=Bpre时,代表当前总收益与上一周期总收益持平,无需调节热数据窗口大小;当Bcur>Bpre时,则通过改变热数据识别的阈值来增加热数据的识别量,以进一步利用快写策略提升闪存性能;

S3,将wf和wr置零,Bcur赋给Bpre,然后进入下一个周期。