[0020] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0021] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0022] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0023] 一种同质混合固态硬盘的分区比例自适应调整方法,假设SSD物理容量为Stotal,其中有效数据量为N,闪存的页面读取时间记为Tr,页面写入时间记为Tw,TLC闪存块擦除时间记为Tbe,闪存中每个块包含的页数记为Np;数据有效页均匀分布在所有闪存块的闪存页中,则有:
[0024] SSD的空间利用率为
[0025] SSD在进行垃圾回收时,平均每次垃圾回收所需要的时间为:
[0026] Tgc=(Tr+Tw)×(ρ×Np)+Tbe
[0027] 上式中,ρ×Np为垃圾回收目标块中的有效页的数量。
[0028] 在垃圾回收操作后,新得到的可利用的空白页个数为(1‑ρ)×Np。将上述的垃圾回收操作的时间开销Tgc平均到每一次页面写入的时间成本上,得到平均页面写入时间为:
[0029]
[0030] 上式中,Tr、Tw,Tbe和Np只取决于闪存芯片,闪存芯片固定后,这些都是定值。因此,可以看出, 最终是由ρ决定的。上式也表明,SSD的空间利用率越高,则平均写入时间也越大。
[0031] 如图1所示,对于基于TLC闪存的固态硬盘,可以将其中部分TLC闪存块取出,仅使用其LSB页来提高闪存的写入速度,使其达到SLC闪存的写入性能,这部分闪存称为SLC分区,剩下的利用全部闪存页(LSB、CSB和MSB页)存储数据的闪存块构成TLC分区。由于SLC分区下的闪存块只使用LSB页,因此,SLC分区的闪存块的容量仅为TLC分区闪存块容量的1/3。因此,本申请针对的基于TLC闪存混合固态硬盘具有2种模式,分别为SLC模式和TLC模式。
[0032] 上述为提高同质混合SSD的性能,要合理控制SLC区和TLC区的空间利用率,这又可以通过调整SLC区的分区比例β实现。
[0033] 记固态硬盘物理存储容量为Stotal,所存储的有效数据量为N,定义SSD的空间利用率为ρ为:
[0034]
[0035] 进一步地,闪存中的有效数据可以根据某种机制(例如布隆滤波、最近最少访问原则等)分为热数据和冷数据,记热数据所占比例为θ,冷数据所占比例为1‑θ,即热的有效数据量为θ·N,冷的有效数据量为(1‑θ)·N。
[0036] 进一步,将SSD中SLC分区的闪存块个数占总闪存块个数的比例记为β,TLC分区的闪存块个数占总闪存块个数的比重记为1‑β。
[0037] 进一步,本发明中用SLC分区存储热数据,用TLC分区存储冷数据。由此可以得出SLC分区的空间利用率为:
[0038]
[0039] 其中,NSLC‑data为SLC中存储的有效热数据量,SSLC为SLC分区的容量。
[0040] 类似地,TLC分区的空间利用率为:
[0041]
[0042] 其中,NTLC‑data为TLC中存储的有效数据量,STLC为TLC分区的容量。
[0043] 进一步地,由于SSD的空间利用率ρ的取值范围为[0,1],SLC分区和TLC分区的空间利用率的取值范围也均为[0,1]。由此容易得出,SLC分区的比例β的可调整范围为:
[0044] 3·θ·ρ<β<1‑(1‑θ)·ρ (4)
[0045] 进一步地,假设热写数据占总的写访问次数的比例为γ,这些数据写入到SLC分区中,则冷写数据占总的写访问次数的比例为1‑γ,这些数据写入到TLC分区中。
[0046] 由于闪存的平均页面写入时间与闪存的空间利用率有关,且闪存的空间利用率越低,平均页面写入时间也越少。因此,当实际热写比例γ增多时,为了降低平均页面写入时间,需降低SLC模式闪存的分区空间利用率。这也就是说,需要将更多的闪存块划分到SLC分区,此时需要增大β。当冷写数据次数增多时,为了降低平均页面写入时间,需降低TLC分区的空间利用率。这也就是说,需要将更多的闪存块划分为TLC模式,此时需要即减小β。基于*上述考虑,本发明用下式定义最佳(或期望)的SLC分区的比例β:
[0047] β*=3·θ·ρ+γ[1‑(1‑θ)·ρ‑3·θ·ρ] (5)
[0048] 进一步,在写入数据需要分配新的闪存块的过程中,可以根据实际的SLC分区比例*β和最佳的β之间的大小关系调整闪存块的工作模式,以调整SLC和TLC分区的空间利用率,从而优化整体的等效闪存写入性能,达到提高固态硬盘的性能的目的。
[0049] 进一步地,如图2所示,本发明提出的一种同质混合固态硬盘的分区比例自适应调整方法,包括如下步骤:
[0050] S1,根据SSD中存储的实际数据量N和SSD的实际物理空间Stotal,按下式计算出SSD的空间利用率ρ。
[0051]
[0052] S2,根据负载访问特性,统计热数据占总数据量的比例θ,按下式计算出SLC分区比例占实际物理空间的比例β的可调整范围。
[0053] 3·θ·ρ<β<1‑(1‑θ)·ρ
[0054] S3,根据负载访问特性,统计热数据的写次数占总写次数的比例γ,按下式计算出最佳的SLC分区比例。
[0055] β*=3·θ·ρ+γ[1‑(1‑θ)·ρ‑3·θ·ρ]
[0056] S4,数据写入时,热数据写入到SLC分区,冷数据写入到TLC分区。在写入数据需要新分配闪存块时,若是热数据,执行S5;否则为冷数据,执行S6。
[0057] S5,在SLC区需要新的闪存块时,若当前SLC分区比例β<β*,则从TLC分区的取出空闲块,将其配置为SLC模式,从而增加SLC分区空间,减少TLC分区空间。
[0058] S6,在TLC区需要新的闪存块时,若当前SLC分区比例β>β*,则从SLC分区的取出空闲块,将其配置为TLC模式,从而增加TLC分区空间,减少SLC分区空间。
[0059] 上述一种同质混合固态硬盘的分区比例自适应调整方法,在具体操作过程中,具体操作步骤如下:
[0060] C1,现假设全闪存的空间利用率ρ=0.5,当前的SLC分区比例β=0.4。
[0061] C2,当利用TLC闪存构建软化分混合固态硬盘时,将热数据写入SLC模式闪存,冷数据写入TLC模式闪存,现假设冷热数据的比例服从20%‑80%分配原则,即有效的热数据比例θ=0.2,则有效的冷数据比例为0.8。
[0062] C3,根据ρ=0.5,θ=0.2,计算出SLC模式闪存的比例β的可调整范围:0.3<β<0.6。
[0063] C4,从总的数据写入量方面来说,假设20%的热数据占了80%的写入次数,80%的冷数据占了20%的写入次数,即γ=0.8。
[0064] C5,根据β*=3·θ·ρ+γ[1‑(1‑θ)·ρ‑3·θ·ρ]计算出最佳的SLC模式闪存比例*为β=0.54。
[0065] C6,由于当前SLC模式闪存比例β=0.4<β*=0.54。在SLC区需要新的闪存块时,将取出TLC分区的空闲块,让其工作在SLC模式下,以实现自适应调整SLC、TLC分区比例的目的。
[0066] 本实施例中的一种同质混合固态硬盘的分区比例自适应调整方法,基于SSD的空间利用率、热数据比例、热数据的写入比例得出较佳的SLC分区比例(简称期望比例),然后在实际的闪存块分配过程中,根据实际的比例与期望比例决定是把SLC分区的闪存块转换成TLC分区的闪存块,还是将TLC分区的闪存块转换成SLC分区的闪存块解决了同种介质软化分混合固态硬盘的分区划分问题。该方法能在SSD的全生命时间,提升固态硬盘的性能,增强用户的使用体验,有利于上述同质混合固态硬盘的分区比例自适应调整方法在计算机技术领域的推广及应用。
[0067] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现;因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。