This patent description was copied from http://www.delphion.com/ , on 28 December 2002

Title : US6490670: Method and apparatus for efficiently allocating objects in object oriented systems

Country : US United States of America

Inventor : Collins, Michael Thomas ; Austin, TX
Peterson, James Lyle ; Austin, TX
Gu, Weiming ; Austin, TX

View Images 13 pages
Assignee : International Business Machines Corporation, Armonk, NY
other patents from INTERNATIONAL BUSINESS MACHINES CORPORATION (approx. 35,828)

Published / Filed : Dec. 3, 2002 / April 24, 1998

Application Number : US1998000065407

IPC Code : G06F 12/00;

U.S. Class : 711/173 ; 709/104 ;

Field of Search : 711/170,100,171,172,173 709/104

Priority Number :
April 24, 1998   US1998000065407

Abstract : A method and apparatus for managing memory allocation. Each memory block category contains memory blocks. A request, including an object size, is received to allocate memory to an object. An available memory block is allocated to the object if the memory block category for size corresponding to the object size of the object contains an available memory block. An available memory block from a memory block category having a memory block size larger than the object size is located if an available memory block is absent in the memory block category for sizes corresponding to the object size. The located available memory block is partitioned into memory blocks, having a size corresponding to the object size. A partitioned memory block from the partitioned memory blocks is allocated to the object.

Attorney, Agent or Firm : Yee, Duke W. ; LaBaw, Jeffrey S. ;

Primary / Assistant Examiners : Courtenay, III, St. John ; Nguyen, Van H.

First Claim : Show all 23 claims

What is claimed is:

1. A method in a data processing system for managing the allocation of memory in an object oriented system executing on the data processing system, wherein a plurality of memory block categories is present in which each memory block category within the plurality of memory block categories contains memory blocks having a fixed memory block size, the method comprising:

  • receiving a request to allocate memory to an object, wherein the request includes an object size;
  • determining whether a memory block category, having an object size corresponding to the object size of the requested object, contains an available memory block;
  • allocating the available memory block to the object in response to a determination that the memory block category associated with a size corresponding to the object size of the object contains an available memory block;
  • locating an available memory block from a memory block category associated with a memory block size larger than the object size in response to a determination that an available memory block is absent in the memory block category associated with a size corresponding to the object size;
  • partitioning the available memory block, located by the locating step, into a number of partitioned memory blocks, each partitioned memory block within the number of partitioned memory blocks having a size corresponding to the requested object size; and
  • allocating a partitioned memory block from the number of partitioned memory blocks to the object.


         
U.S. References :   |  No patents reference this one | Backward references (14)   |  

Patent  Pub.Date  Inventor Assignee    Title
US5210844   1993-05 Shimura et al.  Hitachi, Ltd. System using selected logical processor identification based upon a select address for accessing corresponding partition blocks of the main memory
US5293614   1994-03 Ferguson et al.  Texas Instruments Incorporated System and method for hard real-time garbage collection requiring a write barrier but no read barrier
US5321834   1994-06 Weiser et al.  Xerox Corporation Method and system for reclaiming unreferenced computer memory space
US5325526   1994-06 Cameron et al.  Intel Corporation Task scheduling in a multicomputer system
US5490260   1996-02 Miller et al.  Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5561786   1996-10 Morse  Microsoft Corporation Computer method and system for allocating and freeing memory utilizing segmenting and free block lists
US5588138   1996-12 Bai et al.  Gestalt Technologies, Incorporated Dynamic partitioning of memory into central and peripheral subregions
US5708790   1998-01 White et al.  International Business Machines Corporation Virtual memory mapping method and system for address translation mapping of logical memory partitions for BAT and TLB entries in a data processing system
US5721858   1998-02 White et al.  International Business Machines Corporation Virtual memory mapping method and system for memory management of pools of logical partitions for bat and TLB entries in a data processing system
US5784699   1998-07 McMahon et al.  Oracle Corporation Dynamic memory allocation in a computer using a bit map index
US5809554   1998-09 Benayon et al.  International Business Machines Corp. User control of multiple memory heaps
US5937434   1999-08 Hasbun et al.  Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6061763   2000-05 Rubin et al.  Sybase, Inc. Memory management system employing multiple buffer caches
US6131150   2000-10 DeTreville  Digital Equipment Corporation Scaled memory allocation system