IP Library Granted Patent US 9,176,874
Granted Patent B1
US 9,176,874 · App. 14/750,734 · Granted Nov 3, 2015

Direct mapping of data in a storage system with a flash cache

Inventor: Umesh Maheshwari (San Jose, CA)
Assignee: Nimble Storage, Inc.
G06F12/0638G06F12/0246G06F12/0866G06F12/0873G11C7/1072G11C14/0018G06F2212/205G06F2212/7201
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,176,874
App. No.
14/750,734
Granted
Nov 3, 2015
Kind
B1
Abstract

A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.

Claims (12)

1. A method, comprising:

receiving, by a controller of a storage system, a request for data stored at a first block address of a disk-based storage unit of the storage system;

in response to the request, accessing by the controller a direct mapping which maps respective block addresses of the disk-based storage unit with respective physical addresses of a flash memory-based cache of the storage system; and

if an entry for the first block address exists in the direct mapping, (i) translating, by the controller via the direct mapping, the first block address into a first physical address of the flash memory-based cache, and (ii) returning by the controller data stored at the first physical address of the flash memory-based cache; otherwise, returning by the controller the data stored at the first block address of the disk-based storage unit.

2. The method of claim 1 , wherein the data stored at the first physical address of the flash memory-based cache corresponds to the data stored at the first block address of the disk-based storage unit.

3. The method of claim 1 , wherein the direct mapping is stored in a dynamic random access memory (DRAM) accessible to the controller.

4. A storage system, comprising a flash memory-based cache, a disk-based storage unit, and a controller communicatively coupled to the flash memory-based cache and the disk-based storage unit, the controller configured to:

receive a request for data stored at a first block address of the disk-based storage unit;

access a direct mapping which maps respective block addresses of the disk-based storage unit with respective physical addresses of the flash memory-based cache; and

if an entry for the first block address exists in the direct mapping, (i) translate via the direct mapping the first block address into a first physical address of the flash memory-based cache, and (ii) return data stored at the first physical address of the flash memory-based cache; otherwise, return the data stored at the first block address of the disk-based storage unit.

5. The storage system of claim 4 , wherein the data stored at the first physical address of the flash memory-based cache corresponds to the data stored at the first block address of the disk-based storage unit.

6. The storage system of claim 4 , wherein the direct mapping is stored in a dynamic random access memory (DRAM) accessible to the controller.

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 Jul 1, 2015
From: MAHESHWARI, UMESH
To: NIMBLE STORAGE, INC.
Reel/Frame 035967/0715 →
Continuity (4)
Continuation 14656568 · Mar 12, 2015
Continuation 14221894 · Mar 21, 2014
Continuation 13595211 · Aug 27, 2012
Continuation 12636693 · Dec 11, 2009