一种用于TLC类型SSD的磨损均衡方法及SSD技术

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

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

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

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

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

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

1