Mitigating GC effect in a RAID configuration
AssigneeSamsung Electronics Co., Ltd.
InventorsOscar Pinto, Sreenivas Krishnan
Life of this patent
Estimating the term…
Abstract
A system and method for managing garbage collection in Solid State Drives (SSDs) in a Redundant Array of Independent Disks (RAID) configuration, using a RAID controller is described. A control logic can control read and write requests for the SSDs in the RAID configuration. A selection logic can select an SSD for garbage collection. Setup logic can instruct the selected SSD to enter a garbage collection setup phase. An execute logic can instruct the selected SSD to enter and exit the garbage collection execute phase.
Claims23
A controller, comprising:
- control logic to control read and write requests for a plurality of Solid State Drives (SSDs), wherein the plurality of SSDs stores a data and an erasure coding, such that using the data and the erasure coding the data can be recovered from fewer than all of the plurality of SSDs;
- selection logic to select an SSD from the plurality of SSDs for garbage collection based on a plurality of free sector sizes for the plurality of SSDs;
- setup logic to instruct the selected SSD to enter a garbage collection setup phase, wherein the selected SSD may copy valid data from a first block scheduled for erase operations to a second block;
- execute logic to instruct the selected SSD to enter a garbage collection execute phase, wherein the selected SSD may erase the first block scheduled for erase operations;
- and
- a timer to measure how long the selected SSD remains be in the garbage collection setup phase before entering the garbage collection execute phase,
- wherein the selected SSD remains in the garbage collection setup phase until instructed to enter the garbage collection execute phase,
- wherein the SSD exits the garbage collection setup phase when the SSD enters the garbage collection execute phase, and
- wherein the selected SSD may receive read requests and write requests originating at a server during the garbage collection setup phase.
A method, comprising:
- selecting a Solid State Drive (SSD) for garbage collection based on a plurality of free sector sizes for a plurality of SSDs, wherein the plurality of SSDs stores a data and an erasure coding, such that using the data and the erasure coding the data can be recovered from fewer than all of the plurality of SSDs;
- instructing the selected SSD to enter a garbage collection setup phase, wherein the selected SSD may copy valid data from a first block scheduled for erase operations to a second block;
- waiting for a first interval of time before instructing the selected SSD to execute garbage collection;
- instructing the selected SSD to execute garbage collection, wherein the selected SSD may erase the first block scheduled for erase operations;
- waiting for a second interval of time;
- and
- instructing the selected SSD to stop erase operations,
- wherein the selected SSD remains in the garbage collection setup phase until instructed to enter the garbage collection execute phase,
- wherein the SSD exits the garbage collection setup phase when the SSD enters the garbage collection execute phase, and
- wherein the selected SSD may receive read requests and write requests originating at a server during the garbage collection setup phase.
An article, comprising a tangible storage medium, the tangible storage medium having stored thereon non-transitory instructions that, when executed by a machine, result in:
- selecting a Solid State Drive (SSD) for garbage collection based on a plurality of free sector sizes for a plurality of SSDs, wherein the plurality of SSDs stores a data and an erasure coding, such that using the data and the erasure coding the data can be recovered from fewer than all of the plurality of SSDs;
- instructing the selected SSD to enter a garbage collection setup phase, wherein the selected SSD may copy valid data from a first block scheduled for erase operations to a second block;
- waiting for a first interval of time before instructing the selected SSD to execute garbage collection;
- instructing the selected SSD to execute garbage collection, wherein the selected SSD may erase the first block scheduled for erase operations;
- waiting for a second interval of time;
- and
- instructing the selected SSD to stop erase operations,
- wherein the selected SSD remains in the garbage collection setup phase until instructed to enter the garbage collection execute phase,
- wherein the SSD exits the garbage collection setup phase when the SSD enters the garbage collection execute phase, and
- wherein the selected SSD may receive read requests and write requests originating at a server during the garbage collection setup phase.
Dependencies are inferred from the claim text.