IP Library › Granted Patent US 11,947,967
Granted Patent B2
US 11,947,967 · App. 17/878,609 · Granted Apr 2, 2024

Reconfigurable processing-in-memory logic using look-up tables

Inventor: Dmitri Yudanov (Rancho Cordova, CA)
G06F9/3887G06F9/30145G06F9/3853G06F15/7807G06F15/8046G11C11/4085G11C11/4091
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,947,967
App. No.
17/878,609
Granted
Apr 2, 2024
Kind
B2
Abstract

An example system implementing a processing-in-memory pipeline includes: a memory array to store a plurality of look-up tables (LUTs) and data; a control block coupled to the memory array, the control block to control a computational pipeline by activating one or more LUTs of the plurality of LUTs; and a logic array coupled to the memory array and the control block, the logic array to perform, based on control inputs received from the control block, logic operations on the activated LUTs and the data.

Claims (33)

1. A system, comprising:

a memory array to store a plurality of look-up tables (LUTs) and data, wherein a LUT of the plurality of LUTs implements a logic operation by storing a logic operation result in association with a look-up address comprising one or more logic operation inputs;

a control block coupled to the memory array, the control block to control a computational pipeline by activating one or more LUTs of the plurality of LUTs; and

a logic array coupled to the memory array and the control block, the logic array to perform, based on control inputs received from the control block, logic operations on the activated LUTs and the data.

2. The system of claim 1 , further comprising a cache coupled to the memory array and to the logic array, wherein the cache is utilized to store one or more LUTs of the plurality of LUTs.

3. The system of claim 1 , wherein the logic array comprises at least one of: a full adder, a half adder, a multiplier, or a D-type flip-flop.

4. The system of claim 1 , wherein the look-up address identifies a wordline of the memory array.

5. The system of claim 1 , wherein the control block controls the logic array and the plurality of LUTs to implement a single instruction multiple data (SIMD) computational pipeline.

6. The system of claim 1 , wherein the control block controls the logic array and the plurality of LUTs to implement a very large instruction word (VLIW) computational pipeline.

7. The system of claim 1 , wherein the control block controls the logic array and the plurality of LUTs to implement a scalar computational pipeline.

8. The system of claim 1 , wherein the control block sequentially executes a set of executable instructions stored in the memory array.

9. A system-on-chip (SoC), comprising:

a memory array to store a plurality of look-up tables (LUTs) and data, wherein one or more LUTs of the plurality of LUTs implement one or more logic operations by storing one or more logic operation results in association with a look-up address comprising one or more logic operation inputs;

one or more logic arrays coupled to the memory array, the one or more logic arrays to:

control a computational pipeline by activating one or more LUTs of the plurality of LUTs; and

perform logic operations on the activated LUTs and the data.

10. The SoC of claim 9 , further comprising a plurality of sense amplifiers coupled to the memory array.

11. The SoC of claim 9 , further comprising a cache coupled to the memory array and to the one or more logic arrays, wherein the cache is utilized to store one or more LUTs of the plurality of LUTs.

12. The SoC of claim 9 , wherein the one or more logic arrays are further to:

receive executable instructions from the memory array.

13. A method, comprising:

storing, in a memory array, a plurality of look-up tables (LUTs) and data, wherein one or more LUTs of the plurality of LUTs implement one or more logic operations by storing one or more logic operation results in association with a look-up address comprising one or more logic operation inputs;

activating, by a control block coupled to the memory array, one or more LUTs of the plurality of LUTs; and

performing, by a logic array coupled to the control bock and to the memory array, based on control inputs received from the control block, logic operations on the activated LUTs and the data.

14. The method of claim 13 , further comprising:

storing, in a cache coupled to the memory array and to the logic array, at least one LUT of the plurality of LUTs.

15. The method of claim 13 , wherein the logic array comprises at least one of: a full adder, a half adder, a multiplier, or a D-type flip-flop.

16. The method of claim 13 , wherein activating the LUTs is performed responsive to executing an instruction of a set of executable instructions stored in the memory array.

17. The SoC of claim 9 , wherein the control block controls the logic array and the plurality of LUTs to implement one of: a single instruction multiple data (SIMD) computational pipeline, a very large instruction word (VLIW) computational pipeline, or a scalar computational pipeline.

18. The SoC of claim 9 , wherein the look-up address identifies a wordline of the memory array.

19. The method of claim 13 , further comprising:

implementing, by the control block controlling the logic array and the plurality of LUTs, one of: a single instruction multiple data (SIMD) computational pipeline, a very large instruction word (VLIW) computational pipeline, or a scalar computational pipeline.

20. The method of claim 13 , wherein the look-up address identifies a wordline of the memory array.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2023
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 065163/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2022
From: YUDANOV, DMITRI
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061289/0870 →
Continuity (2)
Continuation 16932524 · Jul 17, 2020
Related Publication 20230010540A1 · Jan 12, 2023
Cited By (1)
US 12,511,128