IP Library Granted Patent US 9,218,257
Granted Patent B2
US 9,218,257 · App. 13/689,074 · Granted Dec 22, 2015

Methods for managing failure of a solid state device in a caching storage

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,218,257
App. No.
13/689,074
Granted
Dec 22, 2015
Kind
B2
Abstract

Techniques for managing caching use of a solid state device are disclosed. In some embodiments, the techniques may be realized as a method for managing caching use of a solid state device. Management of the caching use may include receiving, at a host device, notification of failure of a solid state device. In response to the notification a cache mode may be set to uncached. In uncached mode input/output (I/O) requests may be directed to uncached storage (e.g., disk).

Claims (47)

1. A method for managing caching use of a first solid state device and a second solid state device comprising:

receiving, at a host device, a first notification of failure of a first solid state device that is configured to operate as a cache memory device;

setting, using a computer processor, a cache mode to uncached in response to the first notification;

directing input/output (I/O) requests to uncached storage based on the cache mode setting of uncached;

wherein in the event an input/output (I/O) request is sent prior to cache failure and not returned prior to the failure of the solid state device, the input/output (I/O) request may be retried and handled by uncached storage without disrupting the host device;

receiving, at the host device, a second notification indicating that the second solid state device, configured to operate as a cache memory device, has been detected;

comparing, upon the detection of the second solid state device, a storage size of the second solid state device and a storage size of the first solid state device;

when the storage size of the second solid state device is different from the storage size of the first solid state device, adjusting an amount of data to be cached in the second solid state device;

initializing the second solid state device; and

receiving, at the host device, information about a process sending the I/O requests; and

excluding the I/O requests in caching statistics based on the process sending the I/O requests.

2. The method of claim 1 , wherein the uncached storage comprises disk based storage.

3. The method of claim 1 , further comprising, when the storage size of the second solid state device is less than the storage size of the first solid state device, decreasing the amount of data to be cached according to the storage size of the second solid state device.

4. The method of claim 3 , wherein decreasing of the amount of data to be cached is performed by cache management software of the host device.

5. The method of claim 1 , further comprising, when the storage size of the second solid state device is greater than the storage size of the first solid state device, increasing the amount of data to be cached according to the storage size of the second solid state device.

6. The method of claim 5 , wherein increasing of the amount of data to be cached is performed by cache management software of the host device.

7. The method of claim 1 , wherein the host device comprises at least one of: an enterprise server, a database server, a workstation, a computer, a mobile phone, a game device, a personal digital assistant (PDA), an email/text messaging device, a digital camera, a digital media (e.g., MP3) player, a GPS navigation device, and a TV system.

8. The method of claim 1 , further comprising:

upon detection of the second solid state device, setting the cache mode to cached; and

directing input/output requests to the second solid state device based on the cache mode setting of cached.

9. The method of claim 1 , further comprising:

receiving, at the host device, at least one additional notification of failure of the first solid state device; and

ignoring the at least one additional notification of failure of the first solid state device.

10. The method of claim 1 , wherein excluding the I/O requests in caching statistics based on the process comprises excluding, from the caching statistics, I/O requests generated by one of a virus scan, a backup process, an archive process, a software installation, or a software upgrade.

11. A computer program product comprised of a series of instructions executable on a computer, the computer program product performing a process for managing caching use of a first solid state device and a second solid state device, the computer program product implementing the steps of:

receiving, at a host device, a first notification of failure of the first solid state device that is configured to operate as a cache memory device;

setting a cache mode to uncached in response to the first notification;

directing input/output (I/O) requests to uncached storage based on the cache mode setting of uncached;

wherein in the event an input/output (I/O) request is sent prior to cache failure and not returned prior to the failure of the first solid state device, the input/output (I/O) request may be retried and handled by uncached storage without disrupting the host device;

receiving a second notification indicating that the second solid state device, configured to operate as a cache memory device, has been detected;

comparing, upon the detection of the second solid state device, a storage size of the second solid state device and a storage size of the first solid state device;

when the storage size of the second solid state device is different from the storage size of the first solid state device, adjusting an amount of data to be cached in the second solid state device;

initializing the second solid state device; and

receiving, at the host device, information about a process sending the I/O requests; and

excluding the I/O requests in caching statistics based on the process sending the I/O requests.

12. The computer program product of claim 11 , wherein the uncached storage comprises disk based storage.

13. The computer program product of claim 11 , wherein when the storage size of the second solid state device is less than the storage size of the first solid state device, an amount of data cached is decreased according to the storage size of the second solid state device.

14. The computer program product of claim 11 , wherein when the storage size of the second solid state device is greater than the storage size of the first solid state device, an amount of data cached is increased according to the storage size of the second solid state device.

15. The computer program product of claim 11 , wherein the computer program product comprises cache management software of the host device.

16. The computer program product of claim 11 , wherein the host device comprises at least one of: an enterprise server, a database server, a workstation, a computer, a mobile phone, a game device, a personal digital assistant (PDA), an email/text messaging device, a digital camera, a digital media (e.g., MP3) player, a GPS navigation device, and a TV system.

17. The computer program product of claim 11 , wherein the second notification of the second solid state device is received from a device manager of the host device.

18. The computer program product of claim 11 , wherein the computer program implements the steps of:

upon detection of the second solid state device, setting the cache mode to cached; and

directing input/output requests to the second solid state device based on the cache mode setting of cached.

19. The computer program product of claim 11 , wherein the computer program implements the steps of:

receiving, at the host device, at least one additional notification of failure of the first solid state device; and

ignoring the at least one additional notification of failure of the first solid state device.

Assignments (11)
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2015
From: KAZEMI, SAIED; CHOUDHURI, SIDDHARTH
To: STEC, INC.
Reel/Frame 036947/0745 →