WO2018120939A1 - Storage system expanded data migration method and storage system - Google Patents

Storage system expanded data migration method and storage system Download PDF

Info

Publication number
WO2018120939A1
WO2018120939A1 PCT/CN2017/103053 CN2017103053W WO2018120939A1 WO 2018120939 A1 WO2018120939 A1 WO 2018120939A1 CN 2017103053 W CN2017103053 W CN 2017103053W WO 2018120939 A1 WO2018120939 A1 WO 2018120939A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage system
expansion
disks
block
migration
Prior art date
Application number
PCT/CN2017/103053
Other languages
French (fr)
Chinese (zh)
Inventor
许胤龙
李志鹏
王元钢
Original Assignee
华为技术有限公司
中国科学技术大学
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
Priority claimed from CN201710100458.8A external-priority patent/CN108255413A/en
Application filed by 华为技术有限公司, 中国科学技术大学 filed Critical 华为技术有限公司
Priority to EP17886406.2A priority Critical patent/EP3474129A4/en
Publication of WO2018120939A1 publication Critical patent/WO2018120939A1/en
Priority to US16/291,852 priority patent/US10908833B2/en

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

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)

Abstract

Embodiments of the present invention relate to an expanded data migration method of a storage system, and a storage system, the storage system performing data migration after an expansion numbered i by means of using an auxiliary balanced incomplete block design; given that the number of blocks including any element in the auxiliary balanced incomplete block design is identical, and each migration unit includes an identical number of verification blocks, expanded data migration volume is minimized; in this way, time required for expanded data migration decreases significantly, and response delays to user requests caused by a data migration operation being necessary after expansion are reduced.

Description

一种存储系统扩容后数据迁移的方法、存储系统Method and storage system for data migration after storage system expansion
本申请要求于2016年12月29日提交中国专利局、申请号为201611251370.8、申请名称为“一种存储系统扩容后数据迁移的方法、存储系统”、以及于2017年02月23日提交中国专利局、申请号为201710100458.8、申请名称为“一种存储系统扩容后数据迁移的方法、存储系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application is required to be submitted to the China Patent Office on December 29, 2016, the application number is 201611251370.8, the application name is “a method for data migration after storage system expansion, storage system”, and the Chinese patent was submitted on February 23, 2017. The priority of the Chinese Patent Application No. 201710100458.8, the entire disclosure of which is hereby incorporated by reference.
技术领域Technical field
本申请涉及涉及存储技术领域,尤其涉及一种存储系统扩容后数据迁移的方法、存储系统。The present invention relates to the field of storage technologies, and in particular, to a method and a storage system for data migration after a storage system is expanded.
背景技术Background technique
现有技术中,存储系统用于保存企业、用户的海量数据,随着信息的爆炸式增长,需要保存在所述存储系统中的数据越来越多,所以经常会出现对已有存储系统进行扩容的需求。在现有技术中,在扩容后,需要针对扩容后的存储系统设计新的数据布局方式,并依据所述新的数据布局方式将扩容前的存储系统中已保存的全部数据迁移到扩容后的存储系统中的对应位置上,依据这种方法中,扩容前存储系统中保存的所有数据都会被迁移,由此导致扩容后的数据迁移工作量太大,数据迁移所需要的时间多。In the prior art, a storage system is used to store a large amount of data of an enterprise and a user. As the information grows explosively, more and more data needs to be stored in the storage system, so that an existing storage system often occurs. Demand for expansion. In the prior art, after the capacity expansion, a new data layout manner needs to be designed for the expanded storage system, and all the saved data in the storage system before the expansion is migrated to the expanded capacity according to the new data layout manner. According to this method, all the data saved in the storage system before the capacity expansion will be migrated. As a result, the data migration workload after the expansion is too large, and the data migration takes much time.
发明内容Summary of the invention
本申请提供了一种存储系统扩容后数据迁移的方法、存储系统,可以实现在所述存储系统扩容后只需要对扩容前的所保存的数据中部分数据进行迁移,由此降低扩容后数据迁移的工作量。The present invention provides a method and a storage system for data migration after the storage system is expanded. After the storage system is expanded, only part of the data in the saved data before the expansion is migrated, thereby reducing data migration after capacity expansion. The amount of work.
第一方面,本申请的实施例提供了一种存储系统扩容后数据迁移的方法,所述存储系统包括控制器,第i次扩容前所述存储系统包含vi-1个磁盘,第i次扩容后所述存储系统包括vi个磁盘,i大于等于1;所述控制器同所有磁盘可通信;所述数据在所述存储系统中基于校验块分散技术分布在所述磁盘上该方法包括:In a first aspect, an embodiment of the present application provides a method for data migration after a storage system is expanded. The storage system includes a controller. Before the i-th expansion, the storage system includes v i-1 disks, the i-th time. After the expansion, the storage system includes v i disks, i is greater than or equal to 1; the controller is communicable with all disks; and the data is distributed on the disk based on a check block dispersion technology in the storage system. include:
所述控制器确认第i次扩容的迁移单元包含的块个数;The controller confirms the number of blocks included in the migration unit of the i-th expansion;
将扩容前所述存储系统包含的vi-1个磁盘中的每个磁盘的存储空间分别划分为多个迁移单元,每个迁移单元包含上述个数的块;The storage space of each of the v i-1 disks included in the storage system before the expansion is divided into a plurality of migration units, and each migration unit includes the foregoing number of blocks;
基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000001
Based on the number of disks v i included in the storage system after expansion, and the number of disks included in the storage system before the capacity expansion, v i-1 confirms the auxiliary balance incomplete block design required for data migration after the i-th expansion.
Figure PCTCN2017103053-appb-000001
基于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000002
从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。
Based on the auxiliary balance incomplete block design
Figure PCTCN2017103053-appb-000002
Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks.
结合第一方面,在第一方面的第一种实现中,所述数据在所述存储系统中基于校验块分散技术分布在所述磁盘上具体为:With reference to the first aspect, in a first implementation of the first aspect, the data is distributed on the disk based on a check block decentralization technique in the storage system, specifically:
所述控制器基于完全区组设计表确定所述数据在所述存储系统的保存位置,所述完全区组设计表基于平衡不完全区组设计生成,所述平衡不完全区组设计的参数为(b,v,k,r,λ),其中:The controller determines, according to the complete block design table, a save location of the data in the storage system, the complete block design table is generated based on a balanced incomplete block design, and the parameter of the balanced incomplete block design is (b, v, k, r, λ), where:
v表示所述存储系统包含v个磁盘;v indicates that the storage system contains v disks;
b表示所述存储系统包含b个条带,分别对应所述平衡不完全区组设计的b个区组,所述b个区组中的每个区组中的每一个元素表示1个块在在所述存储系统中的磁盘的磁盘号;b indicates that the storage system includes b strips corresponding to b blocks of the balanced incomplete block design, and each element in each of the b blocks represents 1 block at The disk number of the disk in the storage system;
k表示每个条带包含k个块;k means that each stripe contains k blocks;
r表示每个磁盘包含r个块;r means that each disk contains r blocks;
所述v个磁盘中任意2个磁盘分别含有λ个相同的条带;Any two of the v disks respectively contain λ identical strips;
所述块是数据块或校验块。The block is a data block or a check block.
结合第一方面的第一种实现,在第一方面的第二种实现中,所述方法还包括:为每一次扩容后的存储系统生成完全区组设计表T[i],所述T[i]是在第i次扩容后为保存新数据所使用的完全区组设计表,其中bi、vi、ki、ri、λi为构成T[i]的BIBD参数。In conjunction with the first implementation of the first aspect, in a second implementation of the first aspect, the method further includes: generating a complete block design table T[i] for each of the expanded storage systems, the T[ i] is a complete block design table used to save new data after the ith expansion, where b i , v i , k i , r i , λ i are BIBD parameters constituting T[i].
结合第一方面,在第一方面的第三种实现中,所述基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认所述第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000003
具体为:
With reference to the first aspect, in a third implementation of the first aspect, the number of disks v i included in the storage system after the capacity expansion, and the number of disks included in the storage system before the capacity expansion v i-1 are confirmed Auxiliary balance incomplete block design required for data migration after the i-th expansion
Figure PCTCN2017103053-appb-000003
Specifically:
确认所述
Figure PCTCN2017103053-appb-000004
的参数
Figure PCTCN2017103053-appb-000005
的取值为所述vi的取值、
Figure PCTCN2017103053-appb-000006
的取值为所述vi-1的取值;
Confirm the said
Figure PCTCN2017103053-appb-000004
Parameter
Figure PCTCN2017103053-appb-000005
The value of the value of v i ,
Figure PCTCN2017103053-appb-000006
The value of the value is the value of the v i-1 ;
基于所述
Figure PCTCN2017103053-appb-000007
Figure PCTCN2017103053-appb-000008
查询平衡不完全区组设计数据库以确认
Figure PCTCN2017103053-appb-000009
的取值;
Based on the stated
Figure PCTCN2017103053-appb-000007
with
Figure PCTCN2017103053-appb-000008
Query balance incomplete block design database to confirm
Figure PCTCN2017103053-appb-000009
Value
基于所述
Figure PCTCN2017103053-appb-000010
和所述
Figure PCTCN2017103053-appb-000011
的取值确认查询所述平衡不完全区组设计数据库以确认构成所述
Figure PCTCN2017103053-appb-000012
的区组;
Based on the stated
Figure PCTCN2017103053-appb-000010
And said
Figure PCTCN2017103053-appb-000011
The value confirmation confirms the query of the incomplete block design database to confirm the composition
Figure PCTCN2017103053-appb-000012
Zone group
确认所述
Figure PCTCN2017103053-appb-000013
的参数
Figure PCTCN2017103053-appb-000014
Figure PCTCN2017103053-appb-000015
的取值。
Confirm the said
Figure PCTCN2017103053-appb-000013
Parameter
Figure PCTCN2017103053-appb-000014
with
Figure PCTCN2017103053-appb-000015
The value.
结合第一方面及上述任意一种实现,在第一方面的第四种实现中,In combination with the first aspect and any of the above implementations, in a fourth implementation of the first aspect,
所述控制器确认迁移单元包含的块个数具体为通过如下公式确认所述迁移单元包含的块的个数:The controller confirms that the number of blocks included in the migration unit is specifically determined by the following formula: the number of blocks included in the migration unit:
Figure PCTCN2017103053-appb-000016
Figure PCTCN2017103053-appb-000016
其中ri-1为构成T[i-1]的平衡不完全区组设计的参数;
Figure PCTCN2017103053-appb-000017
为构成B[i-1]的平衡不完全区组设计的参数,gcd为取最大公约数的操作
Where r i-1 is a parameter designed to form a balanced incomplete block of T[i-1];
Figure PCTCN2017103053-appb-000017
For the parameters designed to balance the incomplete block of B[i-1], gcd is the operation that takes the greatest common divisor
结合第一方面及上述任意一种实现,在第一方面的第五种实现中,所述基于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000018
从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上具体为:
In combination with the first aspect and any one of the foregoing implementations, in a fifth implementation of the first aspect, the design is based on the auxiliary balance incomplete block
Figure PCTCN2017103053-appb-000018
Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks The specific one of the disks is:
所述选择的至少1个迁移单元为Rm,n,其中m表示所述选择的至少1个迁移单元的迁移单元号,n表示所述选择的至少1个迁移单元所在的磁盘号; The selected at least one migration unit is Rm,n, where m represents a migration unit number of the selected at least one migration unit, and n represents a disk number of the selected at least one migration unit;
获取集合S0,所述集合S0为所述
Figure PCTCN2017103053-appb-000019
的区组m与集合{0,1,···,vi-1-1}的差集;
Obtaining a set S0, the set S0 being the
Figure PCTCN2017103053-appb-000019
The difference between the block m and the set {0,1,···, v i-1 -1};
获取集合S1,所述集合S1为集合{0,1,···,vi-1-1}与所述
Figure PCTCN2017103053-appb-000020
的区组m的差集;
Obtaining a set S1, the set S1 being a set {0, 1, . . . , v i-1 -1}
Figure PCTCN2017103053-appb-000020
The difference set of the block m;
若n的取值是集合S1中的第k小的元素,则确认所述迁移单元Rm,n待迁移到的目标磁盘号为所述集合S0中取值为第k小的元素;If the value of n is the kth small element in the set S1, it is confirmed that the target disk number to which the migration unit Rm, n is to be migrated is an element whose value is the kth in the set S0;
将所述迁移单元Rm,n迁移到与所述目标磁盘号相对应的磁盘上。The migration unit Rm,n is migrated to a disk corresponding to the target disk number.
可选的,在迁移过程中所述迁移单元Rm,n的偏移量保持不变。Optionally, the offset of the migration unit Rm,n remains unchanged during the migration process.
本申请的实施例的第二方面提供了一种存储系统,所述存储系统包括控制器,第i次扩容前所述存储系统包含vi-1个磁盘,第i次扩容后所述存储系统包括vi个磁盘,所述i大于等于1;所述控制器同所有磁盘可通信;A second aspect of the embodiment of the present application provides a storage system, where the storage system includes a controller, and the storage system includes v i-1 disks before the i-th expansion, and the storage system after the i-th expansion Include v i disks, the i being greater than or equal to 1; the controller is communicable with all disks;
所述磁盘,用于保存数据,所述数据基于校验块分散技术分布在所述磁盘上;The disk is configured to store data, where the data is distributed on the disk based on a check block dispersion technology;
所述控制器,用于确认第i次扩容的迁移单元包含的块个数;将扩容前所述存储系统包含的vi-1个磁盘中的每个磁盘的存储空间分别划分为多个迁移单元,每个迁移单元包含上述个数的块;基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000021
基于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000022
从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。
The controller is configured to confirm the number of blocks included in the migration unit of the i-th expansion; and divide the storage space of each of the v -1 disks included in the storage system before the expansion into multiple migrations a unit, each of the migration units includes the above-mentioned number of blocks; based on the number of disks v i included in the storage system after expansion, and the number of disks included in the storage system before the capacity expansion v i-1 , the data migration after the i-th expansion is confirmed. Auxiliary balance incomplete block design required
Figure PCTCN2017103053-appb-000021
Based on the auxiliary balance incomplete block design
Figure PCTCN2017103053-appb-000022
Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks.
所述第二方面的第一至第五种实现同上述第一方面的第一至第五种实现,此处不再赘述。The first to fifth implementations of the second aspect are the same as the first to fifth implementations of the first aspect described above, and are not described herein again.
第三方面,本申请的实施例提供了一种控制器,所述控制器应用于存储系统中,所述存储系统包括所述控制器,第i次扩容前所述存储系统包含vi-1个磁盘,第i次扩容后所述存储系统包括vi个磁盘,i大于等于1;所述控制器同所有磁盘可通信;所述数据在所述存储系统中基于校验块分散技术分布在所述磁盘上;所述控制器包括处理器、存储器,所述存储器保存有程序指令,所述处理器用于执行所述程序指令以完成如下动作:In a third aspect, an embodiment of the present application provides a controller, where the controller is applied to a storage system, where the storage system includes the controller, and the storage system includes v i-1 before the i-th expansion a disk, after the i-th expansion, the storage system includes v i disks, i is greater than or equal to 1; the controller is communicable with all disks; and the data is distributed in the storage system based on a check block dispersion technique The controller includes a processor and a memory, the memory stores program instructions, and the processor is configured to execute the program instructions to perform the following actions:
所述控制器确认第i次扩容的迁移单元包含的块个数;The controller confirms the number of blocks included in the migration unit of the i-th expansion;
将扩容前所述存储系统包含的vi-1个磁盘中的每个磁盘的存储空间分别划分为多个迁移单元,每个迁移单元包含上述个数的块;The storage space of each of the v i-1 disks included in the storage system before the expansion is divided into a plurality of migration units, and each migration unit includes the foregoing number of blocks;
基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000023
Based on the number of disks v i included in the storage system after expansion, and the number of disks included in the storage system before the capacity expansion, v i-1 confirms the auxiliary balance incomplete block design required for data migration after the i-th expansion.
Figure PCTCN2017103053-appb-000023
基于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000024
从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。
Based on the auxiliary balance incomplete block design
Figure PCTCN2017103053-appb-000024
Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks.
所述第三方面的第一至第五种实现同上述第一方面的第一至第五种实现,此处不再赘述。The first to fifth implementations of the third aspect are the same as the first to fifth implementations of the first aspect described above, and are not described herein again.
结合第三方面及第三方面的第二种实现,在第三方面的第七种实现中,所述控制器还包括第一通信接口,则所述第一通信接口还用于接收来自主机的写请求,所述写 请求携带有新的待写入的数据,所述存储器还用于缓存所述新的待写入数据,所述处理器确定所述新的待写入数据的校验块,所述处理器还用于根据所述T[i],通过所述第二通信接口将所述新的待写入数据和其校验块分别写入磁盘。With reference to the third aspect, and the second implementation of the third aspect, in a seventh implementation of the third aspect, the controller further includes a first communication interface, and the first communication interface is further configured to receive from the host Write request The request carries a new data to be written, the memory is further configured to buffer the new data to be written, the processor determines a check block of the new data to be written, and the processor further For writing the new data to be written and its check block to the disk through the second communication interface according to the T[i].
第四方面,本申请的实施例提供了一种存储介质,该存储介质中存储了程序,该程序被计算设备运行时,该计算设备执行前述第一方面或第一方面的任一实现方式提供的方法。该存储介质包括但不限于快闪存储器、HDD或SSD。In a fourth aspect, an embodiment of the present application provides a storage medium, where the program is stored, and when the program is run by the computing device, the computing device performs the foregoing first aspect or any implementation manner of the first aspect. Methods. The storage medium includes, but is not limited to, a flash memory, an HDD, or an SSD.
本申请第五方面提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被计算机执行时,该计算机执行前述第一方面或第一方面的任一实现方式提供的方法。该计算机程序产品可以为一个软件安装包。A fifth aspect of the present application provides a computer program product, comprising: program instructions, when the computer program product is executed by a computer, the computer performs the method provided by any of the foregoing first aspect or the first aspect . The computer program product can be a software installation package.
本发明实施例中,所述存储系统完成了第i次扩容后通过利用辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000025
指导数据迁移,由于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000026
中的任何元素包含在的区组的个数相同,且每个迁移单元内含有相同数量的校验块,扩容后数据迁移量达到最小,由此明显减小了扩容后数据迁移所需要的时间,也减小了因扩容后需要进行数据迁移操作而造成的对用户请求响应的延迟。
In the embodiment of the present invention, the storage system completes the ith expansion and uses the auxiliary balance incomplete block design.
Figure PCTCN2017103053-appb-000025
Guide data migration due to the incompletely balanced block design of the auxiliary balance
Figure PCTCN2017103053-appb-000026
Any element in the middle contains the same number of blocks, and each migration unit contains the same number of check blocks. After the expansion, the data migration amount is minimized, thereby significantly reducing the time required for data migration after capacity expansion. It also reduces the delay in responding to user requests caused by data migration operations after capacity expansion.
附图说明DRAWINGS
图1本发明实施例提供的存储系统的组成示意图;FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention;
图2为本发明实施例提供的一个(4,4,3,3,2)-BIBD的区组图;2 is a block diagram of a (4, 4, 3, 3, 2)-BIBD according to an embodiment of the present invention;
图3为本发明实施例提供的基于图2所示的BIBD构建的完全区组设计表示例图;3 is a diagram showing an example of a complete block design based on the BIBD shown in FIG. 2 according to an embodiment of the present invention;
图4为本发明实施例提供的一种在存储系统扩容后数据迁移的方法的流程示意图;FIG. 4 is a schematic flowchart of a method for data migration after a storage system is expanded according to an embodiment of the present disclosure;
图5为本发明实施例提供的一种辅助BIBD的区组图;FIG. 5 is a block diagram of an auxiliary BIBD according to an embodiment of the present invention;
图6为本发明实施例提供的数据迁移的逻辑示意图;FIG. 6 is a schematic diagram of data migration according to an embodiment of the present invention;
图7为本发明实施例提供的扩容后完成数据迁移后的数据布局示意图;FIG. 7 is a schematic diagram of data layout after data migration is completed after capacity expansion according to an embodiment of the present disclosure;
图8为本发明实施例提供的扩容后所述存储系统写入新数据的方法流程图;FIG. 8 is a flowchart of a method for writing new data by the storage system after capacity expansion according to an embodiment of the present invention;
图9为本发明实施例提供的扩容后所述存储系统写入新数据的示意图;FIG. 9 is a schematic diagram of writing new data by the storage system after capacity expansion according to an embodiment of the present invention;
图10为本发明实施例提供的一种控制器的结构示意图。FIG. 10 is a schematic structural diagram of a controller according to an embodiment of the present invention.
具体实施方式detailed description
图1描绘了本发明实施例提供的存储系统的组成图,所述存储系统包括控制器和磁盘,在实际组网中,所述磁盘可以有多个。FIG. 1 is a schematic diagram of a storage system provided by an embodiment of the present invention. The storage system includes a controller and a disk. In an actual networking, the disk may have multiple disks.
所述控制器与主机(图中未示出)可通信,如可以是通过存储区域网络(英文:Storage Area Network,SAN),也可以通过其他网络,如以太网、局域网、广域网等与所述主机通信。所述控制器可以是一种计算设备,如服务器、台式计算机等等,在所述控制器上可以安装操作系统以及应用程序。所述控制器可以接收来自主机的输入输出(I/O)请求。所述控制器还可以存储所述I/O请求中携带的数据(如果有的话),并且将该数据写入磁盘中。The controller can communicate with a host (not shown), such as through a storage area network (SAN), or through other networks, such as an Ethernet, a local area network, a wide area network, and the like. Host communication. The controller can be a computing device, such as a server, desktop computer, etc., on which an operating system and applications can be installed. The controller can receive input and output (I/O) requests from the host. The controller can also store data (if any) carried in the I/O request and write the data to disk.
图1仅是示例性说明,在实际应用中存储系统可包含多个控制器,每个控制器的物理结构和功能与控制器类似,各个控制器之间、以及各个控制器和磁盘之间能够相 互通信。本实施例并不限定控制器的个数、各个控制器之间的连接方式、以及任意一个控制器与磁盘之间的连接方式。FIG. 1 is merely an exemplary illustration. In practical applications, a storage system may include multiple controllers, each having a physical structure and function similar to that of a controller, between each controller, and between controllers and disks. Phase Intercommunication. This embodiment does not limit the number of controllers, the connection mode between the controllers, and the connection mode between any controller and the disk.
所述控制器是所述存储系统的系统控制器,系统控制器一般是独立的设备,如无特别指明,本实施例中的控制器都是指系统控制器。The controller is a system controller of the storage system, and the system controller is generally an independent device. Unless otherwise specified, the controller in this embodiment refers to a system controller.
待保存在所述存储系统中的每一个块(Chunk)按照满足平衡不完全区组设计(Balanced Incomplete Block Design,BIBD)的方式来决定该块在所述存储系统中的位置,所述每一个块可以是数据块,也可以是校验块,这种数据分布方式通常也叫做校验块分散(Parity Declustering)技术。其中BIBD为组合数学中的“平衡不完全区组设计”,定义如下:Each block (Chunk) to be saved in the storage system determines the location of the block in the storage system in a manner that satisfies the Balanced Incomplete Block Design (BIBD), each of which A block can be either a data block or a check block. This data distribution is also commonly referred to as Parity Declustering. Among them, BIBD is the “balanced incomplete block design” in combinatorial mathematics, which is defined as follows:
设集合X={0,1…,v-1},B={T0,T1…,Tb-1}是集合X上的一个区组(Tuple)设计,若满足如下条件则称B为(b,v,k,r,λ)-BIBD:Let the set X={0,1...,v-1}, B={T0,T1...,Tb-1} be a block design on the set X. If the following conditions are met, then B is called (b) ,v,k,r,λ)-BIBD:
|T0|=|T1|=…=|Tb-1|=k;|T0|=|T1|=...=|Tb-1|=k;
X中的任何元素均属于r个区组;Any element in X belongs to r blocks;
3)X中的任何一对元素均包含在λ个区组中。3) Any pair of elements in X are included in the λ block.
如图2所示,为一个(4,4,3,3,2)-BIBD,其中b=4,v=4,k=3,r=3,λ=2;其中X={0,1,2,3},B={T0,T1,T2,T3},T0即为区组0,T1即为区组1,T2即为区组2,T3即为区组3,且满足|T0|=|T1|=|T2|=|T3|=k=3;X中的任何元素均属于r=3个区组,如X中的元素0属于区组T0、T1、T2;X中的任何一对元素均包含在λ=2个区组中,如元素0和元素1这对元素包含在区组T0、T1中。As shown in Fig. 2, it is a (4,4,3,3,2)-BIBD, where b=4, v=4, k=3, r=3, λ=2; where X={0,1 , 2, 3}, B = {T0, T1, T2, T3}, T0 is the block 0, T1 is the block 1, T2 is the block 2, T3 is the block 3, and satisfies |T0 |=|T1|=|T2|=|T3|=k=3; any element in X belongs to r=3 blocks, for example, element 0 in X belongs to block T0, T1, T2; Any pair of elements is included in λ=2 blocks, such as element 0 and element 1, which are included in block T0, T1.
本发明实施例中,所述控制器利用(b,v,k,r,λ)-BIBD生成完全区组设计表(Full Block Design Table),并基于所述完全区组设计表决定每一个块在存储系统中的磁盘上的保存位置。在所述完全区组设计表所对应的存储系统中:由v个磁盘组成磁盘阵列,共有b个条带(Stripe),每个条带包含k个块,每个磁盘含有r个块,且任意2个磁盘分别含有λ个相同的条带,例如,磁盘1所保存的各个块所归属的条带与磁盘2所保存的各个块所归属的条带中有λ个条带是一致的。所述BIBD的b个区组分别对应所述b个条带,所述每一个区组中的每一个元素分别表示1个块应当保存在所述存储系统中的磁盘的磁盘号,在每个区组中可以标记部分元素用于表示校验块(Parity Chunk),且这种标记使校验块均匀分布。本发明实施例中,所述的校验块分散技术即是利用所述完全区组设计表来指导每一个块(如数据块、或校验块)应放置的磁盘号,且将所述每一个块在偏移量尽可能小的位置上,本实施例中,所述偏移量是指:以块的长度对每个磁盘的存储空间进行划分,每一个块长度的存储空间对应1个偏移量,可以从每个磁盘的起始存储位置开始对偏移量进行编号,一般从0开始编号。In the embodiment of the present invention, the controller generates a Full Block Design Table by using (b, v, k, r, λ)-BIBD, and determines each block based on the complete block design table. The location on the disk in the storage system. In the storage system corresponding to the complete block design table: a disk array composed of v disks, a total of b strips, each stripe containing k blocks, each disk containing r blocks, and Any two disks respectively contain λ identical strips. For example, the strips to which each block held by the disk 1 belongs are identical to the λ strips in the strip to which each block held by the disk 2 belongs. Each of the b blocks of the BIBD corresponds to the b strips, and each element in each block represents a disk number of a disk that should be saved in the storage system, respectively. Some elements can be marked in the block to represent the parity block (Parity Chunk), and this mark makes the check block evenly distributed. In the embodiment of the present invention, the verification block decentralization technique uses the complete block design table to guide the disk number that each block (such as a data block or a check block) should be placed, and each of the In a position where the offset is as small as possible, in the embodiment, the offset refers to dividing the storage space of each disk by the length of the block, and the storage space of each block length corresponds to one. Offset, the offset can be numbered starting from the starting storage location of each disk, generally starting from 0.
如图3所示,为本发明实施例通过图2所示的(4,4,3,3,2)-BIBD构建的完全区组设计表的示例图,以及基于所述完全区组设计表完成的块在与其对应存储系统中的位置分布,在图3左边的所述完全区组设计表中,条带号0-3分别对应于图2中的区组0-3,如上所述,每个条带对应的区组的内的每个元素表示相应的块在所述存储系统中的磁盘的磁盘号,图中的方框用于标记该条带中的校验块,每个条带中方框内的元素表示该条带中的校验块保存在所述存储系统中的磁盘的磁盘号。如图所示,条带0对应的区组T0取值为{0,1,2},即表示所述条带0所包含的3个块分别应该保存在磁盘号为 D0、D1、D2的3个磁盘上,其中条带0的第一元素是校验块,该校验块应该在磁盘D0上,所以在图3右边的磁盘阵列中P0、D0,0、D0,1分别在磁盘D0、D1、D2上,这里Pi表示第i个条带的校验块,Di,j表示第i个条带的数据块,j取值为0至k-1,分别表示第i个条带中的k个数据块。FIG. 3 is a diagram showing an example of a complete block design table constructed by (4, 4, 3, 3, 2)-BIBD shown in FIG. 2 according to an embodiment of the present invention, and based on the complete block design table. The position distribution of the completed block in its corresponding storage system. In the complete block design table on the left side of FIG. 3, the strip numbers 0-3 correspond to the block 0-3 in FIG. 2, respectively, as described above. Each element within the corresponding block of each strip represents the disk number of the disk of the corresponding block in the storage system, and the box in the figure is used to mark the check block in the strip, each strip The element in the band box indicates the disk number of the disk in which the check block in the strip is stored in the storage system. As shown in the figure, the block T0 corresponding to the strip 0 takes the value {0, 1, 2}, that is, the three blocks included in the strip 0 should be saved in the disk number respectively. On the three disks of D0, D1, and D2, the first element of strip 0 is a check block, and the check block should be on disk D0, so P0, D0, 0, D0 in the disk array on the right side of FIG. 1 is on the disks D0, D1, D2, respectively, where Pi represents the parity block of the i-th slice, Di, j represents the data block of the i-th slice, and j takes values from 0 to k-1, respectively k data blocks in the i-th strip.
本发明实施例中,假设T[0]、T[1]、…、T[t]为在扩容的历史记录中使用的完全区组设计表,其中T[i]是在第i次扩容后为填充新数据所使用的完全区组设计表,T[0]即为所述存储系统没有进行过任何扩容前所使用的完全区组设计表,其中bi、vi、ki、ri、λi为构成T[i]的BIBD参数。在第i次扩容过程中增加的磁盘数为vi-vi-1
Figure PCTCN2017103053-appb-000027
Figure PCTCN2017103053-appb-000028
为在扩容的历史记录中使用的辅助平衡不完全区组设计,其中
Figure PCTCN2017103053-appb-000029
为在第i次扩容后数据迁移所需要的辅助BIBD,
Figure PCTCN2017103053-appb-000030
Figure PCTCN2017103053-appb-000031
的BIBD参数,且需满足
Figure PCTCN2017103053-appb-000032
Figure PCTCN2017103053-appb-000033
基于上述描述,本领域技术人员可以理解的是:若所述存储系统没有进行过任何扩容,则所述控制器基于所述T[0]来决定新写入的数据在磁盘上的保存位置,也是基于所述T[0]来查询已保存的数据;当进行第1次扩容时,生成
Figure PCTCN2017103053-appb-000034
并基于所述
Figure PCTCN2017103053-appb-000035
完成数据迁移,然后在所述第一次扩容后的存储系统中,所述控制器基于所述T[0]和所述
Figure PCTCN2017103053-appb-000036
完成对第一次扩容前已保存的数据进行查询,并进一步生成T[1],用于基于所述T[1]来决定第1次扩容后再写入所述存储系统中的数据的保存位置;进一步的,当需要第2次扩容时,所述控制器生成
Figure PCTCN2017103053-appb-000037
并基于所述
Figure PCTCN2017103053-appb-000038
完成数据迁移,然后在所述第2次扩容后的存储系统中,所述控制器基于所述T[0]、所述
Figure PCTCN2017103053-appb-000039
所述T[1]和所述
Figure PCTCN2017103053-appb-000040
完成对第2次扩容前已保存的数据进行查询,并进一步生成T[2],用于基于所述T[2]来决定第2次扩容后再写入所述存储系统中的数据的保存位置,依次类推,在第i次扩容后,所述控制器基于所述T[0]、T[1]、…、T[i-1]、以及基于所述
Figure PCTCN2017103053-appb-000041
Figure PCTCN2017103053-appb-000042
来完成对在所述第i次扩容前已保存的数据进行查询,并且进一步生成T[i],并基于所述T[i]决定第i次扩容后再写入所述存储系统中的数据的保存位置。
In the embodiment of the present invention, it is assumed that T[0], T[1], ..., T[t] is a complete block design table used in the expanded history, where T[i] is after the ith expansion. The complete block design table used to populate the new data, T[0] is the complete block design table used before the storage system has not undergone any expansion, where b i , v i , k i , r i λ i is a BIBD parameter constituting T[i]. The number of disks added during the i-th expansion process is v i -v i-1 .
Figure PCTCN2017103053-appb-000027
Figure PCTCN2017103053-appb-000028
Auxiliary balance incomplete block design used in the history of capacity expansion, where
Figure PCTCN2017103053-appb-000029
The secondary BIBD required for data migration after the ith expansion.
Figure PCTCN2017103053-appb-000030
for
Figure PCTCN2017103053-appb-000031
BIBD parameters and need to be met
Figure PCTCN2017103053-appb-000032
Figure PCTCN2017103053-appb-000033
Based on the above description, those skilled in the art can understand that if the storage system has not undergone any expansion, the controller determines the storage location of the newly written data on the disk based on the T[0]. The saved data is also queried based on the T[0]; when the first expansion is performed, the generation is performed.
Figure PCTCN2017103053-appb-000034
And based on the
Figure PCTCN2017103053-appb-000035
Complete data migration, and then in the storage system after the first expansion, the controller is based on the T[0] and the
Figure PCTCN2017103053-appb-000036
Completing the query of the saved data before the first expansion, and further generating T[1] for determining the preservation of the data written in the storage system after the first expansion based on the T[1] Position; further, when the second expansion is required, the controller generates
Figure PCTCN2017103053-appb-000037
And based on the
Figure PCTCN2017103053-appb-000038
Performing data migration, and then in the storage system after the second expansion, the controller is based on the T[0], the
Figure PCTCN2017103053-appb-000039
Said T[1] and said
Figure PCTCN2017103053-appb-000040
Completing the query of the saved data before the second expansion, and further generating T[2] for determining the preservation of the data written in the storage system after the second expansion based on the T[2] Position, and so on, after the ith expansion, the controller is based on the T[0], T[1], ..., T[i-1], and based on the
Figure PCTCN2017103053-appb-000041
Figure PCTCN2017103053-appb-000042
Completing the query of the data saved before the ith expansion, and further generating T[i], and determining the data written in the storage system after the ith expansion based on the T[i] The location of the save.
如图4所示,为本发明实施例提供的一种在存储系统扩容后数据迁移的方法的流程示意图。FIG. 4 is a schematic flowchart diagram of a method for data migration after a storage system is expanded according to an embodiment of the present invention.
步骤400、控制器确认迁移单元包含的块的个数Step 400: The controller confirms the number of blocks included in the migration unit.
扩容前,将每个磁盘的存储空间划分若干区域,每个区域包含相同数量的块,在所述存储系统中每一磁盘的同偏移量范围的区域内所读取的数据量相同,这样的区域作为迁移单元,可知每个迁移单元含有相同数量的校验块。数据迁移的过程中,迁移单元为数据迁移最小单位。一个迁移单元如需迁移,则其内的块全部迁移。本发明实施例中,定义leni如下公式,用于表示在第i次扩容中,一个迁移单元所含的块的个数:Before capacity expansion, the storage space of each disk is divided into several areas, each area contains the same number of blocks, and the amount of data read in the same offset range area of each disk in the storage system is the same, As a migration unit, each migration unit contains the same number of parity blocks. During data migration, the migration unit is the smallest unit of data migration. If a migration unit needs to be migrated, all the blocks within it will migrate. In the embodiment of the present invention, the definition of len i is as follows, and is used to indicate the number of blocks included in one migration unit in the ith expansion:
Figure PCTCN2017103053-appb-000043
Figure PCTCN2017103053-appb-000043
上述公式的含义如下:The meaning of the above formula is as follows:
当i=1时,即所述存储系统第1次扩容时,所述迁移单元应包含的块的个数为r0When i=1, that is, when the storage system is expanded for the first time, the number of blocks that the migration unit should include is r 0 ;
当i>1时, When i>1,
Figure PCTCN2017103053-appb-000044
Figure PCTCN2017103053-appb-000044
其中,gcd为取最大公约数的操作,其中ri-1为构成T[i-1]的平衡不完全区组设计的参数;
Figure PCTCN2017103053-appb-000045
为构成B[i-1]的平衡不完全区组设计的参数。
Where gcd is the operation taking the greatest common divisor, where r i-1 is a parameter designed to form a balanced incomplete block of T[i-1];
Figure PCTCN2017103053-appb-000045
A parameter designed to form a balanced incomplete block of B[i-1].
假设如图3所示的4块磁盘组成的存储系统还未做过扩容,则构成所述存储系统的T[0]的BIBD参数为(b0,v0,k0,r00)=(4,4,3,3,2),以第1次扩容为例,迁移单元包含块的个数为len1=r0=3,即第1扩容的迁移单元中包含的块的个数为3。Assuming that the storage system composed of four disks as shown in FIG. 3 has not been expanded yet, the BIBD parameters of T[0] constituting the storage system are (b 0 , v 0 , k 0 , r 0 , λ 0 ) = (4, 4, 3, 3, 2), taking the first expansion as an example, the number of blocks included in the migration unit is len 1 = r 0 = 3, that is, the block included in the migration unit of the first expansion The number is 3.
所述控制器基于上述方法确定第i次扩容后进行数据迁移所需的迁移单元所包含的块数leni后,基于所述leni将所述存储系统在第i次扩容前所包含的每个磁盘的存储空间进行划分,得到一个或多个区域,若某个区域包含有效块,也即该区域在扩容前保存有有效数据,则说明该区域是一个迁移单元。本领域普通技术人员可以理解的是,若某个区域不包含有效块,则表明该区域在扩容前没有存储数据、或存储的数据已经被删除,则表明该区域在扩容后不需要进行数据迁移。本发明实施例中,可以用Rm,n表示一个迁移单元,其中m表示该迁移单元的迁移单元号,n表示该迁移单元在所述存储系统进行第i次扩容前所在的磁盘号。本发明实施例中,所述m可以通过如下公式计算获得:After the controller determines the number of blocks len i included in the migration unit required for data migration after the i-th expansion based on the foregoing method, each of the storage systems is included before the ith expansion based on the len i The storage space of the disk is divided into one or more areas. If an area contains a valid block, that is, the area stores valid data before the expansion, the area is a migration unit. A person skilled in the art can understand that if an area does not contain a valid block, it indicates that the area does not store data before the capacity expansion, or the stored data has been deleted, indicating that the area does not need to be migrated after the expansion. . In the embodiment of the present invention, a migration unit may be represented by Rm, n, where m represents the migration unit number of the migration unit, and n represents the disk number of the migration unit before the ith expansion of the storage system. In the embodiment of the present invention, the m can be obtained by the following formula:
Figure PCTCN2017103053-appb-000046
Figure PCTCN2017103053-appb-000046
即磁盘n上每一个块的偏移量除以所述leni后向下取整,可以得知该块所归属的迁移单元的迁移单元号。以前述例子说明,假设所述存储系统第1次扩容迁移单元中包含的块的个数为3,则根据上述公式可知,在每个磁盘上,偏移量为0、1、2的3个块归属迁移单元0,偏移量为3、4、5的3个块归属迁移单元1,以此类推。That is, the offset of each block on the disk n is divided by the len i and rounded down to know the migration unit number of the migration unit to which the block belongs. According to the foregoing example, it is assumed that the number of blocks included in the first expansion and migration unit of the storage system is three, and according to the above formula, three offsets are 0, 1, and 2 on each disk. The block belongs to the migration unit 0, the three blocks with the offsets of 3, 4, and 5 belong to the migration unit 1, and so on.
步骤401、所述控制器确认本次迁移的辅助平衡不完全区组设计Step 401: The controller confirms that the auxiliary balance incomplete block design of the migration is performed.
如上所述,其中
Figure PCTCN2017103053-appb-000047
为在第i次扩容过程中所使用的辅助BIBD,
Figure PCTCN2017103053-appb-000048
Figure PCTCN2017103053-appb-000049
的BIBD参数,且需满足
Figure PCTCN2017103053-appb-000050
也即在第i扩容时迁移数据需要的辅助BIBD
Figure PCTCN2017103053-appb-000051
的参数取值中,
Figure PCTCN2017103053-appb-000052
的取值为所述存储系统第i次扩容后所包含的磁盘数vi的取值,
Figure PCTCN2017103053-appb-000053
的取值为第i次扩容前所述存储系统所包含的磁盘数vi-1的取值。进一步的,在明确了
Figure PCTCN2017103053-appb-000054
Figure PCTCN2017103053-appb-000055
两个参数的取值后,所述控制器可以查询BIBD数据库,从与所述
Figure PCTCN2017103053-appb-000056
Figure PCTCN2017103053-appb-000057
相匹配的多个λ取值中选择1个作为
Figure PCTCN2017103053-appb-000058
的取值,需要强调的是,当
Figure PCTCN2017103053-appb-000059
取值越大,则会导致后续数据查询时需要的耗时越高,通常情况下,
Figure PCTCN2017103053-appb-000060
建议取较小的值。在所述控制器确认
Figure PCTCN2017103053-appb-000061
Figure PCTCN2017103053-appb-000062
的取值后,就可以在所述BIBD数据库中查询与所述
Figure PCTCN2017103053-appb-000063
Figure PCTCN2017103053-appb-000064
对应的区组,以得到第i次迁移所需要的辅助BIBD。进一步的,所述控制器还要确认所述辅助BIBD
Figure PCTCN2017103053-appb-000065
Figure PCTCN2017103053-appb-000066
Figure PCTCN2017103053-appb-000067
的取值,本发明实施例中,可以有2种方式得到所述
Figure PCTCN2017103053-appb-000068
Figure PCTCN2017103053-appb-000069
的取值,方法1:可以依据如下公式确认
Figure PCTCN2017103053-appb-000070
Figure PCTCN2017103053-appb-000071
的取值:
As mentioned above, where
Figure PCTCN2017103053-appb-000047
For the auxiliary BIBD used in the i-th expansion process,
Figure PCTCN2017103053-appb-000048
for
Figure PCTCN2017103053-appb-000049
BIBD parameters and need to be met
Figure PCTCN2017103053-appb-000050
That is, the auxiliary BIBD required to migrate data during the ith expansion.
Figure PCTCN2017103053-appb-000051
In the value of the parameter,
Figure PCTCN2017103053-appb-000052
The value of the number of disks v i included in the storage system after the i-th expansion is
Figure PCTCN2017103053-appb-000053
The value is the value of the number of disks v i-1 included in the storage system before the i-th expansion. Further, it is clear
Figure PCTCN2017103053-appb-000054
with
Figure PCTCN2017103053-appb-000055
After taking the values of the two parameters, the controller can query the BIBD database, from the
Figure PCTCN2017103053-appb-000056
with
Figure PCTCN2017103053-appb-000057
Select one of the multiple λ values to match
Figure PCTCN2017103053-appb-000058
The value of the need to emphasize is when
Figure PCTCN2017103053-appb-000059
The larger the value, the higher the time required for subsequent data queries. Usually,
Figure PCTCN2017103053-appb-000060
It is recommended to take a smaller value. Confirmed by the controller
Figure PCTCN2017103053-appb-000061
with
Figure PCTCN2017103053-appb-000062
After the value is obtained, it can be queried and described in the BIBD database.
Figure PCTCN2017103053-appb-000063
with
Figure PCTCN2017103053-appb-000064
Corresponding block to get the secondary BIBD required for the i-th migration. Further, the controller further confirms the auxiliary BIBD
Figure PCTCN2017103053-appb-000065
in
Figure PCTCN2017103053-appb-000066
with
Figure PCTCN2017103053-appb-000067
In the embodiment of the present invention, the method can be obtained in two ways.
Figure PCTCN2017103053-appb-000068
with
Figure PCTCN2017103053-appb-000069
Value, method 1: can be confirmed according to the following formula
Figure PCTCN2017103053-appb-000070
with
Figure PCTCN2017103053-appb-000071
Value:
Figure PCTCN2017103053-appb-000072
Figure PCTCN2017103053-appb-000072
Figure PCTCN2017103053-appb-000073
Figure PCTCN2017103053-appb-000073
方法2:所述控制器可以直接通过统计上述在所述BIBD数据库中查询到的与所述
Figure PCTCN2017103053-appb-000074
Figure PCTCN2017103053-appb-000075
对应的区组,也可以得到所述
Figure PCTCN2017103053-appb-000076
Figure PCTCN2017103053-appb-000077
的取值。
Method 2: The controller can directly query and query the foregoing in the BIBD database by counting
Figure PCTCN2017103053-appb-000074
with
Figure PCTCN2017103053-appb-000075
The corresponding block can also be obtained
Figure PCTCN2017103053-appb-000076
with
Figure PCTCN2017103053-appb-000077
The value.
针对图3所示的存储4块磁盘组成的存储系统,在第1次扩容前其BIBD如图2所示,其相应的T[0]如图3所示。假设在第1扩容时增加了3块磁盘,即扩容后阵列所含的磁盘数为v1=4+3=7,记
Figure PCTCN2017103053-appb-000078
的参数为
Figure PCTCN2017103053-appb-000079
参数需要满足
Figure PCTCN2017103053-appb-000080
Figure PCTCN2017103053-appb-000081
如图5所示,为一个满足该条件的
Figure PCTCN2017103053-appb-000082
则所述
Figure PCTCN2017103053-appb-000083
的参数为(7,7,4,4,2)。
For the storage system composed of four disks shown in FIG. 3, its BIBD is shown in FIG. 2 before the first expansion, and its corresponding T[0] is shown in FIG. 3. Assume that three disks are added during the first expansion, that is, the number of disks included in the array after expansion is v 1 =4+3=7,
Figure PCTCN2017103053-appb-000078
The parameter is
Figure PCTCN2017103053-appb-000079
Parameters need to be met
Figure PCTCN2017103053-appb-000080
Figure PCTCN2017103053-appb-000081
As shown in Figure 5, for a condition that satisfies this condition
Figure PCTCN2017103053-appb-000082
Then
Figure PCTCN2017103053-appb-000083
The parameters are (7, 7, 4, 4, 2).
上述步骤400与步骤401的执行没有时间先后顺序的限制,2个步骤可以同时进行,也可以先执行步骤400再执行步骤401,或者反之。The execution of the above steps 400 and 401 is not limited by the chronological order. The two steps may be performed simultaneously, or the step 400 may be performed first and then the step 401 may be performed, or vice versa.
步骤402、所述控制器迁移数据Step 402: The controller migrates data
所述控制器基于所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000084
从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。其中,所述辅助平衡不完全区组设计
Figure PCTCN2017103053-appb-000085
决定了第i次扩容后各迁移单元所在的磁盘号,针对任一迁移单元Rm,n,则根据所述
Figure PCTCN2017103053-appb-000086
的区组m来决定所述Rm,n是否需要迁移。本发明实施例中,可参照如下准则判断某一迁移单元Rm,n是否需要迁移:若Rm,n已在辅助BIBD所指示的磁盘上,则该迁移单元Rm,n不需迁移,否则迁移至由辅助BIBD指示的新添加的磁盘上。具体的,当n的取值已经在所述
Figure PCTCN2017103053-appb-000087
的区组m中,则表明Rm,n已在辅助BIBD所指示的磁盘上,则所述迁移单元Rm,n不用迁移,否则根据所述所述
Figure PCTCN2017103053-appb-000088
的区组m的指示将所述迁移单元Rm,n迁移到新添加的磁盘上。本发明实施例中,所述根据所述所述
Figure PCTCN2017103053-appb-000089
的区组m的指示将所述迁移单元Rm,n迁移到新添加的磁盘上具体可以参照如下方法进行:
The controller is based on the auxiliary balance incomplete block design
Figure PCTCN2017103053-appb-000084
Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks. Wherein the auxiliary balance incomplete block design
Figure PCTCN2017103053-appb-000085
Determining the disk number of each migration unit after the i-th expansion, for any migration unit Rm,n, according to the
Figure PCTCN2017103053-appb-000086
The block m determines whether the Rm, n needs to be migrated. In the embodiment of the present invention, the following criteria may be used to determine whether a migration unit Rm,n needs to be migrated: if Rm,n is already on the disk indicated by the secondary BIBD, the migration unit Rm,n does not need to be migrated, otherwise it migrates to On the newly added disk indicated by the secondary BIBD. Specifically, when the value of n is already in the
Figure PCTCN2017103053-appb-000087
In the block m, it indicates that Rm,n is already on the disk indicated by the secondary BIBD, then the migration unit Rm,n does not need to be migrated, otherwise according to the
Figure PCTCN2017103053-appb-000088
The indication of the zone group m migrates the migration unit Rm,n onto the newly added disk. In the embodiment of the present invention, the according to the
Figure PCTCN2017103053-appb-000089
The indication of the block m is to migrate the migration unit Rm, n to the newly added disk. For details, refer to the following method:
假设所述迁移单元Rm,n应迁移到的磁盘号表示为X,则X可如下计算:Assuming that the disk number to which the migration unit Rm,n should be migrated is represented as X, then X can be calculated as follows:
获取集合S0,所述集合S0为所述
Figure PCTCN2017103053-appb-000090
的区组m与集合{0,1,···,vi-1-1}的差集;
Obtaining a set S0, the set S0 being the
Figure PCTCN2017103053-appb-000090
The difference between the block m and the set {0,1,···, v i-1 -1};
获取集合S1,所述集合S1为集合{0,1,···,vi-1-1}与所述
Figure PCTCN2017103053-appb-000091
的区组m的差集;
Obtaining a set S1, the set S1 being a set {0, 1, . . . , v i-1 -1}
Figure PCTCN2017103053-appb-000091
The difference set of the block m;
若n的取值是集合S1中的第k小的元素,则磁盘号X的取值为集合S0中第k小的元素。If the value of n is the kth small element in the set S1, the value of the disk number X is the kth small element in the set S0.
举例说明,如图6所示,为数据迁移的逻辑示意图,其中每个圆点代表1个迁移单元,如图可知,扩容后,位于磁盘D4至D6的圆点为被迁移的单元。扩容后,数据布局如图7所示,数据块D4,1的迁移过程如下所述:在扩容前D4,1在磁盘D2,其偏移量为3,如步骤400计算的每个迁移单元包含3个块,则D4,1归属的迁移单元号L为3/3=1,可将所述D4,1所归属的迁移单元标记为R1,2,也即m取值为1,n取值为2。故利用辅助BIBD的区组1:{0,1,4,5}进行迁移,因为n的取值2不在所述区组1中,则表明所述迁移单元R1,2需要被迁移。本领域技术人员可以理解的是,在迁移前4个磁盘(D0-D3)相同偏移量范围的所保存的块对应的迁移单元对应的区组为 {0,1,2,3},则在确认所述迁移单元R1,2需迁移到的磁盘号X具体为:集合S1为{0,1,2,3}-{0,1,4,5}={2,3},集合S0为{0,1,4,5}–{0,1,2,3}={4,5},因为n的取值2在所述集合S1中是第1小的元素,也即k取值为1,所以所述迁移单元R1,2需迁移到的磁盘号X应该为所述集合S0中的第1小的元素,即为4,也就是说,所述迁移单元R1,2需要从扩容前所在的磁盘D2迁移到扩容后的磁盘D4,迁移过程中所述迁移单元R1,2的偏移量保持不变,同理,针对迁移单元R1,3,根据上述方法可以确定需要迁移到磁盘D5上。本领域技术人员可以理解的是,上述实例仅是以数据块D4,1为例进行说明,在实际迁移过程中,是将迁移单元作为整体进行迁移,如针对所述迁移单元R1,2,则是D4,1、P6和D7,1这3个块作为一个整体迁移到磁盘D4在第1次扩容后,如果用户需要查询扩容前已经保存在所述存储系统中的数据,则所述控制器可以参照所述T[0]及所述
Figure PCTCN2017103053-appb-000092
即可完成数据查询。至此,本发明实施例中,所述存储系统完成了第1次扩容后的数据迁移。在本发明实施例中,扩容后通过利用辅助BIBD指导数据迁移,由于所述辅助BIBD中的任何元素包含在的区组的个数相同,且每个迁移单元内含有相同数量的校验块,所以扩容后数据块和校验块达到了均匀分布,扩容过程中数据迁移量达到最小,如图7所示,仅有不到50%的数据被迁移,由此明显减小了扩容后数据迁移所需要的时间,也减小了因扩容后需要进行数据迁移操作而造成的对用户请求响应的延迟。
For example, as shown in FIG. 6 , it is a schematic diagram of data migration, wherein each dot represents 1 migration unit. As shown in the figure, after expansion, the dots located on the disks D4 to D6 are migrated units. After the expansion, the data layout is as shown in FIG. 7. The migration process of the data block D4, 1 is as follows: before the expansion, D4, 1 is on the disk D2, and the offset is 3, and each migration unit calculated in step 400 includes For the three blocks, the migration unit number L to which D4,1 belongs is 3/3=1, and the migration unit to which the D4,1 belongs can be marked as R1,2, that is, the value of m is 1, and the value of n is Is 2. Therefore, the migration is performed by the block 1:0, 1, 4, 5} of the auxiliary BIBD, because the value 2 of n is not in the block 1, indicating that the migration unit R1, 2 needs to be migrated. It can be understood by those skilled in the art that, if the migrated unit corresponding to the saved block of the same offset range of the four disks (D0-D3) before migration is corresponding to the group of {0, 1, 2, 3}, then The disk number X to which the migration unit R1, 2 needs to be migrated is specifically: the set S1 is {0, 1, 2, 3} - {0, 1, 4, 5} = {2, 3}, the set S0 Is {0,1,4,5}–{0,1,2,3}={4,5}, because the value 2 of n is the first small element in the set S1, that is, k is taken The value is 1, so the disk number X to which the migration unit R1,2 needs to be migrated should be the first small element in the set S0, that is, 4, that is, the migration unit R1, 2 needs to be The disk D2 before the capacity expansion is migrated to the disk D4 after the expansion. The migration of the migration unit R1, 2 remains unchanged during the migration. Similarly, for the migration unit R1, 3, it can be determined that the migration needs to be performed according to the above method. Disk D5. It can be understood by those skilled in the art that the above example is only described by using the data block D4, 1 as an example. In the actual migration process, the migration unit is migrated as a whole, for the migration unit R1, 2, for example. The D3, 1, P6, and D7, 1 are migrated to the disk D4 as a whole. After the first expansion, if the user needs to query the data that has been saved in the storage system before the expansion, the controller Can refer to the T[0] and the
Figure PCTCN2017103053-appb-000092
The data query can be completed. So far, in the embodiment of the present invention, the storage system completes the data migration after the first expansion. In the embodiment of the present invention, after the expansion, the data migration is guided by using the auxiliary BIBD. Since the number of the blocks included in any element in the auxiliary BIBD is the same, and each migration unit contains the same number of check blocks, Therefore, the data block and the check block are evenly distributed after the expansion, and the data migration amount is minimized during the capacity expansion process. As shown in Figure 7, less than 50% of the data is migrated, thereby significantly reducing data migration after capacity expansion. The time required also reduces the delay in responding to user requests due to the need for data migration operations after capacity expansion.
进一步的,因为所述存储系统扩容后依然会有新数据源源不断写入,针对后续新数据应该在所述扩容后的存储系统中的保存,如图8所示,为本发明实施例提供的扩容后所述存储系统写入新数据的方法流程图。Further, because the new data source is continuously written after the storage system is expanded, the subsequent new data should be saved in the expanded storage system, as shown in FIG. 8 , which is provided by the embodiment of the present invention. A flow chart of a method for writing new data by the storage system after capacity expansion.
步骤800、控制器生成新的完全区组设计表T[i]Step 800: The controller generates a new complete block design table T[i]
所述控制器确定所述扩容后的存储系统中每个磁盘的剩余可用存储空间,对于在上述扩容前就已经存在在所述存储系统中的磁盘,其剩余可用空间一般为数据被迁移后的释放的空间,也可能还包含在扩容前未被占用的空间,对于扩容中新增加的磁盘,其剩余可用空间一般是除被迁移进来的数据占用的空间外的未占用存储空间。从逻辑上所述控制器将各个磁盘的剩余可用空间看做一个逻辑上独立的磁盘,则将各个磁盘的剩余空间组成的存储系统作为一个逻辑上新的存储系统,以上图7所示,在第一次扩容后的存储系统中,一共有7个磁盘,每个磁盘上都还有9个偏移量的可用存储空间。所述控制器针对所述扩容后的存储系统生成新的完全区组设计表T[i],所述T[i]用于第i次扩容后新数据写入所述存储系统时的存储位置查找。所述构成所述T[i]的BIBD的5个参数(bi、vi、ki、ri、λi),所述控制器可以根据存储策略的需要灵活为vi、ki、λi取值,并通过前述的方法得到用于构成所述T[i]的BIBD以及相应的bi、ri的取值,然后并根据所述得出的新的BIBD得到所述T[i]。Determining, by the controller, the remaining available storage space of each disk in the expanded storage system, where the remaining available space of the disk already existing in the storage system before the foregoing expansion is generally after the data is migrated The space that is released may also include the space that is not occupied before the expansion. For the newly added disk in the expansion, the remaining available space is generally the unoccupied storage space except the space occupied by the migrated data. Logically, the controller regards the remaining free space of each disk as a logically independent disk, and then uses the storage system composed of the remaining space of each disk as a logically new storage system, as shown in FIG. 7 above. In the storage system after the first expansion, there are a total of 7 disks, and each disk has 9 offsets of available storage space. The controller generates a new complete block design table T[i] for the expanded storage system, where the T[i] is used for storing the new data after the i-th expansion is written into the storage system. Find. The five parameters (b i , v i , k i , r i , λ i ) of the BIBD constituting the T[i], the controller can flexibly be v i , k i according to the needs of the storage strategy. λ i takes a value, and obtains the value of the BIBD constituting the T[i] and the corresponding b i , r i by the foregoing method, and then obtains the T according to the obtained new BIBD. i].
步骤801、控制器根据所述T[i]将新数据写入所述存储系统Step 801: The controller writes new data to the storage system according to the T[i]
如图9所示,为本发明实施例给出的示意图,该示意图中展示了为前述第1次扩容后的存储系统确认的T[1]并基于所述T[1]写入新数据的示例。As shown in FIG. 9 , it is a schematic diagram of an embodiment of the present invention. The schematic diagram shows T[1] confirmed by the storage system after the first expansion and the new data is written based on the T[1]. Example.
所述图9右侧是所述T[1],表明在新生成的T[1]中包含7个条带,每个条带包含3个块,其中1个是校验块,每个条带上校验块的分布如图所示。则在扩容结束后,若所述控制器接收来自主机的写请求,所述写请求中携带新的待写入数据,假如所述 控制器确定所述新的待写入数据为数据块D28,0、数据块D28,1,则进一步基于校验算法确认其相应的校验块P28,根据图9右侧的T[1],决定上述数据应写入条带0,也即需要写入磁盘D1,D2,D4,写入顺序为将所述校验块P28和数据块D28,0、D28,1应依次写入磁盘D1,D2,D4,在写入操作是默认将每个块写入磁盘当前偏移量最小的可用位置,因此校验块会写被写入磁盘D1的偏移量为6的位置,数据块D28,0会写被写入磁盘D2的偏移量为3的位置,数据块D28,1会写被写入磁盘D4的偏移量为0的位置,则所述控制器依次把数据块D28,0、数据块D28,1和校验块P28分别写入磁盘D1,D2,D4的对应位置。The right side of FIG. 9 is the T[1], indicating that 7 strips are included in the newly generated T[1], each strip contains 3 blocks, one of which is a check block, and each strip The distribution with the check block is shown in the figure. After the expansion is completed, if the controller receives a write request from the host, the write request carries new data to be written, if the The controller determines that the new data to be written is the data block D28, 0, the data block D28, 1, and further confirms its corresponding check block P28 based on the check algorithm, according to the T[1] on the right side of FIG. It is determined that the above data should be written to strip 0, that is, it needs to be written to the disks D1, D2, D4, and the writing order is to write the check block P28 and the data blocks D28, 0, D28, 1 to the disk D1 in turn, D2, D4, in the write operation is the default position to write each block to the disk with the smallest offset of the current offset, so the check block will write the offset of the disk D1 to the position of 6, the data block D28, 0 will write the position where the offset of the disk D2 is 3, and the data block D28, 1 will write the position of the offset written to the disk D4 to 0. Then the controller sequentially puts the data block D28,0. The data block D28, 1 and the check block P28 are respectively written to the corresponding positions of the disks D1, D2, and D4.
如图10所示,为本发明实施例给出的一种控制器的结构示意图,所述控制器包括第一通信接口1001、处理器1002、存储器1003和第二通信接口1004。As shown in FIG. 10, it is a schematic structural diagram of a controller according to an embodiment of the present invention. The controller includes a first communication interface 1001, a processor 1002, a memory 1003, and a second communication interface 1004.
所述第一通信接口1001用于和主机通信,所述控制器可以通过所述第一通信接口1001接收主机的操作指令,如读请求、写请求等,并将其交由所述处理器1002处理;所述第一通信接口1001还用于向所述主机发送消息,如写成功消息、写失败消息、读失败消息、或读取的数据等;所述第一通信接口1001可以是主机总线适配器(Host Bus Adapter,HBA)卡。The first communication interface 1001 is configured to communicate with a host, and the controller may receive an operation instruction of the host, such as a read request, a write request, etc., through the first communication interface 1001, and hand it to the processor 1002. The first communication interface 1001 is further configured to send a message, such as a write success message, a write failure message, a read failure message, or a read data, to the host; the first communication interface 1001 may be a host bus. Adapter (Host Bus Adapter, HBA) card.
所述处理器1002可能是一个中央处理器(英文:central processing unit,CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。The processor 1002 may be a central processing unit (CPU), or an Application Specific Integrated Circuit (ASIC), or one or more integrated systems configured to implement the embodiments of the present invention. Circuit.
所述控制器还可以包括存储器1003,所述存储器1003可以用于缓存所述第一通信接口1001从主机接收的写请求中携带的数据、或缓存从所述磁盘读取的数据。所述存储器1003可以是易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(英文:random-access memory,RAM)。非易失性存储器例如软盘、磁盘、固态磁盘(solid state disk,SSD)、光盘等各种可以存储程序代码或数据的机器可读介质。所述存储器1003可以具有保电功能,保电功能是指系统发生掉电又重新上电时存储器1003中存储的数据也不会丢失。存储器1003中还可以保存有程序指令,所述处理器1002用于执行所述程序指令以完成所述控制器的各种处理动作,具体参见上述图2-图9及相应实施例中控制器的所有处理动作,本装置实施例不再赘述。可选的。进一步的,所述处理器1002生成的T[0]、T[1]、…、T[t]、及
Figure PCTCN2017103053-appb-000093
可以都保存在所述存储器1003中。
The controller may also include a memory 1003 that may be used to cache data carried in a write request received by the first communication interface 1001 from a host, or to cache data read from the disk. The memory 1003 can be a volatile memory, a non-volatile memory, or a combination thereof. The volatile memory is, for example, a random access memory (RAM). Non-volatile memory such as floppy disks, magnetic disks, solid state disks (SSDs), optical disks, and the like, and various machine readable media that can store program code or data. The memory 1003 may have a power-saving function, and the power-preserving function means that data stored in the memory 1003 is not lost when the system is powered off and re-powered. The program may be stored in the memory 1003, and the processor 1002 is configured to execute the program instructions to complete various processing actions of the controller. For details, refer to FIG. 2 to FIG. 9 and the controller in the corresponding embodiment. All processing actions will not be described in detail in the embodiment of the device. Optional. Further, the processor 1002 generates T[0], T[1], ..., T[t], and
Figure PCTCN2017103053-appb-000093
Both may be stored in the memory 1003.
所述第二通信接口1004,用于和所述磁盘通信,所述控制器的所述处理器1002可以通过所述第二通信接口1004将操作命令,如写请求、或读请求等,发送给所述磁盘,接收来自所述磁盘的各类消息。The second communication interface 1004 is configured to communicate with the disk, and the processor 1002 of the controller may send an operation command, such as a write request or a read request, to the second communication interface 1004 to The disk receives various types of messages from the disk.
本领域普通技术人员将会理解,本发明实施例的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明实施例的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。 Those skilled in the art will appreciate that various aspects of the embodiments of the invention, or possible implementations of various aspects, may be embodied as a system, method, or computer program product. Thus, aspects of the invention, or possible implementations of various aspects, may be in the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, etc.), or a combination of software and hardware aspects, They are collectively referred to herein as "circuits," "modules," or "systems." Furthermore, aspects of the embodiments of the invention, or possible implementations of various aspects, may take the form of a computer program product, which is a computer readable program code stored in a computer readable medium.
计算机可读介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘。Computer readable media include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), erasable Programmable read only memory (EPROM), optical disc.
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作。The processor in the computer reads the computer readable program code stored in the computer readable medium such that the processor can perform the functional actions specified in each step or combination of steps in the flowchart.
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。The computer readable program code can execute entirely on the user's computer, partly on the user's computer, as a separate software package, partly on the user's computer and partly on the remote computer, or entirely on the remote computer or server. . It should also be noted that in some alternative implementations, the functions noted in the various steps in the flowcharts or in the blocks in the block diagrams may not occur in the order noted. For example, two steps, or two blocks, shown in succession may be executed substantially concurrently or the blocks may be executed in the reverse order.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. Different methods may be used to implement the described functionality for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。 The above is only a specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the appended claims.

Claims (12)

  1. 一种存储系统扩容后数据迁移的方法,其特征在于,所述存储系统包括控制器,第i次扩容前所述存储系统包含vi-1个磁盘,第i次扩容后所述存储系统包括vi个磁盘,i大于等于1;所述控制器同所有磁盘可通信;所述数据在所述存储系统中基于校验块分散技术分布在所述磁盘上;该方法包括:A method for data migration after a storage system is expanded, wherein the storage system includes a controller, and the storage system includes v1 to 1 disk before the i-th expansion, and the storage system includes the i-th expansion. v i disks, i is greater than or equal to 1; the controller is communicable with all disks; the data is distributed on the disk in the storage system based on a check block decentralization technique; the method includes:
    所述控制器确认第i次扩容的迁移单元包含的块个数;The controller confirms the number of blocks included in the migration unit of the i-th expansion;
    将扩容前所述存储系统包含的vi-1个磁盘中的每个磁盘的存储空间分别划分为多个迁移单元,每个迁移单元包含上述个数的块;The storage space of each of the v i-1 disks included in the storage system before the expansion is divided into a plurality of migration units, and each migration unit includes the foregoing number of blocks;
    基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100001
    Based on the number of disks v i included in the storage system after expansion, and the number of disks included in the storage system before the capacity expansion, v i-1 confirms the auxiliary balance incomplete block design required for data migration after the i-th expansion.
    Figure PCTCN2017103053-appb-100001
    基于所述辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100002
    从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。
    Based on the auxiliary balance incomplete block design
    Figure PCTCN2017103053-appb-100002
    Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks.
  2. 根据权利要求1所述的方法,其特征在于,所述数据在所述存储系统中基于校验块分散技术分布在所述磁盘上具体为:The method according to claim 1, wherein the data is distributed on the disk based on a check block dispersion technique in the storage system, specifically:
    所述控制器基于完全区组设计表确定所述数据在所述存储系统的保存位置,所述完全区组设计表基于平衡不完全区组设计生成,所述平衡不完全区组设计的参数为(b,v,k,r,λ),其中:The controller determines, according to the complete block design table, a save location of the data in the storage system, the complete block design table is generated based on a balanced incomplete block design, and the parameter of the balanced incomplete block design is (b, v, k, r, λ), where:
    v表示所述存储系统包含v个磁盘;v indicates that the storage system contains v disks;
    b表示所述存储系统包含b个条带,分别对应所述平衡不完全区组设计的b个区组,所述b个区组中的每个区组中的每一个元素表示1个块在在所述存储系统中的磁盘的磁盘号;b indicates that the storage system includes b strips corresponding to b blocks of the balanced incomplete block design, and each element in each of the b blocks represents 1 block at The disk number of the disk in the storage system;
    k表示每个条带包含k个块;k means that each stripe contains k blocks;
    r表示每个磁盘包含r个块;r means that each disk contains r blocks;
    所述v个磁盘中任意2个磁盘分别含有λ个相同的条带;Any two of the v disks respectively contain λ identical strips;
    所述块是数据块或校验块。The block is a data block or a check block.
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:为每一次扩容后的存储系统生成完全区组设计表T[i],所述T[i]是在第i次扩容后为保存新数据所使用的完全区组设计表,其中bi、vi、ki、ri、λi为构成T[i]的BIBD参数。The method according to claim 2, wherein the method further comprises: generating a complete block design table T[i] for each of the expanded storage systems, wherein the T[i] is expanded at the ith time The complete block design table used to save the new data, where b i , v i , k i , r i , λ i are the BIBD parameters constituting T[i].
  4. 根据权利要求1所述的方法,其特征在于,所述基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认所述第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100003
    具体为:
    The method according to claim 1, characterized in that, based on the number of disks v expansion after the storage system comprises a disk number i v, and the expansion of the former storage system comprising a i-1 of the i-th confirmation Auxiliary balance incomplete block design required for data migration after capacity expansion
    Figure PCTCN2017103053-appb-100003
    Specifically:
    确认所述
    Figure PCTCN2017103053-appb-100004
    的参数
    Figure PCTCN2017103053-appb-100005
    的取值为所述vi的取值、
    Figure PCTCN2017103053-appb-100006
    的取值为所述vi-1的取值;
    Confirm the said
    Figure PCTCN2017103053-appb-100004
    Parameter
    Figure PCTCN2017103053-appb-100005
    The value of the value of v i ,
    Figure PCTCN2017103053-appb-100006
    The value of the value is the value of the v i-1 ;
    基于所述
    Figure PCTCN2017103053-appb-100007
    Figure PCTCN2017103053-appb-100008
    查询平衡不完全区组设计数据库以确认
    Figure PCTCN2017103053-appb-100009
    的取值;
    Based on the stated
    Figure PCTCN2017103053-appb-100007
    with
    Figure PCTCN2017103053-appb-100008
    Query balance incomplete block design database to confirm
    Figure PCTCN2017103053-appb-100009
    Value
    基于所述
    Figure PCTCN2017103053-appb-100010
    和所述
    Figure PCTCN2017103053-appb-100011
    的取值确认查询所述平衡不完全区组设计数据库以确认构成所述
    Figure PCTCN2017103053-appb-100012
    的区组;
    Based on the stated
    Figure PCTCN2017103053-appb-100010
    And said
    Figure PCTCN2017103053-appb-100011
    The value confirmation confirms the query of the incomplete block design database to confirm the composition
    Figure PCTCN2017103053-appb-100012
    Zone group
    确认所述
    Figure PCTCN2017103053-appb-100013
    的参数
    Figure PCTCN2017103053-appb-100014
    Figure PCTCN2017103053-appb-100015
    的取值。
    Confirm the said
    Figure PCTCN2017103053-appb-100013
    Parameter
    Figure PCTCN2017103053-appb-100014
    with
    Figure PCTCN2017103053-appb-100015
    The value.
  5. 根据权利要求4所述的方法,其特征在于,所述控制器确认迁移单元包含的块个数具体为通过如下公式确认所述迁移单元包含的块的个数: The method according to claim 4, wherein the controller confirms that the number of blocks included in the migration unit is specifically determined by the following formula: the number of blocks included in the migration unit:
    Figure PCTCN2017103053-appb-100016
    Figure PCTCN2017103053-appb-100016
    其中ri-1为构成T[i-1]的平衡不完全区组设计的参数;
    Figure PCTCN2017103053-appb-100017
    为构成B[i-1]的平衡不完全区组设计的参数,gcd为取最大公约数的操作。
    Where r i-1 is a parameter designed to form a balanced incomplete block of T[i-1];
    Figure PCTCN2017103053-appb-100017
    For the parameters designed to form the equilibrium incomplete block of B[i-1], gcd is the operation taking the greatest common divisor.
  6. 根据权利要求1所述的方法,其特征在于,所述基于所述辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100018
    从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上具体为:
    The method of claim 1 wherein said designing an incomplete block based on said auxiliary balance
    Figure PCTCN2017103053-appb-100018
    Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks The specific one of the disks is:
    所述选择的至少1个迁移单元为Rm,n,其中m表示所述选择的至少1个迁移单元的迁移单元号,n表示所述选择的至少1个迁移单元所在的磁盘号;The selected at least one migration unit is Rm,n, where m represents a migration unit number of the selected at least one migration unit, and n represents a disk number of the selected at least one migration unit;
    获取集合S0,所述集合S0为所述
    Figure PCTCN2017103053-appb-100019
    的区组m与集合{0,1,···,vi-1-1}的差集;
    Obtaining a set S0, the set S0 being the
    Figure PCTCN2017103053-appb-100019
    The difference between the block m and the set {0,1,···, v i-1 -1};
    获取集合S1,所述集合S1为集合{0,1,···,vi-1-1}与所述
    Figure PCTCN2017103053-appb-100020
    的区组m的差集;
    Obtaining a set S1, the set S1 being a set {0, 1, . . . , v i-1 -1}
    Figure PCTCN2017103053-appb-100020
    The difference set of the block m;
    若n的取值是集合S1中的第k小的元素,则确认所述迁移单元Rm,n待迁移到的目标磁盘号为所述集合S0中取值为第k小的元素;If the value of n is the kth small element in the set S1, it is confirmed that the target disk number to which the migration unit Rm, n is to be migrated is an element whose value is the kth in the set S0;
    将所述迁移单元Rm,n迁移到与所述目标磁盘号相对应的磁盘上。The migration unit Rm,n is migrated to a disk corresponding to the target disk number.
  7. 一种存储系统,其特征在于,所述存储系统包括控制器,第i次扩容前所述存储系统包含vi-1个磁盘,第i次扩容后所述存储系统包括vi个磁盘,所述i大于等于1;所述控制器同所有磁盘可通信;A storage system, wherein the storage system includes a controller, and the storage system includes v i-1 disks before the i-th expansion, and the storage system includes v i disks after the i-th expansion. Said i is greater than or equal to 1; the controller is communicable with all disks;
    所述磁盘,用于保存数据,所述数据基于校验块分散技术分布在所述磁盘上;The disk is configured to store data, where the data is distributed on the disk based on a check block dispersion technology;
    所述控制器,用于确认第i次扩容的迁移单元包含的块个数;将扩容前所述存储系统包含的vi-1个磁盘中的每个磁盘的存储空间分别划分为多个迁移单元,每个迁移单元包含上述个数的块;基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100021
    基于所述辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100022
    从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上。
    The controller is configured to confirm the number of blocks included in the migration unit of the i-th expansion; and divide the storage space of each of the v -1 disks included in the storage system before the expansion into multiple migrations a unit, each of the migration units includes the above-mentioned number of blocks; based on the number of disks v i included in the storage system after expansion, and the number of disks included in the storage system before the capacity expansion v i-1 , the data migration after the i-th expansion is confirmed. Auxiliary balance incomplete block design required
    Figure PCTCN2017103053-appb-100021
    Based on the auxiliary balance incomplete block design
    Figure PCTCN2017103053-appb-100022
    Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks On one of the disks.
  8. 根据权利要求7所述的存储系统,其特征在于,所述数据基于校验块分散技术分布在所述磁盘上具体为:The storage system according to claim 7, wherein the data is distributed on the disk based on a check block dispersion technique:
    所述控制器基于完全区组设计表确定所述数据在所述存储系统的保存位置,所述完全区组设计表基于平衡不完全区组设计生成,所述平衡不完全区组设计的参数为(b,v,k,r,λ),其中:The controller determines, according to the complete block design table, a save location of the data in the storage system, the complete block design table is generated based on a balanced incomplete block design, and the parameter of the balanced incomplete block design is (b, v, k, r, λ), where:
    v表示所述存储系统包含v个磁盘;v indicates that the storage system contains v disks;
    b表示所述存储系统包含b个条带,分别对应所述平衡不完全区组设计的b个区组,所述b个区组中的每个区组中的每一个元素表示1个块在在所述存储系统中的磁盘的磁盘号; b indicates that the storage system includes b strips corresponding to b blocks of the balanced incomplete block design, and each element in each of the b blocks represents 1 block at The disk number of the disk in the storage system;
    k表示每个条带包含k个块;k means that each stripe contains k blocks;
    r表示每个磁盘包含r个块;r means that each disk contains r blocks;
    所述v个磁盘中任意2个磁盘分别含有λ个相同的条带;Any two of the v disks respectively contain λ identical strips;
    所述块是数据块或校验块。The block is a data block or a check block.
  9. 根据权利要求8所述的存储系统,其特征在于,A storage system according to claim 8 wherein:
    所述控制器,还用于为每一次扩容后的存储系统生成完全区组设计表T[i],所述T[i]是在第i次扩容后为保存新数据所使用的完全区组设计表,其中bi、vi、ki、ri、λi为构成T[i]的BIBD参数。The controller is further configured to generate a complete block design table T[i] for each of the expanded storage systems, where the T[i] is a complete block used to save new data after the ith expansion. A design table in which b i , v i , k i , r i , λ i are BIBD parameters constituting T[i].
  10. 根据权利要求7所述的存储系统,其特征在于,所述控制器用于基于扩容后所述存储系统包括的磁盘数vi、及扩容前所述存储系统包含的磁盘数vi-1确认所述第i次扩容后数据迁移所需要的辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100023
    具体为:
    The storage system according to claim 7, wherein said disk controller for expansion after the number v the storage system comprises a number of disk I v, and the expansion of the former storage system comprising a i-1 based on the confirmation The auxiliary balance incomplete block design required for data migration after the i-th expansion
    Figure PCTCN2017103053-appb-100023
    Specifically:
    所述控制器,还用于确认所述
    Figure PCTCN2017103053-appb-100024
    的参数
    Figure PCTCN2017103053-appb-100025
    的取值为所述vi的取值、
    Figure PCTCN2017103053-appb-100026
    的取值为所述vi-1的取值;基于所述
    Figure PCTCN2017103053-appb-100027
    查询平衡不完全区组设计数据库以确认
    Figure PCTCN2017103053-appb-100028
    的取值;基于所述
    Figure PCTCN2017103053-appb-100029
    和所述
    Figure PCTCN2017103053-appb-100030
    的取值确认查询所述平衡不完全区组设计数据库以确认构成所述
    Figure PCTCN2017103053-appb-100031
    的区组;确认所述
    Figure PCTCN2017103053-appb-100032
    的参数
    Figure PCTCN2017103053-appb-100033
    Figure PCTCN2017103053-appb-100034
    的取值。
    The controller is further configured to confirm the
    Figure PCTCN2017103053-appb-100024
    Parameter
    Figure PCTCN2017103053-appb-100025
    The value of the value of v i ,
    Figure PCTCN2017103053-appb-100026
    The value of the value of v i-1 ;
    Figure PCTCN2017103053-appb-100027
    Query balance incomplete block design database to confirm
    Figure PCTCN2017103053-appb-100028
    Value based on
    Figure PCTCN2017103053-appb-100029
    And said
    Figure PCTCN2017103053-appb-100030
    The value confirmation confirms the query of the incomplete block design database to confirm the composition
    Figure PCTCN2017103053-appb-100031
    Zone group; confirm the said
    Figure PCTCN2017103053-appb-100032
    Parameter
    Figure PCTCN2017103053-appb-100033
    with
    Figure PCTCN2017103053-appb-100034
    The value.
  11. 根据权利要求10所述的存储系统,其特征在于,所述控制器用于确认迁移单元包含的块个数具体为,The storage system according to claim 10, wherein the controller is configured to confirm that the number of blocks included in the migration unit is specifically,
    所述控制器,还用于通过如下公式确认所述迁移单元包含的块的个数:The controller is further configured to confirm the number of blocks included in the migration unit by using the following formula:
    Figure PCTCN2017103053-appb-100035
    Figure PCTCN2017103053-appb-100035
    其中ri-1为构成T[i-1]的平衡不完全区组设计的参数;
    Figure PCTCN2017103053-appb-100036
    为构成B[i-1]的平衡不完全区组设计的参数,gcd为取最大公约数的操作。
    Where r i-1 is a parameter designed to form a balanced incomplete block of T[i-1];
    Figure PCTCN2017103053-appb-100036
    For the parameters designed to form the equilibrium incomplete block of B[i-1], gcd is the operation taking the greatest common divisor.
  12. 根据权利要求7所述的存储系统,其特征在于,所述控制器用于基于所述辅助平衡不完全区组设计
    Figure PCTCN2017103053-appb-100037
    从所述扩容前的vi-1个磁盘的所述多个迁移单元中选择至少1个迁移单元,将所述选择的至少1个迁移单元所包含的块迁移到扩容后的vi个磁盘中的1个磁盘上具体为:
    The storage system according to claim 7, wherein said controller is configured to design an incomplete block based on said auxiliary balance
    Figure PCTCN2017103053-appb-100037
    Selecting at least one migration unit from the plurality of migration units of the v i-1 disks before the expansion, and migrating the blocks included in the selected at least one migration unit to the expanded v i disks The specific one of the disks is:
    所述选择的至少1个迁移单元为Rm,n,其中m表示所述选择的至少1个迁移单元的迁移单元号,n表示所述选择的至少1个迁移单元所在的磁盘号;The selected at least one migration unit is Rm,n, where m represents a migration unit number of the selected at least one migration unit, and n represents a disk number of the selected at least one migration unit;
    获取集合S0,所述集合S0为所述
    Figure PCTCN2017103053-appb-100038
    的区组m与集合{0,1,···,vi-1-1}的差集;
    Obtaining a set S0, the set S0 being the
    Figure PCTCN2017103053-appb-100038
    The difference between the block m and the set {0,1,···, v i-1 -1};
    获取集合S1,所述集合S1为集合{0,1,···,vi-1-1}与所述
    Figure PCTCN2017103053-appb-100039
    的区组m的差集;
    Obtaining a set S1, the set S1 being a set {0, 1, . . . , v i-1 -1}
    Figure PCTCN2017103053-appb-100039
    The difference set of the block m;
    若n的取值是集合S1中的第k小的元素,则确认所述迁移单元Rm,n待迁移到的目标磁盘号为所述集合S0中取值为第k小的元素;If the value of n is the kth small element in the set S1, it is confirmed that the target disk number to which the migration unit Rm, n is to be migrated is an element whose value is the kth in the set S0;
    将所述迁移单元Rm,n迁移到与所述目标磁盘号相对应的磁盘上。 The migration unit Rm,n is migrated to a disk corresponding to the target disk number.
PCT/CN2017/103053 2016-12-29 2017-09-23 Storage system expanded data migration method and storage system WO2018120939A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17886406.2A EP3474129A4 (en) 2016-12-29 2017-09-23 Storage system expanded data migration method and storage system
US16/291,852 US10908833B2 (en) 2016-12-29 2019-03-04 Data migration method for a storage system after expansion and storage system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201611251370 2016-12-29
CN201611251370.8 2016-12-29
CN201710100458.8 2017-02-23
CN201710100458.8A CN108255413A (en) 2016-12-29 2017-02-23 Method, the storage system of Data Migration after a kind of storage system dilatation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/291,852 Continuation US10908833B2 (en) 2016-12-29 2019-03-04 Data migration method for a storage system after expansion and storage system

Publications (1)

Publication Number Publication Date
WO2018120939A1 true WO2018120939A1 (en) 2018-07-05

Family

ID=62706789

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/103053 WO2018120939A1 (en) 2016-12-29 2017-09-23 Storage system expanded data migration method and storage system

Country Status (1)

Country Link
WO (1) WO2018120939A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274228A (en) * 2020-02-21 2020-06-12 泰康保险集团股份有限公司 Policy data migration storage method, system, equipment and readable storage medium
CN111625195A (en) * 2020-05-26 2020-09-04 北京百度网讯科技有限公司 Method and device for server capacity expansion
CN112395267A (en) * 2020-10-23 2021-02-23 四川新网银行股份有限公司 Non-stop service user data migration switching method
CN116991759A (en) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 Method and device for distributing on-chip storage space

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030425A1 (en) * 2010-07-30 2012-02-02 International Business Machines Corporation Parity declustered storage device array with partition groups
CN103513938A (en) * 2013-09-16 2014-01-15 华为技术有限公司 System expansion method and device of redundant array of independent disks (RAID)
CN104407807A (en) * 2014-10-24 2015-03-11 华中科技大学 Storage and expansion method aiming at RS coding storage cluster
CN104809035A (en) * 2015-05-05 2015-07-29 中国科学技术大学 Storage system establishing method capable of repairing single disk quickly

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030425A1 (en) * 2010-07-30 2012-02-02 International Business Machines Corporation Parity declustered storage device array with partition groups
CN103513938A (en) * 2013-09-16 2014-01-15 华为技术有限公司 System expansion method and device of redundant array of independent disks (RAID)
CN104407807A (en) * 2014-10-24 2015-03-11 华中科技大学 Storage and expansion method aiming at RS coding storage cluster
CN104809035A (en) * 2015-05-05 2015-07-29 中国科学技术大学 Storage system establishing method capable of repairing single disk quickly

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3474129A4 *
WANG, GANG ET AL.: "Data Layout of Network Based RAID", RAID COMPUTER SCIENCE, vol. 29, no. 5, 8 January 2004 (2004-01-08), pages 11 - 13, 88, XP009512738, ISSN: 1002-137X *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111274228A (en) * 2020-02-21 2020-06-12 泰康保险集团股份有限公司 Policy data migration storage method, system, equipment and readable storage medium
CN111274228B (en) * 2020-02-21 2023-09-05 泰康保险集团股份有限公司 Policy data migration storage method, system, equipment and readable storage medium
CN111625195A (en) * 2020-05-26 2020-09-04 北京百度网讯科技有限公司 Method and device for server capacity expansion
CN111625195B (en) * 2020-05-26 2023-11-07 北京百度网讯科技有限公司 Method and device for server capacity expansion
CN112395267A (en) * 2020-10-23 2021-02-23 四川新网银行股份有限公司 Non-stop service user data migration switching method
CN112395267B (en) * 2020-10-23 2023-06-13 四川新网银行股份有限公司 Method for switching data migration of continuous service user
CN116991759A (en) * 2023-09-25 2023-11-03 苏州元脑智能科技有限公司 Method and device for distributing on-chip storage space
CN116991759B (en) * 2023-09-25 2024-01-26 苏州元脑智能科技有限公司 Method and device for distributing on-chip storage space

Similar Documents

Publication Publication Date Title
US10908833B2 (en) Data migration method for a storage system after expansion and storage system
US11281377B2 (en) Method and apparatus for managing storage system
WO2018120939A1 (en) Storage system expanded data migration method and storage system
US9207874B2 (en) Synchronous extent migration protocol for paired storage
JP4464378B2 (en) Computer system, storage system and control method for saving storage area by collecting the same data
US20120016842A1 (en) Data processing apparatus, data processing method, data processing program, and storage apparatus
EP4012547B1 (en) Storage method and apparatus for key value (kv) and storage device
US9436554B2 (en) Information processing apparatus and data repairing method
US10936243B2 (en) Storage system and data transfer control method
US11199997B2 (en) Storage device operations using a die translation table
JP5853109B2 (en) Computer, computer system controller and recording medium
US7496724B2 (en) Load balancing in a mirrored storage system
US20160239226A1 (en) Control device, storage system, and method of controlling a plurality of storage devices
JP2019212175A (en) Storage control system, and storage control method
WO2015087651A1 (en) Device, program, recording medium, and method for extending service life of memory,
US9977813B2 (en) Storage device and data migration method
US10725877B2 (en) System, method and computer program product for performing a data protection operation
JP2023016972A (en) Storage system and data processing method
JP5963324B2 (en) Virtual sequential access volume data copy method and system
WO2016088372A1 (en) Access device, migration device, distributed storage system, access method, and computer-readable recording medium
US20160259572A1 (en) Storage system and storage control method
JP6378289B2 (en) Method and apparatus for determining hot pages in a database
US10152498B2 (en) Providing storage technology information to improve database performance
US10860235B2 (en) Storage system having a plurality of storage apparatuses which migrate a first volume group to a second volume group
WO2018055751A1 (en) Computer system and storage control method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17886406

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017886406

Country of ref document: EP

Effective date: 20190110

NENP Non-entry into the national phase

Ref country code: DE