CN112416262B - 一种固态硬盘中数据预读方法、存储介质和电子装置 - Google Patents

一种固态硬盘中数据预读方法、存储介质和电子装置 Download PDF

Info

Publication number
CN112416262B
CN112416262B CN202011444140.XA CN202011444140A CN112416262B CN 112416262 B CN112416262 B CN 112416262B CN 202011444140 A CN202011444140 A CN 202011444140A CN 112416262 B CN112416262 B CN 112416262B
Authority
CN
China
Prior art keywords
lba
target
data
lbas
read
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.)
Active
Application number
CN202011444140.XA
Other languages
English (en)
Other versions
CN112416262A (zh
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.)
Hefei Datang Storage Technology Co ltd
Original Assignee
Hefei Datang Storage Technology 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 Hefei Datang Storage Technology Co ltd filed Critical Hefei Datang Storage Technology Co ltd
Priority to CN202011444140.XA priority Critical patent/CN112416262B/zh
Publication of CN112416262A publication Critical patent/CN112416262A/zh
Application granted granted Critical
Publication of CN112416262B publication Critical patent/CN112416262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

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

本申请实施例公开了一种固态硬盘中数据预读方法、存储介质和电子装置。所述方法包括:获取预设时长内主机端对逻辑区块地址LBA的访问行为,其中所述访问行为包括访问时间和所访问的LBA;根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征;选择命中特征符合预设的命中条件的LBA作为预读操作的对象;将所述预读操作的对象中的数据存储到动态随机存取存储器DRAM中;利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应。

Description

一种固态硬盘中数据预读方法、存储介质和电子装置
技术领域
本申请实施例涉及数据存储领域,尤指一种固态硬盘中数据预读方法、存储介质和电子装置。
背景技术
固态硬盘(Solid State Disk,SSD)中的固件用于运行在SSD主控芯片上的程序,以实现SSD的功能。在固件实现顺序读数据的功能时,可以采用预读技术进行数据读取操作。其中预读技术的技术原理如下:
SSD内部的固件探测到主机端要读取的数据的逻辑区块地址(Logical BlockAddress,LBA)为连续,且主机端要读取的逻辑区块地址为LBAx至LBAy对应的数据,如果SSD已经探测到LBAx-LBA(x+k)的数据已经被读取,则在主机端未发送LBA(x+k+1)-LBAy对应数据的读命令时,SSD已经将这一段的数据提前从NAND闪存中读到动态随机存取存储器(Dynamic Random Access Memory,DRAM)中了,如果主机端此时发送LBA(x+k+1)-LBAy对应数据的读命令,SSD可直接从DRAM中读取该数据返回给主机端,大大减少数据读取时间,提高数据读取速度和降低数据读取时延,因为SSD从DRAM中读取数据比从NAND中读取数据快很多。
在实际应用中,上述预读技术只适用于顺序读的情况,即主机端读数据的LBA为连续的,而实际应用中如果应用场景变化为主机端所需读取的数据的LBA并非是连续,则该预读技术将不无法应用。
发明内容
为了解决上述任一技术问题,本申请实施例提供了一种固态硬盘中数据预读方法、存储介质和电子装置。
为了达到本申请实施例目的,本申请实施例提供了一种固态硬盘中数据预读方法,包括:
获取预设时长内主机端对逻辑区块地址LBA的访问行为,其中所述访问行为包括访问时间和所访问的LBA;
根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征;
选择命中特征符合预设的命中条件的LBA作为预读操作的对象;
将所述预读操作的对象中的数据存储到动态随机存取存储器DRAM中;
利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上文所述的方法。
一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上文所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:
通过获取预设时长内主机端对LBA的访问行为,根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征,选择命中特征符合预设的命中条件的LBA作为预读操作的对象,再将所述预读操作的对象中的数据存储到DRAM中,利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应,实现根据单个LBA的命中特征确定预读操作的对象的目的,克服了以连续多个LBA为单位进行预读操作的限定,扩大的预读技术的应用场景,提高了读操作的响应效率。
本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请实施例的实施例一起用于解释本申请实施例的技术方案,并不构成对本申请实施例技术方案的限制。
图1为本申请实施例提供的固态硬盘中数据预读方法的流程图;
图2为本申请实施例提供的时间特征信息的管理示意图;
图3为本申请实施例提供的空间特征信息的管理示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
在实现本申请过程中,对相关技术进行了技术分析,发现相关技术至少存在如下问题,包括:
只有当主机端读取的数据的LBA为连续的,SSD才能根据当前LBAx将LBA(x+1)的数据从NAND读取到DRAM中,当主机端读取LBA(x+1)的数据时,SSD直接从DRAM中读取该数据返回给主机端而不是从NAND中读取,大大减少数据读取时间。但是只有一部分情况下主机端读取数据的LBA是连续的,当主机端读取数据的LBA不连续时,该方法就失去了作用。
图1为本申请实施例提供的固态硬盘中数据预读方法的流程图。如图1所示,图1所示方法包括:
步骤101、获取预设时长内主机端对逻辑区块地址LBA的访问行为,其中所述访问行为包括访问时间和所访问的LBA;
步骤102、根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征;
步骤103、选择命中特征符合预设的命中条件的LBA作为预读操作的对象;
步骤104、将所述预读操作的对象中的数据存储到DRAM中;
步骤105、利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应。
主机端读取数据通常具有两个特征,一个是时间邻近特征,即在预设的基准时间内多次读取相同数据,另一个特征是空间邻近特征,即读取某一数据后通常也会读取该数据旁边的数据。通过将上述两个特征应用于SSD预读操作中,则可以大幅缩短SSD的读响应时间和读数据的速度。因为如果SSD能够判断主机端即将要读的数据,就可以将该数据提前从NAND中读到DRAM中,当主机端随后真的要读取该数据时,SSD可直接将该数据从DRAM中返回而不用从NAND读,因为SSD从NAND中读取数据远慢于从DARM中读取数据。
其中,时间邻近和空间邻近可以通过预设的判断条件来确定。例如,时间邻近的判断条件可以为读取相同数据的时间间隔小于预设的时间阈值,空间邻近的判断条件可以连续读取的两个LBA的地址的距离小于预设的距离阈值。
由于空间邻近和时间邻近特征广泛存在于现实中的读取数据场景,所以采用本发明的SSD在相应场景中将具有高读取数据速度和低读取响应延迟。
与相关技术中的预读技术只能在LBA是顺序读的情况下才能启动SSD预读相比,本申请实施例可以从空间邻近和时间邻近两个数据读取特征进行SSD预读处理,大大提高SSD预读效率与拓宽预读应用场景。
本申请实施例提供的方法,通过获取预设时长内主机端对LBA的访问行为,根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征,选择命中特征符合预设的命中条件的LBA作为预读操作的对象,再将所述预读操作的对象中的数据存储到DRAM中,利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应,实现根据单个LBA的命中特征确定预读操作的对象的目的,克服了以连续多个LBA为单位进行预读操作的限定,扩大的预读技术的应用场景,提高了读操作的响应效率。
下面对本申请实施例提供的方法进行说明:
在一个示例性实施例中,所述利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应,包括:
当接收到读取第一目标LBA中数据的请求后,判断所述第一目标LBA是否为所述预读操作的对象;
如果第一目标LBA为所述预读操作的对象,则直接从所述DRAM中读取所述第一目标LBA对应的数据;否则,则从NAND闪存读取所述第一目标LBA对应的数据;
发送所述第一目标LBA对应的数据。
当主机端发送读取数据的第一目标LBA到SSD端时,SSD端首通过判断该第一目标LBA是否为预读操作的对象,来查询该LBA对应的数据是否已在DRAM中,如果在DRAM中找到该LBA对应的数据,则直接向主机端返回该数据;如果没有在DRAM中找到,则从NAND闪存中读取数据并返回到主机端。
在相关技术中预读操作的对象为连续的LBA的数据,与此不同的是,本申请实施例中预读操作的对象为时间和/或空间的命中特征符合命中条件的LBA的数据,即该LBA只要在时间和/或空间上命中特征符合预设的命中条件即可,即使所读取的LBA不连续仍可适用于预读操作。因此,当主机端读取数据的LBA不连续但在时间和/或空间上命中特征符合预设的命中条件时,通过数据预读方式提前将主机端要读取的数据从NAND读取到DRAM中,缩短SSD读取数据时间。
当SSD接收到主机端发送的读数据的LBA时,除了要准备返回数据外,还要将当前LBA与之前收到的LBA进行关联,其中,所关联的信息包括时间特征信息和空间特征信息;其中:
所述时间特征信息表示当前LBA数据是否在一段时间内被反复读取;
所述空间特征信息表示当前LBA数据与相邻的LBA数据是否经常被一同读取。
其中,发现、保存和实现被读取数据的LBA的时间和空间上的规律则有多种方法,如通过数组的方式来描述这种规律。
首先,对时间特征信息进行说明:
在一个示例性实施例中,所述命中特征包括时间特征信息,其中所述时间特征信息记录有预设时长内主机端所访问的LBA的命中次数从高到低的排序;
所述预读操作的对象为所述时间特征信息中排序为前N个的LBA,其中N为正整数。
如果某一LBA对应的数据在某一时间段内经常被读取,则将该LBA存储到一个二维数组时间序列数组中,时间序列数组中存储LBA及相应的命中次数,且按照命中次数对数组中的LBA进行排序。
在一个示例性实施例中,所述将所述第一目标LBA所属的目标空间组中的LBA预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,在所述时间特征信息中将所述第一目标LBA的命中次数的数值加1;
按照更新后的命中次数重新对所述时间特征信息中的LBA进行排序;
将重新排序后的时间特征信息中排序为前N个的LBA中的数据作为新的预读操作的对象。
通过动态更新时间特征信息中LBA的命中次数,可以更加准确地确定预读操作的对象,保证将命中概率高的LBA作为预读操作的对象。
其中,作为预读操作的对象的LBA,SSD将相对应的数据从NAND中读取到DRAM中,以便下次主机端读取该数据时直接从DRAM中读取,从而提高响应效率。
下面对空间特征信息进行说明:
在一个示例性实施例中,所述预读操作的特征信息包括空间特征信息,其中所述空间特征信息包括一个或至少两个空间组,其中每个空间组包括至少两个LBA,其中所述至少两个LBA距离满足预设的邻近的判断条件,且所述至少两个LBA中的数据被一同读取的次数满足预设的次数高的判断条件;
所述预读操作的对象是通过如下方式得到的,包括:
判断所述第一目标LBA是否在所述空间特征信息中;
如果所述第一目标LBA在所述空间特征信息中空间组,将所述第一目标LBA所属的目标空间组中的LBA预读操作的对象。
如果某一LBA对应的数据与临近LBA的数据经常被一同读取,则称这些LBA同属一个空间组,将这些空间组存储在一个二维数组空间序列数组中,该数组存储不同空间组的序列号及对应的命中次数,而每个空间组包含的LBA也要用一个二维数组记录。
在一个示例性实施例中,所述将所述第一目标LBA所属的目标空间组中的LBA预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,获取所述主机端最近已读取的W个LBA,其中W为正整数;
判断所述W个LBA中是否有LBA属于所述目标空间组;
如果所述读取最近已完成读取数据的LBA中为F个,则将所述目标空间组的命中次数的数值增加F,其中F为正整数;按照更新后的命中次数重新对所述空间特征信息中的空间组进行排序,并将所述第一目标LBA更新到所述最近已读取的W个LBA。
SSD用数组保留最近读取的W个LBA,并利用所述W个LBA以及所述第一目标LBA动态更新所述第一目标LBA所属的目标空间组的命中次数,达到动态更新空间特征信息中空间组的命中次数的目的,可以更加准确地确定预读操作的对象,保证将命中概率高的LBA作为预读操作的对象。
在一个示例性实施例中,所述将所述第一目标LBA所属的目标空间组中的LBA预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,如果接收到对第二目标LBA中数据的读取操作,则直接从所述DRAM中读取所述第二目标LBA对应的数据,其中所述第二目标LBA与所述第二目标LBA同属于相同的空间组。
当SSD发现当前LBA在空间特征信息中空间组时,将该LBA所属的空间组中的LBA对应的数据读取到DRAM中,以便下次主机端读取当前LBA前后LBA对应的数据时直接从DRAM中读取,从而提高响应效率。
上文对第一目标LBA为预读操作的对象的应用场景进行了说明,下面对第一目标LBA不为预读操作的对象的应用场景进行说明:
在一个示例性实施例中,所述判断所述第一目标LBA是否为所述预读操作的对象之后,所述方法还包括:
如果第一目标LBA不为所述预读操作的对象,则判断所述第一目标LBA是否在最近读取的W个LBA中;
如果所述第一目标LBA在所述W个LBA中,则将所述第一目标LBA增加到所述时间特征信息,并设置所述第一目标LBA的命中次数为2,并将所述第一目标LBA从所述最近读取的W个LBA中删除,并将所述第一目标LBA作为预读操作的对象;
如果所述第一目标LBA不在所述W个LBA中,确定所述W个LBA中向所述空间特征信息中新增的最后一个LBA,从新增的最后一个LBA开始,将余下LBA作为一个新的空间组存储到空间特征信息中,并将所述新的空间组命中次数设为1,并将所述新的空间组中的LBA作为预读操作的对象。
如果第一目标LBA不在时间特征信息中,也不在空间特征信息中,则查看该LBA是否在最近读取的W个LBA中;
如果在W个LBA中,则将该LBA插入到时间特征信息的倒数第二位,并将该LBA的命中次数设为2,并将该LBA从W个LBA中删除,并且让该LBA对应的数据位于DRAM中;
如果该LBA不在W个LBA中,则确定空间组新增的最后一个LBA是W个LBA中的哪一个,此处设置为LBAx,再以LBAx开始,将余下LBA存储到一个空间组中,并将该空间组命中次数设为1,且让该空间组中的LBA对应的数据位于DRAM。
图2为本申请实施例提供的时间特征信息的管理示意图。如图2所示,时间特征信息的数组,该数组中LBAa表示标识为a的LBA,每个LBA的命中次数从高到低的排序。在当前读取的LBA为LBAg时,由于该LBAg为首次命中,则在时间特征信息中记录为命中次数为1。
图3为本申请实施例提供的空间特征信息的管理示意图。如图3所示,空间特征信息中包括多个空间组,每个空间组包括多个LBA,其中LBAx表示标识为x的LBA,每个空间组的命中次数从高到低排序。
下面以本申请实施例提供的应用场景为例进行说明:
SSD内置有DRAM,且主机端读取的数据的LBA具有时间和空间上的规律性。
1主机端将需要读取的数据的LBA发往SSD,SSD接收到读数据命令及相应的LBA;
2首先查询这些LBA中是否有已经存在于时间序列数组或空间序列数组,
2.1.1如果有,则进一步查询该LBA对应的数据是否已经从NAND中读到DRAM中,如果数据已在DRAM中则直接从DRAM中返回该笔数据;如果该笔数据正在从NAND中读取到DRAM中则等待该过程完成再将该笔数据从DRAM中返回到主机端。
2.1.2同时,如果是在时间序列数组中发现该LBA的,则将该LBA对应的命中次数加1,并按照命中次数对该数组中的LBA进行排序;如果该LBA属于某个空间组,则查看该空间组中有多少个LBA存在于最近读取的W个LBA中,如果数量为F个,当F为0时则不进行操作,当F大于0时则将该空间组对应的命中数加上F。最后将当前LBA更新到SSD保存的最近读取的W个LBA数组中。
2.2.1如果当前LBA不存在于时间序列数组或空间序列数组,则让SSD继续正常读流程。同时查看该LBA是否存在于最近读取的W个LBA中,如果存在,则将该LBA插入到时间序列数组的倒数第二位,并将该LBA的命中次数设为2,并将该LBA从W个LBA中删除,并且让该LBA对应的数据位于DRAM中;如果该LBA不存在于W个LBA中,则查看上次空间组新增的最后一个LBA是W个LBA中的哪一个,从上次新增到空间组中的LBA开始,将余下LBA存储到一个空间组中,并将该空间组命中次数设为1,且让该空间组中的LBA对应的数据位于DRAM。
本申请实施例提供的方法,通过记录和处理最近读取的数据的LBA来提高预读命中率,尤其是时间序列数组和空间序列数组的建立和维护,将在时间上和空间上存在规律性的读数据进行关联,一次提高预读效率。
上述数据预读方式可以在文件系统构建和网络文件传输方面也可应用。
本申请实施例提供一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上文任一项中所述的方法。
本申请实施例提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上文任一项中所述的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (9)

1.一种固态硬盘中数据预读方法,包括:
获取预设时长内主机端对逻辑区块地址LBA的访问行为,其中所述访问行为包括访问时间和所访问的LBA;
根据所述访问行为,确定所述LBA在时间和/或空间上的命中特征;
选择命中特征符合预设的命中条件的LBA作为预读操作的对象;
将所述预读操作的对象中的数据存储到动态随机存取存储器DRAM中;
利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应;
其中,所述利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应,包括:
当接收到读取第一目标LBA中数据的请求后,如果第一目标LBA为所述预读操作的对象,则直接从所述DRAM中读取所述第一目标LBA对应的数据,并发送所述第一目标LBA对应的数据;
其中,所述预读操作的特征信息包括空间特征信息,其中所述空间特征信息包括一个或至少两个空间组,其中每个空间组包括至少两个LBA,其中所述至少两个LBA距离满足预设的邻近的判断条件,且所述至少两个LBA中的数据被一同读取的次数满足预设的次数高的判断条件;
所述预读操作的对象是通过如下方式得到的,包括:
判断所述第一目标LBA是否在所述空间特征信息中;
如果所述第一目标LBA在所述空间特征信息中空间组,将所述第一目标LBA所属的目标空间组中的全部LBA作为预读操作的对象。
2.根据权利要求1所述的方法,其特征在于,所述利用所述预读操作的对象中的数据对接收到的数据读取操作进行响应,包括:
如果第一目标LBA不是所述预读操作的对象,则从NAND闪存读取所述第一目标LBA对应的数据,并发送所述第一目标LBA对应的数据。
3.根据权利要求1所述的方法,其特征在于:
所述命中特征包括时间特征信息,其中所述时间特征信息记录有预设时长内主机端所访问的LBA的命中次数从高到低的排序;
所述预读操作的对象为所述时间特征信息中排序为前N个的LBA,其中N为正整数。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一目标LBA所属的目标空间组中的全部LBA作为预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,在所述时间特征信息中将所述第一目标LBA的命中次数的数值加1;
按照更新后的命中次数重新对所述时间特征信息中的LBA进行排序;
将重新排序后的时间特征信息中排序为前N个的LBA中的数据作为新的预读操作的对象。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一目标LBA所属的目标空间组中的全部LBA作为预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,获取所述主机端最近已读取的W个LBA,其中W为正整数;
判断所述W个LBA中是否有LBA属于所述目标空间组;
如果在所述目标空间组中最近已完成读取数据的LBA为F个,则将所述目标空间组的命中次数的数值增加F,其中F为正整数;按照更新后的命中次数重新对所述空间特征信息中的空间组进行排序,并将所述第一目标LBA更新到所述最近已读取的W个LBA。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一目标LBA所属的目标空间组中的全部LBA作为预读操作的对象之后,所述方法还包括:
在完成对所述第一目标LBA中数据的读取操作后,如果接收到对第二目标LBA中数据的读取操作,则直接从所述DRAM中读取所述第二目标LBA对应的数据,其中所述第二目标LBA与所述第一目标LBA同属于相同的空间组。
7.根据权利要求3或4所述的方法,其特征在于,所述判断所述第一目标LBA是否为所述预读操作的对象之后,所述方法还包括:
如果第一目标LBA不为所述预读操作的对象,则判断所述第一目标LBA是否在最近读取的W个LBA中;
如果所述第一目标LBA在所述W个LBA中,则将所述第一目标LBA增加到所述时间特征信息,并设置所述第一目标LBA的命中次数为2,并将所述第一目标LBA从所述最近读取的W个LBA中删除,并将所述第一目标LBA作为预读操作的对象;
如果所述第一目标LBA不在所述W个LBA中,确定所述W个LBA中向所述空间特征信息中新增的最后一个LBA,从新增的最后一个LBA开始,将余下LBA作为一个新的空间组存储到空间特征信息中,并将所述新的空间组命中次数设为1,并将所述新的空间组中的LBA作为预读操作的对象。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
CN202011444140.XA 2020-12-08 2020-12-08 一种固态硬盘中数据预读方法、存储介质和电子装置 Active CN112416262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011444140.XA CN112416262B (zh) 2020-12-08 2020-12-08 一种固态硬盘中数据预读方法、存储介质和电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011444140.XA CN112416262B (zh) 2020-12-08 2020-12-08 一种固态硬盘中数据预读方法、存储介质和电子装置

Publications (2)

Publication Number Publication Date
CN112416262A CN112416262A (zh) 2021-02-26
CN112416262B true CN112416262B (zh) 2024-03-19

Family

ID=74775413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011444140.XA Active CN112416262B (zh) 2020-12-08 2020-12-08 一种固态硬盘中数据预读方法、存储介质和电子装置

Country Status (1)

Country Link
CN (1) CN112416262B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970675A (zh) * 2013-01-29 2014-08-06 Lsi公司 用于使引导操作系统加速的快速引导列表
CN107340978A (zh) * 2017-07-18 2017-11-10 郑州云海信息技术有限公司 一种存储预读方法、装置及存储系统
CN107943715A (zh) * 2017-10-12 2018-04-20 记忆科技(深圳)有限公司 一种提升NVMe固态硬盘读缓存命中的方法
CN109189693A (zh) * 2018-07-18 2019-01-11 深圳大普微电子科技有限公司 一种对lba信息进行预测的方法及ssd
CN109643275A (zh) * 2016-08-06 2019-04-16 瓦雷科技股份有限公司 存储级存储器的磨损均衡设备和方法
CN110275678A (zh) * 2019-05-30 2019-09-24 中电海康集团有限公司 一种基于stt-mram的固态存储器件随机访问性能提升方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143536A1 (en) * 2005-06-07 2007-06-21 Maxtor Corporation Storage device that pre-fetches data responsive to host access stream awareness
US10503635B2 (en) * 2016-09-22 2019-12-10 Dell Products, Lp System and method for adaptive optimization for performance in solid state drives based on segment access frequency
US10255177B2 (en) * 2016-10-10 2019-04-09 Dell Products, Lp System and method for adaptive optimization for performance in solid state drives based on read/write intensity

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970675A (zh) * 2013-01-29 2014-08-06 Lsi公司 用于使引导操作系统加速的快速引导列表
CN109643275A (zh) * 2016-08-06 2019-04-16 瓦雷科技股份有限公司 存储级存储器的磨损均衡设备和方法
CN107340978A (zh) * 2017-07-18 2017-11-10 郑州云海信息技术有限公司 一种存储预读方法、装置及存储系统
CN107943715A (zh) * 2017-10-12 2018-04-20 记忆科技(深圳)有限公司 一种提升NVMe固态硬盘读缓存命中的方法
CN109189693A (zh) * 2018-07-18 2019-01-11 深圳大普微电子科技有限公司 一种对lba信息进行预测的方法及ssd
CN110275678A (zh) * 2019-05-30 2019-09-24 中电海康集团有限公司 一种基于stt-mram的固态存储器件随机访问性能提升方法

Also Published As

Publication number Publication date
CN112416262A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN108459826B (zh) 一种处理io请求的方法及装置
US10761731B2 (en) Array controller, solid state disk, and method for controlling solid state disk to write data
US8738861B2 (en) Data prefetching method for distributed hash table DHT storage system, node, and system
CN106547476B (zh) 用于数据存储系统的方法和装置
KR101599177B1 (ko) 복합식 비휘발성 저장 디바이스를 위한 데이터 이송
US20180232314A1 (en) Method for storing data by storage device and storage device
CN103635887B (zh) 缓存数据的方法和存储系统
CN103329111B (zh) 一种基于块存储的数据处理方法、装置及系统
CN107329704B (zh) 一种缓存镜像方法及控制器
CN105607867B (zh) 主-从重复删除储存系统及其方法和计算机可读储存介质
CN110688062B (zh) 一种缓存空间的管理方法及装置
JP6526235B2 (ja) データチェック方法および記憶システム
CN105487823A (zh) 一种数据迁移的方法及装置
US10789170B2 (en) Storage management method, electronic device and computer readable medium
US10198180B2 (en) Method and apparatus for managing storage device
CN111813813B (zh) 一种数据管理方法、装置、设备及存储介质
CN110858162A (zh) 内存管理方法及装置、服务器
CN113326005B (zh) 一种raid存储系统的读写方法和装置
CN116466879B (zh) 一种cxl内存模组、内存数据的置换方法及计算机系统
CN115470157A (zh) 预取方法、电子设备、存储介质及程序产品
CN116860170A (zh) 一种数据处理方法、装置、设备、介质及固态硬盘
CN115794366A (zh) 一种内存预取方法及装置
CN109783002B (zh) 数据读写方法、管理设备、客户端和存储系统
KR20150083728A (ko) 디스크 캐시 제어 장치 및 방법
CN112416262B (zh) 一种固态硬盘中数据预读方法、存储介质和电子装置

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
CB02 Change of applicant information

Address after: 230088 floor 7, block C, building J2, phase II, innovation industrial park, high tech Zone, Hefei, Anhui Province

Applicant after: HEFEI DATANG STORAGE TECHNOLOGY Co.,Ltd.

Address before: 100094 No. 6 Yongjia North Road, Beijing, Haidian District

Applicant before: HEFEI DATANG STORAGE TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant