or
Bookmark and Share
Defensive heap memory management
   
Document Number
US Patent 7181585
Issued Date
February 20, 2007
Link
Map
Abstract
A data structure, method and system are provided incorporating a general purpose memory allocator and defensive heap memory manager. This provides an ability to reliably detect various types of memory errors, dynamically enable or disable memory debugging, enhance success of read and write operations using various memory verification techniques. Further, through separation of control information associated with allocated and free chunks of memory from the chunks themselves (separation of metadata from actual data), enhanced protection of vital information about the heap memory layout in general is provided. The heap memory manager uses read, write, and execute protected heap header walls and pool header walls and may, for each pool and memory block, separately use hidden front and back Memory Debug Information Areas (MDIAs) with checksums and well-known signature fields thereby enhancing overall memory management.
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
23
Comments:
no comments yet
Published
February 20, 2007
Application Number
10/427,085
Filed
April 30, 2003
US Classification
711/170   711/100 711/154 711/173 711/E12.006
Int'l Classification
G06F   12/00   (20060101)   G06F   13/00   (20060101)  
Examiner
USPTO Field of Search
711/100   711/154   711/170   711/173  
Related Patents
7415632 - Detection and repair of corrupted critical data structures without operational interruption - Owned by Unisys Corporation (Blue Bell, PA)

An embodiment of the invention is a technique to detect data corruption of critical data structures and to repair the corrupted critical data structures. Information data of critical data structures used by a managing module are captured upon initialization of the managing module. The captured information data are considered valid, and stored in a data vault. Critical data structures used by the managing module are monitored for validity during operation of the managing module. A corruption of a critical data structure corresponding to a stored data of the stored captured information data is detected during operation of the managing module. The corrupted data structure is restored to an operational state by using the corresponding stored data in the data vault without interrupting the operation of the managing module.

7434020 - Overwrite detection diagnostic for memory heap - Owned by Microsoft Corporation (Redmond, WA)

A data structure within a block of allocable memory of a memory structure such as a heap is used to store an overwrite detection pattern. When memory is passed back to the operation system for any reason (typically freeing the memory, reallocating a larger/smaller buffer, or querying the size of the allocation), the overwrite detection pattern is usually checked. If the overwrite pattern has been modified, an access violation can be forced.

7533228 - Two-pass sliding compaction - Owned by Sun Microsystems, Inc. (Santa Clara, CA)

During two-pass sliding compaction, a heap may first be logically divided into fixed-sized segments, or chunks, and information regarding each chunk, known as per-chunk metadata, may be saved for use during the second, sliding phase. In addition to the per-chunk information, information regarding the location and size, called object extent information, may also be saved during the marking phase of two-pass sliding compaction. In the sliding phase of two-pass sliding compaction, live objects are moved to their respective destinations in the heap after first updating any object references in the objects. The order of objects being moved may be maintained across heap compaction. By relying upon the per-chunk and object extent information saved during the marking phase, objects may be processed individually and independent of each other during the sliding phase, according to some embodiments.

7562203 - Storage defragmentation based on modified physical address and unmodified logical address - Owned by Network Appliance, Inc. (Sunnyvale, CA)

A method in a storage system reads blocks having both physical addresses and logical addresses in the storage system from a first set of locations in non-volatile storage to a cache memory and determines the level of data fragmentation in the non-volatile storage. If the level of data fragmentation exceeds a threshold level, the cache memory is marked and the blocks are written to physically sequential locations with new physical addresses in the non-volatile storage at a data consistency point without changing the logical addresses of the blocks.

7512765 - System and method for auditing memory - Owned by Raytheon Company (Waltham, MA)

According to one embodiment of the invention, a method of auditing memory in a system comprises receiving a request for memory from an application and populating a memory tag with a stack depth component and a traceback stack component. The traceback stack component contains a pointer to a traceback stack. The stack depth component defines a size of the traceback stack. The traceback stack contains information from a program stack associated with the application. The embodiment may further comprise determining if a memory pool has enough free memory to satisfy the request and allocating, from the memory pool, a memory allocation unit if the memory pool has enough free memory to satisfy the request. The memory allocation unit may include a data area and a footer. The data area defines an area to which the application may write data and the footer bounds the data area with a special code.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us