IP Library › Granted Patent US 9,703,492
Granted Patent B2
US 9,703,492 · App. 14/715,632 · Granted Jul 11, 2017

Page replacement algorithms for use with solid-state drives

Inventors: Mengze Liao (Shanghai, CN); Jiang Yu (Shanghai, CN)
Assignee: International Business Machines Corporation
G06F3/0611G06F3/065G06F3/0619G06F3/0652G06F3/0679G06F3/0685G06F12/123G06F2212/69
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,703,492
App. No.
14/715,632
Granted
Jul 11, 2017
Kind
B2
Abstract

A page replacement algorithm is provided. An idle range of memory pages is determined based, at least in part, on indications of references to memory pages in the idle range of memory pages, wherein the idle range of memory pages is a set of one or more memory pages. A first memory page is identified in the idle range of memory page for paging out of memory. The first memory page is identified based, at least in part, on indications of modifications to the memory pages. The first memory page is paged out of memory.

Claims (50)

1. A method comprising:

determining, by one or more computer processors, an idle range of memory pages, based, at least in part, on indications of references to memory pages in the idle range of memory pages, wherein the idle range of memory pages is a set of one or more memory pages;

identifying, by the one or more computer processors, a first memory page in the idle range of memory pages to page out based, at least in part, on indications of modifications to the memory pages, wherein:

the indications of modifications to memory pages are a plurality of modification counters,

each memory page is associated with a modification counter,

the first memory page is identified by comparing a first modification counter that is associated with the first memory page to a second modification counter that is associated with a second memory page, and

the first modification counter has a lower value than the second modification counter;

paging out of memory, by the one or more computer processors, the identified first memory page; and

updating, by the one or more computer processors, the plurality of modification counters in accordance with an aging algorithm.

2. The method of claim 1 , wherein the indications of references to memory pages are a plurality of reference counters, and wherein each memory page in memory is associated with a reference counter.

3. The method of claim 2 , further comprising:

updating, by the one or more computer processors, the plurality of reference counters in accordance with an aging algorithm.

4. The method of claim 1 , further comprising:

paging out of memory, by the one or more computer processors, a third memory page in the idle range of memory pages based, at least in part, on a copy of the third memory page that is stored on a computer storage device that includes non-volatile computer storage media, and wherein the third memory page is paged out before the first memory page due, at least in part, to the copy of the third memory page.

5. The method of claim 1 , wherein the first memory page is paged out to a solid-state drive.

6. A computer program product, the computer program product comprising:

a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising:

program instructions to determine an idle range of memory pages, based, at least in part, on indications of references to memory pages in the idle range of memory pages, wherein the idle range of memory pages is a set of one or more memory pages;

program instructions to identify a first memory page in the idle range of memory pages to page out based, at least in part, on indications of modifications to the memory pages, wherein:

the indications of modifications to memory pages are a plurality of modification counters,

each memory page is associated with a modification counter,

the first memory page is identified by comparing a first modification counter that is associated with the first memory page to a second modification counter that is associated with a second memory page, and

the first modification counter has a lower value than the second modification counter;

program instructions to page out of memory the identified first memory page; and

program instructions to update the plurality of modification counters in accordance with an aging algorithm.

7. The computer program product of claim 6 , wherein

the indications of references to memory pages are a plurality of reference counters, and wherein each memory page in memory is associated with a reference counter.

8. The computer program product claim 7 , the program instructions further comprising:

program instructions to update the plurality of reference counters in accordance with an aging algorithm.

9. The computer program product of claim 6 , the program instructions further comprising:

program instructions to page out of memory a third memory page in the idle range of memory pages based, at least in part, on a copy of the third memory page that is stored on a computer storage device that includes non-volatile computer storage media, and wherein the third memory page is paged out before the first memory page due, at least in part, to the copy of the third memory page.

10. The computer program products of claim 6 , wherein the first memory page is paged out to a solid-state drive.

11. A computer system, the computer system comprising:

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to determine an idle range of memory pages, based, at least in part, on indications of references to memory pages in the idle range of memory pages, wherein the idle range of memory pages is a set of one or more memory pages, wherein:

the indications of modifications to memory pages are a plurality of modification counters,

each memory page is associated with a modification counter,

the first memory page is identified by comparing a first modification counter that is associated with the first memory page to a second modification counter that is associated with a second memory page, and

the first modification counter has a lower value than the second modification counter;

program instructions to page out of memory the identified first memory page; and

program instructions to update the plurality of modification counters in accordance with an aging algorithm.

12. The computer system of claim 11 , wherein

the indications of references to memory pages are a plurality of reference counters, and wherein each memory page in memory is associated with a reference counter.

13. The computer system of claim 12 , the program instructions further comprising:

program instructions to update the plurality of reference counters in accordance with an aging algorithm.

14. The computer system of claim 11 , the program instructions further comprising:

program instructions to page out of memory a third memory page in the idle range of memory pages based, at least in part, on a copy of the third memory page that is stored on a computer storage device that includes non-volatile computer storage media, and wherein the third memory page is paged out before the first memory page due, at least in part, to the copy of the third memory page.

15. The computer system of claim 11 , wherein the first memory page is paged out to a solid-state drive.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2015
From: LIAO, MENGZE; YU, JIANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035664/0524 →
Continuity (1)
Related Publication 20160342529A1 · Nov 24, 2016