Method and apparatus for rapid data copying using reassigned backing pages
First Claim
1. In a data processing system comprising an auxiliary storage, a processor storage having a central storage and an expanded storage with a portion of said processor storage defining a real storage, a virtual storage operating system having a real storage manager system service for managing said real storage, and a network of control blocks identifying the physical location of virtual data pages in a virtual storage comprised of said auxiliary storage and said real storage portion of said processor storage, a method of copying a source range of data pages, comprising one or more source data pages located in said virtual storage, to a target range of data pages, comprising one or more target data pages located in said virtual storage, said method comprising the steps of:
- determining the location and status of said one or more source data pages and reassigning a backing page, backing one of said one or more source data pages, from said source range of data pages to said target range of data pages, wherein said steps of determining and reassigning are performed by said real storage manager system service, said real storage manager system service managing the backing of data through said network of control blocks.
0 Assignments
0 Petitions
Accused Products
Abstract
A data processing system, having virtual addressing capability, has a real storage manager to associate virtual storage locations with real storage by accessing page tables to determine the locations of "backed" virtual storage pages in central, expanded, or auxiliary storage. The real storage manager accepts requests to copy ranges of virtual storage from one virtual storage range to another, and, in so doing, uses the page tables to effectively perform the copying by reassigning backed pages from the source range to the target range. Having been reassigned to the target range, the backed pages are artificially aged by increasing the unreferenced interval count (UIC), so that the backed pages in the target range will be likely candidates for page stealing.
-
Citations
20 Claims
-
1. In a data processing system comprising an auxiliary storage, a processor storage having a central storage and an expanded storage with a portion of said processor storage defining a real storage, a virtual storage operating system having a real storage manager system service for managing said real storage, and a network of control blocks identifying the physical location of virtual data pages in a virtual storage comprised of said auxiliary storage and said real storage portion of said processor storage, a method of copying a source range of data pages, comprising one or more source data pages located in said virtual storage, to a target range of data pages, comprising one or more target data pages located in said virtual storage, said method comprising the steps of:
- determining the location and status of said one or more source data pages and reassigning a backing page, backing one of said one or more source data pages, from said source range of data pages to said target range of data pages, wherein said steps of determining and reassigning are performed by said real storage manager system service, said real storage manager system service managing the backing of data through said network of control blocks.
- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. In a data processing system comprising an auxiliary storage, a processor storage having a central storage and an expanded storage with a portion of said processor storage defining a real storage, a virtual storage operating system having a real storage manager system service for managing said real storage, and a network of control blocks identifying the physical location of virtual data pages in a virtual storage comprised of said auxiliary storage and said real storage portion of said processor storage, a method of copying a source range of data pages, comprising one or more source data pages located in said virtual storage, to a target range of data pages, comprising one or more target data pages located in said virtual storage, said method comprising the steps of:
-
a) determining a location and state of said one or more of said source data pages; b) reassigning a backing page, backing one of said one or more source data pages, from said source range of data pages to said target range of data pages; c) testing whether said one of said one or more source pages is in said central storage and, if in central storage, reassigning the backing page in priority order;
first, from a duplicate of said one of said one or more source pages, said duplicate located in one of central storage and auxiliary storage;
second, from an expanded storage version of said one of said one or more source pages created by a move of said one of said one or more source pages from central storage to expanded storage;
third, by a move from said one of said one or more source pages to said target range;d) testing whether said one of said one or more source pages is in expanded storage and, if in expanded storage, reassigning the backing page in priority order;
first, from a duplicate of said one of said one or more source pages, said duplicate located in auxiliary storage;
second, directly from a central storage version created by a move of said one of said one or more source pages from expanded to central storage;e) testing whether said one of said one or more source pages is in auxiliary storage and, if in auxiliary storage, reading the backing page into central storage from auxiliary storage and then reassigning the backing page in priority order;
first from a duplicate of said one of said one or more source pages, said duplicate located in one of central storage and auxiliary storage;
second, directly from an expanded storage version of said one of said one or more source pages created by a move of said one of said one or more source pages from central storage to expanded storage;
third, directly by a move from said one of said one or more source pages in said target range;f) artificially aging the reassigned backing page if the reassigned backing page is in processor storage; g) preventing the copying from changing a reference indicator associated with any of said one or more source data pages, wherein said steps a) through g) are performed by said real storage manager system service, said real storage manager system service managing the backing of data through said network of control blocks.
-
-
18. A virtual storage system having an apparatus for copying a source range of data pages, comprising one or more source data pages located in a virtual storage, to a target range of data pages, comprising one or more target data pages located in said virtual storage, said system comprising:
-
a) a virtual storage data processing system having real storage; b) a real storage manager (RSM) capable of executing in said data processing system for managing said real storage, said real storage manager having page table means for associating virtual storage pages with backing pages, and also having a copy means for copying said source range of data pages, said copy means comprising means for reassigning one or more backing pages, backing one or more backing pages within said source range of data pages to said target range of data pages. - View Dependent Claims (19, 20)
-
Specification