读操作执行方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37505038 阅读:25 留言:0更新日期:2023-05-07 09:41
本发明专利技术实施例提供了一种读操作执行方法、装置、电子设备和存储介质,应用于固态硬盘SSD,固态硬盘包括NAND闪存,NAND的操作单元包括至少两个plane,该方法包括:在执行占用各个plane的编程操作或擦除操作时,接收读消息;当检测到第一优先级读消息到达NAND的控制单元上时,进入挂起状态,将当前占用操作单元上各个plane的编程操作或擦除操作挂起;并行执行各个plane上等待执行的读消息对应的读操作。本发明专利技术以plane为调度单元,在挂起期间允许当前操作单元所有plane上的读操作并行执行,从而在提高挂起时间利用率的同时,提高GC读的效率,进而提高用户读操作的latency和写操作的带宽。带宽。带宽。

【技术实现步骤摘要】
读操作执行方法、装置、电子设备和存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种读操作执行方法、一种读操作执行装置、一种电子设备和一种计算机可读存储介质。

技术介绍

[0002]在大数据时代,海量数据的存储具有重要地位,随着CPU(Central Processing Unit,中央处理器)等计算部件的计算速率越来越高,数据的存储与读取速率也是一个重要课题。不同于传统硬盘,固态硬盘的存储单元为NAND(Not AND闪存,一种非易失性存储设备),随着NAND价格逐渐下降,固态硬盘的使用数量也逐渐上升。
[0003]NAND上suspend功能对读写混合场景下读操作的latency起着重要的作用。在读写混合场景下,每次suspend只执行一个高优先级读操作,或串行处理多个读操作,之后再恢复PE(Program/Erase NAND的Program或erase操作)继续执行。然而,在读操作比例较高的读写混合场景下,读操作的平均latency会受到限制,同时写操作的带宽也会受到限制,从而无法发挥固态硬盘的全部性能。

技术实现思路

[0004]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种读操作执行方法、一种读操作执行装置、一种电子设备和一种计算机可读存储介质。
[0005]为了解决上述问题,本专利技术实施例公开了一种读操作执行方法,所述方法应用于固态硬盘SSD,所述固态硬盘包括NAND闪存,所述NAND的操作单元包括至少两个plane,所述方法包括:
[0006]在执行占用各个plane的编程操作或擦除操作时,接收读消息;所述读消息的优先级属性包括第一优先级;
[0007]当检测到第一优先级读消息到达所述NAND的控制单元上时,进入挂起状态,将当前占用所述操作单元上各个plane的编程操作或擦除操作挂起;
[0008]并行执行各个plane上等待执行的读消息对应的读操作。
[0009]可选地,所述读消息的优先级属性还包括第二优先级,所述并行执行各个plane上等待执行的读消息对应的读操作,包括:
[0010]并行执行各个plane上等待执行的第一优先级读消息或第二优先级读消息对应的读操作;其中,针对每个plane,先执行第一优先级读消息对应的读操作,再执行第二优先级读消息对应的读操作。
[0011]可选地,所述方法还包括:
[0012]获取挂起期间所述plane上已执行完成的读操作的总数量;
[0013]根据所述已执行完成的读操作的总数量,关闭挂起状态。
[0014]可选地,所述根据所述已执行完成的读操作的总数量,关闭挂起状态,包括:
[0015]若所述已执行完成的读操作的总数量达到预设执行次数阈值,则关闭挂起状态。
[0016]可选地,所述根据所述已执行完成的读操作的总数量,确定是否关闭挂起状态,还包括:
[0017]若所述已执行完成的读操作的总数量未达到预设执行次数阈值,且挂起期间未接收到新的读消息,则关闭挂起状态。
[0018]可选地,所述根据所述已执行完成的读操作的总数量,确定是否关闭挂起状态,还包括:
[0019]若所述已执行完成的读操作的总数量未达到预设执行次数阈值,且挂起期间接收到新的读消息,则执行所述新的读消息对应的读操作,直至挂起期间所述plane上已执行完成的读操作的总数量达到预设执行次数阈值,关闭挂起状态。
[0020]可选地,所述方法还包括:
[0021]若关闭挂起状态,则继续执行编程操作或擦除操作。
[0022]本专利技术实施例还公开了一种读操作执行装置,所述装置应用于固态硬盘SSD,所述固态硬盘包括NAND闪存,所述NAND的操作单元包括至少两个plane,所述装置包括:
[0023]接收模块,用于在执行占用各个plane的编程操作或擦除操作时,接收读消息;所述读消息的优先级属性包括第一优先级;
[0024]挂起模块,用于当检测到第一优先级读消息到达所述NAND的控制单元上时,进入挂起状态,将当前占用所述操作单元上各个plane的编程操作或擦除操作挂起;
[0025]执行模块,用于并行执行各个plane上等待执行的读消息对应的读操作。
[0026]可选地,所述读消息的优先级属性还包括第二优先级,所述执行模块,包括:
[0027]并行执行子模块,用于并行执行各个plane上等待执行的第一优先级读消息或第二优先级读消息对应的读操作;其中,针对每个plane,先执行第一优先级读消息对应的读操作,再执行第二优先级读消息对应的读操作。
[0028]可选地,所述装置还包括:
[0029]数量获取模块,用于获取挂起期间所述plane上已执行完成的读操作的总数量;
[0030]关闭模块,用于根据所述已执行完成的读操作的总数量,关闭挂起状态。
[0031]可选地,所述关闭模块,包括:
[0032]第一关闭子模块,用于若所述已执行完成的读操作的总数量达到预设执行次数阈值,则关闭挂起状态。
[0033]可选地,所述关闭模块,还包括:
[0034]第二关闭子模块,用于若所述已执行完成的读操作的总数量未达到预设执行次数阈值,且挂起期间未接收到新的读消息,则关闭挂起状态。
[0035]可选地,所述关闭模块,还包括:
[0036]第三关闭子模块,用于若所述已执行完成的读操作的总数量未达到预设执行次数阈值,且挂起期间接收到新的读消息,则执行所述新的读消息对应的读操作,直至挂起期间所述plane上已执行完成的读操作的总数量达到预设执行次数阈值,关闭挂起状态。
[0037]可选地,所述装置还包括:
[0038]操作继续执行模块,用于若关闭挂起状态,则继续执行编程操作或擦除操作。
[0039]本专利技术实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器
上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的读操作执行方法的步骤。
[0040]本专利技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的读操作执行方法的步骤。
[0041]本专利技术实施例包括以下优点:
[0042]在本专利技术实施例中,通过在执行占用各个plane的编程操作或擦除操作时,接收读消息,当检测到第一优先级读消息到达NAND的控制单元上时,进入挂起状态,将当前占用操作单元上各个plane的编程操作或擦除操作挂起,并行执行各个plane上等待执行的读消息对应的读操作,可以在以plane为调度单元的系统中,在suspend期间允许当前操作单元LUN上所有plane上的读操作并行执行,从而在提高suspend时间利用率的同时,提高GC读的效率,进而提高用户读操作的latency和写操作的带宽。
附图说明
...

【技术保护点】

【技术特征摘要】
1.一种读操作执行方法,其特征在于,所述方法应用于固态硬盘SSD,所述固态硬盘包括NAND闪存,所述NAND的操作单元包括至少两个plane,所述方法包括:在执行占用各个plane的编程操作或擦除操作时,接收读消息;所述读消息的优先级属性包括第一优先级;当检测到第一优先级读消息到达所述NAND的控制单元上时,进入挂起状态,将当前占用所述操作单元上各个plane的编程操作或擦除操作挂起;并行执行各个plane上等待执行的读消息对应的读操作。2.根据权利要求1所述的方法,其特征在于,所述读消息的优先级属性还包括第二优先级,所述并行执行各个plane上等待执行的读消息对应的读操作,包括:并行执行各个plane上等待执行的第一优先级读消息或第二优先级读消息对应的读操作;其中,针对每个plane,先执行第一优先级读消息对应的读操作,再执行第二优先级读消息对应的读操作。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取挂起期间所述plane上已执行完成的读操作的总数量;根据所述已执行完成的读操作的总数量,关闭挂起状态。4.根据权利要求3所述的方法,其特征在于,所述根据所述已执行完成的读操作的总数量,关闭挂起状态,包括:若所述已执行完成的读操作的总数量达到预设执行次数阈值,则关闭挂起状态。5.根据权利要求4所述的方法,其特征在于,所述根据所述已执行完成的读操作的总数量,确定是否关闭挂起状态,还包括:若所述已执行完成的读操作的总数量未达到预设执行次数阈值,且挂起期间未接收到新的读消息,则关闭挂起状态。6....

【专利技术属性】
技术研发人员:邵文豪苏军钱翔
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1