Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures
First Claim
1. A memory controller for a digital device, comprising:
- an interface for communicating with a plurality of memory modules embodying an addressable memory;
logic receiving memory addresses for processing by said digital device;
memory access logic which accesses memory locations in said addressable memory responsive to receiving said memory addresses, said memory access logic supporting a plurality of different configurations of said memory modules embodying said addressable memory and, for each said configuration of said memory modules, decoding a memory address to a plurality of physical parameter selections representing physical parameters of said addressable memory according to a respective corresponding decoding map of a plurality of decoding maps, said plurality of physical parameter selections including a row select and a column select representing a row and column respectively of memory cell arrays in said memory modules embodying said addressable memory;
wherein, for a first subset of said plurality of different configurations of said memory modules, said first subset being fewer than all of said plurality of different configurations of said memory modules, said memory access logic produces a decoded selection of a first subset of said plurality of physical parameter selections according to the decoding map corresponding to the configuration, said first subset of physical parameter selections not including said column select, said first subset of physical parameter selections being decoded from at least a portion of said memory address, before said memory access logic produces said column select from at least a portion of said memory address; and
wherein, for a second subset of said plurality of different configurations of said memory modules, said second subset being fewer than all of said plurality of different configurations of said memory modules, said first and second subsets of said plurality of different configurations of said memory modules being disjoint, said memory access logic produces a decoded selection of said first subset of said plurality of physical parameter selections according to the decoding map corresponding to the configuration at substantially the same time that said memory access logic produces said column select from at least a portion of said memory address.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system includes at least one processor, multiple memory modules embodying a main memory, a communications medium for communicating data between the at least one processor and main memory, and memory access control logic which controls the routing of data and access to memory. The communications medium and memory access control logic are designed to accommodate a heterogenous collection of main memory configurations, in which at least one physical parameter is variable for different configurations. The bits of the memory address are mapped to actual memory locations by assigning fixed bit positions to the most critical physical parameters across multiple different module types, and assigning remaining non-contiguous bit positions to less critical physical parameters. In the preferred embodiment, the computer system employs a distributed memory architecture.
35 Citations
10 Claims
-
1. A memory controller for a digital device, comprising:
-
an interface for communicating with a plurality of memory modules embodying an addressable memory; logic receiving memory addresses for processing by said digital device; memory access logic which accesses memory locations in said addressable memory responsive to receiving said memory addresses, said memory access logic supporting a plurality of different configurations of said memory modules embodying said addressable memory and, for each said configuration of said memory modules, decoding a memory address to a plurality of physical parameter selections representing physical parameters of said addressable memory according to a respective corresponding decoding map of a plurality of decoding maps, said plurality of physical parameter selections including a row select and a column select representing a row and column respectively of memory cell arrays in said memory modules embodying said addressable memory; wherein, for a first subset of said plurality of different configurations of said memory modules, said first subset being fewer than all of said plurality of different configurations of said memory modules, said memory access logic produces a decoded selection of a first subset of said plurality of physical parameter selections according to the decoding map corresponding to the configuration, said first subset of physical parameter selections not including said column select, said first subset of physical parameter selections being decoded from at least a portion of said memory address, before said memory access logic produces said column select from at least a portion of said memory address; and wherein, for a second subset of said plurality of different configurations of said memory modules, said second subset being fewer than all of said plurality of different configurations of said memory modules, said first and second subsets of said plurality of different configurations of said memory modules being disjoint, said memory access logic produces a decoded selection of said first subset of said plurality of physical parameter selections according to the decoding map corresponding to the configuration at substantially the same time that said memory access logic produces said column select from at least a portion of said memory address. - View Dependent Claims (2, 3, 4)
-
-
5. A digital data processing system, comprising:
-
at least one processor; a plurality of memory modules embodying a main memory; a communications medium for communicating data between said at least one processor and said main memory; and memory access control logic controlling access by said at least one processor to said main memory, said memory access control logic supporting a plurality of different configurations of said memory modules embodying said main memory and, for each said configuration of said memory modules, decoding a memory address to a plurality of physical parameter selections representing physical parameters of said main memory according to a respective decoding map of a plurality of decoding maps; wherein said memory access control logic comprises first decode logic and second decode logic, said first decode logic decoding a first portion of said memory address to a first subset of said plurality of physical parameter selections according to a first subset of said plurality of decoding maps, said first subset of decoding maps being fewer than all of said plurality of decoding maps, said second decode logic decoding said first portion of said memory address to a second subset of said plurality of physical parameter selections according to a second subset of said plurality of decoding maps, said second subset of decoding maps being fewer than all of said plurality of decoding maps, said first and second subsets of said plurality of decoding maps being disjoint; wherein said first decode logic produces said first subset of said plurality of physical parameter selections from an input memory address with less delay than second decode logic produces said second subset of said plurality of physical parameter selections from an input memory address. - View Dependent Claims (6, 7, 8, 9, 10)
-
Specification