Patent US6202147B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6202147B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Platform-independent device drivers

Assignee: Oracle America Inc
•
Filing: 1998-06-29
•
Granted: 2001-03-13
•
Expires: 2018-06-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer-implemented method for allocating memory resources to a device driver is described. In one embodiment, a device driver generates a request for memory allocation in terms of an abstract memory address space. This abstract memory address space is also used by a bus manager to manage the allocation of memory. The driver forwards the request to the bus manager which can then allocate memory or translate the request to a second abstract memory address space used by a second bus manager. When the request is passed to a platform manager, real memory is allocated and the requested memory is passed back to the driver. Thus, by making a memory request in terms of a bus manager's abstract memory address space, the necessity of coding the driver to request real addresses (a platform-specific operation) is avoided.

Inventors

  • 👤 Gregory L. Slaughter
  • 👤 Thomas Saulpaugh
  • 👤 Bernard Traversat
  • 👤 Jeffrey A. Schmidt

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 21:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F12/00; G06F12/02; G06F12/0223; G06F12/0284

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 153 words
A computer-implemented method for allocating memory resources to a device driver, comprising the steps of: a. generating a request for memory allocation in terms of an abstract memory address space from a device driver, said device driver being configured to determine memory allocation requests using such abstract memory address space; b. passing said request to a first bus manager configured to receive memory requests in such abstract memory address space, said first bus manager being further configured to translate said request into a second memory address space; c. translating said request from said abstract address space to a translated request for memory allocation in terms of real memory addresses; d. allocating real memory addresses in response to said translated request; and e. passing said real memory address to said device driver, such that said request for memory allocation in terms of an abstract memory address space made by said device driver is satisfied.
Claim 2
Dependent Claim 153 words
A computer-implemented method for allocating memory resources to a device driver, comprising the steps of: a. generating a request for memory allocation in terms of an abstract memory address space from a device driver, said device driver being configured to determine memory allocation requests using such abstract memory address space; b. passing said request to a first bus manager configured to receive memory requests in such abstract memory address space, said first bus manager being further configured to translate said request into a second memory address space; c. translating said request from said abstract address space to a translated request for memory allocation in terms of real memory addresses; d. allocating real memory addresses in response to said translated request; and e. passing said real memory address to said device driver, such that said request for memory allocation in terms of an abstract memory address space made by said device driver is satisfied.
Claim 3
Dependent Claim 37 words
The computer-implemented method of claim 1 , further including the step of translating said request into a second abstract memory address space using said first bus manager and passing said translated request to a second bus manager.
Claim 4
Dependent Claim 30 words
The computer-implemented method of claim 2 , wherein said second bus manager functions as a platform manager and said step of allocating real memory is performed by said platform manager.
Claim 5
Dependent Claim 34 words
The computer-implemented method of claim 2 , wherein said second bus manager is subordinate to a platform manager, and said method further includes the step of passing said translated request to said platform manager.
Claim 6
Dependent Claim 20 words
The computer-implemented method of claim 4 , further including the step of translating said request by said second bus manager.
Claim 7
Dependent Claim 38 words
The computer-implemented method of claim 1 , further including the step of generating an array of memory allocation description objects configured to provide a base address field, a length field, and a memory allocation and access constraints field.
Claim 8
Dependent Claim 34 words
The computer-implemented method of claim 6 , wherein said memory allocation description object further includes a field containing information on the address space used by the bus manager and a field containing platform-specific information.
Claim 9
Dependent Claim 18 words
The computer-implemented method of claim 7 , wherein said memory allocation request comprises said memory allocation description object.
Claim 10
Dependent Claim 51 words
The computer-implemented method of claim 7 , further including the step of using said device driver to select an appropriate memory allocation description object using information contained in said bus-specific information field, and passing said request from said device driver to said bus manager using such chosen memory allocation description object.
Claim 11
Dependent Claim 26 words
The computer-implemented method of claim 9 , wherein said step of translating comprises performing a memory address space translation operation on said memory allocation description object.
Claim 12
Independent Claim 110 words
A apparatus for performing memory allocation in an object-oriented computer system, comprising: a. a bus manager mechanism configured to process memory allocation requests in terms of an abstract address space; b. a device driver mechanism configured to communicate with said bus manager mechanism, said device driver being further configured to request allocation of memory from said bus manager in terms of an abstract memory address space of said bus manager; and c. a memory allocation mechanism that processes said requests to allocate memory, said memory having real memory addresses, to said device driver and return to said device driver said real addresses of said allocated memory to said device driver.
Claim 13
Independent Claim 110 words
A apparatus for performing memory allocation in an object-oriented computer system, comprising: a. a bus manager mechanism configured to process memory allocation requests in terms of an abstract address space; b. a device driver mechanism configured to communicate with said bus manager mechanism, said device driver being further configured to request allocation of memory from said bus manager in terms of an abstract memory address space of said bus manager; and c. a memory allocation mechanism that processes said requests to allocate memory, said memory having real memory addresses, to said device driver and return to said device driver said real addresses of said allocated memory to said device driver.
Claim 14
Dependent Claim 29 words
The apparatus of claim 11 , further comprising a memory descriptor, said memory descriptor being configured to contain information about said abstract memory address space and said requested memory.
Claim 15
Dependent Claim 50 words
The apparatus of claim 12 , further comprising a translation mechanism to translate said memory descriptor such that said memory descriptor contains information about a second abstract memory space wherein said second abstract memory space is derived from the operation of said translation mechanism on said abstract memory address space.
Claim 16
Dependent Claim 17 words
The apparatus of claim 13 , further comprising a real memory object that contains real memory addresses.
Claim 17
Dependent Claim 150 words
A computer-readable medium containing computer-readable program code devices, said computer-readable program code devices configured to cause a computer to perform the steps of: a. installing device driver mechanism, said device driver mechanism being configured to make memory allocation requests to a bus manager mechanism in terms of an abstract memory address space associated with said bus manager mechanism; b. installing a bus manager mechanism, said bus manager mechanism being configured to receive memory allocation requests from a device driver mechanism and translate such memory allocation requests from an abstract memory space representation associated with said bus manager mechanism to a second memory space representation; c. passing a memory allocation request from said device driver mechanism to said bus manager mechanism; d. processing said memory allocation request to provide real memory addresses in response to said memory allocation request; and e. returning said real memory addresses to said device driver mechanism.
Claim 18
Dependent Claim 150 words
A computer-readable medium containing computer-readable program code devices, said computer-readable program code devices configured to cause a computer to perform the steps of: a. installing device driver mechanism, said device driver mechanism being configured to make memory allocation requests to a bus manager mechanism in terms of an abstract memory address space associated with said bus manager mechanism; b. installing a bus manager mechanism, said bus manager mechanism being configured to receive memory allocation requests from a device driver mechanism and translate such memory allocation requests from an abstract memory space representation associated with said bus manager mechanism to a second memory space representation; c. passing a memory allocation request from said device driver mechanism to said bus manager mechanism; d. processing said memory allocation request to provide real memory addresses in response to said memory allocation request; and e. returning said real memory addresses to said device driver mechanism.
Claim 19
Dependent Claim 58 words
The computer-readable medium of claim 15 , wherein said computer-readable program code devices are further configured to cause a computer to generate a memory descriptor, said memory descriptor being derived from a abstract memory software object such that said memory descriptor describes said memory allocation request from said device driver mechanism without the allocation of computer memory resources.
Claim 20
Dependent Claim 32 words
The computer-readable medium of claim 16 , wherein said computer-readable program code devices are further configured to cause a computer to allocate a real memory object that comprises said real memory addresses.
Claim 21
Dependent Claim 19 words
The computer-readable medium of claim 16 , wherein said second memory address space is an abstract memory address space.
Claim 22
Dependent Claim 19 words
The computer-readable medium of claim 15 , wherein said second memory address space is a real memory address space.
Claim 23
Dependent Claim 162 words
A computer data signal on a carrier wave containing instructions for providing memory allocations in response to memory allocation requests from device drivers, said computer data signal comprising instructions configured to cause a computer to perform the steps of: installing device driver mechanism, said device driver mechanism being configured to make memory allocation requests to a bus manager mechanism in terms of an abstract memory address space associated with said bus manager mechanism; installing a bus manager mechanism, said bus manager mechanism being configured to receive memory allocation requests from a device driver mechanism and translate such memory allocation requests from an abstract memory space representation associated with said bus manager mechanism to a second memory address space representation; passing a memory allocation request from said device driver mechanism to said bus manager mechanism; processing said memory allocation request to provide real memory addresses in response to said memory allocation request; and returning said real memory addresses to said device driver mechanism.
Claim 24
Dependent Claim 162 words
A computer data signal on a carrier wave containing instructions for providing memory allocations in response to memory allocation requests from device drivers, said computer data signal comprising instructions configured to cause a computer to perform the steps of: installing device driver mechanism, said device driver mechanism being configured to make memory allocation requests to a bus manager mechanism in terms of an abstract memory address space associated with said bus manager mechanism; installing a bus manager mechanism, said bus manager mechanism being configured to receive memory allocation requests from a device driver mechanism and translate such memory allocation requests from an abstract memory space representation associated with said bus manager mechanism to a second memory address space representation; passing a memory allocation request from said device driver mechanism to said bus manager mechanism; processing said memory allocation request to provide real memory addresses in response to said memory allocation request; and returning said real memory addresses to said device driver mechanism.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-12 2004-09-11 2005-03-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-12 2008-09-11 2009-03-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-12 2012-09-11 2013-03-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag