一种数据读取方法、装置及存储设备制造方法及图纸

技术编号:26375904 阅读:50 留言:0更新日期:2020-11-19 23:44
本发明专利技术公开了一种数据读取方法、装置及存储设备。该方法包括:接收没有预先定义长度的读命令,并获取没有预先定义长度的读命令中包含的起始逻辑地址,根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度;N为大于1的正整数,根据确定的当前没有预先定义长度的读命令所要读取的数据长度以及起始逻辑地址进行逻辑地址到物理地址的转换,根据转换后的物理地址读取数据。本发明专利技术实施例提供的技术方案可以减少多余的地址转换时间,提高存储设备的读访问性能。

【技术实现步骤摘要】
一种数据读取方法、装置及存储设备
本专利技术实施例涉及存储设备
,尤其涉及一种数据读取方法、装置及存储设备。
技术介绍
NANDflash存储设备和主机之间可以通过多种接口协议进行连接,其中,eMMC(EmbeddedMultiMediaCard)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。若主机基于eMMC协议与NANDflash存储设备连接,则对NANDflash存储设备的访问具有predefined和open-ended两种模式。其中,对于open-ended读命令来说,该读命令中包含所要读取的数据的起始地址和所要读取的数据的长度,但是读命令中包含的所要读取的数据的长度通常远大于实际要读取的数据的长度。现有技术中,通常按照读命令中包含的所要读取的数据的长度来确定要转换的逻辑地址的数量,实际上,却不会读取所有逻辑地址转换的物理地址中的数据,即在该读操作过程中,白白浪费时间进行了一些无用的逻辑地址到物理地址的转换。
技术实现思路
本专利技术提供一种数据读取方法、装置及存储设备,以实现提高存储设备的读访问性能。第一方面,本专利技术实施例提供了一种数据读取方法,该方法包括:接收没有预先定义长度的读命令,并获取没有预先定义长度的读命令中包含的起始逻辑地址;根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度;N为大于1的正整数;根据确定的当前没有预先定义长度的读命令所要读取的数据长度以及起始逻辑地址进行逻辑地址到物理地址的转换;根据转换后的物理地址读取数据。可选的,根据当前读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度包括:将当前没有预先定义长度的读命令中的数据长度划分为多级预设档位;根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度。可选的,根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度包括:获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;将N次没有预先定义长度的读命令读取的数据长度所在的预设档位中次数最多的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;将读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。可选的,根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度包括:获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;将N次没有预先定义长度的读命令读取的数据长度所在的预设档位中最大上限数据长度值所在的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;将读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。可选的,根据转换后的物理地址读取数据之后还包括:若未接收到停止命令,重复执行根据估测的当前读操作所要读取的数据长度进行逻辑地址到物理地址的转换,并根据转换后的物理地址读取数据的操作,直至接收到停止命令;其中,每次进行逻辑地址到物理地址的转换时,将前次转换的最后一个逻辑地址加一后作为本次逻辑地址到物理地址的转换操作的起始逻辑地址。第二方面,本专利技术实施例还提供了一种数据读取装置,该装置包括:没有预先定义长度的读命令接收模块、数据长度确定模块、地址转换模块和数据读取模块;没有预先定义长度的读命令接收模块,用于接收没有预先定义长度的读命令,并获取没有预先定义长度的读命令中包含的起始逻辑地址;数据长度确定模块,用于根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度;N为大于1的正整数;地址转换模块,用于根据确定的当前没有预先定义长度的读命令所要读取的数据长度以及起始逻辑地址进行逻辑地址到物理地址的转换;数据读取模块,用于根据转换后的物理地址读取数据。可选的,数据长度确定模块包括档位划分子模块和数据长度确定子模块:档位划分子模块,用于将当前没有预先定义长度的读命令中的数据长度划分为多级预设档位;数据长度确定子模块,用于根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度。可选的,数据长度确定子模块包括第一预设档位获取单元、第一读取档位获取单元和第一数据长度确定单元;第一预设档位获取单元,用于获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;第一读取档位获取单元,用于将N次没有预先定义长度的读命令读取的数据长度所在的预设档位中次数最多的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;第一数据长度确定单元,用于将读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。可选的,数据长度确定子模块包括第二预设档位获取单元、读取档位获取单元和第二数据长度确定单元;第二预设档位获取单元,用于获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;第二读取档位获取单元,用于将N次没有预先定义长度的读命令读取的数据长度所在的预设档位中最大上限数据长度值所在的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;第二数据长度确定单元,用于将读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。第三方面,本专利技术实施例还提供了一种存储设备,该存储设备包括本专利技术任意实施例所述的数据读取装置。本专利技术实施例提供的数据读取方法,通过根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度,以使该确定的当前没有预先定义长度的读命令所要读取的数据长度尽可能接近实际要读取的数据长度,从而减少多余的地址转换时间,解决现有技术中由于较长的多余的地址转换时间带来的读访问性能差的问题,实现提高存储设备读访问性能的效果。附图说明图1是本专利技术实施例一提供的一种数据读取方法的流程图;图2是本专利技术实施例二提供的一种数据读取方法的流程图;图3是本专利技术实施例三提供的一种数据读取装置的结构框图。具本文档来自技高网...

【技术保护点】
1.一种数据读取方法,其特征在于,包括:/n接收没有预先定义长度的读命令,并获取所述没有预先定义长度的读命令中包含的起始逻辑地址;/n根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度;N为大于1的正整数;/n根据确定的当前没有预先定义长度的读命令所要读取的数据长度以及所述起始逻辑地址进行逻辑地址到物理地址的转换;/n根据转换后的所述物理地址读取数据。/n

【技术特征摘要】
1.一种数据读取方法,其特征在于,包括:
接收没有预先定义长度的读命令,并获取所述没有预先定义长度的读命令中包含的起始逻辑地址;
根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度;N为大于1的正整数;
根据确定的当前没有预先定义长度的读命令所要读取的数据长度以及所述起始逻辑地址进行逻辑地址到物理地址的转换;
根据转换后的所述物理地址读取数据。


2.根据权利要求1所述的数据读取方法,其特征在于,所述根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度确定当前没有预先定义长度的读命令所要读取的数据长度包括:
将当前没有预先定义长度的读命令中的数据长度划分为多级预设档位;
根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度。


3.根据权利要求2所述的数据读取方法,其特征在于,所述根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度包括:
获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;
将所述N次没有预先定义长度的读命令读取的数据长度所在的预设档位中次数最多的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;
将所述读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。


4.根据权利要求2所述的数据读取方法,其特征在于,所述根据当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度所在的预设档位确定当前没有预先定义长度的读命令所要读取的数据长度包括:
获取当前没有预先定义长度的读命令之前的N次没有预先定义长度的读命令读取的数据长度分别所在的预设档位;
将所述N次没有预先定义长度的读命令读取的数据长度所在的预设档位中最大上限数据长度值所在的预设档位确定为当前没有预先定义长度的读命令所要读取的数据长度的读取档位;
将所述读取档位的上限数据长度值确定为当前没有预先定义长度的读命令所要读取的数据长度。


5.根据权利要求1所述的数据读取方法,其特征在于,所述根据转换后的所述物理地址读取数据之后还包括:
若未接收到停止命令,重复执行根据估测的当前读操作所要读取的数据长度进行逻辑地址到物理地址的转换,并根据转换后的所述物理地址读取数据的操作,直至接收到停止命令;
其中,每次进行逻辑地址到物理地址的转换时,将前次转换的最后一个逻辑地址加一后作为本次逻...

【专利技术属性】
技术研发人员:陈诚
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京;11

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

1