CN108319430A - Handle the method and device of I/O Request - Google Patents
Handle the method and device of I/O Request Download PDFInfo
- Publication number
- CN108319430A CN108319430A CN201810043586.8A CN201810043586A CN108319430A CN 108319430 A CN108319430 A CN 108319430A CN 201810043586 A CN201810043586 A CN 201810043586A CN 108319430 A CN108319430 A CN 108319430A
- Authority
- CN
- China
- Prior art keywords
- controller
- cache
- request
- data
- read
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Abstract
The application provides a kind of method and device of processing I/O Request, applied to dual control storage device, the dual control storage device includes the first controller and second controller, the corresponding spatial cache of each controller is divided into multiple cache blocks respectively, there are corresponding offset address for each cache blocks, two in the spatial cache of the first controller and second controller cache blocks with same offset address mirror image each other, the method includes:First controller receives be sent to the I/O Request of second controller after, the I/O Request can be forwarded to second controller, to return to the offset address of target cache block by second controller, and then is executed based on the offset address and to read IO or write the operation of IO.Technical scheme reduces the overhead for creating mirror cache block and maintenance image relationship, avoids scheduling overhead and the own bandwidth of forwarding module as the performance bottleneck of storage system, effectively improves the efficiency of dual control storage device processes I/O Request.
Description
Technical field
This application involves field of storage, more particularly to handle the method and device of I/O Request.
Background technology
In field of storage, the response speed of processing I/O Request is usually improved with caching technology, and then improve storage system
Performance.
The controller of storage device can preserve the data in LUN (Logical Unit Number, logical unit number)
Into spatial cache, when in order to receive the read I O request for reading above-mentioned data, can directly from spatial cache return on
Data are stated, to improve response speed.Wherein, it is known as valid data, significant figure from the data being saved in LUN in spatial cache
According to the backup for data in LUN.
The data to be written that write IO request carries can be written to by the controller of storage device when handling write IO request
Spatial cache is then back to and is written successfully, to improve response speed.Wherein, above-mentioned data to be written are written to spatial cache
In be dirty data, dirty data can be written to subsequently in LUN.
For double-controller system, the general means data cached as protection using caching mirror image technology.It is substantially former
Reason is that consistent dirty data copy is preserved in the spatial cache of two controllers, and when any controller breaks down, (it is cached
Data in space are unavailable), another controller remains to provide corresponding data access.
However, in the prior art, the controller management spatial cache of double-controller system is complex, influences systematicness
Energy.
In addition, in double-controller system, if with front end connecting fault, the front-end access control occur for one of controller
When device processed, I/O Request can be sent by the path between another controller, another controller again turns above-mentioned I/O Request
It is sent to above controller.Wherein, it is unoptimizable path that another controller, which receives and forwards the path of above-mentioned I/O Request,.For that will forward
The process United Dispatching of I/O Request, is typically led to dedicated forwarding module.
However, in the I/O Request that processing is received from unoptimizable path, there are internal forwarding processes, if dual control storage device
LUN quantity it is more, the scheduling overhead and own bandwidth of forwarding module can become the performance bottleneck of whole system.
Invention content
In view of this, the application provides the method and device of processing I/O Request, cached in management to solve the prior art
The problem of influencing system performance in space and internal repeating process.
Specifically, the application is achieved by the following technical solution:
A method of processing I/O Request is applied to dual control storage device, and the dual control storage device includes the first control
Device and second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, and each cache blocks, which exist, to be corresponded to
Offset address, two in the spatial cache of first controller and the second controller are with same offset address
Cache blocks mirror image each other, including:
First controller receives write IO request, determines whether the LUN identification in the write IO request is to be under the jurisdiction of
Local LUN identification;
If the LUN identification in the write IO request is not to be under the jurisdiction of local LUN identification, first controller is by institute
It states write IO request and is forwarded to the second controller, to determine target cache block by the second controller and return to the target
The offset address of cache blocks;
First controller is based on the offset address, and the mesh is written in the data to be written in the write IO request
Mark the mirror cache block of cache blocks;
The target cache block is written in the data to be written by first controller, and is sent and write IO successful informations.
In the method for the processing I/O Request, the method further includes:
If the LUN identification in the write IO request is to be under the jurisdiction of local LUN identification, first controller determines mesh
Mark cache blocks;
The target cache block is written in data to be written in the write IO request by first controller;
Based on the offset address of the target cache block, the data to be written are written to the mirror image of the target cache block
Cache blocks.
In the method for the processing I/O Request, the method further includes:
After the target cache block is written in the data to be written by the first controller, added for the target cache block dirty
Data Identification;
It is the mirror image after the mirror cache block of the target cache block is written in the data to be written by the first controller
Cache blocks add dirty data mark.
In the method for the processing I/O Request, the method further includes:
First controller operates the cache blocks of any a pair of mirror image each other based on mutual exclusion principle;Wherein, institute
It is that first controller and the second controller cannot while operate the cache blocks of mirror image each other to state mutual exclusion principle.
A method of processing I/O Request is applied to dual control storage device, and the dual control storage device includes the first control
Device and second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, and each cache blocks, which exist, to be corresponded to
Offset address, two in the spatial cache of first controller and the second controller are with same offset address
Cache blocks mirror image each other, including:
First controller receives read I O request, determines whether the LUN identification in the read I O request is to be under the jurisdiction of
Local LUN identification;
If the LUN identification in the read I O request is not to be under the jurisdiction of local LUN identification, first controller is by institute
It states read I O request and is forwarded to the second controller, with empty in the caching for determining first controller by the second controller
Between in there are return to confirmation message after data to be read;Wherein, the confirmation message is with carrying the offset of the data to be read
Location;
First controller is based on the offset address, is obtained from spatial cache and sends the data to be read.
In the method for the processing I/O Request, the method further includes:
First controller receives the read I O request of the second controller forwarding, determines in local spatial cache
With the presence or absence of the target cache block for the data to be read for preserving the read I O request;
If there is the target cache block, first controller determines that the mirror cache block of the target cache block is
It is no to preserve the data to be read;
If the mirror cache block preserves the data to be read, first controller is returned to the second controller
Return the confirmation message.
In the method for the processing I/O Request, the method further includes:
If there is no the target cache block, first controller is corresponded to from the LUN identification in the read I O request
LUN in read the data to be read and be written in the target cache block chosen;
The data to be read are written the mirror cache block of the target cache block by first controller, and to described
Second controller returns to the confirmation message.
In the method for the processing I/O Request, the method further includes:
If the mirror cache block of the target cache block does not preserve the data to be read, the first controller is waited for described
It reads data and the mirror cache block is written, and the confirmation message is returned to the second controller.
In the method for the processing I/O Request, the method further includes:
First controller reads data simultaneously according to the read I O request, based on the preset strategy that pre-reads from the LUN
It is written in several cache blocks chosen, and several caching data in the block is written to the mirror cache of several cache blocks
In block.
In the method for the processing I/O Request, the method further includes:
After writing data into cache blocks, effective Data Identification is added for the cache blocks;Wherein, the cache blocks include institute
State target cache block, several cache blocks and the mirror cache block.
In the method for the processing I/O Request, the method further includes:
First controller operates the cache blocks of any a pair of mirror image each other based on mutual exclusion principle;Wherein, institute
It is that first controller and the second controller cannot while operate the cache blocks of mirror image each other to state mutual exclusion principle.
A kind of device of processing I/O Request, is applied to dual control storage device, and the dual control storage device includes the first control
Device and second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, and each cache blocks, which exist, to be corresponded to
Offset address, two in the spatial cache of first controller and the second controller are with same offset address
Cache blocks mirror image each other, including:
First receiving unit determines whether the LUN identification in the write IO request is to be subordinate to for receiving write IO request
In local LUN identification;
First retransmission unit, if not being to be under the jurisdiction of local LUN identification for the LUN identification in the write IO request,
The write IO request is forwarded to the second controller, to be determined described in target cache block and return by the second controller
The offset address of target cache block;
For being based on the offset address mesh is written in data to be written in the write IO request by writing unit
Mark the mirror cache block of cache blocks;
First transmission unit, for the target cache block to be written in the data to be written, and transmission is write IO and is successfully believed
Breath.
A kind of device of processing I/O Request, is applied to dual control storage device, and the dual control storage device includes the first control
Device and second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, and each cache blocks, which exist, to be corresponded to
Offset address, two in the spatial cache of first controller and the second controller are with same offset address
Cache blocks mirror image each other, including:
Second receiving unit determines whether the LUN identification in the read I O request is to be subordinate to for receiving read I O request
In local LUN identification;
Second retransmission unit, if not being to be under the jurisdiction of local LUN identification for the LUN identification in the read I O request,
The read I O request is forwarded to the second controller, to determine the slow of first controller by the second controller
Deposit in space that there are return to confirmation message after data to be read;Wherein, the confirmation message carries the inclined of the data to be read
Move address;
Second transmission unit, for being based on the offset address, being obtained from spatial cache and sending the access of continuing
According to.
In technical scheme, dual control storage device includes the first controller and second controller, each controller pair
The spatial cache answered is divided into multiple cache blocks respectively, and there are corresponding offset address, first controllers for each cache blocks
There is the cache blocks mirror image each other of same offset address with two in the spatial cache of the second controller;
First controller receives the write IO request for being sent to the second controller, can be by the write IO request
It is sent to the second controller, to determine target cache block by the second controller and return to the inclined of the target cache block
Move address, first controller can based on the offset address by the write IO request data to be written write-in described in
The mirror cache block of target cache block and the target cache block;
First controller receives the read I O request for being sent to the second controller, can be by the read I O request
It is sent to the second controller, is waited for being existed in the spatial cache for determining first controller by the second controller
Confirmation message is returned after reading data;Wherein, the confirmation message carries the offset address of the data to be read;Described first
Controller can be based on the offset address, obtained from spatial cache and send the data to be read;
Due to existing with same offset address in the spatial cache of first controller and the second controller
The cache blocks of mirror image each other, first controller can be conveniently based on the offset address that the second controller returns and delay
It deposits and the data to be written is written in space, alternatively, the offset address based on second controller return is from spatial cache
The data to be read are read, the overhead for creating mirror cache block and maintenance image relationship is reduced;In addition, eliminating
Forwarding module avoids the scheduling overhead of forwarding module and own bandwidth from becoming the performance bottleneck of whole system.
Description of the drawings
Fig. 1 is a kind of schematic diagram of dual control storage device processes write IO request of the prior art;
Fig. 2 is a kind of schematic diagram of dual control storage device processes read I O request of the prior art;
Fig. 3 is a kind of Organization Chart of dual control storage device of the prior art;
Fig. 4 is a kind of schematic diagram of the I/O Request in dual control storage device processes unoptimizable path of the prior art;
Fig. 5 is a kind of Organization Chart of dual control storage device shown in the application;
Fig. 6 is a kind of flow chart of the method for processing I/O Request shown in the application;
Fig. 7 is the flow chart of the method for another processing I/O Request shown in the application;
Fig. 8 is a kind of embodiment block diagram of the device of processing I/O Request shown in the application;
Fig. 9 is a kind of hardware structure diagram of the device of processing I/O Request shown in the application;
Figure 10 is the embodiment block diagram of the device of another processing I/O Request shown in the application;
Figure 11 is the hardware structure diagram of the device of another processing I/O Request shown in the application.
Specific implementation mode
In order to make those skilled in the art more fully understand the technical solution in the embodiment of the present invention, and make of the invention real
The above objects, features, and advantages for applying example can be more obvious and easy to understand, below in conjunction with the accompanying drawings to prior art and the present invention
Technical solution in embodiment is described in further detail.
Double-controller system can usually utilize PCIE (Peripheral Component Interconnect
Express) non-transparent bridge realizes the memory address mappings of dual controller, and further realizes data cached transmission and backup.
In the realization principle of caching, the processing of read I O request and write IO request is made a big difference.
For write IO request, caching technology mainly provides performance in terms of three and accelerates.It is the one of the prior art referring to Fig. 1
The schematic diagram of kind dual control storage device processes write IO request.
1. after any controller of dual control storage device receives write IO request, above-mentioned write IO request can be carried to be written
Enter data to be written in caching, the data in write-in caching are dirty data, then write data into the slow of another controller
Deposit middle formation mirror image dirty data.By caching technology, controller can be written to slow in the data for carrying above-mentioned write IO request
The time delay for being written and successfully reducing and above-mentioned data to be written being written to disk space is returned to after in depositing, to improve response
Speed achievees the purpose that performance boost;
2. controller by dirty data before being written disk space, can be according to data the characteristics of, to the dirty number in caching
It effectively sorts, merge according to progress so that follow-up write efficiency higher;
3. new data may be written again by having been written into the position of dirty data in caching, then before dirty data can be by
It is completely covered.When being repetitively written data for the same address in disk space, then actually only IO will need to be for the last time write
Disk space is written in data in request.By caching technology, reduce before this operation of the disk space of data write-in several times,
Alleviate the pressure of disk.
For read I O request, caching technology is mainly by improving the hit rate of read I O request come improving performance.Referring to Fig. 2,
For a kind of schematic diagram of dual control storage device processes read I O request of the prior art.
After any controller of dual control storage device receives the read I O request for the data in disk space, it can select
It is read recently or is written infrequently the data taken in a period of time and be stored in spatial cache, it is above-mentioned to receive reading again
When the read I O request of data, above-mentioned data can be directly returned from spatial cache.
In addition, controller can also read a part of data to caching by pre-reading tactful autonomous selection from disk space
In, it is expected to hit later, relative theory can refer to the prior art, and details are not described herein.
Controller is saved in the data in caching from disk space becomes valid data.Since even if event occurs for controller
Barrier, controller in addition can also reacquire above-mentioned data from disk space, and therefore, valid data do not preserve mirror image generally
Data.
In the prior art, double-controller system is run using mutually standby mode, and the processing Logic Priority of single LUN is wherein
One controller executes.It is a kind of Organization Chart of dual control storage device of the prior art, in the dual control storage device referring to Fig. 3
In, LUN-1 home controls device 1, LUN-2 home controls device 2, controller is according to the processing different with write IO request to read I O request
Spatial cache is logically divided into read buffer region and write buffer region by mode.Wherein, only there is life in write buffer region
The operation being mirrored into.
As shown in figure 3, " Valid1-1 " is the valid data of LUN-1, " Dirty1-1 ", " Dirty1-2 " is LUN-1
Dirty data, " Mirror1-1 ", " Mirror1-2 " are the mirror image dirty datas of LUN-1;“Valid2-1”,“Valid2-2”,
" Valid2-3 " is the valid data of LUN-2, and " Dirty2-1 " is the dirty data of LUN-2, and " Mirror2-1 " is the mirror of LUN-2
As dirty data.
Controller 1 need not be the spatial cache of LUN-2 distribution storage valid data, but be LUN-2 distribution storage mirrors
As the spatial cache of dirty data;On the contrary, controller 2 need not be the spatial cache of LUN-1 distribution storage valid data, but want
The spatial cache of storage mirror image dirty data is distributed for LUN-1.
When new dirty data is written in spatial cache residing for the valid data, the controller belonging to the spatial cache is notified that
Another controller distributes corresponding mirror cache space to preserve mirror image dirty data.After dirty data is written into disk space, delay
The dirty data deposited in space becomes valid data, and the controller belonging to the spatial cache is notified that another controller release corresponds to
Mirror cache space caching other data.
In addition, when controller 1 breaks down, the LUN-1 for belonging to controller 1 can be taken over by controller 2,2 meeting of controller
The spatial cache for storing valid data is distributed for LUN-1.
As it can be seen that controller is handling read I O request and when write IO request, if the spatial cache of valid data be written into it is dirty
It fails after data or dirty data write-in disk, needs to convert spatial cache, and need the slow of two controllers of maintenance
The mirror of data in space is deposited, management spatial cache is more complicated, influences system performance.
It is a kind of schematic diagram of the I/O Request in dual control storage device processes unoptimizable path of the prior art referring to Fig. 4.When
With front end connecting fault occurs for one of dual control memory controller, then when front end applications access the controller, can pass through
Path between another controller sends I/O Request, then forwards above-mentioned I/O Request by another controller.Wherein, another controller
It is unoptimizable path to receive and forward the path of above-mentioned I/O Request.
For repeating process is carried out United Dispatching, dedicated forwarding module can be generally introduced.It is to handle write IO request
Example, forwarding module receive the access request of the spatial cache for controller 1 from the front-end path of controller 2, will first write IO
Interim memory 2 is written in request, then inside is forwarded to interim memory 1, and then is sent to above-mentioned write IO request from interim memory 1
The spatial cache of controller 1.Controller 1 does not perceive whether above-mentioned write IO request is received by unoptimizable path, can normally handle.
However, if the LUN quantity of dual control storage device is more, when the I/O Request received there are a large amount of unoptimizable paths,
The scheduling overhead and own bandwidth of forwarding module can become the performance bottleneck of whole system.
In view of this, the application provides the method and device of processing I/O Request, managed to solve dual control storage device
The problem of influencing system performance in spatial cache and internal repeating process.
Referring to Fig. 5, a kind of Organization Chart of dual control storage device is shown for the application, referring to Fig. 5, dual control storage device includes
First controller (controller 1 in figure), second controller (controller 2 in figure) and disk, the corresponding caching of each controller are empty
Between be divided into multiple cache blocks respectively, there are corresponding offset address for each cache blocks.Above-mentioned first controller and above-mentioned second
Two cache blocks mirror images each other with same offset address in the spatial cache of controller.
Wherein, the name that the first controller and second controller carry out for ease of description, two controllers are no difference,
Do not limit the application.
It is identified as shown in figure 5, being identified as in the spatial cache of controller 1 in 1 cache blocks and the spatial cache of controller 2
For 1 cache blocks offset address having the same, and mirror image each other.Be identified as in the spatial cache of controller 12 cache blocks with
2 cache blocks offset address having the same, and mirror image each other are identified as in the spatial cache of controller 2.And so on, control
There is mirror cache block in the spatial cache of controller 2 in any cache blocks in the spatial cache of device 1.
When there are one cache blocks, and dirty data is written in two cache blocks of mirror image each other, then mirror can be written in another cache blocks
As dirty data;When there are one cache blocks, and valid data are written in two cache blocks of mirror image each other, then another cache blocks can be with
Mirror image valid data are written or are in idle state, " No Data " indicates that mirror image valid data are not written in figure.
The default image relationship formed by above-mentioned division, dual control storage device Maintenance free mirror, reduces pipe
The overhead that reason spatial cache is brought.
It should be pointed out that whether each cache blocks are wherein write there are corresponding metadata (not shown) to mark
Enter data, and the property (dirty data or valid data) of the data of write-in.
In a kind of embodiment shown, each minimum memory unit of cache blocks corresponds to two flags, wherein one
A flag characterizes in the storage cell whether dirty data is written, and whether another is identified as to characterize and be written in the storage cell
Imitate data.
Such as:Each cache blocks are 8KB (Kilobyte, kilobytes), and minimum memory unit is 512B (Byte, byte).Then
Each cache blocks can be divided into 16 sectors based on minimum memory unit, and each sector corresponds to dirty data flag and valid data mark
Position, if valid data are written in any sector, corresponding valid data flag is 1, and corresponding dirty data flag is 0;If
Dirty data is written in any sector, then corresponding valid data flag is 0, and corresponding dirty data flag is 1;If any sector
Data are not written, then corresponding valid data flag is 0, and corresponding dirty data flag is 0.In this embodiment,
The flag of each cache blocks only accounts for 32 bits.
It should be pointed out that if any sector in the case where having been written into valid data before this, is written with dirty data, then right
The dirty data flag answered is 1, and corresponding valid data flag can still remain 1.In this case, dirty data flag
Priority be higher than the priority of valid data flag, controller need to first check that dirty data flag judges whether write in sector
Enter dirty data, if dirty data flag is 0, continues checking for valid data flag and judge whether valid data are written in sector.
In the embodiment of the present application, two controllers of dual control storage device can be respectively to be under the jurisdiction of local LUN distribution
Corresponding cache blocks, and allocation result is recorded in cache blocks allocation table, wherein above-mentioned cache blocks allocation table includes LUN marks
Know the mapping relations with caching block identification (or offset address of cache blocks).
It should be pointed out that when two controllers of dual control storage device are when distributing memory block, it is based on mutual exclusion principle pair
The cache blocks of any a pair of mirror image each other are operated;Wherein, above-mentioned mutual exclusion principle is above-mentioned first controller and above-mentioned second
Controller cannot simultaneously operate the cache blocks of mirror image each other.
It is illustrated by taking Fig. 5 as an example, controller 1 is to be under the jurisdiction of local LUN-1 distribution cache blocks, and controller 2 is to be subordinate to
Cache blocks are distributed in local LUN-2.When controller 1 chooses local cache blocks 1 to distribute to LUN-1, actually simultaneously will
Cache blocks 1 in the spatial cache of controller 2 distribute to LUN-1.To avoid controller 2 from again distributing to local cache blocks 1
LUN-2.Controller 1 can lock the caching of controller 2 when distributing cache blocks to be under the jurisdiction of local LUN by mutual exclusion lock
Space, and unlock after being assigned.Controller 1 can share above-mentioned cache blocks allocation table to controller 2.
Controller 2 be based on above-mentioned cache blocks allocation table, select unassigned cache blocks distribute to be under the jurisdiction of it is local
LUN.Certainly, controller 2 when distributing cache blocks can also lockout controller 1 spatial cache, and after distribution share
Cache blocks allocation table.
After the distribution that controller completes cache blocks, I/O Request can be handled based on the technical solution of the application.
It is a kind of flow chart of the method for processing I/O Request shown in the application referring to Fig. 6, this method is deposited applied to dual control
Equipment is stored up, dual control storage device of the dual control storage device with reference to shown in Fig. 5 the described method comprises the following steps:
Step 601:First controller receives write IO request, determines whether is LUN identification in the write IO request
For the LUN identification for being under the jurisdiction of local.
Step 602:If the LUN identification in the write IO request is not to be under the jurisdiction of local LUN identification, first control
The write IO request is forwarded to the second controller by device processed, to be determined target cache block by the second controller and be returned
The offset address of the target cache block.
In the embodiment of the present application, the first controller receives write IO request from the path being connect with front end, can be first
Determine whether the LUN identification in above-mentioned write IO request is to be under the jurisdiction of local LUN identification.Wherein, above-mentioned write IO request carries LUN
Mark, the mapping relations of data initial address and data length, the data initial address are the number in the corresponding LUN of LUN identification
According to initial address.
On the one hand, if the LUN identification in above-mentioned write IO request is to be under the jurisdiction of local LUN identification, above-mentioned first control
Device processed can directly determine target cache block.
Specifically, it is corresponding with the LUN identification not can be based on the selection of above-mentioned cache blocks allocation table for above-mentioned first controller
The cache blocks of data are written as target cache block.
Above-mentioned target cache block can be written in data to be written in above-mentioned write IO request by above-mentioned first controller.
Further, since target cache block is identical as the offset address of mirror cache block, above-mentioned first controller can be based on
The mirror cache block of above-mentioned target cache block is written in above-mentioned data to be written by the offset address of above-mentioned target cache block.
In a kind of embodiment shown, above-mentioned first controller delays by the above-mentioned target of above-mentioned data write-in to be written
Can be that above-mentioned target cache block and the addition of above-mentioned image cache blocks are dirty after the mirror cache block of counterfoil and above-mentioned target cache block
Data Identification.
On the other hand, if the LUN identification in above-mentioned write IO request is not to be under the jurisdiction of local LUN identification, above-mentioned
Above-mentioned write IO request can be forwarded to above-mentioned second controller by one controller.It should be pointed out that reduce bandwidth consumption, turn
The write IO request for being sent to above-mentioned second controller does not carry above-mentioned data to be written.
Above-mentioned second controller can determine target cache block, and the offset address of above-mentioned target cache block is sent to
State the first controller.
In addition, above-mentioned second controller can lock above-mentioned target cache block, no longer above-mentioned target cache block is grasped
Make.
Step 603:First controller is based on the offset address, and the data to be written in the write IO request are write
Enter the mirror cache block of the target cache block.
Above-mentioned first controller receives above-mentioned offset address, can will be in above-mentioned write IO request based on above-mentioned offset address
Data to be written the mirror cache block of above-mentioned target cache block is written.
In a kind of embodiment shown, above-mentioned target cache is written in above-mentioned data to be written by above-mentioned first controller
Can be that above-mentioned image cache blocks add dirty data mark after the mirror cache block of block.By the measure, controller can determine
The cache blocks have been written into dirty data.
In addition, if above-mentioned image cache blocks have added effective Data Identification before this, above-mentioned first controller can be gone
Except the valid data identify, dirty data mark is then added.Certainly, above-mentioned first controller can also retain the valid data mark
Know.
Above-mentioned second controller can be based on processing write IO request as a result, update local cache table.
Step 604:The target cache block is written in the data to be written by first controller, and send write IO at
Work(information.
Above-mentioned first controller above-mentioned data to be written can be written upper in the spatial cache of above-mentioned second controller
Target cache block is stated, IO successful informations are write in then forward end transmission, to complete the process of single treatment I/O Request.
In a kind of embodiment shown, above-mentioned target cache is written in above-mentioned data to be written by above-mentioned first controller
Can be that above-mentioned target cache block adds dirty data mark after block.
In addition, if above-mentioned target cache block has added effective Data Identification before this, above-mentioned first controller can be gone
Except the valid data identify, dirty data mark is then added.
It, can be to above-mentioned in addition, above-mentioned first controller is by above-mentioned data to be written after being written above-mentioned target cache block
Second controller sends write-in and completes information, to be released to the locking of above-mentioned target cache block and rear by above-mentioned second controller
It is continuous that above-mentioned data to be written are written in the corresponding LUN of above-mentioned LUN identification.
Certainly, above-mentioned first controller can also update local cache table, postpone in order to subsequently be based on local cache table
It deposits and obtains data in space.Wherein, above-mentioned local cache table includes LUN identification, data initial address and offset address (or caching
Block identification) mapping relations.Specific renewal process can refer to the prior art, and details are not described herein.
In the application implementation, if the dirty data in local spatial cache is written to LUN by above-mentioned second controller
In the middle, the dirty data of the cache blocks where the dirty data having been written into can be identified and is changed to valid data mark.Can specifically it join
According to the prior art, details are not described herein.
It is a kind of flow chart of the method for processing I/O Request shown in the application referring to Fig. 7, this method is deposited applied to dual control
Equipment is stored up, dual control storage device of the dual control storage device with reference to shown in Fig. 5 the described method comprises the following steps:
Step 701:First controller receives read I O request, determines whether is LUN identification in the read I O request
For the LUN identification for being under the jurisdiction of local.
Step 702:If the LUN identification in the read I O request is not to be under the jurisdiction of local LUN identification, first control
The read I O request is forwarded to the second controller by device processed, to determine first controller by the second controller
Spatial cache in there are return to confirmation message after data to be read;Wherein, the confirmation message carries the data to be read
Offset address.
In the embodiment of the present application, the first controller receives read I O request from the path being connect with front end, can be first
Determine whether the LUN identification in above-mentioned read I O request is to be under the jurisdiction of local LUN identification.Wherein, above-mentioned read I O request carries LUN
Mark, the mapping relations of data initial address and data length, the data initial address are the number in the corresponding LUN of LUN identification
According to initial address.
On the one hand, if the LUN identification in above-mentioned read I O request is to be under the jurisdiction of local LUN identification, above-mentioned first control
Device processed can determine whether above-mentioned read I O request hits local spatial cache.
Specifically, above-mentioned first controller can be based on the LUN identification in above-mentioned read I O request, data start sum number
Preset local cache table is searched according to length, it is determined whether there are corresponding local cache list items.If so, correspondence can be checked
Whether data are written in the spatial cache of offset address in local cache list item (with the presence or absence of dirty data mark or significant figure
According to mark), and in the case where data are written, read the data to be read of above-mentioned read I O request;If not, corresponding to upper
State and data be not written in the spatial cache of offset address, then based in above-mentioned read I O request LUN identification, data start and
Data length reads above-mentioned data to be read from the corresponding LUN of LUN identification.
It should be pointed out that a read I O request may be split as the combination of multiple LUN identifications and data start,
To search local cache table.
The prior art specifically is can refer to, details are not described herein by the application.
On the other hand, if the LUN identification in above-mentioned read I O request is not to be under the jurisdiction of local LUN identification, above-mentioned
Above-mentioned read I O request can be forwarded to above-mentioned second controller by one controller.
Above-mentioned second controller receives the above-mentioned read I O request of above-mentioned first controller forwarding, can determine above-mentioned the
There are return to confirmation message after data to be read in the spatial cache of one controller.
In a kind of embodiment shown, above-mentioned second controller receives the above-mentioned reading of above-mentioned first controller forwarding
I/O Request can be determined in local spatial cache first with the presence or absence of the target for the data to be read for preserving above-mentioned read I O request
Cache blocks.
Specifically, above-mentioned second controller can be based on the LUN identification in above-mentioned read I O request, data start sum number
Local cache table is searched according to length, it is determined whether there are corresponding local cache list items.And there are corresponding local cache tables
Xiang Shi, determines whether the corresponding cache blocks of the offset address in local cache list item are written data, if written data (exists
Dirty data identifies or valid data mark), then the cache blocks are target cache block.
If there is above-mentioned target cache block, then above-mentioned second controller may further determine that above-mentioned target cache block
Whether mirror cache block preserves above-mentioned data to be read.
Since to cache data in the block consistent for above-mentioned target cache block and above-mentioned image, as a kind of embodiment, above-mentioned the
Two controllers can check the spatial cache of above-mentioned first controller based on the offset address of above-mentioned target cache block, determine above-mentioned
Whether mirror cache block adds dirty data mark or valid data mark.When above-mentioned image cache blocks add effective Data Identification or
Dirty data identifies, and illustrates the saved above-mentioned data to be read of above-mentioned image cache blocks.
In this case, above-mentioned second controller can send confirmation message to above-mentioned first controller.Wherein, above-mentioned
Confirmation message carries the offset address of above-mentioned data to be read.
When above-mentioned image cache blocks do not preserve above-mentioned data to be read, it is slow that above-mentioned second controller can be based on above-mentioned target
Above-mentioned target cache data to be read in the block are written above-mentioned image cache blocks, and are completed in write-in by the offset address of counterfoil
Afterwards, above-mentioned confirmation message is sent to above-mentioned first controller.
Certainly, above-mentioned second controller can be above-mentioned after by above-mentioned data write-in above-mentioned image cache blocks to be read
Mirror cache block adds effective Data Identification.
If there is no above-mentioned target cache block, then above-mentioned second controller can be marked from the LUN in above-mentioned read I O request
In the target cache block known and read above-mentioned data to be read in corresponding LUN, and above-mentioned data write-in to be read is chosen.
Wherein, as a kind of embodiment, above-mentioned second controller can select to correspond to by local cache blocks allocation table
In LUN identification and be not added with dirty data mark cache blocks as target cache block.Certainly, if corresponding to the caching of LUN identification
Block has all added dirty data mark, and above-mentioned second controller can distribute new cache blocks to the LUN identification again.
Further, above-mentioned second controller also needs, according to the offset address for the target cache block chosen, to continue above-mentioned
Access states the first controller and sends above-mentioned confirmation message then up according to being written in the mirror cache block of above-mentioned target cache block.
Certainly, above-mentioned second controller can be above-mentioned after above-mentioned target cache block is written in above-mentioned data to be read
Target cache block adds effective Data Identification;Above-mentioned image cache blocks are being written in above-mentioned data to be read by above-mentioned second controller
Afterwards, can be that above-mentioned image cache blocks add effective Data Identification.
In a kind of embodiment shown, above-mentioned second controller is sending above-mentioned confirmation letter to above-mentioned first controller
Before breath, above-mentioned target cache block can be first locked, in order to avoid when carrying out other operations for above-mentioned target cache block in change
State the data being had been written into target cache block.
In the application implementation, the above-mentioned reading IO that above-mentioned second controller can be forwarded based on above-mentioned first controller is asked
It asks, if reading what data and being written were chosen from the corresponding LUN of LUN identification in above-mentioned read I O request based on the preset strategy that pre-reads
In dry cache blocks, and above-mentioned several caching data in the block are written in the mirror cache block of above-mentioned several cache blocks.
It is illustrated by taking Fig. 5 as an example, controller 1 receives the read I O request in the unoptimizable path of the forwarding of controller 2, above-mentioned
Read read I O request is one section of continuous data being under the jurisdiction of in the LUN-1 of controller 1, for example, 3 read I O requests are continuous
Read the data in data initial address 1, data initial address 2 and data initial address 3.Then controller 1 can will be in LUN-1
In data pre-head to local several cache blocks in data initial address 4, data initial address 5, then above-mentioned data are written
The mirror cache block of above-mentioned several cache blocks.
By the measure, above-mentioned second controller after the read I O request of subsequently received above-mentioned first controller forwarding,
Can quickly confirmation message be sent to above-mentioned first controller.Reduce in the spatial cache for working as above-mentioned first controller not yet
When data to be read are written, the time delay of data to be read is written to above-mentioned first controller for above-mentioned second controller, to be promoted
The response speed of dual control storage system.
Certainly, data are being written to the mirror cache block of above-mentioned several cache blocks and above-mentioned several cache blocks in second controller
Afterwards, can be that above-mentioned cache blocks add effective Data Identification.
Step 703:First controller is based on the offset address, is obtained from spatial cache and sends described continue
Access evidence.
Above-mentioned first controller receives the confirmation message that above-mentioned second controller returns, and can be based on above-mentioned confirmation message
In offset address, the data to be read of above-mentioned read I O request are obtained from local spatial cache, then will be above-mentioned to be read
Data are sent to front end, to complete the process of single treatment I/O Request.
In addition, after above-mentioned data to be read are sent to front end by above-mentioned first controller, it can be to above-mentioned second controller
It sends to read and completes information, to release the locking to above-mentioned target cache block by above-mentioned second controller.The measure is that mutual exclusion is former
A kind of embodiment then is avoided when the multiple I/O Requests of dual control storage device processes, and two controllers are simultaneously to mirror image each other
Cache blocks operated, cause handle I/O Request failure.
In conclusion in technical scheme, dual control storage device includes the first controller and second controller, respectively
The corresponding spatial cache of controller is divided into multiple cache blocks respectively, and each cache blocks are there are corresponding offset address, and above-mentioned
Two in the spatial cache of the one controller and above-mentioned second controller cache blocks with same offset address mirror image each other;
First controller receives the write IO request for being sent to second controller, and above-mentioned write IO request can be sent to
Two controllers;Second controller determines backward first controller of target cache block with returning to the offset of above-mentioned target cache block
Location;Based on above-mentioned offset address above-mentioned target cache can be written in data to be written in above-mentioned write IO request by the first controller
The mirror cache block of block and above-mentioned target cache block;
First controller receives the read I O request for being sent to second controller, and above-mentioned read I O request can be sent to
Two controllers;Second controller determines that there are return to confirmation letter after data to be read in the spatial cache of above-mentioned first controller
Breath;Wherein, the offset address of above-mentioned data to be read is carried in above-mentioned confirmation message;First controller can be based on above-mentioned offset
Address obtains concurrently to serve and states data to be read from local spatial cache;
Due to there is the mirror image each other with same offset address in the spatial cache of the first controller and second controller
Cache blocks, the first controller and second controller be not necessarily to manage the mirror of cache blocks, without creating any cache blocks
Mirror cache block, reduce performance cost;
Data to be written are written in the offset address that first controller can be returned based on second controller in spatial cache,
The latter, the offset address returned based on second controller read data to be read from spatial cache;
In addition, dual control storage device in the application cancels forwarding module, avoid forwarding module scheduling overhead and itself
Bandwidth becomes the performance bottleneck of whole system.
Corresponding with the embodiment of the method for aforementioned processing I/O Request, present invention also provides the devices of processing I/O Request
Embodiment.
It is a kind of embodiment block diagram of the device of processing I/O Request shown in the application referring to Fig. 8:
As shown in figure 8, the device 80 of the processing I/O Request, including:
First receiving unit 810, for receiving write IO request, determine the LUN identification in the write IO request whether be
It is under the jurisdiction of local LUN identification.
First retransmission unit 820, if not being to be under the jurisdiction of local LUN marks for the LUN identification in the write IO request
Know, the write IO request is forwarded to the second controller, to be determined target cache block by the second controller and be returned
The offset address of the target cache block.
Writing unit 830, for being based on the offset address, described in the data to be written write-in in the write IO request
The mirror cache block of target cache block.
First transmission unit 840 for the target cache block to be written in the data to be written, and sends and writes IO successes
Information.
In this example, described device further includes:
First determination unit, 850 (not shown), if being to be under the jurisdiction of this for the LUN identification in the write IO request
The LUN identification on ground determines target cache block.
Said write unit 830 is further used for delaying the data to be written write-in target in the write IO request
Counterfoil;
Based on the offset address of the target cache block, the data to be written are written to the mirror image of the target cache block
Cache blocks.
In this example, described device further includes:
First adding device, 860 (not shown), after the target cache block is written in the data to be written,
Dirty data mark is added for the target cache block;The data to be written are written to the mirror cache block of the target cache block
Afterwards, it is that the mirror cache block adds dirty data mark.
In this example, described device further includes:
First mutual exclusion unit, 870 (not shown), for the caching based on mutual exclusion principle to any a pair of mirror image each other
Block is operated;Wherein, the mutual exclusion principle is that first controller and the second controller cannot be simultaneously to mirrors each other
The cache blocks of picture are operated.
The embodiment that the application handles the device of I/O Request can be applied in dual control storage device.Device embodiment can be with
By software realization, can also be realized by way of hardware or software and hardware combining.For implemented in software, patrolled as one
Device in volume meaning is by the processor of dual control storage device where it by corresponding computer in nonvolatile memory
Program instruction reads what operation in memory was formed.For hardware view, as shown in figure 9, handling I/O Request for the application
A kind of hardware structure diagram of dual control storage device where device, in addition to processor shown in Fig. 9, memory, network interface, Yi Jifei
Except volatile memory, the reality of dual control storage device in embodiment where device generally according to the device of the processing I/O Request
Border function can also include other hardware, be repeated no more to this.
The function of each unit and the realization process of effect specifically refer to and correspond to step in the above method in above-mentioned apparatus
Realization process, details are not described herein.
It is the embodiment block diagram of the device of another processing I/O Request shown in the application referring to Figure 10:
As shown in Figure 10, the device 100 of the processing I/O Request, including:
Second receiving unit 110, for receiving read I O request, determine the LUN identification in the read I O request whether be
It is under the jurisdiction of local LUN identification.
Second retransmission unit 120, if not being to be under the jurisdiction of local LUN marks for the LUN identification in the read I O request
Know, the read I O request is forwarded to the second controller, to determine first controller by the second controller
Spatial cache in there are return to confirmation message after data to be read;Wherein, the confirmation message carries the data to be read
Offset address.
Second transmission unit 130 is obtained from spatial cache and is sent described to be read for being based on the offset address
Data.
In this example, described device further includes:
Second determination unit, 140 (not shown), the read I O request for receiving the second controller forwarding, really
With the presence or absence of the target cache block for the data to be read for preserving the read I O request in fixed local spatial cache;
If there is the target cache block, first controller determines that the mirror cache block of the target cache block is
It is no to preserve the data to be read;
150 (not shown) of returning unit, if the data to be read are preserved for the mirror cache block, to institute
It states second controller and returns to the confirmation message.
In this example, described device further includes:
160 (not shown) of reading unit is used for if there is no the target cache block, from the read I O request
The corresponding LUN of LUN identification in read the data to be read and be written in the target cache block chosen.
150 (not shown) of the returning unit is further used for delaying the data write-in to be read target
The mirror cache block of counterfoil, and return to the confirmation message to the second controller.
In this example, described device further includes:
150 (not shown) of the returning unit, if being further used for the mirror cache block of the target cache block
The data to be read are not preserved, the mirror cache block are written into the data to be read, and return to the second controller
Return the confirmation message.
In this example, described device further includes:
160 (not shown) of the reading unit is further used for, according to the read I O request, pre-reading based on preset
Strategy reads data from the LUN and is written in several cache blocks chosen, and several caching data in the block are written
In the mirror cache block of several cache blocks.
In this example, described device further includes:
Second adding device, 170 (not shown), is further used for after writing data into cache blocks, is the cache blocks
Add effective Data Identification;Wherein, the cache blocks include that the target cache block, several cache blocks and the mirror image are slow
Counterfoil.
In this example, described device further includes:
Second mutual exclusion unit, 180 (not shown), for the caching based on mutual exclusion principle to any a pair of mirror image each other
Block is operated;Wherein, the mutual exclusion principle is that first controller and the second controller cannot be simultaneously to mirrors each other
The cache blocks of picture are operated.
The embodiment that the application handles the device of I/O Request can be applied in dual control storage device.Device embodiment can be with
By software realization, can also be realized by way of hardware or software and hardware combining.For implemented in software, patrolled as one
Device in volume meaning is by the processor of dual control storage device where it by corresponding computer in nonvolatile memory
Program instruction reads what operation in memory was formed.For hardware view, as shown in figure 11, I/O Request is handled for the application
A kind of hardware structure diagram of dual control storage device where device, in addition to processor, memory, network interface shown in Figure 11 and
Except nonvolatile memory, the device of dual control storage device in embodiment where device generally according to the processing I/O Request
Actual functional capability can also include other hardware, be repeated no more to this.
The function of each unit and the realization process of effect specifically refer to and correspond to step in the above method in above-mentioned apparatus
Realization process, details are not described herein.
For device embodiments, since it corresponds essentially to embodiment of the method, so related place is referring to method reality
Apply the part explanation of example.The apparatus embodiments described above are merely exemplary, wherein described be used as separating component
The unit of explanation may or may not be physically separated, and the component shown as unit can be or can also
It is not physical unit, you can be located at a place, or may be distributed over multiple network units.It can be according to actual
It needs that some or all of module therein is selected to realize the purpose of application scheme.Those of ordinary skill in the art are not paying
In the case of going out creative work, you can to understand and implement.
The foregoing is merely the preferred embodiments of the application, not limiting the application, all essences in the application
With within principle, any modification, equivalent substitution, improvement and etc. done should be included within the scope of the application protection god.
Claims (13)
1. a kind of method of processing I/O Request, is applied to dual control storage device, the dual control storage device includes the first controller
And second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, there are corresponding for each cache blocks
Two in the spatial cache of offset address, first controller and the second controller are slow with same offset address
Counterfoil mirror image each other, which is characterized in that including:
First controller receives write IO request, determines whether the LUN identification in the write IO request is to be under the jurisdiction of local
LUN identification;
If the LUN identification in the write IO request is not to be under the jurisdiction of local LUN identification, first controller is write described
I/O Request is forwarded to the second controller, to determine target cache block by the second controller and return to the target cache
The offset address of block;
First controller is based on the offset address, and the target, which is written, in the data to be written in the write IO request delays
The mirror cache block of counterfoil;
The target cache block is written in the data to be written by first controller, and is sent and write IO successful informations.
2. according to the method described in claim 1, it is characterized in that, the method further includes:
If the LUN identification in the write IO request is to be under the jurisdiction of local LUN identification, first controller determines that target is slow
Counterfoil;
The target cache block is written in data to be written in the write IO request by first controller;
Based on the offset address of the target cache block, the data to be written are written to the mirror cache of the target cache block
Block.
3. method according to claim 1 or 2, which is characterized in that the method further includes:
After the target cache block is written in the data to be written by the first controller, dirty data is added for the target cache block
Mark;
It is the mirror cache after the mirror cache block of the target cache block is written in the data to be written by the first controller
Block adds dirty data mark.
4. according to the method described in claim 1, it is characterized in that, the method further includes:
First controller operates the cache blocks of any a pair of mirror image each other based on mutual exclusion principle;Wherein, described mutual
Reprimand principle, which is first controller and the second controller, simultaneously to be operated the cache blocks of mirror image each other.
5. a kind of method of processing I/O Request, is applied to dual control storage device, the dual control storage device includes the first controller
And second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, there are corresponding for each cache blocks
Two in the spatial cache of offset address, first controller and the second controller are slow with same offset address
Counterfoil mirror image each other, which is characterized in that including:
First controller receives read I O request, determines whether the LUN identification in the read I O request is to be under the jurisdiction of local
LUN identification;
If the LUN identification in the read I O request is not to be under the jurisdiction of local LUN identification, first controller is by the reading
I/O Request is forwarded to the second controller, with by the second controller in the spatial cache for determining first controller
There are return to confirmation message after data to be read;Wherein, the confirmation message carries the offset address of the data to be read;
First controller is based on the offset address, is obtained from spatial cache and sends the data to be read.
6. according to the method described in claim 5, it is characterized in that, the method further includes:
First controller receives the read I O request of second controller forwarding, determine in local spatial cache whether
In the presence of the target cache block for the data to be read for preserving the read I O request;
If there is the target cache block, first controller determines whether the mirror cache block of the target cache block is protected
Deposit the data to be read;
If the mirror cache block preserves the data to be read, first controller returns to institute to the second controller
State confirmation message.
7. according to the method described in claim 6, it is characterized in that, the method further includes:
If there is no the target cache block, first controller is from the corresponding LUN of LUN identification in the read I O request
It is middle to read the data to be read and be written in the target cache block chosen;
The data to be read are written the mirror cache block of the target cache block by first controller, and to described second
Controller returns to the confirmation message.
8. according to the method described in claim 6, it is characterized in that, the method further includes:
If the mirror cache block of the target cache block does not preserve the data to be read, the first controller will be described to be read
The mirror cache block is written in data, and returns to the confirmation message to the second controller.
9. according to the method described in claim 6, it is characterized in that, the method further includes:
First controller is read data from the LUN and is written according to the read I O request based on the preset strategy that pre-reads
In several cache blocks chosen, and several cachings data in the block are written to the mirror cache blocks of several cache blocks
In.
10. according to the method described in claim 9, it is characterized in that, the method further includes:
After writing data into cache blocks, effective Data Identification is added for the cache blocks;Wherein, the cache blocks include the mesh
Mark cache blocks, several cache blocks and the mirror cache block.
11. according to the method described in claim 5, it is characterized in that, the method further includes:
First controller operates the cache blocks of any a pair of mirror image each other based on mutual exclusion principle;Wherein, described mutual
Reprimand principle, which is first controller and the second controller, simultaneously to be operated the cache blocks of mirror image each other.
12. a kind of device of processing I/O Request, is applied to dual control storage device, the dual control storage device includes the first controller
And second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, there are corresponding for each cache blocks
Two in the spatial cache of offset address, first controller and the second controller are slow with same offset address
Counterfoil mirror image each other, which is characterized in that including:
First receiving unit determines whether the LUN identification in the write IO request is to be under the jurisdiction of this for receiving write IO request
The LUN identification on ground;
First retransmission unit, if not being to be under the jurisdiction of local LUN identification for the LUN identification in the write IO request, by institute
It states write IO request and is forwarded to the second controller, to determine target cache block by the second controller and return to the target
The offset address of cache blocks;
Data to be written in the write IO request are written the target and delayed by writing unit for being based on the offset address
The mirror cache block of counterfoil;
First transmission unit for the target cache block to be written in the data to be written, and sends and writes IO successful informations.
13. a kind of device of processing I/O Request, is applied to dual control storage device, the dual control storage device includes the first controller
And second controller, the corresponding spatial cache of each controller are divided into multiple cache blocks respectively, there are corresponding for each cache blocks
Two in the spatial cache of offset address, first controller and the second controller are slow with same offset address
Counterfoil mirror image each other, which is characterized in that including:
Second receiving unit determines whether the LUN identification in the read I O request is to be under the jurisdiction of this for receiving read I O request
The LUN identification on ground;
Second retransmission unit, if not being to be under the jurisdiction of local LUN identification for the LUN identification in the read I O request, by institute
It states read I O request and is forwarded to the second controller, with empty in the caching for determining first controller by the second controller
Between in there are return to confirmation message after data to be read;Wherein, the confirmation message is with carrying the offset of the data to be read
Location;
Second transmission unit obtains from spatial cache for being based on the offset address and sends the data to be read.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810043586.8A CN108319430B (en) | 2018-01-17 | 2018-01-17 | Method and device for processing IO (input/output) request |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810043586.8A CN108319430B (en) | 2018-01-17 | 2018-01-17 | Method and device for processing IO (input/output) request |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319430A true CN108319430A (en) | 2018-07-24 |
CN108319430B CN108319430B (en) | 2021-03-23 |
Family
ID=62894334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810043586.8A Active CN108319430B (en) | 2018-01-17 | 2018-01-17 | Method and device for processing IO (input/output) request |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319430B (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377536A (en) * | 2019-07-12 | 2019-10-25 | 深信服科技股份有限公司 | Data processing method, device, equipment and computer readable storage medium |
CN110928495A (en) * | 2019-11-12 | 2020-03-27 | 杭州宏杉科技股份有限公司 | Data processing method and device on multi-control storage system |
CN111694770A (en) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | Method and device for processing IO (input/output) request |
CN112181295A (en) * | 2020-09-22 | 2021-01-05 | 杭州宏杉科技股份有限公司 | Data access method and device, storage equipment and machine-readable storage medium |
CN112559388A (en) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | Data caching method and device |
CN113849129A (en) * | 2021-09-18 | 2021-12-28 | 苏州浪潮智能科技有限公司 | IO (input/output) request forwarding method, device and equipment between storage controllers |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169750A (en) * | 2007-12-10 | 2008-04-30 | 杭州华三通信技术有限公司 | Memory mirror image system, device and memory mirror image method |
CN101471955A (en) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | Method for writing equipment data in dual-controller network storage circumstance |
CN101477505A (en) * | 2008-12-23 | 2009-07-08 | 北京中星微电子有限公司 | Data transmission method between master and slave equipments through bus |
CN101840309A (en) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Access control method and system of double control disk array in multipath environment |
CN103827843A (en) * | 2013-11-28 | 2014-05-28 | 华为技术有限公司 | Method, device, and system for writing data |
CN104049918A (en) * | 2014-07-03 | 2014-09-17 | 浪潮集团有限公司 | Cache management method of double-control storage server |
US20170192860A1 (en) * | 2015-12-30 | 2017-07-06 | Commvault Systems, Inc. | Deduplication replication in a distributed deduplication data storage system |
JP2018010557A (en) * | 2016-07-15 | 2018-01-18 | 富士通株式会社 | Storage system and management device |
-
2018
- 2018-01-17 CN CN201810043586.8A patent/CN108319430B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101169750A (en) * | 2007-12-10 | 2008-04-30 | 杭州华三通信技术有限公司 | Memory mirror image system, device and memory mirror image method |
CN101471955A (en) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | Method for writing equipment data in dual-controller network storage circumstance |
CN101477505A (en) * | 2008-12-23 | 2009-07-08 | 北京中星微电子有限公司 | Data transmission method between master and slave equipments through bus |
CN101840309A (en) * | 2009-10-28 | 2010-09-22 | 创新科存储技术有限公司 | Access control method and system of double control disk array in multipath environment |
CN103827843A (en) * | 2013-11-28 | 2014-05-28 | 华为技术有限公司 | Method, device, and system for writing data |
CN104049918A (en) * | 2014-07-03 | 2014-09-17 | 浪潮集团有限公司 | Cache management method of double-control storage server |
US20170192860A1 (en) * | 2015-12-30 | 2017-07-06 | Commvault Systems, Inc. | Deduplication replication in a distributed deduplication data storage system |
JP2018010557A (en) * | 2016-07-15 | 2018-01-18 | 富士通株式会社 | Storage system and management device |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694770A (en) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | Method and device for processing IO (input/output) request |
CN110377536A (en) * | 2019-07-12 | 2019-10-25 | 深信服科技股份有限公司 | Data processing method, device, equipment and computer readable storage medium |
CN110377536B (en) * | 2019-07-12 | 2023-05-12 | 深信服科技股份有限公司 | Data processing method, device, equipment and computer readable storage medium |
CN110928495A (en) * | 2019-11-12 | 2020-03-27 | 杭州宏杉科技股份有限公司 | Data processing method and device on multi-control storage system |
CN110928495B (en) * | 2019-11-12 | 2023-09-22 | 杭州宏杉科技股份有限公司 | Data processing method and device on multi-control storage system |
CN112181295A (en) * | 2020-09-22 | 2021-01-05 | 杭州宏杉科技股份有限公司 | Data access method and device, storage equipment and machine-readable storage medium |
CN112181295B (en) * | 2020-09-22 | 2022-02-18 | 杭州宏杉科技股份有限公司 | Data access method and device, storage equipment and machine-readable storage medium |
CN112559388A (en) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | Data caching method and device |
CN112559388B (en) * | 2020-12-14 | 2022-07-12 | 杭州宏杉科技股份有限公司 | Data caching method and device |
CN113849129A (en) * | 2021-09-18 | 2021-12-28 | 苏州浪潮智能科技有限公司 | IO (input/output) request forwarding method, device and equipment between storage controllers |
CN113849129B (en) * | 2021-09-18 | 2023-08-25 | 苏州浪潮智能科技有限公司 | IO request forwarding method, device and equipment among storage controllers |
Also Published As
Publication number | Publication date |
---|---|
CN108319430B (en) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319430A (en) | Handle the method and device of I/O Request | |
CN104915151B (en) | A kind of memory excess distribution method that active is shared in multi-dummy machine system | |
US8805902B2 (en) | Managing snapshot storage pools | |
US7039767B2 (en) | Method and system for coherently caching I/O devices across a network | |
CN106569742B (en) | Memory management method and storage equipment | |
CN103154909B (en) | Distributed cache consistency protocol | |
CN106133676B (en) | Storage system | |
US9507720B2 (en) | Block storage-based data processing methods, apparatus, and systems | |
US8656119B2 (en) | Storage system, control program and storage system control method | |
WO2013175529A1 (en) | Storage system and storage control method for using storage area based on secondary storage as cache area | |
CN103761190B (en) | Data processing method and apparatus | |
CN104536702B (en) | A kind of memory array system and data write request processing method | |
CN105095094A (en) | Memory management method and equipment | |
CN108153683A (en) | For transmitting the device and method of data between address range in memory | |
US9021214B2 (en) | Storage system and method for controlling memory in storage system | |
WO2019092499A1 (en) | Tiering data strategy for a distributed storage system | |
EP3710944A1 (en) | File operations in a distributed storage system | |
CN103064797A (en) | Data processing method and virtual machine management platform | |
US11693738B2 (en) | Storage system spanning multiple failure domains | |
CN108762668A (en) | A kind of method and device of processing write-in conflict | |
US20080127198A1 (en) | Fine granularity exchange level load balancing in a multiprocessor storage area network | |
US20070073972A1 (en) | Instant copy of data in a cache memory via an atomic command | |
US20110238915A1 (en) | Storage system | |
CN107038092A (en) | A kind of data copy method and device | |
CN114327270A (en) | Request processing method, device, equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |