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工作状态信号线,可以相互独立的执行闪存读写指令,但是需要共享闪存芯片与通道之间进行信息传输的接口电路。每个晶圆内部集成 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。