×

Relocating data from an end of life storage drive based on storage drive loads in a data storage system using mapped RAID (redundant array of independent disks) technology

  • US 10,289,336 B1
  • Filed: 02/05/2018
  • Issued: 05/14/2019
  • Est. Priority Date: 01/31/2018
  • Status: Active Grant
First Claim
Patent Images

1. A method of relocating data stored in a storage drive that is one of a group of storage drives communicably coupled to a storage processor in a data storage system that provides RAID (Redundant Array of Independent Disks) data protection for at least one storage object, the method comprising:

  • generating a drive extent pool from the storage drives communicably coupled to the storage processor, wherein the drive extent pool indicates a plurality of drive extents located in the storage drives, wherein each drive extent indicated by the drive extent pool comprises a contiguous region of non-volatile data storage located in one of the storage drives, and wherein each drive extent has a size equal to a predetermined drive extent size;

    generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry indicates a unique plurality of drive extents that are allocated from the drive extent pool to the RAID extent entry and that are used by the storage processor to persistently store host data written to a portion of an address space of the storage object corresponding to the RAID extent entry and associated parity data, and wherein each RAID extent entry indicates the same total number of drive extents;

    in response to receiving an end of life indication from a source storage drive within the group of storage drives, relocating the data stored in the source storage drive by;

    i) for each drive extent located in the source storage drive, identifying a corresponding destination drive extent to replace the drive extent located in the source storage drive by selecting, in a round robin manner, a next storage drive from within a set of healthy storage drives in the group of storage drives and allocating a free drive extent that is located in the selected storage drive from the drive extent pool, andii) after a corresponding destination drive extent has been identified for each drive extent located in the source storage drive, generating a parallel copy list, wherein the parallel copy list indicates drive extents located in the source storage drive from which data is copied in parallel by the storage processor to the corresponding destination drive extents, wherein the parallel copy list is generated based on current total I/O loads of the storage drives in the set of healthy storage drives, and wherein each one of the drive extents located in the source storage drive indicated by the parallel copy list has a corresponding destination drive extent located on a healthy storage drive that has a lowest current total I/O load at a time at which the indication of that drive extent located on the source storage drive is added to the parallel copy list.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×