IP Library Granted Patent US 9,639,458
Granted Patent B2
US 9,639,458 · App. 14/493,744 · Granted May 2, 2017

Reducing memory accesses for enhanced in-memory parallel operations

Inventor: Peter M. Kogge (Granger, IN)
Assignee: EMU SOLUTIONS, INC.
G06F12/0207G06F12/023G06F2212/251Y02B60/1225
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 9,639,458
App. No.
14/493,744
Granted
May 2, 2017
Kind
B2
Abstract

A memory storage system is that includes a memory element having a memory address for a physical memory. A memory controller receives a command for accessing the memory element using a program-generated address and dynamically transforms the program-generated address into the memory address for the physical memory using a rotation module and configuration information. A data word accessed by the physical address is then provided to a set of arithmetic logic units (ALUs) where multiple computations are performed simultaneously so as top reduce program execution time and energy. The configuration information provided to the rotation unit configures the set of ALUs.

Claims (22)

1. A memory storage system comprising:

a memory element that includes a memory address for a physical memory; and

a memory controller that receives a command for accessing the memory element using a program-generated address and dynamically transforms the program-generated address into the memory address for the physical memory using a rotation module and configuration information, wherein a data word accessed by the physical address is then provided to a set of arithmetic logic units (ALUs) where multiple computations are performed simultaneously so as to reduce program execution time and energy, the configuration information provided to the rotation unit configures the set of ALUs, wherein the rotation module takes a relative element number of the program-generated address and appends it to an unchanged section of lowest bits of the program-generated address.

2. The memory storage system of claim 1 , wherein the set of ALUs are selected in a program-specifiable option.

3. The memory storage system of claim 1 , wherein the memory controller maintains a table that is indexed by the number of the set of ALUs used.

4. The memory storage system of claim 1 , wherein the memory controller uses a translation process to change a program-provided address to the memory address associated with the memory element.

5. The memory storage system of claim 1 , wherein the memory controller uses translation to rotate a block of data elements so that each row holding part of those data elements holds exactly a first set of bits for that element, and that the next higher sequential row in memory holds the a second set bits from the same data elements, and in the same order.

6. The memory storage system of claim 5 , wherein the memory controller reconfigures how memory arrays are arranged so as to minimize memory accesses and reduce overall execution time and power.

7. The memory storage system of claim 1 , wherein the memory controller is configured to receives status messages from the one or more ALUs.

8. The memory storage system of claim 1 , wherein the memory controller is configured to issue common data and ALU commands to the set of ALUs.

9. The memory storage system of claim 1 , wherein the memory controller is configured to issue configuration commands to configure the arrangement of the one or more ALUs.

10. A method of performing memory management comprising:

providing a memory element that includes a memory address for a physical memory; and

implementing a memory controller that receives a command for accessing the memory element using a program-generated address and dynamically transforms the program-generated address into the memory address for the physical memory using a rotation module and configuration information, wherein a data word accessed by the physical address is then provided to a set of arithmetic logic units (ALUs) where multiple computations are performed simultaneously so as to reduce program execution time and energy, the configuration information provided to the rotation unit configures the set of ALUs, wherein the rotation module takes a relative element number of the program-generated address and appends it to an unchanged section of lowest bits of the program-generated address.

11. The method of claim 10 , wherein the set of ALUs are selected in a program-specifiable option.

12. The method of claim 10 , wherein the memory controller maintains a table that is indexed by the number of the set of ALUs used.

13. The method of claim 10 , wherein the memory controller uses a translation process to change a program-provided address to the memory address associated with the memory element.

14. The method of claim 10 , wherein the memory controller uses translation to rotate a block of data elements so that each row holding part of those data elements holds exactly a first set of bits for that element, and that the next higher sequential row in memory holds the a second set bits from the same data elements, and in the same order.

15. The method of claim 14 , wherein the memory controller reconfigures how memory arrays are arranged so as to minimize memory accesses and reduce overall execution time and power.

16. The method of claim 10 , wherein the memory controller is configured to receives status messages from the one or more ALUs.

17. The method of claim 10 , wherein the memory controller is configured to issue common data and ALU commands to the set of ALUs.

18. The method of claim 10 , wherein the memory controller is configured to issue configuration commands to configure the arrangement of the one or more ALUs.

Assignments (2)
CHANGE OF NAME Recorded Sep 19, 2019
From: EMU SOLUTIONS, INC.
To: LUCATA CORPORATION
Reel/Frame 050427/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2014
From: KOGGE, PETER M.
To: EMU SOLUTIONS, INC.
Reel/Frame 034146/0039 →
Continuity (2)
Provisional Application 61882697 · Sep 26, 2013
Related Publication 20150089166A1 · Mar 26, 2015