IP Library Granted Patent US 9,836,427
Granted Patent B2
US 9,836,427 · App. 14/983,308 · Granted Dec 5, 2017

Library for seamless management of storage devices

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,836,427
App. No.
14/983,308
Granted
Dec 5, 2017
Kind
B2
Abstract

An approach for using a storage library to translate commands from one command language into a different command language. The approach includes receiving a storage request in a command language from an application. The storage request is directed to a target storage device that uses a different command language. The storage request is translated into the different command language of the target storage device using a storage library of command languages and the storage request is performed.

Claims (37)

1. A method comprising:

receiving a storage request in a first command language from an application;

determining a storage path for the storage request, the storage path including a target storage device accessible via a plurality of Redundant Array of Independent Disks (RAID) controllers;

identifying a second command language for accessing the target storage device;

translating the storage request from the first command language into the second command language by accessing a storage library of command languages; and

performing the storage request using the second command language to access the target storage device, wherein the target storage device is accessed through a plurality of storage controllers including a first RAID controller and a second RAID controller, the first RAID controller and the second RAID controller accessed using different command languages.

2. The method of claim 1 , wherein the storage request is received via an application program interface provided by the storage library.

3. The method of claim 1 , wherein the target storage device is connected using a protocol specification selected from one of Small Computer System Interface (SCSI), AT Attachment (ATA), Serial ATA (SATA), Serial Attached SCSI (SAS), or Non-Volatile Memory express (NVMe).

4. The method of claim 1 , wherein the second command language is a specific command language for the second RAID controller.

5. The method of claim 1 , wherein the storage library is a collection of manufacturer specific command languages for accessing storage devices from different manufacturers.

6. The method of claim 1 , wherein the storage request is a command for updating firmware of the target storage device.

7. The method of claim 1 , wherein the storage request is a command to retrieve SMART (Self-Monitoring, Analysis and Reporting Technology) statistics.

8. The method of claim 1 , wherein the storage request is a command to format one or more sectors.

9. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to:

receive a storage request in a first command language from an application;

determine a storage path for the storage request, the storage path including a target storage device accessible via a plurality of Redundant Array of Independent Disks (RAID) controllers;

identify a second command language for accessing the target storage device;

translate the storage request from the first command language into the second command language by accessing a storage library of command languages; and

perform the storage request using the second command language to access the target storage device, wherein the target storage device is accessed through a plurality of storage controllers including a first RAID controller and a second RAID controller, the first RAID controller and the second RAID controller accessed using different command languages.

10. The system of claim 9 , wherein the storage request is received via an application program interface provided by the storage library.

11. The system of claim 9 , wherein the second command language is a specific command language for the second RAID controller.

12. The system of claim 9 , wherein the storage library is a collection of manufacturer specific command languages for accessing storage devices from different manufacturers.

13. A computer program product comprising a computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to:

receive a storage request in a first command language from an application;

determine a storage path for the storage request, the storage path including a target storage device accessible via a plurality of Redundant Array of Independent Disks (RAID) controllers;

identify a second command language for accessing the target storage device;

translate the storage request from the first command language into the second command language by accessing a storage library of command languages; and

perform the storage request using the second command language to access the target storage device, wherein the target storage device is accessed through a plurality of storage controllers including a first RAID controller and a second RAID controller, the first RAID controller and the second RAID controller being accessed using different command languages.

14. The computer program product of claim 13 , wherein the storage request is received via an application program interface provided by the storage library.

15. The computer program product of claim 13 , wherein the target storage device is connected using a protocol specification selected from one of Small Computer System Interface (SCSI), AT Attachment (ATA), Serial ATA (SATA), Serial Attached SCSI (SAS), or Non-Volatile Memory express (NVMe).

16. The computer program product of claim 13 , wherein the second command language is a specific command language for the second RAID controller.

17. The computer program product of claim 13 , wherein the storage library is a collection of manufacturer specific command languages for accessing storage devices from different manufacturers.

18. The system of claim 9 , wherein the target storage device is connected using a protocol specification selected from one of Small Computer System Interface (SCSI), AT Attachment (ATA), Serial ATA (SATA), Serial Attached SCSI (SAS), or Non-Volatile Memory express (NVMe).

19. The system of claim 9 , wherein the storage request is a command to format one or more sectors.

20. The computer program product of claim 13 , wherein the storage request is a command to format one or more sectors.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2015
From: VAISHNAV, YATINDRA
To: HGST NETHERLANDS B.V.
Reel/Frame 037386/0909 →