US 7,613,881 B2
Method and system for configuring and using virtual pointers to access one or more independent address spaces
Daniel Illowsky, Cupertino, Calif. (US); Bruce Bernstein, Sunnyvale, Calif. (US); Richard Mirabella, Palo Alto, Calif. (US); Wolfgang Pieb, Cupertino, Calif. (US); Raymond Sidney, Stateline, Nev. (US); Richard Tiberi, Big Sur, Calif. (US); and Michael Wenocur, Palo Alto, Calif. (US)
Assigned to DARTdevices Interop Corporation, Mountain View, Calif. (US)
Filed on Jun. 08, 2005, as Appl. No. 11/148,978.
Claims priority of provisional application 60/577971, filed on Jun. 08, 2004.
Prior Publication US 2006/0015665 A1, Jan. 19, 2006
Int. Cl. G06F 13/00 (2006.01); G06F 13/28 (2006.01); G06F 9/26 (2006.01); G06F 9/34 (2006.01)
U.S. Cl. 711—117  [711/202] 40 Claims
OG exemplary drawing
 
1. A method of providing a plurality of large independent data access address spaces accessible within a software application program which efficiently make use of physical memory and or physical storage devices, the method comprising:
(1) specifying the properties of one or more independent address spaces;
(2) processing computer program code source statements into an executable image suitable to run on a particular software engine and or hardware processor which supports virtual pointer functionality;
(3) running the executable image on the particular software engine or hardware processor which executes an instruction set that resolves accesses to data referenced by the address space by using a fast access limited size main memory and slower access but larger size secondary storage; and
(4) for each independent address space, creating, and maintaining a number of real memory pages; and when accesses to data logically in the independent address space are made, resolving the access and returning a data value or pointer to main memory containing the data value to the instruction or program making the access, using a multiple step procedure for moving data between main memory pages and secondary storage.