Apparatus, system, and method for storage space recovery
Abstract
An apparatus, system, and method are disclosed for storage space recovery. A storage division selection module selects a first storage division for recovery. The first storage division comprises a portion of solid-state storage in a solid-state storage device. A data recovery module reads valid data from the first storage division in response to selecting the first storage division for recovery. The data recovery module stores the valid data in a second storage division of the solid-state storage device. The data recovery module passes the valid data through at least a portion of a write data pipeline for the solid-state storage device without passing the valid data to a host device and/or without routing the valid data outside of a solid-state storage controller for the solid-state storage device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for storage recovery, the method comprising:
selecting a first storage division for recovery, the first storage division comprising a portion of solid-state storage in a solid-state storage device; reading valid data from the first storage division in response to selecting the first storage division for recovery; and storing the valid data in a second storage division of the solid-state storage device by passing the valid data through at least a portion of a write data pipeline for the solid-state storage device without passing the valid data to a host device.
2 . The method of claim 1 , further comprising updating a logical index with a new physical address of the valid data in the second storage division, the logical index comprising a mapping of physical addresses of data stored in the solid-state storage device to logical identifiers corresponding to the data.
3 . The method of claim 1 , wherein a solid-state storage controller comprises the write data pipeline and a read data pipeline for the solid-state storage device and the write data pipeline includes a garbage collector bypass that receives the valid data from the read data pipeline.
4 . The method of claim 3 , wherein the read data pipeline reads the valid data and the garbage collector bypass transfers the valid data to the write data pipeline without routing the valid data outside of the solid-state storage controller for the solid-state storage device.
5 . The method of claim 3 , wherein the garbage collector bypass is part of an autonomous garbage collector system that operates within the solid-state storage device.
6 . The method of claim 5 , wherein the garbage collector system uses one or more of a lack of available storage capacity, a percentage of data marked as invalid reaching a threshold, a consolidation of valid data, an error detection rate for a storage division reaching a threshold, and improving performance based on data distribution to select the first storage division for recovery.
7 . The method of claim 3 , wherein the garbage collector bypass is located after an ECC correction module in the read data pipeline and before an ECC generator in the write data pipeline, such that the ECC correction module provides data correction for the valid data using error-correcting code data stored with the valid data and the ECC generator provides new error-correcting code data for the valid data in the write data pipeline.
8 . The method of claim 1 , wherein insertion of the valid data into the write data pipeline is coordinated with other data being written to the solid-state storage device.
9 . The method of claim 8 , wherein the solid-state storage device stores the valid data and the other data in the second storage division sequentially by order of processing.
10 . The method of claim 9 , wherein the sequential order comprises an order in which data exits the write data pipeline.
11 . The method of claim 10 , wherein the order in which data exits the write data pipeline is a result of the other data arriving from one or more clients interspersed with the valid data read from the first storage division during a recovery operation.
12 . An apparatus for storage recovery, the apparatus comprising:
a storage division selection module that selects a first storage division for recovery, the first storage division comprising a portion of solid-state storage in a solid-state storage device; and a data recovery module that,
reads valid data from the first storage division in response to selecting the first storage division for recovery; and
stores the valid data in a second storage division of the solid-state storage device by passing the valid data through at least a portion of a write data pipeline for the solid-state storage device without routing the valid data outside of a solid-state storage controller for the solid-state storage device.
13 . The apparatus of claim 12 , wherein the data recovery module updates a logical index with a new physical address of the valid data in the second storage division, the logical index comprising a mapping of physical addresses of data stored in the solid-state storage device to logical identifiers corresponding to the data.
14 . The apparatus of claim 12 , wherein the solid-state storage controller comprises the write data pipeline and a read data pipeline for the solid-state storage device, the write data pipeline including a garbage collector bypass that receives the valid data from the read data pipeline.
15 . The apparatus of claim 14 , further comprising an ECC correction module in the read data pipeline and an ECC generator in the write data pipeline, wherein the garbage collector bypass is located after the ECC correction module in the read data pipeline and before the ECC generator in the write data pipeline such that the ECC correction module provides data correction for the valid data using error-correcting code data stored with the valid data and the ECC generator provides new error-correcting code data for the valid data in the write data pipeline.
16 . The apparatus of claim 14 , wherein the solid-state storage controller further comprises an autonomous garbage collector system that operates within the solid-state storage device, the garbage collector system using one or more of a lack of available storage capacity, a percentage of data marked as invalid reaching a threshold, a consolidation of valid data, an error detection rate for a storage division reaching a threshold, and improving performance based on data distribution to select the first storage division for recovery.
17 . A system for storage recovery, the system comprising:
a solid-state storage device comprising solid-state storage; a solid-state storage controller for the solid-state storage device, the solid-state storage controller comprising a write data pipeline for the solid-state storage device; a storage division selection module that selects a first storage division for recovery, the first storage division comprising a portion of the solid-state storage in the solid-state storage device; and a data recovery module that,
reads valid data from the first storage division in response to selecting the first storage division for recovery; and
stores the valid data in a second storage division of the solid-state storage device by passing the valid data through at least a portion of the write data pipeline for the solid-state storage device without routing the valid data outside of the solid-state storage controller for the solid-state storage device.
18 . The system of claim 17 , further comprising a host device for the solid-state storage device, the host device in communication with the solid-state storage controller, the data recovery module passing the valid data through the at least a portion of the write data pipeline without passing the valid data to the host device.
19 . The system of claim 17 , wherein the data recovery module updates a logical index with a new physical address of the valid data in the second storage division, the logical index comprising a mapping of physical addresses of data stored in the solid-state storage device to logical identifiers corresponding to the data.
20 . The system of claim 17 , wherein the solid-state storage controller further comprising a read data pipeline for the solid-state storage device and the write data pipeline includes a garbage collector bypass that receives the valid data from the read data pipeline, the garbage collector bypass located after an ECC correction module in the read data pipeline and before an ECC generator in the write data pipeline such that the ECC correction module provides data correction for the valid data using error-correcting code data stored with the valid data and the ECC generator provides new error-correcting code data for the valid data in the write data pipeline.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.