DYNAMIC HETEROGENEOUS HASHING FUNCTIONS IN RANGES OF SYSTEM MEMORY ADDRESSING SPACE
First Claim
1. A processor comprising:
- a plurality of functional units;
a plurality of memory channels coupled to a system memory; and
a memory controller unit (MCU) coupled to the plurality of functional units and the plurality of memory channels, wherein the MCU comprises a dynamic heterogeneous hashing module (DHHM) comprising;
a plurality of specific-purpose hashing function blocks that define different interleaving sequences for memory requests to alternately access the plurality of memory channels; and
a hashing-function selection block operable to identify a requesting functional unit from the plurality of functional units originating a current memory request and to select one of the plurality of specific-purpose hashing function blocks for the current memory request in view of the requesting functional unit.
1 Assignment
0 Petitions
Accused Products
Abstract
Dynamic heterogeneous hashing function technology for balancing memory requests between multiple memory channels is described. A processor includes functional units and multiple memory channels, and a memory controller unit (MCU) coupled between them. The MCU includes a dynamic heterogeneous hashing module (DHHM) that includes multiple specific-purpose hashing function blocks that define different interleaving sequences for memory requests to alternately access the multiple memory channels. The DHHM also includes a hashing-function selection block. The hashing-function selection block is operable to identify a requesting functional unit originating a current memory request and to select one of the specific-purpose hashing function blocks for the current memory request in view of the requesting functional unit.
-
Citations
23 Claims
-
1. A processor comprising:
-
a plurality of functional units; a plurality of memory channels coupled to a system memory; and a memory controller unit (MCU) coupled to the plurality of functional units and the plurality of memory channels, wherein the MCU comprises a dynamic heterogeneous hashing module (DHHM) comprising; a plurality of specific-purpose hashing function blocks that define different interleaving sequences for memory requests to alternately access the plurality of memory channels; and a hashing-function selection block operable to identify a requesting functional unit from the plurality of functional units originating a current memory request and to select one of the plurality of specific-purpose hashing function blocks for the current memory request in view of the requesting functional unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving, by a dynamic heterogeneous hashing module (DHHM) of a memory controller unit (MCU) of a processor, a current memory request to access system memory coupled to the processor via a plurality of memory channels, wherein the DHHM comprises a plurality of specific-purpose hashing function that define different interleaving sequences for memory requests to alternately access the plurality of memory channels; identifying, by the DHHM, a requesting functional unit from a plurality of functional units of the processor that originated the current memory request; and selecting, by the DHHM, one of the plurality of specific-purpose hashing function for the current memory request in view of the requesting functional unit. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. An integrated circuit comprising:
-
a processor core; a memory device operable to store code memory and data memory; and a memory controller unit (MCU) coupled between the processor core and the memory device, wherein the MCU is configured to; load a plurality of values in configuration registers to program a plurality of specific-purpose hashing functions of a dynamic heterogeneous hashing module (DHHM); receive a current memory request to access the memory device via a plurality of memory channels, wherein the plurality of specific-purpose hashing function define different interleaving sequences for memory requests to alternately access the plurality of memory channels; identify a requesting functional unit from a plurality of functional units of the processor that originated the current memory request; and select one of the plurality of specific-purpose hashing function for the current memory request in view of the requesting functional unit. - View Dependent Claims (21, 22, 23)
-
Specification