Data Management in Solid State Storage Devices
First Claim
1. An apparatus comprising a solid state storage device in which a solid state storage in the solid state storage device comprises erasable blocks each erasable block comprising a plurality of data write locations, the apparatus comprising memory and control logic adapted to:
- store input data in successive groups of data write locations, each group comprising write locations in a set of erasable blocks in each of a plurality of logical subdivisions of the solid state storage;
error correction encode the input data such that each group contains an error correction code for the input data in that group;
maintain, in the memory, metadata indicating the location of input data in the solid state storage;
maintain an indication of validity of data stored in each data write location; and
prior to erasing a block, recover valid input data from each group containing write locations in that block and re-store the recovered data as new input data.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided for controlling a solid state storage device in which the solid state storage comprises erasable blocks each comprising a plurality of data write locations. Input data is stored in successive groups of data write locations, each group comprising write locations in a set of erasable blocks in each of a plurality of logical subdivisions of the solid state storage. The input data is error correction encoded such that each group contains an error correction code for the input data in that group. Metadata, indicating the location of input data in the solid state storage, is maintained in memory, An indication of validity of data stored in each data write location is also maintained, Prior to erasing a block, valid input data is recovered from the or each said group containing write locations in that block. The recovered data is then re-stored as new input data.
-
Citations
21 Claims
-
1. An apparatus comprising a solid state storage device in which a solid state storage in the solid state storage device comprises erasable blocks each erasable block comprising a plurality of data write locations, the apparatus comprising memory and control logic adapted to:
-
store input data in successive groups of data write locations, each group comprising write locations in a set of erasable blocks in each of a plurality of logical subdivisions of the solid state storage; error correction encode the input data such that each group contains an error correction code for the input data in that group; maintain, in the memory, metadata indicating the location of input data in the solid state storage; maintain an indication of validity of data stored in each data write location; and prior to erasing a block, recover valid input data from each group containing write locations in that block and re-store the recovered data as new input data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A solid state storage device comprising solid state storage, which comprises erasable blocks each comprising a set of data write locations, and a control apparatus adapted to:
-
store input data in successive groups of data write locations, each group comprising write locations in a set of erasable blocks in each of a plurality of logical subdivisions of the solid state storage; error correction encode the input data such that each group contains an error correction code for the input data in that group; maintain, in memory metadata indicating the location of input data in the solid state storage; maintain an indication of validity of data stored in each data write location; and prior to erasing a block, recover valid input data from each group containing write locations in that block and re-store the recovered data as new input data. - View Dependent Claims (19, 20, 21)
-
-
12-14. -14. (canceled)
-
15. A computer program comprising program code stored on a computer readable storage medium, wherein the program code, when executed on a computer, causes the computer to:
-
store input data in successive groups of data write locations, each group comprising write locations in a set of erasable blocks in each of a plurality of logical subdivisions of a solid state storage of a solid state storage device; error correction encode the input data such that each group contains an error correction code for the input data in that group; maintain, in memory, metadata indicating the location of input data in the solid state storage; maintain an indication of validity of data stored in each data write location; and
prior to erasing a block, recover valid input data from each group containing write locations in that block and re-store the recovered data as new input data. - View Dependent Claims (16, 17, 18)
-
Specification