IP Library Granted Patent US 9,213,628
Granted Patent B2
US 9,213,628 · App. 12/836,520 · Granted Dec 15, 2015

Methods and systems for reducing churn in flash-based cache

Inventors: Umesh Maheshwari (San Jose, CA); Varun Mehta (Los Altos Hills, CA)
Assignee: Nimble Storage, Inc.
G06F12/0246G06F12/0866G06F12/0888G06F2212/222G06F2212/28G06F2212/7205
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,213,628
App. No.
12/836,520
Granted
Dec 15, 2015
Kind
B2
Abstract

A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.

Claims (20)

1. A method for a storage device having a flash memory-based cache and a disk-based storage unit, the method comprising:

receiving data at the storage device, the data including sequentially-accessed data; and

performing, by a controller of the storage device, a selective caching of the sequentially-accessed data, wherein the selective caching comprises:

if the sequentially-accessed data can be read from the disk-based storage unit at a substantially similar data rate as from the flash memory-based cache, writing the sequentially-accessed data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache; and

if the sequentially-accessed data cannot be read from the disk-based storage unit at a substantially similar data rate as from the flash memory-based cache, writing the sequentially-accessed data to both the flash memory-based cache and the disk-based storage unit.

2. The method of claim 1 , wherein a size of the sequentially-accessed data is greater than 1 megabyte (MB).

3. The method of claim 1 , wherein the selective caching of the sequentially-accessed data comprises a selective write-through caching of the sequentially-accessed data.

4. The method of claim 1 , wherein the selective caching of the sequentially-accessed data is applied on writes but is not applied on read misses.

5. A storage device, comprising a flash memory-based cache, a disk-based storage unit and a controller, the controller (i) communicatively coupled to the flash memory-based cache and the disk-based storage unit; and (ii) configured to:

receive data at the storage device, the data including sequentially-accessed data; and

perform a selective caching of the sequentially-accessed data, wherein the selective caching comprises:

if the sequentially-accessed data can be read from the disk-based storage unit at a substantially similar data rate as from the flash memory-based cache, writing the sequentially-accessed data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache; and

if the sequentially-accessed data cannot be read from the disk-based storage unit at a substantially similar data rate as from the flash memory-based cache, writing the sequentially-accessed data to both the flash memory-based cache and the disk-based storage unit.

6. The storage device of claim 5 , wherein a size of the sequentially-accessed data is greater than 1 megabyte (MB).

7. A non-transitory computer-readable storage medium comprising software instructions that, when executed by a controller of a storage device, cause the controller to:

receive data at the storage device, the data including sequentially-accessed data; and

perform a selective caching of the sequentially-accessed data, wherein the selective caching comprises:

if the sequentially-accessed data can be read from a disk-based storage unit of the storage device at a substantially similar data rate as from a flash memory-based cache of the storage device, writing the sequentially-accessed data only to the disk-based storage unit so as to reduce the amount of data written to the flash memory-based cache; and

if the sequentially-accessed data cannot be read from the disk-based storage unit at a substantially similar data rate as from the flash memory-based cache, writing the sequentially-accessed data to both the flash memory-based cache and the disk-based storage unit.

8. The non-transitory computer-readable storage medium of claim 7 , wherein a size of the sequentially-accessed data is greater than 1 megabyte (MB).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: NIMBLE STORAGE, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 042810/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2010
From: MAHESHWARI, UMESH; MEHTA, VARUN
To: NIMBLE STORAGE, INC.
Reel/Frame 024918/0051 →
Continuity (1)
Related Publication 20120017034A1 · Jan 19, 2012