Near-memory compute module
First Claim
1. An integrated circuit device disposed within an integrated circuit package having a periphery, the integrated circuit device within the periphery comprising:
- a transaction processor; and
one or more memory controllers coupled to the transaction processor, the one or more memory controllers to execute one or more memory access operations, wherein a plurality of DRAM devices is coupled to the one or more memory controllers, the plurality of DRAM devices to respond to the one or more memory access operations, wherein the transaction processor is to;
receive a combination of signals from a host controller;
intercept a first portion of the combination of signals;
decode a command in the first portion;
determine, based on the command, a set of one or more instructions to perform a data transformation of data in a memory by the transaction processor;
execute the set of instructions to perform the data transformation during one or more wait times after the first portion of the combination of signals is intercepted and before operation results from the data transformation are expected by the host controller;
determine operation results from the set of instructions;
decode a second portion of the combination of signals;
forward the second portion of the combination of signals to be used by the one or more memory controllers to initiate execution of a write access operation or a read access operation of the one or more memory access operations; and
when the second portion corresponds to the write access operation, receive write data associated with the write access operation from the host controller and forward the write data to the one or more memory controllers; and
when the second portion corresponds to the read access operation, receive read data associated with the read access operation from the one or more memory controllers and forward the read data during one or more wait times after the first portion of the combination of signals is intercepted and before operation results from the data transformation are expected by the host controller to the host controller,wherein the transaction processor comprises a set of data buffers to drive and receive the combination of signals and allow the plurality of DRAM devices to emulate a type of Dual In-Line Memory Module (DIMM) selected from an un-buffered DIMM type (UDIMM), a load-reduction DIMM type (LRDIMM), and a registered DIMM type (RDIMM).
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein are systems having an integrated circuit device disposed within an integrated circuit package having a periphery, and within this periphery a transaction processor is configured to receive a combination of signals (e.g., using a standard memory interface), and intercept some of the signals to initiate a data transformation, and forward the other signals to one or more memory controllers within the periphery to execute standard memory access operations (e.g., with a set of DRAM devices). The DRAM devices may or may not be in within the package periphery. In some embodiments, the transaction processor can include a data plane and control plane to decode and route the combination of signals. In other embodiments, off-load engines and processor cores within the periphery can support execution and acceleration of the data transformations.
-
Citations
19 Claims
-
1. An integrated circuit device disposed within an integrated circuit package having a periphery, the integrated circuit device within the periphery comprising:
-
a transaction processor; and one or more memory controllers coupled to the transaction processor, the one or more memory controllers to execute one or more memory access operations, wherein a plurality of DRAM devices is coupled to the one or more memory controllers, the plurality of DRAM devices to respond to the one or more memory access operations, wherein the transaction processor is to; receive a combination of signals from a host controller; intercept a first portion of the combination of signals; decode a command in the first portion; determine, based on the command, a set of one or more instructions to perform a data transformation of data in a memory by the transaction processor; execute the set of instructions to perform the data transformation during one or more wait times after the first portion of the combination of signals is intercepted and before operation results from the data transformation are expected by the host controller; determine operation results from the set of instructions; decode a second portion of the combination of signals; forward the second portion of the combination of signals to be used by the one or more memory controllers to initiate execution of a write access operation or a read access operation of the one or more memory access operations; and when the second portion corresponds to the write access operation, receive write data associated with the write access operation from the host controller and forward the write data to the one or more memory controllers; and when the second portion corresponds to the read access operation, receive read data associated with the read access operation from the one or more memory controllers and forward the read data during one or more wait times after the first portion of the combination of signals is intercepted and before operation results from the data transformation are expected by the host controller to the host controller, wherein the transaction processor comprises a set of data buffers to drive and receive the combination of signals and allow the plurality of DRAM devices to emulate a type of Dual In-Line Memory Module (DIMM) selected from an un-buffered DIMM type (UDIMM), a load-reduction DIMM type (LRDIMM), and a registered DIMM type (RDIMM). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A near memory computing system comprising:
-
a transaction processor; a plurality of dynamic random access memory (DRAM) devices; and at least one memory controller coupled to the transaction processor and the plurality of DRAM devices, the memory controller to perform one or more memory access operations over at least some of the plurality of DRAM devices, the memory controller further to perform an error detection and correction process by storing an error condition to accumulate a history of a plurality of error occurrences and initiating a memory repair process based on the history; wherein the transaction processor is to receive a combination of signals from the at least one memory controller, and wherein the transaction processor intercepts a first portion of the combination of signals, decode a command in the first portion;
determine, based on the command, a set of one or more instructions to perform a data transformation of data in a memory by the transaction processor, execute the set of instructions to perform the data transformation during one or more wait times after the first portion of the combination of signals is intercepted and before operation results from the data transformation are expected by the at least one memory controller, determine operation results from the set of instructions, decode a second portion of the combination of signals, and forward the second portion of the combination of signals to initiate execution of a write access operation or a read access operation of the one or more memory access operations, wherein;when the second portion corresponds to the write access operation, the transaction processor is to receive write data associated with the write access operation from the at least one memory controller and forward the write data to the plurality of DRAM devices; and when the second portion corresponds to the read access operation, the transaction processor is receive read data associated with the read access operation from the plurality of DRAM devices and forward the read data and the operation results to the at least one memory controller. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification