US 11,734,363 B2
Storage edge controller with a metadata computational engine
Christophe Therene, Livermore, CA (US); Nedeljko Varnica, San Jose, CA (US); Konstantin Kudryavtsev, Sunnyvale, CA (US); Manish Shrivastava, Pleasanton, CA (US); Mats Oberg, San Jose, CA (US); Noam Mizrahi, Modi'in (IL); and Leo Jiang, Fremont, CA (US)
Assigned to Marvell Asia Pte, Ltd., Singapore (SG)
Filed by Marvell Asia Pte, Ltd., Singapore (SG)
Filed on Jul. 15, 2021, as Appl. No. 17/377,236.
Application 17/377,236 is a continuation of application No. 16/264,473, filed on Jan. 31, 2019, granted, now 11,080,337.
Claims priority of provisional application 62/726,852, filed on Sep. 4, 2018.
Claims priority of provisional application 62/726,847, filed on Sep. 4, 2018.
Claims priority of provisional application 62/716,269, filed on Aug. 8, 2018.
Claims priority of provisional application 62/714,563, filed on Aug. 3, 2018.
Claims priority of provisional application 62/712,823, filed on Jul. 31, 2018.
Prior Publication US 2021/0342395 A1, Nov. 4, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/907 (2019.01); G06F 16/901 (2019.01); G06F 16/9038 (2019.01); G06F 16/9035 (2019.01); G06F 16/783 (2019.01); G06F 16/387 (2019.01); G06F 16/683 (2019.01); G06F 16/383 (2019.01); G06F 3/06 (2006.01); G06N 3/08 (2023.01); G06F 12/1045 (2016.01); G06F 15/173 (2006.01); H04L 49/901 (2022.01); H04L 67/1097 (2022.01)
CPC G06F 16/907 (2019.01) [G06F 3/0604 (2013.01); G06F 3/068 (2013.01); G06F 3/0638 (2013.01); G06F 3/0659 (2013.01); G06F 3/0688 (2013.01); G06F 12/1054 (2013.01); G06F 15/17331 (2013.01); G06F 16/383 (2019.01); G06F 16/387 (2019.01); G06F 16/683 (2019.01); G06F 16/783 (2019.01); G06F 16/901 (2019.01); G06F 16/9035 (2019.01); G06F 16/9038 (2019.01); G06N 3/08 (2013.01); H04L 49/901 (2013.01); H04L 67/1097 (2013.01); G06F 2212/254 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A storage device controller comprising:
a volatile memory configured to store at least one computational model;
a host interface configured to communicate with one or more hosts;
a memory interface configured to communicate with a non-volatile memory;
a computational engine configured to compute, using a computational model, metadata that defines content characteristics of data objects; and
a processor configured to:
determine a utilization state of the processor;
in response to determining that the processor is in a low utilization state, retrieve stored data objects from the non-volatile memory to be provided to the computational engine for computing metadata of the stored data objects; and
obtain, from the volatile memory, the computational model to provide to the computational engine to enable the computational engine to compute the metadata of the stored data objects.