CN104156321A - 一种数据预取的方法以及装置 - Google Patents

一种数据预取的方法以及装置 Download PDF

Info

Publication number
CN104156321A
CN104156321A CN201410353997.9A CN201410353997A CN104156321A CN 104156321 A CN104156321 A CN 104156321A CN 201410353997 A CN201410353997 A CN 201410353997A CN 104156321 A CN104156321 A CN 104156321A
Authority
CN
China
Prior art keywords
storage block
access characteristic
historical
metadata
threshold value
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.)
Granted
Application number
CN201410353997.9A
Other languages
English (en)
Other versions
CN104156321B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710203870.2A priority Critical patent/CN107168891B/zh
Priority to CN201410353997.9A priority patent/CN104156321B/zh
Publication of CN104156321A publication Critical patent/CN104156321A/zh
Application granted granted Critical
Publication of CN104156321B publication Critical patent/CN104156321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种数据预取的方法以及装置,其中,所述方法包括:查找当前I/O请求所访问的数据所处的目标存储块;在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。采用本发明,可提高系统的预取效率。

Description

一种数据预取的方法以及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据预取的方法以及装置。
背景技术
随着信息技术的迅速发展,网络规模随着用户数呈指数级增长,也越来越庞大,为了支持断接操作,数据要预先存储到缓存中,由于在断接过程中只能使用本地的数据,所以要提高用户的访问速度,主要采用缓存预取技术来减少网络延迟,因此这个数据预先提取的过程是必需的。
在现有技术中,可以利用全量I/O访问历史来挖掘数据间的关联关系,并通过该关联关系生成规则用于规则关联预取,由于现有技术中的规则关联预取无法区分顺序访问的I/O请求和随机访问的I/O请求,所以无论是顺序访问的I/O请求还是随机访问的I/O请求,都将使用规则关联预取,但是规则关联预取并不适用于顺序访问的I/O请求,从而降低了系统的预取效率。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据预取的方法以及装置,可提高系统的预取效率。
本发明第一方面提供了一种数据预取的方法,包括:
查找当前I/O请求所访问的数据所处的目标存储块;
在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
在第一种可能的实现方式中,在所述查找当前I/O请求所访问的数据所处的目标存储块的步骤之前,还包括:
识别存储块的I/O访问特征;
将识别出的所述存储块的I/O访问特征添加或更新至特征位图中。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述识别存储块的I/O访问特征,包括:
当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值。
结合第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述识别存储块的I/O访问特征的步骤之前,还包括:
判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
若判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
当判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
若判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
若判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。
结合第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取,包括:
当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
若查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
若未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,
所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;
所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
本发明第二方面提供了一种数据预取装置,包括:
第一查找模块,用于查找当前I/O请求所访问的数据所处的目标存储块;
第二查找模块,用于在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
顺序预取模块,用于当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
随机预取模块,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
在第一种可能的实现方式中,还包括:
特征识别模块,用于识别存储块的I/O访问特征;
添加更新模块,用于将所述特征识别模块识别出的所述存储块的I/O访问特征添加或更新至特征位图中。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述特征识别模块包括:
识别单元,用于当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
标示单元,用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
所述标示单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值。
结合第二方面的第一种可能的实现方式,或第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,还包括:
第一判断模块,用于判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
元数据更新模块,用于若所述第一判断模块判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
通知模块,用于当所述元数据更新模块更新后的元数据所对应的所述存储块满足启动识别条件时,通知所述特征识别模块识别存储块的I/O访问特征。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
第二判断模块,用于当所述第一判断模块判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
生成存储模块,用于若所述第二判断模块判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
删除模块,用于若所述第二判断模块判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
计算模块,用于计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。
结合第二方面的第二种可能的实现方式,或第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述随机预取模块包括:
规则查找单元,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
预取单元,用于若所述规则查找单元查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
请求下发单元,用于若所述规则查找单元未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,
所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;
所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
由上可见,本发明实施例通过在预先设置的特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据预取的方法的流程示意图;
图2是本发明实施例提供的另一种数据预取的方法的流程示意图;
图3是本发明实施例提供的其中一种对元数据的处理方法的流程示意图;
图4是本发明实施例提供的其中一种随机预取的方法的流程示意图;
图5是本发明实施例提供的一种数据预取装置的结构示意图;
图6是本发明实施例提供的另一种数据预取装置的结构示意图;
图7是本发明实施例提供的一种特征识别模块的结构示意图;
图8是本发明实施例提供的一种随机预取模块的结构示意图;
图9是本发明实施例提供的又一种数据预取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种数据预取的方法的流程示意图,所述方法可以包括:
S101,查找当前I/O请求所访问的数据所处的目标存储块;
具体的,所述存储块是通过预先对LUN空间进行均等容量划分所得到的,例如,将一个40M大小的LUN空间划分成10个4M大小的存储块,即从LUN空间的初始位置开始,每4M的连续空间对应一个存储块。由于主机发到存储系统的I/O请求中携带有请求访问地址和请求访问长度,所以存储系统可以根据主机侧所发送的当前I/O请求确定出所述当前I/O请求处于哪个存储块。在查找到当前I/O请求所处于的存储块后,还可以将该存储块作为目标存储块。
S102,在特征位图中查找出所述目标存储块的I/O访问特征;
具体的,所述特征位图包含每个存储块的I/O访问特征,所以所述特征位图用于标识所述目标存储块的I/O访问特征,所述I/O访问特征至少包括顺序访问特征和随机访问特征。根据多个历史I/O请求可以识别出存储块的I/O访问特征,例如,在1ms内,若统计出其中一个存储块中的历史I/O请求的个数超过200个,且历史I/O请求间的间距均小于8个扇区大小,则可识别出该存储块的I/O访问特征为顺序访问特征;若统计出另一个存储块中的历史I/O请求的个数少于10个,且历史I/O请求间的间距均大于8个扇区大小,则可识别出该存储块的I/O访问特征为随机访问特征。在识别出各个存储块的I/O访问特征后,可以将识别出的所述存储块的I/O访问特征添加或更新至特征位图中。在设置好所述特征位图后,可以在所述特征位图中查找出所述目标存储块的I/O访问特征。例如,请参见如下表1所示的特征位图:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 0
表1
在表1中,是将20M大小的LUN空间分成5个存储块,每个存储块为4M大小,其中,0表示顺序访问特征,1表示随机访问特征,若8M~12M对应的存储块为目标存储块,则可以在如表1所示的特征位图中查找出该目标存储块的I/O访问特征为顺序访问特征;若4M~8M对应的存储块为目标存储块,则可以在如表1所示的特征位图中查找出该目标存储块的I/O访问特征为随机访问特征。其中,所述特征位图可以保存在内存中,每个LUN空间对应一个特征位图,还可以使用一个链表保存所有特征位图的指针。
S103,当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
具体的,当查找出所述目标存储块的I/O访问特征为顺序访问特征时,说明所述当前I/O请求所访问的数据处于顺序流中,因此,可以根据所述当前I/O请求进行顺序预取。顺序预取的具体过程可以为:若所述当前I/O请求所访问的数据处于顺序流中,则将所述当前I/O请求所访问的数据的起始位置识别为顺序流头,并启动顺序预取,再根据预取长度查找顺序流尾,若顺序流尾所处于的存储块为随机访问特征,则将顺序流尾重新设置到所述当前I/O请求所访问的数据所处的存储块的尾部地址;若顺序流尾所处于的存储块为顺序访问特征,则不改变顺序流尾的位置;在找到顺序流头和顺序流尾之后,可以从顺序流头开始进行预取,并可以将每次预取的顺序流尾标识为预读标记,当所述顺序流尾再次被访问时,说明命中所述预读标记,此时,可以启动下一段顺序预读。
S104,当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取;
具体的,当查找出所述目标存储块的I/O访问特征为随机访问特征时,可以确定出所述当前I/O请求属于随机请求,此时,可以通过关联规则对所述当前I/O请求进行预取,本发明实施例所提供的关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的,即所挖掘的历史访问信息中不包含顺序访问特征的I/O请求。而现有技术中的关联规则是通过对全量访问历史进行挖掘所得到,所述全量访问历史包含顺序访问历史和随机访问历史,由于现有技术中会对顺序访问历史进行挖掘,所以可能会掺杂一些其他的规则而造成预取浪费,同时由于要挖掘全量记录库,所以会导致计算量大,且消耗过多的系统资源。因此,本发明实施例所提供的关联规则可以减少随机预取算法中规则挖掘的消耗,提高实用性。
由上可见,本发明实施例通过在预先设置的特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率;同时,由于只对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,所以可以减少随机预取算法中规则挖掘的消耗,提高实用性。
再请参见图2,是本发明实施例提供的另一种数据预取的方法的流程示意图,所述方法可以包括:
S201,识别存储块的I/O访问特征;
具体的,根据历史I/O请求的访问地址记录所述历史I/O请求所访问的数据所处的存储块;其中,所述历史I/O请求是指在历史访问记录中的多个I/O请求,根据历史I/O请求的访问地址可以确定出所述历史I/O请求所访问的数据所处的存储块,并记录下各个存储块中的历史I/O请求的个数、间距、覆盖率等信息。
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值;
例如,统计时间窗阈值为1ms,第一数量阈值为200,第二数量阈值为10,扇区数量阈值为8,在达到1ms时,统计所述存储块中的所述历史I/O请求个数以及各个所述历史I/O请求之间的间距,若统计出的所述历史I/O请求个数大于或等于200,且各个所述历史I/O请求之间的间距小于8个扇区大小,则可以识别出该存储块的I/O访问特征为顺序访问特征;若统计出的所述历史I/O请求个数小于10,且各个所述历史I/O请求之间的间距大于8个扇区大小,则可以识别出该存储块的I/O访问特征为随机访问特征;若统计出的所述历史I/O请求个数大于或等于10,且小于200,则标示该存储块的I/O访问特征为暂未识别。
另外,也可以当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值;
例如,统计时间窗阈值为1ms,第一覆盖率阈值为50%,第二覆盖率阈值为6%,在达到1ms时,统计所述历史I/O请求在所述存储块中的覆盖率,若统计出所述历史I/O请求在所述存储块中的覆盖率大于或等于50%,则可以识别出所述存储块的I/O访问特征为顺序访问特征;若统计出所述历史I/O请求在所述存储块中的覆盖率小于或等于6%,则可以识别出所述存储块的I/O访问特征为随机访问特征;若统计出所述历史I/O请求在所述存储块中的覆盖率大于6%,且小于50%,则标示所述存储块的I/O访问特征为暂未识别。
S202,将识别出的所述存储块的I/O访问特征添加或更新至特征位图中;
具体的,在识别出某个存储块的I/O访问特征之后,可以将识别出的所述存储块的I/O访问特征添加或更新至特征位图中,以便于后续在所述特征位图中查找目标存储块的I/O访问特征。由于是以统计时间窗阈值为周期进行循环统计,所以可以不断更新每个存储块的I/O访问特征,使得所识别出的所述存储块的I/O访问特征可以更加准确。例如,请参见如下表2所示的特征位图:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
0 1 0 0 1
表2
在表2中,是将20M大小的LUN空间分成5个存储块,每个存储块为4M大小,其中,0表示顺序访问特征,1表示随机访问特征。由表2可见,在识别出0M~4M的存储块的I/O访问特征为顺序访问特征时,可以将该存储块的I/O访问特征添加或更新至如表2所示的特征位图中,即将0M~4M的存储块的I/O访问特征标识为0;同样的,在识别出4M~8M的存储块的I/O访问特征为随机访问特征时,可以将该存储块的I/O访问特征添加或更新至如表2所示的特征位图中,即将4M~8M的存储块的I/O访问特征标识为1。其中,所述特征位图可以保存在内存中,每个LUN空间对应一个特征位图,还可以使用一个链表保存所有特征位图的指针。其中,由于保存每个存储块的I/O访问特征所消耗的资源较少,所以保存整个LUN空间的I/O访问特征所消耗的资源也较少。
S203,查找当前I/O请求所访问的数据所处的目标存储块;
S204,在特征位图中查找出所述目标存储块的I/O访问特征;
S205,当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
S206,当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取;
本发明实施例中的S203至S206的步骤具体可以参见上述图1对应实施例中的S101至S104的步骤,这里不再进行赘述。
另外,当查找出所述目标存储块的I/O访问特征为暂未标识时,根据存储系统默认的预取算法对所述当前I/O请求进行预取,若存储系统并无默认的预取算法,则直接下发所述当前I/O请求,所述默认的预取算法可以为顺序预取或随机预取。
由上可见,本发明实施例通过在预先设置的特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率;同时,由于只对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,所以可以减少随机算法中规则挖掘的消耗,提高实用性。
进一步的,再请参见图3,是本发明实施例提供的其中一种对元数据的处理方法的流程示意图,所述方法可以在上述图2对应实施例中的S201步骤之前执行,所述方法可以包括:
S301,判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中;
具体的,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率。在识别存储块的I/O访问特征之前,可以先判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中。
S302,更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,若S301判断为在所述本地内存中,则可以更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,即在某个存储块有新增的历史I/O请求时,更新与该存储块的元数据中的所述历史I/O请求个数以及所述历史I/O请求覆盖率,以便于在后续识别存储块的I/O访问特征时,可以通过所述历史I/O请求个数或所述历史I/O请求覆盖率对存储块进行I/O访问特征识别。
S303,当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征;
具体的,所述启动识别条件可以为统计时间长度达到统计时间窗阈值,即当所述存储块满足启动识别条件时,说明对所述存储块的统计时间长度达到统计时间窗阈值,例如,设统计时间窗阈值为1ms,当对某个存储块的统计时间长度达到1ms时,则可以执行所述识别存储块的I/O访问特征的步骤。所述启动识别条件也可以为存储块中的历史I/O请求个数或历史I/O请求覆盖率达到启动识别阈值,即当所述存储块满足启动识别条件时,说明所述存储块中的历史I/O请求个数或历史I/O请求覆盖率达到启动识别阈值,此时,可以执行所述识别存储块的I/O访问特征的步骤。
S304,判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
具体的,当S301判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值。
S305,生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,在S304判断为未达到预设的元数据阈值时,说明可以继续在所述本地内存中增加新的元数据,因此,可以生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,并执行S302步骤中的更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,以及S303步骤中的当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征。其中,在所述本地内存中可以保存固定个数的元数据,以控制内存使用。
S306,从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,在S304判断为达到预设的元数据阈值时,则可以从所述本地内存中删除启动识别时间戳最靠前的元数据,所述启动识别时间戳最靠前的元数据是指所述本地内存中第一个启动I/O访问特征识别的存储块所对应的元数据,由于所述本地内存中所存放的元数据个数有限,所以在达到元数据阈值时可以删除启动识别时间戳最靠前的元数据,使得可以在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,在生成并保存元数据之后,即可执行S302步骤中的更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,以及S303步骤中的当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征。
S307,计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中;
具体的,在删除启动识别时间戳最靠前的元数据之后,可以计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。其计算过程与上述图2对应实施例中的S201相同,这里不再进行赘述。
由上可见,本发明实施例通过对元数据进行判断和处理,可以有序的控制存储系统对各个存储块的I/O访问特征进行识别,以得到特征位图,从而可以在后续的预取过程中通过特征位图准确地选择出对应的预取算法进行预取。
进一步的,再请参见图4,是本发明实施例提供的其中一种随机预取的方法的流程示意图。本发明实施例的所述方法可对应于上述图1对应实施例中的S104,或上述图2对应实施例中的S206。本发明实施例的所述方法具体包括:
S401,当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
具体的,当查找出所述目标存储块的I/O访问特征为随机访问特征时,可以在预设的二维表中查找是否存在所述目标存储块对应的关联规则。其中,所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
S402,下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
具体的,若S401步骤中查找到存在所述目标存储块对应的关联规则,则可以下发所述当前I/O请求,以在所述目标存储块中请求对应的数据,同时还通过查找到的所述关联规则生成与所述当前I/O请求关联的预取请求,并根据所述预取请求进行预取。由于关联规则只与随机访问特征和暂未识别的存储块中的历史I/O请求相关,即关联规则与顺序访问特征的存储块无关,所以所挖掘出的关联规则是准确的,可以高效的运用在随机预取过程中,而且由于不用像现有技术那样挖掘全量访问历史,所以可以减少随机预取算法中规则挖掘的消耗。
S403,直接下发所述当前I/O请求。
具体的,若S401步骤中未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求,以在所述目标存储块中请求对应的数据,此时,不再进行预取。
由上可见,本发明实施例通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,可以减少随机预取算法中规则挖掘的消耗,提高实用性,而且关联规则与顺序访问特征的存储块无关,可以保证关联规则的准确性。
请参见图5,是本发明实施例提供的一种数据预取装置1的结构示意图,所述数据预取装置1可以包括:第一查找模块10、第二查找模块20、顺序预取模块30、随机预取模块40;
所述第一查找模块10,用于查找当前I/O请求所访问的数据所处的目标存储块;
具体的,所述数据预取装置1可以设置于存储系统中,所述存储块是通过预先对LUN空间进行均等容量划分所得到的,例如,将一个40M大小的LUN空间划分成10个4M大小的存储块,即从LUN空间的初始位置开始,每4M的连续空间对应一个存储块。由于主机发到存储系统的I/O请求中携带有请求访问地址和请求访问长度,所以所述第一查找模块10可以根据主机侧所发送的当前I/O请求确定出所述当前I/O请求处于哪个存储块。在所述第一查找模块10查找到当前I/O请求所处于的存储块后,还可以将该存储块作为目标存储块。
所述第二查找模块20,用于在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
具体的,所述特征位图包含每个存储块的I/O访问特征,所以所述特征位图用于标识所述目标存储块的I/O访问特征,所述I/O访问特征至少包括顺序访问特征和随机访问特征。所述第二查找模块20可以在预先设置的特征位图中查找出所述目标存储块的I/O访问特征。在此之前,可以根据多个历史I/O请求可以识别出存储块的I/O访问特征,例如,在1ms内,若统计出其中一个存储块中的历史I/O请求的个数超过200个,且历史I/O请求间的间距均小于8个扇区大小,则可识别出该存储块的I/O访问特征为顺序访问特征;若统计出另一个存储块中的历史I/O请求的个数少于10个,且历史I/O请求间的间距均大于8个扇区大小,则可识别出该存储块的I/O访问特征为随机访问特征。在识别出各个存储块的I/O访问特征后,可以将识别出的所述存储块的I/O访问特征添加或更新至特征位图中。在设置好所述特征位图后,所述第二查找模块20可以在所述特征位图中查找出所述目标存储块的I/O访问特征。例如,请参见如下表3所示的特征位图:
0M~4M 4M~8M 8M~12M 12M~16M 16M~20M
1 1 0 0 0
表3
在表3中,是将20M大小的LUN空间分成5个存储块,每个存储块为4M大小,其中,0表示顺序访问特征,1表示随机访问特征,若8M~12M对应的存储块为目标存储块,则所述第二查找模块20可以在如表3所示的特征位图中查找出该目标存储块的I/O访问特征为顺序访问特征;若4M~8M对应的存储块为目标存储块,则所述第二查找模块20可以在如表3所示的特征位图中查找出该目标存储块的I/O访问特征为随机访问特征。其中,所述特征位图可以保存在内存中,每个LUN空间对应一个特征位图,还可以使用一个链表保存所有特征位图的指针。
所述顺序预取模块30,用于当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
具体的,当查找出所述目标存储块的I/O访问特征为顺序访问特征时,说明所述当前I/O请求处于顺序流中,因此,所述顺序预取模块30可以根据所述当前I/O请求进行顺序预取。顺序预取的具体过程可以为:若所述当前I/O请求所访问的数据处于顺序流中,则所述顺序预取模块30将所述当前I/O请求所访问的数据的起始位置识别为顺序流头,并启动顺序预取,再根据预取长度查找顺序流尾,若顺序流尾所处于的存储块为随机访问特征,则将顺序流尾重新设置到所述当前I/O请求所访问的数据所处的存储块的尾部地址;若顺序流尾所处于的存储块为顺序访问特征,则不改变顺序流尾的位置;在找到顺序流头和顺序流尾之后,可以从顺序流头开始进行预取,并可以将每次预取的顺序流尾标识为预读标记,当所述顺序流尾再次被访问时,说明命中所述预读标记,此时,所述顺序预取模块30可以启动下一段顺序预读。
所述随机预取模块40,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
具体的,当查找出所述目标存储块的I/O访问特征为随机访问特征时,可以确定出所述当前I/O请求属于随机请求,此时,所述随机预取模块40可以通过关联规则对所述当前I/O请求进行预取,本发明实施例所提供的关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的,即所挖掘的历史访问信息中不包含顺序访问特征的I/O请求。而现有技术中的关联规则是通过对全量访问历史进行挖掘所得到,所述全量访问历史包含顺序访问历史和随机访问历史,由于现有技术中会对顺序访问历史进行挖掘,所以可能会掺杂一些其他的规则而造成预取浪费,同时由于要挖掘全量记录库,所以会导致计算量大,且消耗过多的系统资源。因此,本发明实施例所提供的关联规则可以减少随机预取算法中规则挖掘的消耗,提高实用性。
由上可见,本发明实施例通过在预先设置的特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率;同时,由于只对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,所以可以减少随机预取算法中规则挖掘的消耗,提高实用性。
再请参见图6,是本发明实施例提供的另一种数据预取装置1的结构示意图,所述数据预取装置1可以包括上述图5对应实施例中的第一查找模块10、第二查找模块20、顺序预取模块30、随机预取模块40,进一步的,所述数据预取装置1还可以包括:特征识别模块50、添加更新模块60、第一判断模块70、元数据更新模块80、通知模块90、第二判断模块100、生成存储模块110、删除模块120、计算模块130;
所述特征识别模块50,用于识别存储块的I/O访问特征;
具体的,所述特征识别模块50可以通过各个存储块中的历史I/O请求的个数、间距、覆盖率等信息,识别出存储块的I/O访问特征。
所述添加更新模块60,用于将所述特征识别模块50识别出的所述存储块的I/O访问特征添加或更新至特征位图中;
具体的,在识别出某个存储块的I/O访问特征之后,所述添加更新模块60可以将识别出的所述存储块的I/O访问特征添加或更新至特征位图中,以便于后续在所述特征位图中查找目标存储块的I/O访问特征。
所述第一判断模块70,用于判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
具体的,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率。在所述特征识别模块50识别存储块的I/O访问特征之前,可以由所述第一判断模块70先判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中。
所述元数据更新模块80,用于若所述第一判断模块70判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,在某个存储块有新增的历史I/O请求时,所述元数据更新模块80可以更新与该存储块的元数据中的所述历史I/O请求个数以及所述历史I/O请求覆盖率,以便于在后续由所述特征识别模块50识别存储块的I/O访问特征时,可以通过所述历史I/O请求个数或所述历史I/O请求覆盖率对存储块进行I/O访问特征识别。
所述通知模块90,用于当所述元数据更新模块80更新后的元数据所对应的所述存储块满足启动识别条件时,通知所述特征识别模块50识别存储块的I/O访问特征;
具体的,所述启动识别条件可以为统计时间长度达到统计时间窗阈值,即当所述存储块满足启动识别条件时,说明对所述存储块的统计时间长度达到统计时间窗阈值,例如,设统计时间窗阈值为1ms,当对某个存储块的统计时间长度达到1ms时,则所述通知模块90可以通知所述特征识别模块50识别存储块的I/O访问特征。所述启动识别条件也可以为存储块中的历史I/O请求个数或历史I/O请求覆盖率达到启动识别阈值,即当所述存储块满足启动识别条件时,说明所述存储块中的历史I/O请求个数或历史I/O请求覆盖率达到启动识别阈值,此时,所述通知模块90可以通知所述特征识别模块50识别存储块的I/O访问特征。
所述第二判断模块100,用于当所述第一判断模块70判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
所述生成存储模块110,用于若所述第二判断模块100判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,在所述第二判断模块100判断为未达到预设的元数据阈值时,说明可以继续在所述本地内存中增加新的元数据,因此,所述生成存储模块110可以生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,并通知所述元数据更新模块80更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并通知所述通知模块90执行相应操作。其中,在所述本地内存中可以保存固定个数的元数据,以控制内存使用。
所述删除模块120,用于若所述第二判断模块100判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
具体的,在所述第二判断模块100判断为达到预设的元数据阈值时,所述删除模块120可以从所述本地内存中删除启动识别时间戳最靠前的元数据,所述启动识别时间戳最靠前的元数据是指所述本地内存中第一个启动I/O访问特征识别的存储块所对应的元数据,由于所述本地内存中所存放的元数据个数有限,所以在达到元数据阈值时所述删除模块120可以删除启动识别时间戳最靠前的元数据,使得可以在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,在生成并保存元数据之后,通知所述元数据更新模块80更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并通知所述通知模块90执行相应操作。
所述计算模块130,用于计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中;
具体的,在所述删除模块120删除启动识别时间戳最靠前的元数据之后,所述计算模块130可以计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。其计算过程与上述图2对应实施例中的S201相同,这里不再进行赘述。
进一步的,再请参见图7,是本发明实施例提供的一种特征识别模块50的结构示意图,所述特征识别模块50可以包括:识别单元501、标示单元502;
所述识别单元501,用于当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元501,还用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
所述标示单元502,用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值
例如,统计时间窗阈值为1ms,第一数量阈值为200,第二数量阈值为10,扇区数量阈值为8,在达到1ms时,统计所述存储块中的所述历史I/O请求个数以及各个所述历史I/O请求之间的间距,若统计出的所述历史I/O请求个数大于或等于200,且各个所述历史I/O请求之间的间距小于8个扇区大小,则所述识别单元501可以识别出该存储块的I/O访问特征为顺序访问特征;若统计出的所述历史I/O请求个数小于10,且各个所述历史I/O请求之间的间距大于8个扇区大小,则所述识别单元501可以识别出该存储块的I/O访问特征为随机访问特征;若统计出的所述历史I/O请求个数大于或等于10,且小于200,则所述标示单元502可以标示该存储块的I/O访问特征为暂未识别。
所述识别单元501,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元501,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
所述标示单元502,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值;
例如,统计时间窗阈值为1ms,第一覆盖率阈值为50%,第二覆盖率阈值为6%,在达到1ms时,统计所述历史I/O请求在所述存储块中的覆盖率,若统计出所述历史I/O请求在所述存储块中的覆盖率大于或等于50%,则所述识别单元501可以识别出所述存储块的I/O访问特征为顺序访问特征;若统计出所述历史I/O请求在所述存储块中的覆盖率小于或等于6%,则所述识别单元501可以识别出所述存储块的I/O访问特征为随机访问特征;若统计出所述历史I/O请求在所述存储块中的覆盖率大于6%,且小于50%,则所述标示单元502可以标示所述存储块的I/O访问特征为暂未识别。
进一步的,再请参见图8,是本发明实施例提供的一种随机预取模块40的结构示意图,所述随机预取模块40可以包括:规则查找单元401、预取单元402、请求下发单元403;
所述规则查找单元401,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
具体的,当查找出所述目标存储块的I/O访问特征为随机访问特征时,所述规则查找单元401可以在预设的二维表中查找是否存在所述目标存储块对应的关联规则。其中,所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
所述预取单元402,用于若所述规则查找单元401查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
具体的,若所述规则查找单元401查找到存在所述目标存储块对应的关联规则,则所述预取单元402可以下发所述当前I/O请求,以在所述目标存储块中请求对应的数据,同时所述预取单元402还通过查找到的所述关联规则生成与所述当前I/O请求关联的预取请求,并根据所述预取请求进行预取。由于关联规则只与随机访问特征和暂未识别的存储块中的历史I/O请求相关,即关联规则与顺序访问特征的存储块无关,所以所挖掘出的关联规则是准确的,可以高效的运用在随机预取过程中,而且由于不用像现有技术那样挖掘全量访问历史,所以可以减少随机预取算法中规则挖掘的消耗。
所述请求下发单元403,用于若所述规则查找单元401未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求;
具体的,若所述规则查找单元401未查找到存在所述目标存储块对应的关联规则,则所述请求下发单元403直接下发所述当前I/O请求,以在所述目标存储块中请求对应的数据,此时,不再进行预取。
由上可见,本发明实施例通过对元数据进行判断和处理,可以有序的控制存储系统对各个存储块的I/O访问特征进行识别,以得到特征位图,并通过在所述特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率;同时,由于只对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,所以可以减少随机算法中规则挖掘的消耗,提高实用性。
本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图1至图4的方法实施例中记载的数据预取的方法的部分或全部步骤。
再请参见图9,为本发明实施例提供的又一种数据预取装置1的结构示意图,所述数据预取装置1可以包括处理器1001、通信接口1002和存储器1003(数据预取装置1中的处理器1001的数量可以为一个或多个,图9中以一个处理器1001为例)。本发明的一些实施例中,处理器1001、通信接口1002和存储器1003可通过通信总线或其他方式连接,其中,图9以通过通信总线连接为例。
其中,所述通信接口1002,用于与主机进行通信;
所述存储器1003用于存储程序;
所述处理器1001用于执行所述程序,以实现
查找当前I/O请求所访问的数据所处的目标存储块;
在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
其中,所述处理器1001还用于:
识别存储块的I/O访问特征;
将识别出的所述存储块的I/O访问特征添加或更新至特征位图中。
其中,所述处理器1001具体用于:
当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值。
其中,所述处理器1001还用于:
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值。
其中,所述处理器1001还用于:
判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
若判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征。
其中,所述处理器1001还用于:
当判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
若判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
若判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。
其中,所述处理器1001具体用于:
当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
若查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
若未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求。
其中,所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;
所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
由上可见,本发明实施例通过对元数据进行判断和处理,可以有序的控制存储系统对各个存储块的I/O访问特征进行识别,以得到特征位图,并通过在所述特征位图中查找出目标存储块的I/O访问特征,可以确定出要对当前I/O请求进行顺序预取或随机预取,使得顺序预取和随机预取两种预取方法可以有效分离开来,以应用到对应的I/O请求,从而可以提高系统的预取效率;同时,由于只对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘以得到关联规则,所以可以减少随机算法中规则挖掘的消耗,提高实用性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (16)

1.一种数据预取的方法,其特征在于,包括:
查找当前I/O请求所访问的数据所处的目标存储块;
在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
2.如权利要求1所述的方法,其特征在于,在所述查找当前I/O请求所访问的数据所处的目标存储块的步骤之前,还包括:
识别存储块的I/O访问特征;
将识别出的所述存储块的I/O访问特征添加或更新至特征位图中。
3.如权利要求2所述的方法,其特征在于,所述识别存储块的I/O访问特征,包括:
当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值。
4.如权利要求3所述的方法,其特征在于,还包括:
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值。
5.如权利要求2至4任一项所述的方法,其特征在于,在所述识别存储块的I/O访问特征的步骤之前,还包括:
判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
若判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
当更新后的元数据所对应的所述存储块满足启动识别条件时,执行所述识别存储块的I/O访问特征。
6.如权利要求5所述的方法,其特征在于,还包括:
当判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
若判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
若判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。
7.如权利要求3至6任一项所述的方法,其特征在于,所述当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取,包括:
当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
若查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
若未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求。
8.如权利要求7所述的方法,其特征在于,
所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;
所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
9.一种数据预取装置,其特征在于,包括:
第一查找模块,用于查找当前I/O请求所访问的数据所处的目标存储块;
第二查找模块,用于在特征位图中查找出所述目标存储块的I/O访问特征,所述特征位图用于标识所述目标存储块的I/O访问特征;
顺序预取模块,用于当查找出所述目标存储块的I/O访问特征为顺序访问特征时,根据所述当前I/O请求进行顺序预取;
随机预取模块,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,根据所述当前I/O请求进行随机预取。
10.如权利要求9所述的装置,其特征在于,还包括:
特征识别模块,用于识别存储块的I/O访问特征;
添加更新模块,用于将所述特征识别模块识别出的所述存储块的I/O访问特征添加或更新至特征位图中。
11.如权利要求10所述的装置,其特征在于,所述特征识别模块包括:
识别单元,用于当达到统计时间窗阈值,且判断出所述存储块中的历史I/O请求个数大于或等于预设的第一数量阈值,且各个所述历史I/O请求之间的间距小于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数小于预设的第二数量阈值,且各个所述历史I/O请求之间的间距大于预设的扇区数量阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
标示单元,用于当达到统计时间窗阈值,且判断出所述存储块中的所述历史I/O请求个数大于或等于预设的第二数量阈值,且小于预设的第一数量阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一数量阈值大于所述第二数量阈值。
12.如权利要求11所述的装置,其特征在于,
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于或等于预设的第一覆盖率阈值时,识别出所述存储块的I/O访问特征为顺序访问特征;
所述识别单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率小于或等于预设的第二覆盖率阈值时,识别出所述存储块的I/O访问特征为随机访问特征;
所述标示单元,还用于当达到统计时间窗阈值,且判断出所述历史I/O请求在所述存储块中的覆盖率大于预设的第二覆盖率阈值,且小于预设的第一覆盖率阈值时,标示所述存储块的I/O访问特征为暂未识别;其中,所述第一覆盖率阈值大于所述第二覆盖率阈值。
13.如权利要求10至12任一项所述的装置,其特征在于,还包括:
第一判断模块,用于判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据是否在本地内存中,所述元数据至少包括所述存储块中所述历史I/O请求个数和所述历史I/O请求的覆盖率;
元数据更新模块,用于若所述第一判断模块判断为在所述本地内存中,则更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
通知模块,用于当所述元数据更新模块更新后的元数据所对应的所述存储块满足启动识别条件时,通知所述特征识别模块识别存储块的I/O访问特征。
14.如权利要求13所述的装置,其特征在于,还包括:
第二判断模块,用于当所述第一判断模块判断所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据不在本地内存中时,则进一步判断所述本地内存中的所述元数据的个数是否达到预设的元数据阈值;
生成存储模块,用于若所述第二判断模块判断为未达到预设的元数据阈值,则生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据,并将所生成的元数据存储于所述本地内存中,以便于更新所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
删除模块,用于若所述第二判断模块判断为达到预设的元数据阈值时,则从所述本地内存中删除启动识别时间戳最靠前的元数据,以便于在所述本地内存中生成所述历史I/O请求所访问的数据所处的存储块的用于识别I/O访问特征的元数据;
计算模块,用于计算被删除的元数据所对应的存储块的I/O访问特征,以将计算出的所述I/O访问特征添加或更新至特征位图中。
15.如权利要求11至14任一项所述的装置,其特征在于,所述随机预取模块包括:
规则查找单元,用于当查找出所述目标存储块的I/O访问特征为随机访问特征时,在预设的二维表中查找是否存在所述目标存储块对应的关联规则;
预取单元,用于若所述规则查找单元查找到存在所述目标存储块对应的关联规则,则下发所述当前I/O请求,并根据所述当前I/O请求以及查找到的所述关联规则生成预取请求,以根据所述预取请求进行预取;
请求下发单元,用于若所述规则查找单元未查找到存在所述目标存储块对应的关联规则,则直接下发所述当前I/O请求。
16.如权利要求15所述的装置,其特征在于,
所述关联规则是通过对识别为随机访问特征和暂未识别的I/O访问特征的存储块进行历史访问信息挖掘所得到的;
所述二维表包括与识别为随机访问特征或暂未识别的I/O访问特征的存储块对应的关联规则。
CN201410353997.9A 2014-07-23 2014-07-23 一种数据预取的方法以及装置 Active CN104156321B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710203870.2A CN107168891B (zh) 2014-07-23 2014-07-23 一种i/o特征识别方法以及装置
CN201410353997.9A CN104156321B (zh) 2014-07-23 2014-07-23 一种数据预取的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410353997.9A CN104156321B (zh) 2014-07-23 2014-07-23 一种数据预取的方法以及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710203870.2A Division CN107168891B (zh) 2014-07-23 2014-07-23 一种i/o特征识别方法以及装置

Publications (2)

Publication Number Publication Date
CN104156321A true CN104156321A (zh) 2014-11-19
CN104156321B CN104156321B (zh) 2017-06-09

Family

ID=51881826

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710203870.2A Active CN107168891B (zh) 2014-07-23 2014-07-23 一种i/o特征识别方法以及装置
CN201410353997.9A Active CN104156321B (zh) 2014-07-23 2014-07-23 一种数据预取的方法以及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710203870.2A Active CN107168891B (zh) 2014-07-23 2014-07-23 一种i/o特征识别方法以及装置

Country Status (1)

Country Link
CN (2) CN107168891B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105487987A (zh) * 2015-11-20 2016-04-13 深圳市迪菲特科技股份有限公司 一种处理并发顺序读io的方法及装置
CN106557435A (zh) * 2016-11-16 2017-04-05 郑州云海信息技术有限公司 一种缓存模式识别的方法、缓存模块及存储系统
CN106708750A (zh) * 2016-12-22 2017-05-24 郑州云海信息技术有限公司 存储系统的缓存预读方法及系统
CN107203335A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 存储系统及其操作方法
CN107851065A (zh) * 2015-07-28 2018-03-27 华为技术有限公司 预先缓存分配器
CN110226158A (zh) * 2017-12-29 2019-09-10 华为技术有限公司 一种数据预取方法、装置和存储设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3075413B1 (fr) * 2017-12-20 2020-01-10 Bull Sas Procede de pre-chargement de donnees

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144062A1 (en) * 2001-03-29 2002-10-03 Hitachi, Ltd. Hardware prefetch system
CN101030215A (zh) * 2006-02-28 2007-09-05 国际商业机器公司 利用流预取历史来改进数据预取性能的方法和系统
US20100146193A1 (en) * 2008-12-08 2010-06-10 Samsung Electronics Co., Ltd. System and method for cache synchronization
CN101951395A (zh) * 2010-08-30 2011-01-19 中国科学院声学研究所 一种基于访问预测的P2P VoD系统服务端的数据缓存策略
CN102073463A (zh) * 2010-12-28 2011-05-25 创新科存储技术有限公司 流预测方法和装置及预读控制方法和装置
CN102298556A (zh) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 数据流识别方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377788B (zh) * 2008-09-28 2011-03-23 中国科学院计算技术研究所 一种机群文件系统中缓存管理的方法及系统
CN101794259B (zh) * 2010-03-26 2012-05-30 成都市华为赛门铁克科技有限公司 数据存储方法和装置
US8407187B2 (en) * 2010-06-16 2013-03-26 Microsoft Corporation Validating files using a sliding window to access and correlate records in an arbitrarily large dataset
CN102075584B (zh) * 2011-01-30 2014-08-06 中国科学院计算技术研究所 一种分布式文件系统及其访问方法
CN102163175B (zh) * 2011-04-26 2013-02-27 西安交通大学 一种基于局部性分析的混合地址映射方法
CN103927136B (zh) * 2014-04-21 2017-02-22 华为技术有限公司 输入输出io类型的识别方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144062A1 (en) * 2001-03-29 2002-10-03 Hitachi, Ltd. Hardware prefetch system
CN101030215A (zh) * 2006-02-28 2007-09-05 国际商业机器公司 利用流预取历史来改进数据预取性能的方法和系统
US20100146193A1 (en) * 2008-12-08 2010-06-10 Samsung Electronics Co., Ltd. System and method for cache synchronization
CN101951395A (zh) * 2010-08-30 2011-01-19 中国科学院声学研究所 一种基于访问预测的P2P VoD系统服务端的数据缓存策略
CN102073463A (zh) * 2010-12-28 2011-05-25 创新科存储技术有限公司 流预测方法和装置及预读控制方法和装置
CN102298556A (zh) * 2011-08-26 2011-12-28 成都市华为赛门铁克科技有限公司 数据流识别方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851065A (zh) * 2015-07-28 2018-03-27 华为技术有限公司 预先缓存分配器
CN107851065B (zh) * 2015-07-28 2020-10-16 华为技术有限公司 预先缓存分配器
CN105487987A (zh) * 2015-11-20 2016-04-13 深圳市迪菲特科技股份有限公司 一种处理并发顺序读io的方法及装置
CN105487987B (zh) * 2015-11-20 2018-09-11 深圳市迪菲特科技股份有限公司 一种处理并发顺序读io的方法及装置
CN107203335A (zh) * 2016-03-17 2017-09-26 爱思开海力士有限公司 存储系统及其操作方法
CN106557435A (zh) * 2016-11-16 2017-04-05 郑州云海信息技术有限公司 一种缓存模式识别的方法、缓存模块及存储系统
CN106557435B (zh) * 2016-11-16 2020-03-06 苏州浪潮智能科技有限公司 一种缓存模式识别的方法、缓存模块及存储系统
CN106708750A (zh) * 2016-12-22 2017-05-24 郑州云海信息技术有限公司 存储系统的缓存预读方法及系统
CN106708750B (zh) * 2016-12-22 2020-08-04 郑州云海信息技术有限公司 存储系统的缓存预读方法及系统
CN110226158A (zh) * 2017-12-29 2019-09-10 华为技术有限公司 一种数据预取方法、装置和存储设备
CN110226158B (zh) * 2017-12-29 2021-06-29 华为技术有限公司 一种数据预取方法、装置和存储设备
US11099997B2 (en) 2017-12-29 2021-08-24 Huawei Technologies Co., Ltd. Data prefetching method and apparatus, and storage device

Also Published As

Publication number Publication date
CN107168891A (zh) 2017-09-15
CN104156321B (zh) 2017-06-09
CN107168891B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN104156321A (zh) 一种数据预取的方法以及装置
EP3229142B1 (en) Read cache management method and device based on solid state drive
EP3118745B1 (en) A heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
EP3657339B1 (en) Data caching
CN105917303B (zh) 一种控制器、识别数据块稳定性的方法和存储系统
CN104134027A (zh) 一种顺序流识别的方法以及装置
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
JPWO2017006674A1 (ja) 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
JPWO2017006675A1 (ja) 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
CN108475230A (zh) 一种存储系统和系统垃圾回收方法
CN105138481A (zh) 存储数据的处理方法、装置和系统
CN110352410B (zh) 跟踪索引节点的访问模式以及预提取索引节点
CN112540731A (zh) 数据的追加写方法、装置、设备、介质和程序产品
CN117235088B (zh) 一种存储系统的缓存更新方法、装置、设备、介质及平台
KR101626218B1 (ko) 블록 기반의 페이지 매핑 방법
CN109656479A (zh) 一种构建存储器命令序列的方法及装置
CN111061429B (zh) 一种数据访问方法、装置、设备、介质
CN104899158A (zh) 访存优化方法和装置
CN107967306B (zh) 一种存储系统中关联块的快速挖掘方法
US11132128B2 (en) Systems and methods for data placement in container-based storage systems
US11789908B2 (en) Offloading memory maintenance for a log-structured file system
CN109478163A (zh) 用于在高速缓存条目处标识存储器访问请求的待决的系统和方法
CN113485642A (zh) 数据缓存方法及装置
US9703497B2 (en) Storage system and storage control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant