CN107132996A - 基于智能精简配置的存储方法、模块及系统 - Google Patents

基于智能精简配置的存储方法、模块及系统 Download PDF

Info

Publication number
CN107132996A
CN107132996A CN201710236799.8A CN201710236799A CN107132996A CN 107132996 A CN107132996 A CN 107132996A CN 201710236799 A CN201710236799 A CN 201710236799A CN 107132996 A CN107132996 A CN 107132996A
Authority
CN
China
Prior art keywords
write
write data
requests
read
data
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
CN201710236799.8A
Other languages
English (en)
Other versions
CN107132996B (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.)
Hangzhou Sequoia Polytron Technologies Inc
Original Assignee
Hangzhou Sequoia Polytron Technologies Inc
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 Hangzhou Sequoia Polytron Technologies Inc filed Critical Hangzhou Sequoia Polytron Technologies Inc
Priority to CN201710236799.8A priority Critical patent/CN107132996B/zh
Publication of CN107132996A publication Critical patent/CN107132996A/zh
Application granted granted Critical
Publication of CN107132996B publication Critical patent/CN107132996B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • G06F3/0676Magnetic disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于智能精简配置的存储方法、模块及系统。所述存储方法包括:获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。存储模块基于上述存储方法实现。存储系统包括上述存储模块。本申请可以为不同情况下的写数据请求选择最合理的数据写入方案,从而极大提升存储系统的整体性能。并且,本申请方案判断逻辑简洁易实现,不需要引入额外的元数据开销。

Description

基于智能精简配置的存储方法、模块及系统
技术领域
本申请涉及网络存储技术领域,尤其涉及一种基于智能精简配置的存储方法、模块及系统。
背景技术
传统存储系统中,会为保证用户或者应用指定固定大小的物理空间。实际应用中,上述物理空间中可能存在部分空间没有数据访问,从而造成存储资源浪费。
为此,很多存储系统开始采用智能精简配置(Thin Provisioning)技术,为用户创建逻辑单元(Logical Unit Number,LUN),但并不给用户分配实际的物理空间。当用户向LUN中写入数据时,LUN按数据的大小为输入输出(Input Output,IO)指令分配物理空间。
相关技术的一典型实现中,精简资源池(TP-Pool)中存储资源按照固定粒度大小(下称TP粒度)进行划分并标识序号(下称TP-Idx)。基于上述粒度划分原则,在实现本申请方案的过程中,发明人发现相关技术至少存在如下问题:
若精简卷(下称Thin-LUN)接收到写数据请求时会分配已映射过的TP粒度,造成下次写访问时覆盖上述TP粒度中的数据,影响存储介质的使用寿命,或者首次随机写数据时会导致Thin-LUN连续的逻辑块地址(Logic Block Address,LBA)区段内的TP-Idx不连续,导致后续读写请求被定向到离散的物理空间中,降低磁盘存储性能。
或者,若Thin-LUN接收到写数据请求时重新分配连续TP粒度,可以解决覆盖已映射过TP粒度的问题。在上述随机写数据情况下,也可以保证新分配的TP粒度所对应物理空间的连续性。但是,每次写数据请求都可以分配TP粒度且重建映射关系,可能会引起映射关系分散影响后续顺序读数据过程,尤其是写入数据为小块数据时,负面影响更加严重。
发明内容
有鉴于此,本申请提供一种基于智能精简配置的存储方法、模块及系统,用于解决相关技术中由于采用固定的数据写入方案导致精简卷Thin-LUN响应写数据请求时反复擦写数据影响存储介质使用寿命,TP-Idx不连续降低磁盘存储性能和每次新分配连续TP粒度时重建映射关系影响后续顺序读数据过程的部分或者全部技术问题,从而为每个写数据请求分配合理的处理方案,提高存储系统的读写效率和磁盘利用率。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供了一种基于智能精简配置的存储方法,所述存储方法包括:
获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
可选地,所述获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征的步骤之前包括:
若精简资源池TP-Pool采用固态硬盘或者闪存介质,则为所有写数据请求选择第一预设数据写入方案。
可选地,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案的步骤包括:
若所述读写请求顺序特征超过第一预设顺序值,为所述写数据请求选择第二预设数据写入方案。
可选地,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案的步骤包括:
若所述写数据请求与其前一请求连接,为所述写数据请求选择第二预设数据写入方案。
可选地,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案步骤还包括:
若所述读写请求顺序特征小于第一预设顺序值和/或所述写数据请求与其前一请求不连接,且所述写数据请求的回读特征中包括第一回读标识,则为所述写数据请求选择第三预设数据写入方案;
若所述写数据请求的回读特征中仅包括第二回读标识,则为所述写数据请求选择第一预设数据写入方案;
其中,所述第三预设数据写入方案包括:为对应第一回读标识的子分段选择第二预设数据写入方案,其他子分段选择第一预设数据写入方案。
可选地,获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征中获取所述读写请求顺序特征包括:
获取所述写数据请求之前的预设时间段内全部的读数据请求和写数据请求;
确定获取的各读数据请求和各写数据请求对应的逻辑块地址LBA区段的头部子分段和尾部子分段;所述LAB区段包括多个子分段即头部子分段、尾部子分段和两者之间的其他子分段;
依次判断全部的读数据请求和写数据请求中相邻两个请求中前一请求对应LBA区段的尾部子分段与后一请求对应LBA区段的头部子分段是否在同一个LUN逻辑空间单元或者两个连续的LUN逻辑空间单元中;若在则标记第一顺序标识,若不在则标记第二顺序标识;
将第一顺序标识的数量在标识总数量中的比例确定为所述写数据请求的读写请求顺序特征,所述标识总数量为第一顺序标识的数量与第二顺序标识的数量之和。
可选地,获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征的步骤中获取所述回读特征包括:
获取所述写数据请求对应LBA区段的头部子分段和尾部子分段,以及该LBA区段已映射的至少一个TP粒度;
判断所述头部子分段和/或所述尾部子分段中是否仅有部分地址在一个已映射的TP粒度中;若是则需要回读数据,此时回读特征标记为第一回读标识;若否则无需回读数据,此时回读特征标识为第二回读标识。
第二方面,本申请实施例还提供了一种基于智能精简配置的存储模块,所述存储模块包括:
读写请求顺序特征获取单元,用于获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
写请求特征获取单元,用于获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
数据写入方案选择单元,用于根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
可选地,所述数据写入方案选择单元还用于在精简资源池TP-Pool采用固态硬盘或者闪存介质时为所有写数据请求选择第一预设数据写入方案。
第三方面,本申请实施例还提供了一种存储系统,包括第二方面所述的基于智能精简配置的存储模块。
由上述技术方案可知,本申请实施例通过获取写数据请求回读特征和/或已映射的TP粒度区域连接特征以及对应于该写数据请求的读写请求顺序特征、并根据上述部分或者全部特征为写数据请求选择数据写入方案。本申请可以综合写数据请求的各个特征,为每个写数据请求选择最合适的写入方案,避免现在技术固定写入方案时所造成的频繁擦写存储介质某个位置的数据引起其使用寿命下降,或者避免已映射TP粒度的序号不连续而引起的顺序读写数据请求被重新离散的定向到物理空间中,提高读写数据请求的连续性,或者避免重新建立映射关系引起的映射关系分散,提高读数据性能。
附图说明
图1是相关技术中存储系统空间映射关系图;
图2是相关技术中精简配置的第一种典型方案实现流程图;
图3是相关技术中精简配置的第二种典型方案实现流程图;
图4是图3所示第二种典型方案实现中用户数据仅改变部分数据时回读处理过程示意图;
图5是本申请实施例提供的一种基于智能精简配置的存储方法流程框图;
图6是本申请实施例中读写请求顺序特征获取过程示意图;
图7~图9是本申请实施例中已映射的TP粒度连续特征获取示意图;
图10是本申请实施例提供的一种基于智能精简配置的存储模块框图;
图11是图10所示存储模块的一种硬件实现示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为方便理解,本申请先对下文中可能用到的名词进行说明。实际应用中,智能精简配置技术的应用场合,包括:精简资源池TP-Pool、精简卷Thin-LUN和地址映射表三部分。如图1所示,其中,
TP-Pool是存储介质资源(DISKs)的集合,为Thin-LUN提供实质上的物理空间。本申请中可以理解为1个或多个磁盘阵列(Redundant Arrays of Independent Disks,RAID)的集合。
Thin-LUN是提供给用户(用户或者应用,下文统一为用户)使用的逻辑卷,其物理空间的分配采用精简配置方式实现。
地址映射表用于记录Thin-LUN的逻辑地址与TP-Pool中物理地址的对应关系,是单个Thin-LUN独立维护的关键元数据。
实际应用中将TP-Pool中的存储介质资源按照固定粒度大小(下称TP粒度)进行划分,将为每个TP粒度分配一标识序号TP-Idx。在上述TP粒度划分的基础上,当Thin-LUN接收到写数据请求时进行如下处理,精简配置的第一个典型方案实现(同时也作为本申请的第二预设数据写入方案),如图2所示,包括:
步骤一、根据写数据请求的逻辑地址和大小,判断该写数据请求对应LBA区段各子分段是否已经分配了TP粒度并建立了映射。
步骤二、如果否,则需分配缺失的TP粒度(尽量保证TP-Idx连续)并建立映射。如果是,则跳过步骤二。
步骤三、将上述写数据请求对应的用户数据写入已建立映射的各TP粒度中。如果不是新分配的TP粒度可能覆盖原有数据。
可知,在上述典型方案实现中,若Thin-LUN的LBA区段中部分子分段从未发生写访问,则不会为其分配TP粒度即不占用任何物理空间,从而达到有效利用存储介质资源的效果。但是,若为LBA区段中各子段分配为TP粒度,且再次处理写数据请求时,会直接覆盖TP粒度中的原始数据,从而带来以下问题:
(1)对于新型存储介质如固态硬盘或者闪存介质,反复擦写同一位置会放大磨损,降低存储介质的使用寿命,可能给数据存储带来风险。
(2)若首次映射时采用随机写数据,会引起Thin-LUN对应LBA区段(连续)内的TP-Idx不连续。若接收到顺序读写请求,会被重新定向到离散的物理空间中,降低读写数据性能。
为解决第一个典型方案实现中存在的问题,当Thin-LUN接收到写数据请求时进行如下处理,精简配置的第二个典型方案实现(同时也作为本申请的第一预设数据写入方案),如图3所示,包括:
步骤一、根据写数据请求的逻辑地址和大小,查找写数据请求对应LBA区段已建立的映射关系并记录。
步骤二、直接分配新的TP粒度。
步骤三、写数据请求对应的用户数据写入到新的TP粒度中。
步骤四、解除旧的映射关系并建立写数据请求对应LBA区段与新的TP粒度之间的映射关系。
步骤五、释放旧的映射关系对应TP粒度。
在第二个典型方案实现中,存在TP粒度中已存储有该用户之前写入的用户数据,之后接收新的写数据请求,仅需要改变其中的部分数据。此时步骤二采用以下步骤替代,如图4所示,包括:
从旧的TP粒度中读取数据,与用户写请求的数据重组后写入新的TP粒度中。
即在接收到写数据请求时,若仅改变用户数据的部分数据,则从TP粒度1即旧的TP粒度中读取用户数据ABCD(步骤21)和写数据请求对应的用户数据C’D’(步骤22),之后在临时缓存中将用户数据ABCD中的CD替换为C’D’得到新的用户数据AB C’D’,最后写入到TP粒度2即新的TP粒度中(步骤23)。
可见,第二个典型方案实现可以解决第一个典型方案实现中反复擦写存储介质同一位置的问题,并且能够提升存储系统的写数据性能。特别是在随机写数据的场景中,由于用户数据都被写入到新的TP粒度中做到了物理地址的连续性。但是,当写数据请求对应的用户数据量较小时,可能存在回读(步骤22)的情况,降低存储系统的读写性能。另外,始终分配新的TP粒度需要重建映射关系,导致映射关系分散不利于提升后续顺序读数据性能。
在实现本申请方案的过程中,发明人发现:第一个典型方案实现和第二个典型方案实现带来的技术问题,是由于各方案采用固定的解决方式而未允许考虑写数据请求的实际情况造成的。为解决上述问题,发明人认真总结了写数据请求的工作过程,考虑了影响写数据请求工作过程的多个参数,综合考虑后选择了写数据请求的读写请求顺序特征、回读特征和已映射的TP粒度区域连接特征三个特征作为选择参数为其选择不同的数据写入方案。
为此,本申请实施例提供了一种基于智能精简配置的存储方法,如图5所示,所述存储方法包括:
S1、获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
S2、获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
S3、根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
需要说明的是,上述读写请求顺序特征是指接收到写数据请求之前预设时间段内全部的读数据请求和写数据请求,相邻两个请求中前一请求对应LBA区段的尾部子分段和后一请求对应LBA区段的头部子分段位于同一个TP粒度即两个请求连续。为此,本申请实施例的步骤S1中获取所述读写请求顺序特征包括:
S11、获取所述写数据请求之前的预设时间段内全部的读数据请求和写数据请求。
上述预设时间段是指从接收到写数据请求的时刻之前的某一时刻构成的预设时间长度。该预设时间段可以根据需要选择数分钟、数小时及至数天,本申请不作限定。
S12、确定获取的各读数据请求和各写数据请求对应的逻辑块地址LBA区段的头部子分段和尾部子分段;所述LAB区段包括多个子分段即头部子分段、尾部子分段和两者之间的其他子分段。
上述LAB区段包括多个子分段即头部子分段、尾部子分段和两者之间的其他子分段。
S13、依次判断全部的读数据请求和写数据请求中相邻两个请求中前一请求对应LBA区段的尾部子分段与后一请求对应LBA区段的头部子分段是否在同一个LUN逻辑空间单元或者两个连续的LUN逻辑空间单元中;若在则标记第一顺序标识,若不在则标记第二顺序标识。
S14、将第一顺序标识的数量在标识总数量中的比例确定为所述写数据请求的读写请求顺序特征,所述标识总数量为第一顺序标识的数量与第二顺序标识的数量之和。
如图6所示,假设有6个连续的LUN逻辑空间单元(每个单元具有8KB大小)即单元1、单元2、单元3、单元4、单元5和单元6,预设时间段内读数据请求和写数据请求对应的LBA区段分别为LBA区段A、LBA区段B、LBA区段C和LBA区段D。其中,LBA区段A的尾部子分段与LBA区段B的头部子分段在同一个LUN逻辑空间单元即单元2中,此时将LBA区段A对应的读数据请求或者写数据请求(简称读写数据请求)标记为第一顺序标识(如图6中的标识1);LBA区段B的尾部子分段位于单元2中,LBA区段C的头部子分段位于单元3中,由于单元2和单元3是连续的,可理解为LBA区段B和LBA区段C连续,此时将LBA区段B对应的读写数据请求标记为第一顺序标识(如图6中的标识1);LBA区段C的尾部子分段在单元4中,LBA区段D的头部子分段在单元6中,由于单元4与单元6不连续,此时将LBA区段C对应的读写数据请求标记为第二顺序标识(如图6中的标识0)……,以此类推,从而可以得到LBA区段A、B、C、D和E的标识分别为1、1、0和待定值。其中LBA区段D的标识可以根据接收的写数据请求确定上述确定值。例如当待定值为1时,此时读写请求顺序特征(记为seq-ratio)值为seq-ratio=3/4*100%=75%。
随着数据量的增大,该读写请求顺序特征越能反映出接收的写数据请求之前预设时间段的读写请求顺序性。本申请实施例中根据上述读写请求顺序特征可以确定新接收写数据请求当前情况下读写环境,例如,上述读写请求顺序特征超过(大于或等于)第一预设顺序值时,例如80%,此时写数据请求所处读写环境的读写请求顺序性较高,可以直接采用上述第一种典型方案实现即第二预设数据写入方案,可以有效利用存储介质资源。当上述读写请求顺序特征小于第一预设顺序值时,此时写数据请求所处读写环境的读写请求顺序性不高采用第二预设数据写入方案时效果不明显。
需要说明的是,上述回读特征是指写数据请求是否需要从旧的TP粒度中读取已存储的用户数据。如图4所示,若写数据请求对应的用户数据仅需改变TP粒度1中的部分数据,则需要回读数据。为此,本申请实施例的步骤S2中获取所述回读特征包括:
S21、获取所述写数据请求对应LBA区段的头部子分段和尾部子分段,以及该LBA区段已映射的至少一个TP粒度;
S22、判断所述头部子分段和/或所述尾部子分段中是否仅有部分地址在一个已映射的TP粒度中;若是则需要回读数据,此时回读特征标记为第一回读标识;若否则无需回读数据,此时回读特征标识为第二回读标识。
实际应用中,上述第一回读标识可以设置为“是”或者“yes”,上述第二回读标识可以设置为“否”或者“no”,根据上述回读特征即可分离开写数据请求中需要回读数据的子分段,这些子分段可以采用第二预设数据写入方案,其他子分段则可以采用第二种典型方案实现即第一预设数据写入方案。
需要说明的是,上述已映射的TP粒度区域连接特征即各TP粒度是否物理连续。
本申请实施例中根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案的情形包括:
情形1、若所述读写请求顺序特征超过第一预设顺序值,为所述写数据请求选择第二预设数据写入方案。否则,根据情形2处理。
情形2、若所述写数据请求与其前一请求连接,为所述写数据请求选择第二预设数据写入方案。根据依据情形3处理。
需要说明的是,情形1和情形2可以互换,即情形2条件不成立时,根据情形1处理;情形1条件不成立时根据情形3处理。
情形3、若所述读写请求顺序特征小于第一预设顺序值和/或所述写数据请求与其前一请求不连接,且所述写数据请求的回读特征中包括第一回读标识,则为所述写数据请求选择第三预设数据写入方案;
若所述写数据请求的回读特征中仅包括第二回读标识,则为所述写数据请求选择第一预设数据写入方案;
其中,所述第三预设数据写入方案包括:为对应第一回读标识的子分段选择第二预设数据写入方案,其他子分段选择第一预设数据写入方案。
例如,本申请提供的一种基于智能精简配置的存储方法具体实现时,包括:
获取精简资源池TP-Pool中存储介质的构成,若存储介质为固态硬盘或者闪存介质,则所有的写数据请求都采用第一预设数据写入方案。
若存储介质为机械硬盘或者机械-固态硬盘组合,则根据读写请求顺序特征、回读特征和/或已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案即:
情形1、若seq-ratio值超过80%,则为写数据请求选择第二预设数据写入方案,否则根据情形2处理。
情形2、若写数据请求与前一请求连续,则为接收的写数据请求选择第二预设数据写入方案,否则根据情形3处理。
情节3、获取写数据请求对应的LBA区段和该逻辑块的大小,以及该LBA区段与LUN逻辑空间单元的映射关系。若对应LBA区段已完全映射到1个或多个LUN逻辑空间单元,则依据情形4处理。若对应LBA区段已部分映射到1个或多个LUN逻辑空间单元,则依据情形5处理。若对应LBA区段完全无对应的映射关系,则为写数据请求选择第一预设数据写入方案。
情形4、判断所有TP粒度是否物理连续,如是,则为写数据请求选择第二预设数据写入方案,否则选择第一预设数据写入方案。
情形5、判断已映射的TP粒度区域连接特征,采用第一预设数据写入方案+第二预设数据写入方案组合的策略,即为写数据请求对应LBA区段中部分子分段选择第二预设数据写入方案,为其他子分段选择第一预设数据写入方案。
情形5分为三种情况,如图7~9所示。参见图7,LBA区段的头部子分段A和尾部子分段C分别映射到LUN逻辑空间的单元1和单元n中,子分段B未完全映射到LUN逻辑空间的单元2、单元3、……、n-1(图7中单元2~n-1表示可以多个子单元,其物理上也可以不连续,仅用于示意说明),则为子分段A和子分段C选择第二预设数据写入方案,为子分段B选择第一预设数据写入方案。参见图8,LBA区段的头部子分段A映射到单元1中,子分段B未完全映射到单元2~n(可以多个单元,其物理上也可以不连续,仅用于示意说明)中,则为子分段A选择第二预设数据写入方案,为子分段B选择第一预设数据写入方案。参见图9,LBA区段的头部子分段和尾部子分段均无对应映射,其他区段有部分映射,则为写数据请求选择第一预设数据写入方案。
当然,本申请实施例中还可以考虑存储介质的情况,例如,在步骤S1之前判断存储介质的属性,精简资源池TP-Pool采用固态硬盘或者闪存介质,则为所有写数据请求选择第一预设数据写入方案。上述固态硬盘或者闪存介质具有反复擦写同一位置会降低使用寿命但写入数据速度快的特点。可理解的是,上述固态硬盘或者闪存介质仅是目前技术下与机械硬盘对比时才突出其比较快的特点。随着技术发展,他们可以被其他写入速度更快的存储介质代替,此处仅示意性说明。
在精简资源池TP-Pool采用机械硬盘或者机械-固态硬盘组合时,可以结合读写请求顺序特征、回读特征和/或已映射的TP粒度区域连接特征,为所述写数据请求选择数据写入方案。
当然,在精简资源池TP-Pool采用固态硬盘或者闪存介质时也可以结合读写请求顺序特征、回读特征和/或已映射的TP粒度区域连接特征,为所述写数据请求选择数据写入方案。
可见,本申请实施例通过综合考虑TP-Pool中存储介质,写数据请求的读写请求顺序特征、回读特征和已映射的TP粒度区域连接特征,可以为不同情况下的写数据请求选择最合理的数据写入方案,在尽可能保证写数据请求快速响应的同时,不会引起TP粒度无序分散,为可能的读数据请求提供了性能保证,从而极大提升存储系统的整体性能。并且,本申请方案判断逻辑简洁易实现,不需要引入额外的元数据开销。
与前述基于智能精简配置的存储方法的实施例相对应,本申请还提供了基于智能精简配置的存储模块的实施例。参见图10,基于智能精简配置的存储模块包括:
读写请求顺序特征获取单元M1,用于获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
写请求特征获取单元M2,用于获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
数据写入方案选择单元M3,用于根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
可选地,所述数据写入方案选择单元M3还用于在精简资源池TP-Pool采用固态硬盘或者闪存介质时为所有写数据请求选择第一预设数据写入方案。
可选地,所述数据写入方案选择单元M3用于在所述读写请求顺序特征超过第一预设顺序值时为所述写数据请求选择第二预设数据写入方案。
可选地,所述数据写入方案选择单元M3用于在所述写数据请求与其前一请求连接时为所述写数据请求选择第二预设数据写入方案。
可选地,所述数据写入方案选择单元M3用于在所述读写请求顺序特征小于第一预设顺序值和/或所述写数据请求与其前一请求不连接,且所述写数据请求的回读特征中包括第一回读标识时,为所述写数据请求选择第三预设数据写入方案;
还用于在所述写数据请求的回读特征中仅包括第二回读标识时,则为所述写数据请求选择第一预设数据写入方案;
其中,所述第三预设数据写入方案包括:为对应第一回读标识的子分段选择第二预设数据写入方案,其他子分段选择第一预设数据写入方案。
可选地,所述请求特征获取单元M1用于执行以下步骤获取所述读写请求顺序特征包括:
获取所述写数据请求之前预设时间段内全部的读数据请求和写数据请求;
获取全部的所述读数据请求和所述写数据请求对应的逻辑块地址LBA区段的头部子分段和尾部子分段;所述LAB区段包括多个子分段即头部子分段、尾部子分段和两者之间的其他子分段;
依次判断相邻两个请求中前一请求对应LBA区段的尾部子分段与后一请求对应LBA区段的头部子分段是否在同一个LUN逻辑空间单元或者两个连续的LUN逻辑空间单元中;若在则标记第一顺序标识,若不在则标记第二顺序标识;
统计第一顺序标识的数量在第一顺序标识和第二顺序标识的总数量中的比例即所述写数据请求的读写请求顺序特征。
可选地,所述请求特征获取单元M1用于执行以下步骤获取所述回读特征包括:
获取所述写数据请求对应LBA区段的头部子分段和尾部子分段,以及该LBA区段已映射的至少一个TP粒度;
判断所述头部子分段和/或所述尾部子分段中是否仅有部分地址在一个已映射的TP粒度中;若是则需要回读数据,此时回读特征标记为第一回读标识;若否则无需回读数据,此时回读特征标识为第二回读标识。
本申请基于智能精简配置的存储模块的实施例可以应用在精简资源池TP-Pool上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在精简资源池TP-Pool的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图11所示,为本申请基于智能精简配置的存储模块所在精简资源池TP-Pool的一种硬件结构图,除了图11所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的精简资源池TP-Pool通常根据该TP-Pool的实际功能,还可以包括其他硬件,对此不再赘述。
上述基于智能精简配置的存储模块中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
与前述基于智能精简配置的存储模块的实施例相对应,本申请还提供了一种存储系统,该存储系统中存在上文中描述的基于智能精简配置的存储模块。为了实现存储系统的相应功能,除了上述的存储模块,还可以包括其他硬件,对此不再赘述。
对于存储模块和存储系统的实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的存储模块和存储系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种基于智能精简配置的存储方法,其特征在于,所述存储方法包括:
获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
2.根据权利要求1所述的存储方法,其特征在于,所述获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征的步骤之前包括:
若精简资源池TP-Pool采用固态硬盘或者闪存介质,则为所有写数据请求选择第一预设数据写入方案。
3.根据权利要求1所述的存储方法,其特征在于,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案的步骤包括:
若所述读写请求顺序特征超过第一预设顺序值,为所述写数据请求选择第二预设数据写入方案。
4.根据权利要求1所述的存储方法,其特征在于,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案的步骤包括:
若所述写数据请求与其前一请求连接,为所述写数据请求选择第二预设数据写入方案。
5.根据权利要求3或4所述的存储方法,其特征在于,根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案步骤还包括:
若所述读写请求顺序特征小于第一预设顺序值和/或所述写数据请求与其前一请求不连接,且所述写数据请求的回读特征中包括第一回读标识,则为所述写数据请求选择第三预设数据写入方案;
若所述写数据请求的回读特征中仅包括第二回读标识,则为所述写数据请求选择第一预设数据写入方案;
其中,所述第三预设数据写入方案包括:为对应第一回读标识的子分段选择第二预设数据写入方案,其他子分段选择第一预设数据写入方案。
6.根据权利要求1或3所述的存储方法,其特征在于,获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征中获取所述读写请求顺序特征包括:
获取所述写数据请求之前的预设时间段内全部的读数据请求和写数据请求;
确定获取的各读数据请求和各写数据请求对应的逻辑块地址LBA区段的头部子分段和尾部子分段;所述LAB区段包括多个子分段即头部子分段、尾部子分段和两者之间的其他子分段;
依次判断全部的读数据请求和写数据请求中相邻两个请求中前一请求对应LBA区段的尾部子分段与后一请求对应LBA区段的头部子分段是否在同一个LUN逻辑空间单元或者两个连续的LUN逻辑空间单元中;若在则标记第一顺序标识,若不在则标记第二顺序标识;
将第一顺序标识的数量在标识总数量中的比例确定为所述写数据请求的读写请求顺序特征,所述标识总数量为第一顺序标识的数量与第二顺序标识的数量之和。
7.根据权利要求1所述的存储方法,其特征在于,获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征的步骤中获取所述回读特征包括:
获取所述写数据请求对应LBA区段的头部子分段和尾部子分段,以及该LBA区段已映射的至少一个TP粒度;
判断所述头部子分段和/或所述尾部子分段中是否仅有部分地址在一个已映射的TP粒度中;若是则需要回读数据,此时回读特征标记为第一回读标识;若否则无需回读数据,此时回读特征标识为第二回读标识。
8.一种基于智能精简配置的存储模块,其特征在于,所述存储模块包括:
读写请求顺序特征获取单元,用于获取接收的写数据请求之前的预设时间段内全部的读数据请求和写数据请求并计算出对应于所述写数据请求的读写请求顺序特征;
写请求特征获取单元,用于获取所述写数据请求的回读特征和/或已映射的TP粒度区域连接特征;
数据写入方案选择单元,用于根据所述读写请求顺序特征、所述回读特征和/或所述已映射的TP粒度区域连接特征为所述写数据请求选择数据写入方案。
9.根据权利要求8所述的存储模块,其特征在于,所述数据写入方案选择单元还用于在精简资源池TP-Pool采用固态硬盘或者闪存介质时为所有写数据请求选择第一预设数据写入方案。
10.一种存储系统,其特征在于,包括权利要求8或9所述的基于智能精简配置的存储模块。
CN201710236799.8A 2017-04-12 2017-04-12 基于智能精简配置的存储方法、模块及系统 Active CN107132996B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710236799.8A CN107132996B (zh) 2017-04-12 2017-04-12 基于智能精简配置的存储方法、模块及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710236799.8A CN107132996B (zh) 2017-04-12 2017-04-12 基于智能精简配置的存储方法、模块及系统

Publications (2)

Publication Number Publication Date
CN107132996A true CN107132996A (zh) 2017-09-05
CN107132996B CN107132996B (zh) 2020-02-21

Family

ID=59715314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710236799.8A Active CN107132996B (zh) 2017-04-12 2017-04-12 基于智能精简配置的存储方法、模块及系统

Country Status (1)

Country Link
CN (1) CN107132996B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553005A (zh) * 2021-07-06 2021-10-26 杭州宏杉科技股份有限公司 一种精简lun的数据读写方法、装置及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059781A (zh) * 2006-04-18 2007-10-24 国际商业机器公司 利用顺序存取数据存储设备辅助通信端口重新传输输入/输出操作的方法和设备
CN101093466A (zh) * 2007-08-10 2007-12-26 杭州华三通信技术有限公司 通过缓存写数据的方法和缓存系统及装置
CN101526886A (zh) * 2009-04-27 2009-09-09 杭州华三通信技术有限公司 一种独立磁盘冗余阵列的数据操作方法及装置
CN101814012A (zh) * 2010-05-20 2010-08-25 锐迪科科技有限公司 Sdram存储器结构及数据读写方法
CN101976223A (zh) * 2010-10-09 2011-02-16 成都市华为赛门铁克科技有限公司 自动精简配置方法和装置
US20110066823A1 (en) * 2009-09-11 2011-03-17 Hitachi, Ltd. Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
CN103631537A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种虚拟磁盘的管理方法及装置
CN103729143A (zh) * 2012-10-12 2014-04-16 苏州工业园区新宏博通讯科技有限公司 多路电表电能数据存储的数据安全方法
CN104317742A (zh) * 2014-11-17 2015-01-28 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101059781A (zh) * 2006-04-18 2007-10-24 国际商业机器公司 利用顺序存取数据存储设备辅助通信端口重新传输输入/输出操作的方法和设备
CN101093466A (zh) * 2007-08-10 2007-12-26 杭州华三通信技术有限公司 通过缓存写数据的方法和缓存系统及装置
CN101526886A (zh) * 2009-04-27 2009-09-09 杭州华三通信技术有限公司 一种独立磁盘冗余阵列的数据操作方法及装置
US20110066823A1 (en) * 2009-09-11 2011-03-17 Hitachi, Ltd. Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer
CN101814012A (zh) * 2010-05-20 2010-08-25 锐迪科科技有限公司 Sdram存储器结构及数据读写方法
CN101976223A (zh) * 2010-10-09 2011-02-16 成都市华为赛门铁克科技有限公司 自动精简配置方法和装置
EP2568385A4 (en) * 2010-10-09 2013-05-29 Huawei Tech Co Ltd AUTOMATIC FINE SUPPLY METHOD AND DEVICE THEREFOR
CN103729143A (zh) * 2012-10-12 2014-04-16 苏州工业园区新宏博通讯科技有限公司 多路电表电能数据存储的数据安全方法
CN103631537A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种虚拟磁盘的管理方法及装置
CN104317742A (zh) * 2014-11-17 2015-01-28 浪潮电子信息产业股份有限公司 一种优化空间管理的自动精简配置方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553005A (zh) * 2021-07-06 2021-10-26 杭州宏杉科技股份有限公司 一种精简lun的数据读写方法、装置及设备
CN113553005B (zh) * 2021-07-06 2023-12-22 杭州宏杉科技股份有限公司 一种精简lun的数据读写方法、装置及设备

Also Published As

Publication number Publication date
CN107132996B (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
US11520484B2 (en) Namespaces allocation in non-volatile memory devices
US11435900B2 (en) Namespace size adjustment in non-volatile memory devices
US20210165737A1 (en) Namespace mapping optimization in non-volatile memory devices
US7949847B2 (en) Storage extent allocation method for thin provisioning storage
US10223010B2 (en) Dynamic storage device provisioning
US8051243B2 (en) Free space utilization in tiered storage systems
US8650379B2 (en) Data processing method for nonvolatile memory system
JP7097379B2 (ja) ストリームを使用するデータの割り振りエリアへの選択的記憶
EP3617867B1 (en) Fragment management method and fragment management apparatus
US7653781B2 (en) Automatic RAID disk performance profiling for creating optimal RAID sets
JP5314158B2 (ja) ダイナミックストレージティアリング構成に基づいてデータをプレステージングする方法、及び、コンピュータ可読媒体
US10606503B2 (en) Apparatus to reduce a data-migration time for rearranging data between storage hierarchical layers
US11635901B2 (en) Data storage device, and non-volatile memory control method
CN102203723B (zh) 虚拟卷中性能热点的识别和包含
US8443369B1 (en) Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
CN107132996A (zh) 基于智能精简配置的存储方法、模块及系统
US8019799B1 (en) Computer system operable to automatically reorganize files to avoid fragmentation
US20110035557A1 (en) Fragmentation reduction using virtual sectors for static data
US10809937B2 (en) Increasing the speed of data migration
US6851037B2 (en) Method of utilization of a data storage array, and array controller therefor
CN111722786B (zh) 基于NVMe设备的存储系统
CN114371815B (zh) 一种数据存储方法、装置及系统
JP7050540B2 (ja) 論理記憶領域の配置制御装置、論理記憶領域の配置制御システム、論理記憶領域の配置制御方法、及び、論理記憶領域の配置制御プログラム
US10788994B1 (en) Disaggregation of flash management

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
GR01 Patent grant
GR01 Patent grant