Non-power of two memory configuration
First Claim
1. A system comprising:
- one or more clients; and
a memory subsystem having a first ratio of active memory channels to total memory channels;
wherein the memory subsystem is configured to;
reduce the first ratio to a second ratio of a first number to a second number;
receive a memory request from a client of the one or more clients;
responsive to determining that a first subset of physical address bits of the memory request have a value that is greater than or equal to the first number;
calculate a third number based on a value corresponding to a second subset of physical address bits modulo the first number;
select a memory channel, of a plurality of memory channels, using a concatenation of the third number and a third subset of physical address bits; and
complete the memory request to the selected memory channel.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, apparatuses, and methods for managing a non-power of two memory configuration are disclosed. A computing system includes at least one or more clients, a control unit, and a memory subsystem with a non-power of two number of active memory channels. The control unit reduces a ratio of the number of active memory channels over the total number of physical memory channels to a ratio of a first number to a second number. If a first subset of physical address bits of a received memory request are greater than or equal to the first number, the control unit calculates a third number which is equal to a second subset of physical address bits modulo the first number and the control unit uses a concatenation of the third number and a third subset of physical address bits to select a memory channel for issuing the received memory request.
-
Citations
20 Claims
-
1. A system comprising:
-
one or more clients; and a memory subsystem having a first ratio of active memory channels to total memory channels; wherein the memory subsystem is configured to; reduce the first ratio to a second ratio of a first number to a second number; receive a memory request from a client of the one or more clients; responsive to determining that a first subset of physical address bits of the memory request have a value that is greater than or equal to the first number; calculate a third number based on a value corresponding to a second subset of physical address bits modulo the first number; select a memory channel, of a plurality of memory channels, using a concatenation of the third number and a third subset of physical address bits; and complete the memory request to the selected memory channel. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
determining, by a control unit of a first device, a number of active memory channels out of a total number of physical memory channels in a memory subsystem; reducing a ratio of the number of active memory channels to the total number of physical memory channels down from a first number to a second number; responsive to determining that a first subset of physical address bits of a received memory request are greater than or equal to the first number; calculating a third number which is based on a value corresponding to a second subset of physical address bits modulo the first number; selecting a memory channel, of a plurality of memory channels, using a concatenation of the third number and a third subset of physical address bits; and completing the memory request to the selected memory channel. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
a control unit; and a memory subsystem comprising a plurality of memory channels; wherein the control unit is configured to; determine a number of active memory channels out of a total number of physical memory channels in the memory subsystem; reduce a ratio of the number of active memory channels to the total number of physical memory channels down from a first number to a second number; responsive to determining a first subset of physical address bits of a received memory request are greater than or equal to the first number; calculate a third number which is based on a second subset of physical address bits modulo the first number; select a memory channel, of the plurality of memory channels, using a concatenation of the third number and a third subset of physical address bits; and complete the memory request to the selected memory channel. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification