IP Library Granted Patent US 10,545,925
Granted Patent B2
US 10,545,925 · App. 16/001,398 · Granted Jan 28, 2020

Storage appliance for processing of functions as a service (FaaS)

Inventors: Sanjeev N. Trika (Portland, OR); Jawad B. Khan (Portland, OR); Piotr Wysocki (Gdansk, PL)
Assignee: Intel Corporation
G06F16/1834H04L67/104H04L67/34H04L67/42
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 10,545,925
App. No.
16/001,398
Granted
Jan 28, 2020
Kind
B2
Abstract

Examples may include a storage appliance having a mass storage device and a compute engine communicating peer-to-peer with each other, with the compute engine including a programmable logic component to execute a function to read data from the at least one storage device, process the data, and write data to the at least one storage device.

Claims (31)

1. A storage appliance comprising:

a bus;

at least one mass storage device coupled to the bus;

a library of functions, wherein each function is received from at least one of a cloud service provider operating a data center and a customer of the data center; and

at least one compute engine coupled to the bus to communicate peer-to-peer with the at least one mass storage device, the at least one compute engine including a programmable logic component to execute at least one function to read data from the at least one mass storage device, process the data; and write data to the at least one mass storage device, wherein the programmable logic component comprises at least two configurable slots to store a compute offload bitstream including first and second functions, a first configurable slot to store the first function and a second configurable slot to store the second function, wherein the first function is to send output data to the second function.

2. The storage appliance of claim 1 , wherein the programmable logic component comprises at least one FPGA, CPU, GPU, or ASIC.

3. The storage appliance of claim 1 , wherein the library of functions comprises a plurality of compute offload bitstreams, each compute offload bitstream including a same number of functions as a number of configurable slots.

4. The storage appliance of claim 3 , wherein the programmable logic component comprises a pipeline of a plurality of configurable slots, each configurable slot to store a function, the functions coupled in the pipeline such that a current function sends output data to a next function in the pipeline.

5. A system comprising:

a network;

at least one compute server coupled to the network, the at least one compute server to execute an application; and

at least one storage appliance coupled to the network, storage appliance comprising:

a bus;

at least one mass storage device coupled to the bus;

a library of functions, wherein each function is received from at least one of a cloud service provider operating a data center and a customer of the data center; and

at least one compute engine coupled to the bus to communicate peer-to-peer with the at least one mass storage device, the at least one compute engine including a programmable logic component to execute at least one function to read data from the at least one mass storage device, process the data; and write data to the at least one mass storage device, wherein the programmable logic component comprises at least two configurable slots to store a compute offload bitstream including first and second functions, a first configurable slot to store the first function and a second configurable slot to store the second function, wherein the first function is to send output data to the second function.

6. The system of claim 5 , wherein the programmable logic component comprises at least one FPGA, CPU, GPU, or ASIC.

7. The system of claim 5 , wherein the library of functions comprises a plurality of compute offload bitstreams, each compute offload bitstream including a same number of functions as a number of configurable slots.

8. The system of claim 7 , wherein the programmable logic component comprises a pipeline of a plurality of configurable slots, each configurable slot to store a function, the functions coupled in the pipeline such that a current function sends output data to a next function in the pipeline.

9. A data center system comprising:

a network; and

a plurality of server racks coupled to the network, wherein each server rack includes

a plurality of compute servers to execute applications; and

a plurality of storage appliances, wherein each storage appliance includes

a bus;

a plurality of mass storage devices coupled to the bus;

a library of functions, wherein each function is received from at least one of a cloud service provider operating a data center and a customer of the data center; and

a plurality of compute engines coupled to the bus to communicate peer-to-peer with the plurality of mass storage devices, each compute engine including a programmable logic component to execute at least one function to read data from the mass storage devices, process the data; and write data to the mass storage devices, wherein the programmable logic component comprises at least two configurable slots to store a compute offload bitstream including first and second functions, a first configurable slot to store the first function and a second configurable slot to store the second function, wherein the first function is to send output data to the second function.

10. The data center system of claim 9 , wherein the programmable logic component comprises at least one FPGA, CPU, GPU, or ASIC.

11. The data center system of claim 9 , wherein the library of functions comprises a plurality of compute offload bitstreams, each compute offload bitstream including a same number of functions as a number of configurable slots.

12. The data center system of claim 11 , wherein the programmable logic component comprises a pipeline of a plurality of configurable slots, each configurable slot to store a function, the functions coupled in the pipeline such that a current function sends output data to a next function in the pipeline.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072549/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2018
From: TRIKA, SANJEEV N.; KHAN, JAWAD B.; WYSOCKI, PIOTR
To: INTEL CORPORATION
Reel/Frame 046235/0144 →
Continuity (1)
Related Publication 20190042594A1 · Feb 7, 2019