Apparatus, system, and method for storage space recovery in solid-state storage
First Claim
1. A method for managing a solid-state storage device, the method comprising:
- configuring a storage controller to;
write data to sequential storage locations by order of processing within sequentially ordered storage divisions of a solid-state storage device,select one of the storage divisions for recovery,write valid data from the selected storage division on a different storage division that is available for storing data, andrecover the selected storage division by erasing the selected storage division and marking the selected storage division with a sequence indicator, wherein sequence indicators of the storage divisions determine an ordered sequence of the storage divisions, and wherein a sequential order of data storage locations within the storage divisions determines an ordered sequence of storage operations.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for storage space recovery in solid-state storage. A sequential storage module sequentially writes data packets in a storage division. The storage division includes a portion of a solid-state storage. The data packets are derived from an object. The data packets are sequentially stored by order of processing. A storage division selection module selects a storage division for recovery. A data recovery module reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially, and updates an index with a new physical address of the valid data. The index includes a mapping of physical addresses of data packets to object identifiers. A storage division recovery module marks the storage division selected for recovery as available for sequentially writing data packets in response to completing copying valid data from the storage division.
198 Citations
31 Claims
-
1. A method for managing a solid-state storage device, the method comprising:
configuring a storage controller to; write data to sequential storage locations by order of processing within sequentially ordered storage divisions of a solid-state storage device, select one of the storage divisions for recovery, write valid data from the selected storage division on a different storage division that is available for storing data, and recover the selected storage division by erasing the selected storage division and marking the selected storage division with a sequence indicator, wherein sequence indicators of the storage divisions determine an ordered sequence of the storage divisions, and wherein a sequential order of data storage locations within the storage divisions determines an ordered sequence of storage operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A computer program product comprising a non-transitory computer readable storage medium having computer usable program code executable to perform operations for managing a solid-state storage device, the operations of the computer program product comprising:
-
writing data to sequential storage locations by order of processing within sequentially ordered storage divisions of a solid-state storage device; selecting one of a plurality of storage divisions of the solid-state storage device for recovery; writing valid data of the selected solid-state storage division to sequential storage locations of a different storage division of the solid-state storage device that is available for storing data; and recovering the selected storage division by erasing the selected storage division and marking the selected storage division with a sequence indicator, wherein sequence indicators of the storage divisions determine an ordered sequence of the storage divisions, and wherein a sequential order of data storage locations within the storage divisions determines an ordered sequence of storage operations. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
-
27. An apparatus for managing a solid-state storage device, comprising:
-
a sequential storage module configured to store data segments in sequential storage locations by order of processing within respective sequentially ordered storage divisions of a solid-state storage medium; a storage division selection module configured to select one of the storage divisions for recovery, wherein the sequential storage module is configured to write valid data segments of the selected storage division sequentially to a different storage division that is available for storing data; and an erase module configured to recover the selected storage division by erasing the selected storage division and marking the selected storage division with a sequence indicator, wherein sequence indicators of the storage divisions determine an ordered sequence of the storage divisions, and wherein a sequential order of data segment storage locations within the respective storage divisions determines an ordered sequence of storage operations, an wherein the storage division sequence indicators and the sequential order of data segment storage locations within the respective storage divisions distinguish a valid data segment of a specified logical identifier from one or more data segments associated with the specified logical identifier on the solid-state storage medium. - View Dependent Claims (28, 29, 30)
-
-
31. A system for managing a solid-state storage device, comprising:
-
means for selecting one of a plurality of storage divisions of a solid-state storage medium for recovery; means for storing data segments sequentially in sequential storage locations within respective storage divisions of the solid-state storage medium, the data segments comprising valid data of the selected storage division; and means for recovering the selected storage division by erasing the selected storage division and marking the selected storage division with a sequence indicator, wherein sequence indicators of the plurality of storage divisions and a sequential order of data segment storage locations within the respective storage divisions distinguishes a valid data segment of a specified logical identifier from one or more data segments associated with the specified logical identifier on the solid-state storage medium.
-
Specification