IP Library Granted Patent US 9,678,669
Granted Patent B2
US 9,678,669 · App. 14/083,437 · Granted Jun 13, 2017

Hierarchical memory system compiler

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,678,669
App. No.
14/083,437
Granted
Jun 13, 2017
Kind
B2
Abstract

Designing memory subsystems for integrated circuits can be time-consuming and costly task. To reduce development time and costs, an automated system and method for designing and constructing high-speed memory operations is disclosed. The automated system accepts a set of desired memory characteristics and then methodically selects different potential memory system design types and different implementations of each memory system design type. The potential memory system design types may include traditional memory systems, optimized traditional memory systems, intelligent memory systems, and hierarchical memory systems. A selected set of proposed memory systems that meet the specified set of desired memory characteristics is output to a circuit designer. When a circuit designer selects a proposed memory system, the automated system generates a complete memory system design, a model for the memory system, and a test suite for the memory system.

Claims (36)

1. A computer-implemented apparatus for designing a digital memory system, said computer-implemented apparatus comprising:

a memory for storing computer executable instructions; and

a computer processor coupled to the memory and configured to execute the instructions stored in the memory to:

receive a set of desired memory system performance characteristics via a data input system;

generate a plurality of possible memory designs that meet said desired memory system performance characteristics, at least one of said possible memory designs comprising:

at least one memory controller implementing a memory algorithm to select a storage location in an internally addressable memory space that is larger than an externally addressable memory space, and

at least one memory circuit for providing the internally addressable memory space;

optimize said plurality of possible memory designs; and

select a subset of said plurality of possible memory designs to output, said subset of said plurality of possible memory designs optimized for a set of optimization parameters.

2. The computer-implemented apparatus for designing a digital memory system as set forth in claim 1 wherein the computer processor is further configured to execute the instructions to receive said set of optimization parameters via the data input system.

3. The computer-implemented apparatus for designing a digital memory system as set forth in claim 1 wherein the computer processor is further configured to execute the instructions to enumerate a set of memory design types that may fulfill said set of desired memory system performance characteristics and optimize said set of memory design types to create said plurality of possible memory designs.

4. The computer-implemented apparatus for designing a digital memory system as set forth in claim 3 wherein said memory design types include memory systems that provide one memory operation during one clock cycle.

5. The computer-implemented apparatus for designing a digital memory system as set forth in claim 3 wherein said memory design types include memory systems that provide multiple memory operations during one clock cycle.

6. The computer-implemented apparatus for designing a digital memory system as set forth in claim 3 wherein said memory design types include hierarchical memory systems.

7. The computer-implemented apparatus for designing a digital memory system as set forth in claim 1 wherein the computer processor is further configured to execute the instructions to:

generate optimized memory modules by combining selected physical memory modules.

8. The computer-implemented apparatus for designing a digital memory system as set forth in claim 7 wherein said selected physical memory modules are obtained from a physical memory compiler.

9. The computer-implemented apparatus for designing a digital memory system as set forth in claim 1 wherein the computer processor is further configured to execute the instructions to:

generate optimized memory modules by packing more than one data item into a data word of a memory module.

10. The computer-implemented apparatus for designing a digital memory system as set forth in claim 9 wherein said memory module is obtained from a physical memory compiler.

11. A computer-implemented method for designing a digital memory system, the method comprising:

receiving a set of desired memory system performance characteristics;

generating a plurality of possible memory designs that meet said desired memory system performance characteristics, at least one of said possible memory designs comprising:

at least one memory controller implementing a memory algorithm to select a storage location in an internally addressable memory space that is larger than an externally addressable memory space, and

at least one memory circuit for providing the internally addressable memory space;

optimizing said plurality of possible memory designs; and

selecting a subset of said plurality of possible memory designs to output, said subset of said plurality of possible memory designs optimized for a set of optimization parameters.

12. The method of claim 11 , wherein generating the plurality of possible memory designs comprises enumerating a set of memory design types that may fulfill said set of desired memory system performance characteristics and optimizing said set of memory design types to create said plurality of possible memory designs.

13. The method of claim 11 , wherein said memory design types include memory systems that provide one memory operation during one clock cycle.

14. The method of claim 13 , wherein said memory design types include memory systems that provide multiple memory operations during one clock cycle.

15. The method of claim 13 , wherein said memory design types include hierarchical memory systems.

16. The method of claim 11 , further comprising generating optimized memory modules by combining selected physical memory modules.

17. The method of claim 16 , wherein said selected physical memory modules are obtained from a physical memory compiler.

18. The method of claim 11 , further comprising:

generating optimized memory modules by packing more than one data item into a data word of a memory module.

19. The method of claim 18 , wherein said memory module is obtained from a physical memory compiler.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 035474 FRAME: 0122. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 24, 2015
From: MEMOIR SYSTEMS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 035497/0188 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2015
From: CISCO TECHNOLOGY, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 035474/0122 →
CHANGE OF NAME Recorded Apr 22, 2015
From: MEMOIR SYSTEMS, INC.
To: MEMOIR SYSTEMS LLC
Reel/Frame 035479/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2014
From: IYER, SUNDAR; CHUANG, SHANG-TSE; JOSHI, SANJEEV
To: MEMOIR SYSTEMS, INC.
Reel/Frame 033704/0834 →