L2p数据缓存方法、装置、可读存储介质及电子设备

文档序号:378690 发布日期:2021-12-10 浏览:18次 >En<

阅读说明:本技术 L2p数据缓存方法、装置、可读存储介质及电子设备 (L2P data caching method and device, readable storage medium and electronic equipment ) 是由 孙成思 孙日欣 胡伟 于 2021-08-04 设计创作,主要内容包括:本发明公开一种L2P数据缓存方法、装置、可读存储介质及电子设备,接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;将所述L2P数据写入临时L2P存储空间;判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤,在随机写场景下,无需对实际L2P存储空间进行频繁地读、更新和写操作,减少对主机写性能的影响,从而保证了主机写性能的同时,避免出现写放大现象。(The invention discloses a method and a device for caching L2P data, a readable storage medium and electronic equipment, wherein the method comprises the steps of receiving a random write request of a solid state disk, wherein the random write request comprises L2P data; writing the L2P data to a temporary L2P storage space; judging whether the L2P data in the temporary L2P storage space reaches a preset threshold value, if so, migrating the L2P data in the temporary L2P storage space to an actual L2P storage space, otherwise, returning to execute the step of judging whether the L2P data in the temporary L2P storage space reaches the preset threshold value, and in a random writing scene, frequently reading, updating and writing the actual L2P storage space are not needed, so that the influence on the writing performance of the host is reduced, and the writing amplification phenomenon is avoided while the writing performance of the host is ensured.)

L2P数据缓存方法、装置、可读存储介质及电子设备

技术领域

本发明涉及数据缓存技术领域,尤其涉及一种L2P数据缓存方法、装置、可读存储介质及电子设备。

背景技术

L2P(Logical To Physical,逻辑地址到物理地址)映射数据保存了用户数据的地址信息,只有通过L2P映射数据才能准确地找到期望的数据。

目前在主流的DRAMless SSD(Dynamic Random Access Memory less SolidState Disk,无存储器固态硬盘)固件实现中,针对L2P数据的缓存设计是保证随机写性能的关键一环。由于DRAMless SSD本身只包含小容量的SRAM(Static Random-AccessMemory,静态随机存取存储器)空间,大概在1MB(兆字节)左右,因此,SRAM中无法保存整个存储空间的所有L2P信息(1T的存储空间需要消耗1G的L2P空间),所以需要将大部分的L2P数据保存在NAND(闪存)中。在需要L2P数据的时候先从NAND读取到SRAM中,使用完成后再保存至NAND,从而在随机写的场景下,可能需要反复读取和写入L2P数据,其中,可能存在对同一块4KB(千字节)的L2P区域的反复操作,这样不仅会造成主机的写性能下降,而且频繁地读写L2P区域会造成不必要的写放大。

发明内容

本发明所要解决的技术问题是:提供一种L2P数据缓存方法、装置、可读存储介质及电子设备,能够保证主机写性能的同时,避免出现写放大现象。

为了解决上述技术问题,本发明采用的一种技术方案为:

一种L2P数据缓存方法,包括:

接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;

将所述L2P数据写入临时L2P存储空间;

判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种L2P数据缓存装置,包括:

请求接收模块,用于接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;

数据写入模块,用于将所述L2P数据写入临时L2P存储空间;

数据迁移模块,用于判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种L2P数据缓存方法中的各个步骤。

为了解决上述技术问题,本发明采用的另一种技术方案为:

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种L2P数据缓存方法中的各个步骤。

本发明的有益效果在于:在随机写场景下,不再像现有技术中,将L2P数据保存至闪存的实际L2P存储空间,需要进行反复读取和写入L2P数据,而是将L2P数据写入闪存中的临时L2P存储空间,当临时L2P存储空间中的L2P数据达到预设阈值时,再将临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,无需对实际L2P存储空间进行频繁地读、更新和写操作,减少对主机写性能的影响,从而保证了主机写性能的同时,避免出现写放大现象。

附图说明

图1为本发明实施例的一种L2P数据缓存方法的步骤流程图;

图2为本发明实施例的一种L2P数据缓存装置的结构示意图;

图3为本发明实施例的一种电子设备的结构示意图;

图4为本发明实施例的L2P数据缓存方法中L2P数据写入临时L2P存储空间的示意图;

图5为本发明实施例的L2P数据缓存方法中L2P数据从临时L2P存储空间到实际L2P存储空间的迁移过程示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

请参照图1,本发明实施例提供了一种L2P数据缓存方法,包括:

接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;

将所述L2P数据写入临时L2P存储空间;

判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤。

从上述描述可知,本发明的有益效果在于:在随机写场景下,不再像现有技术中,将L2P数据保存至闪存的实际L2P存储空间,需要进行反复读取和写入L2P数据,而是将L2P数据写入闪存中的临时L2P存储空间,当临时L2P存储空间中的L2P数据达到预设阈值时,再将临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,无需对实际L2P存储空间进行频繁地读、更新和写操作,减少对主机写性能的影响,从而保证了主机写性能的同时,避免出现写放大现象。

进一步地,所述接收固态硬盘的随机写请求之前包括:

接收存储空间划分请求;

根据所述存储空间划分请求将所述固态硬盘的存储空间按照第一预设值进行划分,生成多个子存储空间,并为每个子存储空间设置对应的子存储空间标识;

所述随机写请求还包括所述L2P数据对应的子存储空间标识;

所述将所述L2P数据写入临时L2P存储空间包括:

根据所述子存储空间标识将所述L2P数据写入临时L2P存储空间;

所述将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间包括:

根据所述子存储空间标识将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间。

由上述描述可知,将存储空间划分成多个子存储空间,便于后续数据写入和数据迁移。

进一步地,所述根据所述子存储空间标识将所述L2P数据写入临时L2P存储空间包括:

请求一预设缓存;

将所述L2P数据顺序写入所述预设缓存;

在顺序写入的过程中,判断所述预设缓存是否写满,若否,将未写入的所述L2P数据顺序写入所述预设缓存,若是,则根据所述子存储空间标识将所述预设缓存中的已写入L2P数据写入所述临时L2P存储空间,并将未写入的所述L2P数据顺序写入所述预设缓存;

返回执行所述将所述L2P数据顺序写入所述预设缓存步骤,直至所述L2P数据均已写入所述临时L2P空间。

由上述描述可知,将L2P数据顺序写入预设缓存,当预设缓存写满后,则淘汰预设缓存,即根据子存储空间标识将预设缓存中的已写入L2P数据写入临时L2P存储空间,实现了以追加写的方式将L2P数据直接写入临时L2P存储空间,提高了L2P数据缓存的效率。

进一步地,所述临时L2P存储空间包括多个预设空间;

所述根据所述子存储空间标识将所述L2P数据写入所述临时L2P存储空间包括:

根据所述子存储空间标识从所述临时L2P存储空间中获取一目标预设空间;

将所述L2P数据写入所述目标预设空间。

由上述描述可知,临时L2P存储空间有多个预设空间,将L2P数据写入临时L2P存储空间时,根据子存储空间标识获取一目标预设空间,将L2P数据写入该目标预设空间,实现了临时L2P存储空间的数据写入。

进一步地,所述临时L2P存储空间还包括每一所述预设空间对应的预设空间标识;

所述根据所述子存储空间标识将所述L2P数据写入临时L2P存储空间时还包括:

获取与所述临时L2P存储空间对应的P2L映射表;

将所述L2P数据对应的子存储空间标识以及预设空间标识更新至所述P2L映射表。

由上述描述可知,在将L2P数据写入临时L2P存储空间时,与临时L2P存储空间对应的P2L映射表保存了每一L2P数据所对应的子存储空间标识以及预设空间标识,便于后续利用P2L映射表实现数据迁移。

进一步地,所述根据所述子存储空间标识将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间包括:

获取与实际L2P存储空间对应的L2P映射表;

根据所述P2L映射表读取所述临时L2P存储空间中任一相同子存储空间标识对应的L2P数据;

将读取到的任一相同子存储空间标识对应的L2P数据更新至所述L2P映射表;

接收所述L2P映射表的更新完成信息;

根据所述更新完成信息将所述L2P映射表中的L2P数据写入所述实际L2P存储空间,并返回执行所述根据所述P2L映射表读取所述临时L2P存储空间中任一相同子存储空间标识对应的L2P数据步骤,直至所述临时L2P存储空间中每一相同子存储空间标识对应的L2P数据均已读取。

由上述描述可知,数据迁移时,利用P2L映射表读取临时L2P存储空间中每一相同子存储空间标识对应的L2P数据,将每次读取到的相同子存储空间标识对应的L2P数据更新至L2P映射表,再将更新完成的L2P映射表中的L2P数据写入实际L2P存储空间,能够将属于同一子存储空间的L2P数据一次性读取出来迁移至实际L2P存储空间,每个子存储空间的L2P数据只需覆盖写一次,实现了L2P数据的高效迁移。

进一步地,所述固态硬盘为DRAMless SSD。

请参照图2,本发明另一实施例提供了一种L2P数据缓存装置,包括:

请求接收模块,用于接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;

数据写入模块,用于将所述L2P数据写入临时L2P存储空间;

数据迁移模块,用于判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤。

本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种L2P数据缓存方法中的各个步骤。

请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种L2P数据缓存方法中的各个步骤。

本发明上述一种L2P数据缓存方法、装置、可读存储介质及电子设备能够适用于DRAMless SSD(Dynamic Random Access Memory less solid state disk,无存储器固态硬盘)的L2P数据缓存,以下通过具体实施方式进行说明:

实施例一

请参照图1、4,本实施例的一种L2P数据缓存方法,包括:

S1、接收存储空间划分请求;

S2、根据所述存储空间划分请求将固态硬盘的存储空间按照第一预设值进行划分,生成多个子存储空间,并为每个子存储空间设置对应的子存储空间标识;

其中,所述固态硬盘为DRAMless SSD,所述第一预设值可根据实际情况灵活设置,本实施例中,所述第一预设值为64MB;

具体的,根据存储空间划分请求将DRAMless SSD的存储空间按照64MB进行划分,如图4所示,生成多个64MB空间,包括第1个64MB空间、第2个64MB空间、……、第n个64MB空间,并为每个64MB空间设置对应的64MB空间标识;

S3、接收固态硬盘的随机写请求,所述随机写请求包括L2P数据以及所述L2P数据对应的子存储空间标识;

S4、将所述L2P数据写入临时L2P存储空间;

具体的,根据所述子存储空间标识将所述L2P数据写入临时L2P存储空间,如图4所示,图4中的临时L2P Nand即为临时L2P存储空间;

S5、判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤;

所述将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间包括:

根据所述子存储空间标识将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间。

实施例二

请参照图1、4-5,本实施例在实施例一的基础上进一步限定了如何将L2P数据写入临时L2P存储空间,具体为:

所述S4具体为:

请求一预设缓存;

将所述L2P数据顺序写入所述预设缓存;

在顺序写入的过程中,判断所述预设缓存是否写满,若否,将未写入的所述L2P数据顺序写入所述预设缓存,若是,则根据所述子存储空间标识将所述预设缓存中的已写入L2P数据写入所述临时L2P存储空间,并将未写入的所述L2P数据顺序写入所述预设缓存;

返回执行所述将所述L2P数据顺序写入所述预设缓存步骤,直至所述L2P数据均已写入所述临时L2P空间;

其中,所述临时L2P存储空间包括多个预设空间以及每一所述预设空间对应的预设空间标识;

根据所述子存储空间标识从所述临时L2P存储空间中获取一目标预设空间;

将所述L2P数据写入所述目标预设空间;

所述根据所述子存储空间标识将所述L2P数据写入所述临时L2P存储空间时还包括:

获取与所述临时L2P存储空间对应的P2L映射表;

将所述L2P数据对应的子存储空间标识以及预设空间标识更新至所述P2L映射表;

本实施例中,所述预设空间为4KB空间,所述预设空间标识为4KB空间标识,所述预设缓存为4KB缓存;

具体的,请求一4KB缓存,如图4中的4K write,将L2P数据顺序写入4KB缓存,顺序写入时,判断4KB缓存是否写满,若否,将未写入的L2P数据顺序写入4KB缓存,若是,则淘汰4KB缓存,即根据64MB空间标识从临时L2P存储空间中获取一目标4KB空间,如图4所示;

将4KB缓存中的已写入L2P数据写入目标4KB空间,并将未写入的L2P数据顺序写入4KB缓存;

返回执行将L2P数据顺序写入4KB缓存步骤,直至L2P数据均已写入临时L2P存储空间,如图5所示,图5中的临时L2P Nand即临时L2P存储空间;

每次将4KB缓存中的已写入L2P数据写入目标4KB空间时,还获取与临时L2P存储空间对应的P2L table,如图5所示;

如图4所示,将L2P数据对应的64MB空间标识以及4KB空间标识更新至P2L table,也就是说,P2L table中保存了每一L2P数据所对应的64MB空间标识以及4KB空间标识,便于后续进行数据迁移。

实施例三

请参照图1、5,本实施例在实施例一的基础上进一步限定了如何实现数据迁移,具体为:

所述S5中,根据所述子存储空间标识将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间包括:

获取与实际L2P存储空间对应的L2P映射表;

根据所述P2L映射表读取所述临时L2P存储空间中任一相同子存储空间标识对应的L2P数据;

将读取到的任一相同子存储空间标识对应的L2P数据更新至所述L2P映射表;

接收所述L2P映射表的更新完成信息;

根据所述更新完成信息将所述L2P映射表中的L2P数据写入所述实际L2P存储空间,并返回执行所述根据所述P2L映射表读取所述临时L2P存储空间中任一相同子存储空间标识对应的L2P数据步骤,直至所述临时L2P存储空间中每一相同子存储空间标识对应的L2P数据均已读取;

具体的,获取与实际L2P存储空间对应的L2P table,根据P2L table读取临时L2P存储空间中任一相同64MB空间标识对应的L2P数据,如图5所示,图5中的实际L2P Nand即为实际L2P存储空间;

将读取到的任一相同64MB空间标识对应的L2P数据更新至L2P table;

接收L2P table的更新完成信息,根据该更新完成信息将L2P table中的L2P数据写入实际L2P存储空间,并返回执行根据P2L table读取临时L2P存储空间中任一相同64MB空间标识对应的L2P数据步骤,直至临时L2P存储空间中每一相同64MB空间标识对应的L2P数据均已读取;

也就是说,在L2P数据的迁移过程中,一次性地将属于同一64MB空间的L2P数据读取出来,那么每个64MB空间的L2P数据只需覆盖写一次即可,实现了L2P数据的高效迁移。

实施例四

请参照图2,一种L2P数据缓存装置,包括:

请求接收模块,用于接收固态硬盘的随机写请求,所述随机写请求包括L2P数据;

数据写入模块,用于将所述L2P数据写入临时L2P存储空间;

数据迁移模块,用于判断所述临时L2P存储空间中的L2P数据是否达到预设阈值,若是,则将所述临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,若否,则返回执行判断所述临时L2P存储空间中的L2P数据是否达到预设阈值步骤。

实施例五

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一、实施例二或实施例三中L2P数据缓存方法的各个步骤。

实施例六

请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一、实施例二或实施例三中L2P数据缓存方法的各个步骤。

综上所述,本发明提供的一种L2P数据缓存方法、装置、可读存储介质及电子设备,根据存储空间划分请求将固态硬盘的存储空间按照第一预设值进行划分,生成多个子存储空间,并为每个子存储空间设置对应的子存储空间标识,根据L2P数据对应的子存储空间标识将L2P数据写入临时L2P存储空间,当临时L2P存储空间中的L2P数据达到预设阈值时,根据子存储空间标识将临时L2P存储空间中的L2P数据迁移至实际L2P存储空间,只需要将L2P数据保存至临时L2P存储空间即可,无需对实际L2P存储空间进行频繁地读、更新和写操作,减少对主机写性能的影响;在L2P数据的迁移过程中,获取与实际L2P存储空间对应的L2P映射表,根据P2L映射表读取临时L2P存储空间中任一相同子存储空间标识对应的L2P数据,将读取到的任一相同子存储空间标识对应的L2P数据更新至L2P映射表,根据接收的更新完成信息将L2P映射表中的L2P数据写入实际L2P存储空间,并返回执行根据P2L映射表读取临时L2P存储空间中任一相同子存储空间标识对应的L2P数据步骤,直至临时L2P存储空间中每一相同子存储空间标识对应的L2P数据均已读取,以此将属于同一子存储空间的L2P数据一次性读取出来迁移至实际L2P存储空间,每个子存储空间的L2P数据只需覆盖写一次,实现了L2P数据的高效迁移,从而在保证主机写性能的同时,避免出现写放大现象。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:cache映射架构动态调整方法及cache控制器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类