General-purpose customizable memory controller
First Claim
1. A design method for providing a flexible memory controller wherein the memory controller interfaces a host processor to a cache memory for improving a data bandwidth therebetween, the cache memory having a first and a second memory, the memory controller receiving operations and logical addresses from the host processor and providing memory control signals and physical addresses to the cache memory, the design method comprising steps of:
- (a) designing a memory instruction processor, prior to identifying a memory technology for the first and the second memory, for receiving the operations and the logical addresses, translating the operations into generic memory instructions, and converting the logical addresses into memory system addresses;
(b) designing a dataflow block for error checking and correcting (ECC) and sparing, the dataflow block coupled between the cache memory and the host processor and being controlled by said memory instruction processor;
(c) identifying a first memory technology for the first memory;
(d) designing a first memory instruction decoder coupled between said memory instruction processor and said first memory for accessing said first memory and decoding the generic memory instructions into control signals specific to said first memory technology and converting the memory system addresses into physical addresses specific to said first memory;
(e) identifying a second memory technology for the second memory, said second memory technology different from said first memory technology; and
(f) designing a second memory instruction decoder coupled between said memory instruction processor and said second memory for accessing said second memory and decoding the generic memory instructions into control signals specific to said second memory technology and converting the memory system addresses into physical addresses specific to said second memory.
0 Assignments
0 Petitions
Accused Products
Abstract
A memory controller design includes at least one memory instruction decoder de-embedded from a memory instruction processor wherein the memory instruction processor receives operations and logical address information from a host processor. The memory instruction processor converts the operations into generic memory instructions and translates the logical addresses into physical addresses. The memory instruction decoder further converts the generic memory instructions into memory specific control signals and converts the physical addresses into actual memory specific addresses. This design permits the memory instruction processor to be designed and finalized before an actual memory type is selected for system use at which time the less complex memory instruction decoder can be designed.
61 Citations
21 Claims
-
1. A design method for providing a flexible memory controller wherein the memory controller interfaces a host processor to a cache memory for improving a data bandwidth therebetween, the cache memory having a first and a second memory, the memory controller receiving operations and logical addresses from the host processor and providing memory control signals and physical addresses to the cache memory, the design method comprising steps of:
-
(a) designing a memory instruction processor, prior to identifying a memory technology for the first and the second memory, for receiving the operations and the logical addresses, translating the operations into generic memory instructions, and converting the logical addresses into memory system addresses; (b) designing a dataflow block for error checking and correcting (ECC) and sparing, the dataflow block coupled between the cache memory and the host processor and being controlled by said memory instruction processor; (c) identifying a first memory technology for the first memory; (d) designing a first memory instruction decoder coupled between said memory instruction processor and said first memory for accessing said first memory and decoding the generic memory instructions into control signals specific to said first memory technology and converting the memory system addresses into physical addresses specific to said first memory; (e) identifying a second memory technology for the second memory, said second memory technology different from said first memory technology; and (f) designing a second memory instruction decoder coupled between said memory instruction processor and said second memory for accessing said second memory and decoding the generic memory instructions into control signals specific to said second memory technology and converting the memory system addresses into physical addresses specific to said second memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory controller for interfacing a cache memory to a host processor for increasing a data bandwidth therebetween, the cache memory having a first and second memory type, the first memory type characterized by a first memory technology and the second memory type characterized by a second memory technology different from the first memory technology, said memory controller receiving host commands and logical addresses from said host processor for accessing the cache memory, said memory controller comprising:
-
a memory instruction processor for receiving the host commands and logical addresses, said memory instruction processor converting said host commands into generic memory instructions and said logical addresses into memory system addresses, said memory system addresses corresponding to one of said memory types; a dataflow block coupled between the cache memory and the host processor for providing data control, error checking and correcting, and sparing; a first memory instruction decoder, de-embedded from said memory instruction processor, said first memory instruction decoder translating the memory system addresses into physical addresses of said first memory type and converting the generic memory instructions into control signals specific to the first memory technology; and a second memory instruction decoder, de-embedded from said memory instruction processor, said second memory instruction decoder translating the memory system addresses into physical addresses of said second memory type and converting the generic memory instructions into control signals specific to the second memory technology. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A data processing system having a customizable memory controller, said data processing system comprising:
-
a host processor; a cache memory including a first memory type comprising a first memory technology and a second memory type comprising a second memory technology; and said memory controller for interfacing the cache memory to a host processor for increasing a data bandwidth therebetween, said memory controller receiving host operations and logical addresses from said host processor for accessing said cache memory, said memory controller comprising; a memory instruction processor for converting said host operations to generic memory instructions and said logical addresses to memory system addresses, said memory system addresses corresponding to one of said memory types, said memory instruction processor identifying row hits for improving cache memory access speed; a dataflow block coupled between the cache memory and the host processor for providing data control, error checking and correcting, and sparing, said dataflow block clocking data transferred between the host processor and the cache memory; a first memory instruction decoder, de-embedded from said memory instruction processor, said first memory instruction decoder translating said memory system addresses into physical addresses of said first memory type and converting the generic memory instructions into control signals specific to said first memory technology; and a second memory instruction decoder, de-embedded from said memory instruction processor, said second memory instruction decoder translating said memory system addresses into physical addresses of said second memory type and converting the generic memory instructions into control signals specific to said second memory technology. - View Dependent Claims (16, 17)
-
-
18. A method, in a cache memory controller, for interfacing a cache memory to a host processor such that data bandwidth is increased therebetween, said cache memory having a first and second memory type, said first memory type characterized by a first memory technology and said second memory type characterized by a second memory technology different from the first memory technology, said cache memory controller coupled between said host processor and said cache memory, said method comprising steps of:
-
(a) receiving host commands and logical addresses from said host processor in a memory instruction processor; (b) said memory instruction processor converting said host commands into generic memory instructions and said logical addresses into memory system addresses, said memory system addresses corresponding to one of said memory types; (c) translating said memory system addresses into physical addresses of said first memory type using a first memory instruction decoder, said first memory instruction decoder de-embedded from said memory instruction processor, said first memory instruction decoder also converting said generic memory instructions into control signals specific to said first memory technology; and (d) translating said memory system addresses into physical addresses of said second memory type using a second memory instruction decoder, said second memory instruction decoder de-embedded from said memory instruction processor, said second memory instruction decoder also converting said generic memory instructions into control signals specific to said second memory technology. - View Dependent Claims (19, 20, 21)
-
Specification