IP Library Granted Patent US 7,404,037
Granted Patent B1
US 7,404,037 · App. 11/442,859 · Granted Jul 22, 2008

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,404,037
App. No.
11/442,859
Granted
Jul 22, 2008
Kind
B1
Abstract

Systems, methods, apparatus and software can make use separated I/O processors and strategy processors in performing 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 are sent back to the I/O processor which executes the operations and/or passes the operation on to the appropriate storage device.

Claims (55)

1. A method comprising:

receiving a virtual device input/output (I/O) operation request;

forming at least one physical device I/O operation using information from the virtual device I/O operation request;

transmitting the at least one physical device I/O operation to an I/O processor for execution against at least one storage device; and

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

2. The method of claim 1 further comprising:

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

3. The method of claim 2 wherein the determining further comprises:

determining whether the virtual I/O operation request originates from at least one of an application operating on the node and a client computer system of the node.

4. The method of claim 1 wherein the at least one physical device I/O operation further comprises at least one physical device command and data associated with the at least one physical device command.

5. The method of claim 1 further comprising:

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

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

6. The method of claim 1 wherein the virtual device I/O operation request is directed to at least one of a volume and a logical unit.

7. The method of claim 1 further comprising:

receiving data corresponding to the at least one physical device I/O operation; and

storing the data in a buffer.

8. The method of claim 1 wherein the virtual device I/O operation request comprises a virtual device destination.

9. An apparatus comprising:

a means for receiving a virtual device input/output (I/O) operation request;

a means for forming at least one physical device I/O operation using information from the virtual device I/O operation request;

a means for transmitting the at least one physical device I/O operation to an I/O processor for execution against at least one storage device; and

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

10. A computer program product comprising:

a computer readable storage medium, said computer readable storage medium comprising

program instructions executable on a processor, wherein the program instructions are operable to implement

receiving a virtual device input/output (I/O) operation request,

forming at least one physical device I/O operation using information from the virtual device I/O operation request,

transmitting the at least one physical device I/O operation to an I/O processor for execution against at least one storage device, and

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

11. The computer program product of claim 10 further comprising program instructions operable to implement:

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

12. The computer program product of claim 11 wherein the program instructions for determining further comprise program instructions operable to implement:

determining whether the virtual I/O operation request originates from at least one of an application operating on the node and a client computer system of the node.

13. The computer program product of claim 10 wherein the at least one physical device I/O operation further comprises at least one physical device command and data associated with the at least one physical device command.

14. The computer program product of claim 10 further comprising program instructions operable to implement:

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

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

15. A system comprising:

a first memory; and

a strategy processor configured to:

receive a virtual device input/output (I/O) operation request;

form at least one physical device I/O operation using information from the virtual device I/O operation request;

transmit the at least one physical device I/O operation to an I/O processor for execution against at least one storage device; and

determine whether the virtual I/O operation request is associated with a node that received the virtual I/O operation request.

16. The system of claim 15 further comprising:

a first microprocessor coupled to the first memory, wherein the strategy processor is encoded as instructions stored in the first memory and executable on the first microprocessor.

17. The system of claim 15 wherein the strategy processor is further configured to:

determine whether the virtual I/O operation request originates from at least one of an application operating on the node and a client computer system of the node.

18. The system of claim 15 further comprising:

an I/O processor coupled to the strategy processor and configured to:

receive the at least one physical device I/O operation; and

execute the at least one physical device I/O operation against at least one storage device.

19. The system of claim 18 wherein the I/O processor is further configured to:

send a message to the strategy processor indicating the at least one physical device I/O operation has been successfully executed.

Assignments (15)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 →