US 11,748,418 B2
Storage aggregator controller with metadata computation control
Nedeljko Varnica, San Jose, CA (US); Scott Furey, Cupertino, CA (US); Manish Shrivastava, Pleasanton, CA (US); and Noam Mizrahi, Modi'in (IL)
Assigned to Marvell Asia Pte, Ltd., Singapore (SG)
Filed by Marvell International Ltd., Hamilton (BM)
Filed on Jan. 31, 2019, as Appl. No. 16/264,248.
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 2020/0045110 A1, Feb. 6, 2020
Int. Cl. G06F 12/1045 (2016.01); G06F 15/173 (2006.01); H04L 49/901 (2022.01); H04L 67/1097 (2022.01); 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)
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 aggregator controller, comprising:
a host interface configured to communicate over a computer network with one or more remote hosts;
a storage device interface, configured to communicate locally with a plurality of local storage devices, separate from the one or more remote hosts, the storage devices comprising respective non-volatile memories and respective storage device controllers; and
aggregator control circuitry, configured to:
manage the plurality of local storage devices for storage or retrieval of media objects, the plurality of storage devices coupled to the storage device interface;
present to the one or more remote hosts an abstracted logical address space that is mapped to a combination of physical address spaces of the plurality of storage devices, wherein the mapping of the abstracted logical address space to the physical address spaces is adjustable;
control an order by which media objects are retrieved from the plurality of storage devices and processed to compute metadata;
identify a first component of one or more components for computing metadata that is presently not busy executing a storage related read operation or write operation;
select the first component for computing metadata;
based on a result of the selecting, govern a computation, at the first component, of metadata that defines content characteristics of the media objects that are retrieved from the plurality of storage devices or that are received from the one or more hosts over the computer network for storage in the plurality of storage devices; and
in response to determining, during the metadata computation at the first component, that the first component is required to perform a storage operation:
select a second component for continuing to compute the metadata, the second component being presently not busy executing a storage related read operation or write operation and being selected from the group of components; and
pass the metadata computation to the second component in order not to interrupt storage of data by the first component.