RAM disk using non-volatile random access memory
AssigneeIntel Corporation
InventorsJames B. Crossland, Toby Opferman, Blaise Fanning
Life of this patent
Estimating the term…
Abstract
A method and system are disclosed. In one embodiment the method includes allocating several memory locations within a phase change memory and switch (PCMS) memory to be utilized as a Random Access Memory (RAM) Disk. The RAM Disk is created for use by a software application running in a computer system. The method also includes mapping at least a portion of the allocated amount of PCMS memory to the software application address space. Finally, the method also grants the software application direct access to at least a portion of the allocated amount of the PCMS memory.
Claims16
A method comprising:
- allocating first physical address locations of a byte-addressable, non-volatile memory for use by a software application as a random access memory (RAM) disk;
- allocating second physical address locations within the byte-addressable, non-volatile memory for use by the software application as storage, the second physical address locations mutually exclusive to the first physical address locations;
- generating a remap table to map a logical address space for the software application to pointers to the first physical address locations;
- granting the software application direct access, via the remap table, to the first physical address locations;
- receiving a request by the software application to copy data at one of the second physical address locations to one or more of the first physical address locations;
- and
- updating an existing entry in the remap table with a new pointer to indicate the one of the second physical address locations is to be utilized as one of the first physical address locations such that the request is fulfilled without making a copy of the data.
An apparatus comprising:
- an operating system that includes processing logic, at least a portion of which is executed in hardware, the processing logic to;
- allocate first physical address locations of a byte-addressable, non-volatile memory for use by a software application as a random access memory (RAM) disk;
- allocate second physical address locations within the byte-addressable, non-volatile memory for use by the software application as storage, the second physical address locations mutually exclusive to the first physical address locations;
- generate a remap table to map a logical address space for the software application to pointers to the first physical address locations;
- grant the software application direct access, via the remap table, to the first physical address locations;
- receive a request by the software application to copy data at one of the second physical address locations to one or more of the first physical address locations;
- and
- update an existing entry in the remap table with a new pointer to indicate the one of the second physical address locations is to be utilized as one of the first physical address locations such that the request is fulfilled without making a copy of the data.
A system comprising:
- a processor for a computing system;
- a byte-addressable, non-volatile memory coupled with the processor via a memory bus;
- and
- an operating system for the computing system, the operating system to:
- allocate first physical address locations of the byte-addressable, non-volatile memory for use by a software application as a random access memory (RAM) disk;
- allocate second physical address locations within the byte-addressable, non-volatile memory for use by the software application as storage, the second physical address locations mutually exclusive to the first physical address locations;
- generate a remap table to map a logical address space for the software application to pointers to the first physical address locations;
- grant the software application direct access, via the remap table, to the first physical address locations;
- receive a request by the software application to copy data at one of the second physical address locations to one or more of the first physical address locations;
- and
- update an existing entry in the remap table with a new pointer to indicate the one of the second physical address locations is to be utilized as one of the first physical address locations such that the request is fulfilled without making a copy of the data.
At least one machine non-transitory readable medium comprising a plurality of instructions that in response to being executed by a system at a computing device cause the system to:
- allocate first physical address locations of a byte-addressable, non-volatile memory for use by a software application running at the computing device as a random access memory (RAM) disk;
- allocate second physical address locations within the byte-addressable, non-volatile memory for use by the software application as storage, the second physical address locations mutually exclusive to the first physical address locations;
- generate a remap table to map a logical address space for the software application to pointers to the first physical address locations;
- grant the software application direct access, via the remap table, to the first physical address locations;
- receive a request by the software application to copy data at one of the second physical address locations to one or more of the first physical address locations;
- and
- update an existing entry in the remap table with a new pointer to indicate the one of the second physical address locations is to be utilized as one of the first physical address locations such that the request is fulfilled without making a copy of the data.
Dependencies are inferred from the claim text.