Managing the write performance of an asymmetric memory system

  • US 10,073,626 B2
  • Filed: 03/15/2013
  • Issued: 09/11/2018
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes at least one NVRAM device, the method comprising:

  • monitoring input/output (I/O) operations of the at least one NVRAM device;

    determining degraded physical regions of the at least one NVRAM device based upon crossing a threshold identified from the monitored input/output (I/O) operations, the threshold selected from a group consisting of a write time threshold and an erase time threshold;

    receiving, at a device driver on the host computing device, write requests each requesting to write a respective unit of data to the NVRAM-based storage subsystem, wherein the NVRAM-based storage subsystem contains first data already stored therein prior to receiving;

    categorizing the write requests into subgroups of write requests such that each particular subgroup of write requests contain data that are from one particular group of threads associated with a particular application on the computing device hosting the NVRAM-based storage system, the write requests within the subgroups being mutually exclusive; and

    servicing the particular subgroup of write requests by writing data to the at least one NVRAM device of the NVRAM-based storage subsystem (a) the respective unit of data of a first write request categorized in one of the subgroup of write requests at a first target location and (b) the respective unit of data of a second write request categorized in one other of the subgroup of write requests at a second target location,wherein the first and second target locations are not located on the degraded physical locations of the at least one NVRAM device of the NVRAM-based storage subsystem and are separated by a gap of memory locations that are available for data storage and within which data would otherwise be stored prior to writing the respective units of data of the first and second write requests.

View all claims
    ×
    ×

    Thank you for your feedback

    ×
    ×