# US 11,907,814 B2 · Data path for GPU machine learning training with key value SSD

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

- Number: US 11,907,814 B2
- Document ID: US11907814B2
- Status: Granted
- Kind: B2
- Application number: 17/533,059
- Filed: 2021-11-22
- Published: 2022-05-26
- Granted: 2024-02-20
- Earliest claimed: 2018-02-02
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Joo Hwan Lee; Yang Seok Ki
- Web page: https://patentgrep.com/patent/US11907814B2

## CPC

- G06N 20/00: Machine learning
- G06F 3/0611: {in relation to response time}
- G06F 3/064: {Management of blocks}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 12/1081: for peripheral access to main memory, e.g. direct memory access [DMA]
- G06F 13/102: {where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52)}
- G06F 2212/621: Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A system and method for machine learning. The system includes a GPU with a GPU memory, and a key value storage device connected to the GPU memory. The method includes, writing, by the GPU, a key value request to a key value request queue in a input-output region of the GPU memory, the key value request including a key. The method further includes reading, by the key value storage device, the key value request from the key value request queue, and writing, by the key value storage device, in response to the key value request, a value to the input-output region of the GPU memory, the value corresponding to the key of the key value request.

## Claims

### Claim 1

A method for key value access in a machine learning system, the method comprising:
performing, by a key value storage device connected to a memory, input and output operations in an input-output region of the memory that is memory mapped to another device;
reading, by the key value storage device, according to a first key value request issued by the other device, a first value from a key value request queue in the input-output region, the first key value request being based on a configuration by a host device; and
writing, by the key value storage device, the first value to the input-output region of the memory according to the first key value request.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, performing, by the key value storage device, a key lookup, in the key value storage device, to retrieve the first value for the writing of the first value to the input-output region of the memory.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first key value request includes a return-value region, the return-value region being a region allocated for the first value.

### Claim 4 (depends on 3)

The method of claim 3, wherein the writing of the first value to the input-output region of the memory comprises writing the first value to the return-value region.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving, by the other device, the configuration from the host device; and
based on the configuration from the host device, storing, by the other device, key value requests in the input-output region of the memory, and reading, by the other device, values from the input-output region of the memory.

### Claim 6 (depends on 1)

The method of claim 1, wherein the other device that is memory mapped to the memory comprises a graphics processing unit configured to write the first key value request to the input-output region of the memory, and to read the first value from the input-output region of the memory.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first key value request is read, by the key value storage device, from the key value request queue via peer-to-peer direct memory access.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first value is written, by the key value storage device, to the input-output region of the memory via peer-to-peer direct memory access.

### Claim 9 (depends on 1)

The method of claim 1, wherein the key value storage device is connected to the other device by a peripheral component interconnect connection.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first key value request is written, by the other device, to the key value request queue in the input-output region; and
wherein the method further comprises writing, by the other device, a second key value request to the key value request queue, after the writing, by the other device, of the first key value request, and before the writing, by the key value storage device, of the first value.

### Claim 11

A system for machine learning, the system comprising:
a key value storage device; and
a memory connected to the key value storage device, the memory being memory mapped to another device connected to the key value storage device by a peripheral component interconnect connection,
wherein the key value storage device is configured to:
perform input and output operations in an input-output region of the memory;
read, according to a first key value request issued by the other device, a first value from a key value request queue in the input-output region, the first key value request being based on a configuration by a host device; and
write the first value to the input-output region of the memory according to the first key value request.

### Claim 12 (depends on 11)

The system of claim 11, wherein the key value storage device is further configured to perform a key lookup, in the key value storage device, to retrieve the first value to write the first value to the input-output region of the memory.

### Claim 13 (depends on 11)

The system of claim 11, wherein the first key value request includes a return-value region, the return-value region being a region allocated for the first value.

### Claim 14 (depends on 11)

The system of claim 11, wherein the other device comprises a graphics processing unit configured to write the first key value request to the input-output region of the memory, and to read the first value from the input-output region of the memory.

### Claim 15 (depends on 11)

The system of claim 11, wherein the key value storage device is configured to read the first key value request from the key value request queue via peer-to-peer direct memory access.

### Claim 16 (depends on 11)

The system of claim 11, wherein the key value storage device is configured to write the first value to the input-output region of the memory via peer-to-peer direct memory access.

### Claim 17

A system for machine learning, the system comprising:
a graphics processing unit;
a key value storage device; and
shared memory for communication between the graphics processing unit and the key value storage device, the shared memory being memory mapped to the graphics processing unit,
wherein the key value storage device is configured to:
perform input and output operations in the shared memory;
read, according to a first key value request issued by the graphics processing unit, a first value from a key value request queue in the shared memory, the first key value request being based on a configuration by a host device; and
write the first value in the shared memory according to the first key value request.

### Claim 18 (depends on 17)

The system of claim 17, wherein the graphics processing unit is configured to write the first key value request to the shared memory, and to read the first value from the shared memory, and
wherein the graphics processing unit is memory-mapped to the shared memory to perform memory-mapped input and output operations in the shared memory.

### Claim 19 (depends on 18)

The system of claim 18, wherein the key value storage device is configured to read the first key value request from the key value request queue via peer-to-peer direct memory access, and
wherein the key value storage device is configured to write the first value to the shared memory via peer-to-peer direct memory access.

### Claim 20 (depends on 1)

The method of claim 1, wherein the first key value request comprises an address exposing the input-output region of the memory that is memory mapped to the other device based on the configuration by the host device.
