# US 11,907,147 B1 · Programmable message inspection engine implemented in hardware that generates an output message using a content modification plan and a destination control plan

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

- Number: US 11,907,147 B1
- Document ID: US11907147B1
- Status: Granted
- Kind: B1
- Application number: 18/216,987
- Filed: 2023-06-30
- Published: 2024-02-01
- Granted: 2024-02-20
- Earliest claimed: 2022-07-28
- Assignees: Beijing Tenafe Electronic Technology Co., Ltd.
- Applicants: Beijing Tenafe Electronic Technology Co., Ltd.
- Inventors: Priyanka Nilay Thakore; Lyle E. Adams
- Web page: https://patentgrep.com/patent/US11907147B1

## CPC

- G06F 13/36: for access to common bus or bus system
- G06F 2213/40: Bus coupling
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A message inspection engine, implemented in hardware in a System on Chip (SOC), is configured using configuration information to obtain a configured message inspection engine. An input message is received at the configured message inspection engine from an upstream functional module in the SOC. The configured message inspection engine is used to analyze the input message to determine a content modification plan and a destination control plan and to generate an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan. The output message is output from the configured message inspection engine.

## Claims

### Claim 1

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message; and
the downstream functional module, wherein:
the SOC further includes a second upstream functional module and a second message inspection engine that is configured using the configuration information to obtain a second configured message inspection engine;
the configured message inspection engine performs error handling, including by examining input messages from the upstream functional module for one or more specified types of error messages; and
the second configured message inspection engine performs message acceleration, including by examining input messages from the second upstream functional module for one or more specified types of non-error messages.

### Claim 2 (depends on 1)

The SOC of claim 1, wherein at least the content modification plan is associated with error handling.

### Claim 3 (depends on 1)

The SOC of claim 1, wherein at least the content modification plan is associated with message acceleration.

### Claim 4 (depends on 1)

The SOC of claim 1, wherein at least the content modification plan is associated with message acceleration, including one or more of the following: grouping related message acceleration or sequence related message acceleration.

### Claim 5

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message;
the downstream functional module;
a second upstream functional module; and
a second message inspection engine that is configured using the configuration information to obtain a second configured message inspection engine, wherein:
the configured message inspection engine analyzes those input messages from the upstream functional module and ignores those input messages from the second upstream functional module; and
the second configured message inspection engine ignores said those input messages from the upstream functional module and analyzes said those input messages from the second upstream functional module.

### Claim 6

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message; and
the downstream functional module, wherein:
the input message includes a header which in turn includes a plurality of fields;
analyzing the input message includes inspecting those fields in the plurality of fields that are specified by the configuration information;
the input message further includes a payload which in turn includes a plurality of inspectable segments and a non-inspectable portion that does not overlap with the plurality of inspectable segments; and
analyzing the input message further includes inspecting those inspectable segments in the plurality of inspectable segments that are specified by the configuration information.

### Claim 7

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message; and
the downstream functional module, wherein:
the SOC includes a storage controller SOC;
the upstream functional module includes an error correction decoder;
the downstream functional module includes a storage media interface that communicates with storage media that is external to the storage controller SOC; and
analyzing the input message includes:
determining whether the input message satisfies an error message match criteria; and
in the event it is determined that the input message satisfies the error message match criteria, the content modification plan includes generating an output message associated with re-reading the storage media and the destination control plan includes directing the output message associated with re-reading the storage media to the storage media interface.

### Claim 8 (depends on 7)

The SOC of claim 7, wherein the content modification plan further includes generating the output message associated with re-reading the storage media to change a read configuration associated with re-reading the storage media.

### Claim 9 (depends on 1)

The SOC of claim 1, wherein the content modification plan includes generating an output message associated with reconfiguration.

### Claim 10

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message; and
the downstream functional module, wherein:
the SOC includes a storage controller SOC;
the downstream functional module includes a logical to physical (L2P) interface that communicates with L2P storage that is in the storage controller SOC; and
analyzing the input message includes determining whether the input message satisfies an out-of-group match criteria during an atomic operation to the L2P storage, wherein in the event it is determined that the input message satisfies the out-of-group match criteria, the configured message inspection engine causes one or more messages associated with the out-of-group match criteria to be held, at least temporarily.

### Claim 11

A System On Chip (SOC), comprising:
an upstream functional module;
a message inspection engine, wherein:
the message inspection engine is implemented in hardware in the SOC and is configured using configuration information to obtain a configured message inspection engine; and
the configured message inspection engine:
receives an input message from the upstream functional module;
analyzes the input message to determine a content modification plan and a destination control plan;
generates an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputs the output message; and
the downstream functional module, wherein:
the SOC includes a storage controller SOC;
the downstream functional module includes a host interface that communicates with a host that is external to the storage controller SOC; and
analyzing the input message includes determining whether the input message satisfies an out-of-sequence match criteria, wherein in the event it is determined that the input message satisfies the out-of-sequence match criteria, the configured message inspection engine causes one or more messages associated with the out-of-sequence match criteria to be held, at least temporarily.

### Claim 12

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the SOC further includes a second upstream functional module and a second message inspection engine that is configured using the configuration information to obtain a second configured message inspection engine; and
the method further includes:
performing error handling using the configured message inspection engine, including by examining input messages from the upstream functional module for one or more specified types of error messages; and
performing message acceleration using the second configured message inspection engine, including by examining input messages from the second upstream functional module for one or more specified types of non-error messages.

### Claim 13 (depends on 12)

The method of claim 12, wherein at least the content modification plan is associated with error handling.

### Claim 14 (depends on 12)

The method of claim 12, wherein at least the content modification plan is associated with message acceleration.

### Claim 15 (depends on 12)

The method of claim 12, wherein at least the content modification plan is associated with message acceleration, including one or more of the following: grouping related message acceleration or sequence related message acceleration.

### Claim 16

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the SOC further includes a second upstream functional module and a second message inspection engine that is configured using the configuration information to obtain a second configured message inspection engine; and
the method further includes:
analyzing, at the configured message inspection engine, those input messages from the upstream functional module and ignore those input messages from the second upstream functional module; and
ignoring, at the second configured message inspection engine, said those input messages from the upstream functional module and analyze said those input messages from the second upstream functional module.

### Claim 17

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the input message includes a header which in turn includes a plurality of fields;
analyzing the input message includes inspecting those fields in the plurality of fields that are specified by the configuration information;
the input message further includes a payload which in turn includes a plurality of inspectable segments and a non-inspectable portion that does not overlap with the plurality of inspectable segments; and
analyzing the input message further includes inspecting those inspectable segments in the plurality of inspectable segments that are specified by the configuration information.

### Claim 18

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the SOC includes a storage controller SOC;
the upstream functional module includes an error correction decoder;
the downstream functional module includes a storage media interface that communicates with storage media that is external to the storage controller SOC; and
analyzing the input message includes:
determining whether the input message satisfies an error message match criteria; and
in the event it is determined that the input message satisfies the error message match criteria, the content modification plan includes generating an output message associated with re-reading the storage media and the destination control plan includes directing the output message associated with re-reading the storage media to the storage media interface.

### Claim 19

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the SOC includes a storage controller SOC;
the downstream functional module includes a logical to physical (L2P) interface that communicates with L2P storage that is in the storage controller SOC; and
analyzing the input message includes determining whether the input message satisfies an out-of-group match criteria during an atomic operation to the L2P storage, wherein in the event it is determined that the input message satisfies the out-of-group match criteria, the configured message inspection engine causes one or more messages associated with the out-of-group match criteria to be held, at least temporarily.

### Claim 20

A method, comprising:
receiving configuration information;
configuring a message inspection engine, implemented in hardware in a System on Chip (SOC), using the configuration information to obtain a configured message inspection engine;
receiving, at the configured message inspection engine, an input message from an upstream functional module in the SOC;
analyzing, using the configured message inspection engine, the input message to determine a content modification plan and a destination control plan;
generating, using the configured message inspection engine, an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by populating the output message with a downstream functional module specified by the destination control plan; and
outputting the output message from the configured message inspection engine, wherein:
the SOC includes a storage controller SOC;
the downstream functional module includes a host interface that communicates with a host that is external to the storage controller SOC; and
analyzing the input message includes determining whether the input message satisfies an out-of-sequence match criteria, wherein in the event it is determined that the input message satisfies the out-of-sequence match criteria, the configured message inspection engine causes one or more messages associated with the out-of-sequence match criteria to be held, at least temporarily.
