WO2015089798A1 - Data migration method and device - Google Patents

Data migration method and device Download PDF

Info

Publication number
WO2015089798A1
WO2015089798A1 PCT/CN2013/089982 CN2013089982W WO2015089798A1 WO 2015089798 A1 WO2015089798 A1 WO 2015089798A1 CN 2013089982 W CN2013089982 W CN 2013089982W WO 2015089798 A1 WO2015089798 A1 WO 2015089798A1
Authority
WO
WIPO (PCT)
Prior art keywords
extent
moving
threshold
disk
disk group
Prior art date
Application number
PCT/CN2013/089982
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
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201380002566.1A priority Critical patent/CN103858092B/en
Priority to PCT/CN2013/089982 priority patent/WO2015089798A1/en
Publication of WO2015089798A1 publication Critical patent/WO2015089798A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID

Definitions

  • the present invention relates to storage technologies, and in particular, to a data migration technique. Background technique
  • RAID Redundant Arrays of Independent Disks
  • the RAID group can be logically cut horizontally, and the RAID group is divided into a plurality of logical units (Logic Units).
  • Logical Units logical units
  • LU Logical Unit Number
  • Each disk in the RAID group provides the same amount of storage for this LU, and each cut unit is called an LU.
  • Each LUN can be accessed by the host separately. In this way, the original RAID group can be logically used as multiple RAID groups.
  • a disk group consists of at least one RAID group. Because the number of disks in a disk group is difficult to expand directly. When the disk group is established, it is difficult to determine the actual amount of resources required by the user. Therefore, it is often difficult for the disk group to provide resources to meet user requirements. happening. Summary of the invention
  • the present invention provides a data migration technology that can implement data migration across a disk group.
  • the present invention provides a data migration method, which is applied to a controller, where the controller is respectively connected to a first disk group and a second disk group, the first disk group DG and the second disk group.
  • Each includes a disk
  • each of the disks includes a plurality of chunked Chunks, wherein at least two are from the same A Chunk of a different DG and a different disk constitutes a block group CKG according to a redundant array of inexpensive disk arrays, each CKG is divided into a plurality of lengths Extent, and each of the Chunks in the CKG provides the same size for the Extent
  • the method includes: acquiring load information of the first disk group; and reading, when the load information reaches the migration threshold, reading data of at least one of the target logical unit numbers LU in the first disk group In the cache of the controller, obtaining at least one migration into the Extent of the second disk group, the number of the moved intotent is the same as the number of the outbound Extent, and the RAID
  • the load information includes: at least one of a bandwidth BPS per second being higher than a first threshold, and a free storage space being lower than a second threshold.
  • the present invention provides a data migration apparatus, configured to migrate data of a first disk group to a second disk group, wherein the first disk group DG and the second disk group each include a disk, each of the The disk includes a plurality of chunked Chunks, wherein at least two Chunks from the same DG and different disks form a chunk group CKG according to a cheap disk redundant array RAID algorithm, each CKG is divided into a plurality of lengths Extent, and the CKG Each of the Chunks provides the same size storage space for the Extent, and the device includes: a parameter obtaining unit, configured to acquire load information of the first disk group; and a data reading unit, connected to the parameter obtaining unit 41, When the load information reaches the migration threshold, the data in the at least one of the target logical unit number LUNs in the first disk group is read out into the cache of the controller; the data writing unit, and the a data reading unit connection, configured to acquire at least one migration into the second disk group, the number of the
  • the load information includes: at least one of a bandwidth BPS per second being higher than a first threshold, and an idle storage space being lower than a second threshold.
  • FIG. 1 is a flowchart of a data migration method according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a controller according to an embodiment of the present invention.
  • FIG. 3 is a structural diagram of a data migration apparatus according to an embodiment of the present invention. detailed description
  • each disk in the RAID group is used as a minimum unit, and each disk takes a part of the same size to form a LUN.
  • the LUN is provided to the host as a unit. Because the LU spans all the disks, when the host writes data, the data is written to the entire RAID group. When the data is read, the entire RAID group provides data to the host.
  • RAID levels provide data refactoring. For example, in RAID 3, one disk stores parity data, and the remaining disks store business data. When a disk fails, the data in the failed disk can be recovered by the remaining disks through a verification algorithm.
  • the number of disks in a RAID group is often small. For example, a disk group consists of 6 disks. Therefore, if one disk fails, it can only be in a RAID group. A small number of remaining disks participate in the refactoring, which can be lengthy, such as rebuilding 1 terabyte (TB) of data blocks, which takes 10 hours. If a new disk fails during refactoring, it may cause unrecoverable data loss to the storage system.
  • TB terabyte
  • each of the plurality of disks is first divided into equal-sized blocks (CK, Chunk), for example, six Disks are grouped into a disk group (Disk Group, DG). Each disk in the DG is divided into Chunk of 64MB (megabytes). Then, the Chunk is used as the granularity to establish a RAID group. For example, three Chunks form a RAID group. These Chunk RAID groups, we call them block groups.
  • Chunk Group, CKG There will be no multiple Chunks belonging to the same CKG on the same disk. In other words, a disk provides at most one Chunk for a CKG. Not every disk in the DG provides Chunk for CKG, that is, the number of Chunks in CKG can be less than the number of disks in the DG.
  • the technology involved in the present invention is not limited to the storage medium itself, and therefore is applicable to other media such as a solid state hard disk, a rewritable optical disk, a floppy disk, a magnetic tape, and the like in addition to the magnetic disk, and the present invention is implemented for convenience of description.
  • An example is a disk.
  • the data referred to in the embodiments of the present invention such as pictures, videos, database data, audio, text, and the like.
  • the disks do not form a traditional RAID relationship. Instead, they can form a larger disk group (for example, 96 disks). Chunk on the disk can form a CKG with Chunk of different disks in the disk group. Each CKG can have its own RAID level so that Chunk on one disk can belong to multiple tile groups at multiple RAID levels.
  • Each Chunk in CKG is divided into small blocks of storage space. Each Chunk provides a space of the same size, which can be composed of an Extent, and the size of an Extent is, for example, 256 KB (kilobytes). In this way, a CKG can be split into multiple Extents to form an Extent Pool.
  • Extent is the basic unit that constitutes the LUN of the present invention. One or more Extents are selected from the Extent Pool to form a LUN for host access.
  • the contigs that make up the LUN are from the same CKG, and can also come from different CKGs.
  • the RAID levels of the Extents that make up the same LUN can be the same or different.
  • the RAID level is the same. Different Extents belonging to the same LUN have the same storage space, which facilitates mutual exclusion during data migration.
  • the way to address data in the LU is the LU ID + Logical Block Address (LBA) address.
  • LBA Logical Block Address
  • the storage space of each Extent is also from 6 disks. But since the LUN is made up of different Extents, each Extent can span different disks, so in this case, LUs can span more disks than traditional RAID groups. Therefore, when a disk fails, the number of disks participating in the reconstruction is also larger, and the reconstruction time is greatly shortened.
  • the establishment of Chunk, CKG, Extent and LU in the embodiments of the present invention can be completed by a controller.
  • the storage system is composed of a controller and a storage medium.
  • the storage medium provides storage space, and the controller manages the storage space and is responsible for reading and writing data in the storage space.
  • the disk that Extent spans refers to the disk from which the storage space of the Extent is derived.
  • Embodiments of the present invention can implement data migration across DGs.
  • Each DG consists of multiple disks of the same type.
  • CKG is selected according to the number required by the RAID algorithm.
  • CKG is composed of blocks on different hard disks in the DG.
  • the space is composed of several CKG spaces, so the data of the LUN can be distributed to multiple hard disks in the DG.
  • the same disk group belongs to the same fault domain, and different disk groups belong to different fault domains. That is to say, if any disk in a disk group fails to send, when restoring data, it depends on the disks of other disk groups and relies on other disks inside the disk group for recovery.
  • Chunk that forms a CKG can come from any two or more disks.
  • Chunk of CKG1 can come to three disks of A, B and C
  • Chunk of CKG2 comes from four disks of A, B, C and D
  • Chunk of CKG3 comes from three disks of C, D and E.
  • Disk A and Disk C provide Chunk to form CKG1, CKG1 and CKG2, Disk A and C establish direct contact; through CKG3, Disk C establishes direct contact with E; The direct connection between the contact and the disks C and E forms an indirect connection between the disks A and E.
  • the controller acquires the bandwidth of the first DG (BandPer Second, BPS) and the remaining disk space.
  • the first DG has an LU that can be migrated out, which is called an outbound LU.
  • the migrated LU map is composed of multiple Extents and has a mapping relationship with the Extent that constitutes it.
  • the first DG and the second DG are managed.
  • the data in any Extent that moves out of any LUN can reduce the load of the first DG.
  • the first DG and the second DG may be composed of storage media of the same specification, such as the same read/write speed storage medium.
  • the controller can record and count the total number of input/output operations in a time period. By averaging, BPS can be obtained every second.
  • the controller can query the total storage space of the DG and the disk space occupied by each write operation to obtain the remaining space of the DG.
  • Step 12 When the BPS is higher than the first threshold, and the remaining disk space is lower than the second threshold, read out data of at least one Extent in the LUN to the controller.
  • This step describes the trigger conditions for data migration.
  • BPS is the average bandwidth consumed per second for read/write operations.
  • the threshold setting when the BPS is 100MB/S, and the remaining storage space is 10%, the migration is triggered, and then at least one Extent data in the LUN is migrated to the controller's cache.
  • the number of Extent reading data can be set by the user, or the threshold can be set separately and then calculated according to the algorithm. For example, it can be set to not migrate when the BPS 50MB/S is satisfied and the remaining storage space is 50%. Then you can calculate or roughly estimate the number of Extents that need to be migrated based on the threshold settings for stopping the migration.
  • Step 13 Obtain the Extent information of the second DG, and read the data buffered to the controller and write it into the Extent of the second DG.
  • the Extent that reads data from the first DG has the same RAID level and storage capacity as the Extent that writes data in the second DG.
  • the Extent information of the second DG and the step 12 can also be executed first or in parallel.
  • the Extent that is written does not store valid data and can be called an idle Extent.
  • the RAID level of Extent is the RAID level of CKG that Extent belongs to.
  • one of the multiple DGs may be selected as the second DG, or may be selected according to certain conditions, for example, setting the immigration threshold and moving into the threshold.
  • the judgment parameters and the judgment parameters of the migration threshold are the same.
  • the migrating threshold considers whether the BPS is lower than the third threshold.
  • the migration threshold considers whether the BPS is higher than the first threshold, and whether the free space is less than the second threshold; then the migration threshold considers BPS Whether it is lower than the third threshold, and whether the free space is greater than the fourth threshold.
  • the DG with the BPS and the remaining storage space satisfying certain conditions can be set as the second DG, for example, the BPS 20 MB/S and the remaining storage space is 80% to become the DG to be moved into the data. It is statistically advantageous to achieve the present invention by selecting any one of the DGs other than the first DG as the second DG.
  • Step 14 Update the Extent mapped by the outbound LU. Specifically, the mapping with the Extent of the data read out in the first DG is changed to the mapping with the Extent of the data written in the second DG. The memory of the Extend out of the data read out in the first DG can be released, making it an idle Extent for use by other LUs.
  • the first disk group and the second disk group each include a disk, and each disk includes a plurality of chunks Chunk.
  • the CKG consists of at least two Chunks, which are composed of RAID algorithms.
  • the Chunks that make up the same CKG are from different disks of the same DG.
  • Each CKG is divided into multiple lengths Extent, and each Extent's storage space is provided by all Chunk of CKG. For the same Extent, each Chunk provides the same storage space.
  • the LU is composed of Extent, and records the Extent contained in the LUN through the mapping relationship. By updating the mapping relationship, a portion of the Extent in the LU comes from the second DG, completing the migration of data in the LU.
  • the two parameters of BPS and remaining disk space are referred to as load information, and the two parameters satisfy the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation.
  • the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation.
  • only one of the parameters may be obtained, and the data migration is triggered when the one parameter satisfies the threshold.
  • consider two parameters at the same time set the weights of the two parameters, weight the two parameters to get a total value, and then compare the total value with the total threshold to determine whether to punish the data migration operation.
  • the LU-Extent mapping relationship is used to address the content of the LUN, and the data to be migrated is copied to the destination DG, and then the mapping relationship is changed to implement data migration across the DG.
  • addressing with LU ID+LAB address cannot complete data migration across DG.
  • the above data migration step can be performed by the processor 21 of the controller 2.
  • Executing a program instruction is stored in the memory 22 of the controller 2, and the processor 21 executes the program instruction to implement the method.
  • the controller 2 is connected to the disk group 32 of the disk group 31, and specifically, the memory 22 can be connected to the disk group 31 and the disk group 32.
  • the present invention further provides a data migration apparatus 4, which can apply the above migration method.
  • the data migration device 4 includes a parameter acquisition unit 41, a data reading unit 42, a data writing unit 43, and an LU updating unit 44.
  • the data migration appliance 4 is integrated into the controller and can migrate data between disk groups.
  • the parameter obtaining unit 41 is configured to obtain an input/output operation per second (BPS) of the first DG and a remaining disk space.
  • the first DG has LUNs that can be migrated out. It is called an migrating LUN. It can also be called an migrating LUN.
  • the migrating LU map has multiple Extents.
  • the controller manages the first DG and the second DG. Data in any Extent that moves out of any LUN can reduce the load on the first DG.
  • the first DG and the second DG may be composed of storage media of the same specification, such as the same read/write speed storage medium.
  • each time an input operation or an output operation is performed it can be recorded in the buffer of the controller, and the total number of input/output operations in a time period is counted, and the BPSo per second can be obtained by averaging, and the parameter acquisition unit 41 queries.
  • the total storage space of the DG, and the disk space occupied by each write operation, can obtain the remaining space of the DG.
  • the data reading unit 42 is connected to the parameter obtaining unit 41, and is configured to read out data of at least one Extent of the migrated LUN to the controller cache when the BPS is higher than the first threshold and the remaining disk space is lower than the first threshold. .
  • Thresholds can be set as triggers for data migration. For example, according to the threshold setting, when BPS ⁇ IOOMB/S, and the remaining storage space is 10%, the migration is triggered, and then at least one Extent data in the LU is migrated to the controller's cache.
  • the number of Extent reading data can be set by the user, or the threshold can be set separately and then calculated according to the algorithm. For example, it can be set to not migrate when the BPS 50MB/S is satisfied and the remaining storage space is 50%. Then you can calculate or roughly estimate the number of Extents that need to be migrated based on the threshold settings for these two stop migrations.
  • the data writing unit 43 is connected to the data reading unit 42 and configured to acquire the Extent of the second DG. Information, the data that is read into the controller cache is written into the Extence of the second DG.
  • the Extent that reads data from the first DG has the same RAID level and storage capacity as the Extent that writes data in the second DG.
  • the Extent that is written does not store valid data and can be called an idle Extent.
  • the RAID level of Extent is the RAID level of CKG to which Extent belongs.
  • the data writing unit 43 can arbitrarily select one of them as the second DG, and can also be selected according to certain conditions, for example, setting the immigration threshold, and the item moving into the threshold matches the migration threshold.
  • the migrating threshold considers whether the BPS is lower than the third threshold.
  • the eviction threshold considers whether the BPS is higher than the first threshold and the free space is less than the second threshold; then the migrating threshold considers whether the BPS is lower than the third threshold, and whether the free space is greater than the fourth threshold.
  • the LU update unit 44 is connected to the data writing unit 43 and is configured to update the Extent mapped by the migrated LU. Specifically, the mapping with the Extent of the read data in the first DG is changed to the second DG. The mapping of the Extent to the data. The LUN update unit 44 can further release the storage space of the Extend data read out from the first DG to make it an idle Extent.
  • the LU is composed of Extent, and records the Extent contained in the LUN through the mapping relationship. By updating the mapping relationship, a portion of the Extent in the LU comes from the second DG, completing the migration of data in the LU.
  • the first disk group DG and the second disk group each include a disk, and each disk includes a plurality of blocks Chunk.
  • CKG consists of at least 2 Chunks in accordance with the RAID algorithm.
  • the Chunks that form the same CKG are from different disks of the same DG.
  • Each CKG is divided into multiple lengths Extent, and each Extent's storage space is provided by all Chunk of CKG. For the same Extent, each Chunk provides the same storage space.
  • the two parameters of BPS and remaining disk space are referred to as load information, and the two parameters satisfy the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation.
  • the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation.
  • only one of the parameters may be acquired, and the data migration is triggered when the one parameter satisfies the threshold.
  • the same set the weights for the two items, weight them to get a total value, and then compare the total value with the total threshold to determine whether to penalize the data migration operation.
  • the LU-Extent mapping relationship is used to address the content of the LUN, and the data to be migrated is copied to the destination DG, and then the mapping relationship is changed to implement data migration across the DG.
  • addressing with LU ID+LAB address cannot complete data migration across DG.
  • the amount of data such as 512B, 4KB, 1MB, etc.
  • aspects of the present invention, or possible implementations of various aspects can be embodied as a system, method, or computer program product.
  • 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.”
  • aspects 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.
  • the computer readable medium can be a computer readable signal medium or a computer readable storage medium.
  • the computer readable storage medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), Erase programmable read-only memory (EPROM or flash memory), optical fiber, portable read-only memory (CD-ROM).
  • 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 of the steps, or combinations of steps in the flowchart; A means of functional action specified in each block of the block diagram or in a combination of blocks.

Abstract

A data migration technology, comprising: acquiring load information of a first disk group; reading data in at least one emigration Extent of a target logic unit number (LUN) in the first disk group to a cache of a controller when the load information reaches an emigration threshold; acquiring at least one immigration Extent in a second disk group, wherein the number of the immigration Extents is the same as that of the emigration Extents, the RAID (Redundant Arrays of Independent Disks) level of each emigration Extent corresponds to that of an immigration Extent, and the immigration Extent is an idle Extent; and updating the mapping relation between the emigration LUN and the immigration Extent into a mapping relation between the emigration LUN and the immigration Extent.

Description

一种数据迁移方法和装置 技术领域  Data migration method and device
本发明涉及存储技术, 特别涉及一种数据迁移技术。 背景技术  The present invention relates to storage technologies, and in particular, to a data migration technique. Background technique
在存储领域中, 为了提高数据的读写速度或者增强数据的安全性, 一种 称为廉价磁盘阵列 (Redundant Arrays of Independent Disks, RAID) 的技术得 到广泛应用。在这项技术中,按照某个 RIAD级别的要求把多个磁盘联系在一 起, 组成一个 RAID组。  In the storage field, in order to improve the read and write speed of data or enhance the security of data, a technology called Redundant Arrays of Independent Disks (RAID) is widely used. In this technology, multiple disks are linked together to form a RAID group according to the requirements of a certain RIAD level.
按照小型计算机系统接口 (Small Computer System Interface, SCSI), 或 者纤维通道( Fibre Channel, FC )、因特网小型计算机系统接口网 iSCSI ( internet Small Computer System Interface, SCSI) 等封装了 SCSI的协议, 或者其他类 似协议, 可以根据 RAID组的容量, 从逻辑上对 RAID组做横向切割, 把这个 RAID组划分成多个逻辑单元(Logic Unit)。在存储领域中, 习惯上也以 LU (逻辑单元号, Logic Unit Number)来称呼逻辑单元, 除非特别说明, 本发明 沿用这种习惯。  SCSI-based protocols, such as Small Computer System Interface (SCSI), or Fibre Channel (FC), Internet Small Computer System Interface (SCSI), or the like According to the capacity of the RAID group, the RAID group can be logically cut horizontally, and the RAID group is divided into a plurality of logical units (Logic Units). In the field of storage, it is customary to refer to a logical unit as a LU (Logic Unit Number), and the present invention follows this convention unless otherwise specified.
RAID组中每个磁盘都为这个 LU 提供相同大小的存储空间, 每个切割 下来的单元就称为一个 LU 。每个 LUN可以单独供主机访问, 这样的话, 原 先的一个 RAID组就可以逻辑上作为多个 RAID组来使用了。  Each disk in the RAID group provides the same amount of storage for this LU, and each cut unit is called an LU. Each LUN can be accessed by the host separately. In this way, the original RAID group can be logically used as multiple RAID groups.
磁盘组由至少一个 RAID组组成, 由于磁盘组内磁盘数量难以直接扩充, 而磁盘组建立之初, 难以确定用户对资源的实际需求量, 因此经常出现磁盘 组能提供的资源难以满足用户需求的情况。 发明内容  A disk group consists of at least one RAID group. Because the number of disks in a disk group is difficult to expand directly. When the disk group is established, it is difficult to determine the actual amount of resources required by the user. Therefore, it is often difficult for the disk group to provide resources to meet user requirements. Happening. Summary of the invention
本发明提供一种数据迁移技术, 可以实现跨磁盘组的数据迁移。  The present invention provides a data migration technology that can implement data migration across a disk group.
第一方面, 本发明提供一种数据迁移方法, 应用于控制器中, 所述控制 器分别和第一磁盘组、第二磁盘组连接,所述第一磁盘组 DG以及所述第二磁 盘组均包括磁盘, 每个所述磁盘包括多个分块 Chunk, 其中, 至少 2个来自同 一 DG且不同磁盘的 Chunk, 按照廉价磁盘冗余阵列 RAID算法组成分块组 CKG, 每个 CKG划分成多个长度 Extent, 且所述 CKG中每个所述 Chunk为 所述 Extent提供同样大小的存储空间, 该方法包括: 获取第一磁盘组的负载 信息;当所述负载信息达到迁出阈值时,把第一磁盘组中目标逻辑单元号 LU 的至少一个迁出 Extent中的数据读取到所述控制器的缓存中; 获取第二磁盘 组中的至少一个迁入 Extent, 所述迁入 Extent的数量和所述迁出 Extent的数 量相同, 每个所述迁出 Extent的 RAID等级和一个所述迁入 Extent的 RAID 等级——对应, 所述迁入 Extent是空闲的 Extent; 将所述迁出 LU 与所述迁 出 Extent的映射关系更新为所述迁出 LUN与所述迁入 Extent的映射关系。 In a first aspect, the present invention provides a data migration method, which is applied to a controller, where the controller is respectively connected to a first disk group and a second disk group, the first disk group DG and the second disk group. Each includes a disk, each of the disks includes a plurality of chunked Chunks, wherein at least two are from the same A Chunk of a different DG and a different disk constitutes a block group CKG according to a redundant array of inexpensive disk arrays, each CKG is divided into a plurality of lengths Extent, and each of the Chunks in the CKG provides the same size for the Extent The storage space, the method includes: acquiring load information of the first disk group; and reading, when the load information reaches the migration threshold, reading data of at least one of the target logical unit numbers LU in the first disk group In the cache of the controller, obtaining at least one migration into the Extent of the second disk group, the number of the moved intotent is the same as the number of the outbound Extent, and the RAID level of each of the outbound Extents and one The RAID level of the move into the Extent—correspondingly, the move-in Extent is an idle Extent; updating the mapping relationship between the move-out LU and the move-out Extent to the move-out LUN and the move-in Extent Mapping relationship.
在第一方面的第一种可能的实现方式中, 负载信息包括: 每秒带宽 BPS 高于第一阈值, 与空闲存储空间低于第二阈值中的至少一种。  In a first possible implementation manner of the first aspect, the load information includes: at least one of a bandwidth BPS per second being higher than a first threshold, and a free storage space being lower than a second threshold.
第二方面, 本发明提供一种数据迁移装置, 用于迁移第一磁盘组的数据 到第二磁盘组,所述第一磁盘组 DG以及所述第二磁盘组均包括磁盘,每个所 述磁盘包括多个分块 Chunk,其中,至少 2个来自同一 DG且不同磁盘的 Chunk, 按照廉价磁盘冗余阵列 RAID算法组成分块组 CKG,每个 CKG划分成多个长 度 Extent, 且所述 CKG中每个所述 Chunk为所述 Extent提供同样大小的存储 空间, 该装置包括: 参数获取单元, 用于获取第一磁盘组的负载信息; 数据 读取单元, 和所述参数获取单元 41连接, 当所述负载信息达到迁出阈值时, 把第一磁盘组中目标逻辑单元号 LUN的至少一个迁出 Extent中的数据读取到 所述控制器的缓存中; 数据写入单元, 和所述数据读取单元连接, 用于获取 第二磁盘组中的至少一个迁入 Extent, 所述迁入 Extent的数量和所述迁出 Extent的数量相同,每个所述迁出 Extent的 RAID等级和一个所述迁入 Extent 的 RAID等级——对应, 所述迁入 Extent是空闲的 Extent; LU 更新单元, 用于将所述迁出 LU 与所述迁出 Extent的映射关系更新为所述迁出 LU 与 所述迁入 Extent的映射关系。  In a second aspect, the present invention provides a data migration apparatus, configured to migrate data of a first disk group to a second disk group, wherein the first disk group DG and the second disk group each include a disk, each of the The disk includes a plurality of chunked Chunks, wherein at least two Chunks from the same DG and different disks form a chunk group CKG according to a cheap disk redundant array RAID algorithm, each CKG is divided into a plurality of lengths Extent, and the CKG Each of the Chunks provides the same size storage space for the Extent, and the device includes: a parameter obtaining unit, configured to acquire load information of the first disk group; and a data reading unit, connected to the parameter obtaining unit 41, When the load information reaches the migration threshold, the data in the at least one of the target logical unit number LUNs in the first disk group is read out into the cache of the controller; the data writing unit, and the a data reading unit connection, configured to acquire at least one migration into the second disk group, the number of the migration extensions is the same as the number of the outbound extensions, each Corresponding to the RAID level of the outbound extension and the RAID level of the move into the Extent, the move-in Extent is an idle Extent; and the LU update unit is configured to move the moveout LU and the moveout Extent The mapping relationship is updated to the mapping relationship between the migration LU and the migration into the extension.
在第二方面的第一种可能的实现方式中, 负载信息包括: 每秒带宽 BPS 高于第一阈值, 与空闲存储空间低于第二阈值中的至少一种。 附图说明 In a first possible implementation manner of the second aspect, the load information includes: at least one of a bandwidth BPS per second being higher than a first threshold, and an idle storage space being lower than a second threshold. DRAWINGS
为了更清楚地说明本发明实施例技术方案, 下面将对实施例所需要使用 的附图作简单地介绍, 下面描述中的附图仅仅是本发明的一些实施例, 还可 以根据这些附图获得其他的附图。  In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings to be used in the embodiments will be briefly described below. The drawings in the following description are only some embodiments of the present invention, and can also be obtained according to the drawings. Other drawings.
图 1是本发明实施例数据迁移方法流程图;  1 is a flowchart of a data migration method according to an embodiment of the present invention;
图 2是本发明实施例控制器示意图;  2 is a schematic diagram of a controller according to an embodiment of the present invention;
图 3是本发明实施例数据迁移装置结构图。 具体实施方式  3 is a structural diagram of a data migration apparatus according to an embodiment of the present invention. detailed description
下面将结合本发明实施例中的附图, 对本发明的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部 的实施例。 基于本发明中的实施例所获得的所有其他实施例, 都属于本发明 保护的范围。  The technical solutions of the present invention will be clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained based on the embodiments of the present invention are within the scope of the present invention.
传统的 RAID技术中,先按照选定的 RAID级别把多个磁盘组合在一起形 成 RAID组, 然后以 RAID组中每个磁盘作为最小单位, 每个磁盘取出大小相 等的一部分空间共同组成 LUN。 LUN作为单位提供给主机读写, 因为 LU 横跨了所有磁盘, 所以当主机写数据时, 数据会写到整个 RAID组中; 读数据 时, 由整个 RAID组提供数据给主机。  In the traditional RAID technology, multiple disks are combined to form a RAID group according to the selected RAID level. Then, each disk in the RAID group is used as a minimum unit, and each disk takes a part of the same size to form a LUN. The LUN is provided to the host as a unit. Because the LU spans all the disks, when the host writes data, the data is written to the entire RAID group. When the data is read, the entire RAID group provides data to the host.
大部分 RAID级别都提供了数据重构的功能。 例如在 RAID3中, 有一个 磁盘存储校验数据, 其余磁盘存储业务数据。 当有一个磁盘发生了故障后, 可以由其余磁盘通过校验算法恢复出故障磁盘中的数据。 然而, 由于单个磁 盘的存储空间越来越大, 而组成 RAID组中的磁盘数量往往不多, 例如由 6 个磁盘组成一个 RAID组, 因此如果有一个磁盘发生了故障, 只能由 RAID组 中数量不多的其余磁盘参与重构, 这个时间可能会很漫长, 例如重构 1太字 节 (TB) 的数据块, 需要耗费 10小时。 如果重构期间有新的磁盘发生故障, 将可能对存储系统造成无法恢复的数据丢失。  Most RAID levels provide data refactoring. For example, in RAID 3, one disk stores parity data, and the remaining disks store business data. When a disk fails, the data in the failed disk can be recovered by the remaining disks through a verification algorithm. However, because the storage space of a single disk is larger and larger, the number of disks in a RAID group is often small. For example, a disk group consists of 6 disks. Therefore, if one disk fails, it can only be in a RAID group. A small number of remaining disks participate in the refactoring, which can be lengthy, such as rebuilding 1 terabyte (TB) of data blocks, which takes 10 hours. If a new disk fails during refactoring, it may cause unrecoverable data loss to the storage system.
和现有技术中直接以磁盘作为粒度建立 RAID组不同的是。本发明方案中, 先把多个磁盘中的每个磁盘切分成大小相等的分块 (CK, Chunk) , 例如 6个 磁盘组成一个磁盘组 (Disk Group, DG), 把 DG中每个磁盘切分成大小是 64MB (兆字节) 的 Chunk, 然后以 Chunk作为粒度建立 RAID组, 例如 3个 Chunk组成一个 RAID组, 由这些 Chunk构成的 RAID组, 我们称为分块组Different from the prior art, the RAID group is directly created by using the disk as the granularity. In the solution of the present invention, each of the plurality of disks is first divided into equal-sized blocks (CK, Chunk), for example, six Disks are grouped into a disk group (Disk Group, DG). Each disk in the DG is divided into Chunk of 64MB (megabytes). Then, the Chunk is used as the granularity to establish a RAID group. For example, three Chunks form a RAID group. These Chunk RAID groups, we call them block groups.
(Chunk Group, CKG)。同一个磁盘中不会有属于同一个 CKG中多个 Chunk, 换句话说, 一个磁盘至多为一个 CKG提供一个 Chunk。 并非 DG中的每个磁 盘都要为 CKG提供 Chunk, 也就是, CKG中 Chunk的数量可以比 DG中磁盘 的数量少。 (Chunk Group, CKG). There will be no multiple Chunks belonging to the same CKG on the same disk. In other words, a disk provides at most one Chunk for a CKG. Not every disk in the DG provides Chunk for CKG, that is, the number of Chunks in CKG can be less than the number of disks in the DG.
需要说明的是, 本发明所涉及的技术并不受限于存储介质本身, 因此除 了磁盘外, 同样适用于固态硬盘、 可擦写光盘、 软盘、 磁带等其他介质, 为 了方便说明, 本发明实施例以磁盘进行举例。 本发明实施例所说的数据, 例 如图片、 视频、 数据库数据、 音频、 文本等。  It should be noted that the technology involved in the present invention is not limited to the storage medium itself, and therefore is applicable to other media such as a solid state hard disk, a rewritable optical disk, a floppy disk, a magnetic tape, and the like in addition to the magnetic disk, and the present invention is implemented for convenience of description. An example is a disk. The data referred to in the embodiments of the present invention, such as pictures, videos, database data, audio, text, and the like.
此时磁盘间不再组成传统的 RAID关系,而是可以组成更大磁盘数量的磁 盘组 (例如 96个磁盘), 磁盘上的 Chunk可与此磁盘组中不同磁盘的 Chunk 组成 CKG。 每个 CKG可以有自己的 RAID级别, 这样, 一个磁盘上的 Chunk 可以属于多个 RAID级别的多个分块组。  At this time, the disks do not form a traditional RAID relationship. Instead, they can form a larger disk group (for example, 96 disks). Chunk on the disk can form a CKG with Chunk of different disks in the disk group. Each CKG can have its own RAID level so that Chunk on one disk can belong to multiple tile groups at multiple RAID levels.
把 CKG中的每个 Chunk划分成小块的存储空间,由每个 Chunk提供相同 大小的一块空间,可以组成一个长度(Extent),—个 Extent的大小例如 256KB (千字节)。用这种办法,可以把一个 CKG可以分割成多个 Extent,形成 Extent Pool (长度池)。 Extent是组成本发明 LUN的基本单元, 从 Extent Pool中选取 一个或多个 Extent可以组成 LUN以供主机访问。 当 LUN由多个 Extent组成 时, 组成这个 LUN的 Extent来自同一个 CKG, 也可以来自不同的 CKG, 组 成同一个 LUN的 Extent的 RAID级别可以相同也可以不同, Extent的 Raid 级别与其来自的 CKG的 RAID级别相同。 属于同一个 LUN的不同 Extent的 存储空间大小相同, 可以方便数据迁移时实现互斥。  Each Chunk in CKG is divided into small blocks of storage space. Each Chunk provides a space of the same size, which can be composed of an Extent, and the size of an Extent is, for example, 256 KB (kilobytes). In this way, a CKG can be split into multiple Extents to form an Extent Pool. Extent is the basic unit that constitutes the LUN of the present invention. One or more Extents are selected from the Extent Pool to form a LUN for host access. When a LUN consists of multiple executs, the contigs that make up the LUN are from the same CKG, and can also come from different CKGs. The RAID levels of the Extents that make up the same LUN can be the same or different. The Raid level of the Extent and the CKG from it. The RAID level is the same. Different Extents belonging to the same LUN have the same storage space, which facilitates mutual exclusion during data migration.
此外, 由于传统 RAID技术中, 对 LU 中数据的寻址方式是 LU ID+逻 辑块地址(LBA)地址。如果每 6个 Chunk组成一个 RAID组,那么每个 Extent 的存储空间也来自 6个磁盘。 但是由于 LUN由不同的 Extent组成, 而每个 Extent所跨越的磁盘可以不一样, 所以在这种情况下, LU 跨越的磁盘数量 可以比传统 RAID组跨越的磁盘更多。因此当有磁盘发生故障时,参与重构的 磁盘数量也更多, 重构时间大大缩短。 本发明实施例 Chunk、 CKG、 Extent 以及 LU 的建立都可以通过控制器来完成。存储系统中由控制器和存储介质 共同组成, 存储介质提供存储空间, 而控制器对存储空间进行管理, 并负责 对存储空间中数据的读出和写入。 Extent跨越的磁盘,是指 Extent的存储空间 所来源的磁盘。 In addition, due to the conventional RAID technology, the way to address data in the LU is the LU ID + Logical Block Address (LBA) address. If every 6 Chunks form a RAID group, then the storage space of each Extent is also from 6 disks. But since the LUN is made up of different Extents, each Extent can span different disks, so in this case, LUs can span more disks than traditional RAID groups. Therefore, when a disk fails, the number of disks participating in the reconstruction is also larger, and the reconstruction time is greatly shortened. The establishment of Chunk, CKG, Extent and LU in the embodiments of the present invention can be completed by a controller. The storage system is composed of a controller and a storage medium. The storage medium provides storage space, and the controller manages the storage space and is responsible for reading and writing data in the storage space. The disk that Extent spans refers to the disk from which the storage space of the Extent is derived.
本发明实施例可以实现跨 DG的数据迁移。在一个存储系统中可以有多个 DG, 每个 DG由多个相同类型的磁盘组成, 在 DG中按照 RAID算法要求的 数量选出 CKG, CKG是由 DG中不同硬盘上的块构成的, LUN的空间就是由 若干个 CKG的空间构成的, 所以 LUN的数据可以分布到了 DG内的多个硬 盘中。  Embodiments of the present invention can implement data migration across DGs. There may be multiple DGs in a storage system. Each DG consists of multiple disks of the same type. In the DG, CKG is selected according to the number required by the RAID algorithm. CKG is composed of blocks on different hard disks in the DG. The space is composed of several CKG spaces, so the data of the LUN can be distributed to multiple hard disks in the DG.
本发明实施例中, 同一个磁盘组属于同一个故障域, 不同磁盘组属于不 同的故障域。 也就是说如果一个磁盘组中有任意数量的磁盘发送故障, 在恢 复数据时,与其他磁盘组的磁盘无关,依靠磁盘组内部的其他磁盘进行恢复。  In the embodiment of the present invention, the same disk group belongs to the same fault domain, and different disk groups belong to different fault domains. That is to say, if any disk in a disk group fails to send, when restoring data, it depends on the disks of other disk groups and relies on other disks inside the disk group for recovery.
通过 CKG的划分, 同一个磁盘组的磁盘与其他磁盘存在直接或间接的关 系。 例如一共有磁盘八、 B、 C、 D和 E共计 5个磁盘组成一个 DG, 那么组 成一个 CKG的 Chunk可以来自其中任意 2个或者 2个以上磁盘。 例如 CKG1 的 Chunk可以来 A、 B和 C这 3个磁盘, CKG2的 Chunk来自 A、 B、 C和 D这 4个磁盘、 CKG3的 Chunk来自 C、 D、 E这三个磁盘 ··· ···由于磁盘 A与 磁盘 C共同提供 Chunk组成 CKG1 , 因此通过 CKG1与 CKG2, 磁盘 A、 C 建立了直接的联系; 通过 CKG3 ,磁盘 C与 E建立了直接联系;通过磁盘八、 C之间的直接联系和磁盘 C、 E之间的直接联系,形成磁盘 A、 E的间接联系。  With CKG partitioning, disks of the same disk group have direct or indirect relationships with other disks. For example, if a total of five disks of disks VIII, B, C, D, and E form a DG, then Chunk that forms a CKG can come from any two or more disks. For example, Chunk of CKG1 can come to three disks of A, B and C, Chunk of CKG2 comes from four disks of A, B, C and D, and Chunk of CKG3 comes from three disks of C, D and E. · Since Disk A and Disk C provide Chunk to form CKG1, CKG1 and CKG2, Disk A and C establish direct contact; through CKG3, Disk C establishes direct contact with E; The direct connection between the contact and the disks C and E forms an indirect connection between the disks A and E.
如图 1, 下面对跨 DG的数据迁移做具体介绍。  As shown in Figure 1, the data migration across DG is described in detail below.
歩骤 11, 控制器获取第一 DG的每秒带宽 (BandPer Second, BPS) 以及 剩余磁盘空间。第一 DG中有可以迁移出去的 LU ,称为迁出 LU ,迁出 LU 映射由多个 Extent组成, 并和组成它的 Extent存在映射关系。 其中, 控制器 对第一 DG、 第二 DG进行管理。 迁出任意 LUN的任意 Extent中的数据都可 以减少第一 DG的负载。第一 DG和第二 DG可以是由相同规格的存储介质组 成, 例如相同读写速度存储介质。 In step 11, the controller acquires the bandwidth of the first DG (BandPer Second, BPS) and the remaining disk space. The first DG has an LU that can be migrated out, which is called an outbound LU. The migrated LU map is composed of multiple Extents and has a mapping relationship with the Extent that constitutes it. Where the controller The first DG and the second DG are managed. The data in any Extent that moves out of any LUN can reduce the load of the first DG. The first DG and the second DG may be composed of storage media of the same specification, such as the same read/write speed storage medium.
每次执行输入操作或者输出操作时, 控制器都可以记录下来, 对一个时 间段内的输入 /输出操作的总数进行统计, 取平均值就可以获得每秒 BPS。 而 控制器查询 DG的总存储空间, 以及每次写操作占用的磁盘空间, 可以获得 DG剩余空间。  Each time an input operation or an output operation is performed, the controller can record and count the total number of input/output operations in a time period. By averaging, BPS can be obtained every second. The controller can query the total storage space of the DG and the disk space occupied by each write operation to obtain the remaining space of the DG.
歩骤 12, 当 BPS高于第一阈值, 并且剩余磁盘空间低于第二阈值时, 读 出迁出 LUN中至少一个 Extent的数据到控制器的缓存。  Step 12: When the BPS is higher than the first threshold, and the remaining disk space is lower than the second threshold, read out data of at least one Extent in the LUN to the controller.
本歩骤介绍的是数据迁移的触发条件。 BPS是读 /写操作平均每秒占用的 带宽。 例如根据阈值的设置, 当 BPS 100MB/S, 并且剩余存储空间 10%, 就触发迁移, 然后迁出 LUN中至少一个 Extent的数据到控制器的缓存。 读出 数据的 Extent的数量可以由用户设定, 也可以分别设置阈值, 然后根据算法 计算获得。 例如可以设置当满足 BPS 50MB/S并且剩余存储空间 50%就不 再迁移。 那么可以根据这两个停止迁移的阈值设置计算或者大致估算出需要 迁移的 Extent的数量。  This step describes the trigger conditions for data migration. BPS is the average bandwidth consumed per second for read/write operations. For example, according to the threshold setting, when the BPS is 100MB/S, and the remaining storage space is 10%, the migration is triggered, and then at least one Extent data in the LUN is migrated to the controller's cache. The number of Extent reading data can be set by the user, or the threshold can be set separately and then calculated according to the algorithm. For example, it can be set to not migrate when the BPS 50MB/S is satisfied and the remaining storage space is 50%. Then you can calculate or roughly estimate the number of Extents that need to be migrated based on the threshold settings for stopping the migration.
歩骤 13, 获取第二 DG的 Extent信息, 将读取到控制器缓存的数据, 写 入第二 DG的 Extent中。 从第一 DG中读出数据的 Extent, 和第二 DG中写入 数据的 Extent具有相同的 RAID级别以及存储容量。 获取第二 DG的 Extent 信息和歩骤 12也可以任意一个先执行, 或者并行执行。 被写入的 Extent是没 有存储有效数据的, 可以称为空闲 Extent。 Extent的 RAID级别就是 Extent所 属于的 CKG的 RAID级别。  Step 13. Obtain the Extent information of the second DG, and read the data buffered to the controller and write it into the Extent of the second DG. The Extent that reads data from the first DG has the same RAID level and storage capacity as the Extent that writes data in the second DG. The Extent information of the second DG and the step 12 can also be executed first or in parallel. The Extent that is written does not store valid data and can be called an idle Extent. The RAID level of Extent is the RAID level of CKG that Extent belongs to.
如果控制器管理的 DG除了第一 DG外, 还有多个, 可以从这多个 DG中 任意挑选一个作为第二 DG,也可以根据一定的条件选取,例如设置迁入阈值, 迁入阈值的判断参数和迁出阈值的判断参数相同。 当迁出阈值考虑 BPS是否 高于第一阈值,则迁入阈值考虑 BPS是否低于第三阈值。当迁出阈值考虑 BPS 是否高于第一阈值, 并且空闲空间是否小于第二阈值; 则迁入阈值考虑 BPS 是否低于第三阈值, 并且空闲空间是否大于第四阈值。 例如, 可以设定 BPS 和剩余存储空间均满足一定条件的 DG作为第二 DG, 例如 BPS 20MB/S并 且剩余存储空间 80%才能成为被迁入数据的 DG。 选择除了第一 DG外的任 意一个 DG作为第二 DG, 从统计上来看也可以达到本发明是有益效果。 If there are more than one DG managed by the controller, one of the multiple DGs may be selected as the second DG, or may be selected according to certain conditions, for example, setting the immigration threshold and moving into the threshold. The judgment parameters and the judgment parameters of the migration threshold are the same. When the eviction threshold considers whether the BPS is higher than the first threshold, the migrating threshold considers whether the BPS is lower than the third threshold. When the migration threshold considers whether the BPS is higher than the first threshold, and whether the free space is less than the second threshold; then the migration threshold considers BPS Whether it is lower than the third threshold, and whether the free space is greater than the fourth threshold. For example, the DG with the BPS and the remaining storage space satisfying certain conditions can be set as the second DG, for example, the BPS 20 MB/S and the remaining storage space is 80% to become the DG to be moved into the data. It is statistically advantageous to achieve the present invention by selecting any one of the DGs other than the first DG as the second DG.
歩骤 14, 更新迁出 LU 所映射的 Extent, 具体而言, 是把与第一 DG中 读出数据的 Extent的映射, 改为与第二 DG中写入数据的 Extent的映射。 可 以释放第一 DG中读出数据的迁出 Extent的存储空间, 使其成为空闲 Extent, 供其他 LU 使用。  Step 14. Update the Extent mapped by the outbound LU. Specifically, the mapping with the Extent of the data read out in the first DG is changed to the mapping with the Extent of the data written in the second DG. The memory of the Extend out of the data read out in the first DG can be released, making it an idle Extent for use by other LUs.
本发明实施例中, 第一磁盘组以及第二磁盘组均包括磁盘, 每个磁盘包 括多个分块 Chunk。 CKG由至少 2个 Chunk组成按照 RAID算法组成, 组成 同一个 CKG的 Chunk来自同一 DG的不同磁盘。 每个 CKG划分成多个长度 Extent, 并且每个 Extent的存储空间由 CKG的所有 Chunk共同提供, 对同一 个 Extent, 每个 Chunk提供的存储空间大小相同。  In the embodiment of the present invention, the first disk group and the second disk group each include a disk, and each disk includes a plurality of chunks Chunk. The CKG consists of at least two Chunks, which are composed of RAID algorithms. The Chunks that make up the same CKG are from different disks of the same DG. Each CKG is divided into multiple lengths Extent, and each Extent's storage space is provided by all Chunk of CKG. For the same Extent, each Chunk provides the same storage space.
LU 是由 Extent组成的, 通过映射关系, 记录 LUN所包含的 Extent。 通 过更新映射关系, 使得 LU 中的一部分 Extent来自第二 DG, 完成了对 LU 中数据的迁移。  The LU is composed of Extent, and records the Extent contained in the LUN through the mapping relationship. By updating the mapping relationship, a portion of the Extent in the LU comes from the second DG, completing the migration of data in the LU.
本实施例中, 涉及 BPS、 剩余磁盘空间这两项参数, 可以把这两项参数 统称为负载信息,并以此两项参数同时满足阈值,也就是当 BPS 100MB/S, 并且剩余存储空间 10%, 作为触发数据迁移操作。在其他实施例中, 也可以 只获取其中一项参数, 当这一项参数满足阈值时就触发数据迁移。 或者是同 时考虑两项参数, 设置两项参数各自权重, 把两项参数加权后得到一个总的 数值, 然后用总的数值和总阈值进行比较, 以判断是否处罚数据迁移操作。  In this embodiment, the two parameters of BPS and remaining disk space are referred to as load information, and the two parameters satisfy the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation. In other embodiments, only one of the parameters may be obtained, and the data migration is triggered when the one parameter satisfies the threshold. Or consider two parameters at the same time, set the weights of the two parameters, weight the two parameters to get a total value, and then compare the total value with the total threshold to determine whether to punish the data migration operation.
本发明实施例采用 LU -Extent的映射关系对 LUN的内容进行寻址, 把 待迁移的数据复制到目的 DG, 然后改变这个映射关系就可以实现跨 DG的数 据迁移。而传统 RAID中, 以 LU ID+LAB地址来进行寻址, 无法完成跨 DG 的数据迁移。  In the embodiment of the present invention, the LU-Extent mapping relationship is used to address the content of the LUN, and the data to be migrated is copied to the destination DG, and then the mapping relationship is changed to implement data migration across the DG. In traditional RAID, addressing with LU ID+LAB address cannot complete data migration across DG.
如图 2, 从硬件来描述, 上述数据迁移歩骤可以由控制器 2的处理器 21 执行,控制器 2的内存 22中存储有程序指令,处理器 21执行程序指令来实现 这个方法。 控制器 2和磁盘组 31磁盘组 32连接, 具体而言可以是内存 22和 磁盘组 31以及磁盘组 32连接。 As shown in FIG. 2, from the hardware, the above data migration step can be performed by the processor 21 of the controller 2. Executing, a program instruction is stored in the memory 22 of the controller 2, and the processor 21 executes the program instruction to implement the method. The controller 2 is connected to the disk group 32 of the disk group 31, and specifically, the memory 22 can be connected to the disk group 31 and the disk group 32.
如图 3, 本发明还提供一种数据迁移装置 4, 可以应用上述迁移方法。 数 据迁移装置 4包括参数获取单元 41,数据读取单元 42,数据写入单元 43以及 LU 更新单元 44。 数据迁移装置 4集成在控制器中, 可以在磁盘组之间对数 据进行迁移。  As shown in FIG. 3, the present invention further provides a data migration apparatus 4, which can apply the above migration method. The data migration device 4 includes a parameter acquisition unit 41, a data reading unit 42, a data writing unit 43, and an LU updating unit 44. The data migration appliance 4 is integrated into the controller and can migrate data between disk groups.
参数获取单元 41, 用于获取第一 DG的每秒读写操作次 (Input/Output Operations Per Second, BPS) 以及剩余磁盘空间。  The parameter obtaining unit 41 is configured to obtain an input/output operation per second (BPS) of the first DG and a remaining disk space.
第一 DG中有可以迁移出去的 LUN,称为迁出 LUN,也可以称为迁出 LUN, 迁出 LU 映射有多个 Extent。其中, 控制器对第一 DG、第二 DG进行管理。 迁出任意 LUN的任意 Extent中的数据都可以减少第一 DG的负载。 第一 DG 和第二 DG可以是由相同规格的存储介质组成, 例如相同读写速度存储介质。  The first DG has LUNs that can be migrated out. It is called an migrating LUN. It can also be called an migrating LUN. The migrating LU map has multiple Extents. The controller manages the first DG and the second DG. Data in any Extent that moves out of any LUN can reduce the load on the first DG. The first DG and the second DG may be composed of storage media of the same specification, such as the same read/write speed storage medium.
每次执行输入操作或者输出操作时, 可以记录在控制器都的缓存中, 对 一个时间段内的输入 /输出操作的总数进行统计, 取平均值就可以获得每秒 BPSo 而参数获取单元 41查询 DG的总存储空间, 以及每次写操作占用的磁 盘空间, 可以获得 DG剩余空间。  Each time an input operation or an output operation is performed, it can be recorded in the buffer of the controller, and the total number of input/output operations in a time period is counted, and the BPSo per second can be obtained by averaging, and the parameter acquisition unit 41 queries. The total storage space of the DG, and the disk space occupied by each write operation, can obtain the remaining space of the DG.
数据读取单元 42,和参数获取单元 41连接,用于当 BPS高于第一阈值, 并且剩余磁盘空间低于第一阈值时, 读出迁出 LUN中至少一个 Extent的数据 到控制器的缓存。  The data reading unit 42 is connected to the parameter obtaining unit 41, and is configured to read out data of at least one Extent of the migrated LUN to the controller cache when the BPS is higher than the first threshold and the remaining disk space is lower than the first threshold. .
可以设置阈值作为数据迁移的触发条件。 例如根据阈值的设置, 当 BPS ^IOOMB/S, 并且剩余存储空间 10%, 就触发迁移, 然后迁出 LU 中至少 一个 Extent的数据到控制器的缓存。 读出数据的 Extent的数量可以由用户设 定, 也可以分别设置阈值,然后根据算法计算获得。例如可以设置当满足 BPS 50MB/S并且剩余存储空间 50%就不再迁移。 那么可以根据这两个停止迁 移的阈值设置计算或者大致估算出需要迁移的 Extent的数量。  Thresholds can be set as triggers for data migration. For example, according to the threshold setting, when BPS ^IOOMB/S, and the remaining storage space is 10%, the migration is triggered, and then at least one Extent data in the LU is migrated to the controller's cache. The number of Extent reading data can be set by the user, or the threshold can be set separately and then calculated according to the algorithm. For example, it can be set to not migrate when the BPS 50MB/S is satisfied and the remaining storage space is 50%. Then you can calculate or roughly estimate the number of Extents that need to be migrated based on the threshold settings for these two stop migrations.
数据写入单元 43, 和数据读取单元 42连接, 用于获取第二 DG的 Extent 信息, 将读取到控制器缓存的数据, 写入第二 DG的 Extent中。 The data writing unit 43 is connected to the data reading unit 42 and configured to acquire the Extent of the second DG. Information, the data that is read into the controller cache is written into the Extence of the second DG.
从第一 DG中读出数据的 Extent,和第二 DG中写入数据的 Extent具有相 同的 RAID级别以及存储容量。 被写入的 Extent是没有存储有效数据的, 可 以称为空闲 Extent。 Extent的 RAID级别就是 Extent所属于的 CKG的 RAID 级别。  The Extent that reads data from the first DG has the same RAID level and storage capacity as the Extent that writes data in the second DG. The Extent that is written does not store valid data and can be called an idle Extent. The RAID level of Extent is the RAID level of CKG to which Extent belongs.
如果 DG有三个或者三个以上, 数据写入单元 43可以从中任意挑选一个 作为第二 DG, 也可以根据一定的条件选取, 例如设置迁入阈值, 迁入阈值的 项目和迁出阈值匹配。 当迁出阈值考虑 BPS是否高于第一阈值, 则迁入阈值 考虑 BPS是否低于第三阈值。 当迁出阈值考虑 BPS是否高于第一阈值, 并且 空闲空间是否小于第二阈值; 则迁入阈值考虑 BPS是否低于第三阈值, 并且 空闲空间是否大于第四阈值。  If the DG has three or more, the data writing unit 43 can arbitrarily select one of them as the second DG, and can also be selected according to certain conditions, for example, setting the immigration threshold, and the item moving into the threshold matches the migration threshold. When the eviction threshold considers whether the BPS is higher than the first threshold, the migrating threshold considers whether the BPS is lower than the third threshold. When the eviction threshold considers whether the BPS is higher than the first threshold and the free space is less than the second threshold; then the migrating threshold considers whether the BPS is lower than the third threshold, and whether the free space is greater than the fourth threshold.
LU 更新单元 44, 和数据写入单元 43连接, 用于更新迁出 LU 所映射 的 Extent, 具体而言, 是把与第一 DG中读出数据的 Extent的映射, 改为与第 二 DG中写入数据的 Extent的映射。 LUN更新单元 44还可以进一歩,、 释放 第一 DG中读出数据的迁出 Extent的存储空间, 使其成为空闲 Extent。  The LU update unit 44 is connected to the data writing unit 43 and is configured to update the Extent mapped by the migrated LU. Specifically, the mapping with the Extent of the read data in the first DG is changed to the second DG. The mapping of the Extent to the data. The LUN update unit 44 can further release the storage space of the Extend data read out from the first DG to make it an idle Extent.
LU 是由 Extent组成的, 通过映射关系, 记录 LUN所包含的 Extent。 通 过更新映射关系, 使得 LU 中的一部分 Extent来自第二 DG, 完成了对 LU 中数据的迁移。  The LU is composed of Extent, and records the Extent contained in the LUN through the mapping relationship. By updating the mapping relationship, a portion of the Extent in the LU comes from the second DG, completing the migration of data in the LU.
本发明实施例中,第一磁盘组 DG以及第二磁盘组均包括磁盘,每个磁盘 包括多个分块 Chunk。 CKG由至少 2个 Chunk组成按照 RAID算法组成, 组 成同一个 CKG的 Chunk来自同一 DG的不同磁盘。 每个 CKG划分成多个长 度 Extent, 并且每个 Extent的存储空间由 CKG的所有 Chunk共同提供, 对同 一个 Extent, 每个 Chunk提供的存储空间大小相同  In the embodiment of the present invention, the first disk group DG and the second disk group each include a disk, and each disk includes a plurality of blocks Chunk. CKG consists of at least 2 Chunks in accordance with the RAID algorithm. The Chunks that form the same CKG are from different disks of the same DG. Each CKG is divided into multiple lengths Extent, and each Extent's storage space is provided by all Chunk of CKG. For the same Extent, each Chunk provides the same storage space.
本实施例中, 涉及 BPS、 剩余磁盘空间这两项参数, 可以把这两项参数 统称为负载信息,并以此两项参数同时满足阈值,也就是当 BPS 100MB/S, 并且剩余存储空间 10%, 作为触发数据迁移操作。在其他实施例中, 也可以 只获取其中一项参数, 当这一项参数满足阈值时就触发数据迁移。 或者是同 时考虑两项参数, 对两项设置权重, 加权后得到一个总的数值, 然后用总的 数值和总阈值进行比较, 以判断是否处罚数据迁移操作。 In this embodiment, the two parameters of BPS and remaining disk space are referred to as load information, and the two parameters satisfy the threshold at the same time, that is, when BPS 100MB/S, and the remaining storage space 10 %, as a trigger data migration operation. In other embodiments, only one of the parameters may be acquired, and the data migration is triggered when the one parameter satisfies the threshold. Or the same Consider two parameters, set the weights for the two items, weight them to get a total value, and then compare the total value with the total threshold to determine whether to penalize the data migration operation.
本发明实施例采用 LU -Extent的映射关系对 LUN的内容进行寻址, 把 待迁移的数据复制到目的 DG, 然后改变这个映射关系就可以实现跨 DG的数 据迁移。而传统 RAID中, 以 LU ID+LAB地址来进行寻址, 无法完成跨 DG 的数据迁移。  In the embodiment of the present invention, the LU-Extent mapping relationship is used to address the content of the LUN, and the data to be migrated is copied to the destination DG, and then the mapping relationship is changed to implement data migration across the DG. In traditional RAID, addressing with LU ID+LAB address cannot complete data migration across DG.
上述实施例中, 除了 BPS , 还可以使用每秒读写次数 (Input/Output Operations Per Second, IOPS )作为阈值, BPS=IOPS X I/O大小, I/O大小是单 次读 /写请求所请求的数据量, 例如比如 512B, 4KB, 1MB等等。  In the above embodiment, in addition to BPS, Input/Output Operations Per Second (IOPS) can be used as the threshold, BPS=IOPS XI/O size, and the I/O size is requested by a single read/write request. The amount of data, such as 512B, 4KB, 1MB, etc.
本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可能 实现方式可以被具体实施为系统、 方法或者计算机程序产品。 因此, 本发明 的各方面、 或各个方面的可能实现方式可以采用完全硬件实施例、 完全软件 实施例 (包括固件、 驻留软件等等) , 或者组合软件和硬件方面的实施例的 形式, 在这里都统称为"电路"、 "模块 "或者 "系统"。 此外, 本发明的各方面、 或各个方面的可能实现方式可以采用计算机程序产品的形式, 计算机程序产 品是指存储在计算机可读介质中的计算机可读程序代码。  Those of ordinary skill in the art will appreciate that various aspects of the present invention, or possible implementations of various aspects, can 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 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或者快闪存储器)、 光纤、 便携式只读存储器 (CD-ROM) 。  The computer readable medium can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium includes, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing, such as random access memory (RAM), read only memory (ROM), Erase programmable read-only memory (EPROM or flash memory), optical fiber, portable read-only memory (CD-ROM).
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码, 使得处理器能够执行在流程图中每个歩骤、 或各歩骤的组合中规定的功能动 作; 生成实施在框图的每一块、 或各块的组合中规定的功能动作的装置。  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 of the steps, or combinations of steps in the flowchart; A means of functional action specified in each block of the block diagram or in a combination of blocks.

Claims

权利要求书 claims
1、 一种数据迁移方法, 应用于控制器中, 所述控制器分别和第一磁盘组、 第二磁盘组连接, 其特征在于: 所述第一磁盘组以及所述第二磁盘组均包括磁 盘, 每个所述磁盘包括多个分块 Chunk, 其中, 至少 2个来自同一磁盘组且不同 磁盘的 Chunk, 按照廉价磁盘冗余阵列 RAID算法组成分块组 CKG, 每个 CKG 划分成多个长度 Extent, 且所述 CKG中每个所述 Chunk为所述 Extent提供同样 大小的存储空间, 该方法包括: 1. A data migration method, applied in a controller, the controller is connected to a first disk group and a second disk group respectively, characterized in that: the first disk group and the second disk group both include Disk, each of the disks includes multiple chunks, among which at least 2 chunks are from the same disk group but different disks, forming a chunk group CKG according to the cheap disk redundant array RAID algorithm, and each CKG is divided into multiple The length of the Extent, and each Chunk in the CKG provides the same size storage space for the Extent. The method includes:
获取第一磁盘组的负载信息; Get the load information of the first disk group;
当所述负载信息达到迁出阈值时, 把第一磁盘组中目标逻辑单元号 LU 的 至少一个迁出 Extent中的数据读取到所述控制器的缓存中; When the load information reaches the migration threshold, read the data in at least one migration Extent of the target logical unit number LU in the first disk group into the cache of the controller;
获取第二磁盘组中的至少一个迁入 Extent,所述迁入 Extent的数量和所述迁 出 Extent的数量相同,每个所述迁出 Extent的 RAID等级和一个所述迁入 Extent 的 RAID等级——对应, 所述迁入 Extent是空闲的 Extent; Obtain at least one moving-in Extent in the second disk group, the number of the moving-in Extents is the same as the number of the moving-out Extents, the RAID level of each moving-out Extent and the RAID level of one of the moving-in Extents ——Correspondingly, the imported Extent is an idle Extent;
将所述迁出 LU 与所述迁出 Extent的映射关系更新为所述迁出 LU 与所 述迁入 Extent的映射关系。 The mapping relationship between the moving-out LU and the moving-out Extent is updated to the mapping relationship between the moving-out LU and the moving-in Extent.
2、根据权利要求 1所述的方法,其特征在于,所述负载信息达到迁出阈值, 包括: 2. The method according to claim 1, characterized in that the load information reaches a migration threshold, including:
每秒带宽 BPS高于第一阈值; 和 Bandwidth per second BPS is above the first threshold; and
空闲存储空间低于第二阈值。 Free storage space is below the second threshold.
3、根据权利要求 1所述的方法,其特征在于,所述负载信息达到迁出阈值, 包括: 3. The method according to claim 1, characterized in that the load information reaches a migration threshold, including:
每秒带宽 BPS高于第一阈值。 Bandwidth per second BPS is higher than the first threshold.
4、根据权利要求 1所述的方法,其特征在于,所述负载信息达到迁出阈值, 包括: 4. The method according to claim 1, characterized in that the load information reaches a migration threshold, including:
空闲存储空间低于第二阈值。 Free storage space is below the second threshold.
5、 根据权利要求 1、 2、 3或 4所述的方法, 其特征在于, 将所述迁出 LU 与所述迁出 Extent的映射关系更新为所述迁出 LU 与所述迁入 Extent的映射关 系之后, 进一歩包括: 5. The method according to claim 1, 2, 3 or 4, characterized in that: the mapping relationship between the moving out LU and the moving out Extent is updated to the mapping relationship between the moving out LU and the moving in Extent. Mapping level After that, further steps include:
释放所述迁出 Extent的存储空间。 Release the storage space of the moved Extent.
6、 根据权利要求 1、 2、 3或 4所述的方法, 其特征在于: 6. The method according to claim 1, 2, 3 or 4, characterized in that:
所述第二磁盘组的负载信息满足迁入阈值。 The load information of the second disk group meets the migration threshold.
7、 根据权利要求 1、 2、 3或 4所述的方法, 其特征在于: 7. The method according to claim 1, 2, 3 or 4, characterized in that:
属于同一个 LUN的不同 Extent的存储空间大小相同。 The storage spaces of different extents belonging to the same LUN have the same size.
8、 一种数据迁移装置, 用于迁移第一磁盘组的数据到第二磁盘组, 其特征 在于: 所述第一磁盘组以及所述第二磁盘组均包括磁盘, 每个所述磁盘包括多 个分块 Chunk, 其中, 至少 2个来自同一磁盘组且不同磁盘的 Chunk, 按照廉价 磁盘冗余阵列 RAID算法组成分块组 CKG, 每个 CKG划分成多个长度 Extent, 且所述 CKG中每个所述 Chunk为所述 Extent提供同样大小的存储空间,该装置 包括: 8. A data migration device for migrating data from a first disk group to a second disk group, characterized in that: the first disk group and the second disk group both include disks, and each disk includes Multiple block Chunks, among which at least 2 Chunks from the same disk group but different disks, form a block group CKG according to the cheap disk redundant array RAID algorithm, each CKG is divided into multiple lengths of Extent, and the CKG contains Each Chunk provides the same size storage space for the Extent. The device includes:
参数获取单元, 用于获取第一磁盘组的负载信息; The parameter acquisition unit is used to acquire the load information of the first disk group;
数据读取单元, 和所述参数获取单元 41连接, 当所述负载信息达到迁出阈 值时, 把第一磁盘组中目标逻辑单元号 LUN的至少一个迁出 Extent中的数据读 取到所述控制器的缓存中; The data reading unit is connected to the parameter acquisition unit 41. When the load information reaches the migration threshold, the data in at least one migration Extent of the target logical unit number LUN in the first disk group is read into the migration Extent. in the controller’s cache;
数据写入单元, 和所述数据读取单元连接, 用于获取第二磁盘组中的至少 一个迁入 Extent, 所述迁入 Extent的数量和所述迁出 Extent的数量相同, 每个 所述迁出 Extent的 RAID等级和一个所述迁入 Extent的 RAID等级——对应,所 述迁入 Extent是空闲的 Extent; A data writing unit, connected to the data reading unit, is used to obtain at least one moving-in Extent in the second disk group. The number of the moving-in Extents is the same as the number of the moving-out Extents. Each of the The RAID level of the moving-out Extent corresponds to the RAID level of the moving-in Extent, and the moving-in Extent is an idle Extent;
LU 更新单元,用于将所述迁出 LU 与所述迁出 Extent的映射关系更新为 所述迁出 LU 与所述迁入 Extent的映射关系。 LU update unit, used to update the mapping relationship between the moving-out LU and the moving-out Extent to the mapping relationship between the moving-out LU and the moving-in Extent.
9、根据权利要求 8所述的装置,其特征在于,所述负载信息达到迁出阈值, 包括: 9. The device according to claim 8, wherein the load information reaches a migration threshold, including:
每秒带宽 BPS高于第一阈值; 和 Bandwidth per second BPS is above the first threshold; and
空闲存储空间低于第二阈值。 Free storage space is below the second threshold.
10、 根据权利要求 8所述的装置, 其特征在于, 所述负载信息达到迁出阈 值, 包括: 10. The device according to claim 8, characterized in that: the load information reaches a migration threshold Values, including:
每秒带宽 BPS高于第一阈值。 Bandwidth per second BPS is higher than the first threshold.
11、根据权利要求 8所述的装置,其特征在于,所述负载信息达到迁出阈值, 包括: 11. The device according to claim 8, wherein the load information reaches a migration threshold, including:
空闲存储空间低于第二阈值。 Free storage space is below the second threshold.
12、 根据权利要求 8、 9、 10或 11所述的装置, 其特征在于: 12. The device according to claim 8, 9, 10 or 11, characterized in that:
属于同一个 LUN的不同 Extent的存储空间大小相同。 The storage spaces of different extents belonging to the same LUN have the same size.
PCT/CN2013/089982 2013-12-19 2013-12-19 Data migration method and device WO2015089798A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380002566.1A CN103858092B (en) 2013-12-19 2013-12-19 A kind of data migration method and device
PCT/CN2013/089982 WO2015089798A1 (en) 2013-12-19 2013-12-19 Data migration method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/089982 WO2015089798A1 (en) 2013-12-19 2013-12-19 Data migration method and device

Publications (1)

Publication Number Publication Date
WO2015089798A1 true WO2015089798A1 (en) 2015-06-25

Family

ID=50864332

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/089982 WO2015089798A1 (en) 2013-12-19 2013-12-19 Data migration method and device

Country Status (2)

Country Link
CN (1) CN103858092B (en)
WO (1) WO2015089798A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114442942A (en) * 2022-01-05 2022-05-06 杭州宏杉科技股份有限公司 Data migration method, system, equipment and storage medium

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988727B (en) * 2015-02-25 2021-04-16 中兴通讯股份有限公司 Storage method and storage device based on RAID
US10002072B2 (en) * 2015-05-18 2018-06-19 Mediatek Inc. Method and apparatus for controlling data migration in multi-channel memory device
CN106408684B (en) * 2016-09-30 2019-10-18 北京新能源汽车股份有限公司 A kind of method and device of fault message storage
JP6848060B2 (en) 2016-11-26 2021-03-24 華為技術有限公司Huawei Technologies Co.,Ltd. Data migration method, host, and solid-state disk
CN106598500A (en) * 2016-12-16 2017-04-26 郑州云海信息技术有限公司 Hierarchical storage dynamic migration method
CN106775481B (en) * 2016-12-23 2019-11-05 华为技术有限公司 Method for reading data and equipment
CN109558068B (en) * 2017-09-27 2024-04-05 北京忆恒创源科技股份有限公司 Data migration method and migration system
WO2020215223A1 (en) * 2019-04-23 2020-10-29 华为技术有限公司 Distributed storage system and garbage collection method used in distributed storage system
CN111007988B (en) * 2019-11-29 2022-10-18 苏州浪潮智能科技有限公司 RAID internal wear balancing method, system, terminal and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546249A (en) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 On-line capacity expansion method for disk arrays
CN102103629A (en) * 2010-12-14 2011-06-22 西北工业大学 Online data migration method
CN102184080A (en) * 2011-04-29 2011-09-14 华中科技大学 Curing band based data reading and writing method used after capacity expansion of RAID (Redundant Array of Independent Disk) system
US20120023291A1 (en) * 2010-07-22 2012-01-26 Netgear, Inc. Method and Apparatus for Dynamically Adjusting Memory Capacity in Accordance with Data Storage

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343467B2 (en) * 2004-12-20 2008-03-11 Emc Corporation Method to perform parallel data migration in a clustered storage environment
US8452928B1 (en) * 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
CN101587425B (en) * 2009-06-16 2010-12-08 杭州华三通信技术有限公司 Method and device for increasing magnetic disc redundant array redundancy

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546249A (en) * 2008-03-26 2009-09-30 中兴通讯股份有限公司 On-line capacity expansion method for disk arrays
US20120023291A1 (en) * 2010-07-22 2012-01-26 Netgear, Inc. Method and Apparatus for Dynamically Adjusting Memory Capacity in Accordance with Data Storage
CN102103629A (en) * 2010-12-14 2011-06-22 西北工业大学 Online data migration method
CN102184080A (en) * 2011-04-29 2011-09-14 华中科技大学 Curing band based data reading and writing method used after capacity expansion of RAID (Redundant Array of Independent Disk) system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114442942A (en) * 2022-01-05 2022-05-06 杭州宏杉科技股份有限公司 Data migration method, system, equipment and storage medium
CN114442942B (en) * 2022-01-05 2023-05-09 杭州宏杉科技股份有限公司 Data migration method, system, equipment and storage medium

Also Published As

Publication number Publication date
CN103858092A (en) 2014-06-11
CN103858092B (en) 2016-03-09

Similar Documents

Publication Publication Date Title
WO2015089798A1 (en) Data migration method and device
US9684593B1 (en) Techniques using an encryption tier property with application hinting and I/O tagging
US10176212B1 (en) Top level tier management
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5944587B2 (en) Computer system and control method
JP5090941B2 (en) Storage subsystem and storage system
US20160357776A1 (en) Flash optimized, log-structured layer of a file system
JP5685676B2 (en) Computer system and data management method
US9229870B1 (en) Managing cache systems of storage systems
TWI531963B (en) Data storage systems and their specific instruction enforcement methods
WO2013097618A1 (en) Storage virtualization device, storage system and data storage method and system
US20170010809A1 (en) Storage system and storage system management method
US11042324B2 (en) Managing a raid group that uses storage devices of different types that provide different data storage characteristics
KR20120050891A (en) Latency reduction associated with a response to a request in a storage system
US20110246731A1 (en) Backup system and backup method
JPWO2017068904A1 (en) Storage system
US11093134B2 (en) Storage device, management method, and program in tiered storage system
US9158478B2 (en) Storage system and storage control method
US20180307440A1 (en) Storage control apparatus and storage control method
US10621059B2 (en) Site recovery solution in a multi-tier storage environment
US10929066B1 (en) User stream aware file systems with user stream detection
JP5802283B2 (en) Storage system and logical unit management method thereof
WO2019127490A1 (en) Data access method and storage array
US11429318B2 (en) Redirect-on-write snapshot mechanism with delayed data movement
US10235053B1 (en) Method and system for using host driver for flexible allocation fast-sideways data movements

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380002566.1

Country of ref document: CN

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

Ref document number: 13899498

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13899498

Country of ref document: EP

Kind code of ref document: A1