Mitigating GC effect in a raid configuration

US9804787B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9804787-B2
Application numberUS-201615001217-A
CountryUS
Kind codeB2
Filing dateJan 19, 2016
Priority dateNov 3, 2015
Publication dateOct 31, 2017
Grant dateOct 31, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for managing garbage collection in Solid State Drives (SSDs) ( 120 - 1, 120 - 2, 120 - 3, 120 - 4, 120 - 5 ) in a Redundant Array of Independent Disks (RAID) configuration, using a RAID controller ( 115 ) is described. A control logic ( 505 ) can control read and write requests ( 805, 810 ) for the SSDs ( 120 - 1, 120 - 2, 120 - 3, 120 - 4, 120 - 5 ) in the RAID configuration. A selection logic ( 515 ) can select an SSD for garbage collection. Setup logic ( 520 ) can instruct the selected SSD to enter a garbage collection setup phase ( 920 ). An execute logic ( 525 ) can instruct the selected SSD to enter and exit the garbage collection execute phase ( 925 ).

First claim

Opening claim text (preview).

What is claimed is: 1. A Redundant Array of Independent Disks (RAID) controller, comprising: control logic to control read and write requests for a plurality of Solid State Drives (SSDs) in a RAID configuration; 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, the garbage collection setup phase operative to copy valid data from a block scheduled for an erase operation during the garbage collection execute phase to another block; and execute logic to instruct the selected SSD to enter the garbage collection execute phase, the garbage collection execute phase operative to perform the erase operation on the block, wherein any number of plurality of SSDs may perform the garbage collection setup phase at one time, but no more than a RAID failure number of the plurality of SSDs may perform the garbage collection execute phase at one time. 2. A RAID controller according to claim 1 , wherein at most one SSD of the plurality of the SSDs in the RAID configuration is in the garbage collection execute phase at any one time. 3. A RAID controller according to claim 1 , wherein the setup logic is operative to instruct a subset of the plurality of SSDs to enter the garbage collection setup phase. 4. A RAID controller according to claim 1 , further comprising configuration logic to configure each of the SSDs to only perform the garbage collection execute phase upon instruction from the RAID controller. 5. A RAID controller according to claim 1 , wherein the execute logic is operative to instruct the selected SSD to end the garbage collection execute phase. 6. A RAID controller according to claim 5 , wherein the RAID controller includes a buffer to store write requests directed to the selected SSD until after the execute logic has instructed the selected SSD to end the garbage collection execute phase. 7. A RAID controller according to claim 1 , wherein the RAID controller is operative to send read requests to a subset of all other SSDs in the RAID configuration when the selected SSD is in the garbage collection execute phase. 8. A RAID controller according to claim 1 , wherein the selection logic includes receive logic to receive the plurality of free sector sizes from the plurality of SSDs. 9. A RAID controller according to claim 8 , wherein the selection logic further includes query logic to query the plurality of SSDs for the plurality of free sector sizes. 10. 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 in a Redundant Array of Independent Disks (RAID) configuration; instructing the selected SSD to enter a garbage collection setup phase, the garbage collection setup phase operative to copy valid data from a block scheduled for erase operations during the garbage collection to another block; instructing the selected SSD to execute garbage collection execute phase, the garbage collection execute phase operative to perform the erase operations on the block; waiting for a first interval of time; and instructing the selected SSD to stop the garbage collection execute phase, wherein any number of plurality of SSDs may perform the garbage collection setup phase at one time, but no more than a RAID failure number of the plurality of SSDs may perform the garbage collection execute phase at one time. 11. A method according to claim 10 , wherein: instructing the selected SSD to execute garbage collection includes directing read requests to another SSD in the RAID configuration; and the method further comprises: waiting for a second interval of time; and scheduling the selected SSD for read requests. 12. A method according to claim 10 , wherein: selecting an SSD for garbage collection includes selecting a plurality of SSDs for garbage collection based on the plurality of free sector sizes; instructing the selected SSD to enter a garbage collection setup phase includes instructing the selected plurality of SSDs to enter a garbage collection setup phase; and instructing the selected SSD to execute garbage collection includes selecting a first of the selected plurality of SSDs for a garbage collection execution phase. 13. A method according to claim 12 , further comprising: selecting a second of the selected plurality of SSDs for a garbage collection execution phase after the selected first of the plurality of SSDs completed the garbage collection execution phase; and instructing the selected second of the plurality of SSD to execute garbage collection. 14. A method according to claim 10 , further comprising configuring each of the plurality of SSDs in the RAID configuration so that the SSDs in the RAID configuration perform garbage collection only upon instruction from a RAID controller. 15. A method according to claim 10 , wherein selecting an SSD for garbage collection includes selecting the SSD requiring static wear leveling. 16. A method according to claim 10 , wherein: waiting for a first interval of time includes buffering write requests while the selected SSD is executing garbage collection; and the method further comprises delivering the buffered write requests to the selected SSD after instructing the selected SSD to end the garbage collection execute phase. 17. A method according to claim 10 , wherein selecting a Solid State Drive (SSD) for garbage collection includes receiving the plurality of free sector sizes from the plurality of SSDs. 18. A method according to claim 10 , wherein selecting a Solid State Drive (SSD) for garbage collection based on a plurality of free sector sizes for a plurality of SSDs includes selecting up to a RAID failure number of SSDs for garbage collection based on a plurality of free sector sizes for a plurality of SSDs. 19. 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 in a Redundant Array of Independent Disks (RAID) configuration; instructing the selected SSD to enter a garbage collection setup phase, the garbage collection setup phase operative to copy valid data from a block scheduled for erase operations during the garbage collection to another block; instructing the selected SSD to execute garbage collection execute phase, the garbage collection execute phase operative to perform the erase operations on the block; waiting for a first interval of time; and instructing the selected SSD to stop the garbage collection execute phase, wherein any number of plurality of SSDs may perform the garbage collection setup phase at one time, but no more than a RAID failure number of the plurality of SSDs may perform the garbage collection execute phase at one time. 20. An article according to claim 19 , wherein up to a RAID failure number of SSDs of the plurality of SSDs in the RAID configuration are executing garbage collection at any time.

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory arrays · CPC title

  • Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • G06F3/0611Primary

    in relation to response time · CPC title

  • configured as RAID · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9804787B2 cover?
A system and method for managing garbage collection in Solid State Drives (SSDs) ( 120 - 1, 120 - 2, 120 - 3, 120 - 4, 120 - 5 ) in a Redundant Array of Independent Disks (RAID) configuration, using a RAID controller ( 115 ) is described. A control logic ( 505 ) can control read and write requests ( 805, 810 ) for the SSDs ( 120 - 1, 120 - 2, 120 - 3, 120 - 4, 120 - 5 ) in the RAID configuratio…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 31 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).