IP Library Granted Patent US 9,792,218
Granted Patent B2
US 9,792,218 · App. 13/112,131 · Granted Oct 17, 2017

Data storage methods and apparatuses for reducing the number of writes to flash-based storage

Inventor: Robert C Duzett (Hillsboro, OR)
Assignee: ARRIS Enterprises LLC
G06F12/0897G06F12/0866G06F12/0888G06F2212/222G06F2212/225G06F2212/464
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,792,218
App. No.
13/112,131
Granted
Oct 17, 2017
Kind
B2
Abstract

Methods and apparatuses are provided for reducing the number of write operations to a flash-based storage system that stores and replaces data. The storage system includes a first storage implemented using non-flash storage and a second storage implemented using flash memory. Missed data is first stored in the first storage, which can be less sensitive than flash to write operations. The missed data is stored in the flash-based second storage only after the missed data satisfies a storage management algorithm.

Claims (54)

1. A computer-implemented method of reducing a number of write operations to storage, the method comprising:

receiving a request for data;

determining whether the requested data is stored in either a primary storage or a secondary storage, wherein the primary storage comprises flash-based storage, and wherein the secondary storage is non-flash storage;

retrieving the requested data from an external storage and storing the retrieved data in the secondary storage if the requested data is not stored in either the primary storage or the secondary storage, wherein the retrieved data from the external storage is not simultaneously stored to both the primary storage and secondary storage; and

retrieving the requested data from the secondary storage and storing the requested data in the primary storage based on a storage management algorithm if the requested data is not stored in the primary storage but stored in the secondary storage, wherein, according to the storage management algorithm, the requested data is stored in the primary storage after the data has been requested a predetermined number of times.

2. The computer-implemented method of claim 1 wherein the primary storage includes flash and a second storage media.

3. The computer-implemented method of claim 1 further comprising replacing stored data in the secondary storage with the retrieved data based on a first replacement algorithm.

4. The computer-implemented method of claim 1 further comprising removing from the secondary storage the retrieved data stored in the secondary storage after it is stored in the primary storage.

5. The computer-implemented method of claim 1 wherein retrieving the requested data from the secondary storage and storing the requested data in the primary storage based on a storage management algorithm if the requested data is not stored in the primary storage but stored in the secondary storage comprises storing the retrieved data from the secondary storage in the primary storage after the retrieved data has been stored in the secondary storage and requested a predetermined number of times.

6. The computer-implemented method of claim 1 further comprising replacing stored data in the primary storage with the retrieved data stored in the secondary storage based on a second replacement algorithm.

7. The computer-implemented method of claim 1 wherein the requested data is video.

8. A storage system comprising:

primary storage, wherein the primary storage comprises flash-based storage;

secondary storage, wherein the secondary storage is non-flash storage; and

a non-transitory computer readable medium having instructions stored thereon for causing a computer to execute a method for reducing the number of write operations to the primary storage, the method comprising:

determining whether requested data is stored in either the primary storage or the secondary storage;

retrieving the requested data from an external storage and storing the retrieved data in the secondary storage if the requested data is not stored in either the primary storage or the secondary storage, wherein the retrieved data from the external storage is not simultaneously stored to both the primary storage and secondary storage; and

retrieving the requested data from the secondary storage and storing the requested data in the primary storage based on a storage management algorithm if the requested data is not stored in the primary storage but stored in the secondary storage, wherein, according to the storage management algorithm, the requested data is stored in the primary storage after the data has been requested a predetermined number of times.

9. The storage system of claim 8 wherein the primary storage includes flash and a second storage media.

10. The storage system of claim 8 , the method further comprising replacing stored data in the secondary storage with the retrieved data based on a first replacement algorithm.

11. The storage system of claim 8 , the method further comprising removing from the secondary storage the retrieved data stored in the secondary storage after it is stored in the primary storage.

12. The storage system of claim 8 wherein retrieving the requested data from the secondary storage and storing the requested data in the primary storage based on a storage management algorithm if the requested data is not stored in the primary storage but stored in the secondary storage comprises storing the retrieved data from the secondary storage in the primary storage after the retrieved data has been stored in the secondary storage and requested a predetermined number of times.

13. The storage system of claim 8 , the method further comprising replacing stored data in the primary storage with the retrieved data stored in the secondary storage based on a second replacement algorithm.

14. The storage system of claim 8 wherein the requested data is video.

15. A computer-implemented method of reducing a number of write operations to storage, the method comprising:

receiving a request for data;

determining whether the requested data is stored in a primary storage, wherein the primary storage comprises flash-based storage;

retrieving the requested data from an external storage if the requested data is not stored in the primary storage, wherein the external storage is non-flash storage;

determining whether a reference to the requested data is stored in a secondary storage, wherein the external storage is non-flash storage;

storing in the secondary storage a reference to the requested data if the requested data is not stored in the primary storage and a reference to the requested data is not stored in the secondary storage, wherein the reference to the requested data comprises a reference to the requested data at the external storage; and

storing in the primary storage the retrieved data based on a storage management algorithm, wherein, according to the storage management algorithm, the retrieved data is stored in the primary storage after the data has been requested a predetermined number of times;

wherein the retrieved data from the external storage is not simultaneously stored to both the primary storage and secondary storage.

16. The computer-implemented method of claim 15 wherein the primary storage includes flash and a second storage media.

17. The computer-implemented method of claim 15 wherein storing in the secondary storage a reference to the requested data if the requested data is not stored in the primary storage and a reference to the requested data is not stored in the secondary storage comprising replacing in the secondary storage a stored reference to data in the external storage with the reference to the requested data based on a first replacement algorithm.

18. The computer-implemented method of claim 15 further comprising incrementing a counter for the requested data each time the requested data is retrieved from the external storage.

19. The computer-implemented method of claim 18 wherein storing in the primary storage the retrieved data based on a storage management algorithm comprises storing the retrieved data from the external storage in the primary storage after the retrieved data has been requested a predetermined number of times based on the counter.

20. The computer-implemented method of claim 15 further comprising replacing stored data in the primary storage with the retrieved data based on a second replacement algorithm.

21. The computer-implemented method of claim 15 wherein the requested data is video.

22. A storage system comprising:

primary storage, wherein the primary storage comprises flash-based storage;

secondary storage, wherein the secondary storage is non-flash storage; and

a non-transitory computer readable medium having instructions stored thereon for causing a computer to execute a method for reducing the number of write operations to the primary storage, the method comprising:

determining whether requested data is stored in the primary storage;

retrieving the requested data from an external storage if the requested data is not stored in the primary storage, wherein the external storage is non-flash storage;

determining whether a reference to the requested data is stored in the secondary storage;

storing in the secondary storage a reference to the requested data if the requested data is not stored in the primary storage and a reference to the requested data is not stored in the secondary storage, wherein the reference to the requested data comprises a reference to the requested data at the external storage; and

storing in the primary storage the retrieved data based on a storage management algorithm, wherein, according to the storage management algorithm, the retrieved data is stored in the primary storage after the data has been requested a predetermined number of times;

wherein the retrieved data from the external storage is not simultaneously stored to both the primary storage and secondary storage.

23. The storage system of claim 22 wherein the primary storage includes flash and a second storage media.

24. The storage system of claim 22 , wherein storing in the secondary storage a reference to the requested data if the requested data is not stored in the primary storage and a reference to the requested data is not stored in the secondary storage comprising replacing in the secondary storage a stored reference to data in the external storage with the reference to the requested data based on a first replacement algorithm.

25. The storage system of claim 22 , the method further comprising incrementing a counter for the requested data each time the requested data is retrieved from the external storage.

26. The storage system of claim 25 , wherein storing in the primary storage the retrieved data based on a storage management algorithm comprises storing the retrieved data from the external storage in the primary storage after the retrieved data has been requested a predetermined number of times based on the counter.

27. The storage system of claim 22 , the method further comprising replacing stored data in the primary storage with the retrieved data based on a second replacement algorithm.

28. The storage system of claim 22 wherein the requested data is video.

Assignments (12)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2011
From: DUZETT, ROBERT C.
To: ARRIS GROUP, INC.
Reel/Frame 026502/0988 →
Continuity (1)
Related Publication 20120297112A1 · Nov 22, 2012