Method and system for improving swap performance
First Claim
1. A method for performing a swap operation, the method comprising:
- performing in a computing device having a volatile memory and a non-volatile memory, wherein the non-volatile memory has multi-level cell (MLC) memory forming a first swap area and single-level cell (SLC) memory forming a second swap area;
monitoring a rate at which incoming data is being sent to the volatile memory;
when the monitored rate is below a first predetermined threshold, swapping first data from the volatile memory to the first swap area of the non-volatile memory; and
when the monitored rate is above the first predetermined threshold;
swapping the first data from the volatile memory to the second swap area of the non-volatile memory; and
when the monitored rate is below the first predetermined threshold, moving the first data from the second swap area of the non-volatile memory to the first swap area of the non-volatile memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for improving swap performance are provided. In one embodiment, a computing device is provided with a volatile memory and a non-volatile memory, wherein the non-volatile memory has a first swap area with multi-level cell (MLC) memory and a second swap area with single-level cell (SLC) memory. One of the characteristics of SLC memory is that data is written more quickly in the SLC memory than the MLC memory. A determination is made whether the computing device is operating in normal mode or burst mode. If it is determined that the computing device is operating in normal mode, data is moved from the volatile memory to the first swap area during a swap operation. If it is determined that the computing device is operating in burst mode, data is moved from the volatile memory to the second swap area during a swap operation.
98 Citations
33 Claims
-
1. A method for performing a swap operation, the method comprising:
performing in a computing device having a volatile memory and a non-volatile memory, wherein the non-volatile memory has multi-level cell (MLC) memory forming a first swap area and single-level cell (SLC) memory forming a second swap area; monitoring a rate at which incoming data is being sent to the volatile memory; when the monitored rate is below a first predetermined threshold, swapping first data from the volatile memory to the first swap area of the non-volatile memory; and when the monitored rate is above the first predetermined threshold; swapping the first data from the volatile memory to the second swap area of the non-volatile memory; and when the monitored rate is below the first predetermined threshold, moving the first data from the second swap area of the non-volatile memory to the first swap area of the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A computing device comprising:
-
a volatile memory; a non-volatile memory, wherein the non-volatile memory has multi-level cell (MLC) memory forming a first swap area and single-level cell (SLC) memory forming a second swap area; and a processor in operative communication with the volatile and non-volatile memories, wherein the processor is configured to; monitor a rate at which incoming data is being sent to the volatile memory; when the monitored rate is below a first predetermined threshold, swap first data from the volatile memory to the first swap area of the non-volatile memory; and when the monitored rate is above the first predetermined threshold, swap the first data from the volatile memory to the second swap area of the non-volatile memory; and when the monitored rate is below the first predetermined threshold, moving the first data from the second swap area of the non-volatile memory to the first swap area of the non-volatile memory. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computing device comprising:
-
a volatile memory; a non-volatile memory, wherein the non-volatile memory has multi-level cell (MLC) memory forming a first swap area and single-level cell (SLC) memory forming a second swap area; means for monitoring a rate at which incoming data is being sent to the volatile memory; means for, when the monitored rate is below a first predetermined threshold, swapping first data from the volatile memory to the first swap area of the non-volatile memory; and means for, when the monitored rate is above the first predetermined threshold; swapping the first data from the volatile memory to the second swap area of the non-volatile memory; and when the monitored rate is below the first predetermined threshold, moving the first data from the second swap area of the non-volatile memory to the first swap area of the non-volatile memory.
-
Specification