IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0504876
(2000-02-16)
|
발명자
/ 주소 |
- Hinker,Paul
- Lewis,Bradley
- Boucher,Michael
|
출원인 / 주소 |
|
대리인 / 주소 |
Finnegan, Henderson, Farabow, Garrett &
|
인용정보 |
피인용 횟수 :
25 인용 특허 :
139 |
초록
▼
This functions maintains two trees: a fast access tree referring to memory blocks of a size most often requested, and a general access tree referring to memory blocks of a size less often requested. After satisfying a request for a memory block, the function adjusts the trees to ensure that the fas
This functions maintains two trees: a fast access tree referring to memory blocks of a size most often requested, and a general access tree referring to memory blocks of a size less often requested. After satisfying a request for a memory block, the function adjusts the trees to ensure that the fast access tree refers to memory blocks of the size most often requested. By providing such functionality, the function improves its performance over time through self-adaptation.
대표청구항
▼
What is claimed is: 1. A method in a data processing system for allocating memory by a memory allocation function, comprising: receiving a memory request for a reference to a block of memory; returning the reference to the block of memory to satisfy the request; forming a plurality of linked-lists
What is claimed is: 1. A method in a data processing system for allocating memory by a memory allocation function, comprising: receiving a memory request for a reference to a block of memory; returning the reference to the block of memory to satisfy the request; forming a plurality of linked-lists referring to memory blocks of a plurality of sizes, each of the plurality of linked-lists referring to memory blocks of a common size; setting a fast access tree to refer to a first one of the plurality of linked-lists; and setting a general access tree to refer to a second one and a third one of the plurality of linked-lists, wherein a size of a memory block referred to by the first linked-list is larger than a size of a memory block referred to by the second linked-list and smaller than a size of a memory block referred to by the third linked-list. 2. The method of claim 1, further comprising adjusting a structure of the fast access tree and the general access tree based on the memory request. 3. The method of claim 2, further comprising searching the fast access tree to satisfy the memory request and, if the memory request is not satisfied, searching the general access tree to satisfy the memory request. 4. The method of claim 1, further including ensuring that the fast access tree refers to one of the plurality of linked-lists that is most frequently requested. 5. The method of claim 1, wherein receiving, returning, forming, and setting are performed in a user space of the memory. 6. A system for allocating memory, comprising: means for receiving a memory request for a reference to a block of memory; means for returning the reference to the block of memory to satisfy the request; and means for forming a plurality of linked-lists referring to memory blocks of a plurality of sizes, each of the plurality of linked-lists referring to memory blocks of a common size; means for setting a fast access tree to refer to a first one of the plurality of linked-lists; means for setting a general access tree to refer to a second one and a third one of the plurality of linked-lists, wherein a size of a memory block referred to by the first linked-list is larger than a size of a memory block referred to by the second linked-list and smaller than a size of a memory block referred to by the third linked-list. 7. A data processing system for providing access to memory, comprising: a memory including: an access tree structure comprising a fast access tree and a general access tree; a program including a memory access function that provides access to the memory, forms a plurality of linked-lists referring to memory blocks of a plurality of sizes, each of the plurality of linked-lists referring to memory blocks of a common size, sets the fast access tree to refer to a first one of the plurality of linked-lists, and sets the general access tree to refer to a second one and a third one of the plurality of linked-lists, wherein a size of a memory block referred to by the first linked-list is larger than a size of a memory block referred to by the second linked-list and smaller than a size of a memory block referred to by the third linked-list; and a processor for executing the program. 8. The data processing system of claim 7, further including an operating system with a system memory function, and wherein the memory access function provides access to the memory by utilizing the system memory function. 9. The data processing system of claim 7, wherein the memory access function adjusts a structure of the fast access tree and the general access tree based on a memory request. 10. The data processing system of claim 7, wherein the fast access tree refers to one of the plurality of linked-lists that is most frequently accessed. 11. The data processing system of claim 7, wherein a most frequently accessed memory block size is included in the fast access tree. 12. The data processing system of claim 7, wherein a least frequently accessed memory block size is included in the general access tree. 13. The data processing system of claim 7, wherein the memory access function searches the fast access tree to satisfy a memory request and, if the memory request is not satisfied, searches the general access tree to satisfy the memory request. 14. The data processing system of claim 13, wherein each of the plurality of linked-lists has an associated counter indicating a number of times that the associated linked-list has been accessed. 15. A computer-readable medium including instructions for performing a method for allocating memory by a memory allocation function, the method comprising: receiving a memory request for a reference to a block of memory; returning the reference to the block of memory to satisfy the request; forming a plurality of linked-lists referring to memory blocks of a plurality of sizes, each of the plurality of linked-lists referring to memory blocks of a common size; setting a fast access tree to refer to a first one of the plurality of linked-lists; setting a general access tree to refer to a second one and a third one of the plurality of linked-lists, wherein a size of a memory block referred to by the first linked-list is larger than a size of a memory block referred to by the second linked-list and smaller than a size of a memory block referred to by the third linked-list. 16. The computer-readable medium, including instructions for performing the method, of claim 15, the method further comprising adjusting a structure of the fast access tree and the general access tree based on the memory request. 17. The computer-readable medium, including instructions for performing the method, of claim 15, the method further comprising searching the fast access tree to satisfy the memory request and, if the memory request is not satisfied, searching the general access tree to satisfy the memory request. 18. The computer-readable medium, including instructions for performing the method, of claim 15, the method further comprising ensuring that the fast access tree refers to one of the plurality of linked-lists that is most frequently requested.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.