固态硬盘的动态SLC机制实现方法、装置和计算机设备与流程

文档序号:32659190发布日期:2022-12-23 22:54阅读:238来源:国知局
固态硬盘的动态SLC机制实现方法、装置和计算机设备与流程
固态硬盘的动态slc机制实现方法、装置和计算机设备
技术领域
1.本发明涉及固态硬盘技术领域,特别是涉及一种固态硬盘的动态slc机制实现方法、装置、计算机设备和存储介质。


背景技术:

2.ssd(solid state drive,固态硬盘)作为一种新型存储介质,其采用nand颗粒作为数据存储,已经广泛应用于pc,笔记本,服务器等各个领域并逐渐取代hdd(hard disk drive,机械硬盘)成为存储领域的主流应用产品,相比于传统hdd具有更高的读写速度,更低的功耗,更好的抗摔性等明显优点。
3.目前,对于ssd硬盘来说,随着tlc(triple-level cell,三阶储存单元)、qlc(quad-level cell,四阶储存单元)闪存占据主流,性能、可靠性问题日益突出,当前很多ssd都期望使用动态slc技术来提升性能以及延长寿命。但是使用何种动态slc技术使性能与可靠性最佳,是目前亟待解决的技术难题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种固态硬盘的动态slc机制实现方法、装置、计算机设备和存储介质。
5.一种固态硬盘的动态slc机制实现方法,所述方法包括:
6.写入数据并判断当前写放大是否超过告警阈值;
7.若写放大超过告警阈值则将数据写入tlc,若未超过则继续判断静态slc空间是否足够;
8.若静态slc空间足够则将数据写入静态slc,若不足则继续判断tlc的平均pe是否超标;
9.若tlc的平均pe超标则将数据写入tlc,若未超标则继续判断动态slc空间是否足够;
10.若动态slc空间不够则将数据写入tlc,若动态slc空间足够则继续判断剩余空间是否大于预留空间;
11.若剩余空间大于预留空间则将数据写入动态slc,否则将数据写入tlc。
12.在其中一个实施例中,所述判断静态slc空间是否足够的步骤还包括:
13.512gb容量需要6gb的静态slc空间,1t容量需要12gb的静态slc空间。
14.在其中一个实施例中,所述判断动态slc空间是否足够的步骤还包括:
15.512gb容量需要85gb的动态slc空间,1tb容量需要140gb的动态slc空间。
16.在其中一个实施例中,所述判断剩余空间是否大于预留空间的步骤还包括:
17.判断剩余空间是否大于预留空间op比例,其中所述op比例=(闪存空间-用户空间)/用户空间。
18.一种固态硬盘的动态slc机制实现装置,所述固态硬盘的动态slc机制实现装置包
括:
19.第一判断模块,所述第一判断模块用于写入数据并判断当前写放大是否超过告警阈值;
20.第二判断模块,所述第二判断模块用于若写放大超过告警阈值则将数据写入tlc,若未超过则继续判断静态slc空间是否足够;
21.第三判断模块,所述第三判断模块用于若静态slc空间足够则将数据写入静态slc,若不足则继续判断tlc的平均pe是否超标;
22.第四判断模块,所述第四判断模块用于若tlc的平均pe超标则将数据写入tlc,若未超标则继续判断动态slc空间是否足够;
23.第五判断模块,所述第五判断模块用于若动态slc空间不够则将数据写入tlc,若动态slc空间足够则继续判断剩余空间是否大于预留空间;
24.写入模块,所述写入模块用于若剩余空间大于预留空间则将数据写入动态slc,否则将数据写入tlc。
25.在其中一个实施例中,所述第二判断模块还用于:
26.512gb容量需要6gb的静态slc空间,1t容量需要12gb的静态slc空间。
27.在其中一个实施例中,所述第四判断模块还用于:
28.512gb容量需要85gb的动态slc空间,1tb容量需要140gb的动态slc空间。
29.在其中一个实施例中,所述第五判断模块还用于:
30.判断剩余空间是否大于预留空间op比例,其中所述op比例=(闪存空间-用户空间)/用户空间。
31.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
32.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
33.上述固态硬盘的动态slc机制实现方法、装置、计算机设备和存储介质通过从五个方面来决定动态slc的使用方式,包括:写放大的影响;静态slc空间是否足够;pe是否告警;动态slc空间是否足够以及备用空间是否足够。并将上述提出的五个方面按照特定流程步骤进行优先级的排序,从而实现一种平衡固态硬盘性能与可靠性的动态slc机制和流程。
附图说明
34.图1为传统技术中动态slc机制的实现过程示意图;
35.图2为一个实施例中固态硬盘的动态slc机制实现方法的流程示意图;
36.图3为另一个实施例中固态硬盘的动态slc机制实现方法的流程示意图;
37.图4为一个实施例中固态硬盘的动态slc机制实现装置的结构框图;
38.图5为一个实施例中计算机设备的内部结构图。
具体实施方式
39.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并
不用于限定本技术。
40.目前,参考图1所示,传统的动态slc机制是:优先看静态slc空间是否足够,如果足够就尽量写入静态slc,然后再看动态slc空间是否足够,如果动态slc空间不够了,就写入tlc。由此可见,上述动态slc机制并不完善,有很大的优化空间。
41.基于此,本发明提出了一种固态硬盘的动态slc机制实现方法,旨在可以更好地平衡固态硬盘性能与可靠性。
42.在一个实施例中,如图2所示,提供了一种固态硬盘的动态slc机制实现方法,该方法包括:
43.步骤202,写入数据并判断当前写放大是否超过告警阈值;
44.步骤204,若写放大超过告警阈值则将数据写入tlc,若未超过则继续判断静态slc空间是否足够;
45.步骤206,若静态slc空间足够则将数据写入静态slc,若不足则继续判断tlc的平均pe是否超标;
46.步骤208,若tlc的平均pe超标则将数据写入tlc,若未超标则继续判断动态slc空间是否足够;
47.步骤210,若动态slc空间不够则将数据写入tlc,若动态slc空间足够则继续判断剩余空间是否大于预留空间;
48.步骤212,若剩余空间大于预留空间则将数据写入动态slc,否则将数据写入tlc。
49.在本实施例中,提供了一种固态硬盘的动态slc机制实现方法,该方法通过从五个方面来决定动态slc的使用方式,具体包括:写放大的影响;静态slc空间是否足够;pe是否告警;动态slc空间是否足够以及备用空间是否足够。
50.其具体的判断优先级可参考图3所示,具体包括如下步骤:
51.1、开始,下一步执行流程2;
52.2、写入数据,下一步执行流程3;
53.3、判断写放大是否超过告警阈值,如果是执行流程4,如果否执行流程5;
54.4、数据写入tlc,下一步执行流程11;
55.5、判断sslc(static single level cell)空间是否足够,如果是执行流程10,如果否执行流程6;
56.6、判断tlc的平均pe(program/erase cycle)是否超标,如果超标执行流程4,如果否执行流程7;
57.7、判断dslc(dynamic single level cell)的空间是否足够,如果足够执行流程8,如果不够执行流程4;
58.8、判断剩余空间是否大于op(over-provision),如过剩余空间大于op执行流程9,否则执行流程4;
59.9、数据写入dslc,下一步执行流程11;
60.10、数据写入sslc,下一步执行流程11;
61.11、结束。
62.在本实施例中,通过从五个方面来决定动态slc的使用方式,包括:写放大的影响;静态slc空间是否足够;pe是否告警;动态slc空间是否足够以及备用空间是否足够。并将上
述提出的五个方面按照特定流程步骤进行优先级的排序,从而实现一种平衡固态硬盘性能与可靠性的动态slc机制和流程。
63.在一个实施例中,判断静态slc空间是否足够的步骤还包括:512gb容量需要6gb的静态slc空间,1t容量需要12gb的静态slc空间。
64.在一个实施例中,判断动态slc空间是否足够的步骤还包括:512gb容量需要85gb的动态slc空间,1tb容量需要140gb的动态slc空间。
65.在一个实施例中,判断剩余空间是否大于预留空间的步骤还包括:判断剩余空间是否大于预留空间op比例,其中所述op比例=(闪存空间-用户空间)/用户空间。
66.在本实施例中,对每一步判断过程中所涉及到的参数进行了进一步的说明如下:
67.在判断写放大是否超过告警阈值的步骤中,此处是判断一段时间内的写放大倍数,比如写放大为6。
68.在判断静态slc(sslc)空间是否足够的步骤中,此处的细节是,512gb的容量使用6gb的sslc,1t使用12gb的sslc,以此类推。
69.在判断tlc的平均pe是否超标的步骤中,此处pe选择为1000。
70.在判断动态slc(dslc)空间是否足够的步骤中,此处512gb容量时dslc为85gb,1tb容量时dslc为140gb。
71.判断剩余空间是否大于预留空间op(over-provision),其中op比例=(闪存空间-用户空间)/用户空间,此处op推荐为2%。
72.在本实施例中,通过上述具体判断细节可以实现更好地平衡固态硬盘性能与可靠性。
73.应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
74.在一个实施例中,如图4所示,提供了一种固态硬盘的动态slc机制实现装置400,该装置包括:
75.第一判断模块401,所述第一判断模块用于写入数据并判断当前写放大是否超过告警阈值;
76.第二判断模块402,所述第二判断模块用于若写放大超过告警阈值则将数据写入tlc,若未超过则继续判断静态slc空间是否足够;
77.第三判断模块403,所述第三判断模块用于若静态slc空间足够则将数据写入静态slc,若不足则继续判断tlc的平均pe是否超标;
78.第四判断模块404,所述第四判断模块用于若tlc的平均pe超标则将数据写入tlc,若未超标则继续判断动态slc空间是否足够;
79.第五判断模块405,所述第五判断模块用于若动态slc空间不够则将数据写入tlc,若动态slc空间足够则继续判断剩余空间是否大于预留空间;
80.写入模块406,所述写入模块用于若剩余空间大于预留空间则将数据写入动态slc,否则将数据写入tlc。
81.在一个实施例中,第二判断模块402还用于:
82.512gb容量需要6gb的静态slc空间,1t容量需要12gb的静态slc空间。
83.在一个实施例中,第四判断模块404还用于:
84.512gb容量需要85gb的动态slc空间,1tb容量需要140gb的动态slc空间。
85.在一个实施例中,第五判断模块405还用于:
86.判断剩余空间是否大于预留空间op比例,其中所述op比例=(闪存空间-用户空间)/用户空间。
87.关于固态硬盘的动态slc机制实现装置的具体限定可以参见上文中对于固态硬盘的动态slc机制实现方法的限定,在此不再赘述。
88.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘的动态slc机制实现方法。
89.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
90.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
91.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
92.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一种非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
93.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
94.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1