# US 10,502,780 B2 · Selective event filtering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,502,780 B2
- Document ID: US10502780B2
- Status: Granted
- Kind: B2
- Application number: 15/825,490
- Filed: 2017-11-29
- Published: 2018-12-06
- Granted: 2019-12-10
- Earliest claimed: 2017-06-05
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: David Chaim Brief; Refael Ben-Rubi
- Web page: https://patentgrep.com/patent/US10502780B2

## CPC

- G01R 31/31705: {Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits (generation of test sequences therefor G01R31/31835, using scan test therefor G01R31/318544)}
- G06F 11/0772: {Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers}
- G06F 11/0778: {Dumping, i.e. gathering error/state information after a fault for later diagnosis}
- G06F 11/27: Built-in tests
- G06F 11/3636: {by tracing the execution of the program}
- G06F 11/3656: {using a specific debug interface}
- G06F 11/3624: {by performing operations on the source code, e.g. via a compiler}
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus includes an event message generator configured to generate an event message. The apparatus further includes a filter circuit configured to receive the event message and to send a first portion of the event message to a destination device. The filter circuit is further configured to selectively send a second portion of the event message to the destination device at least partially based on an event traffic load associated with the destination device.

## Claims

### Claim 1

An apparatus comprising:
an event message generator configured to generate an event message; and
a filter circuit configured to:
receive the event message;
send a first portion of the event message to a destination device;
selectively send a second portion of the event message to the destination device at least partially based on an event traffic metric associated with the destination device; and
selectively delay or drop the second portion of the event message based on the event traffic metric exceeding a traffic threshold.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the destination device includes a test harness that is configured to evaluate operation and performance of a device under test that includes the event message generator and the filter circuit.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein:
the first portion includes:
an identifier of an event; and
a timestamp; and
the second portion includes parameters associated with the event.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein:
the event generator includes a processor of a plurality of processors, the processor configured to execute instructions; and
the event message corresponds to a failed operation initiated by the processor during execution of the instructions.

### Claim 5 (depends on 1)

The apparatus of claim 1, further comprising an interface configured to:
send event traffic to the destination device; and
send an indication of an event traffic load to the filter circuit.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the filter circuit is further configured to:
determine the event traffic metric at least partially based on the indication of the event traffic load.

### Claim 7 (depends on 5)

The apparatus of claim 5, wherein:
the destination device comprises a non-volatile memory; and
the interface comprises a memory interface to the non-volatile memory.

### Claim 8 (depends on 5)

The apparatus of claim 5, wherein:
the destination device comprises a computer; and
the interface comprises a serial interface.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the filter circuit is further configured to receive a second indication of the event traffic load from the computer.

### Claim 10 (depends on 1)

The apparatus of claim 1, further comprising an event message buffer coupled to the event message generator, wherein the event message buffer is configured to send an indication of an event traffic load to the filter circuit, the indication based on a storage usage of the event message buffer.

### Claim 11 (depends on 1)

The apparatus of claim 1, further comprising a random access memory (RAM) coupled to the filter circuit and configured to store the first portion of the event message.

### Claim 12

A method comprising:
receiving, by a filter circuit, an event message from an event message generator;
sending, by the filter circuit, a first portion of the event message to a destination device; determining an event traffic metric associated with the destination device;
sending the event traffic metric to the filter circuit;
comparing, by the filter circuit, the event traffic metric with a traffic threshold; and
sending the second portion of the event message to the destination device in response to the event traffic metric not exceeding the traffic threshold.

### Claim 13 (depends on 12)

The method of claim 12, wherein the event traffic metric is based on at least one of:
a first data rate used to send event traffic to an access device;
a second data rate used to send the event traffic to a non-volatile memory;
a first storage usage of a buffer that stores the event message; or
a second storage usage of a memory that stores the first portion of the event message.

### Claim 14 (depends on 12)

The method of claim 12, wherein:
the first portion includes:
an identifier of an event; and
a timestamp; and
the second portion includes parameters associated with the event.

### Claim 15 (depends on 12)

The method of claim 12, further comprising executing instructions by a processor, wherein the event message corresponds to a failed operation initiated by the processor during execution of the instructions.

### Claim 16 (depends on 12)

The method of claim 12, wherein the destination device corresponds to a non-volatile memory or a computer.

### Claim 17

An apparatus comprising:
means for generating an event message; and
means for:
forwarding a first portion of the event message to a destination device,
selectively forwarding a second portion of the event message to the destination device at least partially based on an event traffic metric associated with the destination device, and
selectively discarding the second portion of the event message based on the event traffic metric exceeding a traffic threshold.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the event traffic metric is based on at least one of:
a first data rate used to send event traffic to an access device;
a second data rate used to send the event traffic to a non-volatile memory;
a first storage usage of a buffer configured to store the event message; or
a second storage usage of a memory configured to store the first portion of the event message.

### Claim 19 (depends on 17)

The apparatus of claim 17, wherein:
the first portion includes:
an identifier of an event; and
a timestamp; and
the second portion includes parameters associated with the event.

### Claim 20 (depends on 17)

The apparatus of claim 17, wherein the destination device corresponds to a non-volatile memory or a computer.
