Contiguous Memory Allocation for Diagnostics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory diagnostics face challenges in effectively checking all memory addresses due to the diagnostic application's memory usage, operating system memory consumption, and dealing with fragmented memory, especially when running on systems like Windows or Linux, where the OS may use significant memory and other applications run concurrently.

Innovation Solution

An apparatus and method for allocating computer memory for memory diagnostics that identifies unreserved memory, requests a portion based on this amount, and determines if the allocation consists of contiguous memory addresses, allowing for efficient memory diagnostic testing by locking the allocated memory to prevent paging to disk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the diagnostic application requests a large amount of memory to check all memory addresses, then the coverage of memory diagnostics is improved, but the system stability deteriorates due to insufficient memory for the operating system and other applications

Engineering Contradiction:
Improvememory diagnostic coverageVSAvoidsystem stability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent applies partial action by requesting a specific portion of unreserved memory (e.g., 50% or less of total unreserved memory) rather than attempting to allocate all available memory. This ensures sufficient memory remains for the operating system and other applications, maintaining system stability while still achieving comprehensive diagnostic coverage of the allocated portion.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If the memory diagnostic application runs on an operating system with other applications, then the adaptability of the diagnostic is improved, but the available memory for diagnostics deteriorates due to OS and application memory consumption

Engineering Contradiction:
Improvediagnostic compatibilityVSAvoidavailable memory
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and utilizes unreserved memory - memory that is not currently allocated to the operating system or other applications. By identifying and allocating from this unreserved pool, the diagnostic can operate in shared system environments without conflicting with OS or application memory requirements, enabling compatibility while preserving available memory resources.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If the diagnostic application allocates shared memory regions, then the ease of memory allocation is improved, but the measurement accuracy deteriorates because shared memory may be paged to disk

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory fault detection accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent performs preliminary identification of unreserved memory regions before allocation, specifically selecting regions that are not subject to paging. This advance selection ensures that the allocated memory remains in physical memory throughout the diagnostic process, eliminating paging-related inaccuracies while maintaining allocation simplicity through automated region selection.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If the diagnostic checks all memory addresses including fragmented memory, then the completeness of diagnostics is improved, but the device complexity increases due to fragmented memory management

Engineering Contradiction:
Improvediagnostic completenessVSAvoidmemory management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the memory diagnostic process by first identifying unreserved memory regions, then allocating from these segments. This segmentation approach naturally handles fragmented memory by working with naturally occurring unreserved segments rather than attempting to manage or defragment the entire memory space, reducing complexity while maintaining diagnostic completeness across all allocated segments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9691503B2Allocation technique for memory diagnostics
Publication Date: 2017.06.27 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US9691503B2 patent drawing
  • US9691503B2 patent drawing
  • US9691503B2 patent drawing

AI summary

An apparatus for allocating computer memory for memory diagnostics is disclosed. The apparatus may include a processor and memory that stores code executable by the processor, and may include code that identifies an unreserved amount of memory in a computer system, code that requests a portion of the memory based on the unreserved amount of memory, and code that determines whether an allocated portion of the memory comprises non-contiguous memory addresses. In some embodiments, the apparatus includes code that locks the allocated portion of the memory in response to the allocated portion consisting solely of contiguous memory addresses, and code that performs a memory diagnostic test on the allocated portion of the memory.