一种缓存管理方法、系统、装置、设备及计算机存储介质与流程

文档序号:36976027发布日期:2024-02-07 13:28阅读:21来源:国知局
一种缓存管理方法、系统、装置、设备及计算机存储介质与流程

本技术涉及存储,更具体地说,涉及一种缓存管理方法、系统、装置、设备及计算机存储介质。


背景技术:

1、当前,在固态硬盘设计中,从主机端传输过来的数据通过固态硬盘的主控芯片的前端模块写入到固态硬盘的内存(ddr,double data rate)中,之后再写入到闪存颗粒(nand flash)中。在此过程中,软件需要先从内存中分配一个内存空间,然后将主机端的数据传输到分配好的内存空间中;软件对缓存在内存中的数据进行管理分组及冲突处理之后再发送给后端软件写入闪存颗粒中,待数据成功写入闪存颗粒后,软件最后释放之前申请的内存空间。

2、由上述过程可知,在软件缓存数据的管理中,软件缓存每一步都需要软件介入,而软件分配内存空间,软件处理写数据冲突做数据拷贝等都是非常占用cpu(centralprocessing unit,中央处理器)资源,会带来固态硬盘主机写性能的损失。

3、综上所述,如何提高固态硬盘的主机写性能是目前本领域技术人员亟待解决的问题。


技术实现思路

1、本技术的目的是提供一种缓存管理方法,其能在一定程度上解决如何提高固态硬盘的主机写性能的技术问题。本技术还提供了一种缓存管理系统、装置、设备及计算机可读存储介质。

2、为了实现上述目的,本技术提供如下技术方案:

3、一种缓存管理方法,应用于固态硬盘的前端软件,包括:

4、获取待写入数据的写数据节点信息;

5、根据所述写数据节点信息对所述待写入数据进行冲突处理,生成包含目标合并字段的数据传输命令;

6、发送所述数据传输命令至所述固态硬盘的前端硬件,以使所述前端硬件根据所述目标合并字段将所述待写入数据写入所述固态硬盘的第一内存空间或第二内存空间。

7、优选的,所述根据所述写数据节点信息对所述待写入数据进行冲突处理,生成包含目标合并字段的数据传输命令,包括:

8、判断所述第一内存空间和所述第二内存空间中是否缓存有所述目标逻辑地址对应的已有数据;

9、若所述第一内存空间和所述第二内存空间中未缓存所述已有数据,则生成表征不进行合并写的所述目标合并字段,并基于所述目标合并字段生成所述数据传输命令。

10、优选的,所述判断所述第一内存空间和所述第二内存空间中是否缓存有所述目标逻辑地址对应的已有数据之后,还包括:

11、若所述第一内存空间和/或所述第二内存空间中缓存有所述已有数据,则判断是否处于将所述第一内存空间中的数据写入所述闪存颗粒的过程;

12、若处于将所述第一内存空间中的数据写入所述闪存颗粒的过程,则生成表征不进行合并写的所述目标合并字段,并基于所述目标合并字段生成所述数据传输命令;

13、若未处于将所述第一内存空间中的数据写入所述闪存颗粒的过程,则生成表征进行合并写的所述目标合并字段,并基于所述目标合并字段生成所述数据传输命令。

14、优选的,所述发送所述数据传输命令至所述固态硬盘的前端硬件之后,还包括:

15、响应于接收到所述前端硬件反馈的数据写入完成消息,向所述固态硬盘的后端软件发送数据写入消息,以使所述后端软件向所述固态硬盘的后端硬件发送写入闪存颗粒的消息,进而使所述后端硬件将所述第一内存空间中的数据写入所述固态硬盘的闪存颗粒。

16、一种缓存管理方法,应用于固态硬盘的前端硬件,包括:

17、获取所述固态硬盘的前端软件发送的数据传输命令;

18、解析出所述数据传输命令中的目标合并字段;

19、根据所述目标合并字段将待写入数据写入所述固态硬盘的第一内存空间或第二内存空间;

20、其中,所述数据传输命令包括所述前端软件获取待写入数据的写数据节点信息、根据所述写数据节点信息对所述待写入数据进行冲突处理后生成的包含所述目标合并字段的数据传输命令;

21、发送所述数据传输命令至所述固态硬盘的前端硬件,以使所述前端硬件根据所述目标合并字段将所述待写入数据写入所述固态硬盘的第一内存空间或第二内存空间。

22、优选的,所述根据所述目标合并字段将待写入数据写入所述固态硬盘的第一内存空间或第二内存空间,包括:

23、响应于所述目标合并字段表征不进行合并写,判断所述第一内存空间中是否存储有数据;

24、若所述第一内存空间中未存储有数据,则将所述待写入数据写入所述第一内存空间;若所述第一内存空间中存储有数据,则将所述待写入数据覆盖写入所述第二内存空间;

25、响应于所述目标合并字段表征进行合并写,判断所述第二内存空间中是否存储有数据;

26、若所述第二内存空间中存储有数据,则将所述待写入数据合并写入所述第二内存空间;若所述第二内存空间中未存储有数据,则将所述待写入数据合并写入所述第一内存空间。

27、一种缓存管理系统,应用于固态硬盘的前端软件,包括:

28、第一获取模块,用于获取待写入数据的写数据节点信息;

29、第一生成模块,用于根据所述写数据节点信息对所述待写入数据进行冲突处理,生成包含目标合并字段的数据传输命令;

30、第一发送模块,用于发送所述数据传输命令至所述固态硬盘的前端硬件,以使所述前端硬件根据所述目标合并字段将所述待写入数据写入所述固态硬盘的第一内存空间或第二内存空间。

31、一种缓存管理装置,包括:

32、固态硬盘中的前端软件,用于获取待写入数据的写数据节点信息;根据所述写数据节点信息对所述待写入数据进行冲突处理,生成包含目标合并字段的数据传输命令,发送所述数据传输命令至所述固态硬盘的前端硬件;响应于接收到所述前端硬件反馈的数据写入完成消息,向所述固态硬盘的后端软件发送数据写入消息;

33、所述前端硬件,用于根据所述目标合并字段将所述待写入数据写入所述固态硬盘的第一内存空间或第二内存空间;

34、所述后端软件,用于接收到所述数据写入消息后,向所述固态硬盘的后端硬件发送写入闪存颗粒的消息;

35、所述后端硬件,用于接收到所述写入闪存颗粒的消息后,将所述第一内存空间中的数据写入所述固态硬盘的闪存颗粒。

36、一种电子设备,包括:

37、存储器,用于存储计算机程序;

38、处理器,用于执行所述计算机程序时实现如上任一所述缓存管理方法的步骤。

39、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述缓存管理方法的步骤。

40、本技术提供的一种缓存管理方法,应用于固态硬盘的前端软件,获取待写入数据的写数据节点信息;根据写数据节点信息对待写入数据进行冲突处理,生成包含目标合并字段的数据传输命令;发送数据传输命令至固态硬盘的前端硬件,以使前端硬件根据目标合并字段将待写入数据写入固态硬盘的第一内存空间或第二内存空间。本技术中,前端软件只需根据写数据节点信息进行冲突处理生成数据传输命令,前端硬件会自动根据数据传输命令中的目标合并字段将待写入数据写入内存空间,降低了前端软件的工作量,节省了固态硬盘的cpu资源,可以提高固态硬盘的主机写性能;此外,本技术使用两个内存空间,也即第一内存空间和第二内存空间来存储数据,使得数据的存储方式更加灵活,可以进一步提高固态硬盘的写性能。本技术提供的一种缓存管理系统、装置、电子设备及计算机可读存储介质也解决了相应技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1