基于可变缓存管理机制的主机命令处理方法和装置制造方法及图纸

技术编号:21713855 阅读:26 留言:0更新日期:2019-07-27 19:04
本申请涉及一种基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质,其中该方法包括:获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。本发明专利技术通过基于可变缓存管理机制,提高读写命令击中缓存的概率,提高读写速度,提升固态硬盘读写性能。

Host command processing method and device based on variable cache management mechanism

【技术实现步骤摘要】
基于可变缓存管理机制的主机命令处理方法和装置
本专利技术涉及固态硬盘
,特别是涉及一种基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质。
技术介绍
目前,现有固态硬盘固件在处理主机发送的读写命令时,通常使用固定大小的缓存空间。具体地,一旦主机发送的读命令命中了缓存中的数据,固态硬盘固件便直接使用缓存中的数据传输给主机,省去了从NandFlash中读取数据的过程,从而达到加速的目的。如果读命令没有命中缓存中的数据,固件只能从NandFlash中的相应位置取出数据搬移到缓存中,再将缓存中的数据传输给主机。同理,一旦主机发送的写命令命中了缓存中的数据,固态硬盘固件便直接使用缓存中的数据写到NandFlash中,省去了从主机中搬运数据的过程,从而达到加速的目的。如果写命令没有命中缓存中的数据,固件只能从主机中的相应位置搬移数到缓存中,再将缓存中的数据写到NandFlash中。在传统技术中,固定缓存大小的方案存在以下缺陷:在内存受限的固态硬盘系统中,未充分利用系统存储空间,读写命令击中缓存的概率低,读写速度较慢。
技术实现思路
基于此,有必要针对上述技术问题,提供一种基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质。一种基于可变缓存管理机制的主机命令处理方法,所述方法包括:获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。在其中一个实施例中,在所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤之后还包括:判断从主机获取的下一个命令是否为读写命令;若所述下一个命令是读写命令,则重复执行相应的读写操作;若所述下一个命令不是读写命令,则缩小当前的缓存空间;将当前命令需要的存储空间重新进行初始化并处理所述当前命令。在其中一个实施例中,所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤包括:判断所述读写命令是否击中读写缓存;若所述读写命令击中读写缓存,则固态硬盘直接通过使用所述读写缓存中的数据进行传输;若所述读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过所述读写缓存进行数据传输。在其中一个实施例中,在所述判断是否触发预设的缓存变化机制的步骤之后还包括:若没有触发所述预设的缓存变化机制,则使用固定大小和位置的读写缓存区域对所述读写命令进行处理。在其中一个实施例中,所述方法还包括:预设缓存变化机制,所述缓存变化机制通过连续接收到一定数量的读写命令时触发。一种基于可变缓存管理机制的主机命令处理装置,所述装置包括:获取模块,所述获取模块用于获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;第一判断模块,所述第一判断模块用于判断所述NVME命令是否为读写命令;第二判断模块,所述第二判断模块用于若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;释放模块,所述释放模块用于若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;读写模块,所述读写模块用于根据判断所述读写命令是否击中读写缓存执行相应的读写操作。在其中一个实施例中,所述装置还包括第三判断模块,所述第三判断模块用于:判断从主机获取的下一个命令是否为读写命令;若所述下一个命令是读写命令,则重复执行相应的读写操作;若所述下一个命令不是读写命令,则缩小当前的缓存空间;将当前命令需要的存储空间重新进行初始化并处理所述当前命令。在其中一个实施例中,所述读写模块还用于:判断所述读写命令是否击中读写缓存;若所述读写命令击中读写缓存,则固态硬盘直接通过使用所述读写缓存中的数据进行传输;若所述读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过所述读写缓存进行数据传输。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质,通过获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。本专利技术通过基于可变缓存管理机制,充分利用内存受限的固态硬盘系统上的存储资源,读写缓存空间位置可变,大小可变。在固态硬盘处理读写命令时,释放与读写命令无关的缓存空间,扩大读写缓存的空间大小,从而提高读写命令击中缓存的概率,提高读写速度,提升固态硬盘读写性能。附图说明图1为传统技术中的固态硬盘读写命令处理方法的流程示意图;图2为一个实施例中基于可变缓存管理机制的主机命令处理方法的流程示意图;图3为另一个实施例中基于可变缓存管理机制的主机命令处理方法的流程示意图;图4为再一个实施例中基于可变缓存管理机制的主机命令处理方法的流程示意图;图5为一个实施例中基于可变缓存管理机制的主机命令处理方法的完整流程图;图6为一个实施例中基于可变缓存管理机制的主机命令处理装置的结构框图;图7为另一个实施例中基于可变缓存管理机制的主机命令处理装置的结构框图;图8为再一个实施例中基于可变缓存管理机制的主机命令处理装置的结构框图;图9为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。目前,固态硬盘运用cache加速读写命令处理的流程如图1所示。在传统技术手段中,固态硬盘固件在处理主机发送的读写命令时,使用固定大小的cache区域。具体地,对于读命令,一旦主机发送的读命令命中了cache中的数据,固态硬盘固件便直接使用cache中的数据传输给主机,省去了从NandFlash中读取数据的过程,从而达到加速的目的。如果读命令没有命中cache中的数据,固件只能从NandFlash中的相应位置取出数据搬移到cache中,再将cache中的数据传输给主机。具体地,对于写命令,一旦主机发送的写命令命中了cache中的数据,固态硬盘固件便直接使用cache中的数据写到NandFlash中,省去了从主机中搬运数据的过程,从而达到加速的目的。如果写命令没有命中cache中的数据,固件只能从主机中的相应位置搬移数到cache中,再将cache中的数据写到NandFlash中。以上固定cache大小的方案至少存在以下缺陷:在内存受限的固态硬盘系统中,未充分利用系统存储空间,读写命令击中cache的概率低,读写速度较慢。为了本文档来自技高网...

【技术保护点】
1.一种基于可变缓存管理机制的主机命令处理方法,其特征在于,所述方法包括:获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。

【技术特征摘要】
1.一种基于可变缓存管理机制的主机命令处理方法,其特征在于,所述方法包括:获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。2.根据权利要求1所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,在所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤之后还包括:判断从主机获取的下一个命令是否为读写命令;若所述下一个命令是读写命令,则重复执行相应的读写操作;若所述下一个命令不是读写命令,则缩小当前的缓存空间;将当前命令需要的存储空间重新进行初始化并处理所述当前命令。3.根据权利要求2所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤包括:判断所述读写命令是否击中读写缓存;若所述读写命令击中读写缓存,则固态硬盘直接通过使用所述读写缓存中的数据进行传输;若所述读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过所述读写缓存进行数据传输。4.根据权利要求3所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,在所述判断是否触发预设的缓存变化机制的步骤之后还包括:若没有触发所述预设的缓存变化机制,则使用固定大小和位置的读写缓存区域对所述读写命令进行处理。5.根据权利要求1-4任一项所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,所述方法还包括:预设缓存变化机制,所述缓存变化机制通过连续接收到一定数量的读写...

【专利技术属性】
技术研发人员:杨志佳冯元元周强
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1