MANAGING THE WRITE PERFORMANCE OF AN ASYMMETRIC MEMORY SYSTEM
7 Assignments
0 Petitions
Accused Products
Abstract
Some implementations include a method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes NVRAM devices. The method includes: 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; categorizing the write requests into subgroups of write requests, where write requests within respective subgroups are mutually exclusive; ascertaining a load condition of each of several of the NVRAM devices of the NVRAM-based storage subsystem; identifying a target location on at least one NVRAM device to service a particular subgroup of write requests according to the ascertained load conditions of the NVRAM devices of the NVRAM-based storage subsystem; and servicing the particular subgroup of write requests by writing the corresponding units of data to the identified target location on the at least one NVRAM device of the NVRAM-based storage subsystem.
35 Citations
61 Claims
-
1-30. -30. (canceled)
-
31. A method of managing a hosted non-volatile random-access memory (NVRAM) based storage subsystem that includes NVRAM devices, the method comprising:
-
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; categorizing the write requests into subgroups of write requests, 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 located on the at least one NVRAM device of the NVRAM-based storage subsystem and are separated by a distance of memory locations within which data would otherwise be stored prior to writing the respective units of data of the first and second write requests. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A system comprising a non-volatile random-access memory (NVRAM) based storage subsystem, the NVRAM-based storage subsystem comprising at least one NVRAM device in communication with a host computing device, the NVRAM-based storage subsystem is configured to perform the operations of:
-
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; categorizing the write requests into subgroups of write requests, 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 located on the at least one NVRAM device of the NVRAM-based storage subsystem and are separated by a distance of memory locations within which data would otherwise be stored prior to writing the respective units of data of the first and second write requests. - View Dependent Claims (47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A computer readable medium, comprising software instructions, which software instructions when executed causes a non-volatile random-access memory (NVRAM) based storage subsystem, which NVRAM based storage subsystem comprising at least one NVRAM device in communication with a host computing device, to perform the operations of:
-
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; categorizing the write requests into subgroups of write requests, 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 located on the at least one NVRAM device of the NVRAM-based storage subsystem and are separated by a distance of memory locations within which data would otherwise be stored prior to writing the respective units of data of the first and second write requests.
-
Specification