IP Library Granted Patent US 12,461,778
Granted Patent B2
US 12,461,778 · App. 18/236,811 · Granted Nov 4, 2025

Multiple contexts for a memory unit in a reconfigurable data processor

Inventors: Raghu Prabhakar (San Jose, CA); Ram Sivaramakrishnan (San Jose, CA); David Brian Jackson (Dana Point, CA); Pramod Nataraja (San Jose, CA)
Assignee: SambaNova Systems, Inc.
G06F9/485G06F3/061G06F3/0635G06F3/0673G06F9/4881G06F12/0292G06F15/8007G06F2212/1016
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 12,461,778
App. No.
18/236,811
Granted
Nov 4, 2025
Kind
B2
Abstract

A system includes a coarse-grained reconfigurable (CGR) processor and a compiler configured to generate one or more configuration files for an application for execution on the CGR processor including an array of pattern compute units (PCUs) and pattern memory units (PMUs). A PCU is configured to perform an operation. A PMU comprises a plurality of data structures including a plurality of portions of operation-specific data related to the operation. The PMU is coupled to the PCU via a multi-segment datapath pipeline. The CGR processor is coupled to configure a segment of the datapath pipeline using a set of configurations bits corresponding to a portion of the operation-specific data related to the operation to activate to the segment, to further communicate the operation-specific data to the PCU via the activated segment. The CGR processor is coupled to switch among multiple PMU contexts in various segments sequentially to concurrently.

Claims (42)

1 . A data processing system comprising coarse-grained reconfigurable (CGR) processor including a plurality of pattern compute units (PCUs) and a plurality of pattern memory units (PMUs) configured to execute a dataflow graph,

a PCU coupled a PMU via a multi-segment datapath pipeline,

the PCU coupled to perform a task including a plurality of operations,

the PMU coupled to receive a configuration file including PMU configuration data,

wherein the PMU configuration data includes multiple portions of operation-specific data corresponding to an operation to be held in a plurality of data structures in the PMU, and

multiple PMU contexts including a set of configuration bits to activate a segment of the multi-segment datapath pipeline,

wherein the segment of the multi-segment datapath pipeline includes a plurality of configurable fields corresponding to the operation,

wherein the PMU is coupled to configure a configurable field in the segment using a PMU context thereby activating the segment to form an activated segment corresponding to a portion of the operation-specific data,

wherein the PMU is coupled to communicate to the PCU, portion of the operation-specific data via the activated segment,

wherein the CGR processor is coupled to switch among multiple PMU contexts in the segment to communicate one or more portions of the operation-specific data related to a single operation, and

wherein switching among multiple PMU contexts in two or more segments concurrently to communicate one or more portions of operation-specific data related to multiple operations.

2 . The system of claim 1 wherein the operation can be a read or write operation.

3 . The system of claim 2 , wherein the configurable fields for the read operation are different from the configurable fields for the write operation.

4 . The system of claim 3 , wherein configurable fields for the read operation include a read address pointer field, a read scratchpad field, and a read output field.

5 . The system of claim 3 , wherein configurable fields for the write operation include a write address pointer field and a write scratchpad field.

6 . The system of claim 1 , wherein all the segments can have common configuration fields including can include an input field, a counters field, a headers field, input special function registers (SFRs) field, write crossbar field, read crossbar field, and output SFRs field.

7 . The system of claim 1 , wherein the configurable fields in the segment are retained if a current operation is same as a next operation.

8 . The system of claim 1 , wherein the configurable fields in the segment are changed if a next operation is different from a current operation.

9 . The system of claim 1 , wherein the multi-segment datapath pipeline includes three segments.

10 . A method for a coarse-grained reconfigurable (CGR) processor including an array of pattern compute units (PCUs) and pattern memory units (PMUs) configured to execute a dataflow graph, a PCU and a PMU coupled via a multi-segment datapath pipeline, the PMU comprising a plurality of data structures, the method comprising:

configuring the PCU to perform a task including a plurality of operations,

receiving a configuration file including multiple portions of operation-specific data corresponding to an operation to be held in a plurality of data structures in the PMU, configuring by the PMU, a configurable field in a segment of the multi-segment datapath pipeline, using a PMU context including a set of configuration bits,

thereby activating the segment to form an activated segment corresponding to a portion of the operation-specific data, and

communicating by the PMU to the PCU, the portion of the operation-specific data via the activated segment,

switching among multiple PMU contexts in the segment sequentially to communicate one or more portions of the operation-specific data related to a single operation, and

switching among multiple PMU contexts in two or more segments concurrently to communicate one or more portions of operation-specific data related to multiple operations.

11 . The method of claim 10 further wherein the operation can be a read or a write operation.

12 . The method of claim 11 , wherein the configurable fields for the read operation are different from the configurable fields for the write operation.

13 . The method of claim 12 , wherein configurable fields for the read operation include a read address pointer field, a read scratchpad field, and a read output field.

14 . The method of claim 12 , wherein configurable fields for the write operation include a write address pointer field and a write scratchpad field.

15 . The method of claim 10 , wherein all the segments can have common configuration fields including can include an input field, a counters field, a headers field, input special function registers (SFRs) field, write crossbar field, read crossbar field, and output SFRs field.

16 . The method of claim 10 , retaining the PMU context in the segment if a next operation-specific data is same as a current operation-specific data.

17 . The method of claim 10 , further comprising switching the PMU context in the segment if a next operation-specific data is different from a current operation-specific data.

18 . The method of claim 11 , wherein the multi-segment datapath pipeline includes three segments including one segment for the write operation and two segments for read operations.

19 . A non-transitory computer readable medium having instructions encoded thereon datapath configuring solutions for reconfigurable dataflow computing systems comprising a coarse-grained reconfigurable (CGR) processor including an array of CGR unit reconfigurable units including a plurality of pattern compute units (PCUs) and a plurality of pattern memory units (PMUs) configured to execute a dataflow graph, a PMU coupled to a PCU via a multi-segment datapath pipeline, the instructions configured to cause a processor to conduct a method comprising:

configuring the PCU to perform a task including a plurality of operations,

receiving a configuration file including multiple portions of operation-specific data corresponding to an operation to be held in a plurality of data structures in the PMU, configuring by the PMU, a configurable field in a segment of the multi-segment datapath pipeline, using a PMU context including a set of configuration bits,

thereby activating the segment to form an activated segment corresponding to a portion of the operation-specific data, and

communicating by the PMU to the PCU, the portion of the operation-specific data via the activated segment,

switching among multiple PMU contexts in the segment sequentially to communicate one or more portions of the operation-specific data related to a single operation, and

switching among multiple PMU contexts in two or more segments concurrently to communicate one or more portions of operation-specific data related to multiple operations.

20 . The method of claim 19 further wherein the operation can be a read or a write operation and wherein the configurable fields for the read operation are different from the configurable fields for the write operation.

Assignments (3)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 18, 2025
From: SAMBANOVA SYSTEMS, INC.
To: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 070892/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2025
From: PRABHAKAR, RAGHU; SIVARAMAKRISHNAN, RAM; JACKSON, DAVID BRIAN; NATARAJA, PRAMOD
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 070699/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2023
From: PRABHAKAR, RAGHU
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 064668/0972 →
Continuity (4)
Provisional Application 63400404 · Aug 24, 2022
Provisional Application 63400403 · Aug 24, 2022
Provisional Application 63400402 · Aug 23, 2022
Related Publication 20240069770A1 · Feb 29, 2024
References Cited (23)
US 6282627B1 · Wong et al. · 2001 [cited by applicant]
US 10467183B2 · Fleming et al. · 2019 [cited by applicant]
US 11086816B2 · Fleming et al. · 2021 [cited by applicant]
US 11609769B2 · Shah et al. · 2023 [cited by applicant]
US 20190205244A1 · Smith · 2019 [cited by applicant]
US 20230002296A1 · Prabhakar · 2023 [cited by applicant]
US 20230095330A1 · Lee · 2023 [cited by examiner]
WO 2010142987A1 · 2010 [cited by applicant]
Adriaansen et al., Code generation for reconfigurable explicit datapath architectures with LLVM, 2016, IEEE, pp. 30-37. (Year: 2016). [cited by applicant]
Koeplinger et al., Spatial: A Language and Compiler for Application Accelerators, PLDI '18, Jun. 18-22, 2018, Association for Computng Machinery, 16 pages. [cited by applicant]
List of Related cases, dated Apr. 30, 2024, 2 pages. [cited by applicant]
Lopes et al., Coarse-Grained Reconfigurable Computing with the Versat Architecture, 2021, Electronics, 23 pages. (Year: 2021). [cited by applicant]
M. Emani et al., Accelerating Scientific Applications With Sambanova Reconfigurable Dataflow Architecture, in Computing in Science & Engineering, vol. 23, No. 2, pp. 114-119, Mar. 26, 2021, [doi: 10.1109/MCSE.2021.30572… [cited by applicant]
Podobas et al., A Survey on Coarse-Grained Reconfigurable Architectures From a Performance Perspective, IEEEAccess, vol. 2020.3012084, Jul. 27, 2020, 25 pages. [cited by applicant]
Prabhakar et al., Plasticine: A Reconfigurable Architecture for Parallel Patterns, ISCA, Jun. 24-28, 2017, 14 pages. [cited by applicant]
Saluja, Register File Organization for Coarse-Grained Reconfigurable Architectures: Compiler-Microarchitecture Perspective, 2014, Master Thesis, Arizona State University, 38 pages. (Year: 2014). [cited by applicant]
U.S. Appl. No. 16/197,826-Notice of Allowance dated Jun. 29, 2020, 5 pages. [cited by applicant]
U.S. Appl. No. 16/239,252-Notice of Allowance dated May 14, 2020, 15 pages.(SBNV1000USN01). [cited by applicant]
U.S. Appl. No. 16/407,675 Notice of Allowance dated Mar. 14, 2022, 12 pages. [cited by applicant]
U.S. Appl. No. 16/890,841, Notice of Allowance dt. Mar. 9, 2023, 32 pages. (SBNV1021USN01). [cited by applicant]
U.S. Appl. No. 16/922,975 - Notice of Allowance, dated Jul. 3, 2023, 11 pages (SBNV1026USN01). [cited by applicant]
U.S. Appl. No. 18/099,214 - Notice of Allowance, dated Nov. 8, 2023, 7 pages (SBNV1056USN01). [cited by applicant]
Wan et al., A Coarse-Grained Reconfigurable Architecture with Compilation for High Performance, 2012, International Journal ofReconfigurable Computing, 17 pages. (Year: 2012). [cited by applicant]