CN103608784B - Method for creating network volumes, data storage method, storage device and storage system - Google Patents

Method for creating network volumes, data storage method, storage device and storage system Download PDF

Info

Publication number
CN103608784B
CN103608784B CN201380000748.5A CN201380000748A CN103608784B CN 103608784 B CN103608784 B CN 103608784B CN 201380000748 A CN201380000748 A CN 201380000748A CN 103608784 B CN103608784 B CN 103608784B
Authority
CN
China
Prior art keywords
memory node
network volume
data
memory
create
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380000748.5A
Other languages
Chinese (zh)
Other versions
CN103608784A (en
Inventor
程菊生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410428740.5A priority Critical patent/CN104216664B/en
Publication of CN103608784A publication Critical patent/CN103608784A/en
Application granted granted Critical
Publication of CN103608784B publication Critical patent/CN103608784B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Embodiments of the invention provide a method for creating network volumes. The method comprises the steps of receiving a first network volume creation request sent by a management node by a first storage node; determining the side of to-be-distributed storage space of each storage node of a plurality of storage nodes according to RAID type information and size information of the network volumes; sending second network creation requests for each storage node respectively; assigning a logical address corresponding to each storage node for the storage space distributed for the storage node; and sending response information of the first network creation request to the management node, the response information of the first network creation request comprising the logical addresses of the network volumes, the logical addresses of the network volumes comprising the logical addresses corresponding to each storage node. Therefore, creation of the network volumes can be achieved.

Description

Network volume creation method, date storage method, memory device and storage system
Technical field
The present invention relates to memory technology, particularly relate to a kind of network volume creation method, date storage method, memory device and storage system.
Background technology
Traditional storage system adopts the storage server concentrated to deposit all data, storage server is also known as memory node, multiple hard disk can be comprised, can according to independent disk redundancy array (Redundant Array of Independent Disks between multiple hard disk, RAID) type creates common volume, store data in common volume, the redundancy of data can be realized.
RAID is referred to as hard disk array.Its basic thought gets up multiple hard disk combination exactly, becomes a hard disk array group, makes performance meet or exceed the huge hard disk of a capacity.Different according to the version selected, RAID has the benefit of following aspect than single hard disk: strengthen data integration degree, strengthens fault tolerance, increases treatment capacity or capacity.In addition, disk array, for computer, seems just as an independent hard disk or logic storage unit.Traditional RAID technique realizes between hard disk, for RAID 5, realize RAID 5 technology and at least need three hard disks, data and corresponding parity information are stored on each disk of composition RAID 5, and parity information and corresponding data are stored on different disks respectively.After a data in magnetic disk of RAID 5 is damaged, remaining data and corresponding parity information can be utilized to go to recover impaired data.
But current common volume is set up in a memory node, when this memory node breaks down, its data stored all can be lost, and reliability can not be guaranteed, and therefore urgently creates a kind of network across memory node and rolls up.
Summary of the invention
Embodiments provide a kind of network volume creation method, date storage method, memory device and storage system, the establishment of network volume can be realized.
First aspect, the embodiment of the present invention provides a kind of network to roll up creation method, and described method is applied in storage system, and described storage system comprises a management node and multiple memory node, and described method comprises:
The first memory node in described multiple memory node receives the first network volume request to create that described management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
The size of the storage space that each memory node in described multiple memory node is to be allocated is determined according to the size information of described RAID type information and described network volume;
Second network volume request to create is sent respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
The storage space distributed for each memory node specifies the logical address that each memory node is corresponding;
The response message of described first network volume request to create is sent to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
In the first possible implementation of first aspect, also comprise:
According to the size information that described RAID type information and described network are rolled up, determine to create the described multiple memory node needed for described network volume.
In the implementation that the second of first aspect is possible, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described method also comprises: according to described memory node information, determines to create the described multiple memory node needed for described network volume.
In the third possible implementation of first aspect, also comprise:
Logical address corresponding for described each memory node is sent to described each memory node respectively, makes the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
In conjunction with the implementation that the second of first aspect is possible, in the 4th kind of possible implementation of first aspect, described storage system also comprises main frame, and described method also comprises:
The information of described network volume is sent to described main frame, and the logical address of described network volume.
In the 5th kind of possible implementation of first aspect, also comprise: record and preserve the corresponding relation of logical address corresponding to described each memory node and described each memory node.
In the 6th kind of possible implementation of first aspect, described logical address comprises data address; The response message of described first network volume request to create specifically comprises: the data address of described network volume.
In the 7th kind of possible implementation of first aspect, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
The described storage space for each memory node distribution specifies logical address corresponding to each memory node specifically to comprise: according to the physical address of the storage space of described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
Second aspect, the embodiment of the present invention provides a kind of date storage method, and described method is applied in storage system, and described storage system comprises main frame and multiple memory node, and described method comprises:
Target data cutting is at least two slice of datas by the first memory node in described multiple memory node;
The checking data of at least two slice of datas described in calculating, for described checking data distributes verification address;
Determine the data address of each slice of data;
The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
The first write data requests is sent to the memory node that each slice of data is corresponding, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address;
The second write data requests is sent to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In the first possible implementation of second aspect, described method also comprises:
Receive the 3rd write data requests that described main frame sends, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up;
Describedly target data cutting specifically to be comprised at least two slice of datas: be at least two slice of datas according to RAID type and described data length by target data cutting, described RAID type is that the mark of rolling up according to described network is determined.
In conjunction with the first possible implementation of second aspect, in the implementation that the second of second aspect is possible, described 3rd write data requests also comprises memory address;
Describedly determine that the data address of each slice of data specifically comprises: the data address determining each slice of data according to described memory address and described data length.
In conjunction with the implementation that the second of second aspect is possible, in the third possible implementation of second aspect, described method also comprises:
Receive the first read data request that described main frame sends, described first read data request comprises described memory address and described data length, and described first read data request is for reading described target data;
The data address of each slice of data that described target data comprises is determined according to described memory address and described data length;
The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node;
The second read data request is sent to the memory node that each slice of data is corresponding, described second read data request comprises the data address of slice of data, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, from the storage space that described physical address is corresponding, read described slice of data and send to described first memory node;
Receive the slice of data that memory node corresponding to each slice of data sends, be merged into described target data and send to described main frame.
The third aspect, the embodiment of the present invention provides a kind of memory device, and described memory device comprises:
Receiver module, for the first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
Determination module, the size information for rolling up according to described RAID type information and described network determines the size of the storage space that each memory node in the multiple memory nodes needed for described network volume is to be allocated;
Sending module, for sending second network volume request to create respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
Address designated module, specifies for the storage space distributed for each memory node the logical address that each memory node is corresponding;
Described sending module, also for sending the response message of described first network volume request to create to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
In the first possible implementation of the third aspect, described determination module, also for the size information according to described RAID type information and described network volume, determines to create the described multiple memory node needed for described network volume.
In the implementation that the second of the third aspect is possible, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described determination module, also for according to described memory node information, determines to create the described multiple memory node needed for described network volume.
In the third possible implementation of the third aspect, described sending module, also for logical address corresponding for described each memory node is sent to described each memory node respectively, make the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
In the 4th kind of possible implementation of the third aspect, also comprise logging modle;
Described logging modle, also for recording and preserving the corresponding relation of logical address corresponding to described each memory node and described each memory node.
In the 5th kind of possible implementation of the third aspect, described logical address comprises data address;
The response message of described first network volume request to create specifically comprises: the data address of described network volume.
In the 6th kind of possible implementation of the third aspect, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
Described address designated module, specifically for the physical address of the storage space according to described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
Fourth aspect, the embodiment of the present invention provides a kind of memory device, and described memory device comprises:
Cutting module, for being at least two slice of datas by target data cutting;
Computing module, for the checking data of at least two slice of datas described in calculating, is that described checking data distributes verification address;
Determination module, for determining the data address of each slice of data; The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
Sending module, the first write data requests is sent for the memory node corresponding to each slice of data, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address; The second write data requests is sent to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In the first possible implementation of fourth aspect, described memory device also comprises: receiver module;
Described receiver module, for the 3rd write data requests that Receiving Host sends, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up;
Described cutting module, specifically for being at least two slice of datas according to RAID type and described data length by target data cutting, described RAID type is that the mark of rolling up according to described network is determined.
In conjunction with the first possible implementation of fourth aspect, in the implementation that the second of fourth aspect is possible, described 3rd write data requests also comprises memory address;
Described determination module, specifically for determining the data address of each slice of data according to described memory address and described data length.
In conjunction with the implementation that the second of fourth aspect is possible, in the third possible implementation of fourth aspect,
Described receiver module, also for receiving the first read data request that described main frame sends, described first read data request comprises described memory address and described data length, and described first read data request is for reading described target data;
Described determination module, also for determining the data address of each slice of data that described target data comprises according to described memory address and described data length; The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node;
Described sending module, also send the second read data request for the memory node corresponding to each slice of data, described second read data request comprises the data address of slice of data, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, from the storage space that described physical address is corresponding, read described slice of data and send to described first memory node;
Described receiver module, also for receiving the slice of data that memory node corresponding to each slice of data sends, being merged into described target data and sending to described main frame.
5th aspect, the embodiment of the present invention provides a kind of storage system, and described storage system comprises: the memory device as described in claim as arbitrary in claim 13-19 and management node;
Described management node, for sending first network volume request to create to the first memory node in described multiple memory node, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume.
6th aspect, the embodiment of the present invention provides a kind of storage system, and described storage system comprises memory device as described in claim as arbitrary in claim 20-23 and main frame;
Described main frame, for sending the 3rd write data requests to described memory device, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up.
7th aspect, the embodiment of the present invention provides a kind of memory device, processor, storer and communication bus;
Wherein, described processor is communicated by described communication bus with described storer;
Described storer is used for save routine;
Described processor for performing described program, to realize:
The first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
The size of the storage space that each memory node in multiple memory node is to be allocated is determined according to the size information of described RAID type information and described network volume;
Second network volume request to create is sent respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
The storage space distributed for each memory node specifies the logical address that each memory node is corresponding;
The response message of described first network volume request to create is sent to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
In the first possible implementation in the 7th, described processor, also for the size information according to described RAID type information and described network volume, determines to create the described multiple memory node needed for described network volume.
In the implementation that the second in the 7th is possible, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described processor, also for according to described memory node information, determines to create the described multiple memory node needed for described network volume.
In the third possible implementation in the 7th, described processor, also for logical address corresponding for described each memory node is sent to described each memory node respectively, make the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
In the 4th kind of possible implementation in the 7th, described processor, also for recording and preserving the corresponding relation of logical address corresponding to described each memory node and described each memory node.
In the 5th kind of possible implementation in the 7th, described logical address comprises data address;
The response message of described first network volume request to create specifically comprises: the data address of described network volume.
In the 6th kind of possible implementation in the 7th, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
Described processor, specifically for the physical address of the storage space according to described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
Eighth aspect, the embodiment of the present invention provides a kind of memory device, processor, storer and communication bus; Wherein, described processor is communicated by described communication bus with described storer;
Described storer is used for save routine;
Described processor for performing described program, to realize:
Be at least two slice of datas by target data cutting;
The checking data of at least two slice of datas described in calculating, for described checking data distributes verification address;
Determine the data address of each slice of data;
The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
The first write data requests is sent to the memory node that each slice of data is corresponding, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address;
The second write data requests is sent to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In the first possible implementation of eighth aspect, described processor, also for receiving the 3rd write data requests that described main frame sends, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up;
Described processor, specifically for being at least two slice of datas according to RAID type and described data length by target data cutting, described RAID type is that the mark of rolling up according to described network is determined.
In conjunction with the first possible implementation of eighth aspect, in the implementation that the second of eighth aspect is possible, described 3rd write data requests also comprises memory address;
Described processor, specifically for determining the data address of each slice of data according to described memory address and described data length.
In the embodiment of the present invention, first memory node is after the first network that receiving management node sends rolls up request to create, determine the storage space that each memory node is to be allocated, sending second network volume request to create to each memory node makes each memory node can roll up request to create memory allocated space according to second network, first memory node specifies logical address to each memory node memory allocated space, and logical address is sent to management node, management node is known, and network volume creates successfully, and the logical address of this network volume.With this, achieve the establishment of network volume.
Accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, be briefly described to the accompanying drawing used required in embodiment or description of the prior art below, apparently, accompanying drawing in the following describes is some embodiments of the present invention, for those of ordinary skill in the art, under the prerequisite not paying creative work, other accompanying drawing can also be obtained according to these accompanying drawings.
The application network configuration diagram of a kind of network volume creation method that Fig. 1 provides for the embodiment of the present invention;
The signaling diagram of a kind of network volume creation method that Fig. 2 provides for the embodiment of the present invention;
The process flow diagram of a kind of date storage method that Fig. 3 provides for the embodiment of the present invention;
The process flow diagram of the another kind of date storage method that Fig. 4 provides for the embodiment of the present invention;
The structural representation of a kind of memory device that Fig. 5 provides for the embodiment of the present invention;
The structural representation of the another kind of memory device that Fig. 6 provides for the embodiment of the present invention;
The structural representation of a kind of storage system that Fig. 7 A provides for the embodiment of the present invention;
The structural representation of the another kind of storage system that Fig. 7 B provides for the embodiment of the present invention;
The structural representation of another memory device that Fig. 8 provides for the embodiment of the present invention;
The structural representation of another memory device that Fig. 9 provides for the embodiment of the present invention.
Embodiment
For making the object of the embodiment of the present invention, technical scheme and advantage clearly, below in conjunction with the accompanying drawing in the embodiment of the present invention, technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is the present invention's part embodiment, instead of whole embodiments.Based on the embodiment in the present invention, those of ordinary skill in the art, not making the every other embodiment obtained under creative work prerequisite, belong to the scope of protection of the invention.
The network volume creation method that the embodiment of the present invention provides can realize in storage system.The system architecture schematic diagram of the network volume creation method that Fig. 1 provides for the embodiment of the present invention, as shown in Figure 1, this storage system comprises main frame, management node and multiple memory device (also known as memory node).
Main frame can comprise the known any computing equipment of current techniques, as server, desk-top computer etc.Inner at main frame, operating system and other application programs are installed.
Management node can comprise the known any computing equipment of current techniques, as server, desk-top computer etc.Its inner structure can be identical with main frame.
Memory node can comprise the known memory device of current techniques, as Redundant Array of Independent Disks (RAID) (Redundant Arrays of Inexpensive Disks, RAID), disk cluster (Just a Bunch OfDisks, JBOD), direct access storage device (Direct Access Storage Device, the disc driver of one or more interconnection DASD), the such as fc tape storage device FC of tape library, one or more storage unit.
Wherein, each memory node is interconnected, between main frame with management node and management node be connected by network with each memory node, here network can be internet internet, also can be IP SAN (IP Storage Area Network, IP address-based storage area network) and other private networks etc.
Please refer to Fig. 2, Fig. 2 is the embodiment of a kind of network volume of the present invention creation method, and as shown in Figure 2, shown method comprises:
Step S201: the first memory node in described multiple memory node receives the first network volume request to create that described management node sends, and described first network volume request to create comprises the information of network volume;
Management node first network can be rolled up request to create send to any one memory node in multiple memory node, this memory node to receive first network volume request to create after can by amendment setup of attribute by oneself becoming the first memory node.
The information of network volume can be the size information of RAID type information and network volume, wherein, RAID type information can be RAID type well-known to those skilled in the art, such as: conventional RAID5, RAID6 etc. also can be the redundancy types of upper correction code, such as: Erasure Code10+2,9+3,8+4 etc.The size information of network volume refers to the size of the storage space included by described network volume.
In another embodiment, the information of network volume can also comprise the information of memory node, is used to indicate the memory node created needed for described network volume.
Optionally, the information of network volume can also comprise the mark of network volume.
Step S202: the size determining the storage space that each memory node in described multiple memory node is to be allocated according to the size information of described RAID type information and described network volume.
The size information that first memory node can be rolled up according to RAID type information and network, determines the storage space that each memory node is to be allocated.For example, RAID type information is the RAID5 of " 4+1 ", and wherein, four memory nodes are for storing the data to be written of carrying in write data requests, and the first memory node is for storing the checking data of described data to be written.It should be noted that, when receiving write data requests, need data to be written to be carried out cutting and obtain four slice of datas, described four slice of datas are stored in four memory nodes respectively.For another example, the size information of network volume is 20M, then the storage space that each memory node is to be allocated is 4M.
Step S203: the first memory node sends second network volume request to create respectively to described each memory node, described second network volume request to create comprises the size of each memory node storage space to be allocated, makes each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated.
When the information of the network volume that first network volume request to create is carried comprises memory node information, described memory node information is used to indicate the memory node created needed for described network volume, then the first memory node directly can determine by memory node information the memory node created needed for described network volume from the memory node that described storage system comprises.
After first memory node sends second network volume request to create respectively to each memory node, the memory node receiving second network volume request to create can scan the storage space of oneself, and the storage space marking off 4M is supplied to described network volume.
If memory allocation success, memory node will send to the response message of second network volume request to create described in the first memory node, and described response message is used to indicate memory allocation success.Optionally, the physical address of the storage space of distribution can also be comprised in described response message.
Step S204: the first memory node is that the storage space that described each memory node distributes specifies the logical address that each memory node is corresponding.
First memory node is receiving the response message of each memory node, after learning memory allocation success, can give the volume appointment of described network one section of continuous print logical address, the storage space rolled up due to described network is distributed on multiple memory node, therefore the corresponding one section of logical address of the storage space of each memory node.Also can be that the storage space distributed for each memory node specifies the logical address that each memory node is corresponding, logical address corresponding for each memory node being combined be exactly the logical address that described network is rolled up.It should be noted that, the logical address that the first memory node is specified can comprise data address and verification address, and wherein, data address is for storing the data to be written in write data requests, and verification address is for storing the checking data of data to be written.For example, data address can be VB-0, VB-1, VB-2, VB-3, VB-4, VB-5, and verification address can be P-0, P-1, P-2, P-3 etc.
Further, be the RAID5 of " 4+1 " for described network volume, rolling up the logical address of specifying for described network can be VB-0, VB-1, VB-2, VB-3, and verification address can be P-0.
Step S205: the first memory node sends the response message of described first network volume request to create to described management node, and the response message of described first network volume request to create comprises: the logical address of described network volume.
Concrete, the logical address of carrying in the response message of first network volume request to create can be data address, and for example, data address can be VB-0, VB-1, VB-2, VB-3.
Optionally, the response message of described first network volume request to create can also comprise the mark of described network volume, so that management node can record and preserve the corresponding relation of the information such as RAID type information that the mark of described network volume and described network roll up and the size information that described network is rolled up.It should be noted that, the mark of network volume here can be send to the first network of the first memory node to roll up in request to create at main frame to carry, and also can be generated by the first memory node.
In the embodiment of the present invention, first memory node is after the first network that receiving management node sends rolls up request to create, determine the storage space that each memory node is to be allocated, sending second network volume request to create to each memory node makes each memory node can roll up request to create memory allocated space according to second network, first memory node specifies logical address to each memory node memory allocated space, and logical address is sent to management node, management node is known, and network volume creates successfully, and the logical address of this network volume.With this, achieve the establishment of network volume.
In the above-described embodiments, can also comprise:
The information that described network is rolled up is sent to main frame by the step S206: the first memory node, and the information of described network volume can comprise: the RAID type that the mark of described network volume, described network are rolled up, the size information of described network volume and the logical address of described network volume and the information etc. of memory node.
The information of described memory node refers to the information of the first memory node, can also comprise the information of all memory nodes at network volume place.
Described main frame can according to the information of network volume, and described network volume is mapped as a drive, and such as D dish or E dish, for user.
In addition, main frame can also record and preserve the corresponding relation between the information such as the information of size information that RAID type, described network that the mark of described network volume and described network roll up roll up and the logical address that described network is rolled up and memory node.
Optionally, this step also can be, when main frame is to network volume requester network volume, the information that described network is rolled up is sent to main frame by management node, or initiatively the information that described network is rolled up is sent to main frame by management node.
In the above-described embodiments, can also comprise:
Step S207: the first memory node sends logical address corresponding to each memory node respectively to each memory node, the mapping relations between the physical address making the logical address of each memory node record self and the storage space of distribution.Mapping relations between the physical address of the storage space of described logical address and distribution, for described each memory node when writing data, data can be write in storage space corresponding to physical address according to these mapping relations, or when read data, data can be read according to these mapping relations from storage space corresponding to physical address.
In the above-described embodiments, can also comprise:
Step S208: the corresponding relation recording logical address corresponding to each memory node and each memory node.
Concrete, the first memory node, after the logical address specifying described network volume, can record the corresponding relation of described network volume and described logical address of specifying, and the corresponding relation of logical address corresponding to each node and each memory node.Concrete, for table 1, can roll up with network described in the mark unique identification of network volume, and adopt the mark and logical address that described in the form record of mapping table, network is rolled up, and the corresponding relation of the memory node at each logical address place.
Table 1
In the above-described embodiments, can also comprise:
Step S209: determine to create the memory node needed for described network volume according to the information that described network is rolled up.
When in step 201 first network volume request to create carry network volume information comprise RAID type information and network volume size information, and when not comprising the information of memory node, then described first memory node can be determined to create the memory node needed for described network volume according to the size information of RAID type information and network volume.
For example, the RAID type of described network volume is the RAID 5 of " 4+1 ", then the first memory node needs from multiple memory node, select 5 memory nodes, wherein, 4 memory nodes are for storing the data to be written of carrying in write data requests, and 1 memory node is for storing the checking data of described data to be written.It should be noted that, when receiving write data requests, need data to be written to be carried out cutting and obtain 4 slice of datas, described 4 memory nodes store 4 slice of datas respectively.In addition, in embodiments of the present invention, according to the strategy of load balancing, the memory node for creating network volume can be selected.Such as, if the size information of described network volume is 20M, then for the RAID 5 of " 4+1 ", each memory node needs the storage space distributed to be 4M.Therefore, when selecting memory node, first needing to select free space to be greater than the memory node of 4M, secondly can select according to the busy extent of memory node, the memory node that prioritizing selection process service request is fewer.
Please refer to Fig. 3, Fig. 3 is the schematic flow sheet of a kind of date storage method of the embodiment of the present invention, and described date storage method can be applied within the storage system, and described storage system comprises main frame and multiple memory node, and as shown in Figure 3, described method comprises:
Step S301: target data cutting is at least two slice of datas by the first memory node in multiple memory node;
The memory node of receiving target data can be first memory node at network volume place, described target data is carried in the write data requests that receives of the first memory node, and target data cutting is at least two slice of datas according to the length of RAID type and target data by the first memory node by the target data received.
Step S302: the checking data of at least two slice of datas described in calculating, for described checking data distributes verification address;
Concrete, the checking data of at least two slice of datas described in can calculating according to RAID type, and distribute verification address according to checking data.
Step S303: the data address determining each slice of data;
In embodiments of the present invention, memory address and the data length of target data can also be carried in write data requests, described memory address is the initial logical address storing described target data, can determine the one section of continuous print logical address storing described target data according to described memory address and data length.After carrying out cutting to target data, equally also need to divide memory address, obtain the logical address of the storage slice of data of each memory node, in embodiments of the present invention, the logical address storing slice of data can be called data address.
Step S304: determine the memory node that each slice of data is corresponding according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
First memory node can determine with the corresponding relation of memory node the memory node that each slice of data is corresponding according to the described data address of preserving in advance, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address.
Step S305: send the first write data requests to the memory node that each slice of data is corresponding, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address;
In embodiments of the present invention, the mapping relations between logical address and physical address can be preserved in each memory node, receive again after slice of data, can according to the mapping relations between logical address and physical address, write by slice of data in storage space corresponding to physical address, the logical address that slice of data is corresponding in step S305 is data address.
Step S306: send the second write data requests to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In embodiments of the present invention, the mapping relations between logical address and physical address can be preserved in each memory node, receive again after checking data, can according to the mapping relations between logical address and physical address, write by checking data in storage space corresponding to physical address, the logical address that checking data is corresponding in step S306 is verification address.
In embodiments of the present invention, target data cutting is at least two slice of datas by the first memory node, calculate the checking data of at least two slice of datas, slice of data and checking data are stored in each memory node, therefore data redundancy is achieved, even if when one of them memory node breaks down, the data that the memory node that the slice of data stored in other memory node and checking data also can be utilized to recover break down stores, therefore ensure that data reliability.
Please refer to Fig. 4, Fig. 4 is the schematic flow sheet of the another kind of date storage method of the embodiment of the present invention, and as shown in Figure 4, described method comprises:
Step S401: the first memory node in multiple memory node receives the write data requests A that described main frame sends, write data request A comprise mark, memory address, data length and the target data that network is rolled up.
In embodiments of the present invention, user can select the network volume storing data by the drive (such as: D dish or E dish) on main frame, mark (such as: No. ID) unique identification that each network volume can be rolled up with network, and the corresponding relation preserved in main frame between the mark of network volume and the first memory node of rolling up of described network, therefore, the mark of the network volume that main frame can be selected by user determines the first memory node that described network is rolled up, and sends write data requests A to described first memory node.
Write data request A can comprise: the information such as mark, memory address, data length and target data that network is rolled up.
Memory address refers to the logical address of target data to be stored, and on each memory node of storage system, an all corresponding one section of physical address of logical address, target data is finally write in storage space corresponding to physical address.Data length refers to the length of target data.
Step S402: be at least two slice of datas by described target data cutting according to RAID type and described data length, described RAID type is that the mark of rolling up according to described network is determined.
Because described network volume is created by described first memory node in advance, the corresponding relation between the mark of described network volume and the described network RAID type of rolling up can be preserved in described first memory node, therefore, the mark that the first memory node can be rolled up according to described network determines the RAID type that described network is rolled up.Then, be at least two slice of datas according to RAID type and described data length by described target data cutting.
Step S403: the checking data of at least two slice of datas described in calculating according to described RAID type.
For example, the parity information of at least two slice of datas described in can calculating, using the checking data of described parity information as described at least two slice of datas, be stored on different memory nodes respectively, when one of them slice of data is damaged, the slice of data and the described impaired data of checking data recovery that are not damaged can be utilized.
Step S404: the data address determining each slice of data according to described memory address and described data length, for described checking data distributes verification address.
In embodiments of the present invention, described memory address is the initial logical address storing described target data, can determine the one section of continuous print logical address storing described target data according to described memory address and data length.After carrying out cutting to target data, equally also need to divide memory address, obtain the logical address of the storage slice of data of each memory node, in embodiments of the present invention, the logical address storing each slice of data can be called data address.
But verification address is not carry in write data requests A, but distributed by the first memory node.It should be noted that, embodiment is as shown in Figure 2 known, and the first memory node is when creating described network volume, and the storage space rolled up for described network specifies one section of logical address, and wherein, described logical address comprises data address and verification address.For main frame, verification address is sightless, and therefore, verification address can be distributed by the first memory node.
It should be noted that, determine the data address of each slice of data according to described memory address and described data length, and there is no dividing of sequencing for described checking data distributes between verification address.
Step S405: determine the memory node that each slice of data is corresponding according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address.
First memory node can determine with the corresponding relation of memory node the memory node that each slice of data is corresponding according to the described data address of preserving in advance, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address.Concrete, its corresponding relation can the mapping table shown in reference table 1.
Step S406: the memory node corresponding to each slice of data sends write data requests B, write data request B comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address.
For the RAID 5 of " 4+1 " type, described target data needs to be cut into four slice of datas, and calculate a checking data of described four slice of datas, after the data address of acquisition four slice of datas and the data address of a checking data, can send write data requests B respectively to four memory nodes that the data address of four slice of datas is corresponding, write data request B comprises slice of data and data address.
After the back end that the data address of four slice of datas is corresponding receives write data requests B, according to the corresponding relation between data address and physical address, slice of data can be write in storage space corresponding to physical address.
It should be noted that, if described first memory node inherently stores the memory node of one of them slice of data, so the first memory node only needs to send write data requests B to other three memory nodes.
Step S407: the memory node corresponding to checking data sends write data requests C, write data request C comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In embodiments of the present invention, checking data can be one or more, and it also can be one or more for therefore verifying memory node corresponding to address and verification address.Such as, when RAID type is RAID5, checking data is one; When RAID type is RAID 6, checking data is two.
Dividing of sequencing is not had between step S407 and step S406.
In embodiments of the present invention, after the write data requests A that first memory node sends at Receiving Host, be at least two slice of datas according to RAID type and data length by target data cutting, calculate the checking data of at least two slice of datas, slice of data and checking data are stored in each memory node, therefore data redundancy is achieved, even if when wherein the first memory node breaks down, the data that the memory node that the slice of data stored in other memory node and checking data also can be utilized to recover break down stores, therefore ensure that data reliability.
Can also comprise in the above-described embodiments:
Step S408: receive the read data request A that described main frame sends, described read data request A comprises described memory address and described data length, and described first read data request is for reading described target data.
Step S409: the data address determining each slice of data that described target data comprises according to described memory address and described data length.
Concrete, determine the step of the data address of each slice of data and step S404 similar, repeat no more here.
Step S410: determine the memory node that each slice of data is corresponding according to described data address and the corresponding relation of memory node.
Concrete, determine the step of the memory node that each slice of data is corresponding and step S405 similar, repeat no more here.
Step S411: the memory node corresponding to each slice of data sends read data request B, described read data request B comprises the data address of slice of data, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, from the storage space that described physical address is corresponding, read described slice of data and send to described first memory node.
Step S412: receive the slice of data that memory node corresponding to each slice of data sends, be merged into described target data and send to described main frame.
When wherein the first memory node is at reading slice of data, find that this slice of data damages, then can send error reporting to the first memory node, other memory nodes that first memory node can indicate described network to roll up read the slice of data be not damaged and the checking data of described target data, with the slice of data be damaged described in recovering.
In another embodiment, regularly can initiatively check that described network is rolled up the slice of data stored in each memory node at place and whether is damaged by the first memory node, if so, mode above can be adopted to recover the slice of data be damaged.
Please refer to Fig. 5, Fig. 5 is the structural representation of a kind of memory device 50 of the embodiment of the present invention, and as shown in Figure 5, described memory device comprises:
Receiver module 501, for the first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
Management node first network can be rolled up request to create send to any first memory node in multiple memory node, this memory node to receive first network volume request to create after can by amendment setup of attribute by oneself becoming the first memory node.
The information of network volume can be the size information of RAID type information and network volume, wherein, RAID type information can be RAID type well-known to those skilled in the art, such as: conventional RAID5, RAID6 etc. also can be the redundancy types of upper correction code, such as: Erasure Code10+2,9+3,8+4 etc.The size information of network volume refers to the size of the storage space included by described network volume.It should be noted that, the memory device in the embodiment of the present invention can regard as the first memory node.
In another embodiment, the information of network volume can also comprise the information of memory node, is used to indicate the memory node created needed for described network volume.
Optionally, the information of network volume can also comprise the mark of network volume.
Determination module 502, the size information for rolling up according to described RAID type information and described network determines the size of the storage space that each memory node in the multiple memory nodes needed for described network volume is to be allocated;
Concrete, the size information that determination module 502 can be rolled up according to RAID type information and network, determines the storage space that each memory node is to be allocated.For example, RAID type information is the RAID 5 of " 4+1 ", and wherein, four memory nodes are for storing the data to be written of carrying in write data requests, and the first memory node is for storing the checking data of described data to be written.It should be noted that, when receiving write data requests, need data to be written to be carried out cutting and obtain four slice of datas, described four slice of datas are stored in four memory nodes respectively.For another example, the size information of network volume is 20M, then the storage space that each memory node is to be allocated is 4M.
Sending module 503, for sending second network volume request to create respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
When the information of the network volume that first network volume request to create is carried comprises memory node information, described memory node information is used to indicate the memory node created needed for described network volume, then directly can determine by memory node information the memory node created needed for described network volume from the memory node that described storage system comprises.
After sending module 503 sends second network volume request to create respectively to each memory node, the memory node receiving second network volume request to create can scan the storage space of oneself, and the storage space marking off 4M is supplied to described network volume.
If memory allocation success, memory node will return the response message of described second network volume request to create, and described response message is used to indicate memory allocation success.Optionally, the physical address of the storage space of distribution can also be comprised in described response message.
Address designated module 504, specifies for the storage space distributed for each memory node the logical address that each memory node is corresponding;
Concrete, return the response message of described second network volume request to create at each memory node after, address designated module 504 is to give the volume appointment of described network one section of continuous print logical address, the storage space rolled up due to described network is distributed on multiple memory node, therefore the corresponding one section of logical address of the storage space of each memory node.Also can be that the storage space distributed for each memory node specifies the logical address that each memory node is corresponding, logical address corresponding for each memory node being combined be exactly the logical address that described network is rolled up.It should be noted that, described logical address can comprise data address and verification address, and wherein, data address is for storing the data to be written in write data requests, and verification address is for storing the checking data of data to be written.For example, data address can be VB-0, VB-1, VB-2, VB-3, VB-4, VB-5, and verification address can be P-0, P-1, P-2, P-3 etc.
Further, be the RAID5 of " 4+1 " for described network volume, rolling up the logical address of specifying for described network can be VB-0, VB-1, VB-2, VB-3, and verification address can be P-0.
Described sending module 503, also for sending the response message of described first network volume request to create to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
Concrete, the logical address of carrying in the response message of first network volume request to create can be data address, and for example, data address can be VB-0, VB-1, VB-2, VB-3.
Optionally, the response message of described first network volume request to create can also comprise the mark of described network volume, so that management node can record and preserve the corresponding relation of the information such as RAID type information that the mark of described network volume and described network roll up and the size information that described network is rolled up.It should be noted that, the mark of network volume here can be send to the first network of described memory device to roll up in request to create at main frame to carry, also can be generated by described memory device.
In the embodiment of the present invention, memory device is after the first network that receiving management node sends rolls up request to create, determine the storage space that each memory node is to be allocated, sending second network volume request to create to each memory node makes each memory node can roll up request to create memory allocated space according to second network, memory device specifies logical address to each memory node memory allocated space, and logical address is sent to management node, management node is known, and network volume creates successfully, and the logical address of this network volume.With this, achieve the establishment of network volume.
In the above-described embodiments, determination module 502, can also be used for the size information according to described RAID type information and described network volume, determine to create the described multiple memory node needed for described network volume.Alternatively, the information of described network volume also comprises memory node information, described memory node information is used to indicate the described multiple memory node created needed for described network volume, then determination module 502, can also be used for according to described memory node information, determine to create the described multiple memory node needed for described network volume.
When first network volume request to create carry network volume information comprise RAID type information and network volume size information, and when not comprising the information of memory node, then described memory device can determine to create the memory node needed for described network volume according to the size information of RAID type information and network volume; When the information of the network volume that first network volume request to create is carried comprises the information of memory node, then can determine to create the memory node needed for described network volume according to the information of memory node.
For example, the RAID type of described network volume is the RAID 5 of " 4+1 ", then described memory device needs from multiple memory node, select 5 memory nodes, wherein, 4 memory nodes are for storing the data to be written of carrying in write data requests, and 1 memory node is for storing the checking data of described data to be written.It should be noted that, when receiving write data requests, need data to be written to be carried out cutting and obtain 4 slice of datas, described 4 memory nodes store 4 slice of datas respectively.In addition, in embodiments of the present invention, according to the strategy of load balancing, the memory node for creating network volume can be selected.Such as, if the size information of described network volume is 20M, then for the RAID 5 of " 4+1 ", each memory node needs the storage space distributed to be 4M.Therefore, when selecting memory node, first needing to select free space to be greater than the memory node of 4M, secondly can select according to the busy extent of memory node, the memory node that prioritizing selection process service request is fewer.
Alternatively, described sending module 503, also for logical address corresponding for described each memory node is sent to described each memory node respectively, make the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.Mapping relations between the physical address of the storage space of described logical address and distribution, for described each memory node when writing data, data can be write in storage space corresponding to physical address according to these mapping relations, or when read data, data can be read according to these mapping relations from storage space corresponding to physical address.
Alternatively, described memory device can also comprise logging modle 505, for recording and preserving the corresponding relation of logical address corresponding to described each memory node and described each memory node.
Concrete, described memory device, after the logical address specifying described network volume, can record the corresponding relation of described network volume and described logical address of specifying, and the corresponding relation of logical address corresponding to each node and each memory node.
Alternatively, in the above-described embodiments, described logical address can comprise data address, and the response message of described first network volume request to create specifically comprises: the data address of described network volume.
Alternatively, in the above-described embodiments, the response message of described second network volume request to create can comprise: the physical address of the storage space of distribution.
Described address designated module 504, specifically for the physical address of the storage space according to described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
Please refer to Fig. 6, Fig. 6 is the structural representation of a kind of memory device of the embodiment of the present invention, and as shown in Figure 6, described memory device comprises:
Cutting module 601, for being at least two slice of datas by target data cutting;
Described target data is carried in the write data requests that receives of described memory device, and target data cutting is at least two slice of datas according to the length of RAID type and target data by memory device by the target data received.
Computing module 602, for the checking data of at least two slice of datas described in calculating, is that described checking data distributes verification address;
Concrete, the checking data of at least two slice of datas described in can calculating according to RAID type, and distribute verification address according to checking data.
Determination module 603, for determining the data address of each slice of data; The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
In embodiments of the present invention, memory address and the data length of target data is also carried in write data requests, described memory address is the initial logical address storing described target data, can determine the one section of continuous print logical address storing described target data according to described memory address and data length.After carrying out cutting to target data, equally also need to divide memory address, obtain the logical address of the storage slice of data of each memory node, in embodiments of the present invention, the logical address storing slice of data can be called data address.
Memory device can determine with the corresponding relation of memory node the memory node that each slice of data is corresponding according to the described data address of preserving in advance, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address.
Sending module 604, the first write data requests is sent for the memory node corresponding to each slice of data, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address; The second write data requests is sent to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In embodiments of the present invention, the mapping relations between logical address and physical address can be preserved in each memory node, here logical address can be data address or verification address, receive again after slice of data, can according to the mapping relations between data address and physical address, slice of data is write in storage space corresponding to physical address, according to the mapping relations between verification address and physical address, checking data is write in storage space corresponding to physical address.
In embodiments of the present invention, target data cutting is at least two slice of datas by memory device, calculate the checking data of at least two slice of datas, slice of data and checking data are stored in each memory node, therefore data redundancy is achieved, even if when one of them memory node breaks down, the data that the memory node that the slice of data stored in other memory node and checking data also can be utilized to recover break down stores, therefore ensure that data reliability.
In the above-described embodiments, memory device can also comprise receiver module 605;
Described receiver module 605, for the 3rd write data requests that Receiving Host sends, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up;
According to RAID type and described data length, target data cutting can be at least two slice of datas by cutting module 601, and described RAID type is that the mark of rolling up according to described network is determined.
Optionally, the 3rd write data requests can also comprise memory address;
Described determination module 603, specifically for determining the data address of each slice of data according to described memory address and described data length.
Optionally, described receiver module 605, also for receiving the first read data request that described main frame sends, described first read data request comprises described memory address and described data length, and described first read data request is for reading described target data;
Described determination module 603, also for determining the data address of each slice of data that described target data comprises according to described memory address and described data length; The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node;
Described sending module 604, also send the second read data request for the memory node corresponding to each slice of data, described second read data request comprises the data address of slice of data, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, from the storage space that described physical address is corresponding, read described slice of data and send to described first memory node;
Described receiver module 605, also for receiving the slice of data that memory node corresponding to each slice of data sends, being merged into described target data and sending to described main frame.
Please refer to Fig. 7 A, Fig. 7 A is the structural representation of a kind of storage system of the embodiment of the present invention, and described storage system comprises management node 701, memory node 702; It should be noted that, memory node 702 is also known as memory device in embodiments of the present invention.
Described management node 701, for sending first network volume request to create to the first memory node in described multiple memory node, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume.
Described first memory node 702, for receiving the first network volume request to create that described management node 701 sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume; The size of the storage space that each memory node 702 in described multiple memory node is to be allocated is determined according to the size information of described RAID type information and described network volume; Second network volume request to create is sent respectively to described each memory node 702, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated; The storage space distributed for each memory node specifies the logical address that each memory node is corresponding; The response message of described first network volume request to create is sent to described management node 701, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
In the embodiment of the present invention, first memory node 702 is after the first network that receiving management node 701 sends rolls up request to create, determine the storage space that each memory node is to be allocated, sending second network volume request to create to each memory node 702 makes each memory node can roll up request to create memory allocated space according to second network, first memory node 702 specifies logical address to each memory node memory allocated space, and logical address is sent to management node, management node 701 is known, and network volume creates successfully, and the logical address of this network volume.With this, achieve the establishment of network volume.
Please refer to Fig. 7 B, Fig. 7 B is the structural representation of a kind of storage system of the embodiment of the present invention, and described storage system comprises main frame 703, memory node 702; It should be noted that, memory node 702 is also known as memory device in embodiments of the present invention.
Described memory node 702, for being at least two slice of datas by target data cutting; The checking data of at least two slice of datas described in calculating, for described checking data distributes verification address; Determine the data address of each slice of data; The memory node 702 that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node 702, and the memory node corresponding with the corresponding relation determination checking data of memory node 702 according to described verification address; The memory node 702 corresponding to each slice of data sends the first write data requests, described first write data requests comprises slice of data and data address, make memory node 702 that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address; The memory node 702 corresponding to checking data sends the second write data requests, described second write data requests comprises checking data and verification address, make memory node 702 that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
Described main frame 703, for sending the 3rd write data requests to described memory device 702, described 3rd write data requests comprises mark, data length and the described target data that network is rolled up
In embodiments of the present invention, target data cutting is at least two slice of datas by the first memory node 702, calculate the checking data of at least two slice of datas, slice of data and checking data are stored in each memory node, therefore data redundancy is achieved, even if when one of them memory node breaks down, the data that the memory node that the slice of data stored in other memory node and checking data also can be utilized to recover break down stores, therefore ensure that data reliability.
Please refer to Fig. 8, embodiments provide a kind of schematic diagram of memory device 800.Memory device 800 can comprise the known memory device of current techniques, and the specific embodiment of the invention does not limit the specific implementation of memory device 800.Memory device 800 comprises:
Processor (processor) 810, communication interface (Communications Interface) 820, storer (memory) 830, communication bus 840.
Processor 810, communication interface 820, storer 830 completes mutual communication by communication bus 840.
Communication interface 820, for net element communication, such as with the communication such as main frame or switch.
Processor 810, for executive routine 832.
Particularly, program 832 can comprise program code, and described program code comprises computer-managed instruction.
Processor 810 may be a central processor CPU, or specific integrated circuit ASIC (Application Specific Integrated Circuit), or is configured to the one or more integrated circuit implementing the embodiment of the present invention.
Storer 830, for depositing program 832.Storer 830 may comprise high-speed RAM storer, still may comprise nonvolatile memory (non-volatile memory), such as at least one magnetic disk memory.
Program 832 specifically can comprise:
Receiver module 501, for the first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
Determination module 502, the size information for rolling up according to described RAID type information and described network determines the storage space that each memory node in the multiple memory nodes needed for described network volume is to be allocated;
Sending module 503, for sending second network volume request to create respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
Address designated module 504, specifies for the storage space distributed for each memory node the logical address that each memory node is corresponding;
Described sending module 503, also for sending the response message of described first network volume request to create to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
In program 832, the specific implementation of each module can corresponding module in embodiment shown in Figure 8, is not repeated herein.
Please refer to Fig. 9, embodiments provide a kind of schematic diagram of memory device 900.Memory device 900 can comprise the known memory device of current techniques, and the specific embodiment of the invention does not limit the specific implementation of memory device 900.Memory device 900 comprises:
Processor (processor) 910, communication interface (Communications Interface) 920, storer (memory) 930, communication bus 940.
Processor 910, communication interface 920, storer 930 completes mutual communication by communication bus 940.
Communication interface 920, for net element communication, such as with the communication such as main frame or switch.
Processor 910, for executive routine 932.
Particularly, program 932 can comprise program code, and described program code comprises computer-managed instruction.
Processor 910 may be a central processor CPU, or specific integrated circuit ASIC (Application Specific Integrated Circuit), or is configured to the one or more integrated circuit implementing the embodiment of the present invention.
Storer 930, for depositing program 932.Storer 930 may comprise high-speed RAM storer, still may comprise nonvolatile memory (non-volatile memory), such as at least one magnetic disk memory.
Program 932 specifically can comprise:
Cutting module 601, for being at least two slice of datas by target data cutting;
Computing module 602, for the checking data of at least two slice of datas described in calculating, is that described checking data distributes verification address;
Determination module 603, for determining the data address of each slice of data; The memory node that each slice of data is corresponding is determined according to described data address and the corresponding relation of memory node, and the memory node corresponding with the corresponding relation determination checking data of memory node according to described verification address;
Sending module 604, the first write data requests is sent for the memory node corresponding to each slice of data, described first write data requests comprises slice of data and data address, make memory node that described each slice of data is corresponding according to the mapping relations of data address and physical address, slice of data is write in storage space corresponding to physical address; The second write data requests is sent to the memory node that checking data is corresponding, described second write data requests comprises checking data and verification address, make memory node that described checking data is corresponding according to the mapping relations of verification address and physical address, checking data is write in storage space corresponding to physical address.
In program 932, the specific implementation of each module can corresponding module in embodiment shown in Figure 9, is not repeated herein.
Those skilled in the art can be well understood to, and for convenience and simplicity of description, the equipment of foregoing description and the specific works process of module, can describe with reference to the corresponding process in preceding method embodiment, not repeat them here.
In several embodiments that the application provides, should be understood that disclosed equipment and method can realize by another way.Such as, device embodiment described above is only schematic, such as, the division of described module, be only a kind of logic function to divide, actual can have other dividing mode when realizing, such as multiple module or assembly can in conjunction with or can be integrated in another equipment, or some features can be ignored, or do not perform.Another point, shown or discussed coupling each other or direct-coupling or communication connection can be by some communication interfaces, and the indirect coupling of device or module or communication connection can be electrical, machinery or other form.
The described module illustrated as separating component can or may not be physically separates, parts as module display can be or may not be physics submodule, namely can be positioned at a place, or also can be distributed in multiple network submodular.That can select wherein according to the actual needs is some or all of, and module realizes the object of the present embodiment scheme.
In addition, each functional module in each embodiment of the present invention can be integrated in a processing module, also can be that the independent physics of modules exists, also can two or more module integrations in a module.
One of ordinary skill in the art will appreciate that all or part of step realizing above-described embodiment can have been come by hardware, the hardware that also can carry out instruction relevant by program completes, described program can be stored in a kind of computer-readable recording medium, the above-mentioned storage medium mentioned can be ROM (read-only memory), disk or CD etc.
Last it is noted that above each embodiment is only in order to illustrate technical scheme of the present invention, be not intended to limit; Although with reference to foregoing embodiments to invention has been detailed description, those of ordinary skill in the art is to be understood that: it still can be modified to the technical scheme described in foregoing embodiments, or carries out equivalent replacement to wherein some or all of technical characteristic; And these amendments or replacement, do not make the essence of appropriate technical solution depart from the scope of various embodiments of the present invention technical scheme.

Claims (23)

1. a network volume creation method, it is characterized in that, described method is applied in storage system, and described storage system comprises a management node and multiple memory node, and described method comprises:
The first memory node in described multiple memory node receives the first network volume request to create that described management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
The size of the storage space that each memory node in described multiple memory node is to be allocated is determined according to the size information of described RAID type information and described network volume;
Second network volume request to create is sent respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
The storage space distributed for each memory node specifies the logical address that each memory node is corresponding;
The response message of described first network volume request to create is sent to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
2. method according to claim 1, is characterized in that, described method also comprises:
According to the size information that described RAID type information and described network are rolled up, determine to create the described multiple memory node needed for described network volume.
3. method according to claim 1, is characterized in that, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described method also comprises: according to described memory node information, determines to create the described multiple memory node needed for described network volume.
4. method according to claim 1, is characterized in that, also comprises:
Logical address corresponding for described each memory node is sent to described each memory node respectively, makes the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
5. method according to claim 3, is characterized in that, described storage system also comprises main frame, and described method also comprises:
The information of described network volume is sent to described main frame, and the logical address of described network volume.
6. method according to claim 1, is characterized in that, also comprises:
Record and preserve the corresponding relation of logical address corresponding to described each memory node and described each memory node.
7. method according to claim 1, is characterized in that, described logical address comprises data address;
The response message of described first network volume request to create specifically comprises: the data address of described network volume.
8. method according to claim 1, is characterized in that, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
The described storage space for each memory node distribution specifies logical address corresponding to each memory node specifically to comprise: according to the physical address of the storage space of described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
9. a memory device, is characterized in that, described memory device comprises:
Receiver module, for the first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
Determination module, the size information for rolling up according to described RAID type information and described network determines the size of the storage space that each memory node in the multiple memory nodes needed for described network volume is to be allocated;
Sending module, for sending second network volume request to create respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
Address designated module, specifies for the storage space distributed for each memory node the logical address that each memory node is corresponding;
Described sending module, also for sending the response message of described first network volume request to create to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
10. memory device according to claim 9, is characterized in that,
Described determination module, also for the size information according to described RAID type information and described network volume, determines to create the described multiple memory node needed for described network volume.
11. memory devices according to claim 9, is characterized in that, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described determination module, also for according to described memory node information, determines to create the described multiple memory node needed for described network volume.
12. memory devices according to claim 9, is characterized in that,
Described sending module, also for logical address corresponding for described each memory node is sent to described each memory node respectively, makes the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
13. memory devices according to claim 9, is characterized in that, also comprise logging modle;
Described logging modle, also for recording and preserving the corresponding relation of logical address corresponding to described each memory node and described each memory node.
14. memory devices according to claim 9, is characterized in that, described logical address comprises data address;
The response message of described first network volume request to create specifically comprises: the data address of described network volume.
15. memory devices according to claim 9, is characterized in that, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
Described address designated module, specifically for the physical address of the storage space according to described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
16. 1 kinds of storage systems, is characterized in that, described storage system comprises memory device as described in claim as arbitrary in claim 9-15 and management node;
Described management node, for sending first network volume request to create to the first memory node in described multiple memory node, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume.
17. 1 kinds of memory devices, is characterized in that, comprising: processor, storer and communication bus;
Wherein, described processor is communicated by described communication bus with described storer;
Described storer is used for save routine;
Described processor for performing described program, to realize:
The first network volume request to create that receiving management node sends, described first network volume request to create comprises the information of network volume, and the information of described network volume comprises the size information of RAID type information and described network volume;
The size of the storage space that each memory node in multiple memory node is to be allocated is determined according to the size information of described RAID type information and described network volume;
Second network volume request to create is sent respectively to described each memory node, described second network volume request to create comprises the size of described each memory node storage space to be allocated, makes described each memory node be described network volume memory allocated space according to the size of described each memory node storage space to be allocated;
The storage space distributed for each memory node specifies the logical address that each memory node is corresponding;
The response message of described first network volume request to create is sent to described management node, the response message of described first network volume request to create comprises: the logical address of described network volume, and the logical address of described network volume comprises logical address corresponding to described each memory node.
18. memory devices according to claim 17, is characterized in that,
Described processor, also for the size information according to described RAID type information and described network volume, determines to create the described multiple memory node needed for described network volume.
19. memory devices according to claim 17, is characterized in that, the information of described network volume also comprises memory node information, and described memory node information is used to indicate the described multiple memory node created needed for described network volume;
Described processor, also for according to described memory node information, determines to create the described multiple memory node needed for described network volume.
20. memory devices according to claim 17, is characterized in that,
Described processor, also for logical address corresponding for described each memory node is sent to described each memory node respectively, makes the mapping relations between the described logical address of each memory node record self and the physical address of the storage space of distribution.
21. memory devices according to claim 17, is characterized in that,
Described processor, also for recording and preserving the corresponding relation of logical address corresponding to described each memory node and described each memory node.
22. memory devices according to claim 17, is characterized in that, described logical address comprises data address;
The response message of described first network volume request to create specifically comprises: the data address of described network volume.
23. memory devices according to claim 17, is characterized in that, the response message of described second network volume request to create comprises: the physical address of the storage space of distribution;
Described processor, specifically for the physical address of the storage space according to described distribution, the storage space distributed for each memory node specifies the logical address that each memory node is corresponding.
CN201380000748.5A 2013-06-26 2013-06-26 Method for creating network volumes, data storage method, storage device and storage system Active CN103608784B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410428740.5A CN104216664B (en) 2013-06-26 2013-06-26 Network volume creation method, date storage method, storage device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077985 WO2014205667A1 (en) 2013-06-26 2013-06-26 Network volume creating method, data storage method, storage device and storage system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410428740.5A Division CN104216664B (en) 2013-06-26 2013-06-26 Network volume creation method, date storage method, storage device and storage system

Publications (2)

Publication Number Publication Date
CN103608784A CN103608784A (en) 2014-02-26
CN103608784B true CN103608784B (en) 2015-06-10

Family

ID=50126068

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000748.5A Active CN103608784B (en) 2013-06-26 2013-06-26 Method for creating network volumes, data storage method, storage device and storage system

Country Status (2)

Country Link
CN (1) CN103608784B (en)
WO (1) WO2014205667A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923969B2 (en) * 2015-08-05 2018-03-20 Futurewei Technologies, Inc. Large-scale storage and retrieval of data with well-bounded life
CN105138281B (en) * 2015-08-05 2018-12-07 华为技术有限公司 A kind of sharing method and device of physical disk
CN107436725B (en) 2016-05-25 2019-12-20 杭州海康威视数字技术股份有限公司 Data writing and reading methods and devices and distributed object storage cluster
CN106325779A (en) * 2016-08-31 2017-01-11 浪潮电子信息产业股份有限公司 Design scheme of SAS Switch/JBOD topology
CN111654519B (en) 2017-09-06 2024-04-30 华为技术有限公司 Method and device for transmitting data processing requests
CN111367461B (en) * 2018-12-25 2024-02-20 兆易创新科技集团股份有限公司 Storage space management method and device
CN111381766B (en) * 2018-12-28 2022-08-02 杭州海康威视系统技术有限公司 Method for dynamically loading disk and cloud storage system
CN109976669B (en) * 2019-03-15 2023-07-28 百度在线网络技术(北京)有限公司 Edge storage method, device and storage medium
CN111399764B (en) * 2019-12-25 2023-04-14 杭州海康威视系统技术有限公司 Data storage method, data reading device, data storage equipment and data storage medium
CN116893789B (en) * 2023-09-08 2024-01-19 苏州浪潮智能科技有限公司 Data management method, system, device, equipment and computer storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
CN102945139A (en) * 2011-09-12 2013-02-27 微软公司 Storage device drivers and cluster participation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287121B2 (en) * 2003-08-27 2007-10-23 Aristos Logic Corporation System and method of establishing and reconfiguring volume profiles in a storage system
CN101291347B (en) * 2008-06-06 2010-12-22 中国科学院计算技术研究所 Network storage system
US8327080B1 (en) * 2010-09-28 2012-12-04 Emc Corporation Write-back cache protection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
CN102945139A (en) * 2011-09-12 2013-02-27 微软公司 Storage device drivers and cluster participation

Also Published As

Publication number Publication date
CN103608784A (en) 2014-02-26
WO2014205667A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN103608784B (en) Method for creating network volumes, data storage method, storage device and storage system
US10001947B1 (en) Systems, methods and devices for performing efficient patrol read operations in a storage system
CN110413201B (en) Method, apparatus and computer program product for managing a storage system
EP3617867B1 (en) Fragment management method and fragment management apparatus
CN103534688B (en) Data reconstruction method, memory device and storage system
CN103797770B (en) A kind of method and system of shared storage resources
CN103064765B (en) Data reconstruction method, device and cluster storage system
CN103250143B (en) Data storage method and storage device
US8261016B1 (en) Method and system for balancing reconstruction load in a storage array using a scalable parity declustered layout
CN104216664A (en) Network volume creating method, data storage method, storage equipment and storage system
KR102414500B1 (en) Intelligent data placement
US20190317682A1 (en) Metrics driven expansion of capacity in solid state storage systems
US9542126B2 (en) Redundant array of independent disks systems that utilize spans with different storage device counts for a logical volume
US10365845B1 (en) Mapped raid restripe for improved drive utilization
US20180260154A1 (en) Selectively storing data into allocations areas using streams
CN108052655A (en) Data write and read method
CN107463342B (en) CDN edge node file storage method and device
CN103761190A (en) Data processing method and apparatus
CN111124250B (en) Method, apparatus and computer program product for managing memory space
US10521145B1 (en) Method, apparatus and computer program product for managing data storage
US7689767B2 (en) Method to detect and suggest corrective actions when performance and availability rules are violated in an environment deploying virtualization at multiple levels
US10664392B2 (en) Method and device for managing storage system
US11520512B2 (en) Method for storage management, electronic device and computer program product
CN110134338A (en) A kind of distributed memory system and its data redundancy protection method and relevant device
CN103761059A (en) Multi-disk storage method and system for mass data management

Legal Events

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