一种固态盘静态磨损均衡方法及装置制造方法及图纸

技术编号:20914867 阅读:36 留言:0更新日期:2019-04-20 09:22
本发明专利技术公开了一种固态盘静态磨损均衡方法及装置,本发明专利技术基于热数据轮转放置的静态磨损均衡策略,从减少数据迁移量和提升数据迁移效率两个方面降低静态磨损均衡过程中的数据迁移开销,将固态盘空间划分为多个域采用轮转的方式进行静态磨损均衡,在对一个域进行静态磨损均衡时,将负载中的热数据集中写入到该域中,以利用热数据提升低磨损块中冷数据的聚合度,减少冷数据迁移量,利用闪存的内部并行性提高静态磨损均衡过程中的冷数据迁移效率,在数据迁移总量一定的情况下快速高效的完成数据迁移的任务,利用热数据加速磨损低磨损块,提升此过程中对低磨损块垃圾回收的效率,进一步减少静态磨损均衡过程中的数据迁移量。

A Static Wear Balancing Method and Device for Solid Disk

The invention discloses a static wear equalization method and device for solid state disk. Based on the static wear equalization strategy of thermal data rotation placement, the method reduces the data migration overhead in the static wear equalization process from two aspects of reducing data migration amount and improving data migration efficiency. The solid state disk space is divided into several domains and static wear equalization is carried out by rotating method. When static wear balancing is carried out in each domain, the hot data set in load is written into the domain to enhance the aggregation degree of cold data in low wear block and reduce the amount of cold data migration. The internal parallelism of flash memory is used to improve the efficiency of cold data migration in static wear balancing process, and the task of data migration can be accomplished quickly and efficiently when the total amount of data migration is fixed. Thermal data is used to accelerate the wear of low wear blocks, improve the efficiency of garbage collection of low wear blocks in this process, and further reduce the amount of data migration in static wear balance process.

【技术实现步骤摘要】
一种固态盘静态磨损均衡方法及装置
本专利技术涉及闪存固态盘存储领域,具体涉及一种固态盘静态磨损均衡方法及装置。
技术介绍
闪存固态盘内部主要分为前端和后端两部分,如图1所示。固态盘的前端主要包含主机接口逻辑(HostInterfaceLogic)、DRAM缓存单元、闪存芯片控制器(FlashChipController)、闪存转换层(FlashTranslationLayer)等模块。主机接口逻辑实现了固态盘与主机之间进行通信的协议,例如传统的AHCI协议和支持多队列的NVMe协议等。DRAM缓存单元用来缓存应用程序数据和闪存管理所需要的数据结构等。闪存芯片控制器负责将指令和数据发送到后端闪存芯片中,或者将数据从后端闪存芯片中读出。闪存转换层负责处理固态盘的I/O请求,并实现了一系列面向后端闪存的管理算法,如地址映射、垃圾回收、磨损均衡、坏块管理等。固态盘后端呈层次式结构,如图1所示。这种层次式结构使得固态盘可以通过通道级、芯片级、晶圆级、分组级并行性并行执行访问固态盘的I/O请求。固态盘后端的通道(Channel)通过闪存芯片控制器与固态盘前端相连接。每个通道可以独立工作,不同通道可以完全并发的进行命令、地址、数据的传输。每个通道上连接了多个闪存芯片(Chip)。连接在同一通道上的闪存芯片可以相互独立工作,但是需要共享所连接的通道进行命令、地址、数据的传输。每个闪存芯片内部集成了多个晶圆(Die)。同一闪存芯片内的每个晶圆拥有独立的R/B工作状态信号线,可以相互独立的执行闪存读写指令,但是需要共享闪存芯片与通道之间进行信息传输的接口电路。每个晶圆内部集成了多个分组(Plane)。同一晶圆内的多个分组可以并行的将数据从各自的目标页中读取到寄存器中,或者将各自寄存器中的数据并行的写入到目标页中。但是这种多分组读(Multi-PlaneRead)和多分组写(Multi-PlaneWrite)操作不仅要求并行执行的请求具有相同的读/写类型,还要求目标地址具有相同的块内偏移。每个分组内部包含了多个块(Block),每个块内包含了多个页(Page)。页是闪存芯片的最小读写单位,块是闪存芯片的最小擦除单元。闪存芯片中每个页在被写入数据后,在其所在块被擦除之前不能被写入新的数据。闪存芯片内的每个块的可擦除次数是一定的,当达到最大可擦除次数后会被标记为坏块并结束其使用寿命。磨损均衡是固态盘闪存转换层中一种可延长固态盘整体使用寿命的数据管理方法。磨损均衡通过均匀分布固态盘中每个块的擦除次数防止部分块提前达到最大可擦除次数,是提升固态盘使用寿命的主要技术之一。固态盘磨损均衡分为两大类,即动态磨损均衡和静态磨损均衡。动态磨损均衡总是将新数据写入到磨损次数最少的可用块中,从而避免对磨损较严重块的擦除。动态磨损均衡不会在固态盘内部产生额外的数据迁移开销,但是会导致冷数据占据的块长时间不被擦除,最终导致冷数据块与其它块之间的磨损不均衡问题不断加重。静态磨损均衡将磨损次数较少的块中的冷数据定期迁移到擦除次数最多的块中,从而降低磨损最严重的块被再次擦除的机率。静态磨损均衡可以达到更好的全盘磨损均衡效果,但是会在固态盘内引入了大量的数据迁移操作,对固态盘的整体性能产生影响。固态盘静态磨损可以达到更好的全盘磨损均衡效果,但是会在固态盘内引入了大量的数据迁移操作,对固态盘的整体性能产生影响。
技术实现思路
本专利技术要解决的技术问题是:针对现有技术的上述问题,提供一种固态盘静态磨损均衡方法及装置,本专利技术从减少数据迁移量和提升数据迁移效率两个方面降低静态磨损均衡过程中的数据迁移开销,能够减少冷数据迁移量,提高冷数据迁移效率,在数据迁移总量一定的情况下快速高效的完成数据迁移的任务。为了解决上述技术问题,本专利技术采用的技术方案为:一种固态盘静态磨损均衡方法,其特征在于实施步骤包括:1)在固态盘中基于轮询原则指定一个域作为热数据放置域,其余域则作为冷热数据放置域,所述域为将固态盘中空间进行逻辑划分的单位;2)接收针对固态盘的I/O请求;3)判断I/O请求的类型是否为写,如果为写则跳转执行步骤4);否则跳转执行步骤3);4)根据I/O请求的地址映射信息获取物理地址,读取并返回数据,结束并退出;5)针对I/O请求中的数据页进行识别分类为热数据和冷数据,将热数据写入热数据放置域中,将冷数据写入冷数据放置域中;6)检测获取热数据放置域内所有闪存块的磨损次数,根据各个闪存块的磨损次数确定热数据放置域的状态为磨损均衡状态、次磨损均衡状态、磨损极度不平衡状态之一,如果处于磨损均衡状态或者次磨损均衡状态则跳转执行步骤2);如果处于磨损极度不平衡状态则跳转执行步骤7);7)对热数据放置域内的闪存块进行冷数据迁移操作;8)对热数据放置域内的低磨损块进行加速磨损,使得热数据放置域从极度磨损不均衡状态再次回到磨损均衡状态;跳转执行步骤1)。可选地,步骤5)中针对I/O请求中的数据页进行识别分类为热数据和冷数据具体是指将I/O请求中的数据页中更新更频繁的前1/R部分的数据页作为热数据,其余部分数据页作为冷数据,其中R为将固态盘中空间进行逻辑划分为域的数量。可选地,步骤6)的详细步骤包括:检测获取热数据放置域内所有闪存块的磨损次数x中的最小值a,如果热数据放置域内所有闪存块的磨损次数x均满足a≤x≤a+t,则判定热数据放置域处于磨损均衡状态,热数据放置域可以继续接收写请求,并对热数据放置域内任意块进行垃圾回收,跳转执行步骤2);如果热数据放置域内任意闪存块的磨损次数x大于a+t,则判定热数据放置域处于次磨损均衡状态,热数据放置域可以继续接收写请求,并对热数据放置域内磨损次数达到a+t+m次的闪存块采取保护机制禁止垃圾回收操作进行擦除,跳转执行步骤2);如果热数据放置域内磨损次数x大于a+t+m/2以上的闪存块超过热数据放置域内闪存块总数的一半时,则判定热数据放置域处于磨损极度不平衡状态,跳转执行步骤7);其中,t为预设的域内最大可容许的磨损差异度,m为不同域之间的最大磨损次数差。可选地,热数据放置域内所有闪存块的磨损次数按照其擦除次数分别记录在相应链表中,每个链表标记为Blist(i),其中i表示这个链表中块的擦除次数;一个磨损次数为n的闪存块在被垃圾回收并擦除后,则从块链表Blist(n)移动到块链表Blist(n+1)中。可选地,所述热数据放置域内磨损次数x大于a+t+m/2以上的闪存块超过热数据放置域内闪存块总数的一半具体是指链表Blist(a+m+t/2)到链表Blist(a+m+t)中闪存块的总数达到该热数据放置域内闪存块总数的一半;其中,t为预设的域内最大可容许的磨损差异度,m为不同域之间的最大磨损次数差。可选地,步骤7)的详细步骤包括:7.1)在Blist(a)链表到Blist(a+m-1)链表中选择属于同一个晶圆但不同分组的多个块同时作为数据迁移的源闪存块SCB;在每个分组中设置两个空闲闪存块分别作为数据迁移的串行写入目标闪存块STB和并行写入目标闪存块PTB;7.2)在源闪存块SCB中寻找可以并行读取的有效页,将这些有效页通过Multi-PlaneRead指令读出后,再调用Multi-PlaneWrite指令写入到各自对应的并行写入目标闪存块PTB中;对于本文档来自技高网
...

【技术保护点】
1.一种固态盘静态磨损均衡方法,其特征在于实施步骤包括:1)在固态盘中基于轮询原则指定一个域作为热数据放置域,其余域则作为冷热数据放置域,所述域为将固态盘中空间进行逻辑划分的单位;2)接收针对固态盘的I/O请求;3)判断I/O请求的类型是否为写,如果为写则跳转执行步骤4);否则跳转执行步骤3);4)根据I/O请求的地址映射信息获取物理地址,读取并返回数据,结束并退出;5)针对I/O请求中的数据页进行识别分类为热数据和冷数据,将热数据写入热数据放置域中,将冷数据写入冷数据放置域中;6)检测获取热数据放置域内所有闪存块的磨损次数,根据各个闪存块的磨损次数确定热数据放置域的状态为磨损均衡状态、次磨损均衡状态、磨损极度不平衡状态之一,如果处于磨损均衡状态或者次磨损均衡状态则跳转执行步骤2);如果处于磨损极度不平衡状态则跳转执行步骤7);7)对热数据放置域内的闪存块进行冷数据迁移操作;8)对热数据放置域内的低磨损块进行加速磨损,使得热数据放置域从极度磨损不均衡状态再次回到磨损均衡状态;跳转执行步骤1)。

【技术特征摘要】
1.一种固态盘静态磨损均衡方法,其特征在于实施步骤包括:1)在固态盘中基于轮询原则指定一个域作为热数据放置域,其余域则作为冷热数据放置域,所述域为将固态盘中空间进行逻辑划分的单位;2)接收针对固态盘的I/O请求;3)判断I/O请求的类型是否为写,如果为写则跳转执行步骤4);否则跳转执行步骤3);4)根据I/O请求的地址映射信息获取物理地址,读取并返回数据,结束并退出;5)针对I/O请求中的数据页进行识别分类为热数据和冷数据,将热数据写入热数据放置域中,将冷数据写入冷数据放置域中;6)检测获取热数据放置域内所有闪存块的磨损次数,根据各个闪存块的磨损次数确定热数据放置域的状态为磨损均衡状态、次磨损均衡状态、磨损极度不平衡状态之一,如果处于磨损均衡状态或者次磨损均衡状态则跳转执行步骤2);如果处于磨损极度不平衡状态则跳转执行步骤7);7)对热数据放置域内的闪存块进行冷数据迁移操作;8)对热数据放置域内的低磨损块进行加速磨损,使得热数据放置域从极度磨损不均衡状态再次回到磨损均衡状态;跳转执行步骤1)。2.根据权利要求1所述的固态盘静态磨损均衡方法,其特征在于,步骤5)中针对I/O请求中的数据页进行识别分类为热数据和冷数据具体是指将I/O请求中的数据页中更新更频繁的前1/R部分的数据页作为热数据,其余部分数据页作为冷数据,其中R为将固态盘中空间进行逻辑划分为域的数量。3.根据权利要求1所述的固态盘静态磨损均衡方法,其特征在于,步骤6)的详细步骤包括:检测获取热数据放置域内所有闪存块的磨损次数x中的最小值a,如果热数据放置域内所有闪存块的磨损次数x均满足a≤x≤a+t,则判定热数据放置域处于磨损均衡状态,热数据放置域可以继续接收写请求,并对热数据放置域内任意块进行垃圾回收,跳转执行步骤2);如果热数据放置域内任意闪存块的磨损次数x大于a+t,则判定热数据放置域处于次磨损均衡状态,热数据放置域可以继续接收写请求,并对热数据放置域内磨损次数达到a+t+m次的闪存块采取保护机制禁止垃圾回收操作进行擦除,跳转执行步骤2);如果热数据放置域内磨损次数x大于a+t+m/2以上的闪存块超过热数据放置域内闪存块总数的一半时,则判定热数据放置域处于磨损极度不平衡状态,跳转执行步骤7);其中,t为预设的域内最大可容许的磨损差异度,m为不同域之间的最大磨损次数差。4.根据权利要求3所述的固态盘静态磨损均衡方法,其特征在于,热数据放置域内所有闪存块的磨损次数按照其擦除次数分别记录在相应链表中,每个链表标记为Blist(i),其中i表示这个链表中块的擦除次数;一个磨损次数为n的闪存块在被垃圾回收并擦除后,则从块链表Blist(n)移动到块链表Blist(n+1)中。5.根据权利要求4所述的固态盘静态磨损均衡方法,其特征在于,所述热数据放置域内磨损次数x大于a+t+m/2以上的闪存块超过热数据放置域内闪存块总数的一半具体是指链表Blist(a+m+t/2)到链表Blist(a+m+t)中闪存块的总数达到该热数据放置域内闪存块总数的一半...

【专利技术属性】
技术研发人员:谢徐超宋振龙魏登萍吕绎维肖立权黎铁军袁远任静欧洋孙言强赵曦
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南,43

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

1