CN101498991B - 存储子*** - Google Patents

存储子*** Download PDF

Info

Publication number
CN101498991B
CN101498991B CN200910003562.0A CN200910003562A CN101498991B CN 101498991 B CN101498991 B CN 101498991B CN 200910003562 A CN200910003562 A CN 200910003562A CN 101498991 B CN101498991 B CN 101498991B
Authority
CN
China
Prior art keywords
page
data
state
storage subsystem
hoc
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
CN200910003562.0A
Other languages
English (en)
Other versions
CN101498991A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN101498991A publication Critical patent/CN101498991A/zh
Application granted granted Critical
Publication of CN101498991B publication Critical patent/CN101498991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0608Saving storage space on 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种可以在抑制管理信息量的同时高效率地使用存储容量的存储子***。存储子***具有虚拟卷、和具有分配给虚拟卷的物理区域的物理卷。将虚拟卷的地址空间分割为多个页面,将多个页面中的每个页面分类为包含至少第一状态和第二状态的多个状态中的某个状态来管理。而且,将分类为第二状态的页面进一步分割为多个区段来管理。在此,第一状态是指,在页面中接受写请求的结果为,向该页面分配物理区域,将写数据存储在物理区域中的状态。另外,第二状态是指,接受用于在页面内的区段中写入与预定的特定模式数据一致的写数据的写请求的结果为,将特定模式数据和区段对应起来管理的状态。

Description

存储子***
技术领域
本发明涉及具有多个磁盘装置的存储子***(Storage Subsystem),尤其涉及用于有效地使用存储子***具有的存储区域的技术。
背景技术
作为在计算机***中使用的存储装置***,存在具有多个磁盘装置的磁盘阵列***(以下也称为存储子***)。在磁盘阵列***中,通过使多个磁盘装置并行地动作,与单独地使用磁盘装置的存储装置***相比,实现了高速化。
作为用于高效地利用磁盘阵列***内的磁盘容量的技术,存在虚拟卷技术。本技术是向计算机提供了虚拟存储区域,仅对虚拟存储区域内存在写请求的区域分配物理存储区域的技术。
另外,作为用于高效地利用磁盘容量的其它技术,还有重复排除技术。本技术是:与接受写请求的数据相同的数据在接收该写请求之前已被存储在存储子***中时,仅存储表示与该已存储的数据是相同数据的意思,接受写请求的数据本身不存储在存储子***中。
在重复排除技术中存在:对于存储子***中存储的全部数据进行重复排除控制的技术;以及仅对预先登录的特定模式数据进行重复排除控制的技术。前者可以提高为了存储数据而需要的存储容量的削减效果(以下称为容量削减效果),但处理时间增长,而且管理信息增多。相反,后者可以减少管理信息,但限制了容量削减效果。
在专利文献1中记载了以下技术:以某单位长的物理块分割由多个物理存储装置的集合构成的物理存储空间上的区域,通过物理块来分配物理存储空间,在由此构成逻辑存储装置的存储装置中具有逻辑存储管理表,该逻辑存储管理表针对所述逻辑存储装置上的每个区域记录识别信息,该识别信息表示是否分配了所述物理块、或是否符合根据规定的数据配置模式而生成的数据,当存在针对所述逻辑存储装置的区域的数据写入请求时,当写入请求数据的数据配置模式与预先登录的数据配置模式一致时,与所述逻辑存储管理表的存在写入请求的区域相对应地记录一致的数据配置模式的识别信息,放弃所述写入请求数据。
【专利文献1】特开2005-135116号公报
发明内容
在专利文献1中,使用了虚拟卷技术和重复排除技术二者,但虚拟卷的管理规模(size)与重复排除的管理规模相同。为了提高虚拟卷技术以及重复排除技术的容量削减效果而将两者的管理规模缩小时,管理信息增多,当想要将全部管理信息存储在高速缓冲存储器等可以高速访问的存储介质中时,***变得昂贵。相反,当增大管理规模时,管理信息减少,但容量削减效果降低。即,在管理信息量和容量削减效果之间存在折衷(trade-off)的关系。因此,寻求用于抑制用于虚拟卷技术以及重复排除技术的管理信息量,同时高效地使用存储子***的存储容量的技术。
存储子***具有:处理器、存储器、虚拟卷、以及由多个存储介质构成的具有分配给所述虚拟卷的页面用物理区域的页面用卷。并且,处理器将虚拟卷的地址空间分割为多个页面,将多个页面的各个页面分类为至少包含第一状态和第二状态的多个状态中的某一状态来进行管理。处理器将被分类为第二状态的页面进一步分割为多个区段来进行管理。在此,所谓第一状态是指,接受用于在页面中写入写数据的写请求的结果为,从页面用卷对该页面分配页面用物理区域,在页面用物理区域中存储了写数据的状态。所谓第二状态是指,接受用于在页面内的区段中写入与预定的特定模式数据一致的写数据的写请求的结果为,在存储器内将特定模式数据与区段相对应地进行管理的状态。
可以在抑制用于卷虚拟化技术以及重复排除技术的管理信息量的同时,高效率地使用存储子***的存储容量。
附图说明
图1是表示实施例1、实施例2以及实施例5中的存储***的硬件结构的一例的说明图。
图2是表示存储子***的逻辑***结构的一例的说明图。
图3是表示虚拟卷的地址空间的一例的说明图。
图4是表示虚拟卷管理信息的一例的说明图。
图5是表示池管理表的一例的说明图。
图6是表示特定模式管理表的一例的说明图。
图7是表示阈值管理表的一例的说明图。
图8是表示虚拟卷生成程序的处理流程的一例的说明图。
图9是表示特定模式设定程序的处理流程的一例的说明图。
图10是表示阈值变更程序的处理流程的一例的说明图。
图11是表示读程序(read programme)的处理流程的一例的说明图。
图12是表示写程序(write programme)的处理流程的一例的说明图。
图13是表示Write处理(1)的处理流程的一例的说明图。
图14是表示Write处理(2)的处理流程的一例的说明图。
图15是表示Write处理(3)的处理流程的一例的说明图。
图16是表示重复排除程序的处理流程的一例的说明图。
图17是表示实施例3以及实施例4中的存储***的硬件结构的一例的说明图。
图18(a)是表示模式发送程序的处理流程的一例的说明图。
图18(b)是表示模式接收程序的处理流程的一例的说明图。
图19是表示向存储子***发送的数据包的实例的说明图。
图20(a)是表示数据发送程序的处理流程的一例的说明图。
图20(b)是表示数据接收程序的处理流程的一例的说明图。
图21是表示模式计数表的一例的说明图。
图22是表示特定模式的分析程序的处理流程的一例的说明图。
图23是表示数据转移程序的处理流程的一例的说明图。
图24是表示实施例5中的存储子***的逻辑***结构的一例的说明图。
图25是表示实施例5中的区段管理表的一例的说明图。
图26是表示实施例5中的阈值管理表的一例的说明图。
图27是表示实施例5中的Write处理(1)的处理流程的一例的说明图。
图28是表示实施例5中的Write处理(2)的处理流程的一例的说明图。
符号说明
0000:存储子***;0110:虚拟卷生成程序;0111:写程序;0112:读程序;0113:数据转移程序;0114:通常卷的重复排除程序;0115:特定模式设定程序;0116:阈值表更程序;2001:特定模式的分析程序;0118:远程拷贝数据通信程序;0120:特定模式管理表;0202:虚拟卷管理信息***本部;0123:池管理表;0124:阈值管理表;0121:页面管理表;0122:区段管理表;0102:虚拟卷;0103:页面用卷;0104:通常卷
具体实施方式
下面说明本发明的实施方式。
(实施例1)
以下,说明本发明的实施方式的一例。此外,本发明不仅限于以下记载的实施方式。
图1是表示应用本发明的存储***的硬件结构的一例。存储***具有存储子***0000和主计算机(主机)0001,存储子***0000和主机0001通过主机接口(主机I/F)0002相连。存储子***0000由主机接口0002、管理接口(管理I/F)0003、由存储器和CPU构成的控制器0004、高速缓冲存储器0005、磁盘接口(磁盘I/F)0007以及多个硬盘(HDD)0006构成,除HDD以外通过内部总线0008相连。通过在管理终端0009上运行的管理软件0010来进行存储子***0000的构成管理。管理终端0009和存储子***0000通过管理接口0003相连。
此外,虽未图示,但管理终端0009以及主机0001是分别具有CPU、存储器、用于与存储子***0000进行通信的通信I/F等的一般计算机,上述管理软件0010被存储在管理终端0009内的存储器内中,通过管理终端0009的CPU而被执行。
图2表示了存储子***0000的逻辑***结构的一例。在后面描述各种程序及各种表的细节。此外,这些程序及表被存储在图1所示的控制器0004内的存储器中,通过控制器0004的CPU被执行。其中,0113、0114、0117、0118的程序在实施例1中未使用,因此在实施例2以后进行详细说明。
0104是通常卷,存储子***0000具有多个通常卷0104。各通常卷0104是在由多个HDD0006构成的RAID组等HDD组上构成的存储区域,从主机0001以及管理终端0009识别为一个逻辑存储区域。
0102是虚拟卷,存储子***0000具有多个虚拟卷0102。虚拟卷0102具有与通常卷0104同样的地址空间,从主机0001与通常卷0104同样地识别为一个逻辑存储区域,与通常卷0104同样地进行数据的读取或写入。虚拟卷0102与通常卷0104的不同点是:在数据写入前对通常卷0102分配了物理区域,与之相对,以写入了数据作为契机对虚拟卷0104分配物理区域。若使用虚拟卷0104,则当没有写入时不分配物理区域即可,因此可以减少安装在存储***中的物理区域,可有效利用存储容量。此外,从页面用池0105确保分配给虚拟卷的物理区域。页面用池0105中包含多个页面用卷0103。页面用卷0103与通常卷0104同样,是在由多个HDD0006构成的RAID组等HDD组上构成的存储区域。因此,对虚拟卷分配属于页面用池0105的页面用卷0103上的物理区域。
图3表示了虚拟卷0102的地址空间的一例。虚拟卷0102的地址空间被分割成多个页面(page)来进行管理。为了容易进行页面的管理,通常使页面的大小为固定大小。在虚拟卷的地址空间0201上的页面中有(a1)(a2)(a3)这3种状态,根据各个状态进行不同的管理。而且,(a2)的状态的页面,以区段单位被分割为多个来进行管理。这里,在图3中将页面内分割成8个区段,但只要页面内的区段在两个以上即可不限定个数。另外,为使区段的管理变得容易,所以通常使区段的大小为固定大小。
详细说明(a1)(a2)(a3)的状态。(a1)的状态是在页面内存在来自主机0001的写请求、结果向页面分配了物理区域的状态。
(a2)的状态是,在页面内存在来自主机0001的写请求,但写数据与存储子***0000管理的特定模式的数据一致,因此仅将表示是特定模式数据的意思作为管理信息,记录在后述的区段管理表0122中,未向页面分配物理区域的状态。即,该状态的页面通过前面所述的重复排除技术进行了存储容量的削减。另外,以区段单位管理处于(a2)状态的页面,是由于当如上所述进行重复排除控制时,在使管理单位较小的情况下,重复排除的存储容量的削减效果较高。即,关于实施重复排除控制的页面((a2)状态的页面),通过以大小较小的区段作为管理单位,提高了存储子***中的存储容量的削减效果,关于未实施重复排除控制的页面((a1)以及后述的(a3)状态的页面),通过不以区段单位、而以页面单位进行管理,防止了管理信息以及处理负荷的增大。
(a3)的状态是,在页面内还没有来自主机0001的写请求,因此未分配物理区域的状态。该状态的页面通过前面所述的虚拟卷技术削减了存储容量。
如上所述,根据是否从主机有写请求、以及当有写请求时写请求中包含的写数据是否是特定模式的数据,将虚拟卷0102的地址空间上的各页面分类为(a1)(a2)以及(a3)的状态来进行管理,由此可以在抑制管理信息量的同时提高容量削减效果。
图4表示为了管理虚拟卷0102的地址空间而使用的、虚拟卷管理信息0202的一例。在生成虚拟卷0102时,针对每个虚拟卷0102生成虚拟卷管理信息0202。各虚拟卷管理信息0202具有识别虚拟卷的虚拟卷号码(虚拟卷#)0211栏和一个页面管理表0121。而且,当通过虚拟卷#0211识别的虚拟卷中存在状态为(a2)的页面时,具有状态为(a2)的页面的个数的区段管理表0122。
页面管理表0121是管理虚拟卷0102的地址空间上的各页面的状态的表。区段管理表0122是管理(a2)的状态的页面内的区段的表,并按照(a2)状态的页面的个数而被生成。
首先,说明页面管理表0121。在页面管理表0121的页面号码(页面#)栏0203中记录了虚拟卷0102具有的页面的号码。在状态栏0204中记录了该页面的状态。在本实施例中,使对应于(a1)状态的值为0、对应于(a2)状态的值为1、对应于(a3)状态的值为2。在区域号码(区域#)栏0205中记录了表示向该页面分配了页面用池0105内的哪个物理区域的信息。因此,当状态0204为0时、即当页面的状态为(a1)时,将表示向该页面分配的物理区域的识别号码记录在区域#0205中。而当状态0204为1或2时、即当页面状态为(a2)或(a3)时,由于未向该页面分配物理区域,所以在区域#0205中记录null。此外,通过后述的池管理表0123来管理页面用池0105内的物理区域。在表号码(表#)栏0206中,记录表示管理该页面的区段的区段管理表0122的识别号码。因此,当状态0204为1时、即页面的状态为(a2)时,与该页面对应的区段管理表0122的识别号码被记录在表#0206中,但在此外的情况下(页面状态为(a1)或(a3)),由于未以区段单位管理页面,因此区段管理表0122也不存在,在表#0206中记录null。在特定模式计数数量栏0207中,记录表示针对该页面的写请求内的写数据与存储子***管理的特定模式数据一致的次数的数。此外,关于状态为(a1)的页面,记录特定模式计数数量0207,关于状态为(a2)或(a3)的页面,记录null值。当页面的状态为(a2)时,写入该页面的写数据应该全部与特定模式数据一致,当页面的状态为(a3)时,由于尚未从主机接收写请求,因此不需要对与特定模式一致的数据的数量进行计数。
下面,说明区段管理表0122。在区段管理表0122的区段号码栏(区段#)0208中,记录赋予一个页面内存在的各区段的识别号码。各区段可以取以下两种状态:从要写入特定模式数据的主机接受写请求,并进行了表示已写入特定模式数据的意思的记录的状态;以及未从主机接受写请求的状态。在标志栏0209中记录识别上述区段的状态的值。在本实施例中,使表示进行了已写入特定模式数据的意思的记录的状态为0;使对于区段尚未取得写请求的状态为1。在模式ID0210中记录表示从主机对于区段有写请求的数据的模式的识别号码。因此,仅在标志0209为0时,在模式ID0210栏中记录识别特定数据模式的ID,当标志0209为1时,在模式ID0210中记录null。此外,在后面描述为了识别从主机请求写入的写数据是否是特定模式数据而使用的、管理特定模式数据的表0120。
图5表示对构成页面用池0105的存储区域(物理区域)进行管理的池管理表0123的一例。在区域号码(区域#)1231栏中,记录构成页面用池0105的物理区域的识别号码。该区域#,从前面所述的页面管理表0121的区域#0205被参照。在分配标志1232栏中,记录表示是否将该物理区域分配给了虚拟卷0102的标志。在本实施例中,当未分配区域时记录0,当已分配时记录1。在池LU号码(池LU#)栏1234中,记录区域#1231表示的物理区域属于的页面用卷0103的识别号码,在开始地址栏1235中,记录用于确定该物理区域在页面用卷0103内的位置的开始地址。即,构成页面用池0105的各物理区域相当于,通过池LU#1234识别的页面用卷0103内的从开始地址1235起与页面大小相等大小的存储区域。
图6是用于管理在判断向虚拟卷0102内存在写请求的写数据是否是特定模式数据时使用的特定模式数据的特定模式管理表0120的一例。在特定模式管理表0120中,将识别特定模式数据的ID记录在模式ID1201中,在模式数据1202的列中记录该特定模式的数据。所记录的特定模式的数据大小与区段大小相同。
图7是管理在判断是否使页面的状态从(a1)向(a2)迁移时使用的阈值的阈值管理表0124的一例。此外,使用图13在后面描述使页面的状态从(a1)向(a2)迁移的处理。在阈值管理表0124中,识别虚拟卷0102的虚拟卷号码被记录在虚拟卷#1241栏中,针对每个虚拟卷记录了特定模式计数数量的阈值γ1242。用户可以在管理软件0010上对于各个虚拟卷0102指定阈值γ。并且,在前面所述的页面管理表0121中管理的特定模式计数数量0207达到阈值r时,调查在处于页面状态(a1)的页面中实际写入的数据,当断定该数据全部是特定模式数据时,该数据的状态从(a1)向(a2)迁移。
图8表示虚拟卷生成程序0110的处理流程0301的一例。首先,用户在管理软件0010上向存储子***0000的虚拟卷生成程序0110指示生成虚拟卷0102。虚拟卷生成程序0110从管理软件0010接受虚拟卷生成命令(步骤0302),生成虚拟卷0102,而且生成虚拟卷管理信息0202(步骤0303)。即,虚拟卷生成程序0110向所生成的虚拟卷分配识别号码,记录在虚拟卷管理信息0202的虚拟卷#0211中。另外,对于此时生成的虚拟卷0102内的页面,尚未接收到来自主机的写请求,因此,在对于该虚拟卷生成的页面管理表0121的状态0204中,针对全部页面记录表示(a3)的2,在区域#0205、表#0206、特定模式计数数量0207中记录null值。而且不生成区段管理表0122。然后,虚拟卷生成程序0110,在阈值管理表0124的虚拟卷#1241中记录识别所生成的虚拟卷0102的号码,将用户在管理软件0010上任意指定的阈值记录在阈值γ1242中(步骤0304)。然后,虚拟卷生成程序0110对管理软件0010应答虚拟卷生成结束(步骤0305),结束处理。
图9表示特定模式设定程序0115的处理流程0401的一例。用户在管理软件0010上指定作为特定模式而追加(或删除)的模式,对特定模式设定程序0115指示向特定模式管理表0120的特定模式数据的追加(或删除)。特定模式设定程序0115从管理软件0010接受特定模式数据的设定命令(步骤0402)。当设定命令指示追加新的数据作为特定模式数据时,特定模式设定程序0115向命令中所指定的数据分配ID,将该ID与所指定的数据一起记录在特定模式管理表0120中(步骤0403)。
当设定命令指示从特定模式管理表0120中删除特定模式数据时,特定模式设定程序0115根据在设定命令中指定的ID来识别作为删除对象的特定模式数据,从特定模式管理表0120中删除该ID和所识别出的特定模式数据(步骤0403)。
当特定模式管理表的更新结束时,特定模式设定程序0115向管理软件0010应答设定结束(步骤0404),结束处理。
图10表示变更在判断是否使页面的状态从(a1)变迁为(a2)时所使用的阈值γ的阈值变更程序0116的处理流程0116的一例。用户在管理软件0010上指定识别想要变更阈值的虚拟卷的号码和变更后的阈值,管理软件0010向阈值变更程序0116指示变更阈值管理表0124上的阈值γ1242。阈值变更程序0116从管理软件0010接受阈值变更命令(步骤0502),将阈值管理表0124中指定的虚拟卷的阈值变更为指定的值(步骤0503)。当阈值的变更结束时,阈值变更程序0124向管理软件0010应答阈值变更结束(步骤0504)。
图11是读程序0112的处理流程1001的一例。读程序0112当从主机0001接受针对虚拟卷0102的读请求时(步骤1001),参照所指定的虚拟卷的页面管理表0121,检查与存在读请求的地址对应的页面的状态0204(步骤1002)。此外,在读请求中包含:用于指定读对象虚拟卷的虚拟卷号码、该虚拟卷中的读对象区域的地址信息。另一方面,由于构成虚拟卷的各页面具有规定大小,因此可以根据读请求中包含的地址信息和各页面的大小确定读对象页面。
当页面的状态为(a1)时,向该页面分配了物理区域,因此,读程序0112参照页面管理表0121的区域#0205,确定与该页面对应的物理区域的识别号码。而且,根据所确定的物理区域的识别号码,参照池管理表0123,读程序0012取得读对象页面用卷0103的号码1234、和该页面用卷0103内的读对象区域的开始地址1235(步骤1004)。然后,读程序0112从通过取得的页面用卷的号码和地址所指定的物理区域读取读对象数据,将读取的数据向主机0001发送(步骤1005)。
当页面的状态为(a2)时,该页面被进一步分割为区段来管理,因此,读程序0112参照关于所指定的虚拟卷0102的页面管理表0121的表#0206,取得与该页面对应的区段管理表0122(步骤1006)。然后,读程序0112参照所取得的区段管理表0122,确认读对象区段的标志0209(步骤1007)。此外,构成页面的区段也具有规定的大小,因此可以根据读请求中包含的地址信息和各区段的大小来确定读对象页面。
当该标志为0时,向该区段分配了特定模式的数据,因此,读程序0112参照模式ID0210,从特定模式管理表0120取得通过该ID识别的数据,将该数据向主机0001发送(步骤1009)。另一方面,当标志0209为1时,未在该区段中写入数据,因此,向主机0001发送规定的格式数据(步骤1010)。此外,在一般的存储子***中,多数情况下使格式数据(format data)为0,但不限于此。另外,格式数据也可以针对每个虚拟卷由用户指定。
当页面的状态为(a3)时,在该页面中尚未写入数据。因此,读程序0112和步骤1010同样地向主机0001发送格式数据(步骤1003)。
图12是写程序0111的处理流程0601的一例。写程序0111,当从主机0001接受针对虚拟卷0102的写请求时,参照关于所指定的虚拟卷的页面管理表0121,检查有写请求的地址所对应的页面的状态0204(步骤1002)。此外,写对象页面的指定方法与前面所述的读处理时相同。
写程序0111,当页面的状态为(a1)时执行Write处理(1)(步骤0604),当页面的状态为(a2)时执行Write处理(2)(步骤0605),当页面的状态为(a3)时执行Write处理(3)(步骤0606)。使用图13、图14、图15说明Write处理(1)(2)(3)的细节。
图13表示在写程序0111接受写请求时写对象页面的状态为(a1)时所执行的、前面所述的Write处理(1)(步骤0604)的一例。写程序0111参照关于写对象虚拟卷的页面管理表0121,确定分配给写对象页面的物理区域的区域#0205。写程序0111从池管理表0123取得所确定的物理区域的池LU#1234和开始地址1235(步骤0701)。然后,在通过所取得的池LU#1234以及开始地址1235指定的物理区域中写入写数据(步骤0702),将写完成报告发送至主机0001(步骤0703)。
此后,写程序0111参照特定模式管理表0120,判定有写请求的写数据是否与特定模式数据的某一个一致(步骤0704)。当写数据与特定模式数据1202不一致时结束写处理。当写数据与特定模式数据1202一致时进入步骤0705,参照页面管理表0121,在接受了写请求的页面的特定模式计数数量0207上加1。
在步骤0705后进入步骤0706,写程序0111参照阈值管理表0124,确定与写对象虚拟卷对应的阈值γ1242,判定在步骤0705中加1后的特定模式计数数量0207是否超过了该阈值。当未超过该阈值时结束写处理。当特定模式计数数量超过了该阈值时,进入步骤0707,写程序0111判定在该页面内写入的数据是否全部是与特定模式数据一致的数据。当在该页面中写入的数据即使有1个与特定模式数据不一致时,结束写处理。当在该页面中写入的写数据全部与特定模式数据一致时,进入步骤0708,写程序0111针对写对象页面新生成区段表0122。此时,关于该页面,由于全部数据是特定模式数据,因此在该区段表0122的标志0209中全部设定0。然后,写程序0111参照特定模式管理表0120,确定识别在该页面的各区段中存储的特定模式数据的ID,记录在模式ID0210中(步骤0708)。此后,释放已分配给写对象页面的页面用池0105内的物理区域(步骤0709)。通过步骤0708、0709使写对象页面的状态从(a1)迁移到(a2),因此,写程序0111将页面管理表0121的与该页面对应的状态0204从0变更为1(步骤0710)。另外,在页面管理表0121的表#0206中,记录识别步骤0708中新生成的区段管理表0122的号码(步骤0711)。
通过以上Write处理(1),即使是暂时分配了物理区域的页面,关于成为仅由特定模式数据构成的页面,释放已分配的物理区域,仅记录表示从主机写入了哪个特定模式数据的管理信息即可,可以提高容量削减效果。
图14表示在写程序0111在写对象页面的状态为(a2)时执行的、前面所述的Write处理(2)(步骤0605)的一例。写程序0111参照特定模式管理表0120,判定模式数据1202中是否存在与接受了写请求的写数据一致的数据(步骤0801)。
在步骤0801中,当存在一致的特定模式数据时,进入步骤0802,写程序0111根据特定模式管理表0120的模式ID1201,确定由于识别与写数据一致的特定模式数据的ID。然后,参照写对象页面的区段管理表0122,在写对象区段的模式ID0210中记录所确定的模式数据的ID(步骤0802)。此外,可以与读对象区段通过同样的方法确定写对象区段。此后,写程序0111将写完成报告发送至主机0001(步骤0803),释放写数据(步骤0804),结束写处理。
在步骤0801中,当写数据与特定模式数据不一致时,进入步骤0805,写程序0111从页面用池0105向写对象页面分配物理区域,因此参照池管理表0123。然后,写程序0111确保表示未分配的物理区域的分配标志1232为0的区域(步骤0805)。即,写程序0111将该未分配物理区域的标志1232变更为1,同时在写对象虚拟卷的写对象页面的页面管理表0121中,记录所确保的物理区域的识别号码作为区域#0205。
写程序0111在步骤0805中确保的物理区域中存储原来分配给写对象页面的(即,从主机接受写请求,不进行向实际物理区域的数据的存储,而只进行写入了特定模式数据的意思的管理)特定模式数据(步骤0806)。即,写程序0111参照关于写对象虚拟卷的页面管理表0121,从接收写请求的页面所对应的表#0206中取得该页面的区段管理表0122。然后,在该区段管理表0122中,关于记录了模式ID0210的各区段,写程序0111参照特定模式管理表0120,取得通过该模式ID识别的特定模式数据,在与该区段对应的确保的物理区域上的存储区域中存储该特定模式数据。此外,写程序0111可以将此时在物理区域上写入的特定模式数据的数量作为该页面的特定模式计数数量0207,记录在页面管理表0121中。
而且,写程序0111在与写对象区段对应的、所确保的物理区域上的存储区域中写入写数据(步骤0807)。
通过步骤0805~0807使接受了写请求的页面的状态从(a2)迁移到(a1),因此,写程序0111将与页面管理表01021的该页面对应的状态0204从1变更为0,在表#0206中记录null,同时放弃与该页面相关的区段管理表0122(步骤0808)。此后,写程序0111向主机0001发送写完成报告(步骤0809),结束写处理。
图15表示当写请求对象页面的状态为(a3)时,写程序0111执行的Write处理(3)的一例。写程序0111参照特定模式管理表0120,判定在特定模式数据1202中是否存在与从主机接收的写数据一致的数据(步骤0901)。
当步骤0901中存在一致的数据时进入步骤0902,写程序0111新生成写请求对象页面的区段表0122(步骤0902)。然后,关于写对象区段,在标志0209中设定0,而且,参照特定模式管理表0120,确定识别与写数据相同的特定模式数据的ID,将所确定的ID记录在模式ID0210中(步骤0903)。通过步骤0902、0903,写对象页面的状态从(a3)迁移到了(a2),因此,写程序0111参照该页面的页面管理表0121,将该页面的状态0204从2变更为1(步骤0904)。另外,在页面管理表0121的表#0206中,记录识别通过步骤0902新生成的区段管理表0122的号码(步骤0905)。最后,写程序0111将写完成应答发送给主机0001(步骤0906),释放写数据(步骤0907),结束写处理。
当步骤0901中不存在一致的特定模式数据时进入步骤0906,写程序0111从页面用池0103向写对象页面分配物理区域,参照池管理表0123,确保表示未分配的物理区域的分配标志1232为0的物理区域(步骤0906)。物理区域的确保方法,与前面所述的Write处理(2)的步骤0805相同。然后,根据写请求中包含的虚拟卷的识别号码和写对象区域的地址,推断出对应的物理区域上的存储区域,在推断出的存储区域中写入写数据(步骤0907)。通过步骤0906、0907,写对象页面的状态从(a3)迁移到了(a1),因此,写程序0111参照该页面的页面管理表0121,将该页面的状态0204从2变更为0(步骤0908)。最后,写程序0111向主机0001发送写完成报告(步骤0909),结束写处理。
(实施例2)
在本实施例中说明,通过将通常卷0104中存储的数据转移到虚拟卷0102中,由此排除通常卷0104中存储的特定模式数据的重复,削减存储子***的数据量的方法。
图16表示图2所示的通常卷的重复排除程序0114的流程的一例。首先,通常卷的重复排除程序0114选择具有与通常卷0104相同容量的虚拟卷0102,作为数据转移目的地卷(步骤2401)。此外,重复排除程序0114也可以指示虚拟卷生成程序0110生成数据转移目的地的虚拟卷0102。然后,通常卷的重复排除程序0114从通常卷中顺次读取与区段大小相同大小的数据(步骤2402),使用实施例1中说明的写程序0111对虚拟卷0102写入所读取的数据(步骤2403)。
写处理的方法与实施例1中说明的图12~图15相同,因此省略说明,但数据的转移目的地虚拟卷0102,通过写程序0111的处理被分类为具有前面所述的状态(a1)、(a2)的某个状态的页面。关于状态(a1)的页面,分配物理区域,在该物理区域中写入数据,但在状态(a2)的页面中,使用重复排除技术,不分配物理区域。结果,可以削减存储***的数据容量。
如上所述,通过本发明,在将通常卷0102内的数据向虚拟卷0102转移时,也可以进行容量削减效果高的重复排除。
(实施例3)
在本实施例中说明,如图17所示经由网络2101~2103连接多台实施例1中说明的存储子***0000时,在该多个存储子***0000间进行容量削减效果高的远程拷贝的方法。
在远程拷贝中使用图2所示的远程拷贝通信程序0118,在成为发送源的存储子***中使用模式发送程序2102和数据发送程序2104,在成为发送目的地的存储子***中使用模式接收程序2103和数据接收程序2105,在存储子***0000间进行远程拷贝。在后面描述各程序(2102~2105)的细节。在本实施例中考虑将一个存储子***的通常卷0104内的数据向其它存储子***的虚拟卷0102拷贝的情况。
作为远程拷贝的事先准备,首先,将发送源存储子***和发送目的地存储子***分别具有的特定模式管理表0120的数据同步。为此,使用模式发送程序2102和模式接收程序2104。
图18(a)表示在发送源存储子***中使用的模式发送程序的处理流程的一例。模式发送程序2102,将发送源存储子***具有的特定模式表0120序列化(步骤2301)。关于序列化的方法,考虑多个通用方式,但在本说明书中不进行详细记载。此外,所谓序列化,是为了将软件内部处理的数据全部保存在文件中或者经由网络收发而进行变换。然后,模式方法程序2012将序列化后的特定模式表0120的序列数据发送给发送目的地存储子***的模式接收程序2014(步骤2302)。然后,接收来自发送目的地存储子***的应答后结束(步骤2303)。
图18(b)表示在发送目的地存储子***中使用的模式接收程序的处理流程的一例。模式接收程序2104接收从模式发送程序2102发送的序列数据(步骤2304),将该序列数据变换为特定模式表0120的数据(步骤2305)。然后,用变换后的数据替换发送目的地存储子***的特定模式管理表0120(步骤2306)。完成替换后,对于发送源存储子***发送完成应答(步骤2307)。
接着,说明在多个存储子***间实施远程拷贝时的数据的收发方法。图19表示从发送源存储子***向发送目的地存储子***发送的数据包的实例。数据包由存储确定发送目的地存储子***的地址信息的头部1801、和存储发送数据的数据部构成。数据部由数据识别标志1802、虚拟卷信息1803和数据存储部1804构成。所谓数据识别标志1802,是表示使用数据包发送的数据是实际数据还是模式ID的标志。在本实施例中,假定当该标志为0时,在数据存储部1804中存储了实际数据。另一方面,当该标志为1时,在数据存储部1804中存储了模式ID。虚拟卷信息1803是写入发送数据的、发送目的地存储子***内的虚拟卷的号码和地址。
图20(a)表示在发送源存储子***中使用的数据发送程序2103的处理流程的一例。数据发送程序2103从作为远程拷贝的拷贝源的发送源存储子***的通常卷(以下称为拷贝源通常卷)读出数据(步骤1701)。然后,在步骤1702中,数据发送程序2103参照发送源存储子***具有的特定模式管理表0120,判定读出的数据是否与特定模式数据一致。与特定模式数据都不一致时,进入步骤1704,数据发送程序2103将读出的该数据以原有形式作为数据包发送给发送目的地存储子***。另一方面,在步骤1702中,当特定模式数据的某一个与步骤1701中读出的数据一致时,数据发送程序2103根据特定模式管理表0120的模式ID1201,将该数据变换为模式ID(步骤1703),使用前面所述的数据包,将该模式ID发送给发送目的地存储子***(步骤1710)。
图20(b)表示在发送目的地存储子***中使用的数据接收程序2105的处理流程的一例。数据接收程序2105,当从发送源存储子***接收数据包时(步骤1705),确认该数据包内的数据识别标志1802(步骤1706)。当该数据识别标志1802为0时进入步骤1708,指示写程序0111在接收数据包的虚拟卷信息1803表示的虚拟卷的存储区域中写入实际数据。结果,通过与实施例1中使用图12~图15说明的处理相同的处理,通过写程序0111将数据存储在作为远程拷贝的发送目的地的拷贝目的地虚拟卷中。数据接收程序2105,当写处理结束时,向发送源存储子***发送完成应答,然后结束(步骤1709)。在步骤1706中,当数据识别标志1802为1时,进入步骤1708,数据接收程序2105参照发送目的地存储子***具有的特定模式管理表0120,将存储在数据存储部1804中的模式ID变换为实际数据(步骤1707)。此后,数据接收程序2105执行与前面所述的相同的步骤1708、步骤1709的处理,然后结束。
通过以上方法,当从拷贝源通常卷读出的数据与特定模式数据一致时,从发送源存储子***向发送目的地存储子***不发送实际数据而发送模式ID,因此可以降低远程拷贝所需要的数据的拷贝量。而且,在发送目的地存储子***中,使用在实施例1中说明的写程序0111将拷贝数据写入发送目的地虚拟卷中,因此,关于特定模式数据,可以排除数据的重复。因此,可以削减拷贝目的地存储子***的必要存储容量。
在上述方法中,以成为远程拷贝源的发送源存储子***内的拷贝源卷是通常卷0104为前提来进行说明。但是,拷贝源卷也可以是虚拟卷0102。当拷贝源卷是虚拟卷0102时,在发送源存储子***中使用页面管理表0121,针对每个页面来管理该拷贝源虚拟卷0102,因此,发送源存储子***掌握了各页面的状态。从而,当页面状态为(a2)时,即使不执行图20(a)的步骤1701以及1702的处理,也明了特定模式数据与该页面相对应。因此,也可以省略图20(a)的步骤1701、步骤1702以及步骤1703。在这种情况下,首先,发送源存储子***的数据发送程序2103参照发送源存储子***具有的页面管理表0121,判定拷贝源虚拟卷0102的各页面的状态。判定的结果,当该状态为(a1)时进入步骤1702,当该状态为(a2)时省略步骤1702、1703而进入步骤1710,当该状态为(a3)时进入步骤1704。此后的步骤分别与前面所述的拷贝源为通常卷的情况下相同。
而且,在上述方法中,当在发送目的地存储子***中接收到的数据是模式ID时(即图20(b)的步骤1706中标志的值为1时),暂时将模式ID变更为实际的实际数据(即特定模式数据)(图20(b)的步骤1707)后,使用写程序0111将该特定模式数据写入虚拟卷。当写程序0111将特定模式数据写入虚拟卷时,该特定模式数据再次被变换为模式ID(图14额步骤0801以及步骤0802),因此,在特定模式数据与模式ID之间发生了无用的变换处理。为了省去该无用的处理,写程序0111可以接收模式ID来代替接收写数据。结果,数据接收程序2105在图20(b)的步骤1707中不将模式ID变换为实际数据,而向写程序0111传递模式ID即可,接收到该模式ID的写程序0111解释为请求写入通过接收到的模式ID指定的规定的特定模式数据,执行写处理即可。
在以上的方法中,通过进行远程拷贝,可以实现削减了网络的通信量的数据收发,而且,在多个存储子***间可以进行容量削减效果高的重复排除。
此外,也可以是以下形态。
在具有发送源存储子***、与发送源存储子***可通信地连接的发送目的地存储子***的存储***中,发送源存储子***以及发送目的地存储子***具有逻辑存储区域。发送源存储子***从卷中读出作为远程拷贝对象的数据。当读出的数据与特定模式数据一致时,将识别该特定模式数据的ID发送至发送目的地存储子***。通过这种结构可以进行削减了网络的通信量的数据收发。
(实施例4)
在本实施例中说明,当与图17所示结构同样地经由网络连接了多台存储子***0000时,在该多个存储子***0000间进行容量削减效果高的数据转移。
在本实施例中,使用转移源存储子***具有的数据转移程序0113,将转移源存储子***内的全部或一部分通常卷0104的数据,拷贝到转移目的地存储子***的虚拟卷0102。
在本实施例中,首先,转移目的地存储子***使用特定模式的分析程序0117,分析在转移源存储子***内的拷贝源通常卷0104内存储的数据,调查作为特定模式数据使用哪种模式数据的情况下容量削减效果较高。如后所述,执行特定模式的分析程序0117时,需要在数据转移前暂时从拷贝源通常卷读出数据,向拷贝目的地存储子***进行发送,因此本程序0117的执行不是必须的。但是,通过事先对存储在拷贝源通常卷0104中的数据进行分析,如果转移目的地存储子***在已经管理的特定模式数据以外,还可以发现容量削减效果高的特定模式数据,则可以高效地进行重复排除。
在图21中表示特定模式的分析程序0117使用的模式计数表2001的一例。模式计数表2001,用于在特定模式的分析程序0117对转移源存储子***内的拷贝源通常卷0104的数据进行了分析时,预先登录该数据的模式和该模式的出现个数。在模式ID栏2011中记录赋予特定模式的分析程序0117从拷贝源通常卷0104读出的数据的ID。与各个模式ID对应的数据模式被记录在模式数据栏2012中,对于从转移源存储子***内的拷贝源通常卷0104中发现了多少个相同数据模式进行计数的结果,被记录在计数数量栏2013中。在模式ID2011中,通过利用散列(hash)值等可以减小模式计数表2001的容量。
图22表示特定模式的分析程序0117的处理流程的一例。首先,特定模式的分析程序0117生成模式计数表2001(步骤2207)。然后,特定模式的分析程序0117从转移源存储子***中针对各个拷贝源通常卷读出其构成信息(步骤2208)。所谓拷贝源通常卷的构成信息,是指卷的大小等信息。然后,对各拷贝源通常卷执行以下所示的处理。特定模式的分析程序0117将转移源卷的地址空间分割成区段,针对各区段顺次向转移源存储子***发出读请求(步骤2211)。然后,特定模式的读请求的结果,将从转移源存储子***读取的数据变换为数据ID。具体而言,确认所读取的数据是否存在于模式计数表2001中(步骤2212),当数据存在于模式计数表2001上的模式数据2012中时,使该模式数据对应的计数数量2013增加1(步骤2213)。另一方面,在步骤2212中,当所读取的数据不存在于模式计数表2001上时,向该数据分配新的模式ID,将该数据和该模式ID一起新追加到模式计数表2001中,使计数数量为1(步骤2214)。
然后,判定特定模式的分析程序0117是否在步骤2208中针对该拷贝源通常卷内的全部区段读取了数据(步骤2215),当针对全部区段结束了读取时进入步骤2216,判定是否针对成为数据转移对象的全部拷贝源通常卷,结束了步骤2208至步骤2215的处理(步骤2216),当结束时进入步骤2217。另一方面,当步骤2215的判定的结果为,针对拷贝源通常卷内的全部区段读取未结束时,针对剩余的区段重复步骤2211~2214,直到针对全部区段结束为止。另外,当步骤2216的判定的结果为,针对数据转移对象的全部拷贝源通常卷未结束读入时,针对剩余的拷贝源通常卷重复步骤2208~2215,直到针对全部拷贝源通常卷结束读取为止。
在步骤2217中,特定模式的分析程序0117使用模式计数表2001,分析容量削减效果高的特定模式数据是哪个。在分析容量削减效果高的特定模式数据的方法中考虑了多种方法,但在本说明书中表示使用阈值δ的方法。阈值δ是在判断某模式的数据是否是特定模式的数据时所使用的阈值。即,通过执行特定模式的分析程序0117,在某规定的卷中存储了多少个具有某规定模式的区段数据,作为计数数量2013被记录在模式计数表2001中。当该计数数量超过阈值δ时,将该数据认定为特定模式,追加到转移目的地存储子***具有的特定模式管理表0120中。当将阈值δ设定得较大时,重复排除的特定模式数减少,因此难以获得容量削减效果。另一方面,当将阈值δ设定得较小时,容易获得容量削减效果,但识别的特定模式的个数增大,管理信息量增大。
当特定模式的分析结束时,数据转移程序0113从转移源存储子***内的拷贝源通常卷0104读取数据,使用写程序0111将该数据写入转移目的地存储子***内的虚拟卷0102。
图23是数据转移程序0113的处理流程的一例。数据转移程序0113,与特定模式的分析程序0117同样地读出关于转移源存储子***内的数据转移对象的各拷贝源通常卷的构成信息(步骤2201),对该拷贝源通常卷执行以下所示的处理。此外,当在先执行了特定模式的分析程序0117时,也可以省略步骤2201的处理,使用由特定模式的分析程序0117读出的构成信息。
首先,数据转移程序0113在转移目的地存储子***内生成与拷贝源通常卷相同大小的虚拟卷0102(步骤2203),把在此生成的虚拟卷作为数据的转移目的地卷。然后,为了从转移源通常卷的先头区段起顺次读出数据,向转移源存储子***发出读请求(步骤2205)。数据转移程序0113为了将读请求的结果、即从转移源存储子***接收的数据写入转移目的地卷,而向写程序0111进行指示(步骤2206)。结果,通过与在实施例1中使用图12~图15说明的同样的处理,通过写程序0111将数据存储在作为转移目的地的虚拟卷中。然后,进入步骤2207,针对在步骤2201中读出构成信息的拷贝源通常卷内的全部区段,判定步骤2205、2206是否结束(步骤2207)。当该拷贝源通常卷内还存在未执行步骤2205以及2206的处理的区段时,数据转移程序0113返回步骤2205,重复步骤2205、2206的处理,直到剩余的区段的处理也结束为止。若针对该拷贝源通常卷内的全部区段结束步骤2205及2206的处理,则进入步骤2208。在步骤2208中,针对成为数据转移对象的全部拷贝源通常卷,判定步骤2201~2207是否已结束,当未结束时返回步骤2201,重复步骤2201~2207,直到剩余的拷贝源通常卷的处理也结束为止。通过步骤2208,当针对数据转移对象的全部拷贝源卷结束步骤2201~2207的处理时,结束数据转移程序0113。
通过以上方法,在发送目的地存储子***中使用在实施例1中说明的写程序0111将数据写入转移目的地虚拟卷,因此,针对特定模式数据可以排除数据的重复,可以削减转移目的地存储子***的必要存储容量。
此外,在执行特定模式的分析程序0117后执行数据转移程序0113时,通过两个程序从拷贝源通常卷读出总计2次数据,从转移源存储子***拷贝到转移目的地存储子***,网络中的通信负荷增加。因此,为了防止这种情况,特定模式的分析程序0117,可以将通过图22的步骤2211从拷贝源存储子***读出的数据暂时保存在拷贝目的地存储子***的高速缓冲存储器0005或通常卷0104中。这样一来,数据转移程序0113如图23的步骤2205中描述的那样,代替从拷贝源存储子***的拷贝源通常卷再次读出数据,而使用在拷贝目的地存储子***的高速缓冲存储器0005或通常卷0104中存储的数据即可,可以减少从拷贝源存储子***向拷贝目的地存储子***的数据发送量。
(实施例5)
在本实施例中,除了实施例1中说明的重复排除功能以外,说明通过使状态为(a2)的页面中也存在特定模式数据以外的数据(称为非特定模式数据),根据页面内的非特定模式数据的区段数使页面的状态细致地变迁,由此更高效地进行存储子***的容量削减的方法。主要说明与实施例1的不同点。
图24表示本实施例中的存储子***1111的逻辑***结构的一例。在图24所示的存储子***1111中,与实施例1不同,为了在状态为(a2)的页面中存储非特定模式数据,存在分配存储区域时所使用的区段用池0107。在区段用池0107中存在多个区段用卷0106。区段用卷0106与通常卷0104或页面用卷0103相同,是在由多个HDD0006构成的RAID组等磁盘组上形成的存储区域。
本实施例中的存储子***1111还与管理页面用池0105的池管理表0123不同地,具有用于管理区段用池0107的区段用池管理表0125。区段用池管理表的结构与在实施例1中使用图5说明的池管理表0123的结构相同,因此未图示。此外,在区段用池管理表0125中,池LU#是具有分配给该区段的物理区域的区段用卷0106的识别号码。另外,分配给区域的各物理区域的大小与区段的大小相等,因此,通过区域#识别的分配给区段的物理区域,是从通过池LU#识别的区段用卷0106的开始地址所表示的地址起区段大小的存储区域。
在本实施方式的存储子***1111中,区段管理表0126的结构与实施例1中的区段管理表0122不同。图25是表示本实施例中使用的区段管理表0126的一例的图。在实施例1中说明的图4的区段管理表0122中的标志栏0209中记录了:记录了表示已写入特定模式数据的意思的状态“0”;和对于区段尚未取得写请求的状态“1”的某个值。但在本实施例中,除了这些状态以外,也可以在区段管理表0126的标志栏1262中记录在区段中存储了非特定模式数据的状态“2”。而且,本实施方式中的区段管理表0126具有区域号码(区域#栏)1263。在标志栏1262中记录了“2”时使用区域#栏1263,记录向该区段分配的区段用池0107内的物理区域的区域号码。
在本实施方式中,阈值管理表0127也和实施例1中的阈值管理表0124不同。在本实施方式中使用的图26表示阈值管理表0127的一例。在本实施例中,当页面从(a1)向(a2)、或者从(a2)向(a1)进行状态迁移时,使用与非特定模式数据数相关的阈值α、阈值β。在状态为(a2)的页面中,当非特定模式数据的数量增加,超过阈值α时,使页面的状态从(a2)向(a1)变迁。另外,在状态为(a1)的页面中,当非特定模式数据的数量减少,低于阈值β时,使页面的状态从(a1)向(a2)变迁。阈值α、阈值β可以使用阈值变更程序0116来变更。变更阈值的处理流程与实施例1相同,因此省略。此外,假定本实施例中的阈值α为2以上。
然后,关于本实施例中的写程序0128的处理流程,表示与实施例1的不同点。
首先,当写对象页面的状态为(a1)时所执行的Write处理(1)与实施例1不同。图27中表示本实施方式中的Write处理(1)的处理流程的一例。在本处理流程中,为了使页面的状态从(a1)向(a2)迁移而需要调查页面内的非特定模式数据数量的步骤,这一点与实施例1中的Write处理(1)不同。
从步骤0701到步骤0706进行与实施例1同样的处理,因此省略说明。在步骤1301中,写程序0128检查非特定模式数据的数量,确认是否小于阈值β。非特定模式数据的数量,可以通过对写对象页面中存储的全部数据进行检查来确认,也可以在页面管理表中新设置用于记录非特定模式计数数量的栏,每当写入非特定模式数据时使该栏中记录的计数值每次增加1,由此来确认非特定模式数据的数量。
当非特定模式数据的数量小于阈值β时,首先,写程序0128生成与该页面对应的区段管理表0126(步骤1302)。然后,按照以下的步骤将该页面内的区段的信息记录在生成的区段管理表0126中。
写程序0128参照特定模式管理表0120顺次读取页面内的区段数据,来判定区段内的数据是否与特定模式的某一种相一致(步骤1303)。当写入该区段的数据与特定模式数据的某一种一致时,在该区段所对应的标志栏1262中设定0,将对应的ID记录在模式ID栏1264中(步骤1304)。在此,由于不是非特定模式数据,因此在区域#1263中记录null。
在步骤1302中读取的区段的数据与特定模式中任意一种都不一致时,写程序0128从区段用池0107中确保物理区域(步骤1306),在所确保的区域中写入该数据(步骤1307)。然后,在区段管理表0126的标志栏1262中记录2,记录所确保的区段用池0107的区域#1263。由于不是特定模式数据,因此在模式ID1264中记录null(步骤1308)。
在步骤1311中,判定是否针对页面内的全部区段已结束从步骤1303至步骤1308的处理,当未结束时返回步骤1303,针对剩余的区域重复上述处理。
通过以上的步骤,页面的状态从(a1)迁移到(a2),因此页面管理表0121的该页面的状态0204从0被变更为1(步骤1309)。
最后,释放被分配给该页面的页面用池0105内的物理区域(步骤1310)。
通过以上的图27的流程,即使是暂时分配了物理区域的页面,若成为在该页面内特定模式数据多、非特定模式数据少的状态,则仅向非特定模式数据分配物理区域,因此可以实现容量削减效果高的管理。
在本实施方式中,当写对象页面的状态为(a2)时,通过写程序0128执行的Write处理(2)也和实施例1不同。在图28中表示本实施方式中的Write处理(2)的处理流程的一例。
写数据与特定模式数据的某一种一致时的处理流程(步骤0801至步骤0804)与实施例1相同,因此省略说明。
在步骤0801中,当写数据与特定模式中的任意一种都不一致时,写程序0128取得写对象页面用的区段管理表0126,将写对象区段的标志栏1262设定为2(步骤1404)。然后,进入步骤1405,写程序0128参照区段管理表0126的标志栏1262,对于在写对象页面中存在多少个标志为2的区段进行计数。而且,写程序0128参照阈值管理表0127,取得与该页面对应的阈值α1272的值,判定在先计数的标志为2的区段的数量(即非特定模式数据的数量)是否超过了阈值α的值(步骤1405)。在步骤1405中,非特定模式数据的数量小于阈值α时的处理成为步骤1406~1408,但由于和图27的步骤1306~1308相同,因此省略说明。在步骤1405中,当非特定模式数据的数量超过阈值α的值时,写程序0128进入步骤1410,从页面用池0105向写对象页面分配物理区域(步骤1410)。然后,参照与该页面对应的区段管理表0126,针对标志1262为0的区段,参照该区段所对应的模式ID1264,取得模式管理表0121,将对应的特定模式数据存储在确保区域的该区段中。针对标志1262为1的区段,在所确保的区域的与该区段对应的区域中存储格式数据。当标志1262为2时,参照区域#1263,从池管理表0123取得与该区段对应的池LU#1234和开始地址1235,将该地址中存储的数据拷贝到确保区域的该区段(步骤1411)。然后,写程序0128释放与该页面对应的区段管理表0126(步骤1412),将与该页面对应的页面管理表0121的状态0204从1变更为0,然后结束(步骤1413)。
通过以上的图28的流程,即使在未分配物理区域的区域中接收到非特定模式数据的写请求的情况下,当非特定模式数据数量少时也不向接收到写请求的页面全体分配物理,而仅向非特定模式数据分配物理区域,由此可以提高存储的容量削减效果。
此外,当状态为(a3)的页面中接收到写请求时的写程序0128的处理流程与实施例1中说明的Write处理(3)相同,因此省略说明。

Claims (18)

1.一种存储子***,其特征在于,
具有:
处理器;
存储器;
虚拟卷;以及
由多个存储介质构成的、具有分配给所述虚拟卷的页面用物理区域的页面用卷,
所述处理器,将所述虚拟卷的地址空间分割为多个页面,将该多个页面的各个页面分类为至少包含第一状态和第二状态的多个状态中的某一状态来进行管理,
所述处理器将被分类为所述第二状态的页面进一步分割为多个区段来进行管理,
所述第一状态是以下状态:接受用于在页面中写入写数据的写请求的结果为,从所述页面用卷向该页面分配页面用物理区域,在该页面用物理区域中存储了写数据,
所述第二状态是以下状态:接受用于在页面内的区段中写入与预定的特定模式数据一致的写数据的写请求的结果为,在所述存储器内将该特定模式数据与该区段对应起来进行管理。
2.根据权利要求1所述的存储子***,其特征在于,
在所述多个状态中还包含第三状态,
所述第三状态是以下状态:未从所述页面用卷向页面分配页面用物理区域,并且未将该页面分割为区段来进行管理。
3.根据权利要求1所述的存储子***,其特征在于,
所述处理器,当由接收到的写请求中包含的地址而指定的页面为所述第一状态时,在分配给该页面的页面用物理区域中存储写数据。
4.根据权利要求3所述的存储子***,其特征在于,
当处于所述第一状态的所述页面内的数据全部与特定模式数据一致时,所述处理器以所述区段为单位分割所述页面,针对各区段将该区段和所述特定模式数据对应起来在所述存储器内进行管理,
所述处理器,释放已分配给所述页面的页面用物理区域,将该页面作为所述第二状态的页面来进行管理。
5.根据权利要求2所述的存储子***,其特征在于,
所述处理器,当由接收到的写请求中包含的地址而指定的页面为所述第二状态或所述第三状态时,判定写数据与所述特定模式数据是否一致。
6.根据权利要求5所述的存储子***,其特征在于,
所述处理器,当由所述写请求中包含的所述地址而指定的页面为所述第二状态、所述写数据与所述特定模式数据一致时,将所述特定模式数据与由所述地址指定的区段对应起来在所述存储器内进行管理,并放弃所述写数据。
7.根据权利要求5所述的存储子***,其特征在于,
所述处理器,当由所述写请求中包含的所述地址而指定的页面为所述第二状态、所述写数据与所述特定模式数据不一致时,从所述页面用卷向由所述地址指定的页面分配页面用物理区域,根据在所述存储器内管理的所述特定模式数据与该页面内的区段之间的对应关系,在分配给所述页面的所述页面用物理区域内的与该区段对应的物理区域中存储该特定模式数据,将该写数据存储在使用该地址确定的所述页面用物理区域内的物理区域中,
所述处理器将所述页面作为所述第一状态的页面来进行管理。
8.根据权利要求5所述的存储子***,其特征在于,
所述处理器,当由所述写请求中包含的地址而指定的页面为所述第三状态、所述写数据与所述特定模式数据一致时,以所述区段为单位分割所述页面,将由所述地址指定的区段与所述特定模式数据对应起来记录在所述存储器内,并放弃所述写数据,
所述处理器将所述页面作为所述第二状态的页面来进行管理。
9.根据权利要求5所述的存储子***,其特征在于,
所述处理器,当由所述写请求中包含的地址而指定的页面为所述第三状态、所述写数据与所述特定模式数据不一致时,从所述页面用卷向所述页面分配页面用物理区域,在该页面用物理区域中存储该写数据,
所述处理器将所述页面作为所述第一状态的页面来进行管理。
10.根据权利要求4所述的存储子***,其特征在于,
所述处理器,对存储在处于所述第一状态的所述页面中的数据内的、与所述特定模式数据一致的数据的数据数量进行计数,
所述处理器,当按照所述写请求接收到的所述写数据与所述特定模式数据一致时,将该写数据存储在分配给所述页面的所述页面用物理区域中,并使所述数据数量增加1,
所述处理器,当所述数据数量超过预定的第一阈值时,判定该页面内的全部数据是否与所述特定模式数据一致。
11.根据权利要求1所述的存储子***,其特征在于,
所述存储子***还具有:由多个存储介质构成的、具有分配给所述虚拟卷的区段用物理区域的区段用卷,
所述处理器,当在所述第一状态的页面内存储的、与所述特定模式数据一致的数据的数量超过预定的第一阈值,并且在所述页面内存储的、与所述特定模式数据不一致的数据的数量在预定的第二阈值以下时,以所述区段为单位分割该页面,
针对所述页面内的各区段,当在该区段中存储了与所述特定模式数据一致的数据时,所述处理器将该区段与该特定模式数据对应起来在所述存储器内进行管理,当在该区段中存储了与所述特定模式数据不一致的数据时,所述处理器从所述区段用卷对该区段分配区段用物理区域,在该区段用物理区域中存储该数据,
所述处理器释放已分配给所述页面的所述页面用物理区域,将该页面作为所述第二状态的页面来进行管理。
12.根据权利要求11所述的存储子***,其特征在于,
所述处理器,在接收到针对所述第二状态的页面的写请求的情况下,当按照该写请求接收到的写数据是与所述特定模式数据不一致的数据、并且该页面中存储的与所述特定模式数据不一致的数据的数量在所述第二阈值以下时,从所述区段用卷向该页面新分配区段用物理区域,在该区段用物理区域中存储该写数据。
13.根据权利要求1所述的存储子***,其特征在于,
所述存储子***还具有由多个存储介质构成的通常卷,
当将所述通常卷中存储的数据转移到所述虚拟卷时,
所述处理器从所述通常卷中顺次读取与所述区段相同大小的数据,将该读取的数据写入所述虚拟卷。
14.根据权利要求1所述的存储子***,其特征在于,
所述存储子***,与具有由多个存储介质构成的物理卷的其它存储子***相连,
所述存储子***从所述其它存储子***的所述物理卷的先头区段顺次读取数据,将该数据写入所述虚拟卷。
15.根据权利要求14所述的存储子***,其特征在于,
所述存储子***,对从所述物理卷中读取的数据中有多少个相同数据进行计数,
所述存储子***,当该计数数量的结果超过预先设定的阈值时,将该数据作为特定模式数据登录在所述存储器内。
16.一种存储***,具有发送源存储子***、以及与所述发送源存储子***可通信地连接的发送目的地存储子***,该存储***的特征在于,
所述发送源存储子***具有拷贝源卷,
所述发送目的地存储子***具有:虚拟卷;以及由多个记录介质构成的、具有分配给该虚拟卷的页面用物理区域的拷贝目的地物理卷,
所述发送目的地存储子***,将所述虚拟卷的地址空间分割为多个页面,将该多个页面的每个页面分类为至少包含第一状态和第二状态的多个状态中的某个状态来进行管理,
所述发送目的地存储子***,将处于所述第二状态的页面进一步分割为多个区段来进行管理,
所述第一状态是以下状态:接受用于在页面中写入数据的请求的结果为,从所述拷贝目的地物理卷向该页面分配页面用物理区域,将该数据分配给该页面用物理区域,
所述第二状态是以下状态:接受用于将与预定的特定模式数据一致的数据写入页面内的区段中的请求的结果为,将该区段与该特定模式数据对应起来进行管理的状态,
所述发送源存储子***,从所述拷贝源卷读出作为远程拷贝对象的数据,当所述读出的数据与所述特定模式数据一致时,将识别该特定模式数据的ID发送给所述发送目的地存储子***,
所述发送目的地存储子***,当从所述发送源存储子***接收到所述ID时,根据成为由该ID识别的所述特定模式数据的存储目的地的所述虚拟卷内的页面处于所述第一状态或所述第二状态的哪个状态,而执行不同的处理,
当成为由所述ID识别的所述特定模式数据的存储目的地的所述虚拟卷内的页面为所述第一状态时,所述发送目的地存储子***在分配给该页面的页面用物理区域中存储由该ID识别的所述特定模式数据,
当成为由所述ID识别的所述特定模式数据的存储目的地的所述虚拟卷内的页面为所述第二状态时,所述发送目的地存储子***将该ID与成为所述存储目的地的所述区段对应起来,在所述存储器内进行管理。
17.根据权利要求16所述的存储***,其特征在于,
所述拷贝源卷是所述发送源存储子***具有的虚拟卷。
18.根据权利要求16所述的存储***,其特征在于,
所述拷贝源卷是由多个存储介质构成的物理卷。
CN200910003562.0A 2008-01-29 2009-01-15 存储子*** Active CN101498991B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008017014 2008-01-29
JP2008-017014 2008-01-29
JP2008017014A JP5090941B2 (ja) 2008-01-29 2008-01-29 ストレージサブシステム及びストレージシステム

Publications (2)

Publication Number Publication Date
CN101498991A CN101498991A (zh) 2009-08-05
CN101498991B true CN101498991B (zh) 2011-07-27

Family

ID=40548021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910003562.0A Active CN101498991B (zh) 2008-01-29 2009-01-15 存储子***

Country Status (4)

Country Link
US (2) US8245007B2 (zh)
EP (1) EP2085867A3 (zh)
JP (1) JP5090941B2 (zh)
CN (1) CN101498991B (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938595B2 (en) * 2003-08-05 2015-01-20 Sepaton, Inc. Emulated storage system
US20090204636A1 (en) * 2008-02-11 2009-08-13 Microsoft Corporation Multimodal object de-duplication
US8219740B2 (en) * 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
WO2011014167A1 (en) * 2009-07-29 2011-02-03 Hewlett-Packard Development Company, L.P. Making a physical copy of data at a remote storage device
US8819452B2 (en) * 2009-11-25 2014-08-26 Cleversafe, Inc. Efficient storage of encrypted data in a dispersed storage network
US8281105B2 (en) * 2010-01-20 2012-10-02 Hitachi, Ltd. I/O conversion method and apparatus for storage system
US8447741B2 (en) * 2010-01-25 2013-05-21 Sepaton, Inc. System and method for providing data driven de-duplication services
WO2011099963A1 (en) * 2010-02-10 2011-08-18 Hewlett-Packard Development Company, L.P. Identifying a location containing invalid data in a storage media
US8427854B2 (en) * 2010-04-15 2013-04-23 Microsoft Corporation Utilization of memory refresh cycles for pattern matching
US9881099B2 (en) 2010-05-24 2018-01-30 International Business Machines Corporation System, method and computer program product for data transfer management
US9135171B2 (en) * 2010-07-13 2015-09-15 Vmware, Inc. Method for improving save and restore performance in virtual machine systems
CN101938516B (zh) * 2010-09-02 2012-11-14 华中科技大学 一种面向用户的动态分配存储资源的方法
JP5623239B2 (ja) 2010-10-28 2014-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 書込みレコードの重複を排除する記憶装置、及びその書込み方法
WO2012070094A1 (en) 2010-11-26 2012-05-31 Hitachi, Ltd. Computer system
US8533407B2 (en) 2010-12-01 2013-09-10 International Business Machines Corporation Capacity management in deduplication storage systems
US9122639B2 (en) 2011-01-25 2015-09-01 Sepaton, Inc. Detection and deduplication of backup sets exhibiting poor locality
JP5712713B2 (ja) 2011-03-18 2015-05-07 富士通株式会社 制御装置、制御方法およびストレージ装置
US9069477B1 (en) * 2011-06-16 2015-06-30 Amazon Technologies, Inc. Reuse of dynamically allocated memory
JP5780067B2 (ja) * 2011-09-01 2015-09-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US9542413B2 (en) * 2011-10-06 2017-01-10 Hitachi, Ltd. Stored data deduplication method, stored data deduplication apparatus, and deduplication program
WO2013160958A1 (en) * 2012-04-26 2013-10-31 Hitachi, Ltd. Information storage system and method of controlling information storage system
US8806126B2 (en) 2012-05-16 2014-08-12 Hitachi, Ltd. Storage apparatus, storage system, and data migration method
JP5995071B2 (ja) * 2012-09-19 2016-09-21 学校法人 中央大学 メモリコントローラ,データ記憶装置およびメモリの制御方法
US9766832B2 (en) 2013-03-15 2017-09-19 Hitachi Data Systems Corporation Systems and methods of locating redundant data using patterns of matching fingerprints
US9256611B2 (en) 2013-06-06 2016-02-09 Sepaton, Inc. System and method for multi-scale navigation of data
CN103473018B (zh) * 2013-09-10 2016-09-14 华为技术有限公司 硬盘和管理方法
US9678973B2 (en) 2013-10-15 2017-06-13 Hitachi Data Systems Corporation Multi-node hybrid deduplication
US9720608B2 (en) 2013-11-07 2017-08-01 Hitachi, Ltd. Storage system
WO2016057670A1 (en) * 2014-10-07 2016-04-14 Google Inc. Hardware-assisted memory compression management using page filter and system mmu
CN104765571A (zh) * 2015-03-17 2015-07-08 深信服网络科技(深圳)有限公司 虚拟数据写入、读取的方法及***
JP6587953B2 (ja) * 2016-02-10 2019-10-09 東芝メモリ株式会社 ストレージコントローラ、ストレージ装置、データ処理方法およびプログラム
US20170255387A1 (en) * 2016-03-04 2017-09-07 Intel Corporation Techniques to Cause a Content Pattern to be Stored to Memory Cells of a Memory Device
WO2017176256A1 (en) 2016-04-05 2017-10-12 Hewlett Packard Enterprise Development Lp Unmap to initialize sectors
JP6782303B2 (ja) * 2016-11-07 2020-11-11 株式会社日立製作所 計算機、計算機システムおよびデータ量制限方法
JP6826287B2 (ja) * 2016-12-28 2021-02-03 富士通株式会社 ストレージ制御装置、ストレージ管理システム、及びプログラム
KR102498668B1 (ko) 2017-05-17 2023-02-09 삼성전자주식회사 플래시-인지 힙 메모리 관리 방법 및 호스트 장치
JP6606235B1 (ja) * 2018-07-13 2019-11-13 株式会社日立製作所 ストレージシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1453715A (zh) * 2002-04-26 2003-11-05 株式会社日立制作所 拥有虚拟资源的存储***
CN1881167A (zh) * 2005-06-13 2006-12-20 株式会社日立制作所 存储控制装置及其控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE341141T1 (de) 2000-08-31 2006-10-15 Ontrack Data International Inc System und verfahren für datenverwaltung
US7092956B2 (en) * 2001-11-02 2006-08-15 General Electric Capital Corporation Deduplication system
JP2005135116A (ja) * 2003-10-29 2005-05-26 Nec Corp ストレージ装置及びそのアクセス制御方法
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
JP4589896B2 (ja) 2006-07-04 2010-12-01 株式会社リコー 画像処理装置と画像処理方法とプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1453715A (zh) * 2002-04-26 2003-11-05 株式会社日立制作所 拥有虚拟资源的存储***
CN1881167A (zh) * 2005-06-13 2006-12-20 株式会社日立制作所 存储控制装置及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2005-135116A 2005.05.26

Also Published As

Publication number Publication date
US8245007B2 (en) 2012-08-14
US8521985B2 (en) 2013-08-27
US20090193219A1 (en) 2009-07-30
EP2085867A2 (en) 2009-08-05
US20120303926A1 (en) 2012-11-29
CN101498991A (zh) 2009-08-05
JP2009181148A (ja) 2009-08-13
JP5090941B2 (ja) 2012-12-05
EP2085867A3 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
CN101498991B (zh) 存储子***
CN105589812B (zh) 磁盘碎片整理方法、装置及主机
CN101556529B (zh) 具有多个存储***模块的存储***
CN102929748B (zh) 数据备份方法及装置
CN108701002A (zh) 虚拟存储***
CN106610903A (zh) 层级化存储器***、存储器控制器和去重及存储器层级化方法
CN108733306B (zh) 一种文件合并方法及装置
CN103558992A (zh) 堆外直接内存数据存储器,创建和/或管理堆外直接内存数据存储器的方法,和/或包括堆外直接内存数据存储器的***
CN107168640A (zh) 存储***、信息处理***及非易失性存储器的控制方法
CN107168884A (zh) 存储***、信息处理***及非易失性存储器的控制方法
CN107168639A (zh) 存储***、信息处理***及非易失性存储器的控制方法
CN107924291A (zh) 存储***
CN107436725A (zh) 一种数据写、读方法、装置及分布式对象存储集群
CN105787037B (zh) 一种重复数据的删除方法及装置
CN103136110A (zh) 内存管理方法、内存管理装置及numa***
CN106598495A (zh) 一种混合存储服务质量的控制方法及控制装置
CN103150245B (zh) 确定数据实体的访问特性的方法和存储控制器
CN103229134A (zh) 存储设备及其控制方法
CN110928496B (zh) 一种在多控存储***上的数据处理方法及装置
CN100594480C (zh) 复制设备、复制方法和块标识数据获取方法
CN111078143B (zh) 基于段映射进行数据布局和调度的混合存储方法及***
CN110737389A (zh) 存储数据的方法和装置
CN108334457B (zh) 一种io处理方法及装置
Kumar et al. An extended approach to Non-Replicated dynamic fragment allocation in distributed database systems
JP2016129003A (ja) スナップショット管理方法、管理装置、およびスナップショット管理プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant