IP Library Granted Patent US 7,206,915
Granted Patent B2
US 7,206,915 · App. 10/860,523 · Granted Apr 17, 2007

Virtual space manager for computer having a physical address extension feature

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 7,206,915
App. No.
10/860,523
Filed
Jun 3, 2004
Granted
Apr 17, 2007
Kind
B2
Art Unit
2186
USPC
711/203
Abstract

A physical address extension feature maps multiple virtual memory spaces to an extended physical memory. A virtual space manager dynamically allocates pages of the physical memory to respective virtual spaces. The virtual space manager responds to a request from an application for allocation of a page of physical memory by returning a cookie indicating the allocated page. The virtual space manager responds to a request including the cookie by switching virtual address translation to the virtual memory space including the indicated page. The cookie is used to access a cookie cache of state information on the last page of virtual memory having been mapped into physical memory. For example, segments of the page store block map entries for snapshot copies, and the cookie cache caches the last-accessed values of the block numbers and their location within the page.

Claims (15)

1. A digital computer comprising at least one processor for producing virtual addresses over a range of virtual addresses, at least one translation buffer coupled to said at least one processor for producing physical addresses from the virtual addresses in accordance with a current virtual-to-physical address mapping, and a random access memory being addressable by the physical addresses and coupled to said at least one processor for supplying data to said at least one processor, wherein the random access memory includes physical memory having a range of physical addresses that is greater than the range of virtual addresses, and the digital computer is programmed with a plurality of different virtual-to-physical address mappings for identical virtual addresses to define a plurality of respective virtual memory spaces having the different virtual-to-physical address mappings for the identical virtual addresses, and

wherein the digital computer is programmed with a virtual space manager, the virtual space manager including an allocation routine for responding to an allocation request from an application for allocation of at least one page of the physical memory by returning an indication of said at least one page of the physical memory, and a mapping routine for responding to a mapping request from the application, the mapping request including the indication of said at least one page of the physical memory, the mapping routine being executable by the digital computer for switching the current virtual-to-physical address mapping to a virtual-to-physical address mapping including the indicated said at least one page of the physical memory, and

wherein the indication of said at least one page of the physical memory is a cookie, and the digital computer is programmed with a cookie cache of state information on a last page of virtual memory having been mapped into the physical memory.

2. The digital computer as claimed in claim 1 , wherein the digital computer is programmed for responding to an application request including the cookie by accessing the cookie cache to determine whether the cookie identifies the last page of virtual memory having been mapped into the physical memory, and upon determining that the cookie identifies the last page of virtual memory having been mapped into the physical memory, accessing the last page of virtual memory without switching the current virtual-to-physical address mapping.

3. The digital computer as claimed in claim 1 , which is programmed for responding to an application request including the cookie by accessing the cookie cache to determine whether the cookie identifies a last page of virtual memory having been mapped into the physical memory, and upon determining that the cookie identifies the last page of virtual memory having been mapped into the physical memory, accessing the state information in the cookie cache to respond to the application request.

4. The digital computer as claimed in claim 3 , wherein the application request is a request for information about a mapping between a pair of data blocks, and the state information in the cookie cache includes a data block mapping in the last page of virtual memory having been mapped into the physical memory.

5. The digital computer as claimed in claim 1 , wherein the virtual space manager includes a routine for receiving from the application a specification of a virtual address and a number of pages for a virtual space to be allocated to the application and mapped to the physical memory.

6. A method of operating a digital computer having at least one processor for producing virtual addresses over a range of virtual addresses, at least one translation buffer coupled to said at least one processor for producing physical addresses from the virtual addresses in accordance with a current virtual-to-physical address mapping, and a random access memory being addressable by the physical addresses and coupled to said at least one processor for supplying data to said at least one processor, the random access memory containing physical memory having a range of physical addresses that is greater than the range of virtual addresses, wherein the digital computer is programmed with a plurality of different virtual-to-physical address mappings for identical virtual addresses to define a plurality of respective virtual memory spaces having the different virtual-to-physical address mappings for the identical virtual addresses, said method comprising:

the digital computer responding to an allocation request from an application for allocation of at least one page of memory by returning an indication of said at least one page of allocated memory in a virtual memory space; and

the digital computer responding to a mapping request from the application, the mapping request including the indication of said at least one page of allocated memory, the digital computer responding to the mapping request by switching the current virtual-to-physical address mapping to the virtual memory space including the indicated said at least one page of allocated memory,

wherein the indication of the page of allocated memory is a cookie, and the method includes caching, in a cookie cache, state information on a last page of virtual memory having been mapped into physical memory.

7. The method as claimed in claim 6 , which includes the digital computer responding to an application request including the cookie by accessing the cookie cache to determine whether the cookie identifies the last page of virtual memory having been mapped into physical memory, and upon determining that the cookie identifies the last page of virtual memory having been mapped into physical memory, accessing the last page of virtual memory without switching the current virtual-to-physical address mapping.

8. The method as claimed in claim 6 , which includes the digital computer responding to an application request including the cookie by accessing the cookie cache to determine whether the cookie identifies the last page of virtual memory having been mapped into physical memory, and upon determining that the cookie identifies the last page of virtual memory having been mapped into physical memory, accessing the state information in the cookie cache to respond to the application request.

9. The method as claimed in claim 8 , wherein the application request is a request for information about a mapping between a pair of data blocks, the state information in the cookie cache includes a data block mapping in the last page of virtual memory having been mapped into physical memory, and the method includes the digital computer accessing the data block mapping in the cookie cache in response to the application request.

10. The method as claimed in claim 6 , which includes the digital computer initially receiving from the application a specification of a virtual address and a number of pages for a virtual space to be allocated to the application and mapped to the physical memory.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2004
From: DESOUTER, MARC A.; ARMANGAU, PHILIPPE; AHMED, ISHRAQ MOHAMMED; GLIDEWELL, KEITH
To: EMC CORPORATION
Reel/Frame 015439/0931 →
Continuity (1)
Related Publication 20050273570A1 · Dec 8, 2005