Heterogenous-latency memory optimization
US-2022179799-A1 · Jun 9, 2022 · US
US12579073B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12579073-B2 |
| Application number | US-202217751557-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 23, 2022 |
| Priority date | May 23, 2022 |
| Publication date | Mar 17, 2026 |
| Grant date | Mar 17, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method is described. The method includes determining that a memory page is in one of an active state and an idle state from meta data that is maintained for the memory page. The method includes recording a past history of active/idle state determinations that were previously made for the memory page. The method includes training a neural network on the past history of the memory page. The method includes using the neural network to predict one of a future active state and future idle state for the memory page. The method includes determining a location for the memory page based on the past history of the memory page and the predicted future state of the memory page, the location being one of a faster memory and a slower memory. The method includes moving the memory page to the location from the other one of the faster memory and the slower memory.
Opening claim text (preview).
The invention claimed is: 1 . A method, comprising: determining that a memory page is in an active state or an idle state from meta data that is maintained for the memory page; recording a past history of active/idle state determinations that were previously made for the memory page; training, at a sampling interval, a neural network on the past history of the memory page; training, at a different sampling interval, a different neural network on the past history of the memory page; using both the neural network and the different neural network to predict a future active state or a future idle state for the memory page; determining a location for the memory page based on the past history of the memory page and the predicted future state of the memory page, the location being a faster memory or a slower memory; and moving the memory page to the location. 2 . The method of claim 1 wherein the faster memory is a local memory and the slower memory is a remote memory. 3 . The method of claim 2 wherein the remote memory is a pooled memory. 4 . The method of claim 1 wherein the sampling interval is based on each update to the past history of the memory page and the different sampling interval is based on multiple updates to the past history of the memory page. 5 . The method of claim 4 wherein using both the neural network and the different neural network to predict the future active state or the future idle state for the memory page comprises using both the neural network and the different neural network following a same time increment. 6 . The method of claim 1 wherein the method further comprises: observing active/idle state determinations made for the memory page after the moving of the memory page; recognizing that the location was an incorrect determination for the memory page; and changing a formulation used for the determining. 7 . The method of claim 1 wherein the method further comprises maintaining a list of memory pages and their determined locations. 8 . A non-transitory machine readable storage medium containing program code that when processed by a processor, cause the processor to: determine that a memory page is in an active state or an idle state from meta data that is maintained for the memory page; record a past history of active/idle state determinations that were previously made for the memory page; train, at a sampling interval, a neural network on the past history of the memory page; train, at a different sampling interval, a different neural network on the past history of the memory page; use both the neural network and the different neural network to predict a future active state or a future idle state for the memory page; determine a location for the memory page based on the past history of the memory page and the predicted future state of the memory page, the location being a faster memory or a slower memory; and move the memory page to the location. 9 . The non-transitory machine readable storage medium of claim 8 wherein the faster memory is a local memory and the slower memory is a remote memory. 10 . The non-transitory machine readable storage medium of claim 9 wherein the remote memory is a pooled memory. 11 . The non-transitory machine readable storage medium of claim 8 wherein the sampling interval is based on each update to the past history of the memory page and the different sampling interval is based on multiple updates to the past history of the memory page. 12 . The non-transitory machine readable storage medium of claim 11 wherein to use both the neural network and the different neural network to predict the future active state or the future idle state for the memory page comprises the program code to cause the processor to use both the neural network and the different neural network following a same time increment. 13 . The non-transitory machine readable storage medium of claim 12 wherein the program code is to further cause the processor to: observe active/idle state determinations made for the memory page after the moving of the memory page; recognize that the location was an incorrect determination for the memory page; and change a formulation used for the determining. 14 . The non-transitory machine readable storage medium of claim 8 wherein the program code is to further cause the processor to maintain a list of memory pages and their determined locations. 15 . A data center, comprising: a plurality of rack mounted computers communicatively coupled by a network; a memory pool coupled to the network; a processor of one of the rack mounted computers to execute program code stored in a machine readable medium to perform a method, comprising: determining that a memory page is in an active state or an idle state from meta data that is maintained for the memory page; recording a past history of active/idle state determinations that were previously made for the memory page; training, at a sampling interval, a neural network on the past history of the memory page; training, at a different sampling interval longer, a different neural network on the past history of the memory page; using both the neural network and the different neural network to predict a future active state or a future idle state for the memory page; determining a location for the memory page based on the past history of the memory page and the predicted future state of the memory page, the location being a local memory to the processor or the memory pool; and moving the memory page to the location. 16 . The data center of claim 15 wherein the sampling interval is based on each update to the past history of the memory page and the different sampling interval is based on multiple updates to the past history of the memory page. 17 . The data center of claim 16 wherein using both the neural network and the different neural network to predict the future active state or the future idle state for the memory page comprises using both the neural network and the different neural network following a same time increment. 18 . The data center of claim 15 wherein the method further comprises: training, at a second different sampling interval, a second different neural network on the past history of the memory page; and using the neural network, the different neural network and the second different neural network to predict the future active state or the future idle state for the memory page. 19 . The data center of claim 18 wherein the sampling interval is based on each update to the past history of the memory page, the different sampling interval is based on every second update to the past history of the memory page, and the second different sampling interval is based on every third update to the past history of the memory page. 20 . The data center of claim 19 wherein using the neural network, the different neural network and the second neural network to predict the future active state or the future idle state for the memory page comprises using the neural network, the different neural network and the second different neural network following a same time increment.
Combinations of networks · CPC title
Generating training patterns; Bootstrap methods, e.g. bagging or boosting · CPC title
Pool · CPC title
the resource being the memory · CPC title
Feedforward networks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.