一种混合SSD的磨损均衡方法及SSD技术

技术编号:18114597 阅读:30 留言:0更新日期:2018-06-03 08:03
本发明专利技术公开了一种用于混合SSD的磨损均衡方法及固态硬盘,特征在于同时包括了SLC区域内磨损均衡、MLC区域内磨损均衡和区域间磨损均衡,SLC区域内磨损均衡通过将SLC区域作为循环队列,MLC区域内磨损均衡通过统计各个block的擦写次数,优先选择擦写次数少的block用于存储数据,所述区域间磨损均衡为根据热数据识别阀值将SLC中的数据分为冷数据和热数据,将冷数据从SLC区域迁移到MLC区域,所述热数据识别阀值根据磨损速率来动态确定。利用SLC读写性能高和可擦写次数多的优点存储热数据,利用大容量的MLC存储冷数据,从而达到成本、容量、寿命、性能的折中。通过使用动态调整热数据阈值来降低冷数据写入SLC、热数据被写入MLC的几率,降低SLC向MLC迁移的数据量。

【技术实现步骤摘要】
一种混合SSD的磨损均衡方法及SSD
本专利技术涉及固态硬盘控制技术,特别涉及一种混合SSD的磨损均衡方法及SSD。
技术介绍
目前,随着固态硬盘SSD(solidstatedisk)表现出比传统机械硬盘更优的特点,SSD具有读写性能高、功耗低、体积小等有点,已经在多个领域逐渐替代机械硬盘。随着NANDflash技术的发展,SSD已经从使用SLC(singlelevelcell)转变为使用MLC(triplelevelcell)。如果只是使用将MLC颗粒中的所有block作为MLC使用,会造成SSD成本相对比较高和寿命短的缺点,将MLC颗粒中部分block开成SLC部分开成MLC已经成为一种趋势。由于MLC类型的各个Block的擦写寿命都有限,为了提高其整体使用寿命,必须要对其进行磨损均衡,而且磨损均衡策略的选择非常重要,如果磨损均衡策略不好,还可能带来写放大,降低其使用寿命的问题。图1是现有MLC类型SSD数据均衡策略示意图,使用单一MLC存储介质的SSD存在成本高、寿命短的缺点。一般将MLC中的部分区域强制转化为SLC类型,这样SSD存在SLC区域SLCregion和MLC区域MLCregion;一般采用如下的磨损均衡策略,主机通知SSD有新的写入指令,写命令数据进入主机数据过滤器Hotdatafilter,使用主机写命令的数据量作为阈值进行冷热数据判断,如果大于阈值被判断为热数据写入SLC,如果小于阈值被判断为冷数据写入MLC;经过冷热数据判断后进行地址映射addressmapping,根据数据类型分别进行数据映射热数据进行SLCmapping,冷数据进行MLCmapping;经过addressmapping后,数据会被写入SLCregion或者MLCregion将过滤器判断为热数据的数据写入SLC区域,冷数据写入MLC区域,SLC区域达到预想设定的阀值时或触发垃圾回收操作GC时将SLC中的便冷的冷数据迁移到MLC中,这样会造成SLC中存在大量不必要的写操作及大量从SLC区域向MLC区域的数据迁移,这样必然带来大量的写放大问题。现有MLC垃圾回收流程如下,SLCregion中分为主机数据区域hotregion和冷区域热数据区region,数据优先写入hot数据区;当hot数据区启动时,将数据复制到warm数据区;当warm数据区进行垃圾回收时,根据N次机会原则将循环周期数达到N次的有效数据迁移到MLC数据区,否则留在warm数据区;MLC数据区按照普通垃圾回收机制进行。现有MLCSSD一方面能够延长热数据在SLC中停留的时间,提高了SSD使用初始阶段的性能;另一方面这种机制增加了SLC内部的数据迁移次数,增加了SLC垃圾回收开销和磨损程度,有时候得不偿失。
技术实现思路
针对以上缺陷,本专利技术目的是如何降低由于SLC区域数据均衡到MLC区域造成的数据读写概率,进而实现降低写放大问题。为了解决以上问题本专利技术提出了一种混合SSD的磨损均衡方法,SSD将部分MLC类型存储区域转换为SLC类型存储区域或单独设置一个SLCFLASH作为SLC区域,SSD分为MLC区域和SLC区域,其特征在于同时包括了SLC区域内磨损均衡、MLC区域内磨损均衡和区域间磨损均衡,SLC区域内磨损均衡通过将SLC区域作为一个循环队列使用实现均衡,所述MLC区域内磨损均衡通过统计各个block的擦写次数,优先选择擦写次数少的block用于存储数据,所述区域间磨损均衡为根据热数据识别阀值将SLC中的数据分为冷数据和热数据,将冷数据从SLC区域迁移到MLC区域,所述热数据识别阀值根据磨损速率来动态确定。所述的混合SSD的磨损均衡方法,其特征在于使用SLC和MLC的磨损速率来调整热数据阀值θ,NS是SLC区域的总有效block数,NM是MLC区域的总有效block数,LS为SLC擦除周期,LM为MLC的擦除周期,ESi是SLC各block的擦除次数,EMj是MLC各block的擦除次数,那么SLC和MLC的相对磨损速率RWS和RWM就表示为:等效总擦除次数为:当[RWS]=[RWM],[]为取整符号计算,SLC和MLC磨损速率相同,达到区域间的磨损均衡,当[RWS]>[RWM]时,SLC磨损比MLC磨损块,需要增大θ,让数据尽量写入MLC直到[RWS]=[RWM];当[RWS]<[RWM]时,MLC磨损比SLC磨损块,需要减小θ,让数据尽量写入SLC直到[RWS]=[RWM]。所述的混合SSD的磨损均衡方法,其特征在于将SLC作为一个循环队列,新写入的数据从队列头head指向的块写入,当SLC空闲块不足则启动垃圾回收操作,垃圾回收从队列尾指向的块开始回收。所述的混合SSD的磨损均衡方法,其特征在于SLC地址映射表每个映射项增加cycle_time字段,记录数据停留在SLC区域的循环周期数,当垃圾回收目标块中所对应的页为有效页并循环一周时,cycle_time加一;最后根据cycle_time大小和SLC\MLC磨损速率决定数据迁移策略,当SLC磨损速率慢于MLC时,使用N次机会原则将SLC中的数据迁移到MLC;否则,直接将SLC中的数据迁移到MLC。一种固态硬盘,其特征在于SSD将部分MLC类型存储区域转换为SLC类型存储区域,SSD分为MLC区域和SLC区域,同时包括了SLC区域内磨损均衡、MLC区域内磨损均衡和区域间磨损均衡,SLC区域内磨损均衡通过将SLC区域作为一个循环队列使用实现均衡,所述MLC区域内磨损均衡通过统计各个block的擦写次数,优先选择擦写次数少的block用于存储数据,所述区域间磨损均衡为根据热数据识别阀值将SLC中的数据分为冷数据和热数据,将冷数据从SLC区域迁移到MLC区域,所述热数据识别阀值根据磨损速率来动态确定。所述的固态硬盘,其特征在于使用SLC和MLC的磨损速率来调整热数据阀值θ,NS是SLC区域的总有效block数,NM是MLC区域的总有效block数,LS为SLC擦除周期,LM为MLC的擦除周期,ESi是SLC各block的擦除次数,EMj是MLC各block的擦除次数,那么SLC和MLC的相对磨损速率RWS和RWM就表示为:等效总擦除次数为:当[RWS]=[RWM],[]为取整符号计算,SLC和MLC磨损速率相同,达到区域间的磨损均衡,当[RWS]>[RWM]时,SLC磨损比MLC磨损块,需要增大θ,让数据尽量写入MLC直到[RWS]=[RWM];当[RWS]<[RWM]时,MLC磨损比SLC磨损块,需要减小θ,让数据尽量写入SLC直到[RWS]=[RWM]。所述的固态硬盘,其特征在于将SLC作为一个循环队列,新写入的数据从队列头head指向的块写入,当SLC空闲块不足则启动垃圾回收操作,垃圾回收从队列尾指向的块开始回收。所述的固态硬盘,其特征在于SLC地址映射表每个映射项增加cycle_time字段,记录数据停留在SLC区域的循环周期数,当垃圾回收目标块中所对应的页为有效页并循环一周时,cycle_time加一;最后根据cycle_time大小和SLC\MLC磨损速率决定数据迁移策略,当SLC磨损速率慢于MLC时,使用N次机会原则本文档来自技高网
...
一种混合SSD的磨损均衡方法及SSD

【技术保护点】
一种混合SSD的磨损均衡方法,SSD单独设置一个SLC FLASH作为SLC区域,SSD分为MLC区域和SLC区域,其特征在于同时包括了SLC区域内磨损均衡、MLC区域内磨损均衡和区域间磨损均衡,SLC区域内磨损均衡通过将SLC区域作为一个循环队列使用实现均衡,所述MLC区域内磨损均衡通过统计各个b l ock的擦写次数,优先选择擦写次数少的b l ock用于存储数据,所述区域间磨损均衡为根据热数据识别阀值将SLC中的数据分为冷数据和热数据,将冷数据从SLC区域迁移到MLC区域,所述热数据识别阀值根据磨损速率来动态确定。

【技术特征摘要】
1.一种混合SSD的磨损均衡方法,SSD单独设置一个SLCFLASH作为SLC区域,SSD分为MLC区域和SLC区域,其特征在于同时包括了SLC区域内磨损均衡、MLC区域内磨损均衡和区域间磨损均衡,SLC区域内磨损均衡通过将SLC区域作为一个循环队列使用实现均衡,所述MLC区域内磨损均衡通过统计各个block的擦写次数,优先选择擦写次数少的block用于存储数据,所述区域间磨损均衡为根据热数据识别阀值将SLC中的数据分为冷数据和热数据,将冷数据从SLC区域迁移到MLC区域,所述热数据识别阀值根据磨损速率来动态确定。2.根据权利要求1所述的混合SSD的磨损均衡方法,其特征在于使用SLC和MLC的磨损速率来调整热数据阀值θ,NS是SLC区域的总有效block数,NM是MLC区域的总有效block数,LS为SLC擦除周期,LM为MLC的擦除周期,ESi是SLC各block的擦除次数,EMj是MLC各block的擦除次数,那么SLC和MLC的相对磨损速率RWS和RWM就表示为:等效总擦除次数为:当[RWS]=[RWM],[]为取整符号计算,SLC和MLC磨损速率相同,达到区域间的磨损均衡,当[RWS]>[RWM]时,SLC磨损比MLC磨损块,需要增大θ,让数据尽量写入MLC直到[RWS]=[RWM];当[RWS]<[RWM]时,MLC磨损比SLC磨损块,需要减小θ,让数据尽量写入SLC直到[RWS]=[RWM]。3.根据权利要求1所述的混合SSD的磨损均衡方法,其特征在于将SLC作为一个循环队列,新写入的数据从队列头head指向的块写入,当SLC空闲块不足则启动垃圾回收操作,垃圾回收从队列尾指向的块开始回收。4.根据权利要求3所述的混合SSD的磨损均衡方法,其特征在于SLC地址映射表每个映射项增加cycle_time字段,记录数据停留在SLC区域的循环周期数,当垃圾回收目标块中所对应的页为有效页并循环一周时,cycle_time加一;最后根据cycle_time大小和SLC\MLC磨损速率决定数据迁移策略,当SLC磨损速率慢于MLC时,使用N次机会原则将SLC中的数据迁移到MLC;否则,直接...

【专利技术属性】
技术研发人员:肖锐
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1