Apparatus, system, and method for accessing memory
First Claim
Patent Images
1. A method comprising:
- receiving a write request for data, the write request comprising a namespace identifier;
identifying a relationship between the namespace identifier and one or more of a memory and a non-volatile memory medium;
servicing the write request using the memory in response to the identified relationship associating the namespace identifier with the memory; and
servicing the write request using the non-volatile medium in response to the identified relationship associating the namespace identifier with the non-volatile medium.
6 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, methods, and computer program products are disclosed for providing access to auto-commit memory. An auto-commit memory module is configured to cause a volatile memory buffer to commit data from the volatile memory buffer to a non-volatile memory medium in response to a trigger. A mapping module is configured to determine whether to associate a range of data with the volatile memory buffer. A bypass module is configured to service a request for the range of data directly from the volatile memory buffer in response to the mapping module determining to associate the range of data with the volatile memory buffer.
-
Citations
25 Claims
-
1. A method comprising:
-
receiving a write request for data, the write request comprising a namespace identifier; identifying a relationship between the namespace identifier and one or more of a memory and a non-volatile memory medium; servicing the write request using the memory in response to the identified relationship associating the namespace identifier with the memory; and servicing the write request using the non-volatile medium in response to the identified relationship associating the namespace identifier with the non-volatile medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
an auto-commit memory module configured to cause a volatile memory buffer to commit data from the volatile memory buffer to a non-volatile memory medium in response to the data filling at least a threshold amount of the volatile memory buffer; a mapping module configured to determine whether to associate a range of addresses for data with the volatile memory buffer or the non-volatile memory medium; and a bypass module configured to service a request for the range of addresses directly using the volatile memory buffer in response to the mapping module determining to associate the range of addresses with the volatile memory buffer and further configured to service the request for the range of addresses using the non-volatile memory medium in response to the mapping module determining to associate the range of addresses with the non-volatile memory medium, the request comprising a write request. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A system comprising:
-
a storage device comprising one or more auto-commit pages configured to preserve data of the auto-commit pages in a non-volatile memory medium in response to a restart event; and a device driver for the storage device, the device driver configured to cause data of the storage device to be mapped, from kernel-space, into virtual memory and to service a write request, from user-space, the device driver using the one or more auto-commit pages to service the write request in response to determining an association of the write request with the one or more auto-commit pages and using the non-volatile memory medium to service the write request in response to determining an association of the write request with the non-volatile memory medium. - View Dependent Claims (21)
-
-
22. A computer program product comprising a non-transitory computer readable storage medium storing computer usable program code executable to cause a computer to perform operations, the operations comprising:
-
intercepting, in user-space, a storage request for a memory device, the storage request comprising a file identifier and an offset for a write operation; determining whether the offset and the file identifier are mapped to the volatile memory; servicing the storage request in user-space directly using a volatile memory of the memory device in response to determining that the offset and the file identifier are mapped to the volatile memory; determining whether the offset and the file identifier are mapped to a non-volatile memory of the memory device; and servicing the storage request in user-space using the non-volatile memory of the memory device in response to determining that the offset and the file identifier are mapped to the non-volatile memory. - View Dependent Claims (23)
-
-
24. An apparatus comprising:
-
means for associating a logical identifier with one of a volatile memory and a non-volatile memory medium; means for bypassing an operating system storage stack to service a storage request for data associated with the logical identifier using the volatile memory in response to the logical identifier being associated with the volatile memory and using the non-volatile memory medium in response to the logical identifier being associated with the non-volatile memory medium; and means for preserving the data of the volatile memory in the non-volatile memory medium in response to a failure condition. - View Dependent Claims (25)
-
Specification