# US 12,112,058 B2 · Reconfigurable microservice storage device system

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

- Number: US 12,112,058 B2
- Document ID: US12112058B2
- Status: Granted
- Kind: B2
- Application number: 17/969,818
- Filed: 2022-10-20
- Published: 2024-04-25
- Granted: 2024-10-08
- Earliest claimed: 2022-10-20
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Ali Aiouaz; Gaurav Chawla; Leland W. Thompson; James Ulery
- Web page: https://patentgrep.com/patent/US12112058B2

## CPC

- G06F 3/0655: {Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices}
- G06F 3/0658: {Controller construction arrangements}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A reconfigurable microservice storage device system includes a computing device coupled to a plurality of storage devices that each include storage device compute hardware coupled to a storage subsystem that is configured to store data. The computing device configures the storage device compute hardware in each of a first subset of the plurality of storage devices to provide a respective first storage device operating system that includes a respective first storage device management microservice that manages the storage subsystem in that storage device. The computing device also configures the storage device compute hardware in each of a second subset of the plurality of storage devices to provide a respective second storage device operating system that includes a respective second storage device management microservice that manages the storage subsystem in that storage device, and at least one respective second compute microservice that performs at least one second compute operation.

## Claims

### Claim 1

A reconfigurable microservice storage device system, comprising:
a computing device; and
a plurality of storage devices that are coupled to the computing device and that each include:
storage device compute hardware; and
a storage subsystem that is coupled to the storage device compute hardware and that is configured to store data, wherein the computing device is configured to:
configure the storage device compute hardware in each of a first subset of the plurality of storage devices to provide a respective first storage device operating system that includes a respective first storage device management microservice that manages the storage subsystem in that storage device; and
configure the storage device compute hardware in each of a second subset of the plurality of storage devices to provide a respective second storage device operating system that includes:
a respective second storage device management microservice that manages the storage subsystem in that storage device; and
at least one respective second compute microservice that performs at least one second compute operation.

### Claim 2 (depends on 1)

The system of claim 1, wherein each respective first storage device management microservice and each respective second storage device management microservice includes a Flash Translation Layer (FTL), and wherein each at least one respective second compute microservice includes at least one autonomous compute application.

### Claim 3 (depends on 1)

The system of claim 1, wherein each respective first storage device management microservice is included in a respective first container that is provided using the respective first storage device operating system, and wherein each respective second storage device management microservice and each at least one respective second compute microservice is included in a respective second container that is provided using the respective second storage device operating system.

### Claim 4 (depends on 1)

The system of claim 1, wherein the at least one second compute operation performed using the at least one respective second compute microservice is offloaded from the computing device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the computing device is configured to:
reconfigure the storage device compute hardware in at least one of the first subset of the plurality of storage devices to provide the respective first storage device operating system that includes:
the respective first storage device management microservice; and
at least one respective first compute microservice that performs at least one first compute operation.

### Claim 6 (depends on 1)

The system of claim 1, wherein the computing device is configured to:
reconfigure the storage device compute hardware in each of the second subset of the plurality of storage devices to provide the respective second storage device operating system that includes the respective second storage device management microservice, and that does not include the at least one respective second compute microservice.

### Claim 7 (depends on 1)

The system of claim 1, wherein the storage device compute hardware in each of the plurality of storage devices provides a Solid State Drive (SSD) storage device controller for that storage device.

### Claim 8

An Information Handling System (IHS), comprising:
a storage device chassis;
a storage device processing system that is included in the storage device chassis; and
a storage device memory system that is included in the storage device chassis, that is coupled to the storage device processing system, and that includes instructions that, when executed by the storage device processing system, cause the storage device processing system to:
provide, using the storage device processing system, a storage device operating system that includes a storage device management microservice that manages a storage subsystem that is coupled to the storage device processing system and that is configured to store data;
provide, using the storage device operating system, at least one compute microservice that performs at least one compute operation;
receive a first reconfiguration instruction; and
provide, in response to receiving the first reconfiguration instruction, the storage device operating system that includes the storage device management microservice, and that does not include the at least one compute microservice.

### Claim 9 (depends on 8)

The IHS of claim 8, wherein storage device management microservice includes a Flash Translation Layer (FTL), and wherein the at least one compute microservice includes at least one autonomous compute application.

### Claim 10 (depends on 8)

The IHS of claim 8, wherein each of the storage device management microservice and each at least one compute microservice is included in a respective container that is provided using the storage device operating system.

### Claim 11 (depends on 8)

The IHS of claim 8, wherein the at least one compute operation performed using the at least one compute microservice is offloaded from a computing device that includes the IHS.

### Claim 12 (depends on 8)

The IHS of claim 8, wherein the storage device processing system and the storage device memory system provide a Solid State Drive (SSD) storage device controller.

### Claim 13 (depends on 8)

The IHS of claim 8, wherein the storage device memory system includes instructions that, when executed by the storage device processing system, cause the storage device processing system to:
receive, subsequent to receiving the first reconfiguration instruction, a second reconfiguration instruction; and
provide, in response to receiving the second reconfiguration instruction, the storage device operating system that includes the storage device management microservice and the at least one compute microservice.

### Claim 14

A method for configuring a storage device to provide microservices, comprising:
configuring, by a computing device that is coupled to a plurality of storage devices, storage device compute hardware in each of a first subset of the plurality of storage devices to provide a respective first storage device operating system that includes a respective first storage device management microservice that manages the storage subsystem in that storage device; and
configuring, by the computing device, the storage device compute hardware in each of a second subset of the plurality of storage devices to provide a respective second storage device operating system that includes:
a respective second storage device management microservice that manages the storage subsystem in that storage device; and
at least one respective second compute microservice that performs at least one second compute operation.

### Claim 15 (depends on 14)

The method of claim 14, wherein each respective first storage device management microservice and each respective second storage device management microservice includes a Flash Translation Layer (FTL), and wherein each at least one respective second compute microservice includes at least one autonomous compute application.

### Claim 16 (depends on 14)

The method of claim 14, wherein each respective first storage device management microservice is included in a respective first container that is provided using the respective first storage device operating system, and wherein each respective second storage device management microservice and each at least one respective second compute microservice is included in a respective second container that is provided using the respective second storage device operating system.

### Claim 17 (depends on 14)

The method of claim 14, wherein the at least one second compute operation performed using the at least one respective second compute microservice is offloaded from the computing device.

### Claim 18 (depends on 14)

The method of claim 14, further comprising:
reconfiguring, by the computing device, the storage device compute hardware in at least one of the first subset of the plurality of storage devices to provide the respective first storage device operating system that includes:
the respective first storage device management microservice; and
at least one respective first compute microservice that performs at least one first compute operation.

### Claim 19 (depends on 14)

The method of claim 14, further comprising:
reconfiguring, by the computing device, the storage device compute hardware in each of the second subset of the plurality of storage devices to provide the respective second storage device operating system that includes the respective second storage device management microservice, and that does not include the at least one respective second compute microservice.

### Claim 20 (depends on 14)

The method of claim 14, wherein the storage device compute hardware in each of the plurality of storage devices provides a Solid State Drive (SSD) storage device controller for that storage device.
