IP Library Granted Patent US 10,929,778
Granted Patent B1
US 10,929,778 · App. 16/420,078 · Granted Feb 23, 2021

Address interleaving for machine learning

Inventors: Avinash Sodani (San Jose, CA); Ramacharan Sundararaman (San Jose, CA)
Assignee: Marvell Asia Pte, Ltd.
G06N20/00G06F12/0607G06F9/3895G06F9/3897G06F12/0851G06F15/17G06F15/781G06F15/7807G06F15/7857G06F15/80G06F2212/1041
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,929,778
App. No.
16/420,078
Granted
Feb 23, 2021
Kind
B1
Abstract

A system includes a memory, an interface engine, and a master. The memory is configured to store data. The inference engine is configured to receive the data and to perform one or more computation tasks of a machine learning (ML) operation associated with the data. The master is configured to interleave an address associated with memory access transaction for accessing the memory. The master is further configured to provide a content associated with the accessing to the inference engine.

Claims (36)

1. A system to support a machine learning (ML) operation, comprising:

a memory configured to store data;

an array-based inference engine comprising a plurality of processing tiles arranged in a two-dimensional array of a plurality of rows and a plurality of columns, wherein each processing tile comprises at least one or more of

an on-chip memory (OCM) configured to load and maintain data for local access by components in the processing tile; and

one or more processing units configured to perform one or more computation tasks of the ML operation on data in the OCM by executing a set of task instructions; and

a data streaming engine configured to stream data between the memory and the OCMs of the processing tiles of the inference engine, wherein the data streaming engine is configured to interleave an address associated with a memory access transaction for accessing the memory, wherein a subset of bits of the interleaved address is used to determine an appropriate communication channel through which to access the memory.

2. The system of claim 1 , wherein:

each processing unit of the processing units in each processing tile includes one or more of

a first processing unit (POD) configured to perform a dense and/or regular computation task of the ML operation on the data in the OCM; and

a second processing unit/element (PE) configured to perform a sparse and/or irregular computation task of the ML operation on the data in the OCM and/or from the POD.

3. The system of claim 1 , wherein the memory is a dynamic random access memory (DRAM).

4. The system of claim 1 , wherein the memory is a double data rate (DDR).

5. The system of claim 1 , wherein the interleaving comprises:

moving one or more communication channel identifier bits within the address to highest order address bits, wherein the communication channel identifier bits identify an appropriate communication channel through which to access the memory; and

shifting down the address bits with a bit order higher than a bit order of communication channel identifier bits before the moving, wherein the shifting down is by a same order as a number of the one or more communication channel identifier bits, and wherein the moving and the shifting down forms the interleaved address.

6. The system of claim 1 further comprising a network interface controller, wherein the network interface controller only supports address interleaving for a burst length greater than a burst length of the address.

7. A system comprising:

a memory configured to store data;

an inference engine configured to receive the data and to perform one or more computation tasks of a machine learning (ML) operation associated with the data; and

a master configured to interleave an address associated with a memory access transaction for accessing the memory, and wherein the master is further configured to stream a content associated with the accessing to the inference engine, wherein a subset of bits of the interleaved address is used to determine an appropriate communication channel through which to access the memory.

8. The system of claim 7 , wherein the memory is a dynamic random access memory (DRAM).

9. The system of claim 7 , wherein the memory is a double data rate (DDR).

10. The system of claim 7 , wherein the interleaving comprises:

moving one or more communication channel identifier bits within the address to highest order address bits, wherein the communication channel identifier bits identify an appropriate communication channel through which to access the memory; and

shifting down the address bits with bit order higher than a bit order of the communication channel identifier bits before the moving, wherein the shifting down is by a same order as a number of the one or more communication channel identifier bits, and wherein the moving and the shifting down forms the interleaved address.

11. The system of claim 7 further comprising a network interface controller, wherein the network interface controller only supports address interleaving for a burst length greater than a burst length of the address.

12. A method to support a machine learning (ML) operation, comprising:

receiving an address associated with a transaction;

moving one or more communication channel identifier bits within the address to highest order address bits; and

shifting down the address bits with a bit order higher than a bit order of the communication channel identifier bits before the moving, wherein the shifting down is by a same order as a number of the one or more communication channel identifier bits, and wherein the moving and the shifting down forms an interleaved address.

13. The method of claim 12 further comprising identifying an appropriate communication channel to communicate with a memory component, wherein the identifying is through the communication channel identifier bits.

14. The method of claim 13 further comprising transmitting the transaction associated with the address via the appropriate communication channel to the memory component.

15. The method of claim 14 further comprising receiving a data associated with the address from the memory component through the appropriate communication channel that the transaction is received from.

16. The method of claim 13 , wherein the memory component is a double data rate (DDR) memory.

17. The method of claim 13 , wherein the memory component is a dynamic random access memory (DRAM).

18. The method of claim 12 further comprising maintaining an address bit with a lower bit order than that of the communication channel identifiers before the moving.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: SODANI, AVINASH; SUNDARARAMAN, RAMACHARAN
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 054540/0146 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 054540/0155 →
Continuity (2)
Continuation In Part 16226539 · Dec 19, 2018
Provisional Application 62675076 · May 22, 2018