APPARATUS, SYSTEM, AND METHOD FOR STORAGE SPACE RECOVERY IN SOLID-STATE STORAGE
First Claim
1. An apparatus for storage recovery, the apparatus comprising:
- a sequential storage module that sequentially writes data packets in a storage division, the storage division comprising a portion of a solid-state storage in a solid-state storage device, the data packets derived from an object, the data packets sequentially stored by order of processing;
a storage division selection module that selects a storage division for recovery;
a data recovery module that reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially by the sequential storage module, and updates an index with a new physical address of the valid data written by the sequential storage module, the index comprising a mapping of physical addresses of data packets stored in the solid-state storage to object identifiers corresponding to the data packets; and
a storage division recovery module that marks the storage division selected for recovery as available to the sequential storage module for sequentially writing data packets, the storage division marked for recovery in response to the data recovery module completing copying valid data from the storage division.
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.
-
Citations
26 Claims
-
1. An apparatus for storage recovery, the apparatus comprising:
-
a sequential storage module that sequentially writes data packets in a storage division, the storage division comprising a portion of a solid-state storage in a solid-state storage device, the data packets derived from an object, the data packets sequentially stored by order of processing; a storage division selection module that selects a storage division for recovery; a data recovery module that reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially by the sequential storage module, and updates an index with a new physical address of the valid data written by the sequential storage module, the index comprising a mapping of physical addresses of data packets stored in the solid-state storage to object identifiers corresponding to the data packets; and a storage division recovery module that marks the storage division selected for recovery as available to the sequential storage module for sequentially writing data packets, the storage division marked for recovery in response to the data recovery module completing copying valid data from the storage division. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 21, 22, 23)
-
- 17. The apparatus of claim 17, wherein identifying a storage division with a high amount of wear comprises identifying a storage division with a high number of erase cycles.
-
24. A system for storage recovery, the system comprising:
a solid-state storage device comprising a solid-state storage, the solid-state storage comprising one or more storage divisions, each storage division comprising a portion of the solid-state storage in a solid-state storage device, the solid-state storage device comprising a sequential storage module that sequentially writes data packets in a storage division, the data packets derived from an object, the data packets sequentially stored by order of processing; a storage division selection module that selects a storage division for recovery; a data recovery module that reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially by the sequential storage module, and updates an index with a new physical address of the valid data written by the sequential storage module, the index comprising a mapping of physical addresses of data packets stored in the solid-state storage to object identifiers corresponding to the data packets; and a storage division recovery module that marks the storage division selected for recovery as available to the sequential storage module for sequentially writing data packets, the storage division marked for recovery in response to the data recovery module completing copying valid data from the storage division.
-
25. A computer program product comprising a computer readable medium having computer usable program code executable to perform operations for storage recovery, the operations of the computer program product comprising:
-
sequentially writing data packets in a storage division, the storage division comprising a portion of a solid-state storage in a solid-state storage device, the data packets derived from an object, the data packets sequentially stored by order of processing; selecting a storage division for recovery; reading valid data packets from the storage division selected for recovery; queuing the valid data packets with other data packets queued to be written sequentially; updating an index with a new physical address of the valid data written by the sequential storage module, the index comprising a mapping of physical addresses of data packets stored in the solid-state storage to object identifiers corresponding to the data packets; and marking the storage division selected for recovery as available for sequentially writing data packets, the storage division marked for recovery in response to completing copying valid data from the storage division. - View Dependent Claims (26)
-
Specification