一种数据存储方法、SSD控制器、SSD及电子设备技术

技术编号:33064002 阅读:13 留言:0更新日期:2022-04-15 09:53
本申请实施例提供一种数据存储方法、SSD控制器、SSD及电子设备,其中方法包括:将所述数据流缓存到SSD的非易失性缓存;其中,所述非易失性缓存为SSD的闪存颗粒的前置缓存,并且所述非易失性缓存的数据读写延时介于SSD中的易失性缓存和闪存颗粒之间;若所述非易失性缓存中缓存的数据流达到预设的写入条件,将达到所述写入条件的数据流,写入到所述闪存颗粒。本申请实施例可以降低多流技术下数据流传输数量的限制,提升SSD支持的多流数量,从而提升SSD的数据存储性能。SSD的数据存储性能。SSD的数据存储性能。

【技术实现步骤摘要】
一种数据存储方法、SSD控制器、SSD及电子设备


[0001]本申请实施例涉及存储器
,具体涉及一种数据存储方法、SSD控制器、SSD及电子设备。

技术介绍

[0002]SSD(Solid State Disk,固态硬盘)是使用固态电子存储芯片阵列制成的硬盘,其可以采用闪存颗粒作为存储介质。相比于传统的机械硬盘,SSD具有读写速度快、功耗低、噪音低、轻便等优点,因此SSD在存储领域得到了广泛的应用。
[0003]在Multi

Stream(多流)技术下,SSD可通过Multi

Stream协议,将主机端传输的数据流在闪存颗粒中进行分区存放,以实现SSD的盘内区域隔离。然而,出于SSD掉电时的数据存储安全性、以及闪存颗粒可能多次page(页) program(编程)的考虑,SSD可支持的多流数量会存在一定的限制,因此如何优化SSD的数据存储方案,以提升SSD支持的多流数量,从而提升SSD的数据存储性能,成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本申请实施例提供一种数据存储方法、SSD控制器、SSD及电子设备,以提升SSD支持的多流数量,从而提升SSD的数据存储性能。
[0005]为实现上述目的,本申请实施例提供如下技术方案。
[0006]第一方面,本申请实施例提供一种数据存储方法,包括:获取主机传输的数据流;将所述数据流缓存到SSD的非易失性缓存;其中,所述非易失性缓存为SSD的闪存颗粒的前置缓存,并且所述非易失性缓存的数据读写延时介于SSD中的易失性缓存和闪存颗粒之间;若所述非易失性缓存中缓存的数据流达到预设的写入条件,将达到所述写入条件的数据流,写入到所述闪存颗粒。
[0007]第二方面,本申请实施例提供一种数据存储方法,包括:检测SSD的闪存颗粒中数据的读取频率;若数据的读取频率高于预定频率,将所述数据搬移到所述闪存颗粒的前置缓存;所述前置缓存包括非易失性缓存,所述非易失性缓存的数据读写延时介于SSD中的易失性缓存和闪存颗粒之间。
[0008]第三方面,本申请实施例提供一种SSD控制器,所述SSD控制器被配置为执行如上述第一方面所述的数据存储方法,或者,如上述第二方面所述的数据存储方法。
[0009]第四方面,本申请实施例提供一种SSD,包括:如上述所述的SSD控制器、非易失性缓存、以及闪存颗粒;其中,所述非易失性缓存作为所述闪存颗粒的前置缓存,用于缓存主机传输至所述SSD的数据流;所述非易失性缓存的数据读写延时介于所述SSD的易失性缓存和闪存颗粒
之间。
[0010]第五方面,本申请实施例提供一种电子设备,包括主机以及如上述所述的SSD,所述主机与所述SSD之间通过多流协议传输数据。
[0011]本申请实施例在SSD的闪存颗粒使用单位bit数较多的闪存单元,并且闪存颗粒需要进行多次page program时,可在SSD中设置非易失性缓存作为闪存颗粒的前置缓存,并且该非易失性缓存的数据读写延时介于SSD中的易失性缓存和非易失性的闪存颗粒之间。从而,在SSD获取到主机端传输的数据流时,本申请实施例可将所述数据流缓存到SSD中的非易失性缓存中,并且非易失性缓存中的数据流达到预设的写入条件时,可写入到闪存颗粒中,以实现多流场景下,数据流在SSD中的分区隔离存储。由于本申请实施例使用非易失性缓存作为闪存颗粒的前置缓存,来缓存主机侧传输的数据流,因此即使SSD发生掉电情况,本申请实施例也可保障非易失性缓存中的数据不出现丢失,而不必在掉电时立刻将非易失性缓存中的数据写入到闪存颗粒中;从而,本申请实施例可规避SSD中的电容对于前置缓存所缓存的数据量限制,避免主机侧的数据流数量所受的限制,从而提升主机侧在多流场景下可传输给SSD的数据流数量,提升SSD的数据存储性能。
附图说明
[0012]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0013]图1A为SSD的结构示例图。
[0014]图1B为闪存颗粒的类型示例图。
[0015]图2为应用SSD的电子设备的示例图。
[0016]图3为本申请实施例提供的SSD的另一示例图。
[0017]图4A为本申请实施例提供的数据存储方法的流程图。
[0018]图4B为本申请实施例提供的数据存储方法的另一流程图。
[0019]图5A为本申请实施例提供的SSD的再一示例图。
[0020]图5B为本申请实施例提供的数据存储方法的再一流程图。
[0021]图5C为本申请实施例提供的数据存储方案的实现示例图。
[0022]图6为本申请实施例提供的SSD的又一示例图。
[0023]图7A为本申请实施例提供的数据存储方法的又一流程图。
[0024]图7B为本申请实施例搬移数据到前置缓存的方法流程图。
[0025]图8为本申请实施例提供的SSD的又另一示例图。
具体实施方式
[0026]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0027]图1A示例性的示出了SSD的结构示例图,如图1A所示,SSD可以包括:SSD控制器110和闪存颗粒120。SSD控制器110为SSD中的主控芯片,主要实现SSD中的数据存储控制和管理,例如SSD控制器可管理用户(一般为主机侧)传输至SSD进行读写的数据流、管理逻辑地址和物理地址的映射、管理闪存颗粒的特性等。闪存颗粒120为SSD中存储数据的存储介质,在一些实施例中,闪存颗粒可以是非易失性的存储介质。例如,SSD中可以使用NAND闪存颗粒,其中,NAND闪存是一种非易失性存储技术,即断电后仍能保存数据。
[0028]闪存颗粒(例如NAND闪存颗粒)可以由多个以bit(比特)为单位的闪存单元构成,一个闪存单元存储数据的单位bit数可以是一位或者多位。基于闪存颗粒中的每个闪存单元存储数据的单位bit数,闪存颗粒可以分为多种不同的类型。也就是说,基于闪存颗粒中电子单元的密度大小,闪存颗粒可以具有不同的类型。图1B示例性的示出了闪存颗粒的类型示例图,可进行参照。如图1B所示,闪存颗粒可以分为SLC(Single Level Cell,单层单元)、MLC(Multi Level Cell,多层单元)、TLC(Triple Level Cell,三层单元)、QLC(Quad Level Cell,四层单元)等多种类型;其中,基于SLC的闪存颗粒以1bit为单位存储数据,基于ML本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其中,包括:获取主机传输的数据流;将所述数据流缓存到SSD的非易失性缓存;其中,所述非易失性缓存为SSD的闪存颗粒的前置缓存,并且所述非易失性缓存的数据读写延时介于SSD中的易失性缓存和闪存颗粒之间;若所述非易失性缓存中缓存的数据流达到预设的写入条件,将达到所述写入条件的数据流,写入到所述闪存颗粒。2.根据权利要求1所述的方法,其中,还包括:确定所述数据流的数据特性;所述将所述数据流缓存到SSD的非易失性缓存包括:若所述数据特性为第一特性,将所述数据流缓存到所述非易失性缓存。3.根据权利要求2所述的方法,其中,还包括:若所述数据特性为第二特性,将所述数据流缓存到所述SSD的易失性缓存,所述易失性缓存所缓存的数据量不超出所述SSD的电容支持的写入数据量;若所述易失性缓存中缓存的数据流达到所述写入条件,将达到所述写入条件的数据流,写入到所述闪存颗粒。4.根据权利要求3所述的方法,其中,所述第一特性的数据流的读写性能要求低于所述第二特性的数据流、或者、所述第一特性的数据流的数据块小于所述第二特性的数据流、或者、所述第一特性的数据流为冷数据并且所述第二特性的数据流为热数据。5.根据权利要求3所述的方法,其中,所述数据流携带数据流标识;所述确定所述数据流的数据特性包括:若所述数据流携带的数据流标识,在第一特性的数据流对应的数据流标识范围内,则确定所述数据流的数据特性为第一特性;若所述数据流携带的数据流标识,在第二特性的数据流对应的数据流标识范围内,则确定所述数据流的数据特性为第二特性。6.根据权利要求3所述的方法,其中,还包括:配置所述非易失性缓存与所述闪存颗粒之间,和/或,所述易失性缓存与所述闪存颗粒之间通过直接存储器访问DMA引擎,进行直接数据传输;和/或,在掉电时,将所述易失性缓存中的数据写入到所述闪存颗粒。7.根据权利要求1所述的方法,其中,所述若所述非易失性缓存中缓存的数据流达到预设的写入条件,将达到所述写入条件的数据流,写入到所述闪存颗粒包括:如果任一数据流在所述非易失性缓存中缓存的数据量达到闪存颗粒的最小编程单元的数据量要求,则将该数据流写入到闪存颗粒中;或者,在发生掉电时,如果非易失性缓存中缓存的数据流的数据量未达到最小编程单元的数据量要求,则补足数据流的数据量,将补足数据量的数据流写入到...

【专利技术属性】
技术研发人员:欧兆熊徐达人
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

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

1