Caching and prefetch for memory system read operation
AssigneeMicron Technology, Inc.
InventorCharles Henry
Life of this patent
Estimating the term…
Abstract
Various example embodiments provide prefetching and caching data for read operations on a memory system, such as a memory sub-system. In particular, some example embodiments transfer prefetched data from a memory system to a pool of host memory locations on a host system prior to the host system requesting the data. Once the prefetched data is stored in the pool of host memory locations, the pool can serve as a local cache on the host system that can readily provide a software application on the host system with requested data without a read request to the memory system if the data is present in the pool and, if not, the host system can request the data from the memory system.
Claims20
A memory system comprising:
- a memory device;
- and
- a processing device operatively coupled to the memory device, the processing device performing operations comprising:
- receiving, from a host system, information regarding a pool of host memory locations reserved on local memory of the host system;
- executing a set of read requests for reading current data from a current set of logical memory addresses, the current set of logical address corresponding to a current set of physical memory locations of the memory device, the set of read requests being received from the host system;
- determining whether a read pattern has been detected based on the executing of the set of read requests;
- and
- in response to determining that the read pattern has been detected, performing a prefetch operation on the memory device based on the read pattern, the prefetch operation comprising:
- reading next data from a next set of logical memory addresses corresponding to a next set of physical memory locations of the memory device, the next set of logical memory addresses being determined based on the read pattern detected, the reading occurring prior to receiving one or more read requests from the host system to read the next set of logical memory addresses;
- based on at least a portion of the information, allocating one or more physical memory locations in the pool for the next data;
- and
- transferring the next data to the one or more physical memory locations.
At least one non-transitory machine-readable storage medium comprising instructions that, when executed by a processing device of a memory system, cause the processing device to perform operations comprising:
- receiving, from a host system, information regarding a pool of host memory locations reserved on local memory of the host system;
- executing a set of read requests for reading current data from a current set of physical memory locations of a memory device of the memory system, the set of read requests being received from the host system, the current set of physical memory locations corresponding to a current set of logical memory addresses;
- determining whether a read pattern has been detected based on the executing of the set of read requests;
- and
- in response to determining that the read pattern has been detected, performing a prefetch operation on the memory device based on the read pattern, the prefetch operation comprising:
- reading next data from a next set of logical memory addresses corresponding to a next set of physical memory locations of the memory device, the next set of logical memory addresses being determined based on the read pattern detected, the reading occurring prior to receiving one or more read requests from the host system to read the next set of logical memory addresses;
- based on at least a portion of the information, allocating one or more physical memory locations in the pool for the next data;
- and
- transferring the next data to the one or more physical memory locations.
A method comprising:
- receiving, by a processing device of a memory system and from a host system, information regarding a pool of host memory locations reserved on local memory of the host system;
- executing, by the processing device, a set of read requests for reading current data from a current set of physical memory locations of a memory device of a memory system, the set of read requests being received from the host system, the current set of physical memory locations corresponding to a current set of logical memory addresses;
- determining, by the processing device, whether a read pattern has been detected based on the executing of the set of read requests;
- and
- in response to determining that the read pattern has been detected, performing, by the processing device, a prefetch operation on the memory device based on the read pattern, the prefetch operation comprising:
- reading next data from a next set of logical memory addresses corresponding to a next set of physical memory locations of the memory device, the next set of logical memory addresses being determined based on the read pattern detected, the reading occurring prior to receiving one or more read requests from the host system to read the next set of logical memory addresses;
- based on at least a portion of the information, allocating one or more physical memory locations in the pool for the next data;
- and
- transferring the next data to the one or more physical memory locations.
Dependencies are inferred from the claim text.