Garbage collection techniques for a data storage system
First Claim
1. A method of garbage collection in a data storage system, comprising:
- determining, by a garbage collector, a dirty physical byte count for each of a plurality of candidate garbage collection units, wherein the dirty physical byte count provides a total amount of dirty bytes;
determining, by the garbage collector, at least one of a dirty physical codeword container count and a dirty physical page count for each of the candidate garbage collection units, wherein the dirty physical codeword container count provides an amount of physical codeword containers that are completely dirty and the dirty physical page count provides an amount of physical pages that are completely dirty; and
selecting, by the garbage collector, a garbage collection unit, included in the candidate garbage collection units, for garbage collection based on the dirty physical byte count and at least one of the dirty physical codeword container count and the dirty physical page count.
2 Assignments
0 Petitions
Accused Products
Abstract
A technique for garbage collection in a data storage system includes determining a dirty physical byte count for each of a plurality of candidate garbage collection units. The dirty physical byte count provides a total amount of dirty bytes. At least one of a dirty physical codeword container count and a dirty physical page count is determined for each of the candidate garbage collection units. The dirty physical codeword container count provides an amount of physical codeword containers that are completely dirty and the dirty physical page count provides an amount of physical pages that are completely dirty. A garbage collection unit, included in the candidate garbage collection units, is selected for garbage collection based on the dirty physical byte count and at least one of the dirty physical codeword container count and the dirty physical page count.
-
Citations
20 Claims
-
1. A method of garbage collection in a data storage system, comprising:
-
determining, by a garbage collector, a dirty physical byte count for each of a plurality of candidate garbage collection units, wherein the dirty physical byte count provides a total amount of dirty bytes; determining, by the garbage collector, at least one of a dirty physical codeword container count and a dirty physical page count for each of the candidate garbage collection units, wherein the dirty physical codeword container count provides an amount of physical codeword containers that are completely dirty and the dirty physical page count provides an amount of physical pages that are completely dirty; and selecting, by the garbage collector, a garbage collection unit, included in the candidate garbage collection units, for garbage collection based on the dirty physical byte count and at least one of the dirty physical codeword container count and the dirty physical page count. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data storage system, comprising:
-
a flash controller memory; and a flash controller coupled to the flash controller memory, wherein the flash controller is configured to; determine a dirty physical byte count for each of a plurality of candidate garbage collection units, wherein the dirty physical byte count provides a total amount of dirty bytes; determine at least one of a dirty physical codeword container count and a dirty physical page count for each of the candidate garbage collection units, wherein the dirty physical codeword container count provides an amount of physical codeword containers that are completely dirty and the dirty physical page count provides an amount of physical pages that are completely dirty; and select a garbage collection unit, included in the candidate garbage collection units, for garbage collection based on the dirty physical byte count and at least one of the dirty physical codeword container count and the dirty physical page count. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a data storage system, to cause the data storage system to:
-
determine a dirty physical byte count for each of a plurality of candidate garbage collection units, wherein the dirty physical byte count provides a total amount of dirty bytes; determine at least one of a dirty physical codeword container count and a dirty physical page count for each of the candidate garbage collection units, wherein the dirty physical codeword container count provides an amount of physical codeword containers that are completely dirty and the dirty physical page count provides an amount of physical pages that are completely dirty; and select a garbage collection unit, included in the candidate garbage collection units, for garbage collection based on the dirty physical byte count and at least one of the dirty physical codeword container count and the dirty physical page count. - View Dependent Claims (18, 19, 20)
-
Specification