CN104571960B - I/O request dispensing device and method, main frame, storage array and computer system - Google Patents

I/O request dispensing device and method, main frame, storage array and computer system Download PDF

Info

Publication number
CN104571960B
CN104571960B CN201410849910.7A CN201410849910A CN104571960B CN 104571960 B CN104571960 B CN 104571960B CN 201410849910 A CN201410849910 A CN 201410849910A CN 104571960 B CN104571960 B CN 104571960B
Authority
CN
China
Prior art keywords
lun
request
sub
controller
storage array
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
CN201410849910.7A
Other languages
Chinese (zh)
Other versions
CN104571960A (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 CN201410849910.7A priority Critical patent/CN104571960B/en
Publication of CN104571960A publication Critical patent/CN104571960A/en
Application granted granted Critical
Publication of CN104571960B publication Critical patent/CN104571960B/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/061Improving I/O performance
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Abstract

The present invention relates to field of computer technology, more particularly to a kind of I/O request dispensing device and method, main frame, storage array and computer system, to solve the problem of frequently forwarding I/O request in existing I/O request distribution approach between controller, storage array performance is low.I/O request dispensing device provided in an embodiment of the present invention is after the first I/O request is received, determine the sub- LUN on the first I/O request specified LUN to be accessed, for the sub- LUN of each determination, determine in storage array, the controller of the sub- LUN ownership, and the second I/O request of the sub- LUN is accessed according to the first I/O request of reception, generation;The second I/O request for accessing the sub- LUN is sent to the controller of sub- LUN ownership.By the device, the I/O request for accessing each sub- LUN is distributed to the controller of ownership respectively, so as to avoid frequent forwarding I/O request between controller, improves the performance and I/O request treatment effeciency of storage array.

Description

I/O request dispensing device and method, main frame, storage array and computer system
Technical field
The present invention relates to field of computer technology, more particularly to a kind of input and output (Input Output, IO) request point Transmitting apparatus and method, main frame, storage array and computer system.
Background technology
Storage array provides LUN (Logical Unit Number, LUN) for main frame and is used as block storage object. With developing rapidly for large-scale application, the requirement more and more higher to storage array, there is multi-controller memory array.More controls Device storage array processed includes multiple controllers, and multiple controllers can be directed to different LUN I/O request with concurrently receive main frame. How rationally to distribute I/O request, accomplish to take into account multiple controllers equilibriums and data consistency, need weight when being storage array design The problem of point considers.
A kind of scheme of existing controller distribution host I/O request includes:In advance by the control of each LUN specified homes Device, it is forwarded to for some LUN I/O request to be handled on the preassigned home control devices of the LUN.
By taking the storage array 10 shown in Fig. 1 as an example, the storage array 10 includes 4 controllers, respectively node (Node) 0 ~Node3;And 7 LUN0~LUN7.LUN0 and LUN3 home control device is Node0, LUN1 and LUN2 home control Device is that Node1, LUN5 and LUN7 home control device are that Node2, LUN4 and LUN6 home control device is Node3.
Wherein, logical block addresses (Logical Block Address, LBA) are 7 data block in LUN2, and The data block that LBA is 10 in LUN4 is stored on hard disk shared domain A.LBA is 1 data block in LUN0, and the LBA in LUN1 It is stored in for 3 data block on hard disk shared domain B.
Wherein, hard disk shared domain is the set of multiple hard disks, and the I/O request for accessing the data on these hard disks is divided The controller of hair can directly access these hard disks, the forwarding without other controllers.
It is that controller receives the I/O request for some LUN, but the LUN does not belong to using a problem of the program In this controller, then need for the I/O request to be transmitted to the controller of LUN ownership, that is, need the I/O request between controller to turn Hair.Such as:Node2 needs the I/O request for accessing LUN1 being transmitted to Node1 in Fig. 1, and Node0 needs please by the IO for accessing LUN2 Ask and be transmitted to Node1.
The scheme of existing another controller distribution host I/O request includes:LUN is divided into smaller block, according to pre- The algorithm first set is distributed to each controller by each piece and handled.
By taking the storage array 20 shown in Fig. 2 as an example, the storage array 20 includes 4 controllers, respectively node (Node) 0 ~Node3.In order to simply illustrate, LUN0 is only included in storage array 20, LUN0 is divided into multiple smaller data blocks:Wherein, LBA%4=0 data block belongs to Node0 in LUN0, and LBA%4=1 data block belongs to Node1 in LUN0, in LUN0 LBA%4=2 data block belongs to Node2, and LBA%4=3 data block belongs to Node3 in LUN0.Belong to certain node Data block be stored in hard disk shared domain belonging to the node simultaneously.
In the program, although the data block that a LUN is divided into smaller particle size is distributed to multiple controller processing, but still deposit I/O request forwarding between substantial amounts of controller.Such as:It is 10 data block that Node3, which needs to access LBA in LUN0, in Fig. 2 I/O request is transmitted to Node2, and Node1 needs the I/O request by the LBA accessed in LUN0 the data blocks for being 3 to be transmitted to Node3, Node2 needs the IP for accessing the data block that LBA in LUN0 is 13 being transmitted to Node1.
Above two scheme all deposits the situation for forwarding I/O request between the controllers, continually forwards I/O request seriously to drop The performance and I/O request treatment effeciency of low storage array.
The content of the invention
The embodiment of the present invention provides a kind of I/O request dispensing device and method, main frame, storage array and computer system, uses It is serious to reduce storage array performance and IO to solve frequently to forward I/O request between controller in existing I/O request distribution approach The problem of asking treatment effeciency.
In a first aspect, the embodiment of the present invention provides a kind of input and output I/O request dispensing device, including:
Transceiver module, for receiving the of the specified data block accessed on specified LUN LUN in storage array One input and output I/O request;
Processing module, the sub- LUN on the specified LUN to be accessed for determining first I/O request, wherein, it is described LUN address space is specified to be divided into more sub- LUN in advance;To be accessed for first I/O request of each determination Sub- LUN on the specified LUN, perform following operation:
Determine in the storage array, the controller of the sub- LUN ownership, the controller is used to that the IO of the sub- LUN will to be accessed Request is distributed to the hard disk for storing data in the sub- LUN;
According to first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
With reference in a first aspect, in the first possible implementation, the processing module is additionally operable to:
It is on the specified LUN according to default algorithm before the transceiver module receives first I/O request The controller of each sub- LUN distribution ownership.
With reference in a first aspect, in second of possible implementation, the processing module is additionally operable to:In the transmitting-receiving mould Before block receives first I/O request, at each controller in the storage array, the controller and ownership are obtained In the corresponding relation of each sub- LUN on the specified LUN of the controller;
The processing module is specifically used for:According to the corresponding relation for obtaining the sub- LUN and sub- LUN controllers belonged to, Determine the controller of the sub- LUN ownership.
With reference to the first possible implementation or second of possible implementation of first aspect, first aspect, In the third possible implementation, what the data storage in each sub- LUN in the storage array belonged in the sub- LUN In the hard disk that controller directly accesses.
With reference in a first aspect, or first aspect the first possible implementation into the third possible implementation It is any, in the 4th kind of possible implementation, described device is in the main frame for sending first I/O request;Or institute Device is stated to be located in the storage array.
Second aspect, the embodiment of the present invention provide a kind of main frame, including:Input and output I/O request sending module and first party Face, or the dress of the first possible implementation any offer into the third possible implementation of first aspect Put;
Wherein, receiving module transmission the first IO that the I/O request sending module is used for described device please Ask.
The third aspect, the embodiment of the present invention provide a kind of storage array, including:
In a first aspect, or first aspect the first possible implementation into the third possible implementation appoint A kind of device of offer.
Fourth aspect, the embodiment of the present invention provide a kind of computer system, including:Main frame and storage array,
The main frame includes input and output I/O request sending module, and in a first aspect, or the first of first aspect can The device of implementation any offer into the third possible implementation of energy;Wherein, the I/O request sends mould Block is used to send first I/O request to described device;The storage array is used to receive the main frame is sent described second I/O request;Or
The storage array include in a first aspect, or first aspect the first possible implementation to the third can The device of any offer in the implementation of energy;The main frame is used to send first I/O request to the storage array.
5th aspect, the embodiment of the present invention provide a kind of input and output I/O request distribution method, including:
Receive the first I/O request of the specified data block on the specified LUN LUN in access storage array;
The sub- LUN on the first I/O request specified LUN to be accessed is determined, wherein, the address of the specified LUN Space is divided into more sub- LUN in advance;
For the sub- LUN on first I/O request of each determination specified LUN to be accessed, following behaviour is performed Make:
Determine in the storage array, the controller of the sub- LUN ownership, the controller is used to that the IO of the sub- LUN will to be accessed Request is distributed to the hard disk for storing data in the sub- LUN;
According to first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
With reference to the 5th aspect, in the first possible implementation, before first I/O request is received, also wrap Include:
It is the controller that each sub- LUN distribution on the specified LUN belongs to according to default algorithm.
With reference to the 5th aspect, in second of possible implementation, before first I/O request is received, in addition to:
At each controller in the storage array, obtain the controller and belong to the finger of the controller Determine the corresponding relation of each sub- LUN on LUN;
Determine in the storage array, the controller of the sub- LUN ownership, including:
According to the corresponding relation for obtaining the sub- LUN and sub- LUN controllers belonged to, the control of the sub- LUN ownership is determined Device.
With reference to the 5th aspect, the 5th aspect the first possible implementation or second of possible implementation, In the third possible implementation,
The data storage in each sub- LUN in the storage array directly accesses in the sub- LUN controllers belonged to Hard disk in.
To sum up, in the embodiment of the present invention, by introducing I/O request dispensing device, I/O request is directly distributed to the control of ownership Device processed, so as to avoid the forwarding of the I/O request between controller, reduce the processing load of controller.
Brief description of the drawings
Fig. 1, Fig. 2 are the schematic diagram for distributing I/O request in storage array;
Fig. 3 A are the structural representation of the first computer system provided in an embodiment of the present invention;
Fig. 3 B are the structural representation of second of computer system provided in an embodiment of the present invention;
Fig. 4 is the structural representation of I/O request dispensing device provided in an embodiment of the present invention;
Fig. 5 is that LUN address spaces are divided into some sub- LUN in the embodiment of the present invention, and by sub- LUN mapping to controlling The schematic diagram of device;
Fig. 6 is the schematic diagram for distributing I/O request in the embodiment of the present invention one;
Fig. 7 is the schematic diagram for distributing I/O request in the embodiment of the present invention two;
Fig. 8 is the flow chart of I/O request distribution method provided in an embodiment of the present invention.
Embodiment
The embodiment of the present invention provides a kind of I/O request dispensing device and method, main frame, storage array and computer system, uses It is serious to reduce storage array performance and IO to solve frequently to forward I/O request between controller in existing I/O request distribution approach The problem of asking treatment effeciency.
I/O request dispensing device provided in an embodiment of the present invention, the finger on the specified LUN in receiving access storage array After the first I/O request for determining data block, the sub- LUN on the first I/O request specified LUN to be accessed is determined, it is true for each Fixed sub- LUN, is determined in storage array, the controller of the sub- LUN ownership, and is accessed according to the first I/O request of reception, generation The second I/O request of the sub- LUN;The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
By the device, the I/O request of the sub- LUN is accessed according to the I/O request generation for accessing specified LUN, each son will be accessed LUN I/O request is distributed to the controller of ownership respectively, so as to avoid frequent forwarding I/O request between controller, improves and deposits Store up the performance and I/O request treatment effeciency of array.
Below, the embodiment of the present invention is described in detail with reference to accompanying drawing.
First, computer system provided in an embodiment of the present invention is introduced, then introduces main frame provided in an embodiment of the present invention And storage array, finally introduce I/O request dispensing device provided in an embodiment of the present invention and method.
Fig. 3 A are the structural representation of the first computer system 31 provided in an embodiment of the present invention;Fig. 3 B are real for the present invention The structural representation of second of computer system 32 of example offer is provided.
The difference of computer system 31 and computer system 32 is, in the first computer system 31, the present invention is implemented The I/O request dispensing device 1000 for being used to carry out I/O request distribution that example provides is located in main frame 100, second of computer system In 32, I/O request dispensing device 1000 is located in storage array 200.
In addition, in computer system 31, main frame 100 also includes I/O request sending module 1001, the I/O request sending module 1001 are used to send the first of the specified data block specified in access storage array 200 on LUN to I/O request dispensing device 1000 I/O request;It is to send first I/O request from main frame 100 to I/O request dispensing device 1000 in computer system 32.
In two kinds of computer systems, I/O request dispensing device 1000 is used to form the first I/O request of reception after processing Second I/O request, then the controller being distributed in storage array 200, specific processing method is referring to below to I/O request distribution dress Put 1000 detailed description.
Below, the composition structure and operation principle of I/O request dispensing device 1000 are described in detail.
As shown in figure 4, I/O request dispensing device 1000 includes:
Transceiver module 1000a, for receiving first of the specified data block on the specified LUN in access storage array 200 I/O request;
Processing module 1000b, for determining the sub- LUN on the first I/O request specified LUN to be accessed;It is true for each Sub- LUN on the first fixed I/O request specified LUN to be accessed, perform following operation:
Determine in storage array 200, the controller of the sub- LUN ownership, the controller is used for please by the IO for accessing the sub- LUN Seek the hard disk being distributed to for storing data in the sub- LUN;
According to the first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
In the embodiment of the present invention, storage array 200 includes one or more LUN, and each LUN address space is pre- First it is divided into more sub- LUN, the data in different sub- LUN can be stored in same or different masses hard disk in storage array 200 On.
Also include one or more controllers in storage array 200, controller is used to the I/O request received being sent to this On the I/O request hard disk to be accessed.
In the embodiment of the present invention, each sub- LUN has the controller of ownership, and the controller is used to that the sub- LUN will to be accessed I/O request be distributed to hard disk for storing data in the sub- LUN.
Unlike the storage array shown in Fig. 1 and Fig. 2, in Fig. 1 and storage array shown in Fig. 2, a controller The I/O request for belonging to the distribution of other controllers may be received, now just needs the I/O request received being transmitted to other controls Device.In the embodiment of the present invention, by I/O request dispensing device 1000, the I/O request for accessing certain sub- LUN is distributed to the sub- LUN I/O request is directly distributed to hard disk by the controller of ownership, such controller can, the forwarding without other controllers.
First I/O request is to access the specified data block of the specified LUN on storage array 200, and in storage array 200, Each LUN is divided into more sub- LUN again, therefore I/O request dispensing device 1000 is needed at the first I/O request to receiving Reason, it is converted into accessing each sub- LUN the second I/O request.
Such as:The LBA that first I/O request accesses the LUN1 on storage array 200 is LBA1, and length is specifying for Length Data block.LUN1 is divided into four sub- LUN, is respectively:Sub- LUN1, sub- LUN2, sub- LUN3 and sub- LUN4, above-mentioned first IO please Ask the specified data block to be accessed be distributed with the sub- LUN of aforementioned four, by following four sub- data chunks into:
Sub-block 1:The data block that the length that sub- LUN1 address is LBA1 is length1;
Sub-block 2:The data block that the length that sub- LUN2 address is LBA2 is length2;
Sub-block 3:The data block that the length that sub- LUN3 address is LBA3 is length3;
Sub-block 4:The data block that the length that sub- LUN4 address is LBA4 is length4.
For the sub- LUN of aforementioned four, following operation is performed respectively:
Determine in storage array 200, the controller of the sub- LUN ownership;
According to the first I/O request, generation accesses the second I/O request of the sub- LUN;
The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
Such as:For above-mentioned sub-block 4, the length that the sub- LUN4 of the second I/O request access address is LBA4 is Length4 data block.
In above-mentioned example, a LUN is divided into four sub- LUN, when product is realized, above-mentioned division side can be not limited to Formula, a usual LUN can be divided into many sub- LUN, and each controller corresponds to more sub- LUN.
Wherein, I/O request dispensing device 1000 can use the various ways for including following manner, determine the control of sub- LUN ownership Device processed:
Mode one
I/O request dispensing device 1000 can be returned in advance according to default algorithm for each sub- LUN distribution on the specified LUN The controller of category, such as:Control is distributed to according to the controller of sub- LUN numbering distribution ownership, such as the sub- LUN that numbering is odd number Device 1 processed, numbering are that the sub- LUN of even number distributes to controller 2.
Then I/O request dispensing device 1000 is after the first I/O request is received, can be according to when determining the controller of sub- LUN ownership The default algorithm of identical, determine the controller of sub- LUN ownership.
One schematic diagram of mode one refers to Fig. 5.In Fig. 5, each blockage represents a sub- LUN, in square The controller of the sub- LUN ownership of digitized representation.Node0~Node3 is each controller.
Mode two
I/O request dispensing device 1000 in advance at each controller in storage array 200, obtain the controller with Belong to each sub- LUN of controller corresponding relation;
Then I/O request dispensing device 1000, can be according to the sub- LUN obtained in advance and the son after the first I/O request is received The corresponding relation of the controller of LUN ownership, determine the controller of the sub- LUN ownership.
Further, the situation of the forwarding lower wall in Fig. 1 can be avoided in the following way:
What the data storage in each sub- LUN in storage array 200 directly accessed in the sub- LUN controllers belonged to , i.e., being capable of direct access hard disk without the forwarding of other controllers in hard disk.
In Fig. 1, because the data storage on LUN4 is on hard disk shared domain A, and LUN4 can not directly access hard disk share Domain A, thus controller Node3 need will access LUN4 on address be LBA10 I/O request by forwarding lower wall to issue hard disk Shared domain A.
, can be by the way that the data storage in sub- LUN be directly accessed in the sub- LUN controllers belonged in the embodiment of the present invention Hard disk or hard disk shared domain in, avoid forward lower wall.
Illustrated below by embodiment one and embodiment two.
【Embodiment one】
In embodiment one, I/O request dispensing device 1000 is located in storage array 200, shared for whole storage array 200 Front end I/O request interface arrangement.
After the I/O request that main frame 100 issues is issued to the I/O request dispensing device 1000 of the front end of storage array 200, by upper The controller that the default algorithm in mode one is distributed to each ownership is stated, after the controller processing of ownership, is sent directly to hard Disk, the forwarding I/O request between controller was not both needed, it is not required that lower wall is forwarded between controller.
Specifically, with reference to figure 6, there are tetra- controllers of Node0~Node3, I/O request dispensing device in storage array 200 1000 receive the I/O request for accessing LUN0 LBA as LBA0, it is determined that corresponding sub- LUN is the sub- LUN of LBA%4=0 in LUN0, And determining that the controller that the sub- LUN belongs to is Node0, then the I/O request is issued Node0 by I/O request dispensing device 1000, and LBA%4=0 data block is stored on hard disk shared domain A in LUN0, is owned, Node0 then can directly send out the I/O request received Give hard disk shared domain A.
Similarly, I/O request dispensing device 1000 also can be LBA3 to the LBA for accessing LUN0 I/O request, LUN0 is accessed LBA is LBA13 I/O request, and access LUN0 LBA is LBA10 I/O request progress forward process.
【Embodiment two】
In embodiment two, I/O request dispensing device 1000 is located in main frame 100.
I/O request is directly issued to home control device, in home control by main frame 100 by I/O request dispensing device 1000 After device processing, direct lower wall.Front and back end is without forwarding.
Specifically, with reference to figure 7, there are tetra- controllers of Node0~Node3, I/O request dispensing device in storage array 200 1000 determine the I/O request that the LBA for accessing LUN0 is LBA0, and the sub- LUN to be accessed is the sub- LUN of LBA%4=0 in LUN0, and The controller for determining sub- LUN ownership is Node0, then the I/O request is issued Node0 by I/O request dispensing device 1000, and LUN0 Middle LBA%4=0 data block is stored on hard disk shared domain A, is owned, Node0 then can directly issue the I/O request received firmly Disk shared domain A.
Similarly, I/O request dispensing device 1000 also can be LBA3 to the LBA for accessing LUN0 I/O request, LUN0 is accessed LBA is LBA13 I/O request, and access LUN0 LBA is LBA10 I/O request progress forward process.
Based on same inventive concept, the embodiment of the present invention additionally provides a kind of I/O request distribution method.This method solves to ask The principle of topic is identical with I/O request dispensing device 1000 provided in an embodiment of the present invention, and it implements the implementation that can refer to the device, Part is repeated to repeat no more.
With reference to figure 8, this method comprises the following steps:
S801:Receive the first I/O request of the specified data block on the specified LUN in access storage array;
S802:The sub- LUN on the first I/O request specified LUN to be accessed is determined, wherein, specified LUN address space quilt More sub- LUN are divided into advance;
S803:For the sub- LUN on the first I/O request of each determination specified LUN to be accessed, following operation is performed:
Determine in storage array, the controller of the sub- LUN ownership, the controller is used to that the I/O request of the sub- LUN will to be accessed It is distributed to the hard disk for storing data in the sub- LUN;
According to the first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
Alternatively, before step S801 receives the first I/O request, in addition to:
According to default algorithm, to specify the controller of each sub- LUN distribution ownership on LUN.
Alternatively, before step S801 receives the first I/O request, in addition to:
At each controller in storage array, obtain the controller and belong on the specified LUN of the controller Each sub- LUN corresponding relation;
Step S802 determined in storage array, the controller of sub- LUN ownership, including:
According to the corresponding relation for obtaining the sub- LUN and sub- LUN controllers belonged to, the control of the sub- LUN ownership is determined Device.
Alternatively, the data storage in each sub- LUN in storage array is directly visited in the sub- LUN controllers belonged to In the hard disk asked.
To sum up, in the embodiment of the present invention, by introducing I/O request dispensing device 1000, I/O request is directly distributed to belong to Controller, so as to avoid the forwarding of the I/O request between controller, reduce the processing load of controller.
It should be understood by those skilled in the art that, embodiments of the invention can be provided as method, system or computer program Product.Therefore, the present invention can use the reality in terms of complete hardware embodiment, complete software embodiment or combination software and hardware Apply the form of example.Moreover, the present invention can use the computer for wherein including computer usable program code in one or more The computer program production that usable storage medium is implemented on (including but is not limited to magnetic disk storage, CD-ROM, optical memory etc.) The form of product.
The present invention is the flow with reference to method according to embodiments of the present invention, equipment (system) and computer program product Figure and/or block diagram describe.It should be understood that can be by every first-class in computer program instructions implementation process figure and/or block diagram Journey and/or the flow in square frame and flow chart and/or block diagram and/or the combination of square frame.These computer programs can be provided The processors of all-purpose computer, special-purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce A raw machine so that produced by the instruction of computer or the computing device of other programmable data processing devices for real The device for the function of being specified in present one flow of flow chart or one square frame of multiple flows and/or block diagram or multiple square frames.
These computer program instructions, which may be alternatively stored in, can guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works so that the instruction being stored in the computer-readable memory, which produces, to be included referring to Make the manufacture of device, the command device realize in one flow of flow chart or multiple flows and/or one square frame of block diagram or The function of being specified in multiple square frames.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that counted Series of operation steps is performed on calculation machine or other programmable devices to produce computer implemented processing, so as in computer or The instruction performed on other programmable devices is provided for realizing in one flow of flow chart or multiple flows and/or block diagram one The step of function of being specified in individual square frame or multiple square frames.
Although preferred embodiments of the present invention have been described, but those skilled in the art once know basic creation Property concept, then can make other change and modification to these embodiments.So appended claims be intended to be construed to include it is excellent Select embodiment and fall into having altered and changing for the scope of the invention.
Obviously, those skilled in the art can carry out the essence of various changes and modification without departing from the present invention to the present invention God and scope.So, if these modifications and variations of the present invention belong to the scope of the claims in the present invention and its equivalent technologies Within, then the present invention is also intended to comprising including these changes and modification.

Claims (12)

  1. A kind of 1. input and output I/O request dispensing device, it is characterised in that including:
    Transceiver module, for receiving the first I/O request of the specified data block on the specified LUN in access storage array;
    Processing module, the sub- LUN on the specified LUN to be accessed for determining first I/O request, wherein, it is described to specify LUN address space is divided into more sub- LUN in advance;For each determination first I/O request to be accessed described in The sub- LUN on LUN is specified, performs following operation:
    Determine in the storage array, the controller of the sub- LUN ownership, the controller is used to that the I/O request of the sub- LUN will to be accessed It is distributed to the hard disk for storing data in the sub- LUN;
    According to first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
    The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
  2. 2. device as claimed in claim 1, it is characterised in that the processing module is additionally operable to:
    It is each son on the specified LUN according to default algorithm before the transceiver module receives first I/O request The controller of LUN distribution ownership.
  3. 3. device as claimed in claim 1, it is characterised in that
    The processing module is additionally operable to:Before the transceiver module receives first I/O request, from the storage array Each controller at, obtain the controller it is corresponding with each sub- LUN on the specified LUN for belonging to the controller close System;
    The processing module is specifically used for:According to the corresponding relation for obtaining the sub- LUN and sub- LUN controllers belonged to, it is determined that The controller of the sub- LUN ownership.
  4. 4. device as claimed in claim 1, it is characterised in that
    The data storage in each sub- LUN in the storage array directly accesses hard in the sub- LUN controllers belonged to In disk.
  5. 5. the device as described in any one of Claims 1 to 4, it is characterised in that
    Described device is in the main frame for sending first I/O request;Or
    Described device is located in the storage array.
  6. A kind of 6. main frame, it is characterised in that including:I/O request sending module and such as dress according to any one of claims 1 to 4 Put;
    Wherein, the I/O request sending module is used to send first I/O request to the transceiver module of described device.
  7. A kind of 7. storage array, it is characterised in that including:
    Device according to any one of claims 1 to 4.
  8. 8. a kind of computer system, including:Main frame and storage array, it is characterised in that
    The main frame includes I/O request sending module, and the device as described in any one of Claims 1 to 4;Wherein, the IO Request sending module is used to send first I/O request to described device;The storage array is used to receive the main frame transmission Second I/O request;Or
    The storage array includes the device as described in any one of Claims 1 to 4;The main frame is used for the storage array Send first I/O request.
  9. A kind of 9. input and output I/O request distribution method, it is characterised in that including:
    Receive the first I/O request of the specified data block on the specified LUN in access storage array;
    The sub- LUN on the first I/O request specified LUN to be accessed is determined, wherein, the address space of the specified LUN More sub- LUN are divided into advance;
    For the sub- LUN on first I/O request of each determination specified LUN to be accessed, following operation is performed:
    Determine in the storage array, the controller of the sub- LUN ownership, the controller is used to that the I/O request of the sub- LUN will to be accessed It is distributed to the hard disk for storing data in the sub- LUN;
    According to first I/O request of reception, generation accesses the second I/O request of the sub- LUN;
    The second I/O request for accessing the sub- LUN is sent to the controller of the sub- LUN ownership of determination.
  10. 10. method as claimed in claim 9, it is characterised in that before first I/O request is received, in addition to:
    It is the controller that each sub- LUN distribution on the specified LUN belongs to according to default algorithm.
  11. 11. method as claimed in claim 9, it is characterised in that before first I/O request is received, in addition to:
    At each controller in the storage array, obtain the controller and belong to the described of the controller and specify The corresponding relation of each sub- LUN on LUN;
    Determine in the storage array, the controller of the sub- LUN ownership, including:
    According to the corresponding relation for obtaining the sub- LUN and sub- LUN controllers belonged to, the controller that the sub- LUN belongs to is determined.
  12. 12. the method as described in any one of claim 9~11, it is characterised in that
    The data storage in each sub- LUN in the storage array directly accesses hard in the sub- LUN controllers belonged to In disk.
CN201410849910.7A 2014-12-30 2014-12-30 I/O request dispensing device and method, main frame, storage array and computer system Active CN104571960B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410849910.7A CN104571960B (en) 2014-12-30 2014-12-30 I/O request dispensing device and method, main frame, storage array and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410849910.7A CN104571960B (en) 2014-12-30 2014-12-30 I/O request dispensing device and method, main frame, storage array and computer system

Publications (2)

Publication Number Publication Date
CN104571960A CN104571960A (en) 2015-04-29
CN104571960B true CN104571960B (en) 2018-01-16

Family

ID=53088145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410849910.7A Active CN104571960B (en) 2014-12-30 2014-12-30 I/O request dispensing device and method, main frame, storage array and computer system

Country Status (1)

Country Link
CN (1) CN104571960B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105635310B (en) * 2016-01-20 2019-02-26 杭州宏杉科技股份有限公司 A kind of access method and device of storage resource
CN108228076B (en) * 2016-12-14 2020-10-16 华为技术有限公司 Method and host for accessing disk
CN106775493B (en) * 2017-01-05 2019-01-25 华为技术有限公司 A kind of storage control and I/O Request processing method
CN114546294B (en) * 2022-04-22 2022-07-22 苏州浪潮智能科技有限公司 Solid state disk reading method, system and related components

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631640A (en) * 2013-11-08 2014-03-12 华为技术有限公司 Data accessing request responding method and device
CN103645969A (en) * 2013-12-13 2014-03-19 华为技术有限公司 Data replication method and data storage system
US8719520B1 (en) * 2010-12-14 2014-05-06 Datadirect Networks, Inc. System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131969B2 (en) * 2004-10-20 2012-03-06 Seagate Technology Llc Updating system configuration information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719520B1 (en) * 2010-12-14 2014-05-06 Datadirect Networks, Inc. System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity
CN103631640A (en) * 2013-11-08 2014-03-12 华为技术有限公司 Data accessing request responding method and device
CN103645969A (en) * 2013-12-13 2014-03-19 华为技术有限公司 Data replication method and data storage system

Also Published As

Publication number Publication date
CN104571960A (en) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104571960B (en) I/O request dispensing device and method, main frame, storage array and computer system
CN102523264B (en) USB (Universal Serial Bus) equipment remote sharing method and system for virtual machine
EP2930910B1 (en) Method and system for sharing storage resources
CN103207840B (en) For imperfect record to be degraded to the system and method for the second buffer memory from the first buffer memory
JP2009276969A (en) Storage system and method for managing storage system using management device
CN103617136B (en) SCSI drive side and I/O request control method
CN104951239B (en) Cache driver, host bus adaptor and its method used
US10248460B2 (en) Storage management computer
CN104102458B (en) Load-balancing method, multi-core CPU and the solid state hard disc of multi-core CPU
JP7135074B2 (en) Thin provisioning with cloud-based ranks
CN102591709B (en) Shapefile master-slave type parallel writing method based on OGR (open geospatial rule)
CN106527985A (en) Storage interaction device and storage system based on ceph
CN104205780B (en) A kind of method and apparatus of data storage
US9313266B2 (en) Dynamic assignment of transfers of blocks of data
CN104050115A (en) Storage controller and using method of storage controller
CN108228076A (en) Access the method and host of disk
JP6480955B2 (en) Computer system, management system, and resource management method
CN104111805B (en) A kind of I/O request processing methods and storage system
JP5533252B2 (en) Disk array device and disk array device control method
CN105446913B (en) A kind of data access method and device
Jo et al. Dynamic load balancing of dispatch scheduling for solid state disks
US9069471B2 (en) Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access
JP2022016368A (en) Method for managing name space in storage device, and storage device for using method
CN104750614B (en) Method and apparatus for managing memory
WO2013149529A1 (en) Data access method, device and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant