CN109918023A - 基于内存受限ssd的预读取方法、装置和计算机设备 - Google Patents

基于内存受限ssd的预读取方法、装置和计算机设备 Download PDF

Info

Publication number
CN109918023A
CN109918023A CN201910133823.4A CN201910133823A CN109918023A CN 109918023 A CN109918023 A CN 109918023A CN 201910133823 A CN201910133823 A CN 201910133823A CN 109918023 A CN109918023 A CN 109918023A
Authority
CN
China
Prior art keywords
read
host
module
read command
nand
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
Application number
CN201910133823.4A
Other languages
English (en)
Inventor
王猛
徐伟华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910133823.4A priority Critical patent/CN109918023A/zh
Publication of CN109918023A publication Critical patent/CN109918023A/zh
Priority to PCT/CN2020/076017 priority patent/WO2020169065A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Abstract

本申请涉及一种基于内存受限SSD的预读取方法、装置、计算机设备和存储介质,其中该方法包括:获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;根据所述预读取命令将数据预先加载到NAND缓存寄存器中;当后续所述主机命令下发命中时直接发起数据传输操作。本发明通过识别顺序读请求,预测主机顺序读序列,在主机命令下发不及时时触发NAND读命令的发起,将数据加载到NAND缓存寄存器中,进而在后续的读命令来时直接进行数据传输,保障了读性能带宽。

Description

基于内存受限SSD的预读取方法、装置和计算机设备
技术领域
本发明涉及固态硬盘技术领域,特别是涉及一种基于内存受限SSD的预读取方法、装置、计算机设备和存储介质。
背景技术
目前,SSD(Solid State Disk,固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。
随着主机接口的演进,已经从传统的SATA发展到PCIe,相应的性能也从500MB/s提升到3GB/s(PCIe Gen 3x4)。如此高的性能需求,对于NAND来说必须工作在全速模式,不能有闲置时间。而主机实际运作过程中,可能会不能及时下发足够多的请求,以读为例,为达到3GB/s的速率,一般要基于顺序读的特征,启动预读取功能,提前将主机所需数据加载到内存中。
这在传统的SSD中,因为有较大的DRAM缓冲区存在,读数据会先经过DRAM,是可行的。但随着性能需求的提升,为降低数据延迟,NAND读出来的数据一般不再经过DRAM,而是直接经由芯片内部高速SRAM传输到主机。由于SRAM空间很小,既往的预读取到内存中的策略不再有效。
发明内容
基于此,有必要针对上述技术问题,提供一种可以实现提高读性能的基于内存受限SSD的预读取方法、装置、计算机设备和存储介质。
一种基于内存受限SSD的预读取方法,所述方法包括:
获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;
根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;
若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;
根据所述预读取命令将数据预先加载到NAND缓存寄存器中;
当后续所述主机命令下发命中时直接发起数据传输操作。
在其中一个实施例中,在所述获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令的步骤之后还包括:
将所述读命令分割成映射单元;
提交所述读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
提交所述读命令操作请求到后端模块,并通过后端模块根据所述NAND物理地址发起对NAND读请求;
根据所述NAND读请求将数据加载到NAND缓存寄存器中;
数据准备完成之后,启动数据从所述NAND缓存寄存器到所述主机的传输。
在其中一个实施例中,所述根据所述读命令请求中的读命令类型判断所述主机是否处于顺序读模式的步骤包括:
将所述读命令传递给顺序识别模块进行识别;
根据近期的读命令信息,通过LBA访问空间判断所述主机是否处于顺序读模式。
在其中一个实施例中,所述方法还包括:
当所述主机无命令输入时,若所述顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
所述预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
当后续主机下发真正的读取命令命中所述预读取数据时,则直接发起数据传输。
一种基于内存受限SSD的预读取装置,所述基于内存受限SSD的预读取装置包括:
获取模块,所述获取模块用于获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;
判断模块,所述判断模块用于根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;
插入模块,所述插入模块用于若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;
加载模块,所述加载模块用于根据所述预读取命令将数据预先加载到NAND缓存寄存器中;
传输模块,所述传输模块用于当后续所述主机命令下发命中时直接发起数据传输操作。
在其中一个实施例中,所述装置包括命令处理模块,所述命令处理模块用于:
将所述读命令分割成映射单元;
提交所述读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
提交所述读命令操作请求到后端模块,并通过后端模块根据所述NAND物理地址发起对NAND读请求;
根据所述NAND读请求将数据加载到NAND缓存寄存器中;
数据准备完成之后,启动数据从所述NAND缓存寄存器到所述主机的传输。
在其中一个实施例中,所述判断模块还用于:
将所述读命令传递给顺序识别模块进行识别;
根据近期的读命令信息,通过LBA访问空间判断所述主机是否处于顺序读模式。
在其中一个实施例中,所述判断模块还用于:
当所述主机无命令输入时,若所述顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
所述预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
当后续主机下发真正的读取命令命中所述预读取数据时,则直接发起数据传输。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于内存受限SSD的预读取方法、装置、计算机设备和存储介质,通过获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;根据所述预读取命令将数据预先加载到NAND缓存寄存器中;当后续所述主机命令下发命中时直接发起数据传输操作。本发明通过识别顺序读请求,预测主机顺序读序列,在主机命令下发不及时时触发NAND读命令的发起,将数据加载到NAND缓存寄存器中,进而在后续的读命令来时直接进行数据传输,保障了读性能带宽。
附图说明
图1为典型的NAND的组成示意图;
图2为一个实施例中基于内存受限SSD的预读取方法的流程示意图;
图3为另一个实施例中基于内存受限SSD的预读取方法的流程示意图;
图4为再一个实施例中基于内存受限SSD的预读取方法的流程示意图;
图5为又一个实施例中基于内存受限SSD的预读取方法的流程示意图;
图6为典型的读命令SSD内部处理的流程示意图;
图7为一个实施例中的读命令SSD内部处理的流程示意图;
图8为典型的NAND端的命令操作时序图;
图9为一个实施例中的NAND端的命令操作时序图;
图10为一个实施例中基于内存受限SSD的预读取装置的结构框图;
图11为另一个实施例中基于内存受限SSD的预读取装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示典型的NAND组成如下:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。每个DIE内有一个CacheRegister,当读取数据时,数据会从内部Cell先加载到该区域,然后通过NAND接口传输给控制器。
在SSD产品中,读性能要求很高,当出现主机命令不足时候,NAND端则会出现等待空闲状态。为避免出现该空闲状态,对于顺序读的场景,SSD内部会根据顺序读的序列,在主机命令不足时,发起内部读请求,预先把数据加载到内存中。而在最新的PCIe接口的SSD中,为了读性能的提升,其读通路不会经过DRAM,故而没有缓冲预读取数据的内存空间,所以会因为主机命令中断而导致性能下降。
本发明提出一种内存受限SSD的预读取方法,通过引入本发明中所提方案,通过识别顺序读请求,预测主机顺序读序列,在主机命令下发不及时时触发NAND读命令的发起,将数据加载到NAND Cache Register中,进而在后续的读命令来时直接进行数据传输,保障了读性能带宽。
在一个实施例中,如图2所示,提供了一种基于内存受限SSD的预读取方法,该方法包括:
步骤202,获取主机提交的读命令请求,读命令请求包括主机提交的读命令;
步骤204,根据读命令请求中的读命令信息判断主机是否处于顺序读模式;
步骤206,若主机处于顺序读模式,则当主机无命令输入时通知预读取模块插入预读取命令;
步骤208,根据预读取命令将数据预先加载到NAND缓存寄存器中;
步骤210,当后续主机命令下发命中时直接发起数据传输操作。
具体地,如图6所示为一个典型的读命令SSD内部处理流程包括:主机提交读命令到SSD的前端模块。SSD前端模块将命令分割成映射单元(典型如4KB)。提交操作请求到映射表管理模块。映射表管理模块负责把逻辑地址转换成NAND物理地址。提交操作请求到后端模块,后端模块根据物理地址发起对NAND读请求。等待NAND读操作请求完成,此时数据会加载到NAND Cache Register中。数据Ready后,启动数据从NAND Cache Register到主机的传输。
如图7所示为本实施例引入后的SSD内部模块。新增了“顺序识别”、“预读取”的流程:“顺序识别”用来判断主机是否在进行顺序读,若是则意味着工作在高性能模式;“预读取”的流程则包括当识别为顺序读模式,且主机端命令压力不足时,提前补充一些特殊的内部读操作,用以保障NAND端提前把数据加载到Cache Register中。
在一个实施例中,如图3所示,提供了一种基于内存受限SSD的预读取方法,该方法在获取主机提交的读命令请求,读命令请求包括主机提交的读命令的步骤之后还包括:
步骤302,将读命令分割成映射单元;
步骤304,提交读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
步骤306,提交读命令操作请求到后端模块,并通过后端模块根据NAND物理地址发起对NAND读请求;
步骤308,根据NAND读请求将数据加载到NAND缓存寄存器中;
步骤310,数据准备完成之后,启动数据从NAND缓存寄存器到主机的传输。
具体地,结合参考图7,本实施例中的读命令处理流程如下:主机提交读命令到SSD的前端模块。前端模块将命令信息传递给顺序识别模块,根据近期的命令信息,LBA访问空间,判断是否处于顺序读模式。前端模块将命令分割成映射单元(典型如4KB)。提交操作请求到映射表管理模块。映射表管理模块负责把逻辑地址转换成NAND物理地址。提交操作请求到后端模块,后端模块根据物理地址发起对NAND读请求。等待NAND读操作请求完成,此时数据会加载到NAND Cache Register中。数据Ready后,启动数据从NAND Cache Register到主机的传输。当主机无命令输入时,若顺序识别模块判断当前处于顺序读模式,则通知预读取模块。预读取模块根据顺序识别模块信息(后续命令读的LBA地址空间),插入新增的预读取命令,将数据加载到NAND Cache Register中。当后续主机下发真正的读取命令时,命中该预读取数据,则直接发起数据传输,而不用再等待NAND读。
在本实施例中,通过获取主机提交的读命令请求,读命令请求包括主机提交的读命令;根据读命令请求中的读命令信息判断主机是否处于顺序读模式;若主机处于顺序读模式,则当主机无命令输入时通知预读取模块插入预读取命令;根据预读取命令将数据预先加载到NAND缓存寄存器中;当后续主机命令下发命中时直接发起数据传输操作。本实施例通过识别顺序读请求,预测主机顺序读序列,在主机命令下发不及时时触发NAND读命令的发起,将数据加载到NAND缓存寄存器中,进而在后续的读命令来时直接进行数据传输,保障了读性能带宽。
在一个实施例中,如图4所示,提供了一种基于内存受限SSD的预读取方法,该方法中根据读命令请求中的读命令信息判断主机是否处于顺序读模式的步骤包括:
步骤402,将读命令传递给顺序识别模块进行识别;
步骤404,根据近期的读命令信息,通过LBA访问空间判断主机是否处于顺序读模式。
在一个实施例中,如图5所示,提供了一种基于内存受限SSD的预读取方法,该方法还包括:
步骤502,当主机无命令输入时,若顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
步骤504,预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
步骤506,当后续主机下发真正的读取命令命中预读取数据时,则直接发起数据传输。
具体地,如图8所示为典型的NAND端的命令操作时序图,包括:SSD对每个DIE下发主机读请求。各个DIE触发内部Cell读,数据加载到Cache Register中。数据传输给主机。此时若无进一步的读命令下发到NAND上,则NAND端处于空闲状态。主机下发新的命令后,再继续NAND Cell读取以及数据传输序列。
在本实施例中,如图9所示为本实施例引入后的NAND端命令操作时序图。与传统的SSD相比,由于引入了在特定模式下的内部预读取,所以在主机无命令下发时,NAND端不存在较长的等待时间,而是提前将数据加载到Cache Register中。当后续主机命令下发命中时,直接发起数据传输操作;而相比于带DRAM的SSD方案,在内存受限的SSD中,不再提前将数据传输到DRAM中,而是仅加载到NAND自身的Cache Register中,所以无额外的内存开销。通过该预读取机制,可以保障内存受限情形下的NAND端读操作的饱和,进而满足了SSD的读性能。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种基于内存受限SSD的预读取装置1000,包括:
获取模块1001,用于获取主机提交的读命令请求,读命令请求包括主机提交的读命令;
判断模块1002,用于根据读命令请求中的读命令信息判断主机是否处于顺序读模式;
插入模块1003,用于若主机处于顺序读模式,则当主机无命令输入时通知预读取模块插入预读取命令;
加载模块1004,用于根据预读取命令将数据预先加载到NAND缓存寄存器中;
传输模块1005,用于当后续主机命令下发命中时直接发起数据传输操作。
在一个实施例中,如图11所示,提供了一种基于内存受限SSD的预读取装置1000,该装置还包括命令处理模块1006,用于:
将读命令分割成映射单元;
提交读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
提交读命令操作请求到后端模块,并通过后端模块根据所述NAND物理地址发起对NAND读请求;
根据NAND读请求将数据加载到NAND缓存寄存器中;
数据准备完成之后,启动数据从NAND缓存寄存器到所述主机的传输。
在一个实施例中,判断模块1002还用于:
将读命令传递给顺序识别模块进行识别;
根据近期的读命令信息,通过LBA访问空间判断主机是否处于顺序读模式。
在一个实施例中,判断模块1002还用于:
当主机无命令输入时,若顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
当后续主机下发真正的读取命令命中所述预读取数据时,则直接发起数据传输。
关于基于内存受限SSD的预读取装置的具体限定可以参见上文中对于基于内存受限SSD的预读取方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于内存受限SSD的预读取方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种基于内存受限SSD的预读取方法,所述方法包括:
获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;
根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;
若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;
根据所述预读取命令将数据预先加载到NAND缓存寄存器中;
当后续所述主机命令下发命中时直接发起数据传输操作。
2.根据权利要求1所述的基于内存受限SSD的预读取方法,其特征在于,在所述获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令的步骤之后还包括:
将所述读命令分割成映射单元;
提交所述读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
提交所述读命令操作请求到后端模块,并通过后端模块根据所述NAND物理地址发起对NAND读请求;
根据所述NAND读请求将数据加载到NAND缓存寄存器中;
数据准备完成之后,启动数据从所述NAND缓存寄存器到所述主机的传输。
3.根据权利要求1或2所述的基于内存受限SSD的预读取方法,其特征在于,所述根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式的步骤包括:
将所述读命令传递给顺序识别模块进行识别;
根据近期的读命令信息,通过LBA访问空间判断所述主机是否处于顺序读模式。
4.根据权利要求3所述的基于内存受限SSD的预读取方法,其特征在于,所述方法还包括:
当所述主机无命令输入时,若所述顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
所述预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
当后续主机下发真正的读取命令命中所述预读取数据时,则直接发起数据传输。
5.一种基于内存受限SSD的预读取装置,其特征在于,所述基于内存受限SSD的预读取装置包括:
获取模块,所述获取模块用于获取主机提交的读命令请求,所述读命令请求包括主机提交的读命令;
判断模块,所述判断模块用于根据所述读命令请求中的读命令信息判断所述主机是否处于顺序读模式;
插入模块,所述插入模块用于若所述主机处于顺序读模式,则当所述主机无命令输入时通知预读取模块插入预读取命令;
加载模块,所述加载模块用于根据所述预读取命令将数据预先加载到NAND缓存寄存器中;
传输模块,所述传输模块用于当后续所述主机命令下发命中时直接发起数据传输操作。
6.根据权利要求5所述的基于内存受限SSD的预读取装置,其特征在于,所述装置还包括命令处理模块,所述命令处理模块用于:
将所述读命令分割成映射单元;
提交所述读命令操作请求到映射表管理模块,并通过映射表管理模块将逻辑地址转换成NAND物理地址;
提交所述读命令操作请求到后端模块,并通过后端模块根据所述NAND物理地址发起对NAND读请求;
根据所述NAND读请求将数据加载到NAND缓存寄存器中;
数据准备完成之后,启动数据从所述NAND缓存寄存器到所述主机的传输。
7.根据权利要求5或6所述的基于内存受限SSD的预读取装置,其特征在于,所述判断模块还用于:
将所述读命令传递给顺序识别模块进行识别;
根据近期的读命令信息,通过LBA访问空间判断所述主机是否处于顺序读模式。
8.根据权利要求7所述的基于内存受限SSD的预读取装置,其特征在于,所述判断模块还用于:
当所述主机无命令输入时,若所述顺序识别模块判断当前处于顺序读模式,则通知预读取模块;
所述预读取模块根据顺序识别模块信息插入新增的预读取命令,将预读取数据加载到NAND缓存寄存器中;
当后续主机下发真正的读取命令命中所述预读取数据时,则直接发起数据传输。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN201910133823.4A 2019-02-22 2019-02-22 基于内存受限ssd的预读取方法、装置和计算机设备 Pending CN109918023A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910133823.4A CN109918023A (zh) 2019-02-22 2019-02-22 基于内存受限ssd的预读取方法、装置和计算机设备
PCT/CN2020/076017 WO2020169065A1 (zh) 2019-02-22 2020-02-20 基于内存受限 ssd 的预读取方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910133823.4A CN109918023A (zh) 2019-02-22 2019-02-22 基于内存受限ssd的预读取方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN109918023A true CN109918023A (zh) 2019-06-21

Family

ID=66962046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910133823.4A Pending CN109918023A (zh) 2019-02-22 2019-02-22 基于内存受限ssd的预读取方法、装置和计算机设备

Country Status (2)

Country Link
CN (1) CN109918023A (zh)
WO (1) WO2020169065A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020169065A1 (zh) * 2019-02-22 2020-08-27 深圳忆联信息系统有限公司 基于内存受限 ssd 的预读取方法、装置和计算机设备
CN112084121A (zh) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN112214157A (zh) * 2019-07-10 2021-01-12 慧荣科技股份有限公司 主机输出输入命令的执行装置及方法及计算机可读取存储介质
CN112256338A (zh) * 2020-10-27 2021-01-22 记忆科技(深圳)有限公司 Soc启动方法、装置、计算机设备及存储介质
CN112799589A (zh) * 2021-01-14 2021-05-14 新华三大数据技术有限公司 一种数据读取方法及装置
WO2021184141A1 (en) * 2020-03-15 2021-09-23 Micron Technology, Inc. Pre-load techniques for improved sequential read
CN113835640A (zh) * 2021-09-27 2021-12-24 深圳忆联信息系统有限公司 闪存缓存清空的实现方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298508A (zh) * 2011-09-07 2011-12-28 记忆科技(深圳)有限公司 基于流的固态硬盘预读取的方法及装置
CN107273053A (zh) * 2017-06-22 2017-10-20 郑州云海信息技术有限公司 一种数据读取的方法与装置
CN108595110A (zh) * 2018-03-07 2018-09-28 深圳忆联信息系统有限公司 一种利用Nand特性提高读性能的方法及固态硬盘

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418525B1 (en) * 1999-01-29 2002-07-09 International Business Machines Corporation Method and apparatus for reducing latency in set-associative caches using set prediction
US6397292B1 (en) * 1999-08-19 2002-05-28 Emc Corporation Asymmetrical striping of mirrored storage device arrays and concurrent access to even tracks in the first array and odd tracks in the second array to improve data access performance
US7577947B2 (en) * 2003-12-19 2009-08-18 Intel Corporation Methods and apparatus to dynamically insert prefetch instructions based on garbage collector analysis and layout of objects
CN101976182A (zh) * 2010-11-15 2011-02-16 记忆科技(深圳)有限公司 一种固态硬盘预读取的方法及其装置
CN108733583B (zh) * 2018-05-28 2021-03-26 至誉科技(武汉)有限公司 提高NVMe SSD顺序数据读取性能的预读方法及系统
CN109918023A (zh) * 2019-02-22 2019-06-21 深圳忆联信息系统有限公司 基于内存受限ssd的预读取方法、装置和计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298508A (zh) * 2011-09-07 2011-12-28 记忆科技(深圳)有限公司 基于流的固态硬盘预读取的方法及装置
CN107273053A (zh) * 2017-06-22 2017-10-20 郑州云海信息技术有限公司 一种数据读取的方法与装置
CN108595110A (zh) * 2018-03-07 2018-09-28 深圳忆联信息系统有限公司 一种利用Nand特性提高读性能的方法及固态硬盘

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020169065A1 (zh) * 2019-02-22 2020-08-27 深圳忆联信息系统有限公司 基于内存受限 ssd 的预读取方法、装置和计算机设备
CN112214157A (zh) * 2019-07-10 2021-01-12 慧荣科技股份有限公司 主机输出输入命令的执行装置及方法及计算机可读取存储介质
CN112214157B (zh) * 2019-07-10 2023-11-03 慧荣科技股份有限公司 主机输出输入命令的执行装置及方法及存储介质
WO2021184141A1 (en) * 2020-03-15 2021-09-23 Micron Technology, Inc. Pre-load techniques for improved sequential read
US11868245B2 (en) 2020-03-15 2024-01-09 Micron Technology, Inc. Pre-load techniques for improved sequential memory access in a memory device
CN112084121A (zh) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN112256338A (zh) * 2020-10-27 2021-01-22 记忆科技(深圳)有限公司 Soc启动方法、装置、计算机设备及存储介质
CN112256338B (zh) * 2020-10-27 2023-12-05 记忆科技(深圳)有限公司 Soc启动方法、装置、计算机设备及存储介质
CN112799589A (zh) * 2021-01-14 2021-05-14 新华三大数据技术有限公司 一种数据读取方法及装置
CN112799589B (zh) * 2021-01-14 2023-07-14 新华三大数据技术有限公司 一种数据读取方法及装置
CN113835640A (zh) * 2021-09-27 2021-12-24 深圳忆联信息系统有限公司 闪存缓存清空的实现方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2020169065A1 (zh) 2020-08-27

Similar Documents

Publication Publication Date Title
CN109918023A (zh) 基于内存受限ssd的预读取方法、装置和计算机设备
KR101056560B1 (ko) 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
KR101078792B1 (ko) 비휘발성 메모리의 읽기 지연을 감소시키는 방법 및 장치
US9141549B2 (en) Memory system with read and write caches and method of controlling memory system with read and write caches
US9710191B1 (en) Rapid memory buffer write storage system and method
CN109582227A (zh) 固态硬盘写入方法、装置、计算机设备和存储介质
JP2000330859A (ja) 読取/書込コヒーレンシを有するバス利用度最適化
CN108139994B (zh) 内存访问方法及内存控制器
CN113791994B (zh) 一种基于AXI协议wrap访问的DDR控制器及处理方法
CN102541510A (zh) 一种指令缓存系统及其取指方法
US20090187793A1 (en) Effective method to perform memory test using multiple processor unit, dma, and simd instruction
CN110058819A (zh) 基于可变缓存管理机制的主机命令处理方法和装置
CN113407120B (zh) 基于hmb的映射表管理方法、装置及计算机设备
CN110175000A (zh) 基于固态硬盘的读写性能提升方法、装置和计算机设备
US11550504B2 (en) System including an application processor and a data storage device providing data
US20040078544A1 (en) Memory address remapping method
US7987301B1 (en) DMA controller executing multiple transactions at non-contiguous system locations
CN112433672B (zh) 一种固态硬盘读方法和装置
US7788448B2 (en) Sequencer cache and method for operating the same
US20210004179A1 (en) Storage device with reduced communication overhead using hardware logic
CN105453062A (zh) 实现硬件自动设备操作启动器
CN114625307A (zh) 计算机可读存储介质、闪存芯片的数据读取方法及装置
CN109213424B (zh) 并发io命令的无锁处理方法
US10228883B2 (en) Storage device that postpones completion of read command to begin execution of a non-read command
KR102343600B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

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: 20190621