IP Library Granted Patent US 11,921,654
Granted Patent B2
US 11,921,654 · App. 18/073,056 · Granted Mar 5, 2024

Collection of runtime information for debug and analysis, including by aggregating status information into a standardized message format and timestamping

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)
Assignee: Beijing Tenafe Electronic Technology Co., Ltd.
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,921,654
App. No.
18/073,056
Granted
Mar 5, 2024
Kind
B2
Abstract

A hardware functional module sends, to an aggregation module and in a standardized message format, first status information associated with the hardware functional module according to a first set of reporting rules via a first dedicated link. The firmware functional module sends, to the aggregation module and in the standardized message format, second status information associated with the firmware functional module according to a second set of reporting rules via a second dedicated link. The aggregation module aggregates the first status information in the standardized message format and the second status information in the standardized message format and inserts a timestamp to obtain a timestamped and aggregated message stream. The timestamped and aggregated message stream enables a visualization system to analyze the hardware functional module and the firmware functional module.

Claims (77)

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

a plurality of functional modules, including a hardware functional module and a firmware functional module, wherein:

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

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

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 hardware functional module and the firmware 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 hardware functional module satisfies the event-based reporting rule; and

in response to determining that the hardware 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 hardware functional module satisfies the time-based reporting rule; and

while the hardware 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 is 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:

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:

using a hardware functional module to send, to an aggregation module and in a standardized message format, first status information associated with the hardware functional module according to a first set of one or more reporting rules via a first dedicated link between the hardware functional module and the aggregation module, wherein a plurality of functional modules includes the hardware functional module and a firmware functional module;

using the firmware functional module to send, to the aggregation module and in the standardized message format, second status information associated with the firmware functional module according to a second set of one or more reporting rules via a second dedicated link between the firmware functional module and the aggregation module;

using the aggregation module to aggregate the first status information in the standardized message format and the second status information in the standardized message format; and

using the aggregation module to 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 hardware functional module and the firmware functional module.

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 hardware functional module satisfies the event-based reporting rule; and

in response to determining that the hardware 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 hardware functional module satisfies the time-based reporting rule; and

while the hardware 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 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.

Continuity (3)
Continuation 17854435 · Jun 30, 2022
Provisional Application 63222257 · Jul 15, 2021
Related Publication 20230096415A1 · Mar 30, 2023