IP Library Granted Patent US 12,197,364
Granted Patent B2
US 12,197,364 · App. 18/404,543 · Granted Jan 14, 2025

Programmable message inspection engine implemented in hardware that generates an output message using a content modification plan and a destination control plan

Inventors: Priyanka Nilay Thakore (Mountain View, CA); Lyle E. Adams (San Jose, CA)
Assignee: Beijing Tenafe Electronic Technology Co., Ltd.
G06F13/36G06F2213/40
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 12,197,364
App. No.
18/404,543
Granted
Jan 14, 2025
Kind
B2
Abstract

A storage controller implemented on a System On Chip (SOC) includes an upstream functional module, a host interface, a logical to physical (L2P) interface, and a message inspection engine. The configured message inspection engine is obtained using one or more configuration settings and receives an input message from the upstream functional module. The input message is analyzed to determine a retention plan, a content modification plan, and a destination control plan. An output message is generated based at least in part on the input message, the content modification plan, and the destination control plan. If there is an affirmative content modification decision, the output message is populated with content absent from the input message. If there is an affirmative destination modification decision, the output message is populated with a destination absent from the input message. The output message is output unless there is an affirmative retention decision.

Claims (43)

1. A storage controller implemented on a System On Chip (SOC), comprising:

an upstream functional module;

a host interface that communicates with a host, wherein the host stores data in a storage media using the storage controller implemented on the SOC;

a logical to physical (L2P) interface that communicates with an L2P storage, wherein the L2P storage stores a logical-to-physical (L2P) mapping between one or more logical addresses associated with the host and one or more physical addresses associated with the storage media; and

a message inspection engine, wherein:

the message inspection engine is implemented in hardware in the SOC and is configured according to one or more configuration settings 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 retention plan;

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:

in the event the content modification plan is associated with an affirmative content modification decision, populating the output message with content absent from the input message per the content modification plan; and

in the event the destination control plan is associated with an affirmative destination modification decision, populating the output message with a destination absent from the input message per the destination control plan; and

outputs the output message, unless the retention plan is associated with an affirmative retention decision that at least temporarily prevents the output message from being output.

2. The storage controller implemented on the SOC in claim 1 , wherein:

the input message includes a header which in turn includes a plurality of fields; and

one or more of: (1) analyzing the input message to determine the retention plan or (2) analyzing the input message to determine the content modification plan and the destination control plan includes inspecting those fields in the plurality of fields that are specified by the one or more configuration settings.

3. The storage controller implemented on the SOC in claim 1 , wherein:

the upstream functional module includes an error correction decoder; and

analyzing the input message to determine the content modification plan and the destination control plan includes determining whether the input message satisfies an error message match criteria associated with a retry by the error correction decoder.

4. The storage controller implemented on the SOC in claim 1 , wherein:

the upstream functional module includes a storage media interface that communicates with the storage media; and

analyzing the input message to determine the content modification plan and the destination control plan includes determining whether the input message satisfies an error message match criteria associated with a retry by the storage media interface.

5. A method for managing a storage controller implemented on a System On Chip (SOC), comprising:

using a host interface, in the storage controller implemented on the SOC, to communicate with a host, wherein the host stores data in a storage media using the storage controller implemented on the SOC;

using a logical to physical (L2P) interface, in the storage controller implemented on the SOC, to communicate with an L2P storage, wherein the L2P storage stores a logical-to-physical (L2P) mapping between one or more logical addresses associated with the host and one or more physical addresses associated with the storage media; and

using a configured message inspection engine, in the storage controller implemented on the SOC, to:

receive an input message from an upstream functional module in the storage controller implemented on the SOC;

analyze the input message to determine a retention plan;

analyze the input message to determine a content modification plan and a destination control plan;

generate an output message based at least in part on the input message, the content modification plan, and the destination control plan, including by:

in the event the content modification plan is associated with an affirmative content modification decision, populating the output message with content absent from the input message per the content modification plan; and

in the event the destination control plan is associated with an affirmative destination modification decision, populating the output message with a destination absent from the input message per the destination control plan; and

output the output message, unless the retention plan is associated with an is affirmative retention decision that at least temporarily prevents the output message from being output, wherein the configured message inspection engine is obtained by configuring a message inspection engine according to one or more configuration settings.

6. The method in claim 5 , wherein:

the input message includes a header which in turn includes a plurality of fields; and

one or more of: (1) analyzing the input message to determine the retention plan or (2) analyzing the input message to determine the content modification plan and the destination control plan includes inspecting those fields in the plurality of fields that are specified by the one or more configuration settings.

7. The method in claim 5 , wherein:

the upstream functional module includes an error correction decoder; and

analyzing the input message to determine the content modification plan and the destination control plan includes determining whether the input message satisfies an error message match criteria associated with a retry by the error correction decoder.

8. The method in claim 5 , wherein:

the upstream functional module includes a storage media interface that communicates with the storage media; and

analyzing the input message to determine the content modification plan and the destination control plan includes determining whether the input message satisfies an error message match criteria associated with a retry by the storage media interface.

Continuity (3)
Continuation 18216987 · Jun 30, 2023
Provisional Application 63392992 · Jul 28, 2022
Related Publication 20240143532A1 · May 2, 2024
References Cited (21)
US 6735211B1 · Karasawa · 2004 [cited by applicant]
US 8332473B1 · Fouts · 2012 [cited by applicant]
US 8407707B2 · Sonnier · 2013 [cited by applicant]
US 8949474B1 · Swarbrick · 2015 [cited by examiner]
US 9760281B2 · Ramalingam · 2017 [cited by applicant]
US 11645011B2 · Lee · 2023 [cited by applicant]
US 11646980B2 · Chilikin · 2023 [cited by applicant]
US 11646987B1 · Pathak · 2023 [cited by applicant]
US 20040187089A1 · Schulz · 2004 [cited by applicant]
US 20090122703A1 · Gangwal · 2009 [cited by applicant]
US 20150169406A1 · Li · 2015 [cited by applicant]
US 20170093770A1 · Flajslik · 2017 [cited by examiner]
US 20180210845A1 · Jafri · 2018 [cited by applicant]
US 20190097800A1 · Melrose · 2019 [cited by examiner]
US 20190258919A1 · Lie · 2019 [cited by applicant]
US 20190258920A1 · Lie · 2019 [cited by applicant]
US 20220334770A1 · Guo · 2022 [cited by applicant]
US 20240089196A1 · Thota · 2024 [cited by examiner]
CN 102597971 · 2012 [cited by applicant]
CN 105612502 · 2016 [cited by applicant]
U.S. Appl. No. 18/195,518, filed May 10, 2023. [cited by applicant]