IP Library Granted Patent US 9,172,586
Granted Patent B1
US 9,172,586 · App. 13/902,427 · Granted Oct 27, 2015

Method and system for writing tag and data

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,172,586
App. No.
13/902,427
Granted
Oct 27, 2015
Kind
B1
Abstract

A computing device having a processor for executing an application for generating an input/output (I/O) request for writing data to a logical object presented to the application; and a device interfacing with the computing device having a processor for generating a single I/O command for writing data in response to the I/O request and writing a tag that is associated with the data are provided. The tag includes an identifier for the logical object used for writing the data at a storage device and a logical address for a location at the storage device where the data is written. Furthermore, the tag is stored at a memory device of the device, while the data is stored at a local caching device, at a storage area network (SAN) storage device or both.

Claims (30)

1. A network device interfacing with a computing system, comprising:

a processor for generating a single input/output (I/O) command for writing data in response to an I/O request and also writing a tag that is associated with the data;

wherein the tag includes a logical object identifier used for writing the data at a storage device and a logical address for a location at the storage device where the data is written;

wherein the tag is stored by the network device at a memory device of the network device, while the data is stored at a local caching device, at a storage area network (SAN) storage device or both by the network device; and

wherein the network device is an adapter having a storage protocol controller for interfacing with the SAN storage device and a controller for interfacing with the local caching device.

2. The network device of claim 1 , wherein the local caching device is a solid state memory device that is managed by the network device.

3. The network device of claim 1 , wherein the I/O command generated by the network device is a small computer systems interface command data block that includes a first segment and a second segment.

4. The network device of claim 3 , wherein the first segment is used to store the data and the second segment is used to store the tag and the second segment further stores information regarding a logical object used for storing the tag.

5. The network device of claim 4 , wherein the logical object for storing the tag is a logical unit number (LUN) used by the network device to write the tag.

6. The network device of claim 1 , wherein the logical object identifier used for writing the data at the storage device identifies a logical unit number (LUN) presented to the computing system for reading and writing information.

7. A system, comprising:

a computing device having a processor for executing an application for generating an input/output (I/O) request for writing data to a logical object presented to the application; and

a device interfacing with the computing device having a processor for generating a single I/O command for writing data in response to the I/O request and also writing a tag that is associated with the data;

wherein the tag includes an identifier for the logical object used for writing the data at a storage device and a logical address for a location at a storage device where the data is written;

wherein the tag is stored at by device at a memory device of the device, while the data is stored at a local caching device, at a storage area network (SAN) storage device or both by the device; and wherein the device is an adapter having a storage protocol controller for interfacing with the SAN storage device and a controller for interfacing with the local caching device.

8. The system of claim 7 , wherein the local caching device is a solid state memory device that is managed by the device.

9. The system of claim 7 , wherein the I/O command generated by the device is a small computer systems interface command data block that includes a first segment and a second segment.

10. The system of claim 9 , wherein the first segment is used to store the data and the second segment is used to store the tag and the second segment further stores information regarding the logical object used for storing the tag.

11. The system of claim 10 , wherein the logical object for storing the tag is a logical unit number (LUN) used by the device to write the tag.

12. The system of claim 7 , wherein the logical object identifier used for writing the data at the storage device identifies a logical unit number (LUN) presented to the computing system for reading and writing information.

13. A machine implemented method, comprising:

a processor executing an application generating an input/output (I/O) request for writing data to a logical object presented to the application; and

a device interfacing with the computing device generating a single I/O command for writing data in response to the I/O request and also writing a tag that is associated with the data;

wherein the tag includes an identifier for the logical object used for writing the data at a storage device and a logical address for a location at the storage device where the data is written;

wherein the tag is stored by the device at a memory device of the device, while the data is stored at a local caching device, at a storage area network (SAN) storage device or both by the device; and wherein the device is an adapter having a storage protocol controller for interfacing with the SAN storage device and a controller for interfacing with the local caching device.

14. The method of claim 13 , wherein the local caching device is a solid state memory device that is managed by the device.

15. The method of claim 13 , wherein the I/O command generated by the device is a small computer systems interface command data block that includes a first segment and a second segment.

16. The method of claim 15 , wherein the first segment is used to store the data and the second segment is used to store the tag and the second segment further stores information regarding the logical object used for storing the tag.

17. The method of claim 16 , wherein the logical object for storing the tag is a logical unit number (LUN) used by the device to write the tag.

18. The method of claim 13 , wherein the logical object identifier used for writing the data at the storage device identifies a logical unit number (LUN) presented to the computing system for reading and writing information.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2013
From: SHAH, SHISHIR; SINGH, AJMER
To: QLOGIC, CORPORATION
Reel/Frame 030484/0872 →