APPARATUS, SYSTEM, AND METHOD FOR STORAGE SPACE RECOVERY AFTER REACHING A READ COUNT LIMIT
First Claim
1. An apparatus for storage recovery, the apparatus comprising:
- a read module that reads at least a portion of a data packet stored in a first storage division, the first storage division comprising a portion of solid-state storage in a solid-state storage device;
a read counter module that increments a read counter in response to the read module reading data stored in the first storage division, the read counter corresponding to the first storage division, wherein the solid-state storage device comprises a plurality of storage divisions and each storage division comprises a separate read counter;
a read counter limit module that determines if the read counter corresponding to the first storage division has reached a maximum read threshold;
a storage division selection module that selects the first storage division for recovery in response to a read counter reaching the maximum read threshold, the read counter corresponding to the first storage division; and
a data recovery module that, in response to the storage division selection module selecting the first storage division for recovery, reads valid data packets from the first storage division, stores the valid data packets in a second storage division in the solid-state storage device, and updates a logical index with a new physical address of the valid data, the logical index comprising a mapping of physical addresses of data packets stored in the solid-state storage to logical identifiers corresponding to the data packets.
16 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for storage space recovery after reaching a read count limit. A read module reads data in a storage division of solid-state storage. A read counter module then increments a read counter corresponding to the storage division. A read counter limit module determines if the read count exceeds a maximum read threshold, and if so, a storage division selection module selects the corresponding storage division for recovery. A data recovery module reads valid data packets from the selected storage division, stores the valid data packets in another storage division of the solid-state storage, and updates a logical index with a new physical address of the valid data.
-
Citations
36 Claims
-
1. An apparatus for storage recovery, the apparatus comprising:
-
a read module that reads at least a portion of a data packet stored in a first storage division, the first storage division comprising a portion of solid-state storage in a solid-state storage device; a read counter module that increments a read counter in response to the read module reading data stored in the first storage division, the read counter corresponding to the first storage division, wherein the solid-state storage device comprises a plurality of storage divisions and each storage division comprises a separate read counter; a read counter limit module that determines if the read counter corresponding to the first storage division has reached a maximum read threshold; a storage division selection module that selects the first storage division for recovery in response to a read counter reaching the maximum read threshold, the read counter corresponding to the first storage division; and a data recovery module that, in response to the storage division selection module selecting the first storage division for recovery, reads valid data packets from the first storage division, stores the valid data packets in a second storage division in the solid-state storage device, and updates a logical index with a new physical address of the valid data, the logical index comprising a mapping of physical addresses of data packets stored in the solid-state storage to logical identifiers corresponding to the data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A system for storage recovery, the system comprising:
-
a solid-state storage device comprising solid-state storage, the solid-state storage comprising one or more storage divisions, each storage division comprising a portion of the solid-state storage a solid-state storage controller comprising a read module that reads at least a portion of a data packet stored in a first storage division; a read counter module that increments a read counter in response to the read module reading data stored in the first storage division, the read counter corresponding to the first storage division, wherein each storage division comprises a separate read counter; a read counter limit module that determines if the read counter corresponding to the first storage division has reached a maximum read threshold; a storage division selection module that selects the first storage division for recovery in response to a read counter reaching the maximum read threshold, the read counter corresponding to the first storage division; and a data recovery module that, in response to the storage division selection module selecting the first storage division for recovery, reads valid data packets from the first storage division, stores the valid data packets in a second storage division in the solid-state storage device, and updates a logical index with a new physical address of the valid data, the logical index comprising a mapping of physical addresses of data packets stored in the solid-state storage to logical identifiers corresponding to the data packets.
-
-
32. 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:
-
reading at least a portion of a data packet stored in a first storage division, the first storage division comprising a portion of solid-state storage in a solid-state storage device; incrementing a read counter in response to reading data stored in the first storage division, the read counter corresponding to the first storage division, wherein the solid-state storage device comprises a plurality of storage divisions and each storage division comprises a separate read counter; determining if the read counter corresponding to the first storage division has reached a maximum read threshold; selecting the first storage division for recovery in response to a read counter reaching the maximum read threshold, the read counter corresponding to the first storage division; and in response to selecting the first storage division for recovery, reading valid data packets from the first storage division, storing the valid data packets in a second storage division in the solid-state storage device, and updating a logical index with a new physical address of the valid data, the logical index comprising a mapping of physical addresses of data packets stored in the solid-state storage to logical identifiers corresponding to the data packets. - View Dependent Claims (33, 34, 35, 36)
-
Specification