# US 11,907,118 B2 · Interleaved data conversion to change data formats

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

- Number: US 11,907,118 B2
- Document ID: US11907118B2
- Status: Granted
- Kind: B2
- Application number: 17/054,083
- Filed: 2019-11-07
- Published: 2023-05-18
- Granted: 2024-02-20
- Earliest claimed: 2019-11-07
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Yong Wu; Mohammad Haghighat; Zhong Cao; Feng Yuan; Hongzhen Liu
- Web page: https://patentgrep.com/patent/US11907118B2

## CPC

- G06F 9/30025: {Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion}
- G06F 12/0607: {Interleaved addressing}
- G06F 9/3001: {Arithmetic instructions}
- G06F 9/30014: {with variable precision}
- G06F 9/30018: {Bit or string instructions}
- G06F 9/30032: {Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE}
- G06F 2212/251: Local memory within processor subsystem
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Method, systems and apparatuses may provide for technology that identifies first data and second data to be stored in a data storage. Each of the first data and the second data are in a first data format. Some technology may also interleave the first data with the second data. The interleaved first and second data are in a second data format. The second data format is different from the first data format.

## Claims

### Claim 1

A computing system comprising:
a data storage;
a graphics processor;
a central processing unit; and
a memory including a set of instructions, which when executed by one or more of the graphics processor or the central processing unit, cause the computing system to:
identify first data and second data to be stored in the data storage, wherein each of the first data and the second data are to be in a first data format;
interleave the first data with the second data to generate interleaved data, wherein the interleaved data is to be in a second data format, and wherein the second data format is different from the first data format;
generate decoded first values from the interleaved data, wherein the decoded first values include the second data being treated as first noise and the first data being maintained; and
execute a mathematical operation based on the decoded first values such that the second data is treated as the first noise and the first data is processed.

### Claim 2 (depends on 1)

The system of claim 1, wherein the instructions, when executed, cause the computing system to:
cause the interleaved data to be stored in the data storage, wherein bits of the first data alternate with bits of the second data in the data storage.

### Claim 3 (depends on 1)

The system of claim 1, wherein the instructions, when executed, cause the computing system to:
cause the interleaved data to be loaded into a hardware register.

### Claim 4 (depends on 1)

The system of claim 1, wherein a size of the first data format is half of a size of the second data format.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first data format is a brain floating-point format and the second data format is a floating-point format.

### Claim 6 (depends on 1)

The system of claim 1, wherein the instructions, when executed, cause the computing system to:
generate decoded second values from the interleaved data, wherein the decoded second values includes the first data being treated as second noise and the second data being maintained,
wherein to execute the mathematical operation, the instructions, when executed, cause the computing system to generate a final value based on the decoded second values.

### Claim 7

A semiconductor apparatus comprising:
one or more substrates; and
logic coupled to the one or more substrates, wherein the logic is implemented in one or more of configurable logic or fixed-functionality logic hardware, the logic coupled to the one or more substrates to:
identify first data and second data to be stored in a data storage, wherein each of the first data and the second data are to be in a first data format;
interleave the first data with the second data to generate interleaved data, wherein the interleaved data is to be in a second data format, and wherein the second data format is different from the first data format;
generate decoded first values from the interleaved data, wherein the decoded first values include the second data being treated as first noise and the first data being maintained; and
execute a mathematical operation based on the decoded first values such that the second data is treated as the first noise and the first data is processed.

### Claim 8 (depends on 7)

The semiconductor apparatus of claim 7, wherein the logic is to:
cause the interleaved data to be stored in the data storage, wherein bits of the first data alternate with bits of the second data in the data storage.

### Claim 9 (depends on 7)

The semiconductor apparatus of claim 7, wherein the logic coupled to the one or more substrates is to:
cause the interleaved data to be loaded into a hardware register.

### Claim 10 (depends on 7)

The semiconductor apparatus of claim 7, wherein a size of the first data format is half of a size of the second data format.

### Claim 11 (depends on 7)

The semiconductor apparatus of claim 7, wherein the first data format is a brain floating-point format and the second data format is a floating-point format.

### Claim 12 (depends on 7)

The semiconductor apparatus of claim 7, wherein the logic coupled to the one or more substrates is to:
generate decoded second values from the interleaved data, wherein the decoded second values includes the first data being treated as second noise and the second data being maintained,
wherein to execute the mathematical operation, the logic coupled to the one or more substrates is to generate a final value based on the decoded second values.

### Claim 13

At least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to:
identify first data and second data to be stored in a data storage, wherein each of the first data and the second data are to be in a first data format;
interleave the first data with the second data to generate interleaved data, wherein the interleaved data is to be in a second data format, and wherein the second data format is different from the first data format;
generate decoded first values from the interleaved data, wherein the decoded first values include the second data being treated as first noise and the first data being maintained; and
execute a mathematical operation based on the decoded first values such that the second data is treated as the first noise and the first data is processed.

### Claim 14 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the instructions, when executed, cause the computing device to:
cause the interleaved data to be stored in the data storage, wherein bits of the first data alternate with bits of the second data in the data storage.

### Claim 15 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the instructions, when executed, cause the computing device to:
cause the interleaved data to be loaded into a hardware register.

### Claim 16 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein a size of the first data format is half of a size of the second data format.

### Claim 17 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the first data format is a brain floating-point format and the second data format is a floating-point format.

### Claim 18 (depends on 13)

The at least one non-transitory computer readable storage medium of claim 13, wherein the instructions, when executed, cause the computing device to:
generate decoded second values from the interleaved data, wherein the decoded second values includes the first data being treated as second noise and the second data being maintained,
wherein to execute the mathematical operation, instructions, when executed, cause the computing device to generate a final value based on the decoded second values.

### Claim 19

A method comprising:
identifying first data and second data to be stored in a data storage, wherein each of the first data and the second data are in a first data format;
interleaving the first data with the second data to generate interleaved data, wherein the interleaved data is in a second data format, and wherein the second data format is different from the first data format;
generating decoded first values from the interleaved data, wherein the decoded first values includes the second data being treated as first noise and the first data being maintained; and
executing a mathematical operation based on the decoded first values such that the second data is treated as the first noise and the first data is processed.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
causing the interleaved data to be stored in the data storage, wherein bits of the first data alternate with bits of the second data in the data storage.

### Claim 21 (depends on 19)

The method of claim 19, further comprising:
causing the interleaved data to be loaded into a hardware register.

### Claim 22 (depends on 19)

The method of claim 19, wherein a size of the first data format is half of a size of the second data format.

### Claim 23 (depends on 19)

The method of claim 19, wherein the first data format is a brain floating-point format and the second data format is a floating-point format.

### Claim 24 (depends on 19)

The method of claim 19, further comprising:
generating decoded second values from the interleaved data, wherein the decoded second values includes the first data being treated as second noise and the second data being maintained,
wherein the executing the mathematical operation includes generating a final value based on the decoded second values.
