US 12,217,089 B2
Identifying memory devices for swapping virtual machine memory pages
Michael Tsirkin, Haifa (IL); and Andrea Arcangeli, Imola (IT)
Assigned to Red Hat Israel, Ltd., Raanana (IL)
Filed by Red Hat Israel, Ltd., Raanana (IL)
Filed on Dec. 6, 2021, as Appl. No. 17/542,816.
Application 17/542,816 is a continuation of application No. 15/852,796, filed on Dec. 22, 2017, granted, now 11,200,090.
Application 15/852,796 is a continuation of application No. 14/281,995, filed on May 20, 2014, granted, now 9,940,167, issued on Apr. 10, 2018.
Prior Publication US 2022/0091890 A1, Mar. 24, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/50 (2006.01); G06F 9/455 (2018.01)
CPC G06F 9/5016 (2013.01) [G06F 9/455 (2013.01); G06F 9/45558 (2013.01); G06F 9/50 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45583 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
retrieving, by a computing system comprising one or more computing devices from a data structure mapping a plurality of respective workload types to a plurality of corresponding memory device types associated with a plurality of corresponding transformation functions, a record mapping a workload type associated with an application, wherein the workload type reflects a classification of the application based on a type of data being consumed by the application, to a memory device type that is designated for storing transformed memory pages that are transformed by a transformation function associated with the workload type;
subsequently allocating, based at least in part on the record, a memory block on a memory device having the memory device type that is designated for storing transformed memory pages that are transformed by the transformation function, wherein the memory device comprises a backing store for swapping one or more transformed memory pages that are transformed by the transformation function; and
swapping a memory page utilized by the application associated with the workload type with the memory block, wherein the memory page is stored in the memory block as a first transformed memory page that is transformed by the transformation function.