CN110058819A - 基于可变缓存管理机制的主机命令处理方法和装置 - Google Patents
基于可变缓存管理机制的主机命令处理方法和装置 Download PDFInfo
- Publication number
- CN110058819A CN110058819A CN201910318188.7A CN201910318188A CN110058819A CN 110058819 A CN110058819 A CN 110058819A CN 201910318188 A CN201910318188 A CN 201910318188A CN 110058819 A CN110058819 A CN 110058819A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- cache
- command
- host
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质,其中该方法包括:获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;判断所述NVME命令是否为读写命令;若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;根据判断所述读写命令是否击中读写缓存执行相应的读写操作。本发明通过基于可变缓存管理机制,提高读写命令击中缓存的概率,提高读写速度,提升固态硬盘读写性能。
Description
技术领域
本发明涉及固态硬盘技术领域,特别是涉及一种基于可变缓存管理机制的主机命令处理方法、装置、计算机设备和存储介质。
背景技术
目前,现有固态硬盘固件在处理主机发送的读写命令时,通常使用固定大小的缓存空间。
具体地,一旦主机发送的读命令命中了缓存中的数据,固态硬盘固件便直接使用缓存中的数据传输给主机,省去了从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的概率低,读写速度较慢。
为了更清楚的说明本发明的内容,文中英文缩写的解释如下:
Cache:高速缓冲存储器。
NandFlash:flash存储器的一种,具有容量较大,改写速度快等优点,适用于大量数据的存储。
SSD:固态硬盘。
NVM Express(NVMe):非易失性内存主机控制器接口规范(Non-Volatile Memoryexpress),是一个逻辑设备接口规范。
基于此,本发明提出一种可变缓存管理机制,提高读写命令击中cache的概率,提高读写速度,提升固态硬盘读写性能。
在一个实施例中,如图2所示,提供了一种基于可变缓存管理机制的主机命令处理方法,该方法包括:
步骤202,获取基于可变缓存管理机制的主机命令处理请求,该请求中包括主机发送的NVME命令;
步骤204,判断NVME命令是否为读写命令;
步骤206,若NVME命令为读写命令,则判断是否触发预设的缓存变化机制;
步骤208,若触发了预设的缓存变化机制,则通过释放与读写命令无关的存储空间用作读写缓存空间;
步骤210,根据判断读写命令是否击中读写缓存执行相应的读写操作。
具体地,首先,固态硬盘获取主机发送的基于可变缓存管理机制的主机命令处理请求,该请求中包括主机发送的NVME命令。判断NVME命令是否为读写命令;若NVME命令为读写命令,则判断是否触发预设的缓存变化机制。固态硬盘在未触发预设的缓存变化机制时,固态硬盘运行在正常模式,读写缓存空间固定不变。一旦固态硬盘触发缓存变化机制,释放与读写命令无关的DRAM或ISRAM存储空间,将释放的内存空间用作读写缓存。这样就实现了充分利用内存受限的固态硬盘系统上的存储资源,读写缓存空间位置可变,大小可变。在固态硬盘处理读写命令时,释放与读写命令无关的缓存空间,扩大读写缓存的空间大小,从而提高读写命令击中缓存的概率,提高读写速度,提升固态硬盘读写性能。
在一个实施例中,提供了一种基于可变缓存管理机制的主机命令处理方法,该方法还包括:预设缓存变化机制,该缓存变化机制通过连续接收到一定数量的读写命令时触发。具体地,例如当固态硬盘连续接收到10次读写命令,说明主机正在进行大文件的读写操作,便触发cache变化机制,释放与读写命令无关的DRAM或ISRAM存储空间,将释放的内存空间用作读写cache,以提高读写命令击中cache的概率,从而提升读写性能。
在本实施例中,通过获取基于可变缓存管理机制的主机命令处理请求,请求中包括主机发送的NVME命令;判断NVME命令是否为读写命令;若NVME命令为读写命令,则判断是否触发预设的缓存变化机制;若触发了预设的缓存变化机制,则通过释放与读写命令无关的存储空间用作读写缓存空间;根据判断读写命令是否击中读写缓存执行相应的读写操作。本发明通过基于可变缓存管理机制,充分利用内存受限的固态硬盘系统上的存储资源,读写缓存空间位置可变,大小可变。在固态硬盘处理读写命令时,释放与读写命令无关的缓存空间,扩大读写缓存的空间大小,从而提高读写命令击中缓存的概率,提高读写速度,提升固态硬盘读写性能。
在一个实施例中,如图3所示,提供了一种基于可变缓存管理机制的主机命令处理方法,该方法在根据判断读写命令是否击中读写缓存执行相应的读写操作的步骤之后还包括:
步骤302,判断从主机获取的下一个命令是否为读写命令;
步骤304,若下一个命令是读写命令,则重复执行相应的读写操作;
步骤306,若下一个命令不是读写命令,则缩小当前的缓存空间;
步骤308,将当前命令需要的存储空间重新进行初始化并处理当前命令。
具体地,如果固态硬盘接收到非读写命令,便按需缩小cache空间,读写cache缩小的空间与处理当前命令所需重新初始化的存储空间大小一致。做好处理当前命令的准备工作之后,固态硬盘便可重新处理该命令。
在本实施例中,实现了当固态硬盘接收到非读写命令,可以通过缩小缓存空间,以便于当有读写命令时可以及时调用空闲的缓存空间用于读写操作。
在一个实施例中,如图4所示,提供了一种基于可变缓存管理机制的主机命令处理方法,该方法中根据判断读写命令是否击中读写缓存执行相应的读写操作的步骤包括:
步骤402,判断读写命令是否击中读写缓存;
步骤404,若读写命令击中读写缓存,则固态硬盘直接通过使用读写缓存中的数据进行传输;
步骤406,若读写命令没有击中读写缓存,则将对应的数据先写入读写缓存中,再通过读写缓存进行数据传输。
在一个实施例中,提供了一种基于可变缓存管理机制的主机命令处理方法,该方法在判断是否触发预设的缓存变化机制的步骤之后还包括:
若没有触发预设的缓存变化机制,则使用固定大小和位置的读写缓存区域对读写命令进行处理。
具体地,参考图5提出的一种可变cache管理机制流程图,具体说明如下:
1.固态硬盘固件正常接收主机发送的NVMe命令。下一步执行流程2。
2.判读主机发送的命令是否是读写命令。若是,下一步则执行流程3,否则执行流程12。
3.固件判断是否触发预设的cache变化机制(例如:连续接收到主机10条读写命令)。如果触发,下一步执行流程4。否则下一步执行流程13。
4.释放与读写命令无关的DRAM或ISRAM存储空间。下一步执行流程5。
5.将流程4中释放的存储空间用作读写cache,以提高击中的概率。下一步执行流程6。
6.判读当前读写命令是否击中cache。若击中cache,下一步执行流程7。否则执行流程8。
7.若是读命令击中了cache,则固件直接将cache中的数据搬运给主机。若是写命令击中的cache,则固件直接将cache中的数据写入NandFlash。下一步执行流程9。
8.若是读命令没有击中cache,固件则需要先将数据从NandFlash搬移到cache中,再将数据从cache搬移给主机。若是写命令没有击中cache,固件则需要先将数据从主机搬移到cache中,再将数据从cache写到NandFlash中。下一步执行流程9。
9.判断新接受的命令是否为读写命令,若是下一步则执行流程6。否则下一步执行流程10。
10.缩小现有的读写cache空间。下一步则执行流程11。
11.将处理当前命令所需的存储空间变量重新初始化。下一步则执行流程12。
12.正常处理完成当前的非读写命令。下一步则执行流程1。
13.使用默认的读写cache空间大小处理当前命令。下一步执行流程6。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种基于可变缓存管理机制的主机命令处理装置600,包括:
获取模块601,用于获取基于可变缓存管理机制的主机命令处理请求,请求中包括主机发送的NVME命令;
第一判断模块602,用于判断NVME命令是否为读写命令;
第二判断模块603,用于若NVME命令为读写命令,则判断是否触发预设的缓存变化机制;
释放模块604,用于若触发了预设的缓存变化机制,则通过释放与读写命令无关的存储空间用作读写缓存空间;
读写模块605,用于根据判断读写命令是否击中读写缓存执行相应的读写操作。
在一个实施例中,如图7所示,提供了一种基于可变缓存管理机制的主机命令处理装置600,该装置还包括第三判断模块606,用于:
判断从主机获取的下一个命令是否为读写命令;
若下一个命令是读写命令,则重复执行相应的读写操作;
若下一个命令不是读写命令,则缩小当前的缓存空间;
将当前命令需要的存储空间重新进行初始化并处理当前命令。
在一个实施例中,读写模块605还用于:
判断读写命令是否击中读写缓存;
若读写命令击中读写缓存,则固态硬盘直接通过使用读写缓存中的数据进行传输;
若读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过读写缓存进行数据传输。
在一个实施例中,所述读写模块605还用于:
若没有触发所述预设的缓存变化机制,则使用固定大小和位置的读写缓存区域对所述读写命令进行处理。
在一个实施例中,如图8所示,提供了一种基于可变缓存管理机制的主机命令处理装置600,该装置还包括预设模块607,用于:
预设缓存变化机制,缓存变化机制通过连续接收到一定数量的读写命令时触发。
关于基于可变缓存管理机制的主机命令处理装置的具体限定可以参见上文中对于基于可变缓存管理机制的主机命令处理方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于可变缓存管理机制的主机命令处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于可变缓存管理机制的主机命令处理方法,其特征在于,所述方法包括:
获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;
判断所述NVME命令是否为读写命令;
若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;
若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;
根据判断所述读写命令是否击中读写缓存执行相应的读写操作。
2.根据权利要求1所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,在所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤之后还包括:
判断从主机获取的下一个命令是否为读写命令;
若所述下一个命令是读写命令,则重复执行相应的读写操作;
若所述下一个命令不是读写命令,则缩小当前的缓存空间;
将当前命令需要的存储空间重新进行初始化并处理所述当前命令。
3.根据权利要求2所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,所述根据判断所述读写命令是否击中读写缓存执行相应的读写操作的步骤包括:
判断所述读写命令是否击中读写缓存;
若所述读写命令击中读写缓存,则固态硬盘直接通过使用所述读写缓存中的数据进行传输;
若所述读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过所述读写缓存进行数据传输。
4.根据权利要求3所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,在所述判断是否触发预设的缓存变化机制的步骤之后还包括:
若没有触发所述预设的缓存变化机制,则使用固定大小和位置的读写缓存区域对所述读写命令进行处理。
5.根据权利要求1-4任一项所述的基于可变缓存管理机制的主机命令处理方法,其特征在于,所述方法还包括:
预设缓存变化机制,所述缓存变化机制通过连续接收到一定数量的读写命令时触发。
6.一种基于可变缓存管理机制的主机命令处理装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取基于可变缓存管理机制的主机命令处理请求,所述请求中包括主机发送的NVME命令;
第一判断模块,所述第一判断模块用于判断所述NVME命令是否为读写命令;
第二判断模块,所述第二判断模块用于若所述NVME命令为读写命令,则判断是否触发预设的缓存变化机制;
释放模块,所述释放模块用于若触发了所述预设的缓存变化机制,则通过释放与所述读写命令无关的存储空间用作读写缓存空间;
读写模块,所述读写模块用于根据判断所述读写命令是否击中读写缓存执行相应的读写操作。
7.根据权利要求6所述的基于可变缓存管理机制的主机命令处理装置,其特征在于,所述装置还包括第三判断模块,所述第三判断模块用于:
判断从主机获取的下一个命令是否为读写命令;
若所述下一个命令是读写命令,则重复执行相应的读写操作;
若所述下一个命令不是读写命令,则缩小当前的缓存空间;
将当前命令需要的存储空间重新进行初始化并处理所述当前命令。
8.根据权利要求7所述的基于可变缓存管理机制的主机命令处理装置,其特征在于,所述读写模块还用于:
判断所述读写命令是否击中读写缓存;
若所述读写命令击中读写缓存,则固态硬盘直接通过使用所述读写缓存中的数据进行传输;
若所述读写命令没有击中读写缓存,则将对应的数据先写入所述读写缓存中,再通过所述读写缓存进行数据传输。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318188.7A CN110058819A (zh) | 2019-04-19 | 2019-04-19 | 基于可变缓存管理机制的主机命令处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910318188.7A CN110058819A (zh) | 2019-04-19 | 2019-04-19 | 基于可变缓存管理机制的主机命令处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110058819A true CN110058819A (zh) | 2019-07-26 |
Family
ID=67319706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910318188.7A Pending CN110058819A (zh) | 2019-04-19 | 2019-04-19 | 基于可变缓存管理机制的主机命令处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058819A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078148A (zh) * | 2019-12-17 | 2020-04-28 | 江苏芯盛智能科技有限公司 | 基于ssd的缓存方法、装置、ssd和计算机可读存储介质 |
CN111352730A (zh) * | 2020-02-11 | 2020-06-30 | 浙江大华技术股份有限公司 | 应用程序升级的缓存方法、装置、计算机设备和存储介质 |
CN111563054A (zh) * | 2020-04-17 | 2020-08-21 | 深圳震有科技股份有限公司 | 一种提高芯片读写速度的方法、智能终端及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003943A (zh) * | 2016-12-05 | 2017-08-01 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 |
US20180157445A1 (en) * | 2016-12-05 | 2018-06-07 | Huawei Technologies Co., Ltd. | Method, device, and system for controlling data read/write command in nvme over fabric architecture |
CN109359063A (zh) * | 2018-10-15 | 2019-02-19 | 郑州云海信息技术有限公司 | 面向存储系统软件的缓存置换方法、存储设备及存储介质 |
CN109542346A (zh) * | 2018-11-19 | 2019-03-29 | 深圳忆联信息系统有限公司 | 动态数据缓存分配方法、装置、计算机设备和存储介质 |
CN109597577A (zh) * | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种处理nvme协议读写命令的方法、系统及相关装置 |
-
2019
- 2019-04-19 CN CN201910318188.7A patent/CN110058819A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003943A (zh) * | 2016-12-05 | 2017-08-01 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 |
US20180157445A1 (en) * | 2016-12-05 | 2018-06-07 | Huawei Technologies Co., Ltd. | Method, device, and system for controlling data read/write command in nvme over fabric architecture |
US20180314450A1 (en) * | 2016-12-05 | 2018-11-01 | Huawei Technologies Co.,Ltd. | Data read/write command control method and system, and storage device in nvme over fabric architecture |
CN109359063A (zh) * | 2018-10-15 | 2019-02-19 | 郑州云海信息技术有限公司 | 面向存储系统软件的缓存置换方法、存储设备及存储介质 |
CN109542346A (zh) * | 2018-11-19 | 2019-03-29 | 深圳忆联信息系统有限公司 | 动态数据缓存分配方法、装置、计算机设备和存储介质 |
CN109597577A (zh) * | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 一种处理nvme协议读写命令的方法、系统及相关装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078148A (zh) * | 2019-12-17 | 2020-04-28 | 江苏芯盛智能科技有限公司 | 基于ssd的缓存方法、装置、ssd和计算机可读存储介质 |
CN111078148B (zh) * | 2019-12-17 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 基于ssd的缓存方法、装置、ssd和计算机可读存储介质 |
CN111352730A (zh) * | 2020-02-11 | 2020-06-30 | 浙江大华技术股份有限公司 | 应用程序升级的缓存方法、装置、计算机设备和存储介质 |
CN111352730B (zh) * | 2020-02-11 | 2023-07-14 | 浙江大华技术股份有限公司 | 应用程序升级的缓存方法、装置、计算机设备和存储介质 |
CN111563054A (zh) * | 2020-04-17 | 2020-08-21 | 深圳震有科技股份有限公司 | 一种提高芯片读写速度的方法、智能终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7562180B2 (en) | Method and device for reduced read latency of non-volatile memory | |
CN110058819A (zh) | 基于可变缓存管理机制的主机命令处理方法和装置 | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
CN107870732B (zh) | 从固态存储设备冲刷页面的方法和设备 | |
CN109542961A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111723058B (zh) | 一种预读数据缓存方法、装置、设备及存储介质 | |
WO2020169065A1 (zh) | 基于内存受限 ssd 的预读取方法、装置和计算机设备 | |
US8914592B2 (en) | Data storage apparatus with nonvolatile memories and method for controlling nonvolatile memories | |
CN109582227A (zh) | 固态硬盘写入方法、装置、计算机设备和存储介质 | |
US10416907B2 (en) | Storage system, storage control apparatus, and method of controlling a storage device | |
CN109542346A (zh) | 动态数据缓存分配方法、装置、计算机设备和存储介质 | |
CN114253483B (zh) | 基于命令的写缓存管理方法、装置、计算机设备及存储介质 | |
JP4210024B2 (ja) | 記憶装置を動作する方法および記憶装置 | |
US20150347042A1 (en) | Apparatus and method for controlling memory | |
KR101876574B1 (ko) | 데이터 입출력 컨트롤러 및 이를 포함하는 시스템 | |
CN110647476B (zh) | 一种固态硬盘写数据的方法、装置、设备及存储介质 | |
US20080098163A1 (en) | Method for reading and writing data in a flash memory in an embedded system | |
CN116841458A (zh) | 存储器读写控制方法、系统、终端及存储介质 | |
WO2013184855A1 (en) | Memory with bank-conflict-resolution (bcr) module including cache | |
CN116955222A (zh) | 智能预取缓冲器和队列管理 | |
CN114115745B (zh) | 多Pass编程NAND的RAID优化方法、装置及计算机设备 | |
US7249222B1 (en) | Prefetching data based on predetermined criteria | |
US10579519B2 (en) | Interleaved access of memory | |
CN109284231B (zh) | 内存访问请求的处理方法、装置及内存控制器 | |
GB2394574A (en) | An architecture and method for accessing data and instructions of an external memory using store and forward |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190726 |