Controlling logic analyzer storage criteria from within...

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S025000

Reexamination Certificate

active

06212652

ABSTRACT:

BACKGROUND
1. Field of the Invention
The present invention relates to logic analyzers for analyzing program execution in computer systems. More specifically, the present invention relates to a method and apparatus for embedding commands within a computer program that change a criterion for storing data in a logic analyzer.
2. Related Art
Logic analyzers are commonly used by computer system developers to debug computer hardware and software. Logic analyzers operate by periodically capturing the state on a set of signal lines in a digital system, such as a computer, with reference to a time base, such as a system clock. A logic analyzer typically “triggers” when it encounters a pre-selected pattern on the set of signal lines. Triggering causes the logic analyzer to take a snapshot of a set of data patterns immediately preceding and/or following the particular pattern—or trigger point. This allows a developer to view events surrounding the trigger point.
One problem with using logic analyzers is that they commonly record large volumes of data, which can be cumbersome to store and manipulate. Because a logic analyzer typically contains a limited amount of memory for storage, recording a significant volume of data from the execution stream of a computer program can quickly overrun the logic analyzer's internal storage capacity. This is especially true for logic analyzers that are embedded within computer systems for fault-tolerance purposes. Such embedded logic analyzers tend to be small and inexpensive. Hence, they typically include a limited amount of memory for storage of data.
Even if a logic state analyzer can successfully record a large volume of data into a large file, the task of manipulating the large file to analyze the data can be a slow and cumbersome process. Simply reading the large file from disk, and possibly sending it across a computer network, can take many minutes, and possibly hours. Furthermore, analyzing the large volume of data can consume a large amount of processor time.
Fortunately, much of the data recorded by a logic analyzer is not relevant in diagnosing a system error. Programs typically execute many repetitive loops that perform simple tasks, such as initializing an array. Function calls and returns require a tremendous number of instructions to save and restore state and to pass parameters.
In order to remove some of this irrelevant data, some logic analyzers provide qualifiers that can be used to filter input data patterns. For example, a qualifier might specify that only write operations are to be recorded. Some logic analyzers can be programmed to change these qualifiers upon the occurrence of certain input patterns.
Using qualifiers can somewhat reduce the number of input patterns recorded by a logic state analyzer. However, a developer programming a logic analyzer to gather data typically has limited insight into how to filter out irrelevant data. A programmer actually viewing the code before it is executed typically has more insight into which portions of the code are likely to create important input patterns. Hence, it is desirable to give the application programmer some measure of control over what types of qualifiers or trigger conditions are to be used to gather data from certain portions of code.
Such control over the internal operation of a logic analyzer is presently not possible from within existing programming languages. Sometimes programmers augment code to embed a special trigger command in a program. When the trigger command is executed, it causes the logic analyzer to take a snapshot of the input data stream. Programmers have also augmented code with commands that embed “markers” into the data stream generated by the program. A marker command typically causes a write to a specific I/O locations, which creates an easily identifiable input pattern for the logic analyzer. Thus, a programmer can insert marker commands into a program to identify specific program locations, such as the start and the end of an interesting piece of code.
Unfortunately, none the above-mentioned programming language features allow a programmer to explicitly control what type of data is gathered, and what trigger conditions are used in different sections of code.
SUMMARY
One embodiment of the present invention provides a system that allows a programmer to insert instructions into computer code that change criteria used by a logic analyzer to gather data. The critera may include a qualifier, which is used to filter data gathered by the logic analyzer, or a trigger condition that is used by the logic analyzer to decide when to take a snapshot of the data. This system operates by configuring the logic analyzer to change its criterion for recording data when an instruction in the computer program is executed that communicates with the logic analyzer. The system additionally provides special programming language instructions, which communicate with the logic analyzer. By inserting the special instructions into a computer program, a programmer can select the criterion that the logic analyzer uses to gather data at key points in a computer program. This allows the programmer to specify how data is to be collected by the logic analyzer in different sections of code. Using this technique, a programmer can greatly reduce the amount of unnecessary data that is collected by the logic analyzer, and can thereby make better use of the limited data storage space available within the logic analyzer.


REFERENCES:
patent: 5067130 (1991-11-01), Jackson
patent: 5611044 (1997-03-01), Lundeby
patent: 5701486 (1997-12-01), Gilbertson et al.
patent: 5903759 (1999-05-01), Sun et al.
patent: 5991899 (1999-11-01), Deacon
patent: 6016563 (2000-01-01), Fleischer
patent: 6023561 (2000-02-01), Mann

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Controlling logic analyzer storage criteria from within... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Controlling logic analyzer storage criteria from within..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Controlling logic analyzer storage criteria from within... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2464328

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.