IP Library Granted Patent US 8,694,538
Granted Patent B1
US 8,694,538 · App. 10/871,827 · Granted Apr 8, 2014

Method and apparatus for logging write requests to a storage volume in a network data switch

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 8,694,538
App. No.
10/871,827
Granted
Apr 8, 2014
Kind
B1
Abstract

A method and apparatus for logging write requests to a storage volume in a network data switch is described. In one example, a switch component in a switch receives a write request from a host server. The write request is associated with a destination in the storage volume. A logging element is identified that is associated with the destination of the write request. The logging element may be a switch component in the switch (e.g., a virtualization card), or may be dedicated logging circuitry in the switch. The identified logging element then logs a write intent for the destination in a log.

Claims (78)

1. A method of logging write requests to one or more storage volumes coupled to a switch comprising a plurality of virtualization cards and a logging element, comprising:

receiving, at a first virtualization card of the plurality of virtualization cards, a write request from a host server, the write request being associated with a destination in the one or more storage volumes, wherein

the switch couples one or more host server input/output ports to one or more input/output ports of the one or more storage volumes, and

the destination in the one or more storage volumes is configured to log a plurality of write requests received by a plurality of virtualization cards, wherein

the plurality of write requests are received from the host server,

each of the plurality of virtualization cards are configured to operate as one of a plurality of controllers by virtue of being configured to determine the route by which data traverses a switching fabric connecting the one or more storage volumes and the host server, and

the first virtualization card of the plurality of virtualization cards is associated with a distinct write request of a plurality of write requests;

selecting the logging element, wherein

the logging element is selected in response to being associated with the destination, wherein the selecting is performed by the first virtualization card, and

the logging element is designated statically during switch initialization and is configured to manage a log for said destination, said identified logging element being selected from a plurality of available logging elements; and

sending a message from the first virtualization card to the logging element in response to the selecting the logging element and the receiving the write request, wherein

the message comprises information identifying a write intent for the destination for inclusion in the log; and

providing a response to the write request from the first virtualization card to the host server.

2. The method of claim 1 , wherein the sending the message comprises:

sending the message using a signaling protocol.

3. The method of claim 2 , wherein the switch comprises a fibre channel switch, and wherein the signaling protocol comprises a layer-2 fibre channel signaling protocol.

4. The method of claim 1 , wherein the logging element is included in one of the plurality of virtualization cards other than the first virtualization card.

5. The method of claim 1 , further comprising:

caching, at the first virtualization card, the write intent for the destination.

6. The method of claim 1 , further comprising:

searching a cache in said first virtualization card for a previously logged write intent for the destination; and

performing the selecting and the sending in response to absence of the previously logged write intent for the destination in the cache.

7. The method of claim 1 , wherein the log comprises a bitmap associated with a plurality of destinations of the one or more storage volumes, the plurality of destinations including the destination.

8. The method of claim 1 , wherein the log comprises information identifying a start location within the one or more storage volumes and a length of the data associated with the write request.

9. The method of claim 1 , further comprising:

repeating the receiving, selecting, and sending for one or more additional write requests; and

clearing the log of each logged write intent.

10. The method of claim 8 , wherein the log is cleared periodically.

11. The method of claim 1 , further comprising:

creating a back up copy of the log to be stored remote from the logging element.

12. A switch for controlling access to one or more storage volumes, comprising:

a plurality of virtualization cards, wherein

the switch couples one or more host server input/output ports to one or more input/output ports of the one or more storage volumes via the virtualization cards,

a first virtualization card of the plurality of virtualization cards is configured to receive a write request from a host server, wherein the write request is associated with a destination in the one or more storage volumes,

the first virtualization card is configured to select a logging element from a plurality of available logging elements, in response to the logging element being associated with the destination,

the first virtualization card is configured to send a message to the logging element identifying a write intent for inclusion in a log for the destination in response to selection of the logging element,

the first virtualization card is configured to send a response to the write request to the host server,

the plurality of virtualization cards operate as controllers to determine the route by which data traverses a switching fabric connecting the one or more storage volumes and the host server, and

the destination in one or more storage volumes logs a plurality of write request received by a plurality of virtualization cards from the host server, wherein

the first virtualization card of the plurality of virtualization cards is associated with a distinct write request of a plurality of write requests;

the logging element associated with the specific destinations, wherein

the logging element is designated statically during initialization of the switch, and

the logging element is configured to manage the log and to store write intents in the log for the destination in response to the write requests received by more than one of the plurality of virtualization cards.

13. The switch of claim 12 , wherein the first virtualization card is configured to send the message to the logging element using a signaling protocol.

14. The switch of claim 13 , wherein the switch comprises a fibre channel switch, and wherein the signaling protocol comprises a layer-2 fibre channel signal protocol.

15. The switch of claim 12 , wherein the first includes a memory for caching write intents.

16. The switch of claim 15 , wherein the first virtualization card is configured to search the memory for a previously logged write intent for the destination and to send the message to the logging element in response to absence of the previously logged write intent for the destination in the memory.

17. The switch of claim 12 , wherein the log comprises a bitmap.

18. The switch of claim 12 wherein the log comprises information identifying a start location and a length of the data associated with the write request.

19. A computer network, comprising:

a host server for issuing a write request;

one or more storage volumes for storing data written by the host server; and

a switch, coupled to the host server and the one or more storage volumes, the switch including:

a plurality of virtualization cards,

a first virtualization card in the plurality of virtualization cards being configured to receive the write request from the host server, the write request being associated with a destination in the one or more storage volumes, wherein

the first virtualization card is configured to select a logging element from a plurality of available logging elements, in response to the logging element being associated with the destination,

the first virtualization card is configured to send a message to the logging element identifying a write intent for inclusion in a log for the destination in response to selection of the logging element,

the first virtualization card is configured to send a response to the write request to the host server,

the switch couples one or more host server input/output ports to one or more input/output ports of the one or more storage volumes via the virtualization cards, and

the plurality of virtualization cards operate as controllers to determine the route by which data traverses a switching fabric connecting the one or more storage volumes and the host server; and

the destination in one or more storage volumes logs a plurality of write request received by a plurality of virtualization cards from the host server, wherein

the first virtualization card of the plurality of virtualization cards is associated with a distinct write request of a plurality of write requests;

the logging element, wherein

the logging element is designated statically during initialization of the switch, wherein and

the logging element is configured to manage the log for the destination and to store write intents in the log in response to write requests received by more than one of the virtualization cards in said plurality of virtualization cards.

20. Apparatus for logging write requests to one or more storage volumes in a switch comprising a plurality of virtualization cards and a logging element, comprising:

means for receiving, at a first virtualization card of the plurality of virtualization cards, a write request from a host server, the write request being associated with a destination in the one or more storage volumes, wherein

the switch couples one or more host server input/output ports to one or more input/output ports of the one or more storage volumes via the virtualization cards, and

the plurality of virtualization cards operate as controllers to determine the route by which data traverses a switching fabric connecting the one or more storage volumes and the host server, and

the destination in one or more storage volumes logs a plurality of write request received by a plurality of virtualization cards from the host server, wherein

the first virtualization card of the plurality of virtualization cards is associated with a distinct write request of a plurality of write requests;

means for selecting the logging element, wherein

the logging element is selected in response to being associated with the destination, wherein

the means for selecting are included in the first virtualization card, and

the logging element is designated statically during switch initialization and is configured to manage a log for said destination, said identified logging element being selected from a plurality of available logging elements;

means for sending a message from the first virtualization card to the logging element in response to selection of the logging element, wherein

the message comprises information identifying a write intent for inclusion in the log; and

means for providing a response to the write request from the first virtualization card to the host server.

Assignments (11)
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 Sep 21, 2007
From: VERTITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019866/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2004
From: SHARMA, GOPAL; RAO, SANTOSH S.; GUHA, AMITAVA; KRISHNAMURTHY, RAGHU; KUMAR, MUKUL
To: VERITAS OPERATING CORPORATION
Reel/Frame 015498/0209 →