Patent EP0058341A1 successfully refreshed from Google Patents.
Patent US7523284B1 successfully refreshed from Google Patents.
US7523284B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for providing memory management within a system management mode
Assignee: American Megatrends International LLC
•
Filing: 2004-08-10
•
Granted: 2009-04-21
•
Expires: 2024-08-10
Abstract
Abstract Methods, systems, and computer-readable media are provided for managing memory within a system management mode (“SMM”). According to the method, a memory management program is executed within the SMM. The memory management program is operative to maintain a singly linked list having one or more descriptors for identifying allocated regions of system management random access memory (“SMRAM”). In particular, each descriptor identifies a region of SMRAM that has been allocated by the memory management program by storing an indication of the base memory address of the allocated region, an indication of the ending memory address for the allocated region, and a pointer to the next descriptor.
Inventors
- 👤 Mark Eric Wilson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 18:49
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/0284; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5005; G06F9/5011; G06F9/5016; G06F9/5022; G06F2212/00; G06F2212/10; G06F2212/1041; G06F2212/1044
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
114 words
A method for providing memory management within a system management mode, the method comprising: creating a memory reserved table comprising a singly linked list of a predetermined number of unused descriptors marked with a predetermined value; replacing at least one unused descriptor with a used descriptor, wherein the used descriptor identifies a region of system management random access memory allocated by the memory management program; periodically determining whether all of the descriptors in the memory reserved table are used to identify allocated memory; and in response to determining that all of the descriptors have been utilized, creating a new memory reserved table comprising a singly linked list of the predetermined number of unused descriptors.
Claim 2
Independent Claim
114 words
A method for providing memory management within a system management mode, the method comprising: creating a memory reserved table comprising a singly linked list of a predetermined number of unused descriptors marked with a predetermined value; replacing at least one unused descriptor with a used descriptor, wherein the used descriptor identifies a region of system management random access memory allocated by the memory management program; periodically determining whether all of the descriptors in the memory reserved table are used to identify allocated memory; and in response to determining that all of the descriptors have been utilized, creating a new memory reserved table comprising a singly linked list of the predetermined number of unused descriptors.
Claim 3
Dependent Claim
80 words
The method of claim 1 , wherein the memory management program is operative to receive a request for a region of system management random access memory, to determine based on the contents of the singly linked list whether the requested memory region is available and, in response to determining that the requested memory region is available, further operative to allocate an unused descriptor for the requested memory region and to return an indication that the memory region has been allocated.
Claim 4
Dependent Claim
43 words
The method of claim 2 , wherein the request for the region of system management random access memory may comprise a request for a specific size of memory or a request for a specified size of memory located at a specific memory address.
Claim 5
Dependent Claim
64 words
The method of claim 3 , wherein the memory management program is further operative to receive a request to deallocate a region of system management random access memory, to identify one or more used descriptors for the memory region to be deallocated, to mark the one or more used descriptors as unused, and to return an indication that the memory region has been deallocated.
Claim 6
Dependent Claim
22 words
The method of claim 4 , wherein each used descriptor comprises an indication of a base memory address of the allocated region.
Claim 7
Dependent Claim
23 words
The method of claim 5 , wherein each used descriptor further comprises an indication of an ending memory address of the allocated region.
Claim 8
Dependent Claim
18 words
The method of claim 6 , wherein each used descriptor further comprises a pointer to a next descriptor.
Claim 9
Independent Claim
306 words
A method for providing memory management within a system management mode, the method comprising: executing within the system management mode a memory management program, the memory management program operative to initially allocate a memory reserved table comprising a predetermined number of unused descriptors in a singly linked list, the memory reserved table further including a field identifying a number of used descriptors within the singly linked list, maintain the singly linked list, wherein each used descriptor identifies a region of system management random access memory allocated by the memory management program, comprises an indication of a base memory address of the allocated region, comprises an indication of an ending memory address of the allocated region, and comprises a pointer to a next descriptor, receive a request for a region of system management random access memory, wherein the request comprises a request for a specific size of memory or a request for a specified size of memory located at a specific memory address, determine based on the contents of the singly linked list whether the requested memory region is available, in response to determining that the requested memory region is available, allocate an unused descriptor for the requested memory region and return an indication that the memory region has been allocated, receive a request to deallocate a region of system management random access memory, identify one or more used descriptors for the memory region to be deallocated, mark each of the one or more used descriptors identified to be deallocated as an unused descriptor, return an indication that the memory region has been deallocated, periodically determine whether all of the descriptors in the memory reserved table have been utilized to identify allocated memory, and in response to determining that all of the descriptors have been utilized, create a new memory reserved table comprising one or more descriptors.
Claim 10
Independent Claim
306 words
A method for providing memory management within a system management mode, the method comprising: executing within the system management mode a memory management program, the memory management program operative to initially allocate a memory reserved table comprising a predetermined number of unused descriptors in a singly linked list, the memory reserved table further including a field identifying a number of used descriptors within the singly linked list, maintain the singly linked list, wherein each used descriptor identifies a region of system management random access memory allocated by the memory management program, comprises an indication of a base memory address of the allocated region, comprises an indication of an ending memory address of the allocated region, and comprises a pointer to a next descriptor, receive a request for a region of system management random access memory, wherein the request comprises a request for a specific size of memory or a request for a specified size of memory located at a specific memory address, determine based on the contents of the singly linked list whether the requested memory region is available, in response to determining that the requested memory region is available, allocate an unused descriptor for the requested memory region and return an indication that the memory region has been allocated, receive a request to deallocate a region of system management random access memory, identify one or more used descriptors for the memory region to be deallocated, mark each of the one or more used descriptors identified to be deallocated as an unused descriptor, return an indication that the memory region has been deallocated, periodically determine whether all of the descriptors in the memory reserved table have been utilized to identify allocated memory, and in response to determining that all of the descriptors have been utilized, create a new memory reserved table comprising one or more descriptors.
Claim 11
Dependent Claim
26 words
A computer storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform the method of claim 1 .
Claim 12
Dependent Claim
57 words
The method of claim 8 , wherein in response to determining that all of the descriptors have been utilized, the memory management program is further operative to create a descriptor in the memory reserved table for the new memory reserved table and to create a pointer in the memory reserved table to the new memory reserved table.
Claim 13
Dependent Claim
19 words
The method of claim 8 , wherein the memory management program executes in conjunction with an extensible firmware interface.
Claim 14
Dependent Claim
26 words
A computer storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform the method of claim 8 .
References Cited (Backward Citations)
US5414826A
Cited
US5432908A
Cited
US5644784A
Cited
US5742797A
Cited
US5724551A
Cited
US6457112B2
Cited
US20030028740A1
Cited
US6453403B1
Cited
US20020042787A1
Cited
US6874074B1
Cited
US20020144073A1
Cited
US20020169979A1
Cited
US20030018689A1
Cited
US20030058880A1
Cited
US20040168037A1
Cited
US7035988B1
Cited
US7032088B2
Cited
US20050154851A1
Cited
US7159094B1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2012-04-20 | 2012-10-20 | 2013-04-21 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2016-04-20 | 2016-10-20 | 2017-04-21 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2020-04-20 | 2020-10-20 | 2021-04-21 | $7700.00 | Window Closed / Lapsed |