IP Library Granted Patent US 11,544,210
Granted Patent B1
US 11,544,210 · App. 17/854,435 · Granted Jan 3, 2023

Collection of runtime information for debug and analysis

Inventors: Meng Kun Lee (Cupertino, CA); Priyanka Nilay Thakore (Mountain View, CA); Chen Xiu (Beijing, CN); Lyle E. Adams (San Jose, CA); Xiaojun Ding (Shanghai, CN)
G06F13/1694G06F13/1689G06F2213/0038
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 11,544,210
App. No.
17/854,435
Granted
Jan 3, 2023
Kind
B1
Abstract

A system on chip (SOC) system includes functional modules, including a first and second functional module. The first and second functional module are configured to send, to an aggregation module and in a standardized message format, first and second status information associated with the first and second functional module according to a first and second set of one or more reporting rules, respectively. The aggregation module aggregates the first status information in the standardized message format and the second status information in the standardized message format and insert a timestamp to obtain a timestamped and aggregated message stream. The timestamped and aggregated message stream is stored and enables a visualization system to analyze the first functional module and the second functional module.

Claims (79)

1. A system on chip (SOC) system, comprising:

a plurality of functional modules, including a first functional module and a second functional module, wherein:

the first functional module is configured to send, to an aggregation module and in a standardized message format, first status information associated with the first functional module according to a first set of one or more reporting rules; and

the second functional module is configured to send, to the aggregation module and in the standardized message format, second status information associated with the second functional module according to a second set of one or more reporting rules;

the aggregation module that is configured to:

aggregate the first status information in the standardized message format and the second status information in the standardized message format; and

insert a timestamp to obtain a timestamped and aggregated message stream, is wherein the timestamped and aggregated message stream enables a visualization system to analyze the first functional module and the second functional module; and a memory that is configured to store the timestamped and aggregated message stream.

2. The SOC system recited in claim 1 , wherein:

the first set of one or more reporting rules includes an event-based reporting rule; and

sending the first status information in the standardized message format includes:

determining whether the first functional module satisfies the event-based reporting rule; and

in response to determining that the first functional module satisfies the event-based reporting rule, sending, to the aggregation module and in the standardized message format, status information that is specified by the event-based reporting rule.

3. The SOC system recited in claim 1 , wherein:

the first set of one or more reporting rules includes a time-based reporting rule; and

sending the first status information in the standardized message format includes:

determining whether the first functional module satisfies the time-based reporting rule; and

while the first functional module satisfies the time-based reporting rule, periodically sending, to the aggregation module and in the standardized message format, status information that is specified by the time-based reporting rule.

4. The SOC system recited in claim 1 , wherein timestamping includes inserting a timestamp message into an aggregated message stream.

5. The SOC system recited in claim 1 , wherein timestamping includes writing a timestamp into a reserved field in the standardized message format that is reserved for the timestamp.

6. The SOC system recited in claim 1 , wherein:

the SoC includes a Flash storage controller; and

the plurality of functional modules includes one or more of the following: a NVM Express (NVMe) processor, a NAND Flash controller, an error correction decoder, host management firmware, a Flash translation layer (FTL) module, or a backend module.

7. The SOC system recited in claim 1 , wherein sending the first status information in the standardized message format includes:

is ingesting the first set of one or more reporting rules, wherein the first set of one or more reporting rules includes:

a first group of one or more events and a corresponding first select bit associated with selecting the first group of one or more events; and

a second group of one or more events and a corresponding second select bit associated with selecting the second group of one or more events;

determining whether the first select bit is asserted;

in the event it is determined that the first select bit is asserted, sending the first status information in the standardized message format is based at least in part on the first group of one or more events;

in the event it is determined that the first select bit is not asserted, sending the first status information in the standardized message format occurs independently of the first group of one or more events;

determining whether the second select bit is asserted;

in the event it is determined that the second select bit is asserted, sending the first status information in the standardized message format is based at least in part on the second group of one or more events; and

in the event it is determined that the second select bit is not asserted, sending the first status information in the standardized message format occurs independently of the second group of one or more events.

8. The SOC system recited in claim 7 , wherein:

the first group of one or more events includes an end operation event; and

the second group of one or more events includes an error event.

9. The SOC system recited in claim 7 , wherein:

the first group of one or more events includes an end operation event;

the second group of one or more events includes an error event; and

the first set of one or more reporting rules further includes a third group of one or more events that includes a start operation event.

10. A method, comprising:

providing a plurality of functional modules, including a first functional module and a is second functional module, wherein:

the first functional module is configured to send, to an aggregation module and in a standardized message format, first status information associated with the first functional module according to a first set of one or more reporting rules; and

the second functional module is configured to send, to the aggregation module and in the standardized message format, second status information associated with the second functional module according to a second set of one or more reporting rules;

providing the aggregation module that is configured to:

aggregate the first status information in the standardized message format and the second status information in the standardized message format; and

insert a timestamp to obtain a timestamped and aggregated message stream, wherein the timestamped and aggregated message stream enables a visualization system to analyze the first functional module and the second functional module; and

providing a memory that is configured to store the timestamped and aggregated message stream.

11. The method recited in claim 10 , wherein:

the first set of one or more reporting rules includes an event-based reporting rule; and

sending the first status information in the standardized message format includes:

determining whether the first functional module satisfies the event-based reporting rule; and

in response to determining that the first functional module satisfies the event-based reporting rule, sending, to the aggregation module and in the standardized message format, status information that is specified by the event-based reporting rule.

12. The method recited in claim 10 , wherein:

the first set of one or more reporting rules includes a time-based reporting rule; and

sending the first status information in the standardized message format includes:

determining whether the first functional module satisfies the time-based reporting rule; and

while the first functional module satisfies the time-based reporting rule, periodically sending, to the aggregation module and in the standardized message format, status information that is specified by the time-based reporting rule.

13. The method recited in claim 10 , wherein timestamping includes inserting a timestamp message into an aggregated message stream.

14. The method recited in claim 10 , wherein timestamping includes writing a timestamp into a reserved field in the standardized message format that is reserved for the timestamp.

15. The method recited in claim 10 , wherein:

the SoC includes a Flash storage controller; and

the plurality of functional modules includes one or more of the following: a NVM Express (NVMe) processor, a NAND Flash controller, an error correction decoder, host management firmware, a Flash translation layer (FTL) module, or a backend module.

16. The method recited in claim 10 , wherein sending the first status information in the standardized message format includes:

ingesting the first set of one or more reporting rules, wherein the first set of one or more reporting rules includes:

a first group of one or more events and a corresponding first select bit associated with selecting the first group of one or more events; and

a second group of one or more events and a corresponding second select bit associated with selecting the second group of one or more events;

determining whether the first select bit is asserted;

in the event it is determined that the first select bit is asserted, sending the first status information in the standardized message format is based at least in part on the first group of one or more events;

in the event it is determined that the first select bit is not asserted, sending the first status information in the standardized message format occurs independently of the first group of one or more events;

determining whether the second select bit is asserted;

in the event it is determined that the second select bit is asserted, sending the first status information in the standardized message format is based at least in part on the second group of one or more events; and

in the event it is determined that the second select bit is not asserted, sending the first is status information in the standardized message format occurs independently of the second group of one or more events.

17. The method recited in claim 16 , wherein:

the first group of one or more events includes an end operation event; and

the second group of one or more events includes an error event.

18. The method recited in claim 16 , wherein:

the first group of one or more events includes an end operation event;

the second group of one or more events includes an error event; and

the first set of one or more reporting rules further includes a third group of one or more events that includes a start operation event.

Assignments (2)
CHANGE OF NAME Recorded Aug 13, 2025
From: BEIJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
To: NANJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 072008/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2022
From: LEE, MENG KUN; THAKORE, PRIYANKA NILAY; XIU, CHEN; ADAMS, LYLE E.; DING, XIAOJUN
To: BEIJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 061277/0101 →
Continuity (1)
Provisional Application 63222257 · Jul 15, 2021
Cited By (1)
US 12,197,356