当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于超级块的固态硬盘SSD双区磨损均衡处理方法技术

技术编号:25755565 阅读:178 留言:0更新日期:2020-09-25 21:04
本发明专利技术公开了一种基于超级块结构的固态硬盘SSD磨损均衡处理方法,该方法在固态硬盘的超级块结构下,通过将整个系统分为双区块(A,B),并将双区各自的超级块(D)进行冷热错位排列,在垃圾回收时采取错位回收(C)的方式,将超级块的热数据根据错位法则回收进另一区的冷数据块(400),将冷数据回收进另一区的热数据块(300),该方法实现在垃圾回收的同时,不消耗额外的读写操作完成磨损均衡处理。本发明专利技术在双区磨损均衡的基础之上另兼容了一种利用备用区块(700)处理垃圾回收时有效数据过多的方法。总体上,本发明专利技术减少了额外闪存读写开销,达到提升性能,延长寿命的效果。

【技术实现步骤摘要】
一种基于超级块的固态硬盘SSD双区磨损均衡处理方法
本专利技术涉及一种基于超级块的固态硬盘SSD双区磨损均衡处理方法,属于电子信息、集成电路设计领域。
技术介绍
1967年,贝尔实验室韩裔科学家姜大元和华裔科学家施敏专利技术了浮栅晶体管(FloatingGateTransistor),奠定了固态硬盘SSD技术的基础。浮栅晶体管相比MOSFET多了FloatingGate,即悬浮栅层,该层被高阻抗的材料包裹,上下绝缘,从而能够保存电荷,确保SSD数据的不易失性。从技术参数上看,固态硬盘SSD相较机械硬盘HDD具有性能好、功耗低、抗震防摔性好等优势,而HDD则目前存在着价格上的优势,然而随着SSD技术的更替与进步,价格的优势势必在未来将不复存在。固态硬盘SSD的存储介质主要有Flash,RAM,3DXPoint等,本专利技术所述的SSD存储介质指NANDFlash。NANDFlash闪存具有以下重要的特性:1)闪存物理块不能进行覆盖写不能覆盖写意味着闪存必须先将块中的数据进行擦除,才能将新数据写入原来的位置。因此为了提升闪存的速度,引入了有效数据与无效数据的概念,既当新数据需将写入时,并不将原有数据块擦除,而是将新数据写入新的页位置,并标记数据为有效数据,原有数据为无效数据。然而随着系统的运行,有效数据增多的同时,无效数据也在不停的增多,并变为垃圾数据。垃圾数据的存在使得闪存的存储空间不断减小,从而迫使整个系统需进行回收垃圾的操作,简称垃圾回收(GC,GarbageCollection)。垃圾回收操作的实质就是将闪存块内的有效数据搬移到新的空闲块中,并将该闪存块擦除,从而腾出新的存储空间。2)闪存块具有阈值擦操作由于闪存的物理特性,闪存的单个物理块在多次擦除之后,寿命将被耗尽从而变为坏块。这就意味着在日常操作固态硬盘系统时,不能盯着小部分块进行集中操作,否则这小部分闪存块将在短时间变为坏块,从而导致系统性能下降甚至报废。因此,整个固态硬盘系统需要加入磨损均衡机制(WearLeveling),该机制需确保将数据的实时更新均摊到每一个闪存块上。3)热数据与冷数据热数据指存储于固态硬盘系统的某个特定的数据或数据群,其特点是在过去或者未来会发生频繁的更新。冷数据与热数据相反,既更新的不频繁甚至长期不发生更新的数据。冷热数据的存在使得磨损均衡机制在考虑均匀擦写的同时,也得避免冷数据在一个闪存块长期的停留以及热数据在小范围的闪存块之间频繁的更新。冷数据的长期停留以及热数据的局部频繁更新都将造成闪存块之间擦除方差的增大。4)固态硬盘的读写放大固态硬盘的读写放大是指相对于正常的读写操作,在完成一次读写操作时需增加的额外读写操作次数。通常读写放大来源于以下三个方面:一,在一次读写时,涉及到了映射表的更新。由于固态硬盘的内存空间无法存储整个硬盘的映射表项,而当一次读写操作命中内存映射表项之外的地址时,需要额外的读写操作来更新内存中的映射表项,从而造成读写放大。二,当一次读写时,触发了垃圾回收操作。当读写操作完成,下一个读写操作将要到达时,达到了系统设定的阈值从而触发垃圾回收,则系统将对特定的闪存块进行有效数据搬移以及擦除操作,从而引发数额较大的读写放大。三,当系统闪存块的擦除方差达到阈值时,触发磨损均衡操作。具体表现为系统为平衡闪存块的擦除次数,将热数据集体搬移进擦除次数少、存储冷数据的块,将冷数据搬进擦除次数较多、存储热数据的块。这种额外的搬移操作也将引发大量的读写放大。5)超级块闪存块被包裹在固态硬盘的plane结构(600)之中,通常一个plane有数十甚至数百个闪存块,而一个固态硬盘包含数个plane。在传统的固态硬盘读写数据过程中,均采取按块的顺序读写操作,既上一个数据与下一个数据的读写集中在一个闪存块或一个plane里,这样的设计没有充分利用plane里的缓存,原因是系统将数据写入或读出数据块时,都需先将数据转进缓存之中,再通过缓存与外界交互。如若前后读写操作都集中在一个plane内,则当数据进入缓存,再到数据从缓存中取出这一段时间,整个固态硬盘系统无法进行任何操作。超级块的诞生则解决了这个问题,其通过将一定数量不同plane的闪存块组成一个超级块,并将所有对块的操作转变为对整体超级块的操作。比如将数据写入一个闪存块的缓存后,下一次便将数据写入另一个plane的闪存块的缓存中,而与此同时第一个闪存块将缓存的数据写入实际存储介质之中。从近年的研究看,超级块架构由于其独特的读写优势已进入各个高校的研究领域以及企业的研发领域之中。然而在传统的固态硬盘架构之中仍然存在磨损均衡效果不明显,产生的读写放大过大而严重影响性能的现象,更何况在新的超级块架构下,对磨损均衡方法的要求势必更需创新性与实用性。提升磨损均衡方法的均衡效果,以及改善磨损均衡方法的读写放大现象将是各界学者不懈追求的目标。
技术实现思路
为了解决在现有的超级块架构下,传统的磨损均衡方法效果不明显,且产生的读写放大过大而严重影响性能的现象,本专利技术提供了一种基于超级块的固态硬盘SSD双区磨损均衡处理方法。与现有的固态硬盘磨损均衡相比,本专利技术所述方法将现流行的超级块结构(D)融入磨损均衡方法之中,同时创造性的提出基于超级块的双区处理方法(C),该方法确保热数据在垃圾回收时被回收进冷数据块,从而将磨损均衡方法整合进垃圾回收之中,相较现有的磨损均衡方法省去了额外的处理冷热数据的步骤,提升了性能以及寿命。本专利技术同时考虑到处理垃圾回收时,物理块内有效数据过多的情况,提出了一种备用区替换机制。使用备用区块(700)替换有效数据较多的物理块,同时在内存中建立一张可增删的索引链表(G),存储替换块与原块的有效信息(800,900,1000),从而实现不转移有效数据过多块并实现垃圾回收的方法,进一步减少垃圾回收时数据转移操作,提升性能的同时,降低了磨损程度。为了实现上述目的,本专利技术采用如下技术方案:一种基于超级块的固态硬盘SSD双区磨损均衡处理方法,包括:步骤1:将固态硬盘SSD中的plane划分为存储热数据块的plane和存储冷数据块的plane,并将固态硬盘SSD划分为A区和B区,所述的A区和B区具有相同的plane数;步骤2:将A区和B区分别划分为若干个超级块,每一个超级块由一个区内的所有Plane中的一个物理块组成,且A区超级块的块头为热数据块,B区超级块的块头为冷数据块;步骤3:建立备用区替换机制,当超级块触发垃圾回收时,首先判断是否需要对超级块中的垃圾回收块进行备用区替换;若是,则触发备用区替换机制,否则不触发;步骤4:建立垃圾回收机制,将需要垃圾回收的超级块中的热数据转移到另一区中的冷数据块中,将需要垃圾回收的超级块中的冷数据转移到另一区中的热数据块中,然后将需要进行垃圾回收的超级块擦除,放入另一区中备用。进一步的,所述的备用区替换机制具体为:当超级块触发垃圾回收时,超级块包含的冷数据块和热数据块称为垃圾回收块,首先判断超级块中的垃圾回收块是本文档来自技高网
...

【技术保护点】
1.一种基于超级块的固态硬盘SSD双区磨损均衡处理方法,其特征在于,包括:/n步骤1:将固态硬盘SSD中的plane划分为存储热数据块的plane和存储冷数据块的plane,并将固态硬盘SSD划分为A区和B区,所述的A区和B区具有相同的plane数;/n步骤2:将A区和B区分别划分为若干个超级块,每一个超级块由一个区内的所有Plane中的一个物理块组成,且A区超级块的块头为热数据块,B区超级块的块头为冷数据块;/n步骤3:建立备用区替换机制,当超级块触发垃圾回收时,首先判断是否需要对超级块中的垃圾回收块进行备用区替换;若是,则触发备用区替换机制,否则不触发;/n步骤4:建立垃圾回收机制,将需要垃圾回收的超级块中的热数据转移到另一区中的冷数据块中,将需要垃圾回收的超级块中的冷数据转移到另一区中的热数据块中,然后将需要进行垃圾回收的超级块擦除,放入另一区中备用。/n

【技术特征摘要】
1.一种基于超级块的固态硬盘SSD双区磨损均衡处理方法,其特征在于,包括:
步骤1:将固态硬盘SSD中的plane划分为存储热数据块的plane和存储冷数据块的plane,并将固态硬盘SSD划分为A区和B区,所述的A区和B区具有相同的plane数;
步骤2:将A区和B区分别划分为若干个超级块,每一个超级块由一个区内的所有Plane中的一个物理块组成,且A区超级块的块头为热数据块,B区超级块的块头为冷数据块;
步骤3:建立备用区替换机制,当超级块触发垃圾回收时,首先判断是否需要对超级块中的垃圾回收块进行备用区替换;若是,则触发备用区替换机制,否则不触发;
步骤4:建立垃圾回收机制,将需要垃圾回收的超级块中的热数据转移到另一区中的冷数据块中,将需要垃圾回收的超级块中的冷数据转移到另一区中的热数据块中,然后将需要进行垃圾回收的超级块擦除,放入另一区中备用。


2.根据权利要求1所述的基于超级块的固态硬盘SSD双区磨损均衡处理方法,其特征在于,所述A区和B区中存储热数据块的plane和存储冷数据块的plane数量相等。


3.根据权利要求1所述的基于超级块的固态硬盘SSD双区磨损均衡处理方法,其特征在于,所述的步骤3具体为:
当超级块触发垃圾回收时,超级块包含的冷数据块和热数据块称为垃圾回收块,首先判断超级块中的垃圾回收块是否需要进行备用区替换,判断条件为:



其中,Pv为超级块中的其中一个垃圾回收块的有效页数,Pa为超级块中的所有垃圾回收块的总页数,β为比例参数;若公式成立,则需要选择与垃圾回收块处于同一plane下的备用区替换块进行替换,所述的备用区替换块与其他未进行替换的垃圾回收块作为新的超级块,进入步骤4进行垃圾回收操作;若公式不成立,则不需要进行备用区替换。


4.根据权利要求3所述的基于超级块的固态硬盘SSD双区磨损均衡处理方法,其特征在于,所述步骤3的备用区替换机制,还包括:
当选择备用区替换块对垃圾回收块进行替换之后,在系统内存中建立链式表,链式表中的每个结点Nd表示为:
Nd={pbn,r,num_vaild}
其中,...

【专利技术属性】
技术研发人员:陈斌禾张培勇
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

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

1