IP Library Granted Patent US 7,827,362
Granted Patent B2
US 7,827,362 · App. 10/924,656 · Granted Nov 2, 2010

Systems, apparatus, and methods for processing I/O requests

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,827,362
App. No.
10/924,656
Granted
Nov 2, 2010
Kind
B2
Abstract

A method, apparatus, and system for accessing units of storage in at least one logical unit by processing I/O requests directed to the logical units using a LUN queue and an operation-type queue. By using the queues to process the I/O requests, the requests can be processed without address collisions.

Claims (31)

1. A storage management device for accessing at least one logical unit, comprising:

a plurality of input/output (I/O) processing modules, comprising:

a host interface in communication with a host for receiving I/O requests, and extracting a plurality of ordered operation commands associated with each I/O request, including an identification operation command and other operation commands, the plurality of ordered operation commands processed to execute the I/O request, wherein at least one of the I/O requests incurs a copy-on-write operation;

an I/O manager in communication with the host interfaces of the I/O processing modules, the I/O manager for processing the extracted operation commands first using a logical unit number (LUN) queue and thereafter using one or more operation-type queues, wherein an identification operation command in the plurality of ordered operation commands is stored in the LUN queue, and the other operation commands are stored in one or more of the one or more operation-type queues, and wherein each of the one or more operation-type queues stores operation commands of a single specific operation type; and

a physical store interface in communication with the I/O managers of the I/O processing modules, the physical store interface for communicating with at least one logical unit in response to the processed operation commands; and

an internal network for communication among the I/O processing modules.

2. The storage management device of claim 1 wherein the host interface classifies the I/O requests based on a logical unit identification associated with the I/O request.

3. The storage management device of claim 2 wherein identification operation commands directed to a first logical unit are stored in a first LUN queue and identification operation commands directed to a second logical unit are stored in a second LUN queue.

4. The storage management device of claim 2 wherein write operation commands directed to the logical units are indexed with an indexed association.

5. The storage management device of claim 4 wherein the indexed association comprises:

a data store ID;

a data store address;

a length associated with the data store address;

a logical unit ID; a logical unit address;

a length associated with the logical unit address; and

a time.

6. The storage management device of claim 1 wherein operations in each LUN queue are organized in a data structure that associates identification operation commands stored in the LUN queue with one another when the identification operation commands are directed to a common range of logical block addresses in the same data store.

7. A method of accessing units of storage in a logical unit, the method comprising the steps of:

receiving input/output (I/O) requests from a host;

classifying received I/O requests based on a target logical unit associated with the I/O requests;

extracting ordered operation commands associated with the I/O requests into an identification operation command and other operation commands for each I/O request, the ordered operation commands processed to execute the I/O request, wherein at least one of the ordered operation commands comprises a copy-on-write operation command;

processing the extracted operation commands using one or more logical unit number (LUN) queues and one or more operation-type queues, wherein the identification operation command in the plurality of ordered operation commands is stored in one or more one of the more LUN queues, and the other operation commands are stored in one or more of the one or more operation-type queues, and wherein each of the one or more operation-type queues stores operation commands of a single specific operation type; and

communicating with at least one logical unit to access units of storage in response to the I/O requests.

8. The method of claim 7 wherein a plurality of identification operation commands in a LUN queue are processed in an order in which the I/O requests were received.

9. The method of claim 7 wherein the other operation commands are organized into one or more batches for processing.

10. A storage network, comprising: a plurality of logical units; and a storage management device, comprising:

a plurality of input/output (I/O) processing modules, comprising:

a host interface in communication with a host for receiving I/O requests and extracting ordered operation commands associated with each I/O request into an identification operation command and other operation commands for each I/O request, the ordered operation commands processed to execute the I/O request, wherein at least one of the I/O requests incurs a copy-on-write operation;

an I/O manager in communication with the host interfaces of the I/O processing modules, the I/O manager for processing the extracted operation commands using a logical unit number (LUN) queue and one or more operation-type queues, wherein an identification operation command in the plurality of ordered operation commands is stored in the LUN queue, and the other operation commands are stored in one or more of the one or more operation-type queues, and wherein each of the one or more operation-type queues stores operation commands of a single specific operation type; and

a physical store interface in communication with the I/O managers of the I/O processing modules, the physical store interface for communicating with at least one logical unit in response to the processed operation commands; and

an internal network for communication among the I/O processing modules.

Assignments (15)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
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 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
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 →
ADDRESS CHANGE OF ASSIGNEE Recorded Sep 3, 2010
From: SYMANTEC CORPORATION
To: SYMANTEC CORPORATION
Reel/Frame 024938/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2007
From: REVIVIO, INC.
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019032/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2004
From: PASSERINI, RON
To: REVIVIO, INC.
Reel/Frame 015936/0557 →