IP Library Granted Patent US 11,054,998
Granted Patent B1
US 11,054,998 · App. 16/712,253 · Granted Jul 6, 2021

High bandwidth memory system with distributed request broadcasting masters

Inventors: Abdulkadir Utku Diril (Menlo Park, CA); Olivia Wu (Los Altos, CA); Krishnakumar Narayanan Nair (Newark, CA); Aravind Kalaiah (San Jose, CA); Anup Ramesh Kadkol (Sunnyvale, CA); Pankaj Kansal (Fremont, CA)
Assignee: Facebook, Inc.
G06F3/0631G06F3/0604G06F3/0673G06F13/1657G06F15/8015G06F15/8023G06N3/02
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 11,054,998
App. No.
16/712,253
Granted
Jul 6, 2021
Kind
B1
Abstract

A system comprises a processor and a plurality of memory units. The processor is coupled to each of the plurality of memory units by a plurality of network connections. The processor includes a plurality of processing elements arranged in a two-dimensional array and a corresponding two-dimensional communication network communicatively connecting each of the plurality of processing elements to other processing elements on same axes of the two-dimensional array. Each processing element that is located along a diagonal of the two-dimensional array is configured as a request broadcasting master for a respective group of processing elements located along a same axis of the two-dimensional array.

Claims (17)

1. A method comprising:

receiving a first memory request provided from a first request broadcasting master at a first connection to a memory unit;

receiving a second memory request provided from a second request broadcasting master at a second connection to the memory unit, wherein the first request broadcasting master and the second request broadcasting master are located on a diagonal of a two-dimensional array of processing elements;

decomposing the first memory request into a first plurality of partial requests and the second memory request into a second plurality of partial requests;

determining for each partial request of the first plurality of partial requests and the second plurality of partial requests whether the partial request is to be served from associated memory banks;

discarding a first group of partial requests from the first plurality of partial requests and the second plurality of partial requests that is not to be served from the associated memory banks;

for each partial request of a second group of partial requests from the first plurality of partial requests that is to be served from the associated memory banks, retrieving data of the partial request and providing the retrieved data to the first request broadcasting master using the first connection to the memory unit; and

for each partial request of a third group of partial requests from the second plurality of partial requests that is to be served from the associated memory banks, retrieving data of the is partial request and providing the retrieved data to the second request broadcasting master using the second connection of the memory unit.

2. A system, comprising:

a memory unit configured to:

receive a first memory request provided from a first request broadcasting master at a first connection to the memory unit;

receive a second memory request provided from a second request broadcasting master at a second connection to the memory unit, wherein the first request broadcasting master and the second request broadcasting master are located on a diagonal of a two-dimensional array of processing elements;

decompose the first memory request into a first plurality of partial requests and the second memory request into a second plurality of partial requests;

determine for each partial request of the first plurality of partial requests and the second plurality of partial requests whether the partial request is to be served from associated memory banks;

discard a first group of partial requests from the first plurality of partial requests and the second plurality of partial requests that is not to be served from the associated memory banks;

for each partial request of a second group of partial requests from the first plurality of partial requests that is to be served from the associated memory banks, retrieve data of the partial request and providing the retrieved data to the first request broadcasting master using the first connection to the memory unit; and

for each partial request of a third group of partial requests from the second plurality of partial requests that is to be served from the associated memory banks, retrieve data of the partial request and providing the retrieved data to the second request broadcasting master using the second connection of the memory unit.

Assignments (2)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: DIRIL, ABDULKADIR UTKU; WU, OLIVIA; NAIR, KRISHNAKUMAR NARAYANAN; KALAIAH, ARAVIND; KADKOL, ANUP RAMESH; KANSAL, PANKAJ
To: FACEBOOK, INC.
Reel/Frame 051940/0793 →