WO2016023230A1 - Data migration method, controller and data migration device - Google Patents
Data migration method, controller and data migration device Download PDFInfo
- Publication number
- WO2016023230A1 WO2016023230A1 PCT/CN2014/084526 CN2014084526W WO2016023230A1 WO 2016023230 A1 WO2016023230 A1 WO 2016023230A1 CN 2014084526 W CN2014084526 W CN 2014084526W WO 2016023230 A1 WO2016023230 A1 WO 2016023230A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- level
- data
- fault domain
- data block
- hierarchical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Definitions
- the present invention relates to storage technologies, and in particular, to a data migration method, a controller, and a data migration device. Background technique
- a fault domain is a storage area of a certain range. Data corruption in this area does not affect data in other areas.
- Hierarchical storage technology means that when there is a large speed and price difference in the storage medium in the storage device, the currently accessed data (also called hot data) is stored on a high-speed and high-price storage medium, and the current access is performed. Insufficient data (also known as cold data) is stored on low-speed, low-priced storage media.
- Embodiments of the present invention provide a data migration method, a controller, and a data migration apparatus. Avoid It avoids the migration of multiple target data to the same fault domain during the tiered storage operation, ensuring the reliability of the data.
- an embodiment of the present invention provides a data migration method, where the method is performed by a storage device, where the storage device includes at least a controller, a first hierarchical disk set, and a second hierarchical disk set, where the first The hierarchical disk set includes a first hierarchical fault domain, the second hierarchical disk set includes at least two second hierarchical fault domains; the storage device stores N pieces of target data, and N is a positive integer greater than 1, the N The number is smaller than the number of the first level fault domains, and the N is smaller than the number of the second level fault domains; the method includes:
- the controller collects an access frequency of a data block in the first level of the fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and i ⁇ N;
- the controller determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level The target domain data is not saved in the fault domain;
- the controller migrates the data block to the determined second level of fault domain.
- the determining, by the controller, the second level fault domain of the data block to be stored in the second hierarchical disk set includes:
- the method further includes:
- the controller saves a correspondence between the first level fault domain and the determined second level fault domain
- the controller When the access frequency of the data block is lower than the preset threshold, the controller is configured according to the The correspondence migrates the data block from the determined second level fault domain to the first level fault domain.
- the method further includes:
- the controller receives the target data, and determines, according to a preset rule, that the number of copies of the target data in the storage device is N;
- an embodiment of the present invention provides a controller, where the controller includes a processor and a communication interface;
- the communication interface is configured to communicate with a disk array, where the disk array includes a first hierarchical disk set and a second hierarchical disk set, the first hierarchical disk set includes a first hierarchical fault domain, and the second hierarchical disk
- the set includes at least two second level fault domains;
- the disk array holds N pieces of target data, N is a positive integer greater than 1, the N is smaller than the number of the first level fault domains, and the N is smaller than the first The number of second-level fault domains;
- the processor is configured to calculate an access frequency of a data block in the first hierarchical fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i ⁇ N;
- the processor determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level fault The domain does not save the target data;
- the processor migrates the data block to the determined second level of fault domain.
- the processor is specifically configured to determine a number of the second level fault domain according to the i and N, and a preset association relationship, where The association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, and the obtained sum, wherein the random number is a positive integer greater than or equal to 1, and The random number does not exceed the second level fault domain included in the storage device The quotient obtained by dividing the number by the N.
- the processor is further configured to save the first hierarchical fault domain and the determined second Correspondence between hierarchical fault domains;
- the processor is further configured to migrate the data block from the determined second level fault domain to the The first level of fault domain.
- the processor is further configured to receive the target data, according to the preset The rule determines that the number of copies of the target data in the storage device is N; the controller copies the target data to generate N copies of the target data.
- an embodiment of the present invention provides a data migration apparatus, where the data migration apparatus is located in a controller of a storage device, where the storage apparatus includes at least the controller, a first hierarchical disk set, and a second hierarchical disk.
- the storage device stores N pieces of target data, where N is greater than 1. a positive integer, the N is smaller than the number of the first hierarchical fault domains, and the N is smaller than the number of the second hierarchical fault domains;
- the data migration device includes:
- a statistics module configured to calculate an access frequency of the data block in the first level fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i ⁇ N;
- a determining module configured to determine, in the second hierarchical disk set, a second level fault domain of the data block to be stored when the access frequency of the data block reaches a preset threshold, the determined second The hierarchical fault domain does not save the target data;
- a migration module configured to migrate the data block into the determined second level fault domain.
- the determining module is specifically used to Determining, according to the i and N, and a preset association relationship, the number of the second level fault domain, where the association relationship is that the number of the second level fault domain is equal to the product of the N and the random number And adding the i, the obtained sum, wherein the random number is a positive integer greater than or equal to 1, and the random number does not exceed the number of second level fault domains included in the storage device The quotient obtained by the above N.
- the method further includes:
- a saving module configured to save a correspondence between the first level fault domain and the determined second level fault domain
- the migrating module is further configured to migrate the data block from the determined second level fault domain to the first level fault domain according to the correspondence.
- the method further includes: a receiving module, configured to receive the target copying module, Copying the target data to generate N copies of the target data.
- a receiving module configured to receive the target copying module, Copying the target data to generate N copies of the target data.
- An embodiment of the present invention provides a data migration method, a controller, and a data migration apparatus, and calculates an access frequency of a data block in the first hierarchical fault domain, where the data block includes one of a plurality of target data.
- the access frequency of the data block in the first level fault domain reaches a preset threshold
- the data block is migrated to the second level fault domain, and the second level fault domain does not save the target data, This avoids migrating multiple pieces of target data to the same fault domain when performing hierarchical storage operations, ensuring data reliability.
- FIG. 1 is an application scenario diagram according to an embodiment of the present invention
- FIG. 2 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
- FIG. 3 is a diagram showing an example of a disk array according to an embodiment of the present invention.
- FIG. 4 is a schematic diagram of a fault domain distribution in a disk array according to an embodiment of the present invention
- FIG. 5 is a schematic flowchart of a data migration method according to an embodiment of the present invention
- FIG. 6 is a data migration apparatus according to an embodiment of the present invention. Schematic diagram of the structure.
- FIG. 1 is an application scenario diagram of an embodiment of the present invention.
- the storage system includes a host 100, a connection device 105, and a storage device 110.
- the host 100 can include any computing device known in the art, such as a server, desktop computer, application server, etc., with an operating system and other applications installed in the host 100, and the host 100 can have multiple.
- Connection device 105 may include any interface between a storage device and a host known in the art, such as a fiber switch, or other existing switch.
- the storage device 110 may include one or more interconnected disks of a storage device known in the prior art, such as a disk array, a cluster of disks (JBOD), and a direct access storage device (DASD).
- a storage device known in the prior art, such as a disk array, a cluster of disks (JBOD), and a direct access storage device (DASD).
- the drive, wherein the direct access memory can include a tape storage device such as a tape library, one or more storage units.
- FIG. 2 is a schematic structural diagram of a storage device 110 according to an embodiment of the present invention.
- the storage device shown in FIG. 2 is a disk array.
- the storage device 110 may include a controller 115.
- a disk array 125 wherein the disk array herein refers to a redundant array of independent disks
- the disk array 125 is composed of a plurality of disks 130.
- the disk array 125 and the controller 115 can be communicatively connected via a communication protocol such as a small computer system interface (SCSI) protocol, which is not limited herein.
- SCSI small computer system interface
- the controller 115 is the "brain" of the storage device 110 and mainly includes a processor 118, a cache 120, a memory 122, a communication bus (abbreviated as bus) 126, and a communication interface 128.
- processor 118, cache 120, memory 122, and communication interface 128 communicate with one another via communication bus 126.
- the communication interface 128 is configured to communicate with the host 100 or the disk array 125.
- the memory 122 is used to store the program 124.
- the memory 124 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory. It can be understood that the memory 124 can be a random access memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes. Non-transitory machine readable medium.
- Program 124 can include program code, the program code including computer operating instructions.
- Cache 120 is used to cache data received from host 100 or data read from disk array 125 to improve the performance and reliability of the array.
- the cache 120 may be a non-transitory machine readable medium that can store data, such as a RAM, a ROM, a flash memory, or a solid state disk (SSD), which is not limited herein.
- the processor 118 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
- An operating system and other software programs are installed in the processor 118, and different software programs can be regarded as one processing module having different functions. For example, processing input/output (I/O) requests to disk 130 for additional processing of data on disk and many more.
- the controller 115 can implement various data management functions such as 10 operations, data copy copying, and tiered storage.
- the processor 118 is configured to execute the program 124, and specifically, the related steps in the following method embodiments may be performed.
- the disk array 125 is used to store data.
- the disk array 125 may include multiple types of disks 130, such as Solid State Drive (SSD) or Serial Attached SCSI (SAS). Or Fiber Channel (FC) hard disk drive (HDD), where SCSI (Small Computer System Interface) is the abbreviation of minicomputer system interface or Serial Advanced Technology Attachment (SATA). Or Near Line (NL) Serial Attached SCSI (SAS) HDD, which is not limited here.
- SSD Solid State Drive
- SAS Serial Attached SCSI
- FC Fiber Channel
- HDD High Denst Transfer Protocol Secure
- SAS Serial Advanced Technology Attachment
- SAS Near Line
- the SSD is referred to as SSD
- the SAS HDD, FC HDD, and SATA HDD are simply referred to as HDD.
- the disk array 125 may include a plurality of disks 130.
- the plurality of disks 130 may be divided into a high-speed device layer and a low-speed device layer, and the high-speed device layer may include multiple A high speed, high price disk 130, such as an SSD; a low speed device layer may contain a plurality of low speed, low cost disks 130, such as HDDs.
- the plurality of disks 130 can be divided into other levels according to the type of the disk. Here, only two levels of the high-speed device layer and the low-speed device layer are illustrated.
- the storage space of the disk array 125 can also be divided into a plurality of fault domains.
- a fault domain is a logical storage area where faults are isolated. Data corruption in this area does not affect data in other areas.
- the fault domain is set by the storage device 110.
- a fault domain may be a RAID, or may be a disk, or may be a storage area divided according to other manners. limited.
- the embodiment of the present invention is described by taking a fault domain as a disk as an example, as shown in FIG. 4:
- the disk array 125 includes a high speed device layer and a low speed device layer, and the high speed device layer may include multiple
- the low-speed device layer can contain more HDD (in the figure, two HDDs are used as examples, but not limited to two HDDs).
- An SSD can be a fault domain, and each HDD is a fault domain.
- the fault domains need to be numbered.
- the specific numbering rule may be that the fault domains included in each device layer are numbered. For example, if the high-speed device layer includes three fault domains, then In the high-speed device layer, each fault domain is numbered as fault domain 0, fault domain 1, and fault domain 2; assuming that the low-speed device layer contains four fault domains, then for the low-speed device layer, each fault domain number is faulty. Domain 0, Fault Domain 1, Fault Domain 2, Fault Domain 3.
- the number of the fault domain is simply referred to as the fault domain number, and the fault domain number refers to the number used to distinguish each fault domain, such as 0, 1, and the like. It can be understood that the fault domain number can also use other expressions such as a letter, which is not limited in the embodiment of the present invention.
- the storage device 110 stores data, for data of higher importance, such as metadata
- data of higher importance such as metadata
- the reliability of the data is usually ensured by simultaneously storing a plurality of copies of the data.
- two copies of the data are stored in the low-speed device layer, copy 0 and copy 1, respectively.
- copy 0 is stored in fault domain 0
- replica 1 is stored in fault domain 1.
- a copy of the data can be obtained from the fault domain 1 without data loss.
- the copy number refers to a number used to distinguish each data copy, for example, 0, 1. It is to be understood that the copy number may also be in other forms such as a letter, which is not limited in the embodiment of the present invention.
- any one of the storage devices 110 can receive a data write request sent by one or more hosts 100 through the connection device 105, and determine that the data carried by the data write request is determined according to a preset hierarchical storage policy.
- the written device layer (for example, the low-speed device layer) determines the number of copies of the data that the data needs to be backed up and stored according to a preset data importance determination rule. Each copy of the data is then written to a different fault domain in the low-speed device layer.
- Any one of the storage devices 110 may also receive a data read request sent by one or more hosts 100 through the connection device 105, and read data from an address carried by the data read request.
- any one of the storage devices 110 in the embodiments of the present invention may also support a tiered storage technology. This will be described below in conjunction with FIG. 4 is a schematic diagram of a fault domain distribution in a disk array according to an embodiment of the present invention.
- the storage space of the disk array 125 can be divided into a plurality of data blocks (not shown in Fig. 4), which are data units that can monitor the access frequency of the data therein as a whole and migrate as a whole.
- a data block may be located in one disk or in multiple disks. However, in the embodiment of the present invention, one data block must be located in a fault domain. It can be understood that when a data block is located in multiple disks, the fault domain in which the data block is located refers to a RAID.
- the storage device 110 monitors the access frequency of each data block in the disk array 125. For example, when it is found that the access frequency of the data block where the copy 0 is located is higher than a preset threshold, the data in the data block can be determined to become hot data.
- the data block can be migrated to the fault domain of the high speed device layer according to a preset association relationship, for example, in the fault domain 0 of the high speed device layer.
- the statistics of the access frequency are in units of one data block, and the capacity of the data block is usually larger than the size of one data copy, and the data block may contain other data in addition to the copy 0. Therefore, the data block where the copy 0 is located may be caused by frequent access of the copy 0, or it may be caused by frequent access of data other than the copy 0 in the data block.
- the storage device 110 continues to monitor the access frequency of each data block in the disk array 125. When it is found that the data block of the fault domain 0 that has migrated to the high-speed device layer becomes cold again, the data block where the copy 0 is located needs to be moved back to the data block. In the low speed device layer. In order to prevent the replica 0 and the replica 1 from being stored in the same fault domain, the fault domain of the low-speed device layer to which the data block where the replica 0 is located will be determined according to the preset association relationship. Data migration method
- the storage device includes at least a first hierarchical disk set and a second hierarchical disk set, the first hierarchical disk set includes a first hierarchical fault domain, and the second hierarchical disk set includes at least two a second level fault domain, where the first level fault domain refers to a fault isolation logical storage area in the first hierarchical disk set, and the second hierarchical fault domain refers to the second hierarchical disk set a logical storage area of the fault isolation; the storage device stores N pieces of target data, N is a positive integer greater than 1, the N is smaller than the number of the first level fault domain, and the N is smaller than the second The number of hierarchical fault domains.
- the first hierarchical disk set in this embodiment is also the low speed device layer shown in FIG. 3.
- the second hierarchical disk set in this embodiment is also the high speed device layer shown in FIG. 3.
- the first-level fault domain is the fault domain contained in the low-speed device layer, which may be an HDD, or may be a RAID, or other fault-isolated logical storage area;
- the second-level fault domain is a fault domain included in the high-speed device layer. It could be an SSD, or it could be a RAID, or other fault-isolated logical storage area.
- the method includes the following steps:
- Step S201 The processor 118 counts the access frequency of the data block in the first hierarchical fault domain, where the data block includes the i-th target data, where i is an integer greater than or equal to zero, and i ⁇ N.
- a total of N pieces of target data that is, a copy of the data described above, are stored in the storage device. And need to number N target data, such as 0th target data (copy 0), 1st target data (copy 1), 2nd target data (copy 2) ... N-1 Target data (copy N-1).
- the i-th target data is stored in one data block in the first-level fault domain.
- the processor 118 can periodically count the access frequency of each data block in the first level fault domain. When it is found that the access frequency of the data block where the i-th target data is located reaches a preset threshold, step S202 is performed. It should be noted that, in this embodiment, the access frequency of each data block may be triggered by a timer, or may be manually triggered, or triggered in other manners.
- Step S202 When the access frequency of the data block reaches a preset threshold, the processor 118 determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, where the determined The second level fault domain does not hold one of the N target data.
- the data included in the data block becomes hot data, and in order to improve the access efficiency, the data may be migrated to the second level disk. Collections (for example, multiple SSDs).
- the processor 118 needs to determine which of the plurality of second level fault domains is to be migrated.
- An embodiment is to sequentially determine whether each second level fault domain in the second hierarchical disk set holds target data, and if not, determine the second level fault domain as the second to be stored.
- the hierarchical fault domain if so, continues to determine whether the next second-level fault domain holds target data until it finds a second-level fault domain that does not hold the target data.
- the second level fault domain may be saved and the first level fault domain migrated by the data block may be saved. Correspondence between the two.
- the access frequency of the data block is lower than the preset threshold, the data block is cooled, and the data block may be moved back to the original first-level fault domain according to the saved correspondence.
- the second hierarchical fault domain of the data block to be stored is determined using the set association relationship.
- the set association relationship refers to the number of copies "N" of the target data stored in the storage device 110, the number "i" of the target data held in the data block, and the second layer.
- the number of second level fault domains divided by the N to obtain the quotient.
- the relationship will be exemplified below:
- the target data is saved in the storage device 110, and the number of each target data is 0, 1, and 2, respectively.
- the target data saved in the data block is the 0th target data.
- the number of the second level fault domain of the data block to be stored is equal to the product of 3 and the random number plus 0, thereby obtaining the sum.
- the random number is 0, the number of the second level fault domain of the data block to be stored is 0; when the random number is 1, the number of the second level fault domain of the data block to be stored is 3; When the number is 2, the number of the second level fault domain of the data block to be stored is 6... However, the random number cannot exceed the number of the second level fault domain divided by the N to obtain the quotient. Assuming that the number of second-level fault domains is 7, then the quotient of 7 divided by 3 is 2, so the random number must be less than or equal to 2.
- the second level fault domain may be saved and the first level fault domain migrated by the data block may not be saved. Correspondence between them.
- the access frequency of the data block is lower than a preset threshold (the data block becomes cold)
- the data block may be moved back to a first level fault of the first hierarchical disk set according to a similar relationship with the foregoing.
- the number of the first level fault domain is equal to the product of the N and a random number plus the i, and the obtained sum, wherein the random number does not exceed the first level included in the storage device.
- the number of fault domains divided by the N to obtain the quotient.
- the first level fault domain obtained by the relationship can be numbered 0 or 3 or 6 (assuming that the first level disk set also contains 7 first level fault domains).
- the data block needs to be moved back to the first-level disk set, it can be migrated to the first-level fault domain numbered 0 or the first-level fault domain numbered 3 or the first-level fault domain numbered 0.
- the correspondence between the second level fault domain and the first level fault domain where the data block migrates is saved.
- the data block may be moved back to the original first level fault domain according to the saved correspondence. It can be understood that, according to the saved correspondence, the data block can only be moved back to the original first-level fault domain, and the range is narrower than the first-level fault domain re-determined by the association relationship.
- Step S203 The processor 118 migrates the data block to the determined second level fault domain.
- the processor 118 may migrate the data block to a second level fault domain numbered 0 or 3 or 6.
- the second level fault domain numbered 0 or 3 or 6 can be a disk numbered 0 or 3 or 6 respectively; when the fault domain is a RAID, the number is 0 or 3 or 6.
- the second level fault domain may be a RAID numbered 0 or 3 or 6, respectively.
- the data block may be migrated to the determined second level fault domain, specifically, the data block may be striped. Write to the RAID.
- the embodiment of the present invention counts the access frequency of the data block in the first hierarchical fault domain, and the data block includes one of the plurality of target data, and the access frequency of the data block in the first hierarchical fault domain reaches the pre-predetermined frequency.
- the threshold is set, the data block is migrated to the second hierarchical fault domain, and the second hierarchical fault domain does not save the target data, thereby avoiding migrating multiple target data to the same when performing the hierarchical storage operation In a fault domain, the reliability of the data is guaranteed.
- the method may further include:
- Step 204 The processor 118 receives the target data, determines, according to a preset rule, that the number of copies of the target data in the storage device is N; and copies the target data to generate N copies of the target data. .
- the processor 118 can receive a data write request sent by the host 100, where the data write request carries the target data.
- the preset rule here refers to a correspondence between the importance of the target data and the number of copies of the target data to be saved. For example, if the target data is business data, it is not important, and may be saved in the storage device 110; if the target data is metadata of the business data, the importance is high, and the storage may be The device 110 holds 3 copies, and so on.
- 110 may copy the target data to generate N pieces of target data.
- An embodiment of the present invention provides a data migration apparatus, where the data migration apparatus is located in a controller of a storage device, where the storage apparatus includes at least the controller, a first hierarchical disk set, and a second hierarchical disk set, where The first level disk set includes a first level fault domain, the second level disk set includes at least two second level fault domains, the storage device stores N pieces of target data, and N is a positive integer greater than 1. N is smaller than the number of the first level fault domains, and the N is smaller than the number of the second level fault domains.
- the data migration apparatus includes:
- the statistics module 401 is configured to calculate an access frequency of the data block in the first hierarchical fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i ⁇ N;
- a determining module 402 configured to determine, in the second hierarchical disk set, a second level fault domain of the data block to be stored when the access frequency of the data block reaches a preset threshold, the determined The second level fault domain does not save the target data;
- the migration module 403 is configured to migrate the data block to the determined second level fault domain.
- the determining module 402 is specifically configured to:
- the association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, thereby obtaining a sum, wherein the random number is greater than or equal to A positive integer of 1, and the random number does not exceed the quotient obtained by dividing the number of second level fault domains included in the storage device by the N.
- the data migration device further includes:
- a saving module 404 configured to save a correspondence between the first level fault domain and the determined second level fault domain
- the migration module 403 is further configured to migrate the data block from the determined second level fault domain to the first level fault domain according to the correspondence.
- the data migration device further includes:
- the receiving module 405 is configured to receive the target data, and determine, according to a preset rule, that the number of copies of the target data in the storage device is N;
- the copying module 406 is configured to copy the target data to generate N pieces of the target data.
- the device provided by the embodiment of the present invention may be configured in the controller described in the foregoing embodiment, and is used to perform the data storage method described in the foregoing embodiments.
- the device provided by the embodiment of the present invention may be configured in the controller described in the foregoing embodiment, and is used to perform the data storage method described in the foregoing embodiments.
- 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.”
- various 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.
- Computer readable storage media includes, but is not limited to, 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 Read Only Memory
- EPROM Erasable Programmable Read Only Memory
- CD-ROM Optical Fiber, Portable Read Only Memory
- 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; A device that functions as specified in each block, or combination of blocks.
- the computer readable program code can be executed 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.
- the functions noted in the various steps of the flowchart, or in the blocks in the block diagrams may not occur in the order noted. For example, depending on the functionality involved, the two steps shown in succession, or two blocks may actually be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order.
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)
- Debugging And Monitoring (AREA)
Abstract
Provided in an embodiment of the present invention are a data migration method, controller and data migration device. The method comprises the following steps: a controller counts frequency of access to a data block in a first level failure domain, the data block comprising i-th target data, i being an integer greater than or equal to zero and i<N (S201); when the frequency of access to the data block reaches a preset threshold, the controller determines in a second level disk set a second level failure domain in which to store the data block, the determined second level failure domain having not stored the target data (S202); and the controller migrates the data block to the determined second level failure domain (S203). The present invention prevents a plurality of target data from being migrated to the same failure domain when performing hierarchical storage operation, thus ensuring data reliability.
Description
数据迁移的方法、 控制器和数据迁移装置 技术领域 Data migration method, controller and data migration device
本发明涉及存储技术, 尤其涉及一种数据迁移的方法、 控制器和数据迁 移装置。 背景技术 The present invention relates to storage technologies, and in particular, to a data migration method, a controller, and a data migration device. Background technique
存储设备在存储数据时, 对于重要性较高的数据, 通常通过同时存储多 份数据副本的方式来保证数据的可靠性。举例来说, 可以将多份数据副本分 别存储在不同的故障域中, 当一份数据副本的所在的存储空间损坏时, 其他 数据副本仍然可用。 故障域是指某一设定范围的存储区域, 该区域的数据损 坏不会影响到其他区域的数据。 When storage devices store data, for data of higher importance, data reliability is usually ensured by storing multiple copies of data at the same time. For example, multiple copies of data can be stored in different fault domains. When the storage space of one copy of the data is corrupted, other copies of the data are still available. A fault domain is a storage area of a certain range. Data corruption in this area does not affect data in other areas.
同时, 分层存储技术已广泛应用于存储设备中。 分层存储技术是指, 在 存储设备中的存储介质存在着较大的速度和价格差异时,将当前访问频繁的 数据 (又称热数据)存储在高速高价格的存储介质上, 将当前访问不够频繁 的数据(又称冷数据)存储在低速低价格的存储介质上。 At the same time, tiered storage technology has been widely used in storage devices. Hierarchical storage technology means that when there is a large speed and price difference in the storage medium in the storage device, the currently accessed data (also called hot data) is stored on a high-speed and high-price storage medium, and the current access is performed. Insufficient data (also known as cold data) is stored on low-speed, low-priced storage media.
当以上两种技术应用于同一个存储设备时, 可能会出现这种情况, 例如: 存储设备中保存了两份数据副本, 其中, 一份数据副本保存在至低速低价格 的存储介质的一个故障域中,另一份数据副本保存在至低速低价格的存储介 质的一个故障域中, 当其中一份数据副本所在的数据块变成热数据块时, 为 了提高其访问效率需要将该数据块迁移至高速高价格的存储介质上,就有可 能将该数据副本和另一份数据副本存储在同一个故障域中,那么当该故障域 的存储空间发生损坏时, 数据将发生丟失, 可靠性不能得到保障。 发明内容 This may occur when the above two technologies are applied to the same storage device, for example: Two copies of the data are saved in the storage device, and one copy of the data is stored in a failure to the storage medium of low speed and low price. In the domain, another copy of the data is stored in a fault domain to a low-speed, low-price storage medium. When one of the data blocks in which the data copy is located becomes a hot data block, the data block is needed to improve its access efficiency. When migrating to a high-speed, high-priced storage medium, it is possible to store the copy of the data and another copy of the data in the same fault domain. When the storage space of the fault domain is damaged, the data will be lost. Reliability Can not be guaranteed. Summary of the invention
本发明实施例提供了一种数据迁移的方法、 控制器和数据迁移装置。 避
免了在执行分级存储操作时将多份目标数据迁移至同一个故障域中, 保证 了数据的可靠性。 Embodiments of the present invention provide a data migration method, a controller, and a data migration apparatus. Avoid It avoids the migration of multiple target data to the same fault domain during the tiered storage operation, ensuring the reliability of the data.
第一方面, 本发明实施例提供了一种数据迁移的方法, 所述方法由存 储设备执行, 所述存储设备至少包括控制器、 第一层级磁盘集合和第二层 级磁盘集合, 所述第一层级磁盘集合包括第一层级故障域, 所述第二层级 磁盘集合包括至少两个第二层级故障域; 所述存储设备中保存有 N份目标 数据, N为大于 1的正整数, 所述 N小于第一层级故障域的个数, 并且所 述 N小于第二层级故障域的个数; 所述方法包括: In a first aspect, an embodiment of the present invention provides a data migration method, where the method is performed by a storage device, where the storage device includes at least a controller, a first hierarchical disk set, and a second hierarchical disk set, where the first The hierarchical disk set includes a first hierarchical fault domain, the second hierarchical disk set includes at least two second hierarchical fault domains; the storage device stores N pieces of target data, and N is a positive integer greater than 1, the N The number is smaller than the number of the first level fault domains, and the N is smaller than the number of the second level fault domains; the method includes:
所述控制器统计所述第一层级故障域中的数据块的访问频率, 所述数 据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并且, i<N; The controller collects an access frequency of a data block in the first level of the fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and i < N;
当所述数据块的访问频率达到预设阔值时, 所述控制器在所述第二层 级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出的第 二层级故障域没有保存所述目标数据; When the access frequency of the data block reaches a preset threshold, the controller determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level The target domain data is not saved in the fault domain;
所述控制器将所述数据块迁移到所述确定出的第二层级故障域中。 结合第一方面, 在第一种可能的实现方式中, 所述控制器在所述第二 层级磁盘集合中确定待存储所述数据块的第二层级故障域包括: The controller migrates the data block to the determined second level of fault domain. With reference to the first aspect, in a first possible implementation, the determining, by the controller, the second level fault domain of the data block to be stored in the second hierarchical disk set includes:
所述控制器根据所述 i和 N, 以及预先设定的关联关系, 确定所述第 二层级故障域的编号, 所述关联关系是指所述第二层级故障域的编号等于 所述 N与随机数的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数 是大于或等于 1的正整数, 并且所述随机数不超过所述存储设备所包含的 结合第一方面或者第一方面的第一种可能的实现方式, 在第二种可能 的实现方式中, 所述方法还包括: Determining, by the controller, the number of the second level fault domain according to the i and N, and a preset association relationship, where the association relationship is that the number of the second level fault domain is equal to the N and a product of a random number plus the i, thereby obtaining a sum, wherein the random number is a positive integer greater than or equal to 1, and the random number does not exceed the first aspect of the combination included in the storage device or A first possible implementation of the first aspect, in a second possible implementation, the method further includes:
所述控制器保存所述第一层级故障域和所述确定出的第二层级故障域 之间的对应关系; The controller saves a correspondence between the first level fault domain and the determined second level fault domain;
当所述数据块的访问频率低于所述预设阈值时, 所述控制器根据所述
对应关系将所述数据块从所述确定出的第二层级故障域迁移到所述第一 层级故障域中。 When the access frequency of the data block is lower than the preset threshold, the controller is configured according to the The correspondence migrates the data block from the determined second level fault domain to the first level fault domain.
结合第一方面或者第一方面的第一种至第二种任意一种可能的实现 方式, 在第三种可能的实现方式中, 所述方法还包括: With reference to the first aspect, or any one of the first to the second possible implementations of the first aspect, in a third possible implementation, the method further includes:
所述控制器接收所述目标数据, 根据预设的规则确定所述目标数据在所 述存储设备中保存的份数为 N; The controller receives the target data, and determines, according to a preset rule, that the number of copies of the target data in the storage device is N;
所述控制器对所述目标数据进行复制, 生成 N份所述目标数据。 第二方面, 本发明实施例提供了一种控制器, 所述控制器包括处理器 和通信接口; The controller copies the target data to generate N copies of the target data. In a second aspect, an embodiment of the present invention provides a controller, where the controller includes a processor and a communication interface;
所述通信接口, 用于与磁盘阵列进行通信, 所述磁盘阵列包括第一层 级磁盘集合和第二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故 障域, 所述第二层级磁盘集合包括至少两个第二层级故障域; 所述磁盘阵 列中保存有 N份目标数据, N为大于 1的正整数,所述 N小于第一层级故障 域的个数, 并且所述 N小于第二层级故障域的个数; The communication interface is configured to communicate with a disk array, where the disk array includes a first hierarchical disk set and a second hierarchical disk set, the first hierarchical disk set includes a first hierarchical fault domain, and the second hierarchical disk The set includes at least two second level fault domains; the disk array holds N pieces of target data, N is a positive integer greater than 1, the N is smaller than the number of the first level fault domains, and the N is smaller than the first The number of second-level fault domains;
所述处理器, 用于统计所述第一层级故障域中的数据块的访问频率, 所述数据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并且, i<N; The processor is configured to calculate an access frequency of a data block in the first hierarchical fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i<N;
当所述数据块的访问频率达到预设阈值时, 所述处理器在所述第二层 级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出的第 二层级故障域没有保存所述目标数据; When the access frequency of the data block reaches a preset threshold, the processor determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level fault The domain does not save the target data;
所述处理器将所述数据块迁移到所述确定出的第二层级故障域中。 结合第二方面, 在第一种可能的实现方式中, 所述处理器具体用于根 据所述 i和 N, 以及预先设定的关联关系, 确定所述第二层级故障域的编 号,所述关联关系是指所述第二层级故障域的编号等于所述 N与随机数的 乘积再加上所述 i, 从而获得的和, 其中, 所述随机数是大于或等于 1的 正整数, 并且所述随机数不超过所述存储设备所包含的第二层级故障域的
个数除以所述 N从而获得的商。 The processor migrates the data block to the determined second level of fault domain. With reference to the second aspect, in a first possible implementation, the processor is specifically configured to determine a number of the second level fault domain according to the i and N, and a preset association relationship, where The association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, and the obtained sum, wherein the random number is a positive integer greater than or equal to 1, and The random number does not exceed the second level fault domain included in the storage device The quotient obtained by dividing the number by the N.
结合第二方面或者第二方面的第一种可能的实现方式, 在第二种可能 的实现方式中, 所述处理器还用于保存所述第一层级故障域和所述确定出 的第二层级故障域之间的对应关系; With reference to the second aspect, or the first possible implementation manner of the second aspect, in a second possible implementation, the processor is further configured to save the first hierarchical fault domain and the determined second Correspondence between hierarchical fault domains;
当所述数据块的访问频率低于所述预设阔值时, 所述处理器还用于根 据所述对应关系将所述数据块从所述确定出的第二层级故障域迁移到所 述第一层级故障域中。 And when the access frequency of the data block is lower than the preset threshold, the processor is further configured to migrate the data block from the determined second level fault domain to the The first level of fault domain.
结合第二方面或者第二方面的第一种至第二种任意一种可能的实现 方式, 在第三种可能的实现方式中, 所述处理器还用于接收所述目标数据, 根据预设的规则确定所述目标数据在所述存储设备中保存的份数为 N; 所述 控制器对所述目标数据进行复制, 生成 N份所述目标数据。 With reference to the second aspect, or any one of the first to the second possible implementations of the second aspect, in a third possible implementation, the processor is further configured to receive the target data, according to the preset The rule determines that the number of copies of the target data in the storage device is N; the controller copies the target data to generate N copies of the target data.
第三方面, 本发明实施例提供了一种数据迁移装置, 所述数据迁移装 置位于存储设备的控制器中, 所述存储设备至少包括所述控制器、 第一层 级磁盘集合和第二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故 障域, 所述第二层级磁盘集合包括至少两个第二层级故障域; 所述存储设 备中保存有 N份目标数据, N为大于 1的正整数,所述 N小于第一层级故障 域的个数, 并且所述 N小于第二层级故障域的个数; 所述数据迁移装置包 括: In a third aspect, an embodiment of the present invention provides a data migration apparatus, where the data migration apparatus is located in a controller of a storage device, where the storage apparatus includes at least the controller, a first hierarchical disk set, and a second hierarchical disk. The set, the first hierarchical disk set includes a first hierarchical fault domain, and the second hierarchical disk set includes at least two second hierarchical fault domains; the storage device stores N pieces of target data, where N is greater than 1. a positive integer, the N is smaller than the number of the first hierarchical fault domains, and the N is smaller than the number of the second hierarchical fault domains; the data migration device includes:
统计模块, 用于统计所述第一层级故障域中的数据块的访问频率, 所 述数据块包括第 i份目标数据,其中 i为大于或等于零的整数,并且, i<N; a statistics module, configured to calculate an access frequency of the data block in the first level fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i<N;
确定模块, 用于当所述数据块的访问频率达到预设阔值时, 在所述第 二层级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出 的第二层级故障域没有保存所述目标数据; a determining module, configured to determine, in the second hierarchical disk set, a second level fault domain of the data block to be stored when the access frequency of the data block reaches a preset threshold, the determined second The hierarchical fault domain does not save the target data;
迁移模块, 用于将所述数据块迁移到所述确定出的第二层级故障域 中。 And a migration module, configured to migrate the data block into the determined second level fault domain.
结合第三方面, 在第一种可能的实现方式中, 所述确定模块具体用于
根据所述 i和 N, 以及预先设定的关联关系, 确定所述第二层级故障域的 编号,所述关联关系是指所述第二层级故障域的编号等于所述 N与随机数 的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数是大于或等于 1 的正整数, 并且所述随机数不超过所述存储设备所包含的第二层级故障域 的个数除以所述 N从而获得的商。 With reference to the third aspect, in a first possible implementation, the determining module is specifically used to Determining, according to the i and N, and a preset association relationship, the number of the second level fault domain, where the association relationship is that the number of the second level fault domain is equal to the product of the N and the random number And adding the i, the obtained sum, wherein the random number is a positive integer greater than or equal to 1, and the random number does not exceed the number of second level fault domains included in the storage device The quotient obtained by the above N.
结合第三方面或者第三方面的第一种可能的实现方式, 在第二种可能 的实现方式中, 还包括: In combination with the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner, the method further includes:
保存模块, 用于保存所述第一层级故障域和所述确定出的第二层级故 障域之间的对应关系; a saving module, configured to save a correspondence between the first level fault domain and the determined second level fault domain;
所述迁移模块, 还用于根据所述对应关系将所述数据块从所述确定出 的第二层级故障域迁移到所述第一层级故障域中。 And the migrating module is further configured to migrate the data block from the determined second level fault domain to the first level fault domain according to the correspondence.
结合第三方面或者第三方面的第一种至第二种任意一种可能的实现 方式, 在第三种可能的实现方式中, 还包括: 接收模块, 用于接收所述目标 复制模块, 用于对所述目标数据进行复制, 生成 N份所述目标数据。 本发明实施例提供了一种数据迁移的方法、 控制器和数据迁移装置, 统计所述第一层级故障域中的数据块的访问频率, 所述数据块包括多份目 标数据中的其中一份, 当第一层级故障域中的数据块的访问频率达到预设 阔值时, 将所述数据块迁移至第二层级故障域, 并且所述第二层级故障域 没有保存所述目标数据, 这就避免了在执行分级存储操作时将多份目标数 据迁移至同一个故障域中, 保证了数据的可靠性。 With reference to the third aspect, or any one of the first to the second possible implementation manners of the third aspect, in a third possible implementation, the method further includes: a receiving module, configured to receive the target copying module, Copying the target data to generate N copies of the target data. An embodiment of the present invention provides a data migration method, a controller, and a data migration apparatus, and calculates an access frequency of a data block in the first hierarchical fault domain, where the data block includes one of a plurality of target data. And when the access frequency of the data block in the first level fault domain reaches a preset threshold, the data block is migrated to the second level fault domain, and the second level fault domain does not save the target data, This avoids migrating multiple pieces of target data to the same fault domain when performing hierarchical storage operations, ensuring data reliability.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不 付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1是根据本发明实施例提供的应用场景图; In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings to be used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are Some embodiments of the present invention may also be used to obtain other drawings based on these drawings without departing from the skilled artisan. FIG. 1 is an application scenario diagram according to an embodiment of the present invention;
图 2是根据本发明实施例提供的存储设备的结构示意图; 2 is a schematic structural diagram of a storage device according to an embodiment of the present invention;
图 3是根据本发明实施例提供的磁盘阵列的示例图; 3 is a diagram showing an example of a disk array according to an embodiment of the present invention;
图 4是根据本发明实施例提供的磁盘阵列中的故障域分布示意图; 图 5是根据本发明实施例提供的数据迁移的方法的流程示意图; 图 6是根据本发明实施例提供的数据迁移装置的结构示意图。 4 is a schematic diagram of a fault domain distribution in a disk array according to an embodiment of the present invention; FIG. 5 is a schematic flowchart of a data migration method according to an embodiment of the present invention; FIG. 6 is a data migration apparatus according to an embodiment of the present invention. Schematic diagram of the structure.
具体实施方式 detailed description
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。 The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明实施例的系统架构 System architecture of an embodiment of the present invention
如图 1所示, 图 1为本发明实施例的一种应用场景图, 在图 1所述的一 种应用场景中, 该存储系统包括主机 100、 连接设备 105和存储设备 110。 As shown in FIG. 1 , FIG. 1 is an application scenario diagram of an embodiment of the present invention. In an application scenario, the storage system includes a host 100, a connection device 105, and a storage device 110.
主机 100可以包括当前技术已知的任何计算设备, 如服务器、 台式计算 机、 应用服务器等等, 在主机 100中安装有操作系统以及其他应用程序, 主 机 100可以有多个。 The host 100 can include any computing device known in the art, such as a server, desktop computer, application server, etc., with an operating system and other applications installed in the host 100, and the host 100 can have multiple.
连接设备 105可以包括当前技术已知的存储设备和主机之间的任何接 口, 如光纤交换机, 或者其他现有的交换机。 Connection device 105 may include any interface between a storage device and a host known in the art, such as a fiber switch, or other existing switch.
存储设备 110可以包括当前技术已知的存储设备, 如磁盘阵列、 磁盘簇 ( Just a Bunch Of Disks, JBOD ) 、 直接存取存储器( Direct Access Storage Device, DASD )的一个或多个互连的磁盘驱动器, 其中, 直接存取存储器可 以包括诸如磁带库、 一个或多个存储单元的磁带存储设备。 The storage device 110 may include one or more interconnected disks of a storage device known in the prior art, such as a disk array, a cluster of disks (JBOD), and a direct access storage device (DASD). The drive, wherein the direct access memory can include a tape storage device such as a tape library, one or more storage units.
图 2为本发明实施例提供的一种存储设备 110的结构示意图, 图 2所示 的存储设备为一种磁盘阵列。如图 2所示,存储设备 110可以包括控制器 115
以及磁盘阵列 125 , 其中, 这里的磁盘阵列指的是独立磁盘冗余阵列 2 is a schematic structural diagram of a storage device 110 according to an embodiment of the present invention. The storage device shown in FIG. 2 is a disk array. As shown in FIG. 2, the storage device 110 may include a controller 115. And a disk array 125, wherein the disk array herein refers to a redundant array of independent disks
( Redundant Arrays of Independent Disks, RAID ) ,磁盘阵歹' J 125可以有多个, 磁盘阵列 125由多个磁盘 130构成。 磁盘阵列 125与控制器 115之间可以通 过小型计算机系统接口( Small Computer System Interface, SCSI )协议等通信 协议进行通信连接, 在此不进行限定。 (Redundant Arrays of Independent Disks, RAID), there may be multiple disk arrays, and the disk array 125 is composed of a plurality of disks 130. The disk array 125 and the controller 115 can be communicatively connected via a communication protocol such as a small computer system interface (SCSI) protocol, which is not limited herein.
控制器 115是存储设备 110的 "大脑" , 主要包括处理器 (processor)118、 緩存(cache ) 120、 存储器 (memory) 122、 通信总线(简称总线) 126以及通 信接口(Communication Interface)128。 处理器 118、 緩存 120、 存储器 122以 及通信接口 128通过通信总线 126完成相互间的通信。 The controller 115 is the "brain" of the storage device 110 and mainly includes a processor 118, a cache 120, a memory 122, a communication bus (abbreviated as bus) 126, and a communication interface 128. Processor 118, cache 120, memory 122, and communication interface 128 communicate with one another via communication bus 126.
通信接口 128 , 用于与主机 100或者磁盘阵列 125通信。 The communication interface 128 is configured to communicate with the host 100 or the disk array 125.
存储器 122 ,用于存放程序 124 ,存储器 124可能包含高速 RAM存储器, 也可能还包括非易失性存储器( non-volatile memory ) , 例如至少一个磁盘存 储器。 可以理解的是, 存储器 124可以为随机存储器 (Random-Access Memory, RAM), 磁碟、 硬盘、 光盘、 固态硬盘( Solid State Disk, SSD )或 者非易失性存储器等各种可以存储程序代码的非短暂性的 ( non-transitory )机 器可读介质。 The memory 122 is used to store the program 124. The memory 124 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory. It can be understood that the memory 124 can be a random access memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes. Non-transitory machine readable medium.
程序 124可以包括程序代码, 所述程序代码包括计算机操作指令。 Program 124 can include program code, the program code including computer operating instructions.
緩存 120 ( Cache )用于緩存从主机 100接收的数据或者从磁盘阵列 125 读取的数据, 以提高阵列的性能和可靠性。 緩存 120可以是 RAM、 ROM, 闪存( Flash memory )或固态硬盘 ( Solid State Disk, SSD )等各种可以存储 数据的非短暂性的 (non-transitory )机器可读介质, 在此不做限定。 Cache 120 (Cache) is used to cache data received from host 100 or data read from disk array 125 to improve the performance and reliability of the array. The cache 120 may be a non-transitory machine readable medium that can store data, such as a RAM, a ROM, a flash memory, or a solid state disk (SSD), which is not limited herein.
处理器 118可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ) , 或者是被配置成实施本发明实施例 的一个或多个集成电路。 在处理器 118中安装有操作系统和其他软件程序, 不同的软件程序可以视作一个处理模块, 具有不同的功能。 例如, 处理对磁 盘 130的输入 /输出(Input / Output, I/O)请求, 对磁盘中的数据进行其他处理
等等。从而使控制器 115可以实现 10操作、数据副本复制以及分层存储等各 种数据管理功能。 在本发明实施例中, 处理器 118用于执行程序 124, 具体 可以执行下述方法实施例中的相关步骤。 The processor 118 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. An operating system and other software programs are installed in the processor 118, and different software programs can be regarded as one processing module having different functions. For example, processing input/output (I/O) requests to disk 130 for additional processing of data on disk and many more. Thereby, the controller 115 can implement various data management functions such as 10 operations, data copy copying, and tiered storage. In the embodiment of the present invention, the processor 118 is configured to execute the program 124, and specifically, the related steps in the following method embodiments may be performed.
磁盘阵列 125用于存储数据, 在本发明实施例中, 磁盘阵列 125可以包 含多种类型的磁盘 130, 例如, 固态硬盘(Solid State Drive, SSD )或者串行 连接 SCSI ( Serial Attached SCSI, SAS )或光纤通道( Fiber Channel, FC )硬 盘驱动器 ( Hard Disk Drive, HDD ) , 其中, SCSI (Small Computer System Interface)为小型机系统接口的英文缩写或者串行高级技术附件 ( Serial Advanced Technology Attachment, SATA )或近线 ( Near Line, NL ) 串行连接 SCSI ( Serial Attached SCSI, SAS ) HDD, 在此不做限定。 为了描述方便, 后 续将固态硬盘简称为 SSD, 将 SAS HDD、 FC HDD, SATA HDD统一简称为 HDD。 The disk array 125 is used to store data. In the embodiment of the present invention, the disk array 125 may include multiple types of disks 130, such as Solid State Drive (SSD) or Serial Attached SCSI (SAS). Or Fiber Channel (FC) hard disk drive (HDD), where SCSI (Small Computer System Interface) is the abbreviation of minicomputer system interface or Serial Advanced Technology Attachment (SATA). Or Near Line (NL) Serial Attached SCSI (SAS) HDD, which is not limited here. For the convenience of description, the SSD is referred to as SSD, and the SAS HDD, FC HDD, and SATA HDD are simply referred to as HDD.
图 3是磁盘阵列 125的示例图, 如图 3所示, 磁盘阵列 125可以包含多 个磁盘 130, 其中, 多个磁盘 130可以划分为高速设备层和低速设备层, 高 速设备层可以包含多个高速高价格的磁盘 130, 例如 SSD; 低速设备层可以 包含多个低速低价格的磁盘 130, 例如 HDD。 可以理解的是, 本发明实施例 还可以按照磁盘的类型将多个磁盘 130划分为其他层级, 这里仅以高速设备 层、 低速设备层两个层级来举例说明。 3 is an example of a disk array 125. As shown in FIG. 3, the disk array 125 may include a plurality of disks 130. The plurality of disks 130 may be divided into a high-speed device layer and a low-speed device layer, and the high-speed device layer may include multiple A high speed, high price disk 130, such as an SSD; a low speed device layer may contain a plurality of low speed, low cost disks 130, such as HDDs. It can be understood that, in the embodiment of the present invention, the plurality of disks 130 can be divided into other levels according to the type of the disk. Here, only two levels of the high-speed device layer and the low-speed device layer are illustrated.
另外, 还可以将磁盘阵列 125的存储空间划分为多个故障域。 故障域是 指一段故障隔离的逻辑存储区域,该区域的数据损坏不会影响到其他区域的 数据。 在本发明实施例中, 故障域是由存储设备 110自行设定的, 一个故障 域可以是一个 RAID,也可以是一个磁盘,还可以是按照其他方式划分的存储 区域, 本发明实施例不做限定。 为了描述方便, 本发明实施例以一个故障域 是一个磁盘为例来进行说明, 如图 4所示: In addition, the storage space of the disk array 125 can also be divided into a plurality of fault domains. A fault domain is a logical storage area where faults are isolated. Data corruption in this area does not affect data in other areas. In the embodiment of the present invention, the fault domain is set by the storage device 110. A fault domain may be a RAID, or may be a disk, or may be a storage area divided according to other manners. limited. For convenience of description, the embodiment of the present invention is described by taking a fault domain as a disk as an example, as shown in FIG. 4:
磁盘阵列 125包括高速设备层和低速设备层, 高速设备层可以包含多个 The disk array 125 includes a high speed device layer and a low speed device layer, and the high speed device layer may include multiple
SSD (图中以一个 SSD为例, 但不限于一个 SSD ) , 低速设备层可以包含多
个 HDD (图中以两个 HDD为例, 但不限于两个 HDD ) 。 一个 SSD可以是 一个故障域, 两个 HDD各为一个故障域。 SSD (take an SSD as an example, but not limited to one SSD), the low-speed device layer can contain more HDD (in the figure, two HDDs are used as examples, but not limited to two HDDs). An SSD can be a fault domain, and each HDD is a fault domain.
本发明实施例中, 需要对故障域进行编号, 具体的编号规则可以是, 在 每个设备层内部对其包含的故障域进行编号, 例如, 假设高速设备层包含三 个故障域, 那么, 对于高速设备层, 每个故障域的编号分别是故障域 0、 故 障域 1、故障域 2;假设低速设备层包含四个故障域, 那么,对于低速设备层, 每个故障域的编号分别是故障域 0、 故障域 1、 故障域 2、 故障域 3。 在本发 明实施例中, 将故障域的编号简称为故障域编号, 故障域编号是指用于区分 各个故障域的编号, 例如 0、 1等。 可以理解的是, 故障域编号还可以釆用字 母等其他表现形式, 本发明实施例不做限定。 In the embodiment of the present invention, the fault domains need to be numbered. The specific numbering rule may be that the fault domains included in each device layer are numbered. For example, if the high-speed device layer includes three fault domains, then In the high-speed device layer, each fault domain is numbered as fault domain 0, fault domain 1, and fault domain 2; assuming that the low-speed device layer contains four fault domains, then for the low-speed device layer, each fault domain number is faulty. Domain 0, Fault Domain 1, Fault Domain 2, Fault Domain 3. In the embodiment of the present invention, the number of the fault domain is simply referred to as the fault domain number, and the fault domain number refers to the number used to distinguish each fault domain, such as 0, 1, and the like. It can be understood that the fault domain number can also use other expressions such as a letter, which is not limited in the embodiment of the present invention.
存储设备 110在存储数据时, 对于重要性较高的数据, 例如元数据, 通 常通过同时存储多份数据副本的方式来保证数据的可靠性。 例如, 如图 4所 示, 在低速设备层中保存了两份数据副本, 分别是副本 0和副本 1。 其中, 副本 0保存在故障域 0中, 副本 1保存在故障域 1中。 假设故障域 0发生磁 盘损坏等故障, 还可以从故障域 1中获得数据副本, 不至于发生数据丟失。 本领域技术人员可以理解的是, 无论是故障域 0还是故障域 1除了保存上面 描述的数据副本之外, 还可以保存其他数据。 在本发明实施例中, 副本编号 是指用于区分各个数据副本的编号, 例如 0、 1。 可以理解的是, 副本编号还 可以釆用字母等其他表现形式, 本发明实施例不做限定。 When the storage device 110 stores data, for data of higher importance, such as metadata, the reliability of the data is usually ensured by simultaneously storing a plurality of copies of the data. For example, as shown in Figure 4, two copies of the data are stored in the low-speed device layer, copy 0 and copy 1, respectively. Where copy 0 is stored in fault domain 0 and replica 1 is stored in fault domain 1. Assuming a failure such as disk corruption in the fault domain 0, a copy of the data can be obtained from the fault domain 1 without data loss. It will be understood by those skilled in the art that both the fault domain 0 and the fault domain 1 can save other data in addition to the copy of the data described above. In the embodiment of the present invention, the copy number refers to a number used to distinguish each data copy, for example, 0, 1. It is to be understood that the copy number may also be in other forms such as a letter, which is not limited in the embodiment of the present invention.
结合图 1 , 任意一个存储设备 110均可以通过连接设备 105接收一个或 多个主机 100发送的数据写入请求, 根据预先设定的分层存储策略确定所述 数据写入请求携带的数据将被写入的设备层(例如, 低速设备层) , 同时根 据预先设定的数据重要性判断规则确定该数据需要备份并且存储的数据副本 份数。 然后将每个数据副本写入低速设备层的不同的故障域中。 任意一个存 储设备 110也可以通过连接设备 105接收一个或多个主机 100发送的数据读 取请求, 从所述数据读取请求携带的地址中读取数据。
此外, 本发明实施例中的任意一个存储设备 110还可以支持分层存储技 术。 下面结合图 4来对此进行说明。 图 4是根据本发明实施例提供的磁盘阵 列中的故障域分布示意图。 With reference to FIG. 1, any one of the storage devices 110 can receive a data write request sent by one or more hosts 100 through the connection device 105, and determine that the data carried by the data write request is determined according to a preset hierarchical storage policy. The written device layer (for example, the low-speed device layer) determines the number of copies of the data that the data needs to be backed up and stored according to a preset data importance determination rule. Each copy of the data is then written to a different fault domain in the low-speed device layer. Any one of the storage devices 110 may also receive a data read request sent by one or more hosts 100 through the connection device 105, and read data from an address carried by the data read request. In addition, any one of the storage devices 110 in the embodiments of the present invention may also support a tiered storage technology. This will be described below in conjunction with FIG. 4 is a schematic diagram of a fault domain distribution in a disk array according to an embodiment of the present invention.
磁盘阵列 125的存储空间可以被划分为若干个数据块(图 4中未示出) , 数据块是指可以作为一个整体监控其中数据的访问频率, 并且作为一个整体 迁移的数据单元。 一个数据块可能位于一个磁盘中, 也可能位于多个磁盘中, 然而, 在本发明实施例中, 一个数据块必须位于一个故障域中。 可以理解的 是, 当一个数据块位于多个磁盘中时, 所述数据块所在的故障域就是指一个 RAID。存储设备 110监控磁盘阵列 125中各个数据块的访问频率,举例来说, 当发现副本 0所在的数据块的访问频率高于预设阔值时, 可以确定该数据块 中的数据变成热数据, 因此可以将根据预先设定的关联关系将该数据块迁移 至高速设备层的故障域, 例如高速设备层的故障域 0中。 需要说明的是, 访 问频率的统计是以一个数据块为单位的, 数据块的容量通常大于一个数据副 本的大小, 该数据块除了包含副本 0之外还可以包含其他数据。 因此, 副本 0所在的数据块变热可能是副本 0被频繁访问引起的, 也可能是该数据块中 除副本 0之外的其他数据被频繁访问引起的。 当副本 0所在的数据块变热是 由副本 0被频繁访问引起时, 那么副本 1所在的数据块也会变热, 需要被迁 移到高速设备层的故障域中; 当副本 0所在的数据块变热是由该数据块中除 副本 0之外的其他数据被频繁访问引起时, 那么副本 1所在的数据块可能不 会变热, 不需要被迁移到高速设备层中。 这里暂时只讨论副本 0被迁移至高 速设备层的故障域 0的情况。 The storage space of the disk array 125 can be divided into a plurality of data blocks (not shown in Fig. 4), which are data units that can monitor the access frequency of the data therein as a whole and migrate as a whole. A data block may be located in one disk or in multiple disks. However, in the embodiment of the present invention, one data block must be located in a fault domain. It can be understood that when a data block is located in multiple disks, the fault domain in which the data block is located refers to a RAID. The storage device 110 monitors the access frequency of each data block in the disk array 125. For example, when it is found that the access frequency of the data block where the copy 0 is located is higher than a preset threshold, the data in the data block can be determined to become hot data. Therefore, the data block can be migrated to the fault domain of the high speed device layer according to a preset association relationship, for example, in the fault domain 0 of the high speed device layer. It should be noted that the statistics of the access frequency are in units of one data block, and the capacity of the data block is usually larger than the size of one data copy, and the data block may contain other data in addition to the copy 0. Therefore, the data block where the copy 0 is located may be caused by frequent access of the copy 0, or it may be caused by frequent access of data other than the copy 0 in the data block. When the data block where copy 0 is hot is caused by frequent access of copy 0, then the data block where copy 1 is located will also become hot and needs to be migrated to the fault domain of high-speed device layer; when the data block where copy 0 is located When the heat is caused by frequent accesses of data other than the copy 0 in the data block, the data block in which the copy 1 is located may not become hot and does not need to be migrated to the high-speed device layer. For the time being, only the case where copy 0 is migrated to fault domain 0 of the high-speed device layer is discussed.
存储设备 110继续对磁盘阵列 125中各个数据块的访问频率进行监控, 当发现已迁移至高速设备层的故障域 0的数据块又变冷时, 需要将副本 0所 在的数据块又迁回至低速设备层中。 为了防止副本 0和副本 1存储在同一个 故障域, 可以根据预设的关联关系确定副本 0所在的数据块将迁回的低速设 备层的故障域。
数据迁移的方法 The storage device 110 continues to monitor the access frequency of each data block in the disk array 125. When it is found that the data block of the fault domain 0 that has migrated to the high-speed device layer becomes cold again, the data block where the copy 0 is located needs to be moved back to the data block. In the low speed device layer. In order to prevent the replica 0 and the replica 1 from being stored in the same fault domain, the fault domain of the low-speed device layer to which the data block where the replica 0 is located will be determined according to the preset association relationship. Data migration method
下面介绍本发明实施例提供的数据迁移的方法, 如图 5所示, 为本发明 实施例提供的数据迁移的方法的流程图,所述方法可以应用于图 1所示的存 储系统以及图 2所示的存储设备中; 所述存储设备至少包括第一层级磁盘 集合和第二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故障域, 所述第二层级磁盘集合包括至少两个第二层级故障域, 其中, 所述第一层 级故障域是指所述第一层级磁盘集合中的一段故障隔离的逻辑存储区域, 所述第二层级故障域是指所述第二层级磁盘集合中的一段故障隔离的逻 辑存储区域; 所述存储设备中保存有 N份目标数据, N为大于 1的正整数, 所述 N小于第一层级故障域的个数,并且所述 N小于第二层级故障域的个 数。 需要说明的是, 本实施例中的第一层级磁盘集合也是图 3所示的低速 设备层, 本实施例中的第二层级磁盘集合也是图 3所示的高速设备层。 那 么, 第一层级故障域是低速设备层包含的故障域, 可能是一个 HDD, 也 可能是一个 RAID, 或者其他故障隔离的逻辑存储区域; 第二层级故障域 是高速设备层包含的故障域, 可能是一个 SSD, 也可能是一个 RAID, 或 者其他故障隔离的逻辑存储区域。 The following describes the method for data migration provided by the embodiment of the present invention. As shown in FIG. 5, it is a flowchart of a method for data migration provided by the embodiment of the present invention. The method can be applied to the storage system shown in FIG. 1 and FIG. In the storage device shown, the storage device includes at least a first hierarchical disk set and a second hierarchical disk set, the first hierarchical disk set includes a first hierarchical fault domain, and the second hierarchical disk set includes at least two a second level fault domain, where the first level fault domain refers to a fault isolation logical storage area in the first hierarchical disk set, and the second hierarchical fault domain refers to the second hierarchical disk set a logical storage area of the fault isolation; the storage device stores N pieces of target data, N is a positive integer greater than 1, the N is smaller than the number of the first level fault domain, and the N is smaller than the second The number of hierarchical fault domains. It should be noted that the first hierarchical disk set in this embodiment is also the low speed device layer shown in FIG. 3. The second hierarchical disk set in this embodiment is also the high speed device layer shown in FIG. 3. Then, the first-level fault domain is the fault domain contained in the low-speed device layer, which may be an HDD, or may be a RAID, or other fault-isolated logical storage area; the second-level fault domain is a fault domain included in the high-speed device layer. It could be an SSD, or it could be a RAID, or other fault-isolated logical storage area.
所述方法包括如下步骤: The method includes the following steps:
步骤 S201 :处理器 118统计所述第一层级故障域中的数据块的访问频 率, 所述数据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并 且, i<N。 Step S201: The processor 118 counts the access frequency of the data block in the first hierarchical fault domain, where the data block includes the i-th target data, where i is an integer greater than or equal to zero, and i<N.
在本实施例中, 存储设备中共保存了 N份目标数据, 也就是前面描述的 数据副本。 并且需要对 N份目标数据进行编号, 例如第 0份目标数据(副本 0 ) 、 第 1份目标数据(副本 1 ) 、 第 2份目标数据(副本 2 ) ... ...第 N-1份 目标数据(副本 N-1 ) 。 其中, 第 i份目标数据保存在第一层级故障域中的 一个数据块中。
处理器 118可以定时统计第一层级故障域中各个数据块的访问频率, 当发现所述第 i份目标数据所在的数据块的访问频率达到预设阔值时, 执 行步骤 S202。 需要说明的是, 对于统计各个数据块的访问频率, 可以是由 定时器触发, 也可以是人工触发, 或者其他方式触发, 本实施例不对此做 限定。 In this embodiment, a total of N pieces of target data, that is, a copy of the data described above, are stored in the storage device. And need to number N target data, such as 0th target data (copy 0), 1st target data (copy 1), 2nd target data (copy 2) ... N-1 Target data (copy N-1). The i-th target data is stored in one data block in the first-level fault domain. The processor 118 can periodically count the access frequency of each data block in the first level fault domain. When it is found that the access frequency of the data block where the i-th target data is located reaches a preset threshold, step S202 is performed. It should be noted that, in this embodiment, the access frequency of each data block may be triggered by a timer, or may be manually triggered, or triggered in other manners.
步骤 S202: 当所述数据块的访问频率达到预设阔值时, 处理器 118在 所述第二层级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述 确定出的第二层级故障域没有保存所述 N份目标数据的其中一份。 Step S202: When the access frequency of the data block reaches a preset threshold, the processor 118 determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, where the determined The second level fault domain does not hold one of the N target data.
当步骤 S201中处理器 118统计出的所述数据块的访问频率达到预设 阔值时, 说明该数据块中包含的数据成为热数据, 为了提高访问效率, 可 以将其迁移至第二层级磁盘集合(例如, 多个 SSD ) 中。 When the access frequency of the data block counted by the processor 118 reaches the preset threshold in the step S201, the data included in the data block becomes hot data, and in order to improve the access efficiency, the data may be migrated to the second level disk. Collections (for example, multiple SSDs).
进一步地, 由于第二层级磁盘集合中包含多个第二层级故障域, 处理 器 118需要确定将所述数据块迁移至多个第二层级故障域中的哪个故障域 中。 Further, since the second hierarchical disk set contains a plurality of second level fault domains, the processor 118 needs to determine which of the plurality of second level fault domains is to be migrated.
一种实施方式是, 依次判断第二层级磁盘集合中的各个第二层级故障 域是否保存有目标数据, 若没有, 则可以将该第二层级故障域确定为待存 储所述数据块的第二层级故障域; 若有, 则继续判断下一个第二层级故障 域是否保存有目标数据, 直至找到没有保存所述目标数据的第二层级故障 域。 需要说明的是, 对于这种实施方式, 确定出待存储所述数据块的第二 层级故障域之后, 可以保存所述第二层级故障域与所述数据块迁出的第一 层级故障域之间的对应关系。 当所述数据块的访问频率低于预设阔值时, 说明所述数据块变冷, 可以根据保存的对应关系将所述数据块迁回至原来 的第一层级故障域。 An embodiment is to sequentially determine whether each second level fault domain in the second hierarchical disk set holds target data, and if not, determine the second level fault domain as the second to be stored. The hierarchical fault domain; if so, continues to determine whether the next second-level fault domain holds target data until it finds a second-level fault domain that does not hold the target data. It should be noted that, after determining the second level fault domain of the data block to be stored, the second level fault domain may be saved and the first level fault domain migrated by the data block may be saved. Correspondence between the two. When the access frequency of the data block is lower than the preset threshold, the data block is cooled, and the data block may be moved back to the original first-level fault domain according to the saved correspondence.
另一种实施方式是, 利用设定的关联关系确定待存储所述数据块的第 二层级故障域。 所述设定的关联关系是指所述目标数据保存在存储设备 110中的份数 "N" 、 所述数据块中保存的目标数据的编号 "i" 与第二层
级故障域的编号之间的关系。 具体来说, 所述第二层级故障域的编号等于 所述 N与一个随机数的乘积再加上所述 i, 从而获得的和, 其中, 所述随 机数不超过所述存储设备所包含的第二层级故障域的个数除以所述 N从 而获得的商。 下面将举例说明所述关联关系: In another embodiment, the second hierarchical fault domain of the data block to be stored is determined using the set association relationship. The set association relationship refers to the number of copies "N" of the target data stored in the storage device 110, the number "i" of the target data held in the data block, and the second layer. The relationship between the number of the level fault domain. Specifically, the number of the second level fault domain is equal to the product of the N and a random number plus the i, and the obtained sum, wherein the random number does not exceed the content included in the storage device The number of second level fault domains divided by the N to obtain the quotient. The relationship will be exemplified below:
假设 N=3 , i=0, 也就是说, 所述目标数据保存在存储设备 110中保 存了 3份, 每份目标数据的编号分别是 0、 1、 2。 其中, 所述数据块中保 存的目标数据是第 0份目标数据。 那么, 待存储所述数据块的第二层级故 障域的编号就等于 3与随机数的乘积再加上 0 , 从而获得的和。 当随机数 取 0时, 待存储所述数据块的第二层级故障域的编号为 0; 当随机数取 1 时, 待存储所述数据块的第二层级故障域的编号为 3; 当随机数取 2时, 待存储所述数据块的第二层级故障域的编号为 6...然而, 随机数不能超过 第二层级故障域的个数除以所述 N从而获得的商。假设第二层级故障域的 个数为 7 , 那么 7除以 3所得的商为 2 , 因此随机数须小于或等于 2。 Assuming N=3, i=0, that is, the target data is saved in the storage device 110, and the number of each target data is 0, 1, and 2, respectively. The target data saved in the data block is the 0th target data. Then, the number of the second level fault domain of the data block to be stored is equal to the product of 3 and the random number plus 0, thereby obtaining the sum. When the random number is 0, the number of the second level fault domain of the data block to be stored is 0; when the random number is 1, the number of the second level fault domain of the data block to be stored is 3; When the number is 2, the number of the second level fault domain of the data block to be stored is 6... However, the random number cannot exceed the number of the second level fault domain divided by the N to obtain the quotient. Assuming that the number of second-level fault domains is 7, then the quotient of 7 divided by 3 is 2, so the random number must be less than or equal to 2.
因此, 对于第 0份目标数据, 可以迁移至编号为 0或者 3或者 6的第 二层级故障域中。 Therefore, for the 0th target data, you can migrate to the second level fault domain numbered 0 or 3 or 6.
可选的, 对于这种实施方式, 在确定出待存储所述数据块的第二层级 故障域之后, 可以不保存所述第二层级故障域与所述数据块迁出的第一层 级故障域之间的对应关系。 当所述数据块的访问频率低于预设阈值(所述 数据块变冷)时, 可以根据与前面类似的关联关系将所述数据块迁回至第 一层级磁盘集合的一个第一层级故障域中。 此时, 第一层级故障域的编号 等于所述 N与一个随机数的乘积再加上所述 i, 从而获得的和, 其中, 所 述随机数不超过所述存储设备所包含的第一层级故障域的个数除以所述 N 从而获得的商。例如, 所述目标数据的编号不变, 仍然是第 0份目标数据, 所述目标数据保存在存储设备 110中的份数仍然是 3 , 即 i=0 , N=3 , 那么 根据所述关联关系获得的第一层级故障域的编号可以是 0或者 3或者 6 (假 设第一层级磁盘集合中也包含 7个第一个层级故障域) 。 也就是说, 当所
述数据块需要迁回第一层级磁盘集合时, 可以迁移至编号为 0的第一层级 故障域或者编号为 3的第一层级故障域或者编号为 0的第一层级故障域。 第二层级故障域之后, 保存所述第二层级故障域与所述数据块迁出的第一 层级故障域之间的对应关系。 当所述数据块的访问频率低于预设阔值时, 可以根据保存的对应关系将所述数据块迁回至原来的第一层级故障域。 可 以理解的是, 根据保存的对应关系只能将所述数据块迁回至原来的第一层 级故障域,与利用关联关系重新确定的第一层级故障域相比,其范围更窄。 Optionally, for the implementation, after determining the second level fault domain of the data block to be stored, the second level fault domain may be saved and the first level fault domain migrated by the data block may not be saved. Correspondence between them. When the access frequency of the data block is lower than a preset threshold (the data block becomes cold), the data block may be moved back to a first level fault of the first hierarchical disk set according to a similar relationship with the foregoing. In the domain. At this time, the number of the first level fault domain is equal to the product of the N and a random number plus the i, and the obtained sum, wherein the random number does not exceed the first level included in the storage device. The number of fault domains divided by the N to obtain the quotient. For example, the number of the target data is unchanged, and is still the 0th target data, and the number of copies of the target data stored in the storage device 110 is still 3, that is, i=0, N=3, then according to the association. The first level fault domain obtained by the relationship can be numbered 0 or 3 or 6 (assuming that the first level disk set also contains 7 first level fault domains). In other words, When the data block needs to be moved back to the first-level disk set, it can be migrated to the first-level fault domain numbered 0 or the first-level fault domain numbered 3 or the first-level fault domain numbered 0. After the second level fault domain, the correspondence between the second level fault domain and the first level fault domain where the data block migrates is saved. When the access frequency of the data block is lower than a preset threshold, the data block may be moved back to the original first level fault domain according to the saved correspondence. It can be understood that, according to the saved correspondence, the data block can only be moved back to the original first-level fault domain, and the range is narrower than the first-level fault domain re-determined by the association relationship.
步骤 S203: 处理器 118将所述数据块迁移到所述确定出的第二层级故 障域中。 Step S203: The processor 118 migrates the data block to the determined second level fault domain.
才艮据步骤 S202的示例, 处理器 118可以将所述数据块迁移至编号为 0 或者 3或者 6的第二层级故障域中。 According to the example of step S202, the processor 118 may migrate the data block to a second level fault domain numbered 0 or 3 or 6.
当故障域是一个磁盘时, 编号为 0或者 3或者 6的第二层级故障域可 以分别是编号为 0或者 3或者 6的磁盘; 当故障域是一个 RAID时, 编号 为 0或者 3或者 6的第二层级故障域可以分别是编号为 0或者 3或者 6的 RAID, 此时, 将所述数据块迁移到所述确定出的第二层级故障域中具体 可以是将所述数据块条带化写入所述 RAID中。 When the fault domain is a disk, the second level fault domain numbered 0 or 3 or 6 can be a disk numbered 0 or 3 or 6 respectively; when the fault domain is a RAID, the number is 0 or 3 or 6. The second level fault domain may be a RAID numbered 0 or 3 or 6, respectively. In this case, the data block may be migrated to the determined second level fault domain, specifically, the data block may be striped. Write to the RAID.
本发明实施例统计所述第一层级故障域中的数据块的访问频率, 所述 数据块包括多份目标数据中的其中一份, 当第一层级故障域中的数据块的 访问频率达到预设阈值时, 将所述数据块迁移至第二层级故障域, 并且所 述第二层级故障域没有保存所述目标数据, 这就避免了在执行分级存储操 作时将多份目标数据迁移至同一个故障域中, 保证了数据的可靠性。 The embodiment of the present invention counts the access frequency of the data block in the first hierarchical fault domain, and the data block includes one of the plurality of target data, and the access frequency of the data block in the first hierarchical fault domain reaches the pre-predetermined frequency. When the threshold is set, the data block is migrated to the second hierarchical fault domain, and the second hierarchical fault domain does not save the target data, thereby avoiding migrating multiple target data to the same when performing the hierarchical storage operation In a fault domain, the reliability of the data is guaranteed.
在上述实施例中, 还可以包括: In the above embodiment, the method may further include:
步骤 204: 处理器 118接收所述目标数据, 根据预设的规则确定所述目 标数据在所述存储设备中保存的份数为 N; 对所述目标数据进行复制, 生成 N份所述目标数据。
处理器 118可以接收主机 100发送的数据写入请求, 所述数据写入请 求中携带所述目标数据。 这里的预设的规则是指所述目标数据的重要性与 所述目标数据需要保存的份数之间的对应关系。 例如, 如果所述目标数据 是业务数据, 那么其重要性不高, 可以在存储设备 110中保存 2份; 如果 所述目标数据是业务数据的元数据, 那么其重要性较高, 可以在存储设备 110中保存 3份, 等等。 Step 204: The processor 118 receives the target data, determines, according to a preset rule, that the number of copies of the target data in the storage device is N; and copies the target data to generate N copies of the target data. . The processor 118 can receive a data write request sent by the host 100, where the data write request carries the target data. The preset rule here refers to a correspondence between the importance of the target data and the number of copies of the target data to be saved. For example, if the target data is business data, it is not important, and may be saved in the storage device 110; if the target data is metadata of the business data, the importance is high, and the storage may be The device 110 holds 3 copies, and so on.
110可以对所述目标数据进行复制, 生成 N份目标数据。 110 may copy the target data to generate N pieces of target data.
本发明实施例的装置 Device of embodiment of the invention
本发明实施例提供一种数据迁移装置,所述数据迁移装置位于存储设备 的控制器中, 所述存储设备至少包括所述控制器、 第一层级磁盘集合和第 二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故障域, 所述第二 层级磁盘集合包括至少两个第二层级故障域; 所述存储设备中保存有 N份 目标数据, N为大于 1的正整数, 所述 N小于第一层级故障域的个数, 并 且所述 N小于第二层级故障域的个数; 如图 6所示, 所述数据迁移装置包 括: An embodiment of the present invention provides a data migration apparatus, where the data migration apparatus is located in a controller of a storage device, where the storage apparatus includes at least the controller, a first hierarchical disk set, and a second hierarchical disk set, where The first level disk set includes a first level fault domain, the second level disk set includes at least two second level fault domains, the storage device stores N pieces of target data, and N is a positive integer greater than 1. N is smaller than the number of the first level fault domains, and the N is smaller than the number of the second level fault domains. As shown in FIG. 6, the data migration apparatus includes:
统计模块 401 ,用于统计所述第一层级故障域中的数据块的访问频率, 所述数据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并且, i<N; The statistics module 401 is configured to calculate an access frequency of the data block in the first hierarchical fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i<N;
确定模块 402, 用于当所述数据块的访问频率达到预设阔值时, 在所 述第二层级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确 定出的第二层级故障域没有保存所述目标数据; a determining module 402, configured to determine, in the second hierarchical disk set, a second level fault domain of the data block to be stored when the access frequency of the data block reaches a preset threshold, the determined The second level fault domain does not save the target data;
迁移模块 403 , 用于将所述数据块迁移到所述确定出的第二层级故障 域中。 The migration module 403 is configured to migrate the data block to the determined second level fault domain.
可选的, 所述确定模块 402具体用于: Optionally, the determining module 402 is specifically configured to:
根据所述 i和 N, 以及预先设定的关联关系, 确定所述第二层级故障
域的编号,所述关联关系是指所述第二层级故障域的编号等于所述 N与随 机数的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数是大于或等 于 1的正整数, 并且所述随机数不超过所述存储设备所包含的第二层级故 障域的个数除以所述 N从而获得的商。 Determining the second level fault according to the i and N, and a preset association relationship The number of the domain, the association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, thereby obtaining a sum, wherein the random number is greater than or equal to A positive integer of 1, and the random number does not exceed the quotient obtained by dividing the number of second level fault domains included in the storage device by the N.
可选的, 所述数据迁移装置还包括: Optionally, the data migration device further includes:
保存模块 404 , 用于保存所述第一层级故障域和所述确定出的第二层 级故障域之间的对应关系; a saving module 404, configured to save a correspondence between the first level fault domain and the determined second level fault domain;
相应的, 所述迁移模块 403 , 还用于根据所述对应关系将所述数据块 从所述确定出的第二层级故障域迁移到所述第一层级故障域中。 Correspondingly, the migration module 403 is further configured to migrate the data block from the determined second level fault domain to the first level fault domain according to the correspondence.
可选的, 所述数据迁移装置还包括: Optionally, the data migration device further includes:
接收模块 405 , 用于接收所述目标数据, 根据预设的规则确定所述目标 数据在所述存储设备中保存的份数为 N; The receiving module 405 is configured to receive the target data, and determine, according to a preset rule, that the number of copies of the target data in the storage device is N;
复制模块 406, 用于对所述目标数据进行复制, 生成 N份所述目标数 据。 The copying module 406 is configured to copy the target data to generate N pieces of the target data.
本发明实施例所提供的装置, 可以设置于前面实施例所描述的控制器 中, 用于执行前面实施例所描述的数据存储方法, 各个模块功能的详细描 述可参见方法实施例中的描述, 在此不再赘述。 The device provided by the embodiment of the present invention may be configured in the controller described in the foregoing embodiment, and is used to perform the data storage method described in the foregoing embodiments. For a detailed description of the function of each module, refer to the description in the method embodiment. I will not repeat them here.
本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可能 实现方式可以被具体实施为系统、 方法或者计算机程序产品。 因此, 本发明 的各方面、 或各个方面的可能实现方式可以釆用完全硬件实施例、 完全软件 实施例 (包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形 式, 在这里都统称为 "电路" 、 "模块" 或者 "系统" 。 此外, 本发明的各 方面、 或各个方面的可能实现方式可以釆用计算机程序产品的形式, 计算机 程序产品是指存储在计算机可读介质中的计算机可读程序代码。 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, various 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. Computer readable storage media includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor System, device or device, or any suitable combination of the foregoing, such as random access memory
(RAM), 只读存储器 (ROM)、 可擦除可编程只读存储器 (EPROM或者快闪 存储器)、 光纤、 便携式只读存储器 (CD-ROM:)。 (RAM), Read Only Memory (ROM), Erasable 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 step or combination of steps in the flowchart; A device that functions as specified in each block, or combination of blocks.
计算机可读程序代码可以完全在用户的计算机上执行、 部分在用户的计 算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远程计 算机上, 或者完全在远程计算机或者服务器上执行。 也应该注意, 在某些替 代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可能不按图 中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两个步骤、 或 两个块实际上可能被大致同时执行, 或者这些块有时候可能被以相反顺序执
The computer readable program code can be executed 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 of the flowchart, or in the blocks in the block diagrams, may not occur in the order noted. For example, depending on the functionality involved, the two steps shown in succession, or two blocks may actually be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order.
Claims
1、 一种数据迁移的方法, 其特征在于, 所述方法由存储设备执行, 所 述存储设备至少包括控制器、 第一层级磁盘集合和第二层级磁盘集合, 所 述第一层级磁盘集合包括第一层级故障域, 所述第二层级磁盘集合包括至 少两个第二层级故障域; 所述存储设备中保存有 N份目标数据, N为大于 1 的正整数, 所述 N小于第一层级故障域的个数, 并且所述 N小于第二层级 故障域的个数; 所述方法包括: A method for data migration, the method is performed by a storage device, where the storage device includes at least a controller, a first hierarchical disk set, and a second hierarchical disk set, where the first hierarchical disk set includes a first level fault domain, the second level disk set includes at least two second level fault domains; the storage device stores N pieces of target data, N is a positive integer greater than 1, and the N is smaller than the first level The number of fault domains, and the N is smaller than the number of fault domains in the second level; the method includes:
所述控制器统计所述第一层级故障域中的数据块的访问频率, 所述数 据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并且, i<N; The controller collects an access frequency of a data block in the first level of the fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and i < N;
当所述数据块的访问频率达到预设阔值时, 所述控制器在所述第二层 级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出的第 二层级故障域没有保存所述目标数据; When the access frequency of the data block reaches a preset threshold, the controller determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level The target domain data is not saved in the fault domain;
所述控制器将所述数据块迁移到所述确定出的第二层级故障域中。 The controller migrates the data block to the determined second level of fault domain.
2、 根据权利要求 1所述的方法, 其特征在于, 所述控制器在所述第二 层级磁盘集合中确定待存储所述数据块的第二层级故障域包括: The method according to claim 1, wherein the controller determines, in the second hierarchical disk set, that the second level fault domain to be stored is:
所述控制器根据所述 i和 N, 以及预先设定的关联关系, 确定所述第 二层级故障域的编号, 所述关联关系是指所述第二层级故障域的编号等于 所述 N与随机数的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数 是大于或等于 1的正整数, 并且所述随机数不超过所述存储设备所包含的 Determining, by the controller, the number of the second level fault domain according to the i and N, and a preset association relationship, where the association relationship is that the number of the second level fault domain is equal to the N and a product of a random number plus the i, thereby obtaining a sum, wherein the random number is a positive integer greater than or equal to 1, and the random number does not exceed that included in the storage device
3、 根据权利要求 1或 2所述的方法, 其特征在于, 还包括: The method according to claim 1 or 2, further comprising:
所述控制器保存所述第一层级故障域和所述确定出的第二层级故障域 之间的对应关系; The controller saves a correspondence between the first level fault domain and the determined second level fault domain;
当所述数据块的访问频率低于所述预设阈值时, 所述控制器根据所述 对应关系将所述数据块从所述确定出的第二层级故障域迁移到所述第一 层级故障域中。
When the access frequency of the data block is lower than the preset threshold, the controller migrates the data block from the determined second level fault domain to the first level fault according to the correspondence relationship In the domain.
4、根据权利要求 1-3任一权利要求所述的方法, 其特征在于,还包括: 所述控制器接收所述目标数据, 根据预设的规则确定所述目标数据在所 述存储设备中保存的份数为 N; The method according to any one of claims 1 to 3, further comprising: the controller receiving the target data, determining, according to a preset rule, the target data in the storage device The number of copies saved is N;
所述控制器对所述目标数据进行复制, 生成 N份所述目标数据。 The controller copies the target data to generate N copies of the target data.
5、 一种控制器, 其特征在于, 所述控制器包括处理器和通信接口; 所述通信接口, 用于与磁盘阵列进行通信, 所述磁盘阵列包括第一层 级磁盘集合和第二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故 障域, 所述第二层级磁盘集合包括至少两个第二层级故障域; 所述磁盘阵 列中保存有 N份目标数据, N为大于 1的正整数,所述 N小于第一层级故障 域的个数, 并且所述 N小于第二层级故障域的个数; A controller, comprising: a processor and a communication interface; the communication interface, configured to communicate with a disk array, wherein the disk array comprises a first level disk set and a second level disk The set, the first hierarchical disk set includes a first hierarchical fault domain, the second hierarchical disk set includes at least two second hierarchical fault domains; the disk array holds N pieces of target data, and N is greater than 1. a positive integer, the N is smaller than the number of the first hierarchical fault domains, and the N is smaller than the number of the second hierarchical fault domains;
所述处理器, 用于统计所述第一层级故障域中的数据块的访问频率, 所述数据块包括第 i份目标数据, 其中 i为大于或等于零的整数, 并且, i<N; The processor is configured to calculate an access frequency of a data block in the first hierarchical fault domain, where the data block includes an i th target data, where i is an integer greater than or equal to zero, and, i<N;
当所述数据块的访问频率达到预设阈值时, 所述处理器在所述第二层 级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出的第 二层级故障域没有保存所述目标数据; When the access frequency of the data block reaches a preset threshold, the processor determines, in the second hierarchical disk set, a second level fault domain of the data block to be stored, and the determined second level fault The domain does not save the target data;
所述处理器将所述数据块迁移到所述确定出的第二层级故障域中。 The processor migrates the data block to the determined second level of fault domain.
6、 根据权利要求 5所述的控制器, 其特征在于, 所述处理器具体用于 根据所述 i和 N, 以及预先设定的关联关系, 确定所述第二层级故障域的 编号,所述关联关系是指所述第二层级故障域的编号等于所述 N与随机数 的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数是大于或等于 1 的正整数, 并且所述随机数不超过所述存储设备所包含的第二层级故障域 的个数除以所述 N从而获得的商。 The controller according to claim 5, wherein the processor is specifically configured to determine, according to the i and N, and a preset association relationship, the number of the second level fault domain, The association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, and the obtained sum is, wherein the random number is a positive integer greater than or equal to 1. And the random number does not exceed the number of the second level fault domains included in the storage device divided by the N to obtain the quotient.
7、 根据权利要求 5或 6所述的控制器, 其特征在于, 7. A controller according to claim 5 or claim 6 wherein:
所述处理器还用于保存所述第一层级故障域和所述确定出的第二层级 故障域之间的对应关系;
当所述数据块的访问频率低于所述预设阔值时, 所述处理器还用于根 据所述对应关系将所述数据块从所述确定出的第二层级故障域迁移 'J所 述第一层级故障域中。 The processor is further configured to save a correspondence between the first hierarchical fault domain and the determined second hierarchical fault domain; When the access frequency of the data block is lower than the preset threshold, the processor is further configured to migrate the data block from the determined second-level fault domain according to the correspondence relationship The first level of fault domain.
8、 根据权利要求 5-7任一权利要求所述的控制器, 其特征在于, 所述处理器还用于接收所述目标数据, 根据预设的规则确定所述目标数 据在所述存储设备中保存的份数为 N; 所述控制器对所述目标数据进行复 制, 生成 N份所述目标数据。 The controller according to any one of claims 5-7, wherein the processor is further configured to receive the target data, and determine the target data in the storage device according to a preset rule. The number of copies saved in the file is N; the controller copies the target data to generate N copies of the target data.
9、 一种数据迁移装置, 其特征在于, 所述数据迁移装置位于存储设 备的控制器中, 所述存储设备至少包括所述控制器、 第一层级磁盘集合和 第二层级磁盘集合, 所述第一层级磁盘集合包括第一层级故障域, 所述第 二层级磁盘集合包括至少两个第二层级故障域; 所述存储设备中保存有 N 份目标数据, N为大于 1的正整数, 所述 N小于第一层级故障域的个数, 并 且所述 N小于第二层级故障域的个数; 所述数据迁移装置包括: A data migration device, wherein the data migration device is located in a controller of a storage device, the storage device includes at least the controller, a first hierarchical disk set, and a second hierarchical disk set, The first level disk set includes a first level fault domain, the second level disk set includes at least two second level fault domains; the storage device stores N pieces of target data, and N is a positive integer greater than 1. The N is smaller than the number of the first level fault domains, and the N is smaller than the number of the second level fault domains; the data migration device includes:
统计模块, 用于统计所述第一层级故障域中的数据块的访问频率, 所 述数据块包括第 i份目标数据,其中 i为大于或等于零的整数,并且, i<N; 确定模块, 用于当所述数据块的访问频率达到预设阔值时, 在所述第 二层级磁盘集合中确定待存储所述数据块的第二层级故障域, 所述确定出 的第二层级故障域没有保存所述目标数据; a statistics module, configured to calculate an access frequency of the data block in the first level fault domain, where the data block includes an i-th target data, where i is an integer greater than or equal to zero, and, i<N; a determining module, Determining, in the second hierarchical disk set, a second level fault domain of the data block to be stored when the access frequency of the data block reaches a preset threshold, the determined second level fault domain The target data is not saved;
迁移模块, 用于将所述数据块迁移到所述确定出的第二层级故障域 中。 And a migration module, configured to migrate the data block into the determined second level fault domain.
10、 根据权利要求 9 所述的装置, 其特征在于, 所述确定模块具体用 于根据所述 i和 N, 以及预先设定的关联关系, 确定所述第二层级故障域 的编号,所述关联关系是指所述第二层级故障域的编号等于所述 N与随机 数的乘积再加上所述 i, 从而获得的和, 其中, 所述随机数是大于或等于 1 的正整数, 并且所述随机数不超过所述存储设备所包含的第二层级故障域 的个数除以所述 N从而获得的商。
The device according to claim 9, wherein the determining module is specifically configured to determine a number of the second level fault domain according to the i and N, and a preset association relationship, The association relationship is that the number of the second level fault domain is equal to the product of the N and the random number plus the i, thereby obtaining a sum, wherein the random number is a positive integer greater than or equal to 1, and The random number does not exceed the number of the second level fault domains included in the storage device divided by the N to obtain the quotient.
11、 根据权利要求 9所述的装置, 其特征在于, 还包括: 保存模块, 用于保存所述第一层级故障域和所述确定出的第二层级故 障域之间的对应关系; The device according to claim 9, further comprising: a saving module, configured to save a correspondence between the first hierarchical fault domain and the determined second hierarchical fault domain;
所述迁移模块, 还用于根据所述对应关系将所述数据块从所述确定出 的第二层级故障域迁移到所述第一层级故障域中。 And the migrating module is further configured to migrate the data block from the determined second level fault domain to the first level fault domain according to the correspondence.
12、 根据权利要求 9-11任一权利要求所述的装置, 其特征在于, 还包 括: 12. Apparatus according to any of claims 9-11, further comprising:
接收模块, 用于接收所述目标数据, 根据预设的规则确定所述目标数据 在所述存储设备中保存的份数为 N; a receiving module, configured to receive the target data, and determine, according to a preset rule, that the number of copies of the target data in the storage device is N;
复制模块, 用于对所述目标数据进行复制, 生成 N份所述目标数据。
And a copy module, configured to copy the target data to generate N pieces of the target data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480002086.XA CN104583930B (en) | 2014-08-15 | 2014-08-15 | Method, controller and the data migration device of Data Migration |
PCT/CN2014/084526 WO2016023230A1 (en) | 2014-08-15 | 2014-08-15 | Data migration method, controller and data migration device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/084526 WO2016023230A1 (en) | 2014-08-15 | 2014-08-15 | Data migration method, controller and data migration device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016023230A1 true WO2016023230A1 (en) | 2016-02-18 |
Family
ID=53097339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/084526 WO2016023230A1 (en) | 2014-08-15 | 2014-08-15 | Data migration method, controller and data migration device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104583930B (en) |
WO (1) | WO2016023230A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085546B (en) * | 2016-02-16 | 2020-05-01 | 深信服科技股份有限公司 | Data management method and device based on fault domain technology |
CN108255413A (en) * | 2016-12-29 | 2018-07-06 | 华为技术有限公司 | Method, the storage system of Data Migration after a kind of storage system dilatation |
CN108306748B (en) * | 2017-01-12 | 2021-03-30 | 阿里巴巴集团控股有限公司 | Network fault positioning method and device and interaction device |
CN107704212B (en) * | 2017-10-31 | 2019-09-06 | 新华三信息技术有限公司 | A kind of data processing method and device |
RU2697961C1 (en) * | 2018-03-30 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | System and method of assessing deterioration of data storage device and ensuring preservation of critical data |
CN110737924B (en) * | 2018-07-20 | 2021-07-27 | 中移(苏州)软件技术有限公司 | Data protection method and equipment |
CN114496051A (en) * | 2018-10-25 | 2022-05-13 | 华为技术有限公司 | Solid state disk and solid state disk management method |
CN112068976A (en) * | 2019-06-10 | 2020-12-11 | 北京京东尚科信息技术有限公司 | Data backup storage method and device, electronic equipment and storage medium |
CN113741819B (en) * | 2021-09-15 | 2024-09-27 | 第四范式(北京)技术有限公司 | Method and device for hierarchical storage of data |
CN114466030B (en) * | 2021-12-27 | 2024-03-12 | 天翼云科技有限公司 | Management method and device of data distributed storage strategy and distributed storage system |
CN114895849B (en) * | 2022-04-29 | 2024-11-01 | 重庆紫光华山智安科技有限公司 | Data migration storage method, device and management node |
CN114675791B (en) * | 2022-05-27 | 2022-10-28 | 苏州浪潮智能科技有限公司 | Disk processing method and system and electronic equipment |
CN116027990B (en) * | 2023-03-29 | 2023-07-14 | 苏州浪潮智能科技有限公司 | RAID card, data access method, system and storage medium thereof |
CN116910016B (en) * | 2023-09-14 | 2024-06-11 | 交通运输部北海航海保障中心天津通信中心 | AIS data processing method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156738A (en) * | 2011-04-13 | 2011-08-17 | 成都市华为赛门铁克科技有限公司 | Method for processing data blocks, and data block storage equipment and system |
CN103106151A (en) * | 2011-11-15 | 2013-05-15 | Lsi公司 | Apparatus to manage efficient data migration between tiers |
CN103914516A (en) * | 2014-02-25 | 2014-07-09 | 深圳市中博科创信息技术有限公司 | Method and system for layer-management of storage system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0514529D0 (en) * | 2005-07-15 | 2005-08-24 | Ibm | Virtualisation engine and method, system, and computer program product for managing the storage of data |
US7831793B2 (en) * | 2006-03-01 | 2010-11-09 | Quantum Corporation | Data storage system including unique block pool manager and applications in tiered storage |
-
2014
- 2014-08-15 CN CN201480002086.XA patent/CN104583930B/en active Active
- 2014-08-15 WO PCT/CN2014/084526 patent/WO2016023230A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156738A (en) * | 2011-04-13 | 2011-08-17 | 成都市华为赛门铁克科技有限公司 | Method for processing data blocks, and data block storage equipment and system |
CN103106151A (en) * | 2011-11-15 | 2013-05-15 | Lsi公司 | Apparatus to manage efficient data migration between tiers |
CN103914516A (en) * | 2014-02-25 | 2014-07-09 | 深圳市中博科创信息技术有限公司 | Method and system for layer-management of storage system |
Also Published As
Publication number | Publication date |
---|---|
CN104583930A (en) | 2015-04-29 |
CN104583930B (en) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016023230A1 (en) | Data migration method, controller and data migration device | |
US11372710B2 (en) | Preemptive relocation of failing data | |
US9613040B2 (en) | File system snapshot data management in a multi-tier storage environment | |
US9037795B1 (en) | Managing data storage by provisioning cache as a virtual device | |
US9740416B2 (en) | Essential metadata replication | |
US10747440B2 (en) | Storage system and storage system management method | |
US10459652B2 (en) | Evacuating blades in a storage array that includes a plurality of blades | |
US8732411B1 (en) | Data de-duplication for information storage systems | |
US20130013880A1 (en) | Storage system and its data processing method | |
US9417964B2 (en) | Destaging cache data using a distributed freezer | |
US9792056B1 (en) | Managing system drive integrity in data storage systems | |
TW201107981A (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
US10621059B2 (en) | Site recovery solution in a multi-tier storage environment | |
US10740189B2 (en) | Distributed storage system | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
US8433868B2 (en) | Concurrent copy of system configuration global metadata | |
TWI768693B (en) | Method and apparatus for performing data access management of all flash array server | |
US11188425B1 (en) | Snapshot metadata deduplication | |
US20130198469A1 (en) | Storage system and storage control method | |
US20210208969A1 (en) | Dropped write error detection | |
US12141460B2 (en) | Method and apparatus for performing data access management of all flash array server | |
US20210073092A1 (en) | Distributed failover of a back-end storage director |
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: 14899811 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: 14899811 Country of ref document: EP Kind code of ref document: A1 |