一种闪存数据的读取方法、系统、设备及介质技术方案

技术编号:38674818 阅读:14 留言:0更新日期:2023-09-02 22:50
本申请提供了一种闪存数据的读取方法、系统、设备及介质,属于存储设备技术领域。方法包括:获取多个闪存数据读取请求,并存放至预设的命令队列中;根据命令队列向闪存发出多个闪存数据读取请求;确定命令队列中的第一数据读取请求和第二数据读取请求;在闪存中使用cache操作读取第一数据读取请求,根据第一数据读取请求进入对应的忙碌状态,以读取第一映射表,并在忙碌状态中使用cache操作读取第二数据读取请求;当第一映射表读取完成后,根据第一映射表获取与第一数据读取请求对应的目标数据,并在根据第二数据读取请求进入对应的忙碌状态之前返回目标数据。本申请能够提高闪存的带宽利用率,提高闪存数据的读取速度。提高闪存数据的读取速度。提高闪存数据的读取速度。

【技术实现步骤摘要】
一种闪存数据的读取方法、系统、设备及介质


[0001]本申请涉及存储设备
,尤其涉及一种闪存数据的读取方法、系统、设备及介质。

技术介绍

[0002]固态硬盘(Solid State Disk,SSD)系统中主要包括主控芯片、闪存颗粒和缓存单元三大组件,其中主控芯片承接了整个数据中转,连接闪存芯片和外部接口。闪存颗粒具有读,写,擦除等功能,闪存,其中,NAND闪存是Flash内存的一种。
[0003]相关技术中,闪存中需要一个闪存转换层在闪存芯片上实现了一个虚拟块设备,主要透过映射表来把逻辑地址映射到闪存的物理地址。NAND闪存在读取映射表后,会进入Ready Busy状态,不能进行其他操作,必须等到映射表读取完成后才能读数据,闪存的带宽利用率低,降低了闪存数据的读取速度。

技术实现思路

[0004]本申请实施例的主要目的在于提出一种闪存数据的读取方法、系统、设备及介质,能够提高闪存的带宽利用率,提高闪存数据的读取速度。
[0005]为实现上述目的,本申请实施例的第一方面提出了一种闪存数据的读取方法,所述方法包括:获取多个闪存数据读取请求,并将多个所述闪存数据读取请求存放至预设的命令队列中;根据所述命令队列向闪存发出多个所述闪存数据读取请求;确定所述命令队列中的一个所述闪存数据读取请求为第一数据读取请求,以及所述第一数据读取请求之后的若干个所述闪存数据读取请求为第二数据读取请求;在闪存中使用cache操作读取所述第一数据读取请求,根据所述第一数据读取请求进入对应的忙碌状态,以读取所述第一数据读取请求对应的第一映射表,并在所述忙碌状态中使用cache操作读取所述第二数据读取请求;当所述第一映射表读取完成后,根据所述第一映射表获取与所述第一数据读取请求对应的目标数据,并在根据所述第二数据读取请求进入对应的忙碌状态之前返回所述目标数据。
[0006]在一些实施例中,所述第二数据读取请求有多个,所述第二数据读取请求中包括第三数据读取请求和第四数据读取请求,其中,所述第三数据读取请求与所述第一数据读取请求之间共用同一个所述第一映射表;所述根据所述第一映射表获取与所述第一数据读取请求对应的目标数据,并在根据所述第二数据读取请求进入对应的忙碌状态之前返回所述目标数据,包括:根据所述第一映射表获取所述第一数据读取请求对应的第一目标数据,并实时返回所述第一目标数据;根据所述第一映射表获取所述第三数据读取请求对应的第二目标数据,并实时返回所述第二目标数据,之后根据所述第四数据读取请求进入对应的忙碌状态。
[0007]在一些实施例中,所述闪存数据读取请求还包括第五数据读取请求;所述方法还包括:在完成所述第二数据读取请求所需要的目标数据的获取后,在闪存中使用cache操作
读取所述第五数据读取请求;若所述第五数据读取请求与所述第一数据读取请求之间共用同一个所述第一映射表,直接根据所述第一映射表获取所述第五数据读取请求对应的第三目标数据,并实时返回所述第三目标数据。
[0008]在一些实施例中,所述确定所述命令队列中的一个所述闪存数据读取请求为第一数据读取请求,以及所述第一数据读取请求之后的若干个所述闪存数据读取请求为第二数据读取请求,包括:为所述命令队列中的所述闪存数据读取请求配置对应的读取优先级;按照所述读取优先级对多个所述闪存数据读取请求进行排序,其中,所述闪存数据读取请求包括第一数据读取请求和第二数据读取请求,所述第一数据读取请求的读取优先级大于所述第二数据读取请求的读取优先级。
[0009]在一些实施例中,所述为所述命令队列中的所述闪存数据读取请求配置对应的读取优先级,包括:获取各个所述闪存数据读取请求进入所述命令队列的时间,根据进入所述命令队列的时间先后顺序确定各个所述闪存数据读取请求对应的读取优先级;或者,获取各个所述闪存数据读取请求所需要的映射表,累计共用对应的映射表的请求数量,并按照同一个映射表对应的请求数量大小,确定各个所述闪存数据读取请求对应的读取优先级;或者,获取各个所述闪存数据读取请求所要读取的数据类型,按照所述数据类型的不同,确定各个所述闪存数据读取请求对应的读取优先级。
[0010]在一些实施例中,所述根据所述命令队列向闪存发出多个所述闪存数据读取请求,包括:获取预设的时间阈值或数量阈值;记录所述闪存数据读取请求进入所述命令队列的时间,直至到达所述时间阈值后,根据所述命令队列向闪存发出在所述时间阈值表征的时间范围内获得的多个所述闪存数据读取请求;或者,累计进入所述命令队列中的所述闪存数据读取请求的数量,直至达到所述数量阈值后,根据所述命令队列向闪存发出在所述数量阈值表征的数量范围内获得的多个所述闪存数据读取请求。
[0011]在一些实施例中,所述方法还包括:在闪存中使用cache操作读取所述闪存数据读取请求的过程中,获取请求增加或删除指令;根据所述请求增加或删除指令,增加或删除所述命令队列中的所述闪存数据读取请求,得到更新后的所述命令队列;在闪存中使用cache操作读取依次读取更新后的所述命令队列中的所述闪存数据读取请求。
[0012]为实现上述目的,本申请实施例的第二方面提出了一种闪存数据的读取系统,所述系统包括:队列存放模块,用于获取多个闪存数据读取请求,并将多个所述闪存数据读取请求存放至预设的命令队列中;请求发送模块,用于根据所述命令队列向闪存发出多个所述闪存数据读取请求;顺序确定模块,用于确定所述命令队列中的一个所述闪存数据读取请求为第一数据读取请求,以及所述第一数据读取请求之后的若干个所述闪存数据读取请求为第二数据读取请求;闪存读写模块,用于在闪存中使用cache操作读取所述第一数据读取请求,根据所述第一数据读取请求进入对应的忙碌状态,以读取所述第一数据读取请求对应的第一映射表,并在所述忙碌状态中使用cache操作读取所述第二数据读取请求;数据返回模块,用于当所述第一映射表读取完成后,根据所述第一映射表获取与所述第一数据读取请求对应的目标数据,并在根据所述第二数据读取请求进入对应的忙碌状态之前返回所述目标数据。
[0013]为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时
实现上述第一方面实施例所述的闪存数据的读取方法。
[0014]为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的闪存数据的读取方法。
[0015]本申请实施例提出的闪存数据的读取方法、系统、设备及介质,闪存数据的读取方法可以应用在闪存数据的读取系统中。通过执行闪存数据的读取方法,将多个闪存数据读写请求存放至命令队列中,随后向闪存中发送,闪存中使用cache操作读取数据,并在读取签一个请求进入忙碌状态过程中,使用cache操作读取下一个请求,使得闪存在进行忙碌也能先执行请求的读取,并在完成一项映射表的读取后,即可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种闪存数据的读取方法,其特征在于,所述方法包括:获取多个闪存数据读取请求,并将多个所述闪存数据读取请求存放至预设的命令队列中;根据所述命令队列向闪存发出多个所述闪存数据读取请求;确定所述命令队列中的一个所述闪存数据读取请求为第一数据读取请求,以及所述第一数据读取请求之后的若干个所述闪存数据读取请求为第二数据读取请求;在闪存中使用cache操作读取所述第一数据读取请求,根据所述第一数据读取请求进入对应的忙碌状态,以读取所述第一数据读取请求对应的第一映射表,并在所述忙碌状态中使用cache操作读取所述第二数据读取请求;当所述第一映射表读取完成后,根据所述第一映射表获取与所述第一数据读取请求对应的目标数据,并在根据所述第二数据读取请求进入对应的忙碌状态之前返回所述目标数据。2.根据权利要求1所述的闪存数据的读取方法,其特征在于,所述第二数据读取请求有多个,所述第二数据读取请求中包括第三数据读取请求和第四数据读取请求,其中,所述第三数据读取请求与所述第一数据读取请求之间共用同一个所述第一映射表;所述根据所述第一映射表获取与所述第一数据读取请求对应的目标数据,并在根据所述第二数据读取请求进入对应的忙碌状态之前返回所述目标数据,包括:根据所述第一映射表获取所述第一数据读取请求对应的第一目标数据,并实时返回所述第一目标数据;根据所述第一映射表获取所述第三数据读取请求对应的第二目标数据,并实时返回所述第二目标数据,之后根据所述第四数据读取请求进入对应的忙碌状态。3.根据权利要求2所述的闪存数据的读取方法,其特征在于,所述闪存数据读取请求还包括第五数据读取请求;所述方法还包括:在完成所述第二数据读取请求所需要的目标数据的获取后,在闪存中使用cache操作读取所述第五数据读取请求;若所述第五数据读取请求与所述第一数据读取请求之间共用同一个所述第一映射表,直接根据所述第一映射表获取所述第五数据读取请求对应的第三目标数据,并实时返回所述第三目标数据。4.根据权利要求1所述的闪存数据的读取方法,其特征在于,所述确定所述命令队列中的一个所述闪存数据读取请求为第一数据读取请求,以及所述第一数据读取请求之后的若干个所述闪存数据读取请求为第二数据读取请求,包括:为所述命令队列中的所述闪存数据读取请求配置对应的读取优先级;按照所述读取优先级对多个所述闪存数据读取请求进行排序,其中,所述闪存数据读取请求包括第一数据读取请求和第二数据读取请求,所述第一数据读取请求的读取优先级大于所述第二数据读取请求的读取优先级。5.根据权利要求4所述的闪存数据的读取方法,其特征在于,所述为所述命令队列中的所述闪存数据读取请求配置对应的读取优先级,包括:获取各个所述闪存数据读取请求进入所述命令队列的时间,根据进入所述命...

【专利技术属性】
技术研发人员:苏界伟曾裕赖鼐龚晖
申请(专利权)人:珠海妙存科技有限公司
类型:发明
国别省市:

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

1