IP Library Granted Patent US 7,734,878
Granted Patent B1
US 7,734,878 · App. 11/786,091 · Granted Jun 8, 2010

System and method for performing virtual device I/O operations

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,734,878
App. No.
11/786,091
Granted
Jun 8, 2010
Kind
B1
Abstract

Systems, methods, apparatus and software can make use of separated I/O processors and strategy processors (implemented in hardware and/or software) to perform virtual device I/O operations. I/O processors operating on cluster nodes, storage appliance ports, or other devices can receive I/O operation requests directed to virtual devices, e.g., volumes or virtual logical units. Information about the request is forwarded to a strategy processor, operating independently or as part of larger volume management software where corresponding physical device I/O operations are determined. The physical device I/O operations can include additional information about the operations, e.g., tag information and summary information, for use in processing the virtual device I/O request. The physical device I/O operations are sent back to the I/O processor which executes the operations and/or passes the operation on to the appropriate storage device. I/O completion messages are sent by the I/O processor in parallel to the source of the I/O request (e.g., a host or application) and to the strategy processor, providing an improvement in I/O latency.

Claims (70)

1. A method implemented in a computer system, comprising:

causing a processor of said computer system to extract information from a virtual device input/output (I/O) operation request;

causing said processor to form a message, wherein

said message is formed using said information,

said message is formed such that said message is configured to allow at least one physical device I/O operation to be formed from at least a portion of said message, and

said message and said virtual device I/O operation request are distinct from one another; and

causing said processor to effect transmission of said message.

2. The method of claim 1 , wherein

said transmission of said message transmits said message to a strategy processor.

3. The method of claim 2 , wherein

said virtual device I/O operation request is directed to at least one of

a volume, and

a logical unit.

4. The method of claim 2 , further comprising:

receiving said virtual device I/O operation request;

receiving data corresponding to said virtual device I/O operation request; and

performing a computation using said data.

5. The method of claim 2 , wherein

said information from said virtual device I/O operation request comprises a virtual device destination.

6. The method of claim 2 , wherein

said message comprises an indication of a remote I/O operation request.

7. The method of claim 2 , further comprising:

receiving said message at said strategy processor; and

forming said at least one physical device I/O operation, wherein said forming uses said information.

8. The method of claim 7 , wherein said forming said at least one physical device I/O operation further comprises:

using information about organization of at least one virtual device.

9. The method of claim 7 , further comprising:

transmitting said at least one physical device I/O operation to an I/O processor; and

executing said at least one physical device I/O operation against at least one storage device.

10. The method of claim 2 , further comprising:

receiving said at least one physical device I/O operation formed using said information; and

executing said at least one physical device I/O operation against at least one storage device.

11. The method of claim 2 , further comprising:

receiving said message at said strategy processor; and

forming said at least one physical device I/O operation, wherein

said forming said at least one physical device I/O operation uses said information, and

said message comprises said information.

12. The method of claim 11 , wherein said forming said at least one physical device I/O operation further comprises at least one of

generating additional data,

repairing stored data, and

refreshing said stored data.

13. The method of claim 11 , further comprising:

transmitting said at least one physical device I/O operation to an I/O processor for execution against at least one storage device.

14. The method of claim 13 , further comprising:

determining whether said virtual I/O operation request is associated with a node that received said virtual I/O operation request.

15. The method of claim 13 , wherein

said at least one physical device I/O operation further comprises at least one physical device command and data associated with said at least one physical device command.

16. The method of claim 13 , further comprising:

receiving said at least one physical device I/O operation at said I/O processor; and

executing said at least one physical device I/O operation against said at least one storage device, wherein

said at least one storage device is coupled to said I/O processor.

17. The method of claim 16 , further comprising:

receiving an indication from said I/O processor that said at least one physical device I/O operation has been successfully executed.

18. A computer system comprising:

a processor;

a computer readable medium coupled to said processor; and

computer code, encoded in said computer readable medium, configured to cause said processor to

extract information from a virtual device input/output (I/O) operation request,

form a message, wherein

said message is formed using said information,

said message is formed such that said message is configured to allow at least one physical device I/O operation to be formed from at least a portion of said message, and

said message and said virtual device I/O operation request are distinct from one another, and

transmit said message.

19. A computer program product, comprising a computer readable medium storing a plurality of instructions, wherein said instructions, when executed by a processor of a computer system, are configured to cause said processor to:

extract information from a virtual device input/output (I/O) operation request;

form a message, wherein

said message is formed using said information,

said message is formed such that said message is configured to allow at least one physical device I/O operation to be formed from at least a portion of said message, and

said message and said virtual device I/O operation request are distinct from one another; and

transmit said message.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →