IP Library Granted Patent US 10,146,700
Granted Patent B2
US 10,146,700 · App. 15/266,486 · Granted Dec 4, 2018

Systems and methods for storage space recovery

Inventors: David Flynn (Sandy, UT); Bert Lagerstedt (Pleasant Grove, UT); John Strasser (Syracuse, UT); Jonathan Thatcher (Liberty Lake, WA); John Walker (Riverton, UT); Michael Zappe (Arvada, CO)
Assignee: LONGITUDE ENTERPRISE FLASH S.A.R.L.
G06F12/121G06F1/183G06F3/0604G06F3/065G06F3/0608G06F3/0613G06F3/0619G06F3/0643G06F3/0652G06F3/0656G06F3/0659G06F3/0679G06F3/0685G06F3/0688G06F9/52G06F9/54G06F11/108G06F12/0246G06F12/0804G06F12/0868G06F12/12G06F12/123G06F13/28G06F13/4022G06F13/426H04L67/02H05K7/1444H05K7/1487G06F2211/002G06F2211/103G06F2212/1044G06F2212/2022G06F2212/222G06F2212/69G06F2212/70G06F2212/7205H04L67/1097Y02D10/13Y02D10/14Y02D10/151
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 10,146,700
App. No.
15/266,486
Granted
Dec 4, 2018
Kind
B2
Abstract

One apparatus includes a storage division selection module configured to select a storage division of a solid-state storage medium for recovery. The solid-state storage medium includes a plurality of storage divisions. Each storage division includes a plurality of storage locations. The apparatus also includes an erase module configured to erase the selected storage division. The apparatus includes a storage division recovery module configured to store a sequence indicator in the erased storage division. The sequence indicator is indicative of an ordered sequence of the plurality of storage divisions, and the sequence indicator is determined by reading information stored with data on the plurality of storage divisions.

Claims (38)

1. An apparatus comprising:

a storage division selection module configured to select a storage division of a solid-state storage medium for recovery, wherein the solid-state storage medium comprises a plurality of storage divisions, and wherein each storage division comprises a plurality of storage locations;

an erase module configured to erase the selected storage division; and

a storage division recovery module configured to store a sequence indicator in the erased storage division, wherein the sequence indicator is indicative of an ordered sequence of the plurality of storage divisions, and the sequence indicator is determined by reading information stored with data on the plurality of storage divisions.

2. The apparatus of claim 1 , further comprising a storage module configured to store a data segment in a physical location of the erased storage division in response to a storage request.

3. The apparatus of claim 2 , wherein the erased storage division is selected for writing in accordance with the stored sequence indicator.

4. The apparatus of claim 2 , further comprising an index module configured to create an entry in an index, the entry mapping a logical identifier associated with the data segment to the physical location of the erased storage division.

5. The apparatus of claim 2 , further comprising an index reconstruction module configured to identify a most recent data segment associated with a logical identifier from a plurality of data segments associated with the logical identifier, wherein the most recent data segment is identified in accordance with the sequence indicator stored in the erased storage division.

6. The apparatus of claim 5 , wherein the data segment comprises a data packet and the most recent data segment is further identified in accordance with information stored in a header of the data packet.

7. The apparatus of claim 2 , wherein the data segment is associated with an object comprising data stored in a plurality of object data packets.

8. The apparatus of claim 7 , further comprising an index module configured to create an entry in an index, the entry mapping an object identifier associated with the plurality of object data packets to physical locations at which the object data packets are stored.

9. The apparatus of claim 1 , wherein the apparatus comprises a storage controller and wherein the storage division selection module, the erase module and the storage division recovery module are comprised within the storage controller.

10. A method of managing data stored in a solid-state storage medium, the method comprising:

selecting a storage division of a solid-state storage medium for recovery, wherein the solid-state storage medium comprises a plurality of storage divisions, and wherein each storage division comprises a plurality of storage locations;

erasing the selected storage division; and

storing a sequence indicator in the erased storage division, wherein the sequence indicator is indicative of an ordered sequence of the plurality of storage divisions, and the sequence indicator is determined by reading information stored with data on the plurality of storage divisions.

11. The method of claim 10 , further comprising storing a data segment in a physical location of the erased storage division in response to a storage request.

12. The method of claim 11 , further comprising selecting the erased storage division for writing in accordance with the stored sequence indicator.

13. The method of claim 11 , further comprising creating an entry in an index, the entry mapping a logical identifier associated with the data segment to the physical location of the erased storage division.

14. The method of claim 11 , further comprising identifying a most recent data segment associated with a logical identifier from a plurality of data segments associated with the logical identifier, wherein the most recent data segment is identified in accordance with the sequence indicator stored in the erased storage division.

15. The method of claim 14 , wherein the data segment comprises a data packet and the method further comprises identifying the most recent data segment in accordance with information stored in a header of the data packet.

16. The method of claim 11 , wherein the data segment is associated with an object comprising data stored in a plurality of object data packets and the method further comprises:

creating an entry in an index, wherein the entry maps an object identifier associated with the plurality of object data packets to physical locations at which the object data packets are stored.

17. A non-transitory computer-readable medium, executable to perform operations for managing data stored in a solid-state storage medium, the operations comprising:

selecting a storage division of a solid-state storage medium for recovery, wherein the solid-state storage medium comprises a plurality of storage divisions, and wherein each storage division comprises a plurality of storage locations;

erasing the selected storage division; and

storing a sequence indicator in the erased storage division, wherein the sequence indicator is indicative of an ordered sequence of the plurality of storage divisions, and the sequence indicator is determined by reading information stored with data on the plurality of storage divisions.

18. The computer-readable medium of claim 17 , wherein the operations further comprise:

storing a data segment in a physical location of the erased storage division in response to a storage request.

19. The computer-readable medium of claim 18 , wherein the operations further comprise:

selecting the erased storage division for writing in accordance with the stored sequence indicator.

20. The computer-readable medium of claim 18 , wherein the operations further comprise:

creating an entry in an index, the entry mapping a logical identifier associated with the data segment to the physical location of the erased storage division.

21. The computer-readable medium of claim 18 , wherein the operations further comprise:

identifying a most recent data segment associated with a logical identifier from a plurality of data segments associated with the logical identifier, wherein the most recent data segment is identified in accordance with the sequence indicator stored in the erased storage division.

22. The computer-readable medium of claim 21 , wherein the data segment comprises a data packet and the operations further comprise identifying the most recent data segment in accordance with information stored in a header of the data packet.

23. The computer-readable medium of claim 18 , wherein the data segment is associated with an object comprising data stored in a plurality of object data packets and the operations further comprise:

creating an entry in an index, wherein the entry maps an object identifier associated with the plurality of object data packets to physical locations at which the object data packets are stored.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT SECURITY AGREEMENT. Recorded Nov 15, 2021
From: UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 058223/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 053654 FRAME: 0254. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 15, 2021
From: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 058134/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: ACACIA RESEARCH GROUP LLC
To: UNIFICATION TECHNOLOGIES LLC
Reel/Frame 052096/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2020
From: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
To: ACACIA RESEARCH GROUP LLC
Reel/Frame 052095/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2019
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
Reel/Frame 048931/0864 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT DOCUMENT FILED PREVIOUSLY RECORDED ON REEL 047702 FRAME 0413. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 16, 2019
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES, LLC
Reel/Frame 048918/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2018
From: LONGITUDE ENTERPRISE FLASH S.A.R.I.
To: FIO SEMICONDUCTOR TECHNOLOGIES LIMITED
Reel/Frame 047702/0413 →
Continuity (5)
Continuation 13730602 · Dec 28, 2012
Continuation 11952101 · Dec 6, 2007
Provisional Application 60873111 · Dec 6, 2006
Provisional Application 60974470 · Sep 22, 2007
Related Publication 20170003902A1 · Jan 5, 2017