×

Scheduling operations in non-volatile memory devices using preference values

  • US 9,870,149 B2
  • Filed: 11/10/2015
  • Issued: 01/16/2018
  • Est. Priority Date: 07/08/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method of managing a storage system, the method comprising:

  • in the storage system, which includes a storage controller and non-volatile memory devices;

    identifying a plurality of memory operations to be performed by a plurality of the non-volatile memory devices in the storage system, whereinthe plurality of memory operations comprises a first number of memory operations and the plurality of non-volatile memory devices comprises a second number of memory devices,the first number is no greater than the second number,each memory operation of the plurality of memory operations is to be performed by a distinct non-volatile memory device, andthe memory operations comprise host writes, garbage collection writes, and garbage collection reads;

    for each non-volatile memory device in the plurality of non-volatile memory devices, assigning preference values to each of the memory operations in the plurality of memory operations, wherein assigning preference values comprises, for a respective non-volatile memory device;

    determining that a first memory operation of the plurality of memory operations is associated with a process for which no more than a specified number of memory operations are incomplete; and

    in response to the determining, assigning preference values to the memory operations that indicate a preference of the respective non-volatile memory device for the first memory operation over other memory operations of the plurality of memory operations; and

    assigning each memory operation in the plurality of memory operations to a distinct non-volatile memory device in the plurality of non-volatile memory devices, using the preference values assigned to each of the memory operations for each non-volatile memory device;

    wherein;

    assigning each memory operation to a distinct non-volatile memory device comprises;

    solving a predefined combinatorial optimization problem, known as The Stable Marriage Problem using the Gale-Shapely algorithm;

    orsolving a predefined combinatorial optimization problem, known as The Assignment Problem using the Hungarian algorithm; and

    wherein;

    the storage controller manages a plurality of processes;

    each memory operation is part of a process;

    a respective process comprises memory operations of a common type selected from the group consisting of host writes, garbage collection writes, and garbage collection reads; and

    the memory operations of a respective process comprise memory operations directed to respective pages in each of the non-volatile memory devices.

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