CN104360956B - 一种数据拷贝方法及装置 - Google Patents
一种数据拷贝方法及装置 Download PDFInfo
- Publication number
- CN104360956B CN104360956B CN201410608086.6A CN201410608086A CN104360956B CN 104360956 B CN104360956 B CN 104360956B CN 201410608086 A CN201410608086 A CN 201410608086A CN 104360956 B CN104360956 B CN 104360956B
- Authority
- CN
- China
- Prior art keywords
- physical address
- data
- mapping table
- address
- extent
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本发明公开一种数据拷贝方法及装置,将源数据从源二级分配单元Extent拷贝到目标Extent时,该方法包括:遍历源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。本发明所提供的方法和装置解决现有技术中从逻辑地址顺序拷贝数据导致拷贝速度慢的问题。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种数据拷贝方法及装置。
背景技术
自动精简配置技术是从传统的空间分配方式直接演化而来的一中存储虚拟化技术,自动精简配置技术将所有存储空间汇集到精简池(Pool)中进行统一管理,使用固定大小的二级分配单元(Extent)将空间分块,最终精简池管理的Extent按需分配给精简逻辑单元号(Thin Logical Unit Number,简称Thin LUN)供业务系统使用。自动精简配置特性能简化存储配置管理,提高物理存储空间的使用效率。
随着自动精简配置技术越来越成熟,应用越来越普遍,基于自动精简配置的增值应用越来越多,Thin LUN直接的拷贝越来越频繁,这对Thin LUN直接的拷贝速率提出了更高的要求,传统LUN的拷贝方式越来越不能满足用户的需求。
自动精简配置技术将物理存储空间以Extent为单位划分为多个Extent,Extent按需分配给Thin LUN,Extent的粒度较大(为1M到1G不等);Thin LUN申请到Extent后,再将Extent划分成粒度更小的一级分配单元(grain),grain的粒度一般在8K到32K之间。为了将从Extent划分出来的物理grain与逻辑空间相对应,Thin LUN将逻辑空间也按grain进行划分,这些从逻辑空间划分的grain称为逻辑grain。有写入数据的读写(Input/Output,IO)命令下发到Thin LUN的逻辑grain时,Thin LUN动态地分配一个物理grain给这个逻辑grain,并建立逻辑grain到物理grain的对应关系。记录逻辑grain到物理grain的映射关系的数据称之为元数据。
现有Thin LUN间拷贝技术是:基于Thin LUN的逻辑地址,由低地址到高地址依次拷贝,直到拷贝完成为止。但是该技术存在以下缺点:
从逻辑地址顺序拷贝,经过映射后在物理地址上变成随机IO,拷贝速度慢(顺序拷贝速率为500MB以上,随机IO一般低于32M(按照每秒进行读写操作的次数(Input/OutputOperations Per Second,IOPS)为1K,粒度为32K计算))。
发明内容
本发明提供一种数据拷贝方法,本发明所提供的方法和装置解决现有技术中从逻辑地址顺序拷贝数据导致拷贝速度慢的问题。
一方面,本发明提供一种数据拷贝方法,一源数据存储在存储空间的源二级分配单元Extent中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元grain记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系,将所述源数据拷贝到目标Extent时,该方法包括:
遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
结合第一方面,在第一种可能的实现方式中,根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置之前,该方法还包括:
确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
结合第一方面至第一方面的第一种可能的实现方式中的任意一种,在第二种可能的实现方式中,所述源数据中包括主机数据和一级映射表对应数据。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述一级映射表对应数据的相对物理地址为基础地址,其中,所述主机数据的相对物理地址为所述基础地址与偏移量之和。
结合第一方面至第一方面的第三种可能的实现方式中的任意一种,在第四种可能的实现方式中,所述二级映射表的存放结构包括树状结构、线性表结构、哈希hash表结构。
第二方面,本发明还提供一种数据拷贝装置,存储空间划分为多个二级分配单元Extent,一源数据存储在存储空间的源二级分配单元Extent中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元grain记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系;该装置包括:
相对物理地址获取单元,用于将所述源数据拷贝到目标Extent时,遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
写请求生成单元,用于将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
更新单元,用于根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
结合第二方面,在第一种可能的实现方式中,该装置还包括:
空间分配单元,用于确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
结合第二方面至第二方面的第一种可能的实现方式中的任意一种,在第二种可能的实现方式中,所述相对物理地址获取单元具体用于获取所述源数据中主机数据和一级映射表对应数据的相对物理地址。
上述技术方案中的一个或两个,至少具有如下技术效果:
本发明实施例所提供的方法和装置,获取数据的映射表分为两级,二级映射表是相对物理地址到实际物理地址的映射关系,拷贝数据时从二级映射表的物理地址获取需要拷贝的数据,并从物理地址进行拷贝(即本发明所提供的方法是从源LUN到目标LUN之间的裸数据拷贝),提升Thin LUN之间后台拷贝在物理空间上的顺序性,提升拷贝性能。
附图说明
图1为本发明实施例提供的一种数据拷贝方法的流程示意图;
图2为本发明实施例提供的二级映射表的结构示意图;
图3为本发明实施例提供的一种数据拷贝装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合说明书附图对本发明实施例作进一步详细描述:
实施例一
如图1所示,本发明实施例提供一种数据拷贝方法,该方法具体包括:
一源数据存储在存储空间的源二级分配单元(Extent)中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元(grain)记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系;
利用上述方式存储源数据后,如果用户要访问存储在Extent中的某一数据,用户则可以使用逻辑地址发起数据访问请求,然后设备利用访问请求中的逻辑地址查找一级映射表,通过一级映射表得到逻辑地址对应的相对物理地址;然后再通过相对物理地址查找二级映射表,在二级映射表中获取到相对物理地址对应的实际物理地址;通过实际物理地址获取用户需要访问的数据。
一级映射表和二级映射表的具体存放结构可以是任意结构,可选的具体结构包括树状结构、线性表结构、哈希(hash)表结构等。
当有新的数据存入,Thin LUN需要新的存储空间时,则向物理空间管理模块申请Extent;物理空间管理模块分配Extent完成后,更新二级映射表来记录分配给该Thin LUN的存储空间的实际物理地址与相对物理地址(可用extentId标示)的映射关系。
在数据拷贝的过程中,一级映射表对应数据没有变化且在数据拷贝时并不使用,所以一级映射表对应的数据可以作为源数据的一部分进行存储。所以该源数据中包括主机数据和一级映射表对应数据(二级映射表为树状结构时,具体可以为图2所示结构)。其中,存放一级映射表对应数据需要的物理空间和存储主机写入数据需要的物理空间都从extent分配。
因为一级映射表中标示了逻辑地址和相对物理地址之间的关系,而且用户在访问主机数据时,需要通过相对物理地址查找二级映射表,进而确定主机数据的物理地址。所以在二级映射表中一级映射表对应的数据的相对物理地址可以作为设置为其他数据相对物理地址的基础量,即主机数据的相对物理地址都基于一级映射表的相对物理地址计算得到(例如:二级映射表为树状结构,则一级映射表的相对物理地址为树根;二级映射表为线性表结构或hash表结构,则一级映射表的相对物理地址为表的首地址)。所以在该实施例中:
所述一级映射表对应数据的相对物理地址为基础地址,其中,所述主机数据的相对物理地址为所述基础地址与偏移量之和。
例如:一级映射表对应数据的相对物理地址为extentId,则主机数据的相对物理地址可以用extentId+偏移量(offset)来表示,extentId在一个LUN内统一编址,与具体的物理存储空间无关;
基于上述数据的存储方法,将源数据拷贝到目标Extent时,该方法实现具体包括:
步骤101,遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
在数据拷贝时,上述的一级映射表和二级映射表中只需要对二级映射表的实际物理地址做调整,则可以保证数据拷贝完成后用户使用原有的方式同样能够访问到新地址的数据。所以为了保证数据的一致性,需要从二级映射表中获取到与一级映射表关联的相对物理地址,然后通过相对物理地址去关联拷贝后新的实际物理地址。
步骤102,将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
将需要拷贝的数据以相对物理地址为单位读出后,需要通过对应的写入请求将读出的数据写入到新的物理地址(目标Extent),为了保证新的实际物理地址与相对物理地址的对应关系,写请求中携带相对物理地址。
步骤103,根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
在该实施例中,获取数据的映射表分为两级,二级映射表是相对物理地址到实际物理地址的映射关系,本发明实施提供的方案从二级映射表的物理地址获取需要拷贝的数据,并从物理地址进行拷贝,提升Thin LUN之间后台拷贝在物理空间上的顺序性,提升拷贝性能。
在该实施例中,根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置之前,还需要确定第一相对物理地址是否有在目标Extent分配物理空间用来存放数据,所以该方法还进一步包括:
确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
进一步,因为本发明实施例中一级映射表没有数据变化且在数据拷贝时并不使用,而且本发明实施例所提供的方法是将整个Extent作为拷贝的单位进行拷贝,所以在拷贝前后一级映射表在源数据中的相对位置都是不发生变化的,所以即使将一级映射表拷贝到目标Extent之后,用户需要访问一级映射表所使用的地址和源Extent的相同。
如图3所示,本发明实施例还提供一种数据拷贝装置,本发明实施例中所提供的装置所针对的存储空间划分为多个二级分配单元Extent,一源数据存储在存储空间的源二级分配单元Extent中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元grain记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系;该装置包括:
相对物理地址获取单元301,用于将所述源数据拷贝到目标Extent时,遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
可选的,所述相对物理地址获取单元301具体用于获取所述源数据中主机数据和一级映射表对应数据的相对物理地址。
写请求生成单元302,用于将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
更新单元303,用于根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
该实施例中,根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置之前,该装置还包括:
空间分配单元,用于确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
在本发明实施例中,获取数据的映射表分为两级,二级映射表是相对物理地址到实际物理地址的映射关系,拷贝数据时从二级映射表的物理地址获取需要拷贝的数据,并从物理地址进行拷贝(即本发明所提供的方法是从源LUN到目标LUN之间的裸数据拷贝),提升Thin LUN之间后台拷贝在物理空间上的顺序性,提升拷贝性能。
本发明的方法是在物理空间进行后台拷贝,确保IO在物理空间顺序寻址,提升性能。另外,数据拷贝时对没有分配空间的区域,不进行拷贝,提升拷贝速度。对Thin LUN一级映射表元数据进行直接拷贝,避免源数据反复读写,减少对CPU、盘等资源的消耗。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种数据拷贝方法,其特征在于,一源数据存储在存储空间的源二级分配单元Extent中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元grain记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系,将所述源数据拷贝到目标Extent时,该方法包括:
遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
2.如权利要求1所述的方法,其特征在于,根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置之前,该方法还包括:
确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
3.如权利要求1~2任一所述的方法,其特征在于,所述源数据中包括主机数据和一级映射表对应数据。
4.如权利要求3所述的方法,其特征在于,所述一级映射表对应数据的相对物理地址为基础地址,其中,所述主机数据的相对物理地址为所述基础地址与偏移量之和。
5.如权利要求1或2所述的方法,其特征在于,所述二级映射表的存放结构包括树状结构、线性表结构、哈希hash表结构。
6.一种数据拷贝装置,其特征在于,存储空间划分为多个二级分配单元Extent,一源数据存储在存储空间的源二级分配单元Extent中,用户通过源数据对应的一级映射表和二级映射表访问所述源数据,所述一级映射表用于按一级分配单元grain记录逻辑地址到相对物理地址的映射关系,所述二级映射表用于记录所述源数据的相对物理地址到实际物理地址的映射关系;该装置包括:
相对物理地址获取单元,用于将所述源数据拷贝到目标Extent时,遍历所述源数据对应的所述二级映射表,依次获取分配给所述源数据的相对物理地址;
写请求生成单元,用于将所述相对物理地址中第一相对物理地址对应的第一单位数据读出,生成将所述第一单位数据写入所述目标Extent的第一写请求,所述第一写请求中包括所述第一相对物理地址;
更新单元,用于根据所述第一写请求将所述第一单位数据写入目标Extent中的第一物理地址对应的位置,并将所述二级映射表中所述第一相对物理地址对应的物理地址调整为所述第一物理地址。
7.如权利要求6所述的装置,其特征在于,该装置还包括:
空间分配单元,用于确定所述第一相对物理地址是否有分配第一物理地址,如果没有,则为所述第一相对物理地址分配新的Extent,将所述新的Extent的物理地址作为所述第一物理地址。
8.如权利要求6或7任一所述的装置,其特征在于,所述相对物理地址获取单元具体用于获取所述源数据中主机数据和一级映射表对应数据的相对物理地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410608086.6A CN104360956B (zh) | 2014-10-31 | 2014-10-31 | 一种数据拷贝方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410608086.6A CN104360956B (zh) | 2014-10-31 | 2014-10-31 | 一种数据拷贝方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104360956A CN104360956A (zh) | 2015-02-18 |
CN104360956B true CN104360956B (zh) | 2018-01-16 |
Family
ID=52528220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410608086.6A Active CN104360956B (zh) | 2014-10-31 | 2014-10-31 | 一种数据拷贝方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104360956B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942857B1 (en) * | 2019-09-11 | 2021-03-09 | International Business Machines Corporation | Dynamically adjusting a number of memory copy and memory mapping windows to optimize I/O performance |
CN112799972B (zh) * | 2021-01-27 | 2023-04-07 | 成都佰维存储科技有限公司 | Ssd映射表的实现方法、装置、可读存储介质及电子设备 |
CN114780448A (zh) * | 2022-05-18 | 2022-07-22 | 苏州忆联信息系统有限公司 | 数据快速拷贝的方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
CN103150123A (zh) * | 2011-11-18 | 2013-06-12 | 株式会社日立制作所 | 存储子系统的自动精简配置池上的卷复制管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200627157A (en) * | 2005-01-26 | 2006-08-01 | Mitac Int Corp | Duplication method for one-to-many data storage medium |
-
2014
- 2014-10-31 CN CN201410608086.6A patent/CN104360956B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038639A (en) * | 1997-09-09 | 2000-03-14 | Storage Technology Corporation | Data file storage management system for snapshot copy operations |
CN103150123A (zh) * | 2011-11-18 | 2013-06-12 | 株式会社日立制作所 | 存储子系统的自动精简配置池上的卷复制管理方法 |
Non-Patent Citations (2)
Title |
---|
NTFS文件系统空间回收方法的研究;齐婵颖等;《计算机工程》;20140831;第40卷(第8期);第246-252页 * |
自动精简配置技术中空间回收方法的研究;韩朴杰等;《计算机与现代化》;20121231(第2012年第12期总第208期);第168-177页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104360956A (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708427B (zh) | 一种适用于键值对数据的存储方法 | |
US9298384B2 (en) | Method and device for storing data in a flash memory using address mapping for supporting various block sizes | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
KR101852668B1 (ko) | 어드레스 매핑 | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
TWI716416B (zh) | 儲存系統、用於管理儲存媒體的方法以及系統、操作儲存系統的方法、以及非暫存性電腦可讀媒體 | |
JP5314158B2 (ja) | ダイナミックストレージティアリング構成に基づいてデータをプレステージングする方法、及び、コンピュータ可読媒体 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN102185910B (zh) | 基于ssd和hdd混合存储的无盘网络服务器数据分布方法 | |
WO2020038186A1 (zh) | 数据迁移方法、装置及存储设备 | |
CN105389264B (zh) | 存储系统中垃圾收集的方法和系统 | |
CN103064797B (zh) | 数据处理方法和虚拟机管理平台 | |
CN104903872A (zh) | 用于自适应持久化的系统、方法和接口 | |
US10503424B2 (en) | Storage system | |
CN101645043B (zh) | 写数据的方法、读数据的方法及存储设备 | |
CN106201335B (zh) | 存储系统 | |
CN106708424A (zh) | 对用户数据执行选择性底层暴露映射的设备和方法 | |
CN103020550B (zh) | 一种固态硬盘及其安全访问方法、固态硬盘系统 | |
CN103514249A (zh) | 一种数据自精简方法和系统及存储装置 | |
US10929066B1 (en) | User stream aware file systems with user stream detection | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
US20240143219A1 (en) | Software-hardware combination method for internal mapping address query of zoned namespace | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
US20190004968A1 (en) | Cache management method, storage system and computer program product | |
KR20180086120A (ko) | 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘 |
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 |