IP Library Granted Patent US 9,411,736
Granted Patent B2
US 9,411,736 · App. 13/798,911 · Granted Aug 9, 2016

System and method for an accelerator cache based on memory availability and usage

Inventors: Jason P. O'Broin (San Francisco, CA); Rodney G. Harrison (London, GB); Terence M. Rokop (Aloha, OR)
Assignee: Drobo, Inc.
G06F12/0866G06F3/06G06F3/061G06F3/0656G06F3/0685
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,411,736
App. No.
13/798,911
Granted
Aug 9, 2016
Kind
B2
Abstract

The storage processor of a data storage system such as a storage array automatically configures one or more accelerator caches (“AC”) upon detecting the presence of one or more solid-state storage devices (e.g., SSD drives) installed in the data storage system, such as when a storage device is plugged into a designated slot of the data storage system, without requiring any user configuration of the AC or specification by the user of the type(s) of data to be cached in the AC. The AC therefore provides a zero configuration cache that can be used to cache any of various types of data in the data storage system. The AC cache can be used in any of a wide variety of data storage systems including, without limitation, file servers, storage arrays, computers, etc. Multiple ACs may be created to cache different types of data.

Claims (52)

1. A method of managing an accelerator cache in a data storage system that interfaces with a host storage client, the method comprising:

detecting, by a storage processor of the data storage system, presence of an accelerator cache storage device in the data storage system;

automatically configuring, by the storage processor, an accelerator cache using at least a portion of the storage space of the accelerator cache storage device;

detecting removal of the accelerator cache storage device from the data storage system; and

when the removed storage device was not the last storage device associated with the accelerator cache, continuing use of remaining accelerator cache storage without reinitializing the remaining accelerator cache storage.

2. A method according to claim 1 , where the presence of the accelerator cache storage device is detected during at least one of a system restart or installation of the storage device into the data storage system.

3. A method according to claim 1 , wherein detecting the presence of an accelerator cache storage device comprises at least one of:

detecting the presence of the storage device in a dedicated slot of the data storage system; or

detecting the presence of the storage device in a general-purpose slot of the data storage system.

4. A method according to claim 1 , wherein automatically configuring an accelerator cache using at least a portion of the storage space of the storage device comprises:

determining that no accelerator cache exists in the system;

determining the portion of the storage space of the storage device to use for the accelerator cache; and

creating the accelerator cache.

5. A method according to claim 1 , wherein automatically configuring an accelerator cache using at least a portion of the storage space of the storage device comprises:

determining that an accelerator cache already exists in the data storage system;

determining the portion of the storage space of the storage device to use for the accelerator cache; and

concatenating the portion onto the existing accelerator cache.

6. A method according to claim 1 , further comprising:

populating the accelerator cache based on data stored in a primary storage system.

7. A method according to claim 6 , wherein the data stored in the primary storage system is stored redundantly, and wherein the accelerator cache is used for non-redundant caching of the data.

8. A method according to claim 6 , wherein populating the cache comprises:

populating the cache with data from a transactional storage tier of the primary storage system.

9. A method according to claim 8 , wherein populating the cache with data from the transactional storage tier of the primary storage system comprises:

populating the cache based on a transactional tier prefer-retain least-recently used list.

10. A method according to claim 8 , wherein populating the cache with data from the transactional storage tier of the primary storage system comprises:

populating the cache based on one or more transactional reads per accelerator cache page that cannot be satisfied by the accelerator cache.

11. A method according to claim 1 , further comprising:

when the removed storage device was the last storage device associated with the accelerator cache, automatically disabling the accelerator cache.

12. A method according to claim 1 , further comprising:

upon detecting presence of the accelerator cache storage device in the data storage system, automatically configuring a physical storage tier using a portion of the storage space of the accelerator cache storage device.

13. A data storage system that interfaces with a host storage client, the data storage system comprising:

a storage processor; and

at least one storage slot allowing insertion of an accelerator cache storage device, wherein the storage processor is configured to detect presence of an accelerator cache storage device in the data storage system and automatically configure an accelerator cache using a portion of the storage space of the accelerator cache storage device, and wherein the storage processor is further configured to detect removal of the accelerator cache storage device from the data storage system and, when the removed storage device was not the last storage device associated with the accelerator cache, to continuing use of remaining accelerator cache storage without reinitializing the remaining accelerator cache storage.

14. A system according to claim 13 , where the storage processor detects presence of the storage device during at least one of a system restart or installation of the storage device into the data storage system.

15. A system according to claim 13 , wherein the storage processor detects the presence of the storage device in one of a dedicated slot of the data storage system or a general-purpose slot of the data storage system.

16. A system according to claim 13 , wherein the storage processor is configured to automatically determine the portion of the storage space of the storage device to use for the accelerator cache and create the accelerator cache when no accelerator cache exists in the system.

17. A system according to claim 13 , wherein the storage processor is configured to automatically determine the portion of the storage space of the storage device to use for the accelerator cache and concatenate the portion onto an existing accelerator cache when the accelerator cache already exists in the data storage system.

18. A system according to claim 13 , wherein the storage processor is further configured to populate the accelerator cache based on data stored in a primary storage system.

19. A system according to claim 18 , wherein the data stored in the primary storage system is stored redundantly, and wherein the storage processor is configured to use the accelerator cache for non-redundant caching of the data.

20. A system according to claim 18 , wherein the storage processor is configured to populate the cache with data from a transactional storage tier of the primary storage system.

21. A system according to claim 20 , wherein the storage processor is configured to populate the cache based on a transactional tier prefer-retain least-recently used list.

22. A system according to claim 20 , wherein the storage processor is configured to populate the cache based on one or more transactional reads per accelerator cache page that cannot be satisfied by the accelerator cache.

23. A system according to claim 13 , wherein the storage processor is further configured to automatically disable the accelerator cache when the removed storage device was the last storage device associated with the accelerator cache.

24. A system according to claim 13 , wherein the storage processor is further configured to automatically configure a physical storage tier using a portion of the storage space of the accelerator cache storage device upon detecting presence of the accelerator cache storage device in the data storage system.

25. A method of managing an accelerator cache in a data storage system that interfaces with a host storage client, the method comprising:

detecting, by a storage processor of the data storage system, presence of an accelerator cache storage device in the data storage system;

automatically configuring, by the storage processor, an accelerator cache using at least a portion of the storage space of the accelerator cache storage device;

detecting removal of the accelerator cache storage device from the data storage system; and

when the removed storage device was the last storage device associated with the accelerator cache, automatically disabling the accelerator cache.

26. A data storage system that interfaces with a host storage client, the data storage system comprising:

a storage processor; and

at least one storage slot allowing insertion of an accelerator cache storage device, wherein the storage processor is configured to detect presence of an accelerator cache storage device in the data storage system and automatically configure an accelerator cache using a portion of the storage space of the accelerator cache storage device, and wherein the storage processor is further configured to detect removal of the accelerator cache storage device from the data storage system and, when the removed storage device was the last storage device associated with the accelerator cache, to automatically disable the accelerator cache.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: STORCENTRIC, INC.; DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; VS ACQUISITION COMPANY, LLC; CONNECTED DATA, INC.; RETROSPECT, INC.
To: STORCENTRIC DIP LENDER, LLC
Reel/Frame 063416/0914 →
RELEASE OF SECURITY INTEREST Recorded Apr 24, 2023
From: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION
To: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
Reel/Frame 063414/0816 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER: 13532559 PREVIOUSLY RECORDED AT REEL: 051860 FRAME: 0839. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 10, 2021
From: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
To: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION, AS TRUSTEE
Reel/Frame 057156/0743 →
SECURITY INTEREST Recorded Feb 19, 2020
From: STORCENTRIC, INC.; CONNECTED DATA, INC.; DROBO, INC.; NEXSAN TECHNOLOGIES INCORPORATED; NEXSAN CORPORATION; RETROSPECT, INC.
To: NEWLIGHT CAPITAL, LLC; UMB BANK, NATIONAL ASSOCIATION, AS TRUSTEE
Reel/Frame 051860/0839 →
RELEASE OF SECURITY INTEREST Recorded Feb 19, 2020
From: GORDON BROTHERS FINANCE CO.
To: STORCENTRIC, INC.; DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; CONNECTED DATA, INC.; NEXSAN TECHNOLOGIES LIMITED; NEXSAN TECHNOLOGIES CANADA INC.
Reel/Frame 051864/0774 →
SHORT FORM INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 17, 2018
From: DROBO, INC.; NEXSAN CORPORATION; NEXSAN TECHNOLOGIES INCORPORATED; CONNECTED DATA, INC.; NEXSAN TECHNOLOGIES LIMITED; NEXSAN TECHNOLOGIES CANADA INC.; DROBO LIMITED
To: GORDON BROTHERS FINANCE COMPANY, AS AGENT
Reel/Frame 046845/0495 →
RELEASE OF SECURITY INTEREST Recorded Aug 17, 2018
From: MONTAGE CAPITAL II, LP
To: DROBO, INC.
Reel/Frame 047881/0892 →
RELEASE OF SECURITY INTEREST Recorded Aug 17, 2018
From: EAST WEST BANK
To: DROBO, INC.
Reel/Frame 046847/0959 →
RELEASE OF SECURITY INTEREST Recorded Oct 27, 2017
From: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
To: DROBO, INC.
Reel/Frame 044311/0620 →
SECURITY INTEREST Recorded Sep 29, 2017
From: DROBO, INC.
To: MONTAGE CAPITAL II, L.P.
Reel/Frame 043745/0096 →
SECURITY INTEREST Recorded May 18, 2015
From: DROBO, INC.
To: EAST WEST BANK
Reel/Frame 035663/0328 →
SECURITY INTEREST Recorded Jun 11, 2014
From: DROBO, INC.
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 033126/0737 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2013
From: O'BROIN, JASON P.; HARRISON, RODNEY G.; ROKOP, TERENCE M.
To: DROBO, INC.
Reel/Frame 030158/0133 →
Continuity (1)
Related Publication 20140281228A1 · Sep 18, 2014