An example apparatus comprises a hybrid memory system and a controller coupled to the hybrid memory system. The controller may be configured to cause data to be selectively stored in the hybrid memory system responsive to a determination that an exception involving the data has occurred.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: allocating a portion of a hybrid memory system comprising a flash memory device, a resistance variable memory device, and a controller for use in a code paging operation; determining that a fault exception corresponding to a read or write access request for a particular set of data associated with a main memory of a host coupleable to the hybrid memory system is going to occur; performing the code paging operation in response to determining that the host will experience the fault exception; and selectively transferring the particular set of data from the host to the allocated portion of the flash memory device or the phase change random access memory device of the hybrid memory system by mapping a logical block address (LBA) associated with the main memory of the host to the flash memory device or the resistance variable memory device that is configured to exhibit a lower write latency based, at least in part, on performance of the code paging operation and a determination that executing instructions to access a portion of the main memory in which the particular set of data is maintained will cause the fault exception to occur.
2. The method of claim 1 , wherein determining that the host has experienced the fault exception includes determining that a readahead operation has been performed by the host.
3. The method of claim 1 , wherein selectively transferring data from the host to the allocated portion of the hybrid memory system further comprises selectively transferring the data to a particular logical block address range associated with the hybrid memory system.
4. The method of claim 1 , further comprising: determining contents of a code read by the host as part of the code paging operation; and selectively mapping portions of a memory of the host to the allocated portion of the hybrid memory system.
5. The method of claim 1 , further comprising transferring the data from the allocated portion of the hybrid memory system back to the host in response to determining that the host is referencing the data.
6. An apparatus, comprising: a hybrid memory system comprising a first non-volatile memory (NVM) resource, a second NVM resource, and a controller, wherein the controller is configured to: determine that an exception corresponding to a read or write access request for a particular set of data associated with a main memory of a host coupleable to the hybrid memory system is going to occur; and cause the particular set of data to be selectively stored in the first NVM or the second NVM of the hybrid memory system by mapping a logical block address (LBA) associated with the main memory associated with the host to the one of the first NVM or the second NVM that is configured to exhibit a lower write latency based, at least in part on a determination that executing instructions to access a portion of the main memory in which the particular set of data is maintained will cause the exception to occur.
7. The apparatus of claim 6 , wherein the exception comprises a page fault.
8. The apparatus of claim 6 , wherein the controller is further configured to cause the data to be selectively mapped onto the LBA range of the hybrid memory system.
9. The apparatus of claim 6 , wherein the determination that the exception will occur is based, at least in part, on a determination that a readahead mechanism has been invoked by the apparatus.
10. The apparatus of claim 6 , wherein the controller is further configured to cause: a determination that a readahead mechanism has been invoked by the apparatus; and responsive to the determination that the readahead mechanism has been invoked, map the LBA range corresponding to data associated with the readahead mechanism onto a contiguous portion of the hybrid memory system.
11. The apparatus of claim 6 , wherein the controller is further configured to cause the data to be selectively stored in the hybrid memory system responsive to a determination that an amount of time associated with performing an operation using the data is reduced when the data is stored in the hybrid memory system.
12. The apparatus of claim 6 , wherein the controller is further configured to optimize an execution speed of the data by selectively storing the data in the hybrid memory system.
13. The apparatus of claim 6 , wherein the main memory is the main memory resource of the host computing device coupled to the hybrid memory system.
14. The apparatus of claim 6 , wherein the data corresponds to a page of memory, blocks of memory, logical block addresses of memory, or combinations thereof.
15. The apparatus of claim 6 , wherein at least one of the first NVM and the second NVM comprises a resistance variable memory device and the other of the first NVM and the second NVM comprises a flash memory device.
16. An apparatus, comprising: a hybrid memory system comprising a first non-volatile memory (NVM) resource, a second NVM resource, and a controller, wherein the controller is configured to: cause a portion of the hybrid memory system to be allocated for use in a code paging operation; cause a portion of a memory associated with a host to be mapped to a logical block addressing (LBA) range; cause the LBA range to be mapped to the allocated portion of the hybrid memory system; determine that an exception corresponding to a read or write access request for a particular set of data associated with a main memory of the host coupleable to the hybrid memory system is going to occur; and cause the particular set of data to be selectively stored in the first NVM or the second NVM of the hybrid memory system by mapping a LBA associated with the main memory of the host to the one of the first NVM or the second NVM that is configured to exhibit a lower write latency based, at least in part on performance of the code paging operation and a determination that executing instructions to access a portion of the main memory in which the particular set of data is maintained will cause the exception to occur.
17. The apparatus of claim 16 , wherein the controller is further configured to cause: contents of a code read as part of the code paging operation to be determined; and a portion of the memory associated with the host containing the determined contents of the code read as part of the code paging process to be selectively mapped to the portion of the hybrid memory system allocated for use in the code paging operation.
18. The apparatus of claim 17 , wherein the portion of the hybrid memory system comprises a particular LBA range.
19. The apparatus of claim 16 , wherein the portion of the hybrid memory system corresponds to a page of the hybrid memory system, blocks of the hybrid memory system, logical block addresses of the hybrid memory system, or combinations thereof.
20. The apparatus of claim 16 , wherein at least one of the first NVM resource and the second NVM resource comprises a resistance variable memory device and the other of the first NVM and the second NVM comprises a flash memory device.
21. The apparatus of claim 16 , wherein the code paging operation is performed in response to a determination that an exception has occurred.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 21, 2018
July 7, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.