IP Library Granted Patent US 9,429,624
Granted Patent B2
US 9,429,624 · App. 14/255,924 · Granted Aug 30, 2016

Synchronous sampling of internal state for investigation of digital systems

Inventor: Colin Patrick O'Flynn (Halifax, CA)
G01R31/3191G01R31/2851G01R31/31707G01R31/31726H03M1/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,429,624
App. No.
14/255,924
Granted
Aug 30, 2016
Kind
B2
Abstract

Methods and apparatus are provided for sampling an indicator of the internal state of an embedded system or integrated circuit, where the indicator is sampled in a manner synchronous to the internal clock of the embedded system or integrated circuit. The resulting samples can be used for determining secret data within the embedded system or integrated circuit, detecting failures, or detecting counterfeit devices.

Claims (29)

1. An apparatus for performing synchronous acquisition of an indicator of an internal state of a device under test, said device under test not configured to communicate said internal state on digital communication channels of said device under test, the apparatus comprising:

a clock generator configured to retrieve clock data from a clock configured to execute instructions on the device under test;

a probe configured to produce an analog signal representing an internal state of the device under test;

an analog to digital converter coupled to the probe and configured to generate a plurality of digital samples representing the magnitude of said analog signal by performing sampling operations at times indicated by the clock generator; and

a digital processing unit configured to receive the plurality of digital samples from the analog to digital converter.

2. The apparatus of claim 1 , wherein said indicator of the internal state of said device under test is a measurement related to current being consumed by said device under test.

3. The apparatus of claim 1 , wherein said clock generator comprises a buffer configured to receive a digital clock signal originating from said device under test.

4. The apparatus of claim 1 , wherein said clock generator comprises a frequency selective filter combined with a limiter, wherein said frequency selective filter is configured to pass a fundamental operating frequency of said device under test, and the limiter is configured to generate a digital signal from the output of the frequency selective filter.

5. The apparatus of claim 1 , wherein said clock generator comprises an adjustable oscillator, wherein a frequency of said adjustable oscillator is configured to maintain an output of said adjustable oscillator with a known or constant phase relationship to said clock of said device under test.

6. The apparatus of claim 1 , wherein said clock generator is configured to provide an adjustable phase delay between the phase of said device under test clock and an output of said clock generator.

7. The apparatus of claim 1 , wherein a clock generator output frequency is configured to be a multiple or division of a clock frequency of said device under test.

8. The apparatus of claim 1 , wherein said device under test is positioned in an embedded system contained in said apparatus.

9. A method for performing synchronous acquisition of an indicator of an internal state of a device under test executing processor instructions, said internal state being not available over digital communication channels of the device under test, the method comprising:

determining temporal locations of clock transitions of a clock retrieved from the device under test, said clock being used by the device under test to determine the temporal location of processor instruction execution; and

generating samples of the indicator of the internal state of the device under test at a plurality of sampling points, wherein said sampling points have a known or constant temporal relation to the clock transitions.

10. The method of claim 9 , further comprising performing a comparison between said generated samples and previously generated samples while said device under test was performing known operations.

11. The method of claim 10 , further comprising analyzing said comparison to determine if a failure has occurred in said device under test.

12. The method of claim 10 , further comprising analyzing said comparison to determine if said device under test is a counterfeit component.

13. The method of claim 10 , further comprising analyzing said comparison to determine when said device under test is executing specific instructions.

14. The method of claim 9 , wherein said determining of the temporal locations of clock transitions comprises:

processing said indicator of an internal state with a frequency-selective filter configured to generate a waveform with a fundamental frequency equal to a frequency of said clock of said device under test; and

performing a zero-crossing detection on an output of said frequency-selective filter such that the temporal location of each zero-crossing has a known or constant temporal relation to the clock transitions of said clock used by said device under test.

15. A computer-readable storage medium that is not a transient signal, the computer readable medium having stored thereon instructions that, when executed by one or more processors, cause an apparatus to at least perform the following:

communicate with a device under test, wherein said device under is performing operations in response to communications with an apparatus or third party; and

determine locations of clock transitions of a clock retrieved from the device under test, wherein the device under test is performing said operations under control of said clock; and

by use of said clock transitions, cause a plurality of samples to be taken of an indicator of an internal state of said device under test, the location of said plurality of samples having a known or constant temporal relationship to the location of said clock transitions.

16. A computer-readable storage medium of claim 15 , wherein said apparatus is caused to compare said plurality of samples to a database of previously stored samples.

17. A computer-readable storage medium of claim 15 , wherein said apparatus is caused to determine a value of a hidden piece of data being processed by said device under test, said hidden piece of data being determined by an algorithm using said plurality of samples and data sent to or received from said device under test.

18. A computer-readable storage medium of claim 15 , wherein said apparatus is caused to use said plurality of said samples to determine if said device under test is operating correctly.

Continuity (1)
Related Publication 20150301109A1 · Oct 22, 2015