NAND闪存的动态管理方法与流程

文档序号:14950599发布日期:2018-07-17 22:27阅读:223来源:国知局

本发明有关于闪存,特别是闪存的高速缓存的动态管理。



背景技术:

闪存可分为slc(single-levelchip)闪存及mlc(multiple-levelchip)闪存。mlc闪存通常是tlc(triple-levelchip)闪存。把数据写入slc闪存的速度大于把数据写入tlc闪存的速度,因可用突发写(burstwrite)模式把数据写入slc闪存。所以,slc闪存可被当作高速缓存。然而,slc高速缓存贮存数据的密度小于tlc闪存贮存数据的密度。因此,nand闪存通常被规划成两区,亦即slc及tlc,求兼顾写的速度及贮存的密度。

图1所示,一个主机10用一个固态硬盘32。固态硬盘32有一个nand闪存34。nand闪存34被规划为两个闪存,一个是slc高速缓存36,另一个是tlc闪存38。依传统,slc高速缓存36的贮存空间的尺寸及tlc闪存38的贮存空间的尺寸都是固定的。

在一种常见的高速缓存的用法中,先以突发写模式,把数据写入slc高速缓存36。然后,在即将用完slc高速缓存36的贮存空间时,把数据从slc高速缓存36移到tlc闪存38。

然而,受限于nand闪存34的贮存空间及超容量(over-provision),slc高速缓存36的贮存空间通常只占nand闪存34的贮存空间的一小部分。依实务,slc高速缓存36的贮存空间通常小于nand闪存34的贮存空间的3%。因此,突发写模式只能持续一小段时间,然后把数据写入闪存的速度就大降。在移动较大档案或执行基准工具的过程中,写数据的速度常大降。



技术实现要素:

有鉴于上述习知技艺的问题,本发明的目的在于提供一种兼顾速度与寿命的闪存的动态管理方法。

为达成上述目的,该闪存的动态管理方法包括从一个主机接收写入指令的步骤。接着,判断nand闪存是否过了其寿命的初期。若nand闪存尚在其寿命的初期,则取nand闪存的第一部分当作slc高速缓存。若nand闪存过了其寿命的初期,则取nand闪存的第二部分当作slc高速缓存,其中第二部分小于第一部分。最后,依写入指令把数据写入slc高速缓存。

本发明的有益效果:解决了突发写模式只能持续一小段时间,然后把数据写入闪存的速度就大降及在移动较大档案或执行基准工具的过程中写数据的速度常大降的问题。

附图说明

图1是以本发明的方法管理的数据贮存装置的方块图;

图2是图1所示的数据贮存装置的动态管理方法的流程图;

图3显示以本发明的方法管理的数据贮存装置的效能与以习知方法管理的数据贮存装置的效能的比较;及

图4是以习知方法管理的数据贮存装置的方块图。

其中:10、主机,12、固态硬盘,14、nand闪存,16、slc高速缓存,18、tlc闪存,32、固态硬盘,34、nand闪存,36、slc高速缓存,38、tlc闪存,s10、主机下达写入指令,s12、ftl处理写入指令,s14、平均抹除次数>阈值?,s16、取nand快闪记忆的第一部分当作slc高速缓存,s18、取nand快闪记忆的第二部分当作slc高速缓存,s20、把数据从主机写入slc。

具体实施方式

以下请参照相关附图进一步说明本发明的闪存的动态管理方法的较佳实施例。为便于理解本发明,以下用相同符号标示相同组件。

如图1所示所示,一个主机10连接一个固态硬盘12。固态硬盘12有一个nand闪存14。nand闪存14被规划成两个闪存,一个是slc高速缓存16,另一个是tlc闪存18。依本发明,动态调整slc高速缓存16的贮存空间及tlc闪存18的贮存空间。因此,动态调整slc高速缓存16的贮存空间的尺寸及tlc闪存18的贮存空间的尺寸都是可变的。

如图2所示,在s10,主机10下达一个写入指令并传送数据。

在s12,用一个闪存转换层(flashtranslationlayer:ftl)处理该写入指令,并产生一个后端(backend:be)指令。

在s14,用一个后端接收该后端指令,并检查平均抹除次数(averageerasecount:aec)是否大于一个预先被设定的阈值。若平均抹除次数不大于该阈值,则流程走到s16,否则流程走到s18。

在s16,把slc高速缓存16的贮存空间设为nand闪存14的贮存空间的约33%。然后,流程走到s20。

在s18,把slc高速缓存16的贮存空间设为nand闪存14的贮存空间的约1%。然后,流程走到s20。

在s20,用后端把数据写入slc高速缓存16。依突发写模式,在高速,后端把写入指令所含的数据写入slc高速缓存16。

如图3所示,若slc高速缓存16的贮存空间被设为nand闪存14的贮存空间的33%,则突发写进行的时间长,因slc高速缓存16的贮存空间大。若slc高速缓存16的贮存空间被设为nand闪存14的贮存空间的1%,则突发写进行的时间短,因slc高速缓存16的贮存空间小。

在上述流程中,进行s14是为判断固态硬盘12是否过了其寿命的初期。aec不大于阈值表示固态硬盘12尚在其寿命的初期,它还能服务很久。因此,可尽量用固态硬盘12,并把nand闪存14的可观的部分(例如33%)设为slc高速缓存16。aec大于阈值表示固态硬盘12过了其寿命的初期,它还能服务不久。因此,避免过度用固态硬盘12,并把nand闪存14的很小的部分(例如1%)设为slc高速缓存16。如此的设计是要在固态硬盘12的效能(主要是速度)及寿命之间取得平衡。

以上所述说明,仅为本发明的较佳实施方式而已,意在明确本发明的特征,非用以限定本发明实施例的范围,本技术领域内的一般技术人员根据本发明所作的均等变化,以及本领域内技术人员熟知的改变,仍应属本发明涵盖的范围。



技术特征:

技术总结
本发明公开了一种NAND闪存的动态管理方法,首先从一个主机接收写入指令。接着,判断NAND闪存是否过了其寿命的初期。若NAND闪存尚在其寿命的初期,则取NAND闪存的第一部分当作SLC高速缓存。若NAND闪存过了其寿命的初期,则取NAND闪存的第二部分当作SLC高速缓存。第二部分小于第一部分。依写入指令把数据写入SLC高速缓存。

技术研发人员:徐家俊;徐伯贤;张柏坚
受保护的技术使用者:国科美国研究实验室
技术研发日:2018.01.26
技术公布日:2018.07.17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1