# US 2019/0318243 A1 · Search acceleration for artificial intelligence

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

- Number: US 2019/0318243 A1
- Document ID: US20190318243A1
- Status: Published application
- Kind: A1
- Application number: 16/449,241
- Filed: 2019-06-21
- Published: 2019-10-17
- Earliest claimed: 2018-01-31
- Assignees: Pore Storage, Inc.
- Applicants: Pore Storage, Inc.
- Inventors: Fabio Margaglia; Emily Watkins; Hari Kannan; Cary A. Sandvig
- Web page: https://patentgrep.com/patent/US20190318243A1

## CPC

- G06F 3/061: {Improving I/O performance}
- G06N 3/08: Learning methods
- G06F 3/064: {Management of blocks}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 16/28: Databases characterised by their database models, e.g. relational or object models
- G06F 16/30: of unstructured textual data (document management systems G06F16/93)
- G06N 5/04: Inference or reasoning models
- G06N 3/063: using electronic means
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

An apparatus for artificial intelligence acceleration is provided. The apparatus includes a storage and compute system having a distributed, redundant key value store for metadata. The storage and compute system having distributed compute resources configurable to access, through a plurality of authorities, data in the solid-state memory, run inference with a deep learning model, generate vectors for the data and store the vectors in the key value store.

## Claims

### Claim 1

An apparatus for artificial intelligence acceleration, comprising:
a storage and compute system having solid-state storage memory, a first key value store for metadata of a plurality of authorities in the storage and compute system relating to data in the solid-state storage memory, and a second key value store for vectors corresponding to examples in unstructured data in the solid-state storage memory; and
the storage and compute system having distributed compute resources configurable to search the vectors in the second key value store and access, through the plurality of authorities and the first key value store, the examples in the unstructured data in the solid-state storage memory, based on the search of the vectors.

### Claim 2 (depends on 1)

The apparatus of claim 1, further comprising:
the storage and compute system configurable to receive the unstructured data and store the unstructured data in the solid-state storage memory with data striping controlled by the plurality of authorities, each of the plurality of authorities owning an authority-specific range of data.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein storage capacity of the solid-state storage memory is sufficient to hold all of the unstructured data on which the vectors are based, during the search and the access based on the search, with a 100% hit rate for the access.

### Claim 4 (depends on 1)

The apparatus of claim 1, further comprising:
the storage and compute system configurable to receive and write the unstructured data into the solid-state storage memory, run inference on the unstructured data to generate the vectors, and write the vectors into the second key value store, with the unstructured data remaining in the solid-state storage memory throughout the searching the vectors and the access of the examples in the unstructured data.

### Claim 5 (depends on 1)

The apparatus of claim 1, further comprising:
the distributed compute resources configurable to store metadata for one or more buckets containing the examples in the unstructured data and generate bucket views containing links to the examples that satisfy a similarity predicate, based on the search of the vectors.

### Claim 6 (depends on 1)

The apparatus of claim 1, further comprising:
the distributed compute resources configurable to compute a vector of an example data for a search, perform a hash operation on the vector, search for one or more vectors in the second key value store that are within a specified distance of the vector for the example data, and retrieve one or more full vectors for corresponding ones of the examples in the unstructured data, wherein the vectors are stored in the second key value store using a locality-preserving hash operation that points to full vectors.

### Claim 7 (depends on 1)

The apparatus of claim 1, further comprising:
the distributed compute resources configurable to receive tags associated with the examples in the unstructured data, and generate a list or count of examples having tags that satisfy a predicate.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the examples in the unstructured data comprise one or more of video, audio, images, or text.

### Claim 9

An apparatus for artificial intelligence acceleration, comprising:
a storage and compute system having solid-state storage memory and a plurality of authorities relating to data in the solid-state storage memory, the solid-state storage memory configurable to store examples in unstructured data; and
the storage and compute system having distributed compute resources configurable to search vectors in the storage and compute system and access, through the plurality of authorities, the examples in the unstructured data in the solid-state storage memory, based on the search of the vectors.

### Claim 10 (depends on 9)

The apparatus of claim 9, further comprising:
the storage and compute system configurable to receive the unstructured data and store the unstructured data in the solid-state storage memory with data striping controlled by the plurality of authorities, each of the plurality of authorities owning an authority-specific range of data.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein storage capacity of the solid-state storage memory is sufficient to hold all of the unstructured data on which the vectors are based, during the search and the access based on the search, with a 100% hit rate for the access.

### Claim 12 (depends on 9)

The apparatus of claim 9, further comprising:
the storage and compute system configurable to receive and write the unstructured data into the solid-state storage memory, run inference on the unstructured data to generate the vectors, and write the vectors into the second key value store, with the unstructured data remaining in the solid-state storage memory throughout the searching the vectors and the access of the examples in the unstructured data.

### Claim 13 (depends on 9)

The apparatus of claim 9, further comprising:
the distributed compute resources configurable to store metadata for one or more buckets containing the examples in the unstructured data and generate bucket views containing links to the examples that satisfy a similarity predicate, based on the search of the vectors.

### Claim 14 (depends on 9)

The apparatus of claim 9, further comprising:
the distributed compute resources configurable to compute a vector of an example data for a search, perform a hash operation on the vector, search for one or more vectors in the second key value store that are within a specified distance of the vector for the example data, and retrieve one or more full vectors for corresponding ones of the examples in the unstructured data, wherein the vectors are stored in the second key value store using a locality-preserving hash operation that points to full vectors.

### Claim 15 (depends on 9)

The apparatus of claim 9, further comprising:
the distributed compute resources configurable to receive tags associated with the examples in the unstructured data, and generate a list or count of examples having tags that satisfy a predicate.

### Claim 16 (depends on 9)

The apparatus of claim 9, wherein the examples in the unstructured data comprise one or more of video, audio, images, or text.
