US2014289447A9PendingUtilityA9

Apparatus, system, and method for storage space recovery

48
Assignee: FLYNN DAVIDPriority: Dec 6, 2006Filed: Nov 15, 2011Published: Sep 25, 2014
Est. expiryDec 6, 2026(~0.4 yrs left)· nominal 20-yr term from priority
G06F 9/52G06F 2212/7205G06F 12/0246H04L 12/4625G06F 3/0664G06F 11/108G06F 3/0601G06F 11/1008G06F 2212/2022G06F 2211/109H05K 7/1444H04L 67/1097
48
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
What 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.