Memory Testing Using Auxiliary Memory and Stack Pointer Relocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for checking the functionality of memory elements, especially in modularly structured programs, are complex, time-consuming, and risky due to the need to exclude areas used for saving during testing, which can impair device functionality and are not suitable for volatile memory types like RAM.
Innovation Solution
A method that uses an auxiliary memory section to store signatures and functionally check a memory area without altering the stack memory, allowing the test program to run coherently and efficiently by storing the stack memory pointer and using the auxiliary memory as working memory, with signatures formed to detect errors and ensure the stack memory remains unchanged.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the memory area to be checked is excluded during testing to preserve its functionality, then device functionality is maintained, but the testing becomes complex, time-consuming, and cannot test the entire memory area in one run
Solution Approach 1:
The patent introduces an auxiliary memory section as an intermediary between the stack memory and the test program. This auxiliary memory serves as a temporary replacement for the stack memory during testing, allowing the test program to execute without directly accessing or modifying the stack memory. The auxiliary memory acts as a mediator that enables comprehensive testing while preserving the integrity of the original stack memory area.
2Productivity
If the stack memory is accessed during testing, then the test program can execute with available working memory, but the stack memory cells change and cannot be tested consistently
Solution Approach 1:
The patent applies preliminary action by storing the current stack memory pointer address before the test program starts execution. This saved address is stored in a first section of the auxiliary memory. By preserving the original stack pointer position in advance, the system can later restore it after testing completes, ensuring that the stack memory returns to its initial state and maintains consistency throughout the testing process.
3Ease of manufacture
If a modular test program is used, then the program structure is organized and maintainable, but memory space must be excluded for saving during the test
Solution Approach 1:
The patent transitions from a one-dimensional approach (testing within the same memory space) to a two-dimensional approach by creating separate sections: a first section for storing signature data and a second section for auxiliary memory. This spatial separation in different memory dimensions allows the modular test program to access working memory without interfering with the memory area being tested, enabling comprehensive testing in a single continuous operation.
4Loss of time
If the entire memory area is tested in one run, then testing time is reduced, but the stack memory must be accessed which alters its contents
Solution Approach 1:
The patent creates a copy of the stack memory's functional role by allocating an auxiliary memory section that mimics the stack memory's behavior during testing. The test program operates on this auxiliary copy rather than the original stack memory, allowing comprehensive testing in one continuous run. After testing, the original stack memory remains unaltered, preserving manufacturing precision while achieving complete coverage.
Data Source
Figure 1
AI summary
The invention relates to a method for checking the functionality of a memory element comprising a stack memory (SA), the stack memory (SA) occupying a defined area within the memory element, and a stack memory pointer being defined, which indicates in the form of an address a position of the stack memory (SA) from which data are currently taken or to which data are currently written. The invention is distinguished by the fact that in the memory element a section of defined length is delimited and used as auxiliary memory (HS) arranged outside a memory area to be checked, that before the start of a test program for checking the memory element the current address of the stack memory pointer is stored and the stack memory pointer is allocated an address which is assigned to the auxiliary memory (HS), such that the auxiliary memory (HS) is used as main memory during the test program, and that after the end of the test program the stack memory pointer is again allocated the address of that position which it indicated before the start of the test program.