损耗均衡处理方法和系统以及固态硬盘的制作方法

文档序号:6772946阅读:204来源:国知局
专利名称:损耗均衡处理方法和系统以及固态硬盘的制作方法
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种损耗均衡处理方法和系统以及固态硬盘。
背景技术
固态硬盘(Solid State Disk,以下简称SSD)由于具有突出的IO能力而被广泛采用。SSD为达到高性能要求,一般采用多并发架构,即将数据通路根据采用的Flash颗粒同时下发数据。由于Flash颗粒的可擦写次数有限,而且有些Flash颗粒上的热点数据擦写较为频繁,有些Flash颗粒上的非热点数据长期不进行擦写,因此导致Flash颗粒的损耗不均衡,影响了 SSD的使用寿命。为了均衡Flash颗粒的损耗,现有技术中所采用的静态均衡,是将长期不修改的数据,如操作系统,做强制搬移,从而均衡Flash颗粒的损耗。在将该静态均衡应用在并发架构下时,Flash颗粒上的数据能够进行强制搬移,从而在各通路内部实现损耗均衡。在实现本发明过程中,发明人发现现有技术中至少存在如下问题现有的静态均衡无法实现全盘均衡,从而无法彻底解决Flash颗粒上的损耗均衡问题。

发明内容
本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘,以实现全盘均衡。本发明实施例提供一种损耗均衡处理方法,包括当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。本发明实施例提供一种固态硬盘,包括存储控制器和存储单元,所述存储控制器包括判断单元,用于判断是否满足损耗均衡触发条件;执行单元,用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN 上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,其中,所述LBN上的数据存储于存储单元中;所述存储单元,用于存储数据。本发明实施例提供一种损耗均衡处理系统,包括上述固态硬盘。本发明实施例可以按照并发通路的并发特性移动,实现全盘均衡,并且在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个 LBN包括的LBA的数量,使得每次移动的数据量是可控的。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明损耗均衡处理方法一个实施例的流程图;图2为本发明损耗均衡处理方法另一个实施例的流程图;图3为16路并发通道的结构示意图;图4为本发明固态硬盘一个实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明损耗均衡处理方法一个实施例的流程图,如图1所示,本实施例的方法可以包括步骤101、当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上。其中,并发通路对应的逻辑块号LBN上的数据包括逻辑块号LBN所指向的、存储于存储单元位置上的数据。步骤102、将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的 LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。具体来说,在进行全盘均衡时,存储单元上可用的逻辑块地址(LogicBlock Address,以下简称LBA)可以根据需要划分为逻辑块号(Logic BlockNumber,以下简称 LBN),且1个LBN可以至少包括1个LBA。当满足触发条件开始均衡时,存储控制器可以从映射表中选取一组连续的LBN。然后,将选取的一组LBN对应的数据依次挪向下一个并发通路。举例来说,假设共有16个并发通路,LBm,LBN2,......,LBN16上的数据依次来自
并发通路0,1,......,15,则存储控制器可以控制存储单元将并发通路0对应的LBm上的
数据挪向并发通路ι对应的LBN2上,将并发通路1对应的LBN2上的数据挪向并发通路2
对应的LBN3上,......,将并发通路15对应的LBm6上的数据挪向并发通路0对应的LBm
上。以此类推,直至选取的所有LBN上的数据都按照并发通路的并发特性挪动过一次以后完成一轮全盘均衡。或者LBm LBN8上的数据依次来自并发通路0 7,LBN9 LBW6 上的数据依次来自并发通路8 15,则采用本发明实施例的方法后,LBN9 LBW5上的数据可以搬移到并发通路9 15对应的LBmO LBW6上,并发通路15对应的LBW6上的数据可以搬移到并发通路0对应的LBm上,而并发通路0 7对应的LBm LBN8上的数据则搬移到并发通路1 8对应的LBN2 LBN9上。需要说明的是,在本实施例及其他实施例中,作为数据搬移的起始通路并不局限于在排列顺序为第一的并发通路,可以从任何一个通路开始,只要是按照本方法进行依次
搬移皆可。例如,在上述16个并发通路,LBm,LBN2,......,LBN16中,可以把LBNl作为最
先执行数据搬移的通路,此时LBm即是第一通路,也可以把LBN3作为最先执行数据搬移的通路,此时LBN3就是第一通路。本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。在进行全盘均衡时,各个并发通路之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达等情况来灵活确定是否满足进行损耗均衡的触发条件,从而减少对存储单元的存储性能的影响。图2为本发明损耗均衡处理方法另一个实施例的流程图,如图2所示,本实施例的方法可以包括步骤201、将第 个并发通路对应的第η个LBN上的数据搬移到第 个并发通路对应的第η+1个LBN上。步骤202、将第 个并发通路对应的第η+1个LBN上的数据搬移到第 个并发通路对应的第η+2个LBN上,直到将第个并发通路对应的第N-I个LBN上的数据搬移到第 个并发通路对应的第η个LBN上为止,其中,η = 0 N_l,Ei1 = nmodK, K为并发通路总数,N 为 LBN 的总数,a2 = (n+l)modK, a3 = (n+》modK。具体来说,SSD可以由依次连接的接口、存储控制器以及存储单元构成。其中,接口用于收发数据与命令,存储控制器用于完成整个SSD的控制与相关策略的实施,如垃圾回收,损耗均衡,数据调度,cache管理等,存储单元用于存储数据。在进行损耗均衡处理时,存储控制器可以触发存储单元进行全盘均衡。在本实施例中,SSD可以采用并发架构,根据不同的并发需求,本实施例的SSD中,并发通路既可以为片选(以下简称CE),也可以为通道。存储控制器每次触发全盘均衡的条件可以是当确定在主机I/O接口上没有读写操作,或者以预先设定周期时间T为进行损耗均衡处理的触发条件,即确定达到触发均衡处理的时间,本发明实施例不限于具体的触发条件,本领域技术人员可以根据需要确定存储控制器触发存储单元进行全盘均衡的时间和条件。本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。在进行全盘均衡时,各个并发通路,例如通道或者CE之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的,另外,本实施例中仅给出了每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,在尽量避免并发冲突的前提下,LBN也可以采用两个为一组或者三个为一组的方式,将一组LBN上的数据同时依次搬移,其实现原理与本实施例所述的实现原理类此,此处不再赘述。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达等作为进行损耗均衡处理的触发条件来灵活确定是否进行全盘均衡, 从而减少对存储单元的存储性能的影响。
下面采用一个具体的实例对图2所示的方法实施例的基础方案进行详细说明。本实施例可以假设并发通路为通道,且并发通路的数目为16。假设存储单元的 LBA按照512B为一个LBA被划分为IOM个,且每8个LBA被划分为1个LBN,因此共有1 个LBN,分别记为LBNO LBW27。需要说明的是,本实施例中1个LBN包括8个LBA,本领域技术人员可以理解的是,根据需要,1个LBN也可以采用其它划分方法,只需要使得1个 LBN包括至少一个LBA即可。图3为16路并发通路的结构示意图,如图3所示,每一行为一条通道,这16条通道记为通道0 通道15,LBNO LBW27分布在16条并发通道上。在满足触发条件,例如到达均衡周期或者在一段时间内没有I/O操作,存储控制器即可对存储单元进行全盘均衡。全盘均衡的处理过程可以如图3中的虚线所示,将第al 个通道对应的第η个逻辑块号LBN上的数据搬移到第a2个通道对应的第n+1个LBN上。举例来说,当η = 0时,即将第al = 0modl6 = 0个通道,即通道0对应的LBNO上的数据搬移到第a2 = (0+l)modl6 = 1个通道,即通道1对应的LBm上,并将通道1对应的LBm上的数据搬移到a3= (0+2)1110(116 = 2个通道,即通道2对应的1^拟上;当11=15时,即将第£11 =15modl6 = 15个通道,即通道15对应的LBW5上的数据搬移到第a2 = (15+l)modl6 = ο个通道,即通道ο对应的LBme上,并将通道ο对应的LBme上的数据搬移到a3 = (15+2) modl6 = 1个通道对应的LBW7上,以此类推,可以将各个LBN上的数据从当前的通道搬移到下一个通道上。当η = 127时,即将第al = 127modl6 = 15个通道对应的LBW27上的数据搬移到第a2 = (127+l)modl6 = 0个通道,即通道0对应的LBNO上,从而完成一轮全盘均衡。由此可知,在完成一轮全盘均衡后,所有的LBN上的数据均被搬移一次,从而使得与这些LBN,也即LBA对应的Flash颗粒实现全盘均衡。通过不同的并发数以及不同LBN划分,存储控制器可以控制整个存储单元实现全盘均衡。另外,本实施例中仅给出了每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,本实施例也可以在尽量避免并发冲突的前提下, 采用两个LBN为一组或者三个LBN为一组等方式同时依次搬移,例如LBNO和LBm作为一组,将其上的数据对应地同时搬移到LBN2和LBN3上,依次类推,或者将LBNO、LBNl以及 LBN2作为一组,将其上的数据对应地搬移到LBN3、LBN4和LBN5上,以此类推,其实现原理与本实施例所述的实现原理类此,此处不再赘述。本实施例可以按照并发通路的并发特性,在各个并发通路之间进行数据均衡而非仅在并发通路内部进行数据均衡,从而可以实现全盘均衡而非现有技术的局部均衡。且均衡点不局限于某个区域或者某个Flash颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作或者均衡周期是否到达来灵活确定是否进行全盘均衡,从而减少对存储单元的存储性能的影响。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 图4为本发明固态硬盘一个实施例的结构示意图,如图4所示,本实施例的固态硬盘可以包括存储控制器11和存储单元12,该存储控制器11包括判断单元111和执行单元112,其中判断单元111用于判断是否满足损耗均衡触发条件;执行单元112用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上;将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的 LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上;存储单元12用于存储数据。其中,并发通路对应的逻辑块号LBN上的数据包括逻辑块号LBN所指向的、存储于存储单元位置上的数据;在另一个实施例中,执行单元112可以用于将当满足损耗均衡触发条件时,第 个并发通路对应的第η个LBN上的数据搬移到第 个并发通路对应的第η+1个LBN上,将第 个并发通路对应的第η+1个LBN上的数据搬移到第 个并发通路对应的第η+2个LBN 上,直到将第aK_i个并发通路对应的第N-I个LBN上的数据搬移到第0个并发通路对应的第0个LBN上为止,其中,η = 0 N-I,Ei1 = nmodK, K为并发通路总数,N为LBN的总数,a2 =(n+l)modK, a3 = (n+2)modK。本实施例的SSD,其实现原理与图1 图3所示的方法实施例的实现原理类似,此处不再赘述。本实施例可以按照并发通路的并发特性移动,实现全盘均衡,并且在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。另外,本实施例中仅给出了每个LBN上的数据被依次向下搬移一个LBN上的具体实现方式,本领域技术人员可以理解的是,在尽量避免并发冲突的前提下,LBN也可以采用两个为一组或者三个为一组等方式依次搬移,其实现原理与本实施例所述的实现原理类此,此处不再赘述。进一步地,在图4所示的SSD的基础上,还可以进一步地,判断单元111用于在主机输入输出接口上没有读写操作,或者,到达触发均衡处理的时间时,判断得到满足损耗均衡触发条件。存储控制器11处理的每个LBN包括至少一个逻辑块地址LBA,且存储控制器 11处理的并发通路包括通道和CE。本实施例的SSD,其实现原理与图1 图3所示的方法实施例的实现原理类似,此处不再赘述。本实施例可以按照并发通路的并发特性移动,可以实现全盘均衡,且均衡点不局限于某个区域或者某个Flash颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作来灵活确定是否进行全盘均衡,从而减少对性能的影响。本发明损耗均衡处理系统一个实施例可以包括上述图4所示的SSD,本系统实施例中的SSD,其实现原理与图1 图3所示的方法实施例的实现原理类似,此处不再赘述。本系统实施例可以按照并发通路的并发特性移动,可以实现全盘均衡,且均衡点不局限于某个区域或者某个Flash颗粒上。在进行全盘均衡时,各个通道之间不会造成数据的聚合,从而不会影响并发性,而且,通过调整1个LBN包括的LBA的数量,使得每次移动的数据量是可控的。进一步地,本实施例还可以根据当前主机I/O是否有操作来灵活确定是否进行全盘均衡,从而减少对性能的影响。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种损耗均衡处理方法,其特征在于,包括当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。
2.根据权利要求1所述的损耗均衡处理方法,其特征在于,所述将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,包括将第A个并发通路对应的第η个LBN上的数据搬移到第%个并发通路对应的第η+1 个LBN上,并将第 个并发通路对应的第η+1个LBN上的数据搬移到第 个并发通路对应的第η+2个LBN上,直到将第个并发通路对应的第N-I个LBN上的数据搬移到第 个并发通路对应的第η个LBN上为止,其中,η = 0 N-I,Ei1 = nmodK, K为并发通路总数,N 为 LBN 的总数,a2 = (n+l)modK, a3 = (n+2)modK。
3.根据权利要求1或2所述的损耗均衡处理方法,其特征在于,所述满足损耗均衡触发的条件包括当确定在主机I/O接口上没有读写操作,或者,当确定到达触发均衡处理的时间。
4.根据权利要求1或2所述的损耗均衡处理方法,其特征在于,每个LBN包括至少一个逻辑块地址LBA。
5.根据权利要求1或2所述的损耗均衡处理方法,其特征在于,所述并发通路包括通道和片选。
6.一种固态硬盘,其特征在于,包括存储控制器和存储单元,所述存储控制器包括判断单元,用于判断是否满足损耗均衡触发条件;执行单元,用于当满足损耗均衡触发条件时,将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上,其中,所述LBN上的数据存储于存储单元中;所述存储单元,用于存储数据。
7.根据权利要求6所述的固态硬盘,其特征在于,所述执行单元,具体用于当满足损耗均衡触发条件时,将第%个并发通路对应的第η个LBN上的数据搬移到第%个并发通路对应的第η+1个LBN上,并将第 个并发通路对应的第η+1个LBN上的数据搬移到第 个并发通路对应的第η+2个LBN上,直到将第h个并发通路对应的第N-I个LBN上的数据搬移到第 个并发通路对应的第η个LBN上为止,其中,η = 0 N_l, =nmodK, K为并发通路总数,N 为 LBN 的总数,a2 = (n+l)modK,a3 = (n+2)modK。
8.根据权利要求6或7所述的固态硬盘,其特征在于,所述判断单元具体用于在主机输入输出接口上没有读写操作,或者,到达触发均衡处理的时间时,判断得到满足损耗均衡触发条件。
9.根据权利要求6或7所述的固态硬盘,其特征在于,所述存储控制器处理的每个LBN包括至少一个逻辑块地址LBA。
10. 一种损耗均衡处理系统,其特征在于,包括权利要求6 9中任一权利要求所述的固态硬盘。
全文摘要
本发明实施例提供一种损耗均衡处理方法和系统以及固态硬盘,方法包括将第一并发通路对应的逻辑块号LBN上的数据搬移到与第二并发通路对应的LBN上,并将所述第二并发通路对应的LBN上的数据搬移到第三并发通路对应的LBN上,以此类推,直到将最后一个并发通路对应的LBN上的数据搬移到所述第一并发通路对应的LBN上。本发明实施例可以实现全盘均衡。
文档编号G11C7/10GK102375693SQ20101025749
公开日2012年3月14日 申请日期2010年8月16日 优先权日2010年8月16日
发明者张琴, 李欣, 杨继涛, 柯乔 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1