IP Library Granted Patent US 9,232,005
Granted Patent B1
US 9,232,005 · App. 13/790,846 · Granted Jan 5, 2016

Methods and systems for an intelligent storage adapter used for both SAN and local storage access

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 9,232,005
App. No.
13/790,846
Granted
Jan 5, 2016
Kind
B1
Abstract

An adapter for processing requests from a computing device is provided. The adapter includes a processor executing: a storage protocol driver for interfacing with a storage protocol controller that communicates with a storage device of a storage area network (SAN) via a port for providing SAN connectivity to the adapter; and a storage driver for interfacing with a solid state storage device managed by the adapter and available to the computing device as a local caching device.

Claims (33)

1. An adapter for processing requests from a computing device, comprising:

a processor executing:

a storage protocol driver for interfacing with a storage protocol controller of the adapter that communicates with a storage device of a storage area network (SAN) via a port for providing SAN connectivity to the adapter for processing input/output requests using the SAN storage device; and

a storage driver for interfacing with a solid state storage device of the adapter configured as a local caching device for caching data on behalf of the computing device and also operating as a persistent storage device for storing information.

2. The adapter of claim 1 , wherein the processor executes a caching module that manages a logical entity that is based on storage space at the solid storage device and used as a cache logical unit number (LUN) for caching data on behalf of a SAN LUN based on storage space at the SAN storage device.

3. The adapter of claim 1 , wherein the processor executes a bridge application module that interfaces with a thin provisioning module for storing data locally at the solid state storage device by interfacing with the storage driver.

4. The adapter of claim 3 , wherein the adapter uses the storage protocol controller to operate as a host bus adapter.

5. The adapter of claim 3 , wherein the bridge application module interfaces with a cluster communication module that communicates with another adapter for sending and receiving information.

6. The adapter of claim 1 , wherein the processor executes an endpoint driver for interfacing with an adapter driver executed by the computing device.

7. The adapter of claim 1 , wherein the processor executes a handler module for processing application control blocks that are generated for any non-input/output commands received from an application executed by the computing device.

8. The adapter of claim 7 , wherein the handler module interfaces with a bridge application module for processing the application control blocks.

9. The adapter of claim 1 , wherein the storage driver interfaces with a RAID module and a SCSI module for storing data at the solid state storage device.

10. The adapter of claim 1 , wherein the storage protocol driver is a Fibre Channel driver and the storage protocol controller is a Fibre Channel controller.

11. An adapter for processing requests from a computing device, comprising:

a processor executing:

a storage protocol driver for interfacing with a storage protocol controller of the adapter that communicates with a storage device of a storage area network (SAN) via a port for providing SAN connectivity to the adapter for processing input/output requests using the SAN storage device;

a storage driver for interfacing with a solid state storage device of the adapter configured as a local caching device for caching data on behalf of the computing device and also operating as a persistent storage device for storing information; and

a bridge application module that interfaces with a thin provisioning module for storing data locally at the solid state storage device; and interfaces with a cluster communication module that communicates with another adapter for sending and receiving information.

12. The adapter of claim 11 , wherein the processor executes a caching module that manages a logical entity that is based on storage space at the solid storage device and used as a cache logical unit number (LUN) for caching data on behalf of a SAN LUN based on storage space at the SAN storage device.

13. The adapter of claim 11 , wherein the processor executes an endpoint driver for interfacing with an adapter driver executed by the computing device.

14. The adapter of claim 11 , wherein the processor executes a handler module for processing application control blocks that are generated for any non-input/output commands received from an application executed by the computing device.

15. The adapter of claim 11 , wherein the storage driver interfaces with a RAID module and a SCSI module for storing data at the solid state storage device.

16. The adapter of claim 11 , wherein the storage protocol driver is a Fibre Channel driver and the storage protocol controller is a Fibre Channel controller.

17. An adapter for processing requests from a computing device, comprising:

a processor executing:

an endpoint driver for interfacing with an adapter driver executed by the computing device;

a handler module for processing application control blocks that are generated for any non-input/output commands received from an application executed by the computing device;

a storage protocol driver for interfacing with a storage protocol controller of the adapter that communicates with a storage device of a storage area network (SAN) via a port for providing SAN connectivity to the adapter for processing input/output requests using the SAN storage device; and

a storage driver for interfacing with a solid state storage device of the adapter configured as a local caching device for caching data on behalf of the computing device and also operating as a persistent storage device for storing information; and

a bridge application module that interfaces with a thin provisioning module for storing data locally at the solid state storage device; and interfaces with a cluster communication module that communicates with another adapter for sending and receiving information.

18. The adapter of claim 17 , wherein the storage driver interfaces with a RAID module and a SCSI module for storing data at the solid state storage device.

19. The adapter of claim 17 , wherein the storage protocol driver is a Fibre Channel driver and the storage protocol controller is a Fibre Channel controller.

20. The adapter of claim 17 , wherein the processor executes a caching module that manages a logical entity that is based on storage space at the solid storage device and used as a cache logical unit number (LUN) for caching data on behalf of a SAN LUN based on storage space at the SAN storage device.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →