IP Library › Granted Patent US 7,366,846
Granted Patent B2
US 7,366,846 · App. 11/035,916 · Granted Apr 29, 2008

Redirection of storage access requests

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,366,846
App. No.
11/035,916
Filed
Jan 14, 2005
Granted
Apr 29, 2008
Kind
B2
Art Unit
2185
USPC
711/144
Abstract

Provided are a method, system, and article of manufacture, wherein a controller receives a request from one of a plurality of hosts. The controller determines whether a primary storage control unit coupled to the controller is operational. A response is generated by accessing the primary storage control unit, in response to determining that the primary storage control unit is operational. The response is generated by accessing a secondary storage control unit, in response to determining that the primary storage control unit is not operational, wherein data is replicated synchronously from the primary storage control unit to the secondary storage control unit.

Claims (35)

1. A method, comprising:

receiving, at a controller, a request from one of a plurality of hosts, wherein the controller is coupled to a primary storage control unit and a secondary storage control unit, wherein the controller is a storage area network volume controller that controls storage volumes in a primary storage control unit and a secondary storage control unit, wherein the controller includes a cache, and wherein data is replicated synchronously from the primary storage control unit to the secondary storage control unit;

determining whether write caching is enabled in the controller;

in response to determining that write caching is not enabled in the controller, sending the request to the primary storage control unit if the primary storage control unit is operational and sending the request to the secondary storage control unit if the primary storage control unit is not operational; and

in response to determining that write caching is enabled in the controller, wherein if the request is a write request then performing:

(a) writing the data to the cache in response to receiving the write request; and

(b) responding to the one of the plurality of hosts from which the write request was received that the write request has been executed, wherein the data written to the cache is destaged periodically to: (i) the primary storage control unit, in response to determining that that primary storage control unit is operational; and (ii) the secondary storage control unit, in response to determining that the primary storage control unit is not operational.

2. The method of claim 1 ,

wherein if write caching is enabled in the controller then updating the secondary storage control unit with contents of the cache, prior to the generating of the response by accessing the secondary storage control unit.

3. The method of claim 1 , wherein the plurality of hosts operate without any notification that indicates to the plurality of hosts which storage control unit satisfies requests from the hosts.

4. The method of claim 1 , wherein write caching is enabled, wherein if the request is a read request then the method farther comprises:

satisfying the read request from the cache, in response to determining that the read request can be satisfied from the cache;

satisfying the read request from the primary storage control unit if the primary storage control unit is operational, in response to determining that the read request cannot be satisfied from the cache;

updating the secondary storage control unit with contents of the cache if the primary storage control unit is not operational; and

satisfying the read request from the secondary storage control unit subsequent to the updating of the secondary storage control unit.

5. The method of claim 1 , wherein the data is synchronously replicated between the primary storage control unit and the secondary storage control unit by:

sending, by the primary storage control unit, a completion notification to the controller after an update to the primary storage control unit has been copied to the secondary storage control unit, wherein the primary storage control unit and the secondary storage control unit include identical data after the data is replicated synchronously.

6. The method of claim 1 , wherein a plurality of operating systems are executing on the plurality of hosts, and wherein a single application in the controller enables the plurality of hosts to access data stored in the primary storage control unit and the secondary storage control unit, and wherein if the primary storage control unit is operational then the primary storage control unit is available for processing data transfer requests generated by the plurality of hosts.

7. The method of claim 1 , wherein the primary storage control unit is a primary storage controller, wherein the secondary storage control unit is a secondary storage controller, wherein a redirection application on the storage area network volume controller performs the receiving, the determining, the generating of the response by accessing the primary storage controller, and the generating of the response by accessing the secondary storage controller.

8. A method for deploying computing infrastructure, comprising integrating computer-readable code included in a computer readable storage medium into a computing system, wherein the code in combination with the computing system is capable of performing:

receiving, at a controller, a request from one of a plurality of hosts, wherein the controller is coupled to a primary storage control unit and a secondary storage control unit, wherein the controller is a storage area network volume controller that controls storage volumes in a primary storage control unit and a secondary storage control unit, wherein the controller includes a cache, and wherein data is replicated synchronously from the primary storage control unit to the secondary storage control unit;

determining whether write caching is enabled in the controller;

in response to determining that write caching is not enabled in the controller, sending the request to the primary storage control unit if the primary storage control unit is operational and sending the request to the secondary storage control unit if the primary storage control unit is not operational; and

in response to determining that write caching is enabled in the controller, wherein if the request is a write request then performing:

(a) writing the data to the cache in response to receiving the write request; and

(b) responding to the one of the plurality of hosts from which the write request was received that the write request has been executed, wherein the data written to the cache is destaged periodically to: (i) the primary storage control unit, in response to determining that that primary storage control unit is operational; and (ii) the secondary storage control unit, in response to determining that the primary storage control unit is not operational.

9. The method of claim 8 , wherein if write caching is enabled in the controller then updating the secondary storage control unit with contents of the cache, prior to the generating of the response by accessing the secondary storage control unit.

10. The method of claim 8 , wherein write caching is enabled, wherein if the request is a read request then the code in combination with the computing system is farther capable of performing:

satisfying the read request from the cache, in response to determining that the read request can be satisfied from the cache;

satisfying the read request from the primary storage control unit if the primary storage control unit is operational, in response to determining that the read request cannot be satisfied from the cache;

updating the secondary storage control unit with contents of the cache if the primary storage control unit is not operational; and

satisfying the read request from the secondary storage control unit subsequent to the updating of the secondary storage control unit.

11. The method of claim 8 , wherein the data is synchronously replicated between the primary storage control unit and the secondary storage control unit by:

sending, by the primary storage control unit, a completion notification to the controller after an update to the primary storage control unit has been copied to the secondary storage control unit, wherein the primary storage control unit and the secondary storage control unit include identical data after the data is replicated synchronously.

12. The method of claim 8 , wherein the primary storage control unit is a primary storage controller, wherein the secondary storage control unit is a secondary storage controller, wherein a redirection application on the storage area network volume controller performs the receiving, the determining, the generating of the response by accessing the primary storage controller, and the generating of the response by accessing the secondary storage controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2005
From: BOYD, KENNETH WAYNE; DAY, KENNETH FAIRCLOUGH, III; LICKEL, CHARLES WILLIAM; WOLFGANG, JOHN JAY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016188/0614 →
Continuity (1)
Related Publication 20060161700A1 · Jul 20, 2006